You are on page 1of 86

1

00:00:00,000 --> 00:00:11,120


2
00:00:11,120 --> 00:00:12,590
>> ALTAVOZ: Soy [inaudible].
3
00:00:12,590 --> 00:00:14,820
Y yo soy un senior en Leverett House.
4
00:00:14,820 --> 00:00:18,700
Yo estudio ciencias de la computacin,
y yo soy un TF para CS50.
5
00:00:18,700 --> 00:00:21,640
En su primer ao, yo ni siquiera tengo
un ordenador porttil o un telfono inteligente.
6
00:00:21,640 --> 00:00:23,550
No tena ninguna experiencia en programacin.
7
00:00:23,550 --> 00:00:29,690
CS50 era el curso ms memorable que
Tom en Harvard porque era
8
00:00:29,690 --> 00:00:32,960
una lucha, pero era una realidad
lucha divertirse al mismo tiempo.
9
00:00:32,960 --> 00:00:37,670
E hice un montn de increble, permanente
amigos, y he aprendido mucho de verdad
10
00:00:37,670 --> 00:00:38,830
habilidades aplicables.
11
00:00:38,830 --> 00:00:43,480
Estoy tan contento de que yo no dej que mi
falta de fondo sea una excusa para m
12
00:00:43,480 --> 00:00:44,840
No tome CS50.
13
00:00:44,840 --> 00:00:46,220
Soy [inaudible].
14
00:00:46,220 --> 00:00:48,910
Soy un mayor en Leverett

Casa, clase de 2014.


15
00:00:48,910 --> 00:00:51,670
Y tom CS50.
16
00:00:51,670 --> 00:00:52,380
>> DAVID MALAN: As que esto es CS50.
17
00:00:52,380 --> 00:00:54,400
Este es el final de la semana cero.
18
00:00:54,400 --> 00:00:58,500
Y recordar donde comenzamos la ltima vez,
estaba con estas lmparas, que eran
19
00:00:58,500 --> 00:01:01,420
tan popular que nos fuimos y
comprado un poco ms hoy.
20
00:01:01,420 --> 00:01:03,790
As que creo que esto va a ser
lo nuestro este ao 21
00:01:03,790 --> 00:01:07,230
lmparas de escritorio, si usted viene para arriba en el escenario,
al menos hasta que se acabe.
22
00:01:07,230 --> 00:01:11,570
>> Pero hemos utilizado estos revocatorio, para introducir
los fundamentos de la representacin de los datos.
23
00:01:11,570 --> 00:01:15,640
Necesitbamos manera de empezar que representa
informacin dentro de una computadora.
24
00:01:15,640 --> 00:01:18,650
Y la forma ms sencilla de hacerlo era
con un ingrediente, la electricidad.
25
00:01:18,650 --> 00:01:21,760
Y la cosa ms simple que puedes hacer con
la electricidad es la enciende y se apaga.
26
00:01:21,760 --> 00:01:23,520
Deje que los electrones fluyen o no.
27
00:01:23,520 --> 00:01:27,930

Y el uso de esos dos estados bsicos, frente a


y sigue, o falso y verdadero, o cero y
28
00:01:27,930 --> 00:01:31,290
uno, empezamos a ver que podamos construir
arriba, en este caso, con la luz
29
00:01:31,290 --> 00:01:33,720
bulbos, ms nmeros que
acaba de cero y uno.
30
00:01:33,720 --> 00:01:36,160
Contamos tan alto como siete,
por ejemplo, la ltima vez.
31
00:01:36,160 --> 00:01:38,840
Pero todo lo que tenemos que hacer es seguir tirando
ms y ms bombillas en ese
32
00:01:38,840 --> 00:01:41,820
problema y, de verdad, podemos representar
cualquier nmero que nos
33
00:01:41,820 --> 00:01:42,970
posiblemente podra desear.
34
00:01:42,970 --> 00:01:47,230
>> Bueno, transitioned rpidamente entonces
Mircoles a este byte de voluntarios.
35
00:01:47,230 --> 00:01:52,040
8 bits es lo que generalmente llamamos un byte,
as que aqu tenamos ocho voluntarios
36
00:01:52,040 --> 00:01:54,900
el mircoles que en conjunto eran
en representacin de ocho bits.
37
00:01:54,900 --> 00:01:56,750
Y cuando sus manos fueron
, ellos eran uno.
38
00:01:56,750 --> 00:01:58,530
Y cuando sus manos estaban
abajo, haba un cero.
39
00:01:58,530 --> 00:02:01,970
Y tuvimos que estas personas

subir al escenario por qu?


40
00:02:01,970 --> 00:02:06,530
Qu somos capaces de hacer con
esta secuencia de bits?
41
00:02:06,530 --> 00:02:07,510
>> Para crear un alfabeto.
42
00:02:07,510 --> 00:02:11,550
Hemos sido capaces de construir en la parte superior de ese
leccin anterior aprendi y en realidad
43
00:02:11,550 --> 00:02:14,200
empezar a hacer ms interesante
informacin que es por lo menos ms
44
00:02:14,200 --> 00:02:15,330
familiar para nosotros los seres humanos.
45
00:02:15,330 --> 00:02:18,360
Y esto va a ser un recurrente
tema a lo largo de 50 aos, sino tambin equipo
46
00:02:18,360 --> 00:02:21,470
la ciencia en general, esta idea de
capas, donde, al final de la
47
00:02:21,470 --> 00:02:24,820
das, si realmente inici el
bsico con un ordenador, s,
48
00:02:24,820 --> 00:02:25,760
es ceros y unos.
49
00:02:25,760 --> 00:02:27,480
Y debajo de eso es
slo la electricidad.
50
00:02:27,480 --> 00:02:30,840
Pero muy rpidamente empezamos a tomar los
detalles de bajo nivel por sentado
51
00:02:30,840 --> 00:02:35,600
y empezar a capa en la parte superior de trabajado pasado
hecho que, en ltima instancia, por los
52

00:02:35,600 --> 00:02:38,610


Al final del semestre y, en definitiva,
ms en general, como los informticos
53
00:02:38,610 --> 00:02:42,790
y los programadores, pueden hacer algo realmente
cosas poderosas al aprovechar el trabajo
54
00:02:42,790 --> 00:02:46,620
que nosotros mismos hemos hecho y tambin
de pie sobre los hombros de los dems.
55
00:02:46,620 --> 00:02:49,300
>> Ahora transitioned rpidamente el mircoles
desde apenas la necesidad
56
00:02:49,300 --> 00:02:52,080
representar la informacin a querer
hacer algo con l.
57
00:02:52,080 --> 00:02:54,170
Entonces, qu se define como un algoritmo?
58
00:02:54,170 --> 00:02:57,340
59
00:02:57,340 --> 00:02:58,900
Una serie de instrucciones.
60
00:02:58,900 --> 00:03:03,380
As que es una serie de instrucciones, un
nmero de pasos que usted, un ser humano, o
61
00:03:03,380 --> 00:03:07,160
una computadora, ms tpicamente, hara
ejecutar una despus de la otra con el fin
62
00:03:07,160 --> 00:03:08,100
para lograr algn objetivo.
63
00:03:08,100 --> 00:03:11,360
Y tuvimos unos cuantos goles la ltima vez,
una de las cuales fue la de contar
64
00:03:11,360 --> 00:03:12,250
personas en la habitacin.
65
00:03:12,250 --> 00:03:15,560

Y otro ejemplo era encontrar


Mike Smith en una gua telefnica.
66
00:03:15,560 --> 00:03:19,750
>> As que usted puede recordar que romp un telfono
libro en un medio para este fin hasta
67
00:03:19,750 --> 00:03:21,280
encontrar Mike Smith.
68
00:03:21,280 --> 00:03:24,000
El propsito de ese visual era
demostramos, una vez ms, que ramos
69
00:03:24,000 --> 00:03:27,770
literalmente, lagrimeo este problema en
un medio, en un medio, en un medio, y muy
70
00:03:27,770 --> 00:03:31,750
pasando rpidamente de como 1.000 pginas
a slo una sola pgina.
71
00:03:31,750 --> 00:03:34,860
Aquellos de ustedes que se perdieron en este
Mircoles, pens que podramos reproducir
72
00:03:34,860 --> 00:03:36,820
algunas imgenes de lo que te perdiste.
73
00:03:36,820 --> 00:03:38,914
Vamos a echar un vistazo.
74
00:03:38,914 --> 00:03:40,906
>> [REPRODUCCIN DE VDEO]
75
00:03:40,906 --> 00:03:55,360
76
00:03:55,360 --> 00:03:55,990
>> -Eso es.
77
00:03:55,990 --> 00:04:01,432
1500 pginas, Niza lnea limpia,
lgrima legtimo.
78
00:04:01,432 --> 00:04:02,850
>> [VIDEO PLAYBACK FIN]

79
00:04:02,850 --> 00:04:05,230
>> DAVID MALAN: As que eso fue el mircoles.
80
00:04:05,230 --> 00:04:09,150
Hacemos la transicin, sin embargo, el mircoles ahora
a querer representar algoritmos
81
00:04:09,150 --> 00:04:12,410
de alguna manera algo estndar, no slo
describirlos verbalmente, pero
82
00:04:12,410 --> 00:04:16,290
tratando de expresar por escrito o en
una pantalla de ordenador, as que pudimos
83
00:04:16,290 --> 00:04:19,170
empezar a mejorar, y modificar
ellos, y, con el tiempo, en realidad
84
00:04:19,170 --> 00:04:21,160
analizar qu tan correcta
o qu tan rpido se fueron.
85
00:04:21,160 --> 00:04:23,360
>> As que hemos introducido esta nocin
de pseudocdigo, que, en
86
00:04:23,360 --> 00:04:26,410
trminos simples, es lo que?
87
00:04:26,410 --> 00:04:26,930
Aceptar, palabras.
88
00:04:26,930 --> 00:04:28,730
Vamos a ir un poco ms profundo que eso.
89
00:04:28,730 --> 00:04:32,540
Ingls, claro, no son ms que
con qu fin?
90
00:04:32,540 --> 00:04:35,180
Las palabras con las que crear o
para representar algoritmos.
91
00:04:35,180 --> 00:04:38,380
As que no hay una lengua conocida
como pseudocdigo en el mundo.

92
00:04:38,380 --> 00:04:41,110
Es slo que, en Ingls, o
sea
cual sea su lengua hablada es, el uso
93
00:04:41,110 --> 00:04:44,930
una especie de notacin superficial para transmitir
una idea de manera muy sucinta.
94
00:04:44,930 --> 00:04:47,930
Pero veremos que, sin duda, con un
Pseudocdigo Ingls, y resulta
95
00:04:47,930 --> 00:04:51,700
la mayora de los mismos lenguajes de programacin
son derivado de s Ingls,
96
00:04:51,700 --> 00:04:55,750
vamos a encontrar que hay una norma
formas de representar y pseudocdigo
97
00:04:55,750 --> 00:04:57,150
Tambin el cdigo de programacin.
98
00:04:57,150 --> 00:05:00,200
As como usted comienza a ver incluso el ms simple
ejemplos de hoy, se dan cuenta estos
99
00:05:00,200 --> 00:05:02,160
mismos patrones se repetirn la prxima semana.
100
00:05:02,160 --> 00:05:04,710
>> As pseudocdigo era una especie
de asemejarse idioma
101
00:05:04,710 --> 00:05:06,170
un lenguaje de programacin.
102
00:05:06,170 --> 00:05:09,260
Y el primer ejemplo vimos visualmente
escrito era ste.
103
00:05:09,260 --> 00:05:12,870
Fue slo un programa de tres pasos, el
objetivo de la cual era para contar el nmero
104
00:05:12,870 --> 00:05:15,650

de personas en una habitacin de la residencia de


ese video el mircoles.
105
00:05:15,650 --> 00:05:19,040
Pero hubo algunos aspectos interesantes
de este programa ms simple.
106
00:05:19,040 --> 00:05:20,320
>> Esto os servir temas recurrentes.
107
00:05:20,320 --> 00:05:22,930
As que para aquellos que no estn familiarizados con
esto, uno, que introdujo una variable.
108
00:05:22,930 --> 00:05:25,650
Y probablemente todos en esta sala es
familiarizado con una variable en el
109
00:05:25,650 --> 00:05:27,250
contexto del lgebra.
110
00:05:27,250 --> 00:05:31,190
Pero aqu, en la programacin, variables
son, uno, puede haber
111
00:05:31,190 --> 00:05:32,220
llamado cualquier cosa que queramos.
112
00:05:32,220 --> 00:05:33,620
Hemos estado usando n como un contador.
113
00:05:33,620 --> 00:05:37,490
Pero podramos utilizar el contador de palabras, o,
como se ver, la mayora de cualquier frase que
114
00:05:37,490 --> 00:05:40,240
te pueden gustar tanto tiempo, ya que es
descriptiva, pero no deja de ser un
115
00:05:40,240 --> 00:05:41,250
recipiente de almacenamiento.
116
00:05:41,250 --> 00:05:44,170
Es un trozo de memoria, algn nmero de
bits, y que vara segn el ordenador, cmo
117
00:05:44,170 --> 00:05:47,020

muchos bits hay que


componer esa variable.
118
00:05:47,020 --> 00:05:48,450
>> Pero podemos poner valores en ella.
119
00:05:48,450 --> 00:05:50,740
Hasta ahora, slo hemos puesto los nmeros.
120
00:05:50,740 --> 00:05:52,290
Pero podemos poner palabras reales.
121
00:05:52,290 --> 00:05:53,420
Podemos poner prrafos.
122
00:05:53,420 --> 00:05:54,560
Podemos poner imgenes 123
00:05:54,560 --> 00:05:57,860
nada, en realidad, podemos representar con
ceros y unos, podemos poner en
124
00:05:57,860 --> 00:05:59,820
esta nocin de nivel superior
de una variable.
125
00:05:59,820 --> 00:06:01,350
>> As que bastante sencillo all.
126
00:06:01,350 --> 00:06:02,210
Y esa es la lnea uno.
127
00:06:02,210 --> 00:06:05,340
Pero nos movimos muy rpido desde
una lnea para hacer realidad
128
00:06:05,340 --> 00:06:06,600
algo con esa variable.
129
00:06:06,600 --> 00:06:10,330
Y en la tercera lnea, actualizamos N. Nosotros
N. incrementado Y podramos escribir esto
130
00:06:10,330 --> 00:06:11,330
cualquier nmero de maneras.
131

00:06:11,330 --> 00:06:14,460


Pero quizs el ms obvio es
slo para decir, ajuste N igual a
132
00:06:14,460 --> 00:06:16,440
cualquier N es ms 1.
133
00:06:16,440 --> 00:06:17,740
As que ese fue nuestro incremento.
134
00:06:17,740 --> 00:06:18,740
>> Mientras tanto, hubo un bucle.
135
00:06:18,740 --> 00:06:20,720
Y esta, tambin, es probablemente
bastante intuitivo.
136
00:06:20,720 --> 00:06:24,250
Un bucle es slo algo en un programa
esto sucede una y otra vez, algunos
137
00:06:24,250 --> 00:06:25,190
tipo de ciclo.
138
00:06:25,190 --> 00:06:29,300
Y esta frase clave aqu, para cada uno, es
realidad muy comn en la mayor parte
139
00:06:29,300 --> 00:06:32,300
lenguajes de programacin, incluyendo
los veremos en el curso.
140
00:06:32,300 --> 00:06:35,850
Cada vez que vea la palabra, es
tpicamente transmite la idea de que un
141
00:06:35,850 --> 00:06:38,410
bucle, algo cclico,
est a punto de suceder.
142
00:06:38,410 --> 00:06:40,980
>> Pero vale la pena sealar una
otro detalle sintctico.
143
00:06:40,980 --> 00:06:44,660
El hecho de que la tercera lnea se
realidad sangra por haber tocado el

144
00:06:44,660 --> 00:06:46,920
barra espaciadora par de veces es deliberado.
145
00:06:46,920 --> 00:06:49,870
Debido convencin humana es tal que,
cuando ests haciendo algo nuevo y
146
00:06:49,870 --> 00:06:54,860
otra vez, en un bucle, como se inici en la lnea dos,
sangra nada que perteneciera
147
00:06:54,860 --> 00:06:58,880
a ese bucle slo para dejar claro que
su lnea de tres y no, por ejemplo,
148
00:06:58,880 --> 00:07:01,910
lnea de cuatro o cinco, si haba
lneas para o cinco, que son
149
00:07:01,910 --> 00:07:03,010
parte de que los bucles.
150
00:07:03,010 --> 00:07:07,340
As que este simple muesca
transmite la idea bsica.
151
00:07:07,340 --> 00:07:09,390
>> As que hemos aplicado este algoritmo,
ahora, a unos pocos ejemplos.
152
00:07:09,390 --> 00:07:12,620
Y esto, tambin, ejemplo sencillo
en el mundo real.
153
00:07:12,620 --> 00:07:15,440
Pero va a ser representativa de
cmo va a ir sobre las pruebas del
154
00:07:15,440 --> 00:07:17,500
poseer programas cada vez ms complejos.
155
00:07:17,500 --> 00:07:21,050
Intenta una serie de escenarios, algunos
representantes de los insumos, y ver si
156
00:07:21,050 --> 00:07:22,180
obtener los resultados deseados.

157
00:07:22,180 --> 00:07:25,090
>> As que este ejemplo tena dos personas
sentado en la habitacin de la residencia.
158
00:07:25,090 --> 00:07:27,170
A la izquierda est el mismo pseudo-cdigo.
159
00:07:27,170 --> 00:07:30,800
Y esta es una captura de pantalla de la misma
ltimo paso de la aplicacin de este
160
00:07:30,800 --> 00:07:35,270
algoritmo para esos insumos, EN SU
Haba dos personas en la habitacin y,
161
00:07:35,270 --> 00:07:39,190
recordar, a medida que avanzamos a travs de lneas uno,
y dos, y tres, y dos
162
00:07:39,190 --> 00:07:41,000
y tres y hecho 163
00:07:41,000 --> 00:07:44,870
por el final de ese algoritmo, tuvimos
de hecho contado los dos compaeros que forman
164
00:07:44,870 --> 00:07:45,360
en la habitacin.
165
00:07:45,360 --> 00:07:47,190
>> Entonces intentamos otro ejemplo.
166
00:07:47,190 --> 00:07:48,990
Y dijimos que si hay
cero personas en la habitacin?
167
00:07:48,990 --> 00:07:50,490
Es este cdigo sigue siendo correcta?
168
00:07:50,490 --> 00:07:51,305
Y as fue.
169
00:07:51,305 --> 00:07:55,240
Lo que pasa es que la lnea dos
y, por lo tanto, la lnea de tres o

170
00:07:55,240 --> 00:07:56,620
no va a ejecutar.
171
00:07:56,620 --> 00:07:59,790
Ellos no van a suceder en absoluto
porque simplemente no son aplicables si
172
00:07:59,790 --> 00:08:01,210
hay cero personas en la habitacin.
173
00:08:01,210 --> 00:08:02,300
>> Pero no es un gran problema.
174
00:08:02,300 --> 00:08:06,620
Lnea uno inicializa N a cero, por lo que
a pesar de que slo una lnea de este
175
00:08:06,620 --> 00:08:10,930
programa en realidad termina siendo til,
todava da la respuesta correcta, como
176
00:08:10,930 --> 00:08:13,780
indicado por el naranja
cero en la parte inferior.
177
00:08:13,780 --> 00:08:16,300
Pero entonces decidimos que era
una especie de algoritmo estpido.
178
00:08:16,300 --> 00:08:17,060
Era bastante lento.
179
00:08:17,060 --> 00:08:19,720
Sin duda, puedo hacer dos, cuatro,
seis, ocho, diez, cuando
180
00:08:19,720 --> 00:08:20,990
conteo de personas en una habitacin.
181
00:08:20,990 --> 00:08:25,030
>> Entonces ajustamos el algoritmo, el
pseudocdigo, por decir, ahora en la lnea dos,
182
00:08:25,030 --> 00:08:29,710
para cada par de personas en la habitacin,
proceder a, en la lnea tres, incremente

183
00:08:29,710 --> 00:08:32,200
en por dos en cada iteracin.
184
00:08:32,200 --> 00:08:35,530
As que habra trabajado aqu por
este par de personas en la habitacin.
185
00:08:35,530 --> 00:08:38,530
>> Pero entonces, si usted comienza a pensar en
esto, y no se necesita mucho tiempo para
186
00:08:38,530 --> 00:08:40,710
darse cuenta, espera un momento esto es
va a romper, rompe
187
00:08:40,710 --> 00:08:42,679
en qu caso simple?
188
00:08:42,679 --> 00:08:45,500
Si hay tres personas en la habitacin o,
ms en general, cuando hay una
189
00:08:45,500 --> 00:08:47,660
nmero impar de personas en el
habitacin, incluyendo una.
190
00:08:47,660 --> 00:08:50,390
Nos bamos a perder a esa persona aqu porque
no hay tales pares.
191
00:08:50,390 --> 00:08:58,510
As que nos dirigimos rpidamente al lugar
la introduccin de lo adicional
192
00:08:58,510 --> 00:09:02,560
construcciones de programacin
a la pseudo-cdigo.
193
00:09:02,560 --> 00:09:04,955
>> As que una condicin, que se llama
, o una rama.
194
00:09:04,955 --> 00:09:08,420
Y se supone que debe transmitir, visualmente, la
idea de la rama, un tenedor en la carretera
195
00:09:08,420 --> 00:09:11,080

donde usted puede hacer esto


o, tal vez, algo ms.
196
00:09:11,080 --> 00:09:15,750
Y, en efecto, abordamos este problema
aadiendo la lnea 4, por decir, en serio, por lo
197
00:09:15,750 --> 00:09:20,820
el final, si una persona sigue siendo,
y luego seguir adelante y lo considero especial.
198
00:09:20,820 --> 00:09:24,460
As que tipo de caso especial de ellos, por lo que
de hablar, de modo que ahora podemos manejar
199
00:09:24,460 --> 00:09:27,810
tanto un nmero par de personas
y un nmero impar de personas.
200
00:09:27,810 --> 00:09:30,260
>> Ahora bien, hay varias maneras
podramos haber expresado esto.
201
00:09:30,260 --> 00:09:33,590
Y, francamente, yo podra haber sido an ms
nit exigente cuando se trataba de mi eleccin de
202
00:09:33,590 --> 00:09:35,040
Ingls para el pseudocdigo.
203
00:09:35,040 --> 00:09:36,970
Pero al menos el espritu de
la idea es transportado.
204
00:09:36,970 --> 00:09:40,725
Si usted entreg este cdigo a un amigo
que no est en CS, o nunca ha tenido
205
00:09:40,725 --> 00:09:44,560
CS, las probabilidades son que podan imaginar,
dado tres personas en la habitacin, cmo
206
00:09:44,560 --> 00:09:46,870
contar esas personas sobre la base
en estas instrucciones.
207
00:09:46,870 --> 00:09:49,920
Y eso es todo realmente queremos lograr

con pseudocdigo, de alguna manera


208
00:09:49,920 --> 00:09:54,300
estandarizar la forma en que vamos sobre
la representacin de ideas para que podamos
209
00:09:54,300 --> 00:09:56,670
empezar a hacer ms complicado
cosa todava.
210
00:09:56,670 --> 00:09:58,845
>> As que eso nos lleva a continuacin, en la actualidad,
al cdigo real.
211
00:09:58,845 --> 00:10:01,950
Empezamos a programar hoy, aunque
en un ambiente amistoso.
212
00:10:01,950 --> 00:10:05,940
Y luego hacemos la transicin muy rpidamente a
una sintaxis ms arcano, pero que
213
00:10:05,940 --> 00:10:10,340
que ver es fundamentalmente el mismo que
las ideas vern manifestados con
214
00:10:10,340 --> 00:10:11,990
este otro lenguaje de hoy.
215
00:10:11,990 --> 00:10:13,920
Slo va a buscar
un poco diferente.
216
00:10:13,920 --> 00:10:16,590
>> As que en lugar de llamar a este cdigo, estoy
va a ser un poco ms precisos
217
00:10:16,590 --> 00:10:20,170
y decir, a partir de ahora, al escribir un
programa, ests escribiendo cdigo fuente.
218
00:10:20,170 --> 00:10:21,990
Es algo as como pseudocdigo.
219
00:10:21,990 --> 00:10:26,540
Pero ya veremos que no es una especie de suelta
cuando se trata de la eleccin de las palabras

220
00:10:26,540 --> 00:10:27,310
que utiliza.
221
00:10:27,310 --> 00:10:31,300
Cuando programe en un idioma, tiene
para usar las palabras, las frases,
222
00:10:31,300 --> 00:10:36,020
la sintaxis, que otras personas
han decidido representar
223
00:10:36,020 --> 00:10:37,240
ese idioma en particular.
224
00:10:37,240 --> 00:10:38,510
As Pseudocdigos depende de usted.
225
00:10:38,510 --> 00:10:42,330
Un lenguaje de programacin real como
C, como veremos al final vemos, es
226
00:10:42,330 --> 00:10:43,590
estandarizada por otras personas.
227
00:10:43,590 --> 00:10:45,590
>> Entonces, cmo hacemos para escribir
algo de cdigo fuente?
228
00:10:45,590 --> 00:10:46,810
Bueno, yo voy a ir
adelante y hacer esto.
229
00:10:46,810 --> 00:10:49,100
Voy a seguir adelante y
abrir una ventana aqu.
230
00:10:49,100 --> 00:10:50,210
Ms sobre esto la prxima semana.
231
00:10:50,210 --> 00:10:52,300
Pero este es un dispositivo llamado
el aparato CS50.
232
00:10:52,300 --> 00:10:55,480
Estoy corriendo un pedazo de software en mi
Mac, aunque se puede hacer lo mismo

233
00:10:55,480 --> 00:11:00,580
en un equipo con Windows, que est dando
m la ilusin correr un diferente
234
00:11:00,580 --> 00:11:03,700
sistema operativo del todo correcto
aqu en una ventana en mi Mac.
235
00:11:03,700 --> 00:11:06,790
Acabo completo proyect as no lo hace
ver realmente de Mac OS en estos momentos.
236
00:11:06,790 --> 00:11:08,340
>> Este es un sistema operativo
llamado Linux.
237
00:11:08,340 --> 00:11:09,300
Es muy popular.
238
00:11:09,300 --> 00:11:10,120
Es muy rpido.
239
00:11:10,120 --> 00:11:12,950
Es muy libre, que ha hecho que sea muy
convincente, especialmente en el
240
00:11:12,950 --> 00:11:13,970
mundo comercial.
241
00:11:13,970 --> 00:11:17,200
Y ms en que hacia el final de la
semestre cuando usamos Linux un poco
242
00:11:17,200 --> 00:11:21,230
para la programacin web y alojamiento de
sitios web y proyectos reales.
243
00:11:21,230 --> 00:11:24,910
As que ahora, slo s que ste es un ordenador de sobremesa
eso significaba mirar vagamente
244
00:11:24,910 --> 00:11:26,750
familiar para Windows y Mac OS.
245
00:11:26,750 --> 00:11:29,110
Apenas tiene algunos nombres diferentes
y los iconos de las cosas.

246
00:11:29,110 --> 00:11:32,510
Pero este es el llamado CS50
aparato, una mquina virtual que,
247
00:11:32,510 --> 00:11:35,310
empezando la semana que viene, ustedes se
correr dentro de una ventana en
248
00:11:35,310 --> 00:11:36,960
tu Mac o PC.
249
00:11:36,960 --> 00:11:39,760
>> Para hoy, voy a abrir
el ms simple de los programas.
250
00:11:39,760 --> 00:11:41,110
Se llama gedit.
251
00:11:41,110 --> 00:11:42,565
Y esto es slo un editor grfico.
252
00:11:42,565 --> 00:11:44,695
Es algo as como Microsoft
Palabra, pero ms simple.
253
00:11:44,695 --> 00:11:47,110
Es como tipo de texto
editar o bloc de notas.
254
00:11:47,110 --> 00:11:50,280
Es slo un programa muy sencillo con
el que escribir palabras en la pantalla.
255
00:11:50,280 --> 00:11:54,510
Dio la casualidad de que lo que si salvo
archivos que he creado cuando este programa
256
00:11:54,510 --> 00:11:59,860
en una extensin especial similar. c, lugar
de doc., o. xls, o lo que sea
257
00:11:59,860 --> 00:12:04,190
usted est familiarizado con, puedo realmente
crear programas utilizando incluso esta simple
258
00:12:04,190 --> 00:12:05,130

editor de texto.
259
00:12:05,130 --> 00:12:05,770
>> As que djame hacer eso.
260
00:12:05,770 --> 00:12:09,330
Djame ir por delante y guarde este
presentar primero como hello.c.
261
00:12:09,330 --> 00:12:12,350
Y de nuevo, esta interfaz de usuario se
familiarizarse con usted rpidamente.
262
00:12:12,350 --> 00:12:14,160
Pero, por ahora, slo estoy escribiendo
en un nombre de archivo.
263
00:12:14,160 --> 00:12:17,410
Voy a guardarlo en mi John
Directorio de inicio de Harvard.
264
00:12:17,410 --> 00:12:20,810
Y ahora tengo esta pestaa que indica
De hecho estoy editando
265
00:12:20,810 --> 00:12:23,070
un archivo llamado hello.c.
266
00:12:23,070 --> 00:12:24,510
As que nada demasiado interesante an.
267
00:12:24,510 --> 00:12:26,000
>> Y ahora que va a
ser bastante crptico.
268
00:12:26,000 --> 00:12:28,370
Me voy a acercar, slo
por lo que es ms visible.
269
00:12:28,370 --> 00:12:35,780
Y voy a empezar a escribir incluir
stdio.h, int main vaco, rizado, abierto
270
00:12:35,780 --> 00:12:40,140
cors, uno, dos, tres, cuatro espacios
de sangra, impresin f, para la impresin
271

00:12:40,140 --> 00:12:44,450


algo formateado, fin de la cita cita,
"Hola, mundo" barra invertida, n, cerca
272
00:12:44,450 --> 00:12:49,640
cita, cerrado el parntesis, punto y coma,
introducir retroceso, retroceso, retroceso,
273
00:12:49,640 --> 00:12:52,310
retroceso, cerrado corchete 274
00:12:52,310 --> 00:12:53,350
He programado.
275
00:12:53,350 --> 00:12:57,380
>> Muy bien por lo que este es un super simple
programa, en realidad, el programa que
276
00:12:57,380 --> 00:12:59,070
alguien comienza la programacin con.
277
00:12:59,070 --> 00:13:02,300
Y todo lo que hace, con toda su complejidad,
se imprimir en la
278
00:13:02,300 --> 00:13:04,160
pantalla, adivinen qu?
279
00:13:04,160 --> 00:13:04,910
Hola, mundo.
280
00:13:04,910 --> 00:13:07,500
Pero no es suficiente slo
para escribir un programa.
281
00:13:07,500 --> 00:13:08,155
As que este es el cdigo.
282
00:13:08,155 --> 00:13:11,300
Este es el cdigo fuente en
un lenguaje llamado c.
283
00:13:11,300 --> 00:13:14,380
Se guarda en la actualidad en
un archivo llamado hello.c.
284
00:13:14,380 --> 00:13:16,180

>> Ahora mira al final


de la pantalla aqu.
285
00:13:16,180 --> 00:13:17,890
Ms sobre esto, de nuevo, en
las semanas venideras.
286
00:13:17,890 --> 00:13:19,570
Pero esto es lo que vamos a llamar
una ventana de terminal.
287
00:13:19,570 --> 00:13:21,290
Es un parpadeo, negro
pronta y blanco.
288
00:13:21,290 --> 00:13:24,390
Es una especie de un viejo interfaz de la escuela para
un equipo que generalmente no hace
289
00:13:24,390 --> 00:13:27,050
utilizar un ratn u otro
elementos grficos.
290
00:13:27,050 --> 00:13:28,320
Simplemente utiliza el teclado.
291
00:13:28,320 --> 00:13:30,970
Y puedo escribir comandos en
este indicador parpadea.
292
00:13:30,970 --> 00:13:33,820
>> Y para los propsitos de la actualidad, slo soy
va a escribir la siguiente 293
00:13:33,820 --> 00:13:35,610
hacer hola.
294
00:13:35,610 --> 00:13:39,370
Y ese programa, marca, es slo una
programa que, en el mundo real estos
295
00:13:39,370 --> 00:13:40,690
da, nos haga doble clic en.
296
00:13:40,690 --> 00:13:44,580
Pero en esta interfaz para hoy, estamos
va a escribir su nombre en esta pantalla.

297
00:13:44,580 --> 00:13:47,980
hacer hola literalmente va a
hazme un programa llamado hola.
298
00:13:47,980 --> 00:13:51,360
Y va a hacerlo por mirar
para un archivo, simplemente por
299
00:13:51,360 --> 00:13:53,460
por defecto, llamado hello.c.
300
00:13:53,460 --> 00:13:57,260
Esto va a suponer que quiero un programa en C
por la naturaleza de cmo este ordenador
301
00:13:57,260 --> 00:13:58,230
est configurado.
302
00:13:58,230 --> 00:13:59,550
>> As que sigo adelante y pulsa enter.
303
00:13:59,550 --> 00:14:02,050
Veo una cierta salida crptica, pero
esto se har con demasiada
304
00:14:02,050 --> 00:14:03,330
familiarizarse en poco tiempo.
305
00:14:03,330 --> 00:14:06,870
Esto le sucedi a ejecutar un compilador, ms
sobre eso en un momento, llamado Clang.
306
00:14:06,870 --> 00:14:09,080
Pero ahora, tengo ms que otro
parpadeo rpido.
307
00:14:09,080 --> 00:14:13,060
Y puedo seguir adelante ahora y tipo de punto
recortar, por razones poco interesantes que vamos a
308
00:14:13,060 --> 00:14:14,730
volver a la prxima semana 309
00:14:14,730 --> 00:14:15,910
hola.
310

00:14:15,910 --> 00:14:19,650


>> As que todo este esfuerzo hasta el momento slo para
escribir el ms simple de los programas que,
311
00:14:19,650 --> 00:14:22,640
tan pronto como me golpe Intro, hace eso.
312
00:14:22,640 --> 00:14:24,510
As que he escrito mi primer programa.
313
00:14:24,510 --> 00:14:27,500
As que estoy deliberadamente burlndose
en este mismo sencillo programa
314
00:14:27,500 --> 00:14:28,540
por un par de razones.
315
00:14:28,540 --> 00:14:31,990
Uno, es difcil emocionarse
acerca de tomar una clase si
316
00:14:31,990 --> 00:14:33,430
este es el final del juego.
317
00:14:33,430 --> 00:14:37,100
>> Pero ms que eso, hay una
muchas distracciones aqu.
318
00:14:37,100 --> 00:14:40,640
La primera vez que se aprende a programar, por
aquellos de ustedes menos cmodo, y
319
00:14:40,640 --> 00:14:43,410
Incluso, en su da, cuando por primera vez
vi algo como esto - usted puede tipo
320
00:14:43,410 --> 00:14:46,500
de la figura que, de acuerdo, este
est en un mundo hola impresin.
321
00:14:46,500 --> 00:14:47,860
Pero hay tanta distraccin.
322
00:14:47,860 --> 00:14:52,110
Hay tanto de sintaxis en la pantalla
que se pone en el camino de muy
323

00:14:52,110 --> 00:14:54,170


sencilla, de otro modo sencillo, las ideas.
324
00:14:54,170 --> 00:14:56,700
>> As que lo que vamos a hacer hoy es que estamos
va a dejar a un lado C y llegar
325
00:14:56,700 --> 00:14:57,630
atrs para que el lunes.
326
00:14:57,630 --> 00:15:00,860
Y vamos a usar una grfica
lenguaje de programacin llamado Scratch.
327
00:15:00,860 --> 00:15:04,470
Este es un lenguaje de programacin, que yo
alude el mircoles que va
328
00:15:04,470 --> 00:15:08,870
que nos permitir hacer el mismo tipo de cosas
pero hacen la vista gorda, porque hoy,
329
00:15:08,870 --> 00:15:12,270
a las llaves, los parntesis,
los puntos y comas, y todos estos estpidos
330
00:15:12,270 --> 00:15:15,680
distracciones que se interponen en el camino, en
este primer da, de algunos bsicos, bastante
331
00:15:15,680 --> 00:15:17,230
ideas interesantes.
332
00:15:17,230 --> 00:15:21,350
>> As que con ese fin, me voy a ir
De vuelta a mi escritorio aqu y
333
00:15:21,350 --> 00:15:25,890
dar a conocer la alternativa a la
programa, que se va a buscar un
334
00:15:25,890 --> 00:15:30,790
algo se enciende esto.
335
00:15:30,790 --> 00:15:33,930
Eso es lo que vamos a aplicar esa
mismo programa de hoy - dos rompecabezas

336
00:15:33,930 --> 00:15:37,710
piezas que, cuando entrelazados y
hecho clic en, dir al mundo,
337
00:15:37,710 --> 00:15:39,000
hola mundo.
338
00:15:39,000 --> 00:15:41,200
>> As que vamos a ir en realidad all.
339
00:15:41,200 --> 00:15:44,965
As que voy a seguir adelante y abrir un
sitio web conocido como scratch.mit.edu.
340
00:15:44,965 --> 00:15:47,980
341
00:15:47,980 --> 00:15:52,040
Y esto me llevar a
Este sitio web aqu.
342
00:15:52,040 --> 00:15:54,660
De antemano, me he inscrito en este
sitio web y los primeros problemas que
343
00:15:54,660 --> 00:15:55,910
le guiar a travs de
algunos de estos pasos.
344
00:15:55,910 --> 00:15:58,930
Voy a seguir adelante y haga clic en
en mi carpeta de cero aqu.
345
00:15:58,930 --> 00:16:00,720
>> Y esto me va a mostrar
algunos proyectos que he
346
00:16:00,720 --> 00:16:02,570
en realidad creado de antemano.
347
00:16:02,570 --> 00:16:05,860
Y resulta que esta grfica
lenguaje de programacin no slo va
348
00:16:05,860 --> 00:16:08,480
para hacernos programa arrastrando y
dejar caer estas piezas de un rompecabezas, que

349
00:16:08,480 --> 00:16:09,730
ni siquiera se necesita un software especial.
350
00:16:09,730 --> 00:16:13,190
Todo est incrustado dentro de un navegador para
que usted puede hacer esto, en teora, en
351
00:16:13,190 --> 00:16:16,810
los equipos en este momento, como algunos de ustedes
bien puede ser, incluso sin necesidad de
352
00:16:16,810 --> 00:16:19,870
software como el aparato CS50,
que llegar la prxima semana.
353
00:16:19,870 --> 00:16:24,200
>> As que me voy a ir hasta la esquina superior
aqu y haga clic en Crear.
354
00:16:24,200 --> 00:16:27,840
Y en un momento en que me voy a poner un espacio en blanco
pantalla a travs de la cual puedo empezar
355
00:16:27,840 --> 00:16:30,380
programacin en esta grfica
entorno de programacin.
356
00:16:30,380 --> 00:16:36,140
Pero esta vez, va a ser mucho,
mucho ms simple en realidad lo hacen.
357
00:16:36,140 --> 00:16:41,560
As que en un momento, cuando el Wi-Fi
coopera, ahora tenemos esta pantalla.
358
00:16:41,560 --> 00:16:44,870
As que una visita rpida verbal, pero me atrevo a decir,
sin duda cuando te sumerjas en el
359
00:16:44,870 --> 00:16:46,840
primer conjunto de problemas, se le
encontrar este muy
360
00:16:46,840 --> 00:16:48,315
accesible y bastante intuitivo.
361
00:16:48,315 --> 00:16:50,900

Pero vamos a pintar una imagen mental


slo por un momento.
362
00:16:50,900 --> 00:16:54,620
>> As que debajo de este mensaje dicho ahorro
cambios, ests a punto de ver la nada.
363
00:16:54,620 --> 00:16:55,570
Se trata de un sprite.
364
00:16:55,570 --> 00:16:56,630
Es un personaje.
365
00:16:56,630 --> 00:17:00,740
Y vive en lo que llamaremos un escenario,
este gran rectngulo blanco sobre
366
00:17:00,740 --> 00:17:03,120
que puede moverse hacia arriba, abajo, izquierda,
derecho, y lo hacen, en realidad,
367
00:17:03,120 --> 00:17:04,670
otro tipo de acciones.
368
00:17:04,670 --> 00:17:08,780
>> Mientras tanto, en el medio de este usuario
interfaz, tenemos un montn de
369
00:17:08,780 --> 00:17:09,750
rompecabezas de piezas.
370
00:17:09,750 --> 00:17:14,060
Y vers que dicen cosas como
moverse 10 pasos, gir 15 grados,
371
00:17:14,060 --> 00:17:15,550
apuntar en una direccin determinada.
372
00:17:15,550 --> 00:17:17,910
Pero hay categoras de
bloques hasta aqu tambin.
373
00:17:17,910 --> 00:17:21,410
As que si voy a Las apariencias, vers que
hay otras piezas de un rompecabezas que
374
00:17:21,410 --> 00:17:25,530

aparentemente le dir esta cit de


saludar, para pensar, para mostrar
375
00:17:25,530 --> 00:17:26,780
a s mismo, se esconden a s mismo.
376
00:17:26,780 --> 00:17:30,830
Si voy a sonidos, resulta
hay maneras de jugar suena como el maullido,
377
00:17:30,830 --> 00:17:32,670
para detener todos los sonidos, para jugar un tambor.
378
00:17:32,670 --> 00:17:36,530
>> As, cuento largo, hay un conjunto
montn de piezas de un rompecabezas que le permiten
379
00:17:36,530 --> 00:17:40,920
decirle a este gato, o cualquier nmero de
otros personajes, lo que debe hacer.
380
00:17:40,920 --> 00:17:43,850
Pero para hacer esto todo lo que suceda
necesario para iniciar la programacin.
381
00:17:43,850 --> 00:17:48,090
Y esta gran caja blanca o caja de color gris, en
la derecha, aqu es donde
382
00:17:48,090 --> 00:17:50,170
Voy a arrastrar realidad y
soltar las piezas del rompecabezas.
383
00:17:50,170 --> 00:17:54,320
Esa es mi texto en blanco
ventana equivalente.
384
00:17:54,320 --> 00:17:57,070
>> As que voy a seguir adelante y haga clic en
De control en el medio.
385
00:17:57,070 --> 00:17:58,540
O ms bien, djame empezar
bajo Eventos.
386
00:17:58,540 --> 00:18:01,530
En Eventos banco, vers que hay una
algunas cosas que son deliberadamente

387
00:18:01,530 --> 00:18:05,240
curvado en la parte superior de tal manera que
es probable que no se entrelazan en la
388
00:18:05,240 --> 00:18:06,710
parte superior de las piezas de un rompecabezas.
389
00:18:06,710 --> 00:18:10,160
Y eso es porque demarcar el inicio
de un programa, el inicio de una
390
00:18:10,160 --> 00:18:11,910
guin, por as decirlo.
391
00:18:11,910 --> 00:18:16,290
As que si sigo adelante y arrastre, cuando est verde
bandera clic aqu, y luego me
392
00:18:16,290 --> 00:18:18,060
quiere esto decir cat
algo al primero.
393
00:18:18,060 --> 00:18:20,510
As que me voy a pasar por debajo de
el panel de apariencia.
394
00:18:20,510 --> 00:18:24,060
Y yo voy a seguir adelante y agarrar el
saludar bloque, y arrastrar y soltar,
395
00:18:24,060 --> 00:18:27,220
y dejar ir para que de forma automtica
enclavamientos all.
396
00:18:27,220 --> 00:18:28,640
>> Y a continuacin, observe lo que pueda
haga clic en el texto.
397
00:18:28,640 --> 00:18:31,960
Y puedo anularlo para ser ms
especfica como, por ejemplo, hola mundo.
398
00:18:31,960 --> 00:18:36,340
Y ahora tenemos el programa que yo reclamo
es equivalente a la mucho ms
399

00:18:36,340 --> 00:18:39,670


programa arcano implement
en C hace un momento.
400
00:18:39,670 --> 00:18:43,130
>> Si voy ahora hacia el lado izquierdo,
notar que hay una gran seal de stop
401
00:18:43,130 --> 00:18:44,520
y una gran bandera verde.
402
00:18:44,520 --> 00:18:46,390
Permtanme hacer zoom para mayor claridad.
403
00:18:46,390 --> 00:18:49,390
Y cuando hago clic ahora esta bandera verde,
probablemente se puede adivinar lo que este primer
404
00:18:49,390 --> 00:18:51,920
programa ahora va a hacer.
405
00:18:51,920 --> 00:18:55,420
As que, tambin, estamos programando, pero
que en realidad no estamos empantanados
406
00:18:55,420 --> 00:18:58,980
en algunos de los sintctica,
detalles minuciosos.
407
00:18:58,980 --> 00:19:01,120
>> Pero vamos a intentar algo un
poco ms interesante.
408
00:19:01,120 --> 00:19:04,840
Djame ir a mi carpeta de Scratch aqu.
409
00:19:04,840 --> 00:19:10,210
Y en realidad, djame as que permtanme abro
un programa separado aqu por slo una
410
00:19:10,210 --> 00:19:17,830
momento, maximizar esta ventana Abrir archivo,
y yo voy a entrar en el actual
411
00:19:17,830 --> 00:19:18,620
directorio de origen.
412

00:19:18,620 --> 00:19:21,660


Como siempre, usted encontrar, hoy y
en adelante, que todos los ejemplos de hoy en da
413
00:19:21,660 --> 00:19:25,225
son accesibles en el interior del
la pgina web de la asignatura.
414
00:19:25,225 --> 00:19:31,170
>> Y voy a seguir adelante aqu y recoger
un poco de algo diferente.
415
00:19:31,170 --> 00:19:33,970
Este de aqu, para los que
Necesito un voluntario.
416
00:19:33,970 --> 00:19:36,850
Quin quiere una lmpara de escritorio de hoy?
417
00:19:36,850 --> 00:19:40,600
Bien, qu hay de alguien un poco est usted en el final?
418
00:19:40,600 --> 00:19:42,124
Vamos hacia abajo.
419
00:19:42,124 --> 00:19:47,230
Ahora, le gustara participar o
Slo decir comenzar con la lmpara de escritorio?
420
00:19:47,230 --> 00:19:48,190
>> VANESSA: [inaudible].
421
00:19:48,190 --> 00:19:48,465
>> DAVID MALAN: OK.
422
00:19:48,465 --> 00:19:49,610
Excelente, lo que te llamas?
423
00:19:49,610 --> 00:19:49,990
Vanessa?
424
00:19:49,990 --> 00:19:50,570
David.
425
00:19:50,570 --> 00:19:51,390
Gusto en conocerlo.

426
00:19:51,390 --> 00:19:53,840
As que vamos y Vanessa va
para tomar el control de mi
427
00:19:53,840 --> 00:19:55,490
teclado por un momento.
428
00:19:55,490 --> 00:19:57,850
Y lo que he hecho aqu, slo por el tiempo de
amor, como me he dado cuenta de la
429
00:19:57,850 --> 00:20:01,070
Wi-Fi era un poco lento, Scratch, el
entorno de programacin que estamos
430
00:20:01,070 --> 00:20:04,110
utilizando, con posibilidad de descarga y
ejecutar en el equipo local.
431
00:20:04,110 --> 00:20:06,360
As que lo que hice antes de la conferencia, en
caso de que suceda, es que he descargado
432
00:20:06,360 --> 00:20:09,120
todos los archivos que estamos a punto de jugar con
de modo que puedan correr un poco ms
433
00:20:09,120 --> 00:20:10,840
rpidamente a la derecha aqu en mi porttil.
434
00:20:10,840 --> 00:20:13,460
As que por eso ahora que estoy viendo
una interfaz de Mac-especfica.
435
00:20:13,460 --> 00:20:15,510
>> As que voy a seguir adelante
y abrir ste.
436
00:20:15,510 --> 00:20:18,400
Voy a seguir adelante y ahora
pantalla completa de la ventana.
437
00:20:18,400 --> 00:20:21,740
Y como vers, podemos muy rpidamente,
como este estudiante hizo, uno de
438

00:20:21,740 --> 00:20:26,360


sus predecesores, van de hola mundo
a una convincente mucho, mucho ms
439
00:20:26,360 --> 00:20:27,020
aplicacin.
440
00:20:27,020 --> 00:20:28,180
As que aqu estn las instrucciones.
441
00:20:28,180 --> 00:20:29,500
Ah, y tenemos una cosa ms.
442
00:20:29,500 --> 00:20:31,640
Pens que sera divertido, ya que,
Normalmente, vamos a estar filmando
443
00:20:31,640 --> 00:20:32,440
cmaras de esta manera.
444
00:20:32,440 --> 00:20:34,100
Pens que sera divertido si, Vanessa,
pudimos ver el mundo
445
00:20:34,100 --> 00:20:35,120
a travs de sus ojos.
446
00:20:35,120 --> 00:20:36,670
As que aqu tenemos un poco de Google Glass.
447
00:20:36,670 --> 00:20:39,290
>> [ASOMBRADO Suspiros]
448
00:20:39,290 --> 00:20:41,610
>> DAVID MALAN: Nosotros slo estaremos dando
mostrador de distancia Lmparas hoy.
449
00:20:41,610 --> 00:20:43,530
>> [Risas]
450
00:20:43,530 --> 00:20:45,260
>> As que permtanme Cue esto.
451
00:20:45,260 --> 00:20:49,340
Muy bien, as que tocar esto.
452

00:20:49,340 --> 00:20:51,910


Aceptar, Cristal, grabar un vdeo.
453
00:20:51,910 --> 00:20:55,700
454
00:20:55,700 --> 00:20:56,950
Muy bien, Vanessa?
455
00:20:56,950 --> 00:21:00,940
456
00:21:00,940 --> 00:21:05,560
Ahora, en un aparte que no tiene nada
que ver con Scratch, si nos fijamos
457
00:21:05,560 --> 00:21:08,540
ligeramente hacia arriba y hacia la derecha, vers
el cristal literal, y que debiera
458
00:21:08,540 --> 00:21:09,650
ver una pequea ventana rectangular.
459
00:21:09,650 --> 00:21:11,500
Usted debe ver a todos sus compaeros de clase
se est filmando en este momento?
460
00:21:11,500 --> 00:21:11,840
S.
461
00:21:11,840 --> 00:21:12,340
>> VANESSA: Si.
462
00:21:12,340 --> 00:21:12,920
>> DAVID MALAN: OK.
463
00:21:12,920 --> 00:21:15,170
As que eso est bien.
464
00:21:15,170 --> 00:21:16,660
Nos lanzaremos este metraje ms tarde.
465
00:21:16,660 --> 00:21:18,460
Por ahora, dirija su atencin
a la pantalla aqu.
466
00:21:18,460 --> 00:21:20,990
Y lo que su predecesor ha hecho es

poner algunas instrucciones en la pantalla


467
00:21:20,990 --> 00:21:22,670
slo mediante el uso de un programa de dibujo.
468
00:21:22,670 --> 00:21:25,040
As que usted va a, en un momento,
presione la barra espaciadora para comenzar.
469
00:21:25,040 --> 00:21:27,790
Y luego algunas piezas del rompecabezas se van
para comenzar a ascender en la pantalla.
470
00:21:27,790 --> 00:21:30,900
Y usted desea golpear las teclas de flecha, simplemente
al igual que en DDR real, de conformidad
471
00:21:30,900 --> 00:21:32,740
con las cosas en fila
con las flechas.
472
00:21:32,740 --> 00:21:33,020
>> VANESSA: OK.
473
00:21:33,020 --> 00:21:33,800
>> DAVID MALAN: Has jugar antes.
474
00:21:33,800 --> 00:21:34,140
>> VANESSA: Si.
475
00:21:34,140 --> 00:21:37,330
>> DAVID MALAN: Muy bien, Vanessa,
seguir adelante y se lo quite.
476
00:21:37,330 --> 00:22:53,082
>> [MSICA - KAYNE OESTE, "FUERTE"]
477
00:22:53,082 --> 00:22:57,080
>> [Aplausos]
478
00:22:57,080 --> 00:22:59,750
>> DAVID MALAN: As que vamos ahora
dar un paso de eso.
479
00:22:59,750 --> 00:23:01,230
As que, claramente, ese es el final del juego.

480
00:23:01,230 --> 00:23:02,880
El fin del juego no es hola mundo.
481
00:23:02,880 --> 00:23:05,520
Pero usted no tiene que ver necesariamente
cosas que son tan interactivo.
482
00:23:05,520 --> 00:23:06,810
Tambin se puede hacer la animacin.
483
00:23:06,810 --> 00:23:10,790
As, por ejemplo, otro de su
sucesores hicieron este programa aqu,
484
00:23:10,790 --> 00:23:14,100
que cuenta una historia de ms de
que no puso en prctica un juego.
485
00:23:14,100 --> 00:23:19,180
As que djame ir por delante, ya abrir aqu un
programa en nuestro directorio fuente misma
486
00:23:19,180 --> 00:23:20,300
a partir de hoy.
487
00:23:20,300 --> 00:23:26,990
Esta llamada, y vamos a empezar
con una historia de amor de la galleta.
488
00:23:26,990 --> 00:23:30,750
>> Y para no hacer esto demasiado acadmica, pero,
como ves esta, creo que
489
00:23:30,750 --> 00:23:34,030
usted mismo cul de los simples
conceptos de programacin que hemos hablado
490
00:23:34,030 --> 00:23:34,630
sobre hasta ahora 491
00:23:34,630 --> 00:23:39,250
variables y bucles, y condiciones,
hizo su predecesor, probablemente utilice slo
492
00:23:39,250 --> 00:23:41,090
para poner en prctica algunas de
las visualizaciones.

493
00:23:41,090 --> 00:23:41,760
Usted ve aqu.
494
00:23:41,760 --> 00:23:44,118
As que te doy una historia de amor de la galleta.
495
00:23:44,118 --> 00:24:06,030
>> [MSICA - GREEN DAY, "vacaciones"]
496
00:24:06,030 --> 00:24:08,022
>> [CRASH]
497
00:24:08,022 --> 00:24:09,272
>> [MSICA - LA TORTUGA,
"Happy Together"]
498
00:24:09,272 --> 00:24:58,328
499
00:24:58,328 --> 00:25:00,560
>> DAVID MALAN: Muy bien, as que,
tuvimos una historia de amor de la galleta.
500
00:25:00,560 --> 00:25:01,360
Pero incluso all 501
00:25:01,360 --> 00:25:01,755
>> [Aplausos]
502
00:25:01,755 --> 00:25:08,110
>> DAVID MALAN: Muy bien, incluso all,
pensar, como esos corazones fueron de
503
00:25:08,110 --> 00:25:10,410
la parte inferior a la parte superior de la pantalla,
no era en realidad un poco de
504
00:25:10,410 --> 00:25:11,440
aleatoriedad pasando.
505
00:25:11,440 --> 00:25:14,150
Y, de hecho, vamos a ver que incluso en el
ms simple de entornos, como
506
00:25:14,150 --> 00:25:18,180
Scratch, como en C, puede generar

nmeros aleatorios, o la ilusin de


507
00:25:18,180 --> 00:25:21,110
nmeros aleatorios, de manera que el juego es un
poco ms interesante de lo que podra
508
00:25:21,110 --> 00:25:23,390
si tuviera absolutamente
codificado todo.
509
00:25:23,390 --> 00:25:26,360
>> En el movimiento que se ve, no
hay algn tipo de respuesta.
510
00:25:26,360 --> 00:25:28,840
Tan pronto como los toques por el hombre de pan de jengibre
la mujer del pan de jengibre, ella
511
00:25:28,840 --> 00:25:30,000
parece alejarse.
512
00:25:30,000 --> 00:25:33,580
Y as, de hecho, se puede poner en prctica, en
la mayora de los lenguajes de programacin, la nocin
513
00:25:33,580 --> 00:25:38,680
de los acontecimientos, de forma que si uno mano toca
Por otro lado, que puede desencadenar algunos
514
00:25:38,680 --> 00:25:41,270
de su cdigo fuente para
de hecho ejecutar.
515
00:25:41,270 --> 00:25:43,740
Usted puede escuchar a tal
cosas en la pantalla.
516
00:25:43,740 --> 00:25:47,310
>> As que vamos a hacer un recorrido rpido, entonces, de
algunos de los componentes bsicos que podemos utilizar
517
00:25:47,310 --> 00:25:48,790
para alcanzar algunos de estos objetivos.
518
00:25:48,790 --> 00:25:51,630
As que aqu es lo que haremos a partir de ahora
llamar a un comunicado.

519
00:25:51,630 --> 00:25:55,030
Una declaracin pasa a ser de color prpura en
Scratch, un poco de algo como esto,
520
00:25:55,030 --> 00:25:56,120
pero eso es arbitrario.
521
00:25:56,120 --> 00:26:00,140
Una declaracin es slo una pieza del rompecabezas, o,
ms en general, una instruccin, que
522
00:26:00,140 --> 00:26:03,370
narra la computadora para hacer
algo, un comunicado.
523
00:26:03,370 --> 00:26:04,680
>> As que aqu est una muestra simple.
524
00:26:04,680 --> 00:26:05,930
Say hello world.
525
00:26:05,930 --> 00:26:08,180
Otra podra ser, espera un segundo.
526
00:26:08,180 --> 00:26:10,840
As que esta pieza del rompecabezas, que es apoyado
en Scratch, vamos a dejar que su
527
00:26:10,840 --> 00:26:13,050
personajes se detienen por algn
nmero de segundos.
528
00:26:13,050 --> 00:26:15,330
Esto, tambin, es slo una declaracin.
529
00:26:15,330 --> 00:26:18,640
>> Aqu al lado, tenemos otro ms
interesante, jugar maullido de sonido, y
530
00:26:18,640 --> 00:26:21,480
la pequea flecha significa que en Scratch,
este es un men desplegable.
531
00:26:21,480 --> 00:26:22,590
As que usted puede importar sonidos.
532

00:26:22,590 --> 00:26:25,095


Puede grabar sonidos y hacer otra
cosas divertidas en cero.
533
00:26:25,095 --> 00:26:28,450
Y eso, tambin, sin embargo, al final
y al cabo, es slo una declaracin.
534
00:26:28,450 --> 00:26:31,250
Pero ahora vamos a introducir una mayor
pieza interesante, que se conoce como una
535
00:26:31,250 --> 00:26:32,630
Expresin booleana.
536
00:26:32,630 --> 00:26:35,180
Capital B, el nombre de
un tipo llamado Bool.
537
00:26:35,180 --> 00:26:39,500
>> Y una expresin booleana es slo un
pieza del rompecabezas o, ms en general, un
538
00:26:39,500 --> 00:26:42,980
pieza de informacin que es
verdadero o falso 539
00:26:42,980 --> 00:26:45,830
uno o cero, s o no.
540
00:26:45,830 --> 00:26:48,420
As que es slo uno de los
dos opuestos.
541
00:26:48,420 --> 00:26:52,840
As que uno de esos expresin booleana en el
mundo de scratch tiene este aspecto azul
542
00:26:52,840 --> 00:26:53,560
pieza del rompecabezas.
543
00:26:53,560 --> 00:26:56,735
Y est haciendo una pregunta, ratn
hacia abajo, y que, o bien puede ser, de
544
00:26:56,735 --> 00:26:58,430
Por supuesto, verdadero o falso.

545
00:26:58,430 --> 00:27:01,710
As que con esta pieza de puzzle en el Scratch,
as, usted ser capaz de detectar si un
546
00:27:01,710 --> 00:27:05,490
descifrar si el ratn es, de hecho, ser
celebrada por el que interacta humana
547
00:27:05,490 --> 00:27:06,550
con su programa.
548
00:27:06,550 --> 00:27:08,860
>> ste es un poco ms abstracto,
pero esos dos cajas blancas
549
00:27:08,860 --> 00:27:09,740
son slo para los nmeros.
550
00:27:09,740 --> 00:27:12,950
As que usted puede hacer cosas como es este
nmero menor que el otro?
551
00:27:12,950 --> 00:27:16,180
Y si es as, Scratch se comportar
de una manera u otra.
552
00:27:16,180 --> 00:27:17,505
ste es un poco ms grfico.
553
00:27:17,505 --> 00:27:21,840
Es si el sprite, si el gato, por
ejemplo, en realidad est tocando el
554
00:27:21,840 --> 00:27:22,510
puntero del ratn.
555
00:27:22,510 --> 00:27:25,780
As que si la pequea punta de la flecha se cierne
sobre el gato, entonces este
556
00:27:25,780 --> 00:27:28,030
pieza del rompecabezas se evaluar como true.
557
00:27:28,030 --> 00:27:31,870
Ser verdad, en cuyo caso, si
utilizar esta expresin booleana, como veremos

558
00:27:31,870 --> 00:27:36,340
ver en un momento, en una rama, puede
o bien hacer esto, o usted puede hacer eso,
559
00:27:36,340 --> 00:27:39,940
al igual que tuvimos una condicin que
comprobado, hay uno ms ltima persona
560
00:27:39,940 --> 00:27:40,460
en la habitacin?
561
00:27:40,460 --> 00:27:42,070
Si es as, aada una.
562
00:27:42,070 --> 00:27:44,430
De lo contrario, no te preocupes ms.
563
00:27:44,430 --> 00:27:48,650
>> Por lo tanto una expresin booleana puede ser tambin
y ed-juntos o o-ed juntos.
564
00:27:48,650 --> 00:27:53,120
As que usted puede combinar expresiones booleanas
y decir esto y esto debe ser cierto para
565
00:27:53,120 --> 00:27:54,710
todo esto para ser verdad.
566
00:27:54,710 --> 00:27:56,520
Y aqu est un ejemplo del mundo ms real.
567
00:27:56,520 --> 00:28:00,060
Si ha utilizado Cursos CS50 hacer curso
comerciales, estas casillas de verificacin
568
00:28:00,060 --> 00:28:03,520
all, donde si marcas la casilla de al lado
a los cursos, que va a decir, s,
569
00:28:03,520 --> 00:28:07,860
slo mostrarme cursos para los cuales
el valor Q es 4.5 o superior.
570
00:28:07,860 --> 00:28:10,610
Si se desactiva, no, no lo hace
preocuparse por eso.

571
00:28:10,610 --> 00:28:13,910
O de forma similar, a la derecha, no lo hace
Conflictos con cursos que estoy tomando,
572
00:28:13,910 --> 00:28:15,650
eso es verdadero o falso.
573
00:28:15,650 --> 00:28:16,715
Es slo una expresin booleana.
574
00:28:16,715 --> 00:28:20,080
As que todo este tiempo en que usted ha utilizado
sitios web con casillas de verificacin, slo son
575
00:28:20,080 --> 00:28:23,570
alternando el equivalente de un booleano
expresin de encendido y apagado.
576
00:28:23,570 --> 00:28:25,270
>> As pues, en qu forma usted utiliza estos?
577
00:28:25,270 --> 00:28:28,820
Pues bien, en Scratch, ya veremos dentro de un momento
que hay condiciones que
578
00:28:28,820 --> 00:28:29,560
tener este aspecto.
579
00:28:29,560 --> 00:28:33,130
Y eso es algo sensato, porque gran parte
como en pseudocdigo, nos sangra
580
00:28:33,130 --> 00:28:38,550
el tipo de piezas de un rompecabezas en forma de U, con una media
que nada dentro de esa U es
581
00:28:38,550 --> 00:28:41,390
va a ejecutar, o no, dependiendo
en donde est.
582
00:28:41,390 --> 00:28:45,310
As que si la expresin booleana, a continuacin,
lo que hay dentro se quieran realizar.
583
00:28:45,310 --> 00:28:46,800
>> Mientras tanto, hay un if / else bloque.

584
00:28:46,800 --> 00:28:50,320
As que si quieres una rama que va de esta
o cual manera, Scratch nos da eso.
585
00:28:50,320 --> 00:28:54,500
Y por esta lgica, ahora, a pesar de que
pieza del rompecabezas es claramente demasiado pequeo
586
00:28:54,500 --> 00:28:57,400
para acuar algo ms dentro de ella,
las piezas del rompecabezas de cero, que son
587
00:28:57,400 --> 00:28:58,150
slo va a crecer.
588
00:28:58,150 --> 00:29:01,370
Al arrastrar y soltar sobre algo,
que slo va a crecer para adaptarse a lo que sea
589
00:29:01,370 --> 00:29:02,510
es lo que ests tratando de hacer.
590
00:29:02,510 --> 00:29:07,230
>> As que podemos tomar dos de estas cosas y
hacer un tenedor de tres vas en la carretera, as
591
00:29:07,230 --> 00:29:11,300
que o bien hace esto, o aquello, o
esta otra cosa con slo anidarlas
592
00:29:11,300 --> 00:29:12,070
de esa manera.
593
00:29:12,070 --> 00:29:14,370
Por supuesto, si lo haces demasiado
mucho, empieza a ponerse feo.
594
00:29:14,370 --> 00:29:17,660
Pero en ese momento, en realidad ests
Probablemente no se programa muy bien.
595
00:29:17,660 --> 00:29:20,490
Y por lo que ser recurrente
tema, tambin, la de estilo.
596
00:29:20,490 --> 00:29:22,790
Qu tan bien hacer realidad

formatear su cdigo?
597
00:29:22,790 --> 00:29:24,580
O qu tan bien el diseo de su cdigo?
598
00:29:24,580 --> 00:29:26,430
Pero ms sobre esto en el futuro.
599
00:29:26,430 --> 00:29:27,470
>> Y ahora tenemos lazos.
600
00:29:27,470 --> 00:29:30,310
Hay un bonito lazo para siempre en scratch
lo que significa, literalmente, que - do
601
00:29:30,310 --> 00:29:32,710
lo que hay dentro de este nuevo,
y otra vez, y otra vez.
602
00:29:32,710 --> 00:29:35,880
Puede ser ms concreto y decir:
hacer lo siguiente 10 veces.
603
00:29:35,880 --> 00:29:37,620
Tambin puede utilizar las variables.
604
00:29:37,620 --> 00:29:40,260
Usted puede subir con cualquier nombre en ese
poco desplegable y decir, dame un
605
00:29:40,260 --> 00:29:43,190
variable llamada n y ajuste
es igual a algn valor.
606
00:29:43,190 --> 00:29:44,910
Y entonces usted puede tener funciones.
607
00:29:44,910 --> 00:29:46,850
Pero ms sobre esto en slo un momento.
608
00:29:46,850 --> 00:29:49,140
>> Djame volver a mi
Interfaz de Scratch.
609
00:29:49,140 --> 00:29:50,970
Y djame ir por delante en esta ocasin.

610
00:29:50,970 --> 00:29:56,660
Y vamos a seguir adelante y abrir,
digamos, un ejemplo de 611
00:29:56,660 --> 00:29:58,740
eso es un poco ms interesante.
612
00:29:58,740 --> 00:30:00,750
Djame ir delante, y, en realidad,
Permtanme hacer yo mismo.
613
00:30:00,750 --> 00:30:01,960
No necesito para abrir ste.
614
00:30:01,960 --> 00:30:03,390
Djame ir a Archivo, Nuevo.
615
00:30:03,390 --> 00:30:04,740
Voy a ir a eventos.
616
00:30:04,740 --> 00:30:08,460
Me voy a ir cuando la bandera verde
hecho clic, y yo voy a ir a Sonido.
617
00:30:08,460 --> 00:30:11,590
Y yo voy a arrastrarlo este
pieza del rompecabezas, jugar al maullido de sonido.
618
00:30:11,590 --> 00:30:12,580
Se bloquea juntos.
619
00:30:12,580 --> 00:30:14,327
Y ahora, si hago clic en la bandera verde 620
00:30:14,327 --> 00:30:16,260
>> [MEOW SONIDO]
621
00:30:16,260 --> 00:30:17,500
>> DAVID MALAN: Adorable.
622
00:30:17,500 --> 00:30:21,560
OK, as que ahora vamos a hacer algo un poco
ms lgico slo para demostrar que
623
00:30:21,560 --> 00:30:22,760
podemos, por ahora.

624
00:30:22,760 --> 00:30:25,550
Voy a desenganchar
esto de ese tipo.
625
00:30:25,550 --> 00:30:27,000
Voy a ir a control.
626
00:30:27,000 --> 00:30:28,770
Y yo voy a agarrar una condicin.
627
00:30:28,770 --> 00:30:30,600
As que si algo entonces.
628
00:30:30,600 --> 00:30:32,020
As que esa es la forma en que se ve all.
629
00:30:32,020 --> 00:30:33,890
As que necesito una expresin booleana.
630
00:30:33,890 --> 00:30:38,130
Y djame seguir adelante y decir,
djame ir a los operadores.
631
00:30:38,130 --> 00:30:40,270
Voy a hacer algo un poco
mathy, slo por diversin.
632
00:30:40,270 --> 00:30:43,600
Voy a entrar ah y decir, si
algo menos que otra cosa,
633
00:30:43,600 --> 00:30:45,030
seguir adelante y hacer algo.
634
00:30:45,030 --> 00:30:46,890
As que ahora, sabes qu, un bloque aleatorio.
635
00:30:46,890 --> 00:30:51,620
As cuenta cmo, si yo se ciernen sobre esta
cosa aqu, que se ajustar en ese pas.
636
00:30:51,620 --> 00:30:54,090
>> As que ahora, aviso, estoy empezando a hacer
algo ya ms lgica
637

00:30:54,090 --> 00:30:54,650


interesante.
638
00:30:54,650 --> 00:30:59,720
Si un nmero aleatorio entre 1 y
10 es menos de, digamos seis.
639
00:30:59,720 --> 00:31:03,670
Si elijo seis, que, bsicamente,
medios, haga lo siguiente con un 50%
640
00:31:03,670 --> 00:31:03,980
probabilidad.
641
00:31:03,980 --> 00:31:05,460
Es como lanzar una moneda.
642
00:31:05,460 --> 00:31:07,330
Ahora, puedo hacer algo de forma condicional.
643
00:31:07,330 --> 00:31:10,800
Y ese algo que voy
que hacer es reproducir el sonido.
644
00:31:10,800 --> 00:31:14,280
As que ahora, cuando hago clic en la pantalla
bandera, es como tirar una moneda.
645
00:31:14,280 --> 00:31:14,610
>> [MEOW SONIDO]
646
00:31:14,610 --> 00:31:17,160
>> DAVID MALAN: Fue cabezas
o lo que sea all.
647
00:31:17,160 --> 00:31:17,920
Vamos a hacerlo de nuevo.
648
00:31:17,920 --> 00:31:18,860
>> [MEOW SONIDO]
649
00:31:18,860 --> 00:31:19,790
>> DAVID MALAN: Jefes de nuevo.
650
00:31:19,790 --> 00:31:20,280
>> [MEOW SONIDO]

651
00:31:20,280 --> 00:31:21,500
>> DAVID MALAN: Jefes de nuevo.
652
00:31:21,500 --> 00:31:22,631
Ufff, OK.
653
00:31:22,631 --> 00:31:24,720
Tails ese momento.
654
00:31:24,720 --> 00:31:29,545
As que el 50% de las veces, si hacemos esto
infinitamente largo, vamos a obtener el 50% maullidos
655
00:31:29,545 --> 00:31:32,180
y 50% silencios.
656
00:31:32,180 --> 00:31:34,850
As que, slo un edificio bsico
bloque que nos permite hacer eso.
657
00:31:34,850 --> 00:31:37,710
Pero esto es un poco tedioso que tengo
para seguir haciendo clic en ese botn.
658
00:31:37,710 --> 00:31:39,810
As que vamos a arrastrar y tirar
todos aquellos de distancia.
659
00:31:39,810 --> 00:31:42,270
Si usted los ha arrastrado a la mitad,
que slo va a eliminar a s mismos.
660
00:31:42,270 --> 00:31:43,760
>> Djame ir a controlar.
661
00:31:43,760 --> 00:31:46,060
Djame ir a por siempre.
662
00:31:46,060 --> 00:31:49,952
Y esta vez, voy a hacer
algo minorly molesto.
663
00:31:49,952 --> 00:31:51,560
>> [Risas]
664
00:31:51,560 --> 00:31:53,370

>> DAVID MALAN: Y djame ir


adelante y hacer control.
665
00:31:53,370 --> 00:31:57,260
Espere un segundo, slo para
no es demasiado rejilla.
666
00:31:57,260 --> 00:31:59,870
>> [MEOW SONIDO]
667
00:31:59,870 --> 00:32:00,970
>> DAVID MALAN: Eso no es natural.
668
00:32:00,970 --> 00:32:01,861
Aceptar.
669
00:32:01,861 --> 00:32:04,510
>> [MEOW SONIDO]
670
00:32:04,510 --> 00:32:06,406
>> DAVID MALAN: Y note lo que es, un buen
sobre Scratch, para aquellos de ustedes que
671
00:32:06,406 --> 00:32:09,210
tiene experiencia de programacin previa,
no es necesario para iniciar y detener.
672
00:32:09,210 --> 00:32:10,060
No es necesario para compilar.
673
00:32:10,060 --> 00:32:13,210
Usted acaba de cambiar, y el programa
se adaptar dinmicamente.
674
00:32:13,210 --> 00:32:14,620
As que esto se est poniendo un
poco interesante.
675
00:32:14,620 --> 00:32:16,930
Pero demos un paso ms all.
676
00:32:16,930 --> 00:32:19,760
Djenme seguir adelante y obtener
deshacerse de ese programa.
677
00:32:19,760 --> 00:32:23,300
>> [MEOW SONIDO]

678
00:32:23,300 --> 00:32:25,520
>> DAVID MALAN: Eso es lo que vamos a
llamar a un error en los araazos.
679
00:32:25,520 --> 00:32:26,770
l no debe seguir haciendo ese sonido.
680
00:32:26,770 --> 00:32:28,340
As que vamos a decirle que pare.
681
00:32:28,340 --> 00:32:30,435
Muy bien, as que ahora estoy
va a entrar en 682
00:32:30,435 --> 00:32:32,180
Te dejar saber MIT.
683
00:32:32,180 --> 00:32:35,160
Vamos a repasar aqu para siempre.
684
00:32:35,160 --> 00:32:37,240
Y ahora, yo quiero hacer algo
una y otra vez.
685
00:32:37,240 --> 00:32:38,760
Voy a entrar en control.
686
00:32:38,760 --> 00:32:41,570
>> Y vamos a ver, voy a arrastrar
mi condicin if all.
687
00:32:41,570 --> 00:32:42,850
As que ahora cuenta de la lgica.
688
00:32:42,850 --> 00:32:46,430
Cuando se hace clic en la bandera verde, hacer
algo para siempre, pero slo lo que
689
00:32:46,430 --> 00:32:48,890
algo si esta otra cosa es cierta.
690
00:32:48,890 --> 00:32:51,480
Voy a ir a, vamos a
decir, sintiendo.
691

00:32:51,480 --> 00:32:54,430


Y yo voy a seguir adelante y elegir
tocar y dejarlo all.
692
00:32:54,430 --> 00:32:55,930
Esa es una expresin booleana.
693
00:32:55,930 --> 00:32:57,740
>> Y ahora, fjate, en esta cada
men de abajo, hay
694
00:32:57,740 --> 00:32:59,050
algunos valores predefinidos.
695
00:32:59,050 --> 00:33:00,910
As que puedo decir, ests tocando
el borde de la pantalla?
696
00:33:00,910 --> 00:33:03,900
O tocando el puntero del ratn,
la flecha en la pantalla?
697
00:33:03,900 --> 00:33:04,620
As que voy a hacer eso.
698
00:33:04,620 --> 00:33:08,770
Y si es as, entonces yo voy a ir
adelante y jugar maullido sonido.
699
00:33:08,770 --> 00:33:11,250
As que ahora tengo el tipo de
inicios de un juego 700
00:33:11,250 --> 00:33:13,110
un juego adorable.
701
00:33:13,110 --> 00:33:14,060
>> [MEOW SONIDO]
702
00:33:14,060 --> 00:33:17,250
>> DAVID MALAN: OK, un adorable,
Buggy juego.
703
00:33:17,250 --> 00:33:20,770
Djame esperar, digamos,
un segundo all.
704

00:33:20,770 --> 00:33:24,910


Ahora toca de nuevo, haciendo clic en
la bandera verde.
705
00:33:24,910 --> 00:33:27,860
>> [MEOW SONIDO]
706
00:33:27,860 --> 00:33:30,460
>> DAVID MALAN: As que ahora es
como acariciar a un gato.
707
00:33:30,460 --> 00:33:31,850
>> [MEOW SONIDO]
708
00:33:31,850 --> 00:33:34,460
>> DAVID MALAN: Muy bien, ahora esto
que yo hice por adelantado.
709
00:33:34,460 --> 00:33:39,250
Muy tarde, se pone tipo de
fcil de hacer cosas estpidas.
710
00:33:39,250 --> 00:33:40,240
As que djame ir aqu.
711
00:33:40,240 --> 00:33:43,720
Digamos, que era la mascota del gato.
712
00:33:43,720 --> 00:33:46,600
Ahora vamos a abrir no acaricie el Gato.
713
00:33:46,600 --> 00:33:48,330
Ahora, si jugamos ste,
se puede adivinar, si eres
714
00:33:48,330 --> 00:33:49,650
mirando a la pantalla 715
00:33:49,650 --> 00:33:51,090
>> [MEOW SONIDO]
716
00:33:51,090 --> 00:33:52,170
>> DAVID MALAN: Ahora, si yo acaricio al gato
717
00:33:52,170 --> 00:33:55,420
>> [LION ROAR]

718
00:33:55,420 --> 00:33:57,260
>> DAVID MALAN: As que en realidad no
acariciar al gato en ese caso.
719
00:33:57,260 --> 00:34:01,350
As que ahora slo tenemos un ejemplo de un
rama que va en dos direcciones.
720
00:34:01,350 --> 00:34:03,130
Ahora voy a seguir adelante y
abrir otro aqu.
721
00:34:03,130 --> 00:34:07,120
ste, tambin, entre nuestra fuente
archivos de cdigo para el da.
722
00:34:07,120 --> 00:34:13,199
As que djame ir de nuevo en mi Fuente
directorio y entrar, vamos a elegir
723
00:34:13,199 --> 00:34:15,610
este chico aqu y ver
lo que es diferente.
724
00:34:15,610 --> 00:34:17,449
>> Wow, est bien, por lo que ahora se est haciendo
un poco ms complejo.
725
00:34:17,449 --> 00:34:21,300
Y antes de que veamos lo que hace este tipo,
vamos a tratar de inferir, a partir del programa de
726
00:34:21,300 --> 00:34:22,219
en el lado derecho.
727
00:34:22,219 --> 00:34:25,590
Y ahora rascamos claramente nos permite
tener varios guiones, mltiples
728
00:34:25,590 --> 00:34:29,730
programas asociados con uno de sprites,
con un carcter, y, al parecer,
729
00:34:29,730 --> 00:34:31,760
Ambos van a correr al mismo ritmo.
730
00:34:31,760 --> 00:34:35,570

Debido a que comienza dos de estos programas


con bandera verde cuando se hace clic, se trata de
731
00:34:35,570 --> 00:34:38,650
haciendo alusin a un tema ms avanzado, con
que algunos de ustedes podran estar familiarizados,
732
00:34:38,650 --> 00:34:40,580
conocido como roscado, o
multi-threading.
733
00:34:40,580 --> 00:34:44,400
>> Resulta que, cuento largo, computadoras
hoy puede hacer esencialmente mltiple
734
00:34:44,400 --> 00:34:45,270
cosas a la vez.
735
00:34:45,270 --> 00:34:48,659
O pueden hacer una cosa a la vez, as
rpido que no te das cuenta de que
736
00:34:48,659 --> 00:34:50,150
que est haciendo en realidad uno
cosa a la vez.
737
00:34:50,150 --> 00:34:53,320
Pero por ahora, vamos a suponer que ambos
estos programas van a ejecutar en el
738
00:34:53,320 --> 00:34:54,310
al mismo tiempo.
739
00:34:54,310 --> 00:34:57,350
Y note, ambos tienen
rompecabezas para siempre piezas.
740
00:34:57,350 --> 00:35:01,270
As que estn tanto va a seguir funcionando
hasta que llegu a la seal de stop de color rojo.
741
00:35:01,270 --> 00:35:02,100
>> Entonces, qu van a hacer?
742
00:35:02,100 --> 00:35:06,030
Por el lado de la mano izquierda, yo soy al parecer
Declarar una variable llamada silenciada.

743
00:35:06,030 --> 00:35:09,030
As que no me llamo algo as como
aburrido como N. llam silenciado este
744
00:35:09,030 --> 00:35:10,240
tiempo para transmitir significado.
745
00:35:10,240 --> 00:35:11,780
Me puse igual a cero.
746
00:35:11,780 --> 00:35:16,200
Vamos a pensar en eso como Falso o
vamos a pensar en eso como Falso.
747
00:35:16,200 --> 00:35:17,490
>> Ahora, para siempre hacer lo siguiente.
748
00:35:17,490 --> 00:35:23,280
Si se pulsa la barra espaciadora del teclado,
entonces si silenciado es igual a cero,
749
00:35:23,280 --> 00:35:25,930
luego cambiar silenciado igual a uno.
750
00:35:25,930 --> 00:35:27,580
Else, establezca silenciado a cero.
751
00:35:27,580 --> 00:35:30,530
As que, lgicamente, a pesar de que eso es un todo
montn de piezas de un rompecabezas que est en
752
00:35:30,530 --> 00:35:33,160
Slo digo, cuando me golpe la barra espaciadora,
qu debo hacer para la variable
753
00:35:33,160 --> 00:35:34,750
llamada silenciado?
754
00:35:34,750 --> 00:35:37,170
Cambiarlo por uno a cero,
o cero a uno.
755
00:35:37,170 --> 00:35:37,840
Eso es todo.
756
00:35:37,840 --> 00:35:40,740

As que es como encender un interruptor de luz


encendido o apagado y el recuerdo, con un
757
00:35:40,740 --> 00:35:42,330
variables, que yo lo he hecho.
758
00:35:42,330 --> 00:35:45,990
>> Mientras tanto, en el lado derecho, a
trminos sencillos, cul es el propsito de
759
00:35:45,990 --> 00:35:47,547
el guin de la derecha?
760
00:35:47,547 --> 00:35:48,860
>> ESTUDIANTE: Para reproducir el sonido de leones marinos.
761
00:35:48,860 --> 00:35:52,500
>> DAVID MALAN: Para reproducir el sonido del len marino,
si l no est silenciado, por
762
00:35:52,500 --> 00:35:53,480
naturaleza de esa variable.
763
00:35:53,480 --> 00:35:57,360
As que estamos compartiendo estado, por as decirlo,
compartir informacin a travs de estos dos
764
00:35:57,360 --> 00:36:00,540
guiones porque, aviso aqu, estamos
siempre haciendo lo siguiente.
765
00:36:00,540 --> 00:36:04,620
Si silenciado es cero, por lo que si no est silenciado si silenciado es falso, entonces el juego
766
00:36:04,620 --> 00:36:05,980
este sonido Sea Lion.
767
00:36:05,980 --> 00:36:09,930
Y piensa a s mismo, hi, hi, hi, para
de dos segundos, espere un momento, y luego
768
00:36:09,930 --> 00:36:11,140
puedes volver a intentarlo.
769
00:36:11,140 --> 00:36:15,150
As que si nos vamos ahora hacia aqu a la izquierda,

de donde es este tipo, y dio en el


770
00:36:15,150 --> 00:36:16,662
bandera verde,
771
00:36:16,662 --> 00:36:30,260
>> [SEA LION SONIDO]
772
00:36:30,260 --> 00:36:31,910
>> DAVID MALAN: En qu punto
esto pone muy molesto?
773
00:36:31,910 --> 00:36:33,440
Debido a que esto slo va a durar para siempre.
774
00:36:33,440 --> 00:36:36,490
As que a veces, bucles infinitos,
por as decirlo, son deliberados.
775
00:36:36,490 --> 00:36:41,140
Pero en este caso, tan pronto como
pulsa la barra espaciadora, se detiene.
776
00:36:41,140 --> 00:36:42,800
Ahora, el programa no ha dejado.
777
00:36:42,800 --> 00:36:44,760
Todava est funcionando en estos bucles.
778
00:36:44,760 --> 00:36:46,540
Pero si tengo la barra espaciadora de nuevo 779
00:36:46,540 --> 00:36:47,851
>> [SEA LION SONIDO]
780
00:36:47,851 --> 00:36:49,650
>> DAVID MALAN: l va a recoger
hasta donde lo haba dejado.
781
00:36:49,650 --> 00:36:53,240
As que hay una manera para que hagamos
algo de nuevo y de nuevo, pero, que
782
00:36:53,240 --> 00:36:54,920
tiempo, slo en determinadas condiciones.
783

00:36:54,920 --> 00:36:58,940


Bueno, ya que estamos en esta lnea de hacer
cosas una y otra vez, me dej
784
00:36:58,940 --> 00:37:01,370
ir a otro ejemplo de ello aqu.
785
00:37:01,370 --> 00:37:04,370
ste lo llamaremos contar ovejas.
786
00:37:04,370 --> 00:37:05,710
>> Y note lo que hace este tipo.
787
00:37:05,710 --> 00:37:08,540
En realidad es un poco ms como el
pseudocdigo jugamos con el
788
00:37:08,540 --> 00:37:12,230
Mircoles, mediante la cual se establecen algunas de venta libre,
pensar en ello es como N de nuevo, para
789
00:37:12,230 --> 00:37:14,030
cero, que siempre hace lo siguiente.
790
00:37:14,030 --> 00:37:17,960
l dice que el valor del contador para una
segundo, espera un segundo, y luego
791
00:37:17,960 --> 00:37:19,430
cambia el contador en uno.
792
00:37:19,430 --> 00:37:21,570
Y en este contexto, que se acaba
significa la incrementa.
793
00:37:21,570 --> 00:37:23,250
As, aade uno a ella.
794
00:37:23,250 --> 00:37:25,830
As que esto es literalmente 795
00:37:25,830 --> 00:37:27,890
no es exactamente lo que pensamos
de como contar ovejas.
796
00:37:27,890 --> 00:37:33,120
Es la oveja haciendo el recuento,

para siempre, por encima de cero.


797
00:37:33,120 --> 00:37:35,560
>> As que podemos hacer cosas similares
all, lgicamente.
798
00:37:35,560 --> 00:37:37,750
Pero ahora vamos a tratar de limpiar
algunas de estas cosas.
799
00:37:37,750 --> 00:37:43,440
Djame ir adelante ahora en un simple
ejemplo en el que nuestro gato es slo va a
800
00:37:43,440 --> 00:37:44,750
empezar a toser.
801
00:37:44,750 --> 00:37:48,830
Muy bien, as que aqu tiene tos 0 802
00:37:48,830 --> 00:37:50,685
los cientficos de la computadora inicio
a contar desde 0.
803
00:37:50,685 --> 00:37:53,480
As que este gato es slo va
a toser tres veces.
804
00:37:53,480 --> 00:37:54,890
Y as es como he implementado eso.
805
00:37:54,890 --> 00:38:00,130
Cuando se hace clic en la bandera verde, toser,
esperar, tos, espera, toser, espere.
806
00:38:00,130 --> 00:38:02,470
Y lo hice solo arrastra
y colocar las piezas del rompecabezas.
807
00:38:02,470 --> 00:38:04,740
O si usted comienza a jugar con Scratch,
vers que en realidad se puede
808
00:38:04,740 --> 00:38:08,620
duplicar piezas de manera que usted puede hacer
las cosas ms rpidamente sin arrastrar
809

00:38:08,620 --> 00:38:10,310


y cayendo hasta la saciedad.
810
00:38:10,310 --> 00:38:12,680
>> Pero no estamos en el mejor camino aqu.
811
00:38:12,680 --> 00:38:15,210
Porque cmo lo hago
tos por cuarta vez?
812
00:38:15,210 --> 00:38:16,790
Bueno, podra especie de ir aqu.
813
00:38:16,790 --> 00:38:19,420
Yo podra duplicar y luego
pega este ah.
814
00:38:19,420 --> 00:38:21,740
Cmo puedo hacer toser quinta vez?
815
00:38:21,740 --> 00:38:23,230
Bueno, copie y pegue de nuevo.
816
00:38:23,230 --> 00:38:24,210
O arrastrar y soltar de nuevo.
817
00:38:24,210 --> 00:38:26,920
Y muy rpidamente, este programa se inicia
conseguir muy, muy redundante,
818
00:38:26,920 --> 00:38:28,880
muy largo, pero realmente interesante.
819
00:38:28,880 --> 00:38:30,120
Pero hay una manera de limpiar esto.
820
00:38:30,120 --> 00:38:33,680
Cul es la manera obvia
limpiar esto?
821
00:38:33,680 --> 00:38:36,280
>> OK, as que podramos ir realmente
y, cuando se pulse el espacio
822
00:38:36,280 --> 00:38:37,070
bar, pdale que tosa.

823
00:38:37,070 --> 00:38:40,150
Pero si yo slo quiero hacer algo
repetitiva, recordar que nosotros tenemos
824
00:38:40,150 --> 00:38:41,310
algunas construcciones de control.
825
00:38:41,310 --> 00:38:43,800
Permtanme que pase esto de la
manera, pasar bajo control.
826
00:38:43,800 --> 00:38:47,340
Permtanme hacer una repeticin,
decir, tres veces.
827
00:38:47,340 --> 00:38:49,410
Y ahora vamos a robar un poco de
de estas piezas del rompecabezas.
828
00:38:49,410 --> 00:38:50,980
Permtanme rompo esto aqu.
829
00:38:50,980 --> 00:38:52,400
Djame lanzar estas lejos del todo.
830
00:38:52,400 --> 00:38:55,400
>> Y ahora, tengo una mejor
programa diseado.
831
00:38:55,400 --> 00:38:55,920
Por qu?
832
00:38:55,920 --> 00:39:00,540
Si quiero cambiar el nmero de veces
este gato tose, todo lo que tengo que
833
00:39:00,540 --> 00:39:05,640
hacer es cambiar una variable o un valor,
en lugar de tres, cuatro, o
834
00:39:05,640 --> 00:39:06,700
cinco, o seis.
835
00:39:06,700 --> 00:39:09,060
O podra hacer algo de forma condicional,
incluso, con el espacio

836
00:39:09,060 --> 00:39:10,320
bar si quera.
837
00:39:10,320 --> 00:39:11,780
>> As que este es un principio general.
838
00:39:11,780 --> 00:39:14,950
Una vez que comience la copia y pegar cdigo,
ya sea en Scratch, o en
839
00:39:14,950 --> 00:39:18,340
C, que est haciendo algo
mal, lo ms probable.
840
00:39:18,340 --> 00:39:21,950
O por lo menos, una vez se ha superado algunos
un nmero razonable de copias y
841
00:39:21,950 --> 00:39:24,610
pastas, usted est probablemente
haciendo algo mal.
842
00:39:24,610 --> 00:39:26,740
>> Pero sabes qu?
843
00:39:26,740 --> 00:39:27,590
Realmente no me gusta este.
844
00:39:27,590 --> 00:39:28,980
Este no es el diseo ms limpio.
845
00:39:28,980 --> 00:39:32,860
Me gustara que hubiera una pieza del rompecabezas llamado
tos porque entonces yo no lo hara
846
00:39:32,860 --> 00:39:36,100
que aplicar esto a m mismo,
a la manera antigua, por
847
00:39:36,100 --> 00:39:38,220
habiendo decir y esperar 848
00:39:38,220 --> 00:39:40,320
y si no eran ms que
una pieza del rompecabezas de la tos.
849

00:39:40,320 --> 00:39:41,330


>> Bueno, realmente puedo hacer eso.
850
00:39:41,330 --> 00:39:45,010
Djame ir bajo ms bloques, haga clic en
Hacer un bloque, y ahora me sale este
851
00:39:45,010 --> 00:39:45,610
ventana aqu.
852
00:39:45,610 --> 00:39:47,540
Voy a llamar a esta cosa de la tos.
853
00:39:47,540 --> 00:39:49,400
Voy a seguir adelante y haga clic en Aceptar.
854
00:39:49,400 --> 00:39:53,150
Y ahora fjense, me sale una nueva partida
pieza que est curvado en la parte superior.
855
00:39:53,150 --> 00:39:56,590
Y qu voy a hacer con esto, estoy
va a simplemente robar estos bloques.
856
00:39:56,590 --> 00:39:57,800
Voy a poner aqu.
857
00:39:57,800 --> 00:40:00,490
>> Y ahora, con estas tres piezas, no tengo
implementado lo que voy a llamar a un
858
00:40:00,490 --> 00:40:03,530
funcin, o un procedimiento, o algunos de
debes saber que como mtodo.
859
00:40:03,530 --> 00:40:05,050
Las pequeas diferencias entre las palabras.
860
00:40:05,050 --> 00:40:06,950
Pero por ahora, vamos a
llamar a esta funcin.
861
00:40:06,950 --> 00:40:08,750
Esto es slo una nueva pieza del rompecabezas.
862
00:40:08,750 --> 00:40:11,000
Ahora se implementa como este.

863
00:40:11,000 --> 00:40:15,170
>> Pero note que los araazos nos ha dado un
representacin fsica de que toda
864
00:40:15,170 --> 00:40:16,570
bloquear por aqu.
865
00:40:16,570 --> 00:40:21,930
As que ahora, puedo slo tienes que arrastrar esto aqu,
por ejemplo, repetir tres veces, y
866
00:40:21,930 --> 00:40:26,420
qu va a pasar ahora, cuando juego
este script, es slo un programa
867
00:40:26,420 --> 00:40:27,500
se est ejecutando en un momento.
868
00:40:27,500 --> 00:40:29,880
Slo hay uno cuando
bandera verde hizo clic.
869
00:40:29,880 --> 00:40:34,010
Pero ese bloque prpura llamada tos es
contando con eficacia a los araazos, cada
870
00:40:34,010 --> 00:40:38,160
vez que vea a esa pieza del rompecabezas, en realidad
ejecutar estos pasos que yo
871
00:40:38,160 --> 00:40:40,420
pasar a aplicar manualmente.
872
00:40:40,420 --> 00:40:41,410
>> As que es una especie de limpia.
873
00:40:41,410 --> 00:40:44,650
Pero ahora, supongo que me decid, no lo hago
quiero este gato slo para toser.
874
00:40:44,650 --> 00:40:46,660
Quiero que l sea capaz
estornudar tambin.
875
00:40:46,660 --> 00:40:48,905
Bueno, cmo podemos ir sobre

La implementacin de estornudar?
876
00:40:48,905 --> 00:40:51,310
Bueno, yo podra muy bien
hacer lo mismo.
877
00:40:51,310 --> 00:40:52,690
Podra hacer otro bloque.
878
00:40:52,690 --> 00:40:55,940
Yo podra llamar a este estornudo, haga clic en Aceptar.
879
00:40:55,940 --> 00:40:59,250
>> Entonces, aqu lo que pude en realidad
haber, djame duplicar este 880
00:40:59,250 --> 00:41:02,850
y all es donde se debe sentir como
es probable que no ests haciendo algo en
881
00:41:02,850 --> 00:41:03,780
la mejor manera.
882
00:41:03,780 --> 00:41:06,670
Yo podra decir algo as como:
achoo, durante un segundo.
883
00:41:06,670 --> 00:41:07,440
Espere un segundo.
884
00:41:07,440 --> 00:41:08,715
Ahora tengo un nuevo bloque llamado estornudo.
885
00:41:08,715 --> 00:41:10,210
Y, en efecto, ah est.
886
00:41:10,210 --> 00:41:14,010
>> Pero esto, tambin, debe comenzar a sentir quizs no es la primera semana de clase, pero
887
00:41:14,010 --> 00:41:15,730
por el segundo - slo
un poco redundante.
888
00:41:15,730 --> 00:41:17,800
Claramente, hay algo de redundancia aqu.

889
00:41:17,800 --> 00:41:22,090
As que permtanme proponer, en cambio, que
perfeccionar esta definicin de la siguiente manera.
890
00:41:22,090 --> 00:41:24,820
>> Djame ir a mi men de archivo.
891
00:41:24,820 --> 00:41:26,090
Yo no voy a guardar esta versin.
892
00:41:26,090 --> 00:41:29,080
Voy a ir a uno de
mis archivos prefabricados aqu.
893
00:41:29,080 --> 00:41:31,190
Y voy a seguir adelante
y abrir la tos 2.
894
00:41:31,190 --> 00:41:32,220
Vaya que era tos 2.
895
00:41:32,220 --> 00:41:36,900
Djame ir adelante y abro la tos 3,
que es el directorio de origen.
896
00:41:36,900 --> 00:41:42,450
Tos 3 y aviso - oh, yo dije
la historia en el orden equivocado.
897
00:41:42,450 --> 00:41:45,030
Djame recuperarme de esta historia.
898
00:41:45,030 --> 00:41:48,990
>> La historia que quera decirte
termina con la tos 4 899
00:41:48,990 --> 00:41:50,270
ah est.
900
00:41:50,270 --> 00:41:54,380
Y qu si, en cambio, definir
una pieza del rompecabezas ms grande llamada
901
00:41:54,380 --> 00:41:57,250
definir, dicen palabra n veces.
902

00:41:57,250 --> 00:41:59,930


El estornudo es slo, al parecer,
en Scratch, achoo.
903
00:41:59,930 --> 00:42:01,680
As lo expresamos como una palabra,
simplemente porque esa es la
904
00:42:01,680 --> 00:42:02,750
restriccin del programa.
905
00:42:02,750 --> 00:42:07,860
Y la tos es [TOS], pero la tos,
C-O-T-G-H. As que eso es slo dos
906
00:42:07,860 --> 00:42:10,820
palabras diferentes que realizan, esencialmente,
la misma cosa.
907
00:42:10,820 --> 00:42:12,820
>> As que en realidad puedo hacer una
nuevo bloque como este.
908
00:42:12,820 --> 00:42:14,220
No hice uso de esta opcin de men anterior.
909
00:42:14,220 --> 00:42:16,960
Pero al hacer clic en Hacer Block,
usted puede elegir algunas opciones.
910
00:42:16,960 --> 00:42:20,900
Y se puede decir que este bloque realidad
toma algunos insumos, de lo contrario
911
00:42:20,900 --> 00:42:24,710
conocido como argumentos, o parmetros, de modo
que puede modificar el comportamiento de los
912
00:42:24,710 --> 00:42:25,520
su bloque.
913
00:42:25,520 --> 00:42:28,780
>> As que lo que hice hace un momento era
Llam a este bloque de Say.
914
00:42:28,780 --> 00:42:30,880
Y entonces me dije, toma
una entrada de cadena.

915
00:42:30,880 --> 00:42:32,810
Y ahora fjense, por defecto,
dice cadena 1.
916
00:42:32,810 --> 00:42:35,440
Una cadena es tan slo una palabra, o una
frase, para nuestros propsitos.
917
00:42:35,440 --> 00:42:37,810
Pero yo slo voy a poner un poco de
texto de marcador de posicin all, al igual que en un
918
00:42:37,810 --> 00:42:40,620
sitio web, cuando ves nombre de usuario, o
contrasea, y luego desaparece cuando
919
00:42:40,620 --> 00:42:41,550
de empezar a escribir.
920
00:42:41,550 --> 00:42:42,720
Eso es todo lo que es.
921
00:42:42,720 --> 00:42:44,590
>> Y ahora me voy a
aadir una entrada de nmero.
922
00:42:44,590 --> 00:42:47,180
Y voy a llamar a este n pero eso es bastante arbitraria.
923
00:42:47,180 --> 00:42:49,510
Y a continuacin, slo una etiqueta, slo para hacer
este bloque un poco ms de auto
924
00:42:49,510 --> 00:42:50,570
explicativa 925
00:42:50,570 --> 00:42:53,010
veces, eso es lo que acabo de hacer.
926
00:42:53,010 --> 00:42:56,540
Y el resultado final es que me sale
un bloque que tiene este aspecto.
927
00:42:56,540 --> 00:42:58,880
>> Y ahora noto, estoy usando

un bloque de repeticin.
928
00:42:58,880 --> 00:43:03,480
Pero en lugar de la codificacin dura tres, yo soy
arrastrar y soltar n en all, as que
929
00:43:03,480 --> 00:43:05,530
puede parametrizar la funcin.
930
00:43:05,530 --> 00:43:08,590
Puedo hacer esta funcin haga algo
un nmero diferente de veces sobre la base de
931
00:43:08,590 --> 00:43:09,410
ese valor.
932
00:43:09,410 --> 00:43:14,270
>> Y fjense, por ejemplo, esto es lo que hice
aqu, si arrastro palabra, puedo decir que no es un
933
00:43:14,270 --> 00:43:17,860
palabra codificada duro, pero lo que sea
se pasa en un segundo.
934
00:43:17,860 --> 00:43:20,200
Mientras tanto, cmo puedo volver a implementar
tos?
935
00:43:20,200 --> 00:43:26,980
Yo en cambio defino la tos como
diciendo tos n veces.
936
00:43:26,980 --> 00:43:30,480
>> As que en resumen, estoy pasando por esta
rpidamente, pero la idea bsica es tan pronto
937
00:43:30,480 --> 00:43:32,750
como se empieza a ver en su programa
que, espera un minuto, lo que he hecho
938
00:43:32,750 --> 00:43:36,610
algo como esto antes,
encontrar los factores que algunos comn
939
00:43:36,610 --> 00:43:37,090
funcionalidad?
940

00:43:37,090 --> 00:43:41,090


Puedo descomponer lo que estoy haciendo
en algunas ideas bsicas?
941
00:43:41,090 --> 00:43:42,070
Eso es lo que estamos haciendo aqu.
942
00:43:42,070 --> 00:43:44,830
Y he apilan estas cosas, visualmente,
en la parte superior de uno al otro
943
00:43:44,830 --> 00:43:47,710
porque es testimonio de esa idea de
comenzando con el binario, va a ASCII,
944
00:43:47,710 --> 00:43:51,530
haciendo programas grficos, tipo de
capas de las ideas cada vez ms complejas en
945
00:43:51,530 --> 00:43:52,570
uno encima del otro.
946
00:43:52,570 --> 00:43:53,730
>> La misma idea aqu.
947
00:43:53,730 --> 00:43:56,870
Empec desde cero, la implementacin de
tos, tos luego se dio cuenta es
948
00:43:56,870 --> 00:43:58,540
realmente slo decir algo.
949
00:43:58,540 --> 00:44:01,630
As que djame en vez poner en prctica las
idea de decir algo.
950
00:44:01,630 --> 00:44:05,200
Y encima de eso, puedo aplicar
achoo o tos?
951
00:44:05,200 --> 00:44:07,990
Y podramos hacer ms, tales
variantes todava.
952
00:44:07,990 --> 00:44:10,400
>> As que a partir de este principio bsico,
podemos empezar a hacer

953
00:44:10,400 --> 00:44:12,180
programas cada vez ms complejos.
954
00:44:12,180 --> 00:44:14,100
Permtanme abro ste.
955
00:44:14,100 --> 00:44:18,020
De hecho, podemos tener mltiples sprites
interactuar en la pantalla a la vez.
956
00:44:18,020 --> 00:44:23,470
Si entro en mi directorio de origen y
agarrar una llamada Temas, recuerdan que una
957
00:44:23,470 --> 00:44:26,920
hilo es realmente la capacidad
de dos secuencias de comandos para ejecutar lado a
958
00:44:26,920 --> 00:44:28,350
lado al mismo tiempo.
959
00:44:28,350 --> 00:44:34,490
>> Observe ahora, tienen tanto un sprite de aves y
un sprite gato, ambos de los cuales tiene
960
00:44:34,490 --> 00:44:35,270
sus propios guiones.
961
00:44:35,270 --> 00:44:37,690
As cuenta, cuando hago clic en el
gato, me sale estos scripts.
962
00:44:37,690 --> 00:44:39,830
Cuando hago clic sobre el pjaro,
Consigo estos scripts.
963
00:44:39,830 --> 00:44:42,070
As que cada uno de estos tipos tiene
sus propios programas.
964
00:44:42,070 --> 00:44:46,680
Cuando ahora hago clic en la bandera verde, el aviso
que lo que hace este programa es
965
00:44:46,680 --> 00:44:54,090
tener el gato, increblemente
poco a poco, perseguir a las aves.

966
00:44:54,090 --> 00:44:57,120
Pero el gato tiene la ventaja de tener
sido programado de tal manera
967
00:44:57,120 --> 00:45:00,540
que no importa donde el pjaro
es, el gato va hacia l.
968
00:45:00,540 --> 00:45:02,150
>> Podemos jugar a ese juego mucho ms rpido.
969
00:45:02,150 --> 00:45:07,750
As que si estoy en el gato, notar que soy
usando, digamos que mover una escalera.
970
00:45:07,750 --> 00:45:11,680
Vamos a echar a mudarse cinco pasos en
un momento, por lo que los cinco puntos a la vez.
971
00:45:11,680 --> 00:45:13,580
Permtanme haga clic en Reproducir.
972
00:45:13,580 --> 00:45:14,490
>> [LION ROAR]
973
00:45:14,490 --> 00:45:17,170
>> DAVID MALAN: Muy bien, ahora podemos
realmente dar al gato la ventaja.
974
00:45:17,170 --> 00:45:18,600
10 pasos a la vez.
975
00:45:18,600 --> 00:45:20,120
>> [LION ROAR]
976
00:45:20,120 --> 00:45:22,770
>> DAVID MALAN: Muy bien, muy rpido,
se pone un poco la ventaja
977
00:45:22,770 --> 00:45:23,280
para el gato.
978
00:45:23,280 --> 00:45:25,310
Pero voy a agito mi mano en
algunos de los detalles.

979
00:45:25,310 --> 00:45:28,240
Pero la razn de que ese camino es
comenzando un poco diferente cada vez
980
00:45:28,240 --> 00:45:29,700
es que me estoy haciendo un poco de aleatoriedad.
981
00:45:29,700 --> 00:45:33,700
En realidad estoy apuntando con el gato en una
direccin diferente segn el lugar donde me
982
00:45:33,700 --> 00:45:38,710
quiero que comience para que cada vez
el juego, o la animacin, es un
983
00:45:38,710 --> 00:45:39,760
poco diferente.
984
00:45:39,760 --> 00:45:41,950
>> Ahora, permtanme presentarles a uno
otra construccin, aqu.
985
00:45:41,950 --> 00:45:43,860
As que en este caso, tuvimos funciones.
986
00:45:43,860 --> 00:45:46,950
Hay tambin va a ser una pieza del rompecabezas
conocido como una matriz o una lista,
987
00:45:46,950 --> 00:45:50,980
que le permite almacenar mltiples
valores dentro de una variable.
988
00:45:50,980 --> 00:45:53,410
Vimos las discusiones, y ahora
hay Eventos.
989
00:45:53,410 --> 00:45:56,330
>> As que aqu est un evento usando
estos dos tipos de aqu.
990
00:45:56,330 --> 00:46:02,490
Y si abro el archivo llamado Eventos
a partir de ejemplos de la actualidad, lo haremos
991
00:46:02,490 --> 00:46:06,940
ver un programa que se ve

un poco como esto.


992
00:46:06,940 --> 00:46:09,630
Y ahora note este tipo 993
00:46:09,630 --> 00:46:11,620
por lo que noto que tengo el azul
Muppet clic 994
00:46:11,620 --> 00:46:12,990
que slo hace lo siguiente.
995
00:46:12,990 --> 00:46:15,540
l no tiene uno de esos
verde bandera piezas de un rompecabezas.
996
00:46:15,540 --> 00:46:18,620
l tiene una cuando recibo evento 997
00:46:18,620 --> 00:46:19,970
por lo que algunas palabras arbitraria.
998
00:46:19,970 --> 00:46:21,590
Me acaba de escribir a cabo evento all 999
00:46:21,590 --> 00:46:23,740
que va a decir, Polo,
durante dos segundos.
1000
00:46:23,740 --> 00:46:25,800
>> As que aquellos de ustedes que estn familiarizados
con este juego podra saber
1001
00:46:25,800 --> 00:46:26,460
a dnde va esto.
1002
00:46:26,460 --> 00:46:29,800
Si ahora hago clic en el Muppet naranja,
su programa hace esto.
1003
00:46:29,800 --> 00:46:35,020
Siempre, si la barra de espacio del teclado
suprimida, l va a decir, Marco,
1004
00:46:35,020 --> 00:46:36,580
durante dos segundos en la pantalla.

1005
00:46:36,580 --> 00:46:39,590
Pero tambin va a utilizar este colombfilo
bloque conocido como difusin.
1006
00:46:39,590 --> 00:46:42,270
l va a emitir cita
Lo dijeron ellos, "event".
1007
00:46:42,270 --> 00:46:47,540
>> Mientras tanto, el chico de color azul, el recuerdo, es
escuchando, entre comillas, "event".
1008
00:46:47,540 --> 00:46:50,760
As que de alguna manera, ahora, podemos tener
dos sprites que interactan.
1009
00:46:50,760 --> 00:46:53,790
Y cuando lleguemos a la programacin web,
ms tarde en el trmino, como lo ser este
1010
00:46:53,790 --> 00:46:58,320
ser ventajoso tener su sitio web
hacer algo en respuesta a, por
1011
00:46:58,320 --> 00:47:00,130
ejemplo, un clic del teclado.
1012
00:47:00,130 --> 00:47:02,120
>> As que djame ir adelante y
pulsa la barra espaciadora.
1013
00:47:02,120 --> 00:47:04,020
Chico de Orange dice Marco.
1014
00:47:04,020 --> 00:47:05,840
El individuo azul dice Polo.
1015
00:47:05,840 --> 00:47:10,780
Si lo hago de nuevo tipo de naranja dice
Marco, azul chico dice polo.
1016
00:47:10,780 --> 00:47:14,130
As que vamos a echar un paso ms all.
1017
00:47:14,130 --> 00:47:18,790
Esta vez, vamos a ir, probablemente,
slo unos pocos minutos ms aqu.

1018
00:47:18,790 --> 00:47:19,904
Tenemos 1019
00:47:19,904 --> 00:47:22,380
lmpara de escritorio, vamos hacia abajo.
1020
00:47:22,380 --> 00:47:24,500
Ests justo en el final.
1021
00:47:24,500 --> 00:47:25,740
Aceptar, puede tanto subir.
1022
00:47:25,740 --> 00:47:26,990
Tenemos las lmparas de escritorio para todos.
1023
00:47:26,990 --> 00:47:28,360
Vamos.
1024
00:47:28,360 --> 00:47:30,090
No s si podemos mantener
este gag ridculo hasta
1025
00:47:30,090 --> 00:47:32,035
todo el semestre, sin embargo.
1026
00:47:32,035 --> 00:47:33,530
Muy bien, vamos hacia abajo.
1027
00:47:33,530 --> 00:47:40,260
>> Y mientras tanto, tenemos la
siguiendo los ejemplos de arrancar, slo para
1028
00:47:40,260 --> 00:47:45,370
acelerar las cosas ahora, de tal manera que nos
tener una manifestacin de otro
1029
00:47:45,370 --> 00:47:48,360
predecesor suyo utilizando el
mismos bloques de construccin bsicos.
1030
00:47:48,360 --> 00:47:48,975
Cmo te llamas?
1031
00:47:48,975 --> 00:47:49,240
>> JOHN: John.

1032
00:47:49,240 --> 00:47:49,770
>> DAVID MALAN: John.
1033
00:47:49,770 --> 00:47:50,400
Encantado de que te.
1034
00:47:50,400 --> 00:47:50,650
Y?
1035
00:47:50,650 --> 00:47:51,250
>> SETZ: Setz.
1036
00:47:51,250 --> 00:47:53,130
>> DAVID MALAN: Setz, amable conmigo usted.
1037
00:47:53,130 --> 00:47:54,820
John, si desea venir
primero, se trata de un viejo
1038
00:47:54,820 --> 00:47:55,910
juego de la escuela llamado Frogger.
1039
00:47:55,910 --> 00:47:57,530
El teclado se utiliza para esto tambin.
1040
00:47:57,530 --> 00:48:02,425
Y el objetivo es llegar al otro lado
la calle y el agua.
1041
00:48:02,425 --> 00:48:12,700
>> [MSICA Y SONIDO FROGGER JUEGOS]
1042
00:48:12,700 --> 00:48:14,970
>> DAVID MALAN: Lo siento, no hay
lmpara de escritorio para usted hoy.
1043
00:48:14,970 --> 00:48:19,110
Muy bien, Setz, verdad
gustara venir en un mximo?
1044
00:48:19,110 --> 00:48:20,890
Muy bien, vamos a hacerlo de nuevo.
1045
00:48:20,890 --> 00:48:21,430
>> SETZ: Utilizo las flechas?

1046
00:48:21,430 --> 00:48:22,360
>> DAVID MALAN: Slo las teclas de flecha.
1047
00:48:22,360 --> 00:48:23,624
Arriba, abajo, izquierda, derecha.
1048
00:48:23,624 --> 00:48:35,700
>> [MSICA Y SONIDO FROGGER JUEGOS]
1049
00:48:35,700 --> 00:48:37,880
>> DAVID MALAN: Los llamaremos
accsits hoy,
1050
00:48:37,880 --> 00:48:38,950
entonces, muy bien hecho.
1051
00:48:38,950 --> 00:48:40,690
En este caso, para los dos, Juan y Setz.
1052
00:48:40,690 --> 00:48:41,940
Felicitaciones, est bien.
1053
00:48:41,940 --> 00:48:46,720
1054
00:48:46,720 --> 00:48:50,620
As que de nuevo, ya que este juego se juega,
pensar en lo que est pasando?
1055
00:48:50,620 --> 00:48:52,060
>> Uno, claramente hay una gran cantidad de movimiento.
1056
00:48:52,060 --> 00:48:55,220
Pero hemos visto cmo, con el gato y el
ejemplo aves, cmo se puede hacer el
1057
00:48:55,220 --> 00:48:58,350
ilusin del movimiento, con slo mover un poco
nmero de pxeles y otra vez.
1058
00:48:58,350 --> 00:49:00,280
Y si usted tiene un bloque para siempre,
usted podra tener estos
1059
00:49:00,280 --> 00:49:02,120
coches haciendo esto para siempre.

1060
00:49:02,120 --> 00:49:03,720
Tenemos la capacidad de
tener algo de aleatoriedad.
1061
00:49:03,720 --> 00:49:06,310
As que este juego no tiene que ser
exactamente lo mismo cada vez.
1062
00:49:06,310 --> 00:49:09,940
Esos registros, los coches, pueden empezar a
ligeramente diferentes para que el
1063
00:49:09,940 --> 00:49:12,690
juego en s es ms interesante
con cada juego.
1064
00:49:12,690 --> 00:49:15,320
>> Y mientras tanto, hemos visto la capacidad
para escuchar a la barra de espacio.
1065
00:49:15,320 --> 00:49:18,830
Pero es evidente que, en Scratch, puede tambin
escuchar para arriba, abajo, izquierda, derecha, y
1066
00:49:18,830 --> 00:49:20,760
Realmente cualquier tecla del teclado.
1067
00:49:20,760 --> 00:49:22,200
Y tambin se puede hacer otras cosas.
1068
00:49:22,200 --> 00:49:24,660
Djenme seguir adelante y volver
a la versin web.
1069
00:49:24,660 --> 00:49:30,280
>> Djame ir a nuestra coleccin
de ejemplos.
1070
00:49:30,280 --> 00:49:36,120
Y bajo mi estudio, de vdeo que
es, esencialmente, una en la carpeta
1071
00:49:36,120 --> 00:49:37,780
scratch.mit.edu.
1072
00:49:37,780 --> 00:49:39,710

Tenemos las versiones web de


todos estos proyectos.
1073
00:49:39,710 --> 00:49:42,530
Y vamos a ver si puedo conseguir mi
ordenador a cooperar aqu.
1074
00:49:42,530 --> 00:49:47,180
Esto est escrito por uno de nuestros amigos
en el MIT, llamado Mover la mariposa.
1075
00:49:47,180 --> 00:49:50,250
>> Y una vez que esto se abre, se trata de
va a usar en realidad ms de
1076
00:49:50,250 --> 00:49:51,430
hardware de mi ordenador.
1077
00:49:51,430 --> 00:49:53,325
Rasguo pasa a ser implementado
con Flash.
1078
00:49:53,325 --> 00:49:56,250
Flash puede hablar con su webcam,
si usted tiene uno.
1079
00:49:56,250 --> 00:50:00,210
As que si sigo adelante y pantalla completa este
aqu, haga clic en la bandera verde, el aviso
1080
00:50:00,210 --> 00:50:02,530
ese mensaje de seguridad del flash
es decir, es lo que quieres
1081
00:50:02,530 --> 00:50:04,210
permitir usar mi webcam?
1082
00:50:04,210 --> 00:50:05,510
>> Normalmente, usted debe
probablemente dira Denegar.
1083
00:50:05,510 --> 00:50:07,180
Pero en este caso, vamos a decir lo permitan.
1084
00:50:07,180 --> 00:50:10,430
Entonces yo voy a decir Chrome
para permitir que esto tambin.

1085
00:50:10,430 --> 00:50:15,010
Y ahora, en un momento,
me ves, s, yo.
1086
00:50:15,010 --> 00:50:18,154
Y si mi mano sube 1087
00:50:18,154 --> 00:50:20,390
Tengo que no mover mi
cabeza al mismo tiempo.
1088
00:50:20,390 --> 00:50:21,740
Tambin hay una reflexin
en la pantalla.
1089
00:50:21,740 --> 00:50:23,480
Vamos, ah vamos 1090
00:50:23,480 --> 00:50:27,616
se puede mover en la pantalla porque
tambin hay rompecabezas de piezas - oh,
1091
00:50:27,616 --> 00:50:31,640
s lo que es, es porque tambin
ver la pantalla del proyector detrs de m.
1092
00:50:31,640 --> 00:50:33,870
As que tenemos un poco de infinito
algo pasa ah.
1093
00:50:33,870 --> 00:50:36,470
>> Muy bien, as que voy a jugar aqu.
1094
00:50:36,470 --> 00:50:37,220
Eso es.
1095
00:50:37,220 --> 00:50:41,310
As tambin hay una pieza del rompecabezas que
dice, cuando usted ve el movimiento por debajo de
1096
00:50:41,310 --> 00:50:45,470
uno de los sprites, usted puede tener que ir
arriba, abajo, izquierda, derecha o similares.
1097
00:50:45,470 --> 00:50:48,950
As que tenemos un poco de la realidad virtual
pasando aqu tambin, todo dentro de la

1098
00:50:48,950 --> 00:50:52,570
confines de mi navegador, simplemente
Entre aqu usando mi webcam.
1099
00:50:52,570 --> 00:50:53,980
Cul es entonces en el horizonte.
1100
00:50:53,980 --> 00:50:58,350
El primer conjunto de problemas, como se ver,
o el sitio web estar en lnea ms adelante
1101
00:50:58,350 --> 00:51:01,100
esta noche en cs50.net, es bastante
hay mucho que hacer para ser un final abierto.
1102
00:51:01,100 --> 00:51:04,410
Y poner en prctica un proyecto de Scratch
de inters para usted, un juego, una
1103
00:51:04,410 --> 00:51:08,350
interaccin, algo artstico, y
el reto de utilizar cualquier nmero
1104
00:51:08,350 --> 00:51:09,660
de estas piezas del rompecabezas.
1105
00:51:09,660 --> 00:51:11,580
Y puede ser o bien interactivo
de esta manera.
1106
00:51:11,580 --> 00:51:15,470
O puede ser algo ms deliberadamente
hecho de contar una historia.
1107
00:51:15,470 --> 00:51:19,200
>> Y, de hecho, ah es donde vamos a terminar fuera
hoy, con un ltimo ejemplo.
1108
00:51:19,200 --> 00:51:21,290
Djame ir a los araazos localmente.
1109
00:51:21,290 --> 00:51:25,300
Djenme seguir adelante y abrir esto, y juego
un ltimo programa escrito por uno
1110
00:51:25,300 --> 00:51:29,795

de sus predecesores, a saber,


que uno aqu.
1111
00:51:29,795 --> 00:51:32,960
1112
00:51:32,960 --> 00:51:35,938
Bueno, suba el volumen para ste.
1113
00:51:35,938 --> 00:52:53,770
>> [REPRODUCCIN DE MSICA]
1114
00:52:53,770 --> 00:52:57,255
>> NARRADOR: En la prxima CS50, David
invita a un voluntario en el escenario.
1115
00:52:57,255 --> 00:52:58,636
>> DAVID MALAN: Para esta demostracin,
vamos a necesitar un voluntario.
1116
00:52:58,636 --> 00:53:01,050
Le gustara que vamos hacia abajo?
1117
00:53:01,050 --> 00:53:02,300
Cmo te llamas?
1118
00:53:02,300 --> 00:53:05,320
1119
00:53:05,320 --> 00:53:06,570
Cambiando de tema.
1120
00:53:06,570 --> 00:53:08,394

You might also like