1 00:00:00,000 --> 00:00:10,980 >> [REPRODUCCIÓN DE MÚSICA] 2 00:00:10,980 --> 00:00:13,260 >> -Está Bien! 3 00:00:13,260 --> 00:00:16,400 >> : Este es CS50. 4 00:00:16,400 --> 00:00:18,220 >> : Este es CS50. 5 00:00:18,220 --> 00:00:19,324 >> : Este es CS50. 6 00:00:19,324 --> 00:00:20,615 [MÚSICA - IGGY AZALEA, "LUJO"] 7 00:00:20,615 --> 00:00:29,925 8 00:00:29,925 --> 00:00:33,570 >> -Mi Recuerdo favorito de CS50 fue cuando me fui a Puzzle Day. 9 00:00:33,570 --> 00:00:35,797 >> -Probablemente El momento dedicado a trabajar en los boletines de problemas 10 00:00:35,797 --> 00:00:38,630 con mis amigos y la gente que Wold eventualmente convertirse en mis blockmates. 11 00:00:38,630 --> 00:00:40,421 >> -Mi Mejor recuerdo de CS50 es el hackathon. 12 00:00:40,421 --> 00:00:41,630 -El CS50 hackathon. 13 00:00:41,630 --> 00:00:42,130 >> -Hackathon. 14 00:00:42,130 --> 00:00:42,800 >> -Hackathon. 15 00:00:42,800 --> 00:00:43,300 -Hackathon. 16 00:00:43,300 --> 00:00:43,883 -El Hackathon 17 00:00:43,883 --> 00:00:45,027 -Rob Bowden. 18 00:00:45,027 --> 00:00:46,110 Justo todo lo relacionado con él. 19 00:00:46,110 --> 00:00:47,401 >> [MÚSICA - IGGY AZALEA, "LUJO"] 20 00:00:47,401 --> 00:00:56,790 21 00:00:56,790 --> 00:01:02,512 >> -Mi Mejor recuerdo es cuando yo estaba en escenario y yo jugamos el papel de prestigio 22 00:01:02,512 --> 00:01:04,220 de un nodo de [? en el Linked?] [? Lista. ?] 23 00:01:04,220 --> 00:01:08,470 >> -Cuando Todos tenemos espacio libre Dropbox y David era como, mira debajo de sus asientos. 24 00:01:08,470 --> 00:01:10,520 Y fue como, espacio para todo el mundo! 25 00:01:10,520 --> 00:01:11,811 >> [MÚSICA - IGGY AZALEA, "LUJO"] 26 00:01:11,811 --> 00:01:20,940 27 00:01:20,940 --> 00:01:22,830 >> Consejos -Mi para cualquier estudiante entrante haría 28 00:01:22,830 --> 00:01:26,170 ser trabajar realmente en P-juegos con los amigos. 29 00:01:26,170 --> 00:01:27,960 >> Horas -Oficina es muy su amigo. 30 00:01:27,960 --> 00:01:30,870 >> -Hacer La mayor parte de su experiencia y conocer a tantas personas como sea posible. 31 00:01:30,870 --> 00:01:32,390 >> No seas miedo de pedir ayuda. 32 00:01:32,390 --> 00:01:33,890 -Empezar Los P-conjuntos de principios de la semana. 33 00:01:33,890 --> 00:01:36,723 -Creo Que lo más importante es que tomar ventaja de todos los recursos 34 00:01:36,723 --> 00:01:37,950 que tiene CS50. 35 00:01:37,950 --> 00:01:39,960 >> -ir A las horas de oficina a principios de semana. 36 00:01:39,960 --> 00:01:41,430 >> -Definitivamente Ver los cortos. 37 00:01:41,430 --> 00:01:42,989 >> -No Posponer las cosas en sus P-sets. 38 00:01:42,989 --> 00:01:45,780 Hacé click aquí para asegurarse de que encontrar un gran grupo de personas para trabajar en P-sets con. 39 00:01:45,780 --> 00:01:48,530 Usted puede tener un montón de diversión y realizar su trabajo juntos. 40 00:01:48,530 --> 00:01:50,370 >> No seas miedo de empujar a ti mismo. 41 00:01:50,370 --> 00:01:52,080 Ir a la edición de hackers a veces. 42 00:01:52,080 --> 00:01:55,410 >> Cosas -Escribir en el papel antes de vuelves a tocar el equipo. 43 00:01:55,410 --> 00:01:58,380 >> -CS50 Es realmente grande en proporcionando maneras de obtener ayuda. 44 00:01:58,380 --> 00:02:01,134 >> -Mi Un consejo es dormir. 45 00:02:01,134 --> 00:02:02,050 ¿Alguien ha dicho eso? 46 00:02:02,050 --> 00:02:04,100 Sueño, seguro. 47 00:02:04,100 --> 00:02:08,919 Es fácil no hacer, pero tienes que hacerlo, creo. 48 00:02:08,919 --> 00:02:12,982 >> -diría Que realmente esté preparado mentalmente porque usted va a encantar. 49 00:02:12,982 --> 00:02:14,273 [MÚSICA - IGGY AZALEA, "LUJO"] 50 00:02:14,273 --> 00:02:17,750 51 00:02:17,750 --> 00:02:18,940 >> : Este es CS50. 52 00:02:18,940 --> 00:02:22,090 53 00:02:22,090 --> 00:02:23,066 >> : Este es CS50. 54 00:02:23,066 --> 00:02:26,400 55 00:02:26,400 --> 00:02:26,989 >> : Este es CS50. 56 00:02:26,989 --> 00:02:28,280 [MÚSICA - IGGY AZALEA, "LUJO"] 57 00:02:28,280 --> 00:02:31,290 58 00:02:31,290 --> 00:02:31,964 >> : Este es CS50. 59 00:02:31,964 --> 00:02:36,020 60 00:02:36,020 --> 00:02:42,270 >> [Aplausos] 61 00:02:42,270 --> 00:02:46,040 >> DAVID J. MALAN: Así que esto es CS50 y este es el final de la Semana 0. 62 00:02:46,040 --> 00:02:48,770 Y eso era sólo algunas del personal del CS50 que 63 00:02:48,770 --> 00:02:51,100 esperar que no sólo en las secciones y las horas de oficina, pero, 64 00:02:51,100 --> 00:02:54,390 También, este fin de semana en CS50 Puzzle Day. 65 00:02:54,390 --> 00:02:56,410 Lo cual, de nuevo, no es todo acerca de la programación. 66 00:02:56,410 --> 00:02:59,710 De hecho, se espera que no tendrá que programar nada, 67 00:02:59,710 --> 00:03:03,780 sino resolver problemas utilizando ingenio y amigos junto a usted. 68 00:03:03,780 --> 00:03:06,400 >> Estaremos unidos por alguna de nuestros amigos de Facebook-- 69 00:03:06,400 --> 00:03:08,980 si se registra aquí-- que durante los últimos años, 70 00:03:08,980 --> 00:03:11,450 tienen en realidad estado escribiendo estos desafíos con nosotros. 71 00:03:11,450 --> 00:03:14,822 Y así, ellos serán los que en última instancia, corriendo Puzzle día. 72 00:03:14,822 --> 00:03:17,530 Y así, serás retado precisamente con el tipo de cosas 73 00:03:17,530 --> 00:03:20,520 y problemas que gente de Facebook le gusta pensar. 74 00:03:20,520 --> 00:03:21,860 Así que es mañana. 75 00:03:21,860 --> 00:03:25,980 Regístrese en cs50.harvard.edu/register. 76 00:03:25,980 --> 00:03:28,120 >> Ahora una palabra en un par del personal en particular. 77 00:03:28,120 --> 00:03:30,090 Esto aquí es Ansel Duff, que es en realidad una 78 00:03:30,090 --> 00:03:33,860 de los co-autores de estos binarios bombillas que vimos el miércoles, 79 00:03:33,860 --> 00:03:36,710 además de propio Dan Bradley del CS50. 80 00:03:36,710 --> 00:03:40,094 Ansel Duff también era un ex estudiante de primer año aconsejado mío hace 3 años 81 00:03:40,094 --> 00:03:41,760 y de hecho incluso construyó este atril. 82 00:03:41,760 --> 00:03:45,330 Se ha ido a hacer ciencias de la ingeniería y más. 83 00:03:45,330 --> 00:03:49,279 Ahora, su imagen aquí es en realidad Ansel hace 3 años en el CS50 Hackathon 84 00:03:49,279 --> 00:03:51,820 cuando él pidió prestado uno de nuestro globos, pegado a su computadora portátil, 85 00:03:51,820 --> 00:03:55,240 y, para el próximo 12 de alguna extraña horas, se centró en su proyecto final, 86 00:03:55,240 --> 00:03:59,150 tomar descansos sólo para abrir bolsas de caramelos en la hackathon. 87 00:03:59,150 --> 00:04:02,210 >> Pero continuó, más recientemente, a pasar el verano pasado con nosotros, 88 00:04:02,210 --> 00:04:05,270 desde CS50 para su personal, y ahora los estudiantes este semestre, 89 00:04:05,270 --> 00:04:06,770 tiene su propia impresora 3D. 90 00:04:06,770 --> 00:04:10,180 Y en pocas palabras a las impresoras 3D es un dispositivo que se parece bastante como éste. 91 00:04:10,180 --> 00:04:15,700 Usted llena con un carrete de plástico que se funde por el dispositivo 92 00:04:15,700 --> 00:04:18,940 y construir cosas literalmente de la nada. 93 00:04:18,940 --> 00:04:22,660 Al igual que una impresora de inyección de tinta, se inicia escupir pequeños puntos de plástico 94 00:04:22,660 --> 00:04:24,990 que forma junto a formar objetos integrales. 95 00:04:24,990 --> 00:04:28,430 Y así Ansel por ejemplo, a principios de este verano, tiene un iPhone 5 96 00:04:28,430 --> 00:04:30,722 y decidí que realmente quería para mantenerla sobre su escritorio. 97 00:04:30,722 --> 00:04:32,638 Pero él no quería salir a comprar algo 98 00:04:32,638 --> 00:04:36,030 desde la tienda de Apple o similares, por lo que se sentó y comenzó a dibujar algo. 99 00:04:36,030 --> 00:04:38,280 Dio unos mediciones en cuanto a cómo gruesa 100 00:04:38,280 --> 00:04:41,270 y el ancho de su iPhone era, dibujó esta imagen aquí, 101 00:04:41,270 --> 00:04:43,870 él decidió que quería tener una inclinación de 75 grados 102 00:04:43,870 --> 00:04:46,150 ya que estaba mirando él en su escritorio allí. 103 00:04:46,150 --> 00:04:50,440 Luego se volvió esto, utilizando software, en un modelo CAD 3D 104 00:04:50,440 --> 00:04:52,400 que parecía un poco algo como esto. 105 00:04:52,400 --> 00:04:55,940 Y luego se procedió, en última instancia, para crear realmente. 106 00:04:55,940 --> 00:05:00,250 Así que de hecho, si alguno de ustedes aquí, tal vez consecutivo en que puedo lanzar a, tiene 107 00:05:00,250 --> 00:05:06,780 an-- no tenemos gente con iPhone 5, y aquí tenemos dos más. 108 00:05:06,780 --> 00:05:10,650 109 00:05:10,650 --> 00:05:17,037 >> Ahora, para no ser menos, CS50 propia Cheng Gong también se propuso este verano 110 00:05:17,037 --> 00:05:19,870 para construir un buen número de cosas y, De hecho, por razones que todavía están 111 00:05:19,870 --> 00:05:23,970 claro, ha sido lentamente impresión de un ejército de elefantes 112 00:05:23,970 --> 00:05:27,250 con brazos articulados y troncos. 113 00:05:27,250 --> 00:05:32,515 Un par de los cuales son en realidad aquí si alguien ahora como-- un elefante. 114 00:05:32,515 --> 00:05:35,650 115 00:05:35,650 --> 00:05:40,522 Bien,. pero lo que Cheng también hizo para nosotros es él muy amablemente creó una cámara 116 00:05:40,522 --> 00:05:42,230 porque ese elefante, lo creas o no, 117 00:05:42,230 --> 00:05:44,690 toma un poco de dos y un horas y media para imprimir. 118 00:05:44,690 --> 00:05:47,840 Incluso el stand iPhone tomó una hora y media para imprimir. 119 00:05:47,840 --> 00:05:51,490 Y lo que Cheng siguió adelante y lo hizo se creó una buena cámara delante 120 00:05:51,490 --> 00:05:55,580 de esta impresora 3D, filmado por una hora y un medio como el diseño de Ansel impreso. 121 00:05:55,580 --> 00:05:58,090 Nos sobrepusimos algunos sexy música a la misma con el fin 122 00:05:58,090 --> 00:06:00,570 para darle esto a mirar cómo funciona la impresión en 3D. 123 00:06:00,570 --> 00:06:02,494 Y a pesar de que esta es en realidad en plástico, 124 00:06:02,494 --> 00:06:05,160 darse cuenta de que si se trata de un área de su interés académico, 125 00:06:05,160 --> 00:06:07,120 hay gente, entre ellos Jennifer Lewis aquí 126 00:06:07,120 --> 00:06:09,036 en la Escuela de Ingeniería, que son en realidad 127 00:06:09,036 --> 00:06:10,920 trabajando en la impresión 3D objetos de plástico. 128 00:06:10,920 --> 00:06:14,150 Pero incluso, cada vez más, materiales biológicos para resolver 129 00:06:14,150 --> 00:06:16,530 problemas fisiológicos de los seres humanos. 130 00:06:16,530 --> 00:06:19,944 Pero aquí hay un poco de algo de CS50. 131 00:06:19,944 --> 00:06:31,625 >> [LOUD MECÁNICA RUIDOS] 132 00:06:31,625 --> 00:06:34,250 DAVID J. MALAN: No suena nada de eso en la realidad, 133 00:06:34,250 --> 00:06:37,240 pero es mucho más fresco que verlo a esa velocidad, y con ese sonido. 134 00:06:37,240 --> 00:06:40,000 >> Ahora, el miércoles, cómo hicimos primero llegado hasta aquí? 135 00:06:40,000 --> 00:06:43,345 Empezamos a hablar de la computadora las ciencias y nos preguntaron de qué se trataba. 136 00:06:43,345 --> 00:06:46,470 Y se trata de una serie de cosas, y hay tantas direcciones diferentes 137 00:06:46,470 --> 00:06:48,477 en el que usted puede dirigirse después de un curso como CS50. 138 00:06:48,477 --> 00:06:50,810 De hecho, si usted tomó una de esas guías no oficiales 139 00:06:50,810 --> 00:06:54,080 al exterior CS, el folleto que hemos proporcionado, si eres 140 00:06:54,080 --> 00:06:57,150 pensando en tomar sólo CS50, o tal vez haciendo un secundario, 141 00:06:57,150 --> 00:06:59,557 o tal vez incluso para concentrarse en CS, no voltear a través de eso. 142 00:06:59,557 --> 00:07:01,390 Y verás un diagrama hacia el final que 143 00:07:01,390 --> 00:07:04,950 que muestra las muchas direcciones diferentes en CS que se puede ir en. 144 00:07:04,950 --> 00:07:09,030 >> Pero por hoy, nos centraremos, de nuevo, en Realmente uno de los puntos de vista fundamentales, 145 00:07:09,030 --> 00:07:11,500 tal vez, donde usted tiene entradas a los problemas, 146 00:07:11,500 --> 00:07:13,430 Tiene salidas de problemas, y que tienen 147 00:07:13,430 --> 00:07:17,420 algoritmos con los que crear esas salidas de esos insumos. 148 00:07:17,420 --> 00:07:20,330 Y un ejemplo de ello, era de Por supuesto, este libro de teléfono aquí. 149 00:07:20,330 --> 00:07:24,180 Y hemos utilizado como ejemplo para ir a través de un algoritmo que era correcto. 150 00:07:24,180 --> 00:07:26,490 Y luego había otro correcta, pero un poco más rápido. 151 00:07:26,490 --> 00:07:29,448 Y luego otro que era un poco más dramático, pero fundamentalmente 152 00:07:29,448 --> 00:07:30,000 más rápido. 153 00:07:30,000 --> 00:07:32,720 >> Cierto, este libro de teléfono reclamado tenía cerca de 1.000 páginas. 154 00:07:32,720 --> 00:07:36,200 Y ¿cuántas veces tomó tengo para desgarrar la guía telefónica en medio 155 00:07:36,200 --> 00:07:39,930 encontrar a alguien como Mike Smith, como máximo, en 1000 la página del libro? 156 00:07:39,930 --> 00:07:41,040 Así, 10 más o menos. 157 00:07:41,040 --> 00:07:45,050 Y lo que una vez me rompí esta cosa en medio, o simplemente, con mayor madurez, 158 00:07:45,050 --> 00:07:48,490 dividido por la mitad, es sólo 10 páginas de cada 1.000. 159 00:07:48,490 --> 00:07:51,470 Y si extrapolamos, un poco poco realista para una libreta de teléfonos, 160 00:07:51,470 --> 00:07:56,540 pero si este libro teléfono tenía unos 4 miles de millones de páginas en el mismo, de manera tan completa 161 00:07:56,540 --> 00:07:59,680 difícil de manejar físicamente, ¿cuántos veces no se dividen un 4 mil millones 162 00:07:59,680 --> 00:08:01,460 página del libro de teléfono a la mitad? 163 00:08:01,460 --> 00:08:03,035 Así que en realidad es de 32 años, más o menos. 164 00:08:03,035 --> 00:08:07,090 Y así 32 veces única, fuera de 4 mil millones de páginas, puede 165 00:08:07,090 --> 00:08:08,700 a encontrar a alguien como Mike Smith. 166 00:08:08,700 --> 00:08:09,740 Y eso es eficiencia. 167 00:08:09,740 --> 00:08:12,130 Eso es un buen algoritmo, diría. 168 00:08:12,130 --> 00:08:14,480 >> Pero luego nos mudamos de que para tratar de formalizarlo. 169 00:08:14,480 --> 00:08:16,100 Y me propuse este código pseudocódigo. 170 00:08:16,100 --> 00:08:17,800 Código Pseudocódigo no es nada formal. 171 00:08:17,800 --> 00:08:18,880 No es algo a memorizar. 172 00:08:18,880 --> 00:08:21,588 Es algo que usted expresa bastante intuitiva utilizando Inglés, 173 00:08:21,588 --> 00:08:24,990 o cualquier lenguaje de verdad, que transmite sus ideas de manera sucinta. 174 00:08:24,990 --> 00:08:26,990 Pero lo que es clave sobre código pseudocódigo es que usted 175 00:08:26,990 --> 00:08:30,331 tratar de anticipar toda la posibles casos que pueden ocurrir. 176 00:08:30,331 --> 00:08:33,080 Y, en efecto, en este pseudocódigo código, había realmente tres casos 177 00:08:33,080 --> 00:08:34,700 cada vez que divide la guía telefónica. 178 00:08:34,700 --> 00:08:36,006 Mike podría estar a la izquierda. 179 00:08:36,006 --> 00:08:37,130 Mike podría estar a la derecha. 180 00:08:37,130 --> 00:08:39,240 O puede que tenga razón en la página que estoy. 181 00:08:39,240 --> 00:08:42,110 O un cuarto caso de la esquina, por así decirlo. 182 00:08:42,110 --> 00:08:46,470 Una mala situación podría ser aquella de las cuales: lo que está sucediendo? 183 00:08:46,470 --> 00:08:48,860 Mike no es sólo en la guía telefónica en absoluto. 184 00:08:48,860 --> 00:08:52,720 >> Y cuando los programas crash-- cuando Mac y software para PC que ustedes RUN 185 00:08:52,720 --> 00:08:56,400 en los equipos a veces cuelga o se cierra inesperadamente, 186 00:08:56,400 --> 00:08:59,770 eso significa generalmente que algunos programador, algún humano como usted pronto, 187 00:08:59,770 --> 00:09:01,650 simplemente jodido y cometido algún error. 188 00:09:01,650 --> 00:09:05,207 Tal vez no anticipar que tal vez hay hay Mike Smith en la guía telefónica. 189 00:09:05,207 --> 00:09:08,040 Y si en realidad no escribes código para manejar situaciones como esas, 190 00:09:08,040 --> 00:09:09,890 generalmente impredecible cosas pueden suceder. 191 00:09:09,890 --> 00:09:10,960 El equipo puede congelar. 192 00:09:10,960 --> 00:09:11,730 Se puede reiniciar. 193 00:09:11,730 --> 00:09:12,889 El programa puede dejar de fumar. 194 00:09:12,889 --> 00:09:14,722 Y así, todos estos estupideces que usted puede 195 00:09:14,722 --> 00:09:18,030 han encontrado en su real la vida sólo el uso de computadoras, 196 00:09:18,030 --> 00:09:20,710 será cada vez más sólo explicó lejos por esta intuición 197 00:09:20,710 --> 00:09:24,920 y esta comprensión de lo que es realmente está pasando debajo de la capucha. 198 00:09:24,920 --> 00:09:27,329 >> Ahora vamos a tratar de echar un vistazo en un problema más general. 199 00:09:27,329 --> 00:09:29,120 En lugar de tomar asistencia en un lugar como 200 00:09:29,120 --> 00:09:32,230 esto, que sería bastante lento hacer una, dos, tres, cuatro. 201 00:09:32,230 --> 00:09:34,070 O tal vez dos, cuatro, seis, ocho. 202 00:09:34,070 --> 00:09:36,080 Vamos a centrarnos, en cambio, en cómo podríamos formalizar 203 00:09:36,080 --> 00:09:39,400 el algoritmo del proceso por que podríamos tomar asistencia. 204 00:09:39,400 --> 00:09:42,290 Y en el camino, vamos a empezar aplicar un poco de nomenclatura 205 00:09:42,290 --> 00:09:47,130 que vamos a utilizar hoy cuando en realidad empezar a programar en un lenguaje. 206 00:09:47,130 --> 00:09:50,910 Así que te doy ahora, un video cuatro minutos que armamos con nuestros amigos 207 00:09:50,910 --> 00:09:52,820 de TED, la organización. 208 00:09:52,820 --> 00:09:56,380 Por lo cual hemos suministrado un guión y trajeron sus animadores de soportar, 209 00:09:56,380 --> 00:10:00,970 y en realidad creado un 2D animación de lo que es un algoritmo. 210 00:10:00,970 --> 00:10:02,776 Si pudiéramos apagar las luces. 211 00:10:02,776 --> 00:10:06,664 >> [REPRODUCCIÓN DE MÚSICA] 212 00:10:06,664 --> 00:10:17,890 213 00:10:17,890 --> 00:10:19,140 NARRADOR: ¿Qué es un algoritmo? 214 00:10:19,140 --> 00:10:21,620 En ciencias de la computación, un algoritmo es un conjunto 215 00:10:21,620 --> 00:10:24,840 instrucciones de resolver algún paso a paso problema. 216 00:10:24,840 --> 00:10:27,310 Típicamente, los algoritmos son ejecutado por los ordenadores, 217 00:10:27,310 --> 00:10:29,365 pero nosotros los humanos tenemos algoritmos también. 218 00:10:29,365 --> 00:10:31,240 Por ejemplo, ¿cómo vas de contar 219 00:10:31,240 --> 00:10:32,990 el número de personas en una habitación? 220 00:10:32,990 --> 00:10:36,840 Bueno, si eres como yo, lo que probablemente apuntar a cada persona de uno en uno 221 00:10:36,840 --> 00:10:38,370 y contar a partir de cero. 222 00:10:38,370 --> 00:10:41,200 Uno, dos, tres, cuatro, y así sucesivamente. 223 00:10:41,200 --> 00:10:42,410 Bueno, eso es un algoritmo. 224 00:10:42,410 --> 00:10:45,820 De hecho, vamos a tratar de expresar una poco más formalmente en código pseudocódigo. 225 00:10:45,820 --> 00:10:48,940 Sintaxis Inglés-así se asemeja a un lenguaje de programación. 226 00:10:48,940 --> 00:10:50,880 >> Sea n igual a 0. 227 00:10:50,880 --> 00:10:55,210 Por cada persona en la habitación, establecer n igual a n más 1. 228 00:10:55,210 --> 00:10:56,790 ¿Cómo interpretar el pseudocódigo? 229 00:10:56,790 --> 00:10:59,490 Bueno línea uno declara, por así decirlo, una variable 230 00:10:59,490 --> 00:11:02,880 llamado n e inicializa su valor a 0 Esto sólo 231 00:11:02,880 --> 00:11:05,080 significa que en el a partir de nuestro algoritmo, 232 00:11:05,080 --> 00:11:07,910 la cosa con la que estamos conteo tiene un valor de 0. 233 00:11:07,910 --> 00:11:10,860 Después de todo, antes de empezar a contar no hemos contado nada. 234 00:11:10,860 --> 00:11:13,580 Llamar a esta variable n es sólo una convención. 235 00:11:13,580 --> 00:11:15,130 Yo podría haber llamado más nada. 236 00:11:15,130 --> 00:11:17,460 Ahora alinee dos deMarks el inicio de un bucle, 237 00:11:17,460 --> 00:11:20,550 una secuencia de pasos que repetir un número de veces. 238 00:11:20,550 --> 00:11:24,130 Así, en nuestro ejemplo, el paso que estamos toma está contando la gente en la sala. 239 00:11:24,130 --> 00:11:26,260 Debajo de la línea dos es la línea tres que describe 240 00:11:26,260 --> 00:11:28,400 exactamente cómo vamos a ir de contar. 241 00:11:28,400 --> 00:11:31,720 La indentación que implica es la línea de tres que se repetirá. 242 00:11:31,720 --> 00:11:35,190 Así que con el código pseudocódigo es dicho es que después de comenzar a 0 243 00:11:35,190 --> 00:11:38,940 para cada persona en el habitación aumentaremos n por 1 244 00:11:38,940 --> 00:11:41,310 Ahora es correcto este algoritmo? 245 00:11:41,310 --> 00:11:42,820 Bueno, vamos a golpear un poco. 246 00:11:42,820 --> 00:11:45,520 >> ¿Funciona si hay dos personas en la habitación? 247 00:11:45,520 --> 00:11:46,420 Vamos a ver. 248 00:11:46,420 --> 00:11:48,500 En la línea uno inicializamos n a 0. 249 00:11:48,500 --> 00:11:51,910 Para cada una de estas dos personas, entonces incrementamos n por 1. 250 00:11:51,910 --> 00:11:55,570 Así que en el primer viaje a través de la bucle, actualizamos n de 0 a 1. 251 00:11:55,570 --> 00:11:59,320 En el segundo viaje a través de ese mismo bucle, actualizamos n desde 1 hasta 2. 252 00:11:59,320 --> 00:12:02,850 Y así, por este algoritmo de final, n es 2, que 253 00:12:02,850 --> 00:12:04,950 de hecho coincide con el número de personas en la habitación. 254 00:12:04,950 --> 00:12:06,040 Hasta ahora, todo bien. 255 00:12:06,040 --> 00:12:07,870 >> ¿Qué tal un caso esquina sin embargo? 256 00:12:07,870 --> 00:12:11,090 Supongamos que hay 0 personas en el habitación-- además de mí, ¿quién es 257 00:12:11,090 --> 00:12:12,420 haciendo el recuento. 258 00:12:12,420 --> 00:12:15,380 En la línea uno, volvemos a inicializamos n a 0. 259 00:12:15,380 --> 00:12:17,810 Esta vez, sin embargo, la línea tres no se ejecuta en absoluto 260 00:12:17,810 --> 00:12:19,610 ya que no es una persona en la habitación. 261 00:12:19,610 --> 00:12:23,540 Y así sigue siendo n 0, lo que coincide de hecho el número de personas en la habitación. 262 00:12:23,540 --> 00:12:24,670 Bastante simple, ¿verdad? 263 00:12:24,670 --> 00:12:27,880 Pero contar personas de uno en uno es bastante ineficiente, demasiado, ¿no? 264 00:12:27,880 --> 00:12:29,160 Seguro que podemos hacerlo mejor. 265 00:12:29,160 --> 00:12:33,440 ¿Por qué no contar con dos personas a la vez, en lugar de contar uno, dos, tres, 266 00:12:33,440 --> 00:12:36,470 cuatro, cinco, seis, siete, ocho, y así sucesivamente. 267 00:12:36,470 --> 00:12:39,106 ¿Por qué no contar con dos, cuatro, seis, ocho, y así sucesivamente? 268 00:12:39,106 --> 00:12:40,670 Incluso suena más rápido. 269 00:12:40,670 --> 00:12:41,940 Y seguramente lo es. 270 00:12:41,940 --> 00:12:44,490 >> Vamos a expresar esta optimización en código pseudocódigo. 271 00:12:44,490 --> 00:12:46,040 Sea n igual a 0. 272 00:12:46,040 --> 00:12:50,760 Para cada par de personas en habitación, coloque n igual a n más 2. 273 00:12:50,760 --> 00:12:52,360 Bastante simple cambio, ¿verdad? 274 00:12:52,360 --> 00:12:56,560 En lugar de contar a las personas de una en una, en vez de eso les contamos de dos en dos. 275 00:12:56,560 --> 00:12:59,240 Este algoritmo de, por lo tanto, dos veces tan rápido como la última. 276 00:12:59,240 --> 00:13:00,530 Pero, ¿es correcto? 277 00:13:00,530 --> 00:13:01,160 Vamos a ver. 278 00:13:01,160 --> 00:13:03,580 ¿Funciona si hay dos personas en la habitación? 279 00:13:03,580 --> 00:13:05,800 En la línea uno, inicializamos n a 0. 280 00:13:05,800 --> 00:13:09,160 Para que un par de personas, entonces incrementamos n por 2. 281 00:13:09,160 --> 00:13:11,910 Y así por este algoritmo de final n es 2, que 282 00:13:11,910 --> 00:13:13,910 de hecho coincide con el número de personas en la habitación. 283 00:13:13,910 --> 00:13:16,610 >> Supongamos a continuación que hay cero personas en la habitación. 284 00:13:16,610 --> 00:13:19,080 En la línea uno inicializamos n a 0. 285 00:13:19,080 --> 00:13:21,260 Como antes, la línea tres no ejecuta todo 286 00:13:21,260 --> 00:13:25,270 ya que no hay ningún par de personas en el cuarto, y así sigue siendo n 0. 287 00:13:25,270 --> 00:13:27,840 Que de hecho coincide con el número de personas en la habitación. 288 00:13:27,840 --> 00:13:30,520 Pero lo que si hay tres personas en la habitación? 289 00:13:30,520 --> 00:13:32,380 ¿Cómo funciona esta tarifa algoritmo? 290 00:13:32,380 --> 00:13:35,710 Vamos a ver, en la línea uno, inicializamos n a 0. 291 00:13:35,710 --> 00:13:39,140 Para un par de esas personas, entonces incrementamos n por 2. 292 00:13:39,140 --> 00:13:40,050 Pero entonces, ¿qué? 293 00:13:40,050 --> 00:13:42,340 No hay otro completo par de personas en la habitación, 294 00:13:42,340 --> 00:13:44,430 así que la línea dos ya no se aplica. 295 00:13:44,430 --> 00:13:48,790 Y así, a finales de este algoritmo, n sigue siendo 2, que no es correcto. 296 00:13:48,790 --> 00:13:52,070 De hecho este algoritmo de dijo ser defectuoso debido a que tiene un error. 297 00:13:52,070 --> 00:13:54,070 >> Vamos con un poco de reparación nuevo código de pseudocódigo. 298 00:13:54,070 --> 00:13:56,110 Sea n igual a 0. 299 00:13:56,110 --> 00:14:00,790 Para cada par de personas en habitación, coloque N igual a n más 2. 300 00:14:00,790 --> 00:14:05,410 Si una persona sigue siendo no apareado, establecer N igual a n más 1. 301 00:14:05,410 --> 00:14:09,340 Para resolver este problema en particular, tenemos introducido en la línea cuatro condiciones, 302 00:14:09,340 --> 00:14:12,120 también conocido como un sucursales, que sólo se ejecuta 303 00:14:12,120 --> 00:14:14,890 si hay una persona que no podían emparejarse con otro. 304 00:14:14,890 --> 00:14:17,140 Y ahora, si hay uno, o tres, 305 00:14:17,140 --> 00:14:21,550 o cualquier número impar de personas en la habitación, este algoritmo ahora contarlos. 306 00:14:21,550 --> 00:14:22,810 ¿Podemos hacerlo mejor? 307 00:14:22,810 --> 00:14:25,890 Bueno, podríamos contar de tres en tres, o cuatro patas, o incluso cinco y diez, 308 00:14:25,890 --> 00:14:29,390 pero más allá de eso, se va a poner un poco difícil de señalar. 309 00:14:29,390 --> 00:14:32,900 >> Al final del día, ya sea ejecutado por los ordenadores o los seres humanos, 310 00:14:32,900 --> 00:14:34,870 algoritmos son sólo un conjunto de instrucciones 311 00:14:34,870 --> 00:14:36,560 con la que para resolver los problemas. 312 00:14:36,560 --> 00:14:38,360 Estas fueron sólo tres. 313 00:14:38,360 --> 00:14:41,860 ¿Qué problema ¿verdad resolver con un algoritmo? 314 00:14:41,860 --> 00:14:44,261 >> DAVID J. MALAN: Así que deliberadamente, un programa muy sencillo, 315 00:14:44,261 --> 00:14:46,260 un algoritmo muy simple, para lograr algo 316 00:14:46,260 --> 00:14:48,280 muy simple, contando el número de personas en la habitación. 317 00:14:48,280 --> 00:14:50,370 >> Pero vamos a desmenuzar algunos de los representante 318 00:14:50,370 --> 00:14:52,870 características aquí que son en realidad va a ser útil incluso cuando 319 00:14:52,870 --> 00:14:54,880 la aplicación de la más complejo de software. 320 00:14:54,880 --> 00:14:58,060 Así, por ejemplo, en esta primera línea, tenemos lo que llamamos la variable, 321 00:14:58,060 --> 00:15:01,040 y del álgebra, eres generalmente familiarizados con x e y 322 00:15:01,040 --> 00:15:02,930 y z veces, y así sucesivamente. 323 00:15:02,930 --> 00:15:05,770 Pero en la programación, variables son todavía, al final del día, 324 00:15:05,770 --> 00:15:06,680 muy similar al. 325 00:15:06,680 --> 00:15:09,910 Pero es quizá más simple de pensar de una variable como sólo un contenedor. 326 00:15:09,910 --> 00:15:13,520 Y, de hecho, que es algún número de bits implementado de alguna manera en tu disco duro 327 00:15:13,520 --> 00:15:16,410 o en la memoria de su computadora, pero más sobre esto en el futuro. 328 00:15:16,410 --> 00:15:17,670 Es sólo un contenedor. 329 00:15:17,670 --> 00:15:20,310 Y si usted dice algo como sea n igual a 0, 330 00:15:20,310 --> 00:15:24,310 bueno eso es como decir que este vidrio tazón aquí n, sólo un nombre arbitrario, 331 00:15:24,310 --> 00:15:26,230 y poner nada en él inicialmente. 332 00:15:26,230 --> 00:15:28,940 Así que el valor de este cuenco en este momento es cero. 333 00:15:28,940 --> 00:15:31,380 Y por supuesto, si usted percibe en una línea subsiguiente, 334 00:15:31,380 --> 00:15:35,070 para incrementar realmente alguna línea de código, como en esta tercera línea de aquí, 335 00:15:35,070 --> 00:15:39,857 por 1, que es como decir cuál es el valor actual de n, es 0, más 1, 336 00:15:39,857 --> 00:15:41,690 poner algo como un mesa de ping pong en aquí. 337 00:15:41,690 --> 00:15:45,140 Ahora el valor de este variable es simplemente 1. 338 00:15:45,140 --> 00:15:50,064 Y se podría extrapolar muy rápidamente, pero ahora es 2, ahora es el 3, y así sucesivamente. 339 00:15:50,064 --> 00:15:51,230 Así que eso es todo, una variable es. 340 00:15:51,230 --> 00:15:53,740 Es un pedazo de almacenamiento para en realidad almacenar algunos datos. 341 00:15:53,740 --> 00:15:55,050 Por ahora es una pelota de ping pong. 342 00:15:55,050 --> 00:15:55,883 No se trata de un número. 343 00:15:55,883 --> 00:15:58,910 Pero podría ser palabras en un diccionario, como el corrector ortográfico 344 00:15:58,910 --> 00:16:02,300 Me referí a el miércoles para uno de los boletines de problemas del año pasado. 345 00:16:02,300 --> 00:16:05,640 >> Ahora, otra idea clave, que de igual forma es bastante intuitivo nos atreveríamos a afirmar 346 00:16:05,640 --> 00:16:06,690 es el de un bucle. 347 00:16:06,690 --> 00:16:08,930 Y el bucle en el proceso de contar todo el mundo 348 00:16:08,930 --> 00:16:12,540 es, por supuesto, hacer lo mismo Lo nuevo y nuevo-- cualquiera 349 00:16:12,540 --> 00:16:14,140 a la vez o dos a la vez. 350 00:16:14,140 --> 00:16:17,690 Y usted puede expresar esto en Inglés, o código de pseudocódigo, en cualquier número de maneras, 351 00:16:17,690 --> 00:16:21,560 pero el uso de la preposición "de" es una manera muy común de hacer eso. 352 00:16:21,560 --> 00:16:24,460 Para cada persona en la habitación, hacer esto. 353 00:16:24,460 --> 00:16:25,350 Una y otra vez. 354 00:16:25,350 --> 00:16:27,700 Y el hecho de que es sangría, línea de tres, 355 00:16:27,700 --> 00:16:29,840 sólo significa que lo que se supone que debes hacer 356 00:16:29,840 --> 00:16:33,490 es la materia que está sangrada por debajo de la línea dos sí. 357 00:16:33,490 --> 00:16:35,590 Sólo una convención humana, pero una común 358 00:16:35,590 --> 00:16:39,010 como veremos en mayor real lenguajes de programación de nivel. 359 00:16:39,010 --> 00:16:41,870 >> Ahora poco más interesante es cuando te metes en un caso esquina. 360 00:16:41,870 --> 00:16:43,970 Por ejemplo, una esquina caso fue cuando hay 361 00:16:43,970 --> 00:16:48,060 eran tres personas, o cinco, o siete, o cualquier número impar de personas en la habitación, 362 00:16:48,060 --> 00:16:51,630 porque hacerlo de dos en dos los frenos finalmente, porque el va 363 00:16:51,630 --> 00:16:54,265 de extrañar a alguien, ya sea en el principio o el final 364 00:16:54,265 --> 00:16:55,390 dependiendo de cómo usted lo hace. 365 00:16:55,390 --> 00:16:59,800 Y así, ahora, tengo esta rama, o condición, si una persona sigue siendo, 366 00:16:59,800 --> 00:17:04,490 a continuación, seguir adelante y tratar de que uno persona solitaria que no recibieron 367 00:17:04,490 --> 00:17:05,690 emparejado con alguien más. 368 00:17:05,690 --> 00:17:09,030 Así que eso es lo que llamaríamos una condición, o una rama. 369 00:17:09,030 --> 00:17:11,500 >> Código Ahora pseudocódigo más en general puede ser 370 00:17:11,500 --> 00:17:13,730 escrito para resolver cualquier número de problemas. 371 00:17:13,730 --> 00:17:16,490 Y lo que pensamos que sería mejor hacer aquí es tomar un momento 372 00:17:16,490 --> 00:17:20,089 invitar diremos de CS50 poseer Rob Bowden en el escenario 373 00:17:20,089 --> 00:17:25,040 a hacer venir a dos voluntarios, que no tienen idea de lo que le espera. 374 00:17:25,040 --> 00:17:26,890 Una mano bajó tan pronto como he dicho eso. 375 00:17:26,890 --> 00:17:28,700 ¿Qué tal si en la termina aquí, vamos arriba. 376 00:17:28,700 --> 00:17:33,040 ¿Y qué hay de más lejos de distancia, ¿qué tal forma en la parte posterior. 377 00:17:33,040 --> 00:17:35,200 Fila de atrás, vamos para arriba con las manos en alto. 378 00:17:35,200 --> 00:17:36,475 Muy bien, y ¿cuál es tu nombre? 379 00:17:36,475 --> 00:17:36,960 >> ANITA: Anita. 380 00:17:36,960 --> 00:17:37,655 >> DAVID J. MALAN: Anita. 381 00:17:37,655 --> 00:17:38,613 Bueno, encantado de conocerte. 382 00:17:38,613 --> 00:17:41,010 Permítanme presentarles a Rob Bowden. 383 00:17:41,010 --> 00:17:42,890 Esta es Anita. 384 00:17:42,890 --> 00:17:44,033 ¿Y cuál es su nombre? 385 00:17:44,033 --> 00:17:44,800 >> Kiersten: Kiersten 386 00:17:44,800 --> 00:17:46,020 >> DAVID J. MALAN: Kiersten. 387 00:17:46,020 --> 00:17:49,790 Kiersten, vamos hacia arriba y cumplir con Rob Bowden y Anita. 388 00:17:49,790 --> 00:17:51,036 Encantada de conocerte. 389 00:17:51,036 --> 00:17:52,160 Kiersten: Encantado de conocerte. 390 00:17:52,160 --> 00:17:53,368 DAVID J. MALAN: Muy bien, Rob. 391 00:17:53,368 --> 00:17:54,650 ROB BOWDEN: Encantado de conocerte. 392 00:17:54,650 --> 00:17:55,566 DAVID J. MALAN: Anita. 393 00:17:55,566 --> 00:17:56,520 Kiersten: Hola Anita. 394 00:17:56,520 --> 00:17:58,686 DAVID J. MALAN: ¿Y su varios cientos de compañeros de clase. 395 00:17:58,686 --> 00:18:02,490 Así que, ahora déjame ir adelante y tire hasta un simple programa aquí 396 00:18:02,490 --> 00:18:05,690 en Mac OS que me dejaré realmente apuntar algunas notas hacia abajo. 397 00:18:05,690 --> 00:18:09,570 Y si ustedes quieren a cada uno tomar una posición en una de esas escuelas allí, 398 00:18:09,570 --> 00:18:16,360 déjame ir adelante y comienza una lista de código pseudocódigo, si se quiere. 399 00:18:16,360 --> 00:18:19,970 Y lo que quiero hacer aquí, en última instancia, es el tipo para usted 400 00:18:19,970 --> 00:18:22,470 algunas instrucciones que nuestra los miembros del público son en realidad 401 00:18:22,470 --> 00:18:23,569 va a recitar para nosotros. 402 00:18:23,569 --> 00:18:25,860 Déjame ir por delante y justo cambiar esto a una lista numerada 403 00:18:25,860 --> 00:18:27,720 para que coincida con lo que estábamos haciendo allí. 404 00:18:27,720 --> 00:18:30,990 ¿Y qué voy a hacer con su ayuda, es escribir un programa 405 00:18:30,990 --> 00:18:34,620 en pseudocódigo, con la cual estos chicos van 406 00:18:34,620 --> 00:18:38,150 para implementar un cacahuete mantequilla y mermelada. 407 00:18:38,150 --> 00:18:40,880 Por lo que es tal vez a propósito de mostrar algo que algunos de ustedes 408 00:18:40,880 --> 00:18:44,560 podría haber visto en el Internet por sólo un breve momento molesto. 409 00:18:44,560 --> 00:18:47,650 >> [MÚSICA BUCKEWHEAT MUCHACHOS, "MANTEQUILLA DE MANÍ  JELLY TIME "] 410 00:18:47,650 --> 00:19:08,119 411 00:19:08,119 --> 00:19:08,910 DAVID J. MALAN: OK. 412 00:19:08,910 --> 00:19:10,050 Eso es suficiente. 413 00:19:10,050 --> 00:19:12,690 Así que aquí mientras tanto, tengo un par de Google Glasses que 414 00:19:12,690 --> 00:19:16,500 vamos a poner en propio Rob Bowden del CS50 para ver el mundo a través de sus ojos. 415 00:19:16,500 --> 00:19:19,140 Y haremos nuestro mejor esfuerzo en el post producción a tejer realidad 416 00:19:19,140 --> 00:19:23,100 las imágenes de lo que Rob está viendo Ahora, en esta conferencia real 417 00:19:23,100 --> 00:19:26,420 video con nuestros dos voluntarios junto a él. 418 00:19:26,420 --> 00:19:28,480 Así que lo que voy a hacer es, voy a ser el mecanógrafo. 419 00:19:28,480 --> 00:19:31,849 Tenemos la meta de aquí realmente escribir un programa 420 00:19:31,849 --> 00:19:34,640 con el que hacer, en última instancia, una mantequilla de maní y jalea, 421 00:19:34,640 --> 00:19:37,680 pero estos tres van a comportarse como si fueran ordenadores. 422 00:19:37,680 --> 00:19:40,638 Y los ordenadores, al final del día, son en realidad dispositivos bastante tontos. 423 00:19:40,638 --> 00:19:44,432 Son súper rápido, pero sólo pueden hacer, literalmente, lo que les dicen. 424 00:19:44,432 --> 00:19:46,890 Usted no puede decir simplemente hacer un cacahuete mantequilla y mermelada. 425 00:19:46,890 --> 00:19:48,640 Usted tiene que programar para hacer eso. 426 00:19:48,640 --> 00:19:51,420 Tienes que decirles con precisión lo que debe hacer, 427 00:19:51,420 --> 00:19:54,400 menos las cosas salen horriblemente y, con suerte, divertidamente mal. 428 00:19:54,400 --> 00:19:57,460 >> Así que dicho esto, necesitamos una llamada de salida de la audiencia 429 00:19:57,460 --> 00:19:59,440 por lo que debe intervenir uno sea, si el objetivo aquí 430 00:19:59,440 --> 00:20:01,356 es hacer un cacahuete mantequilla y mermelada. 431 00:20:01,356 --> 00:20:01,910 Sí? 432 00:20:01,910 --> 00:20:03,647 >> AUDIENCIA: [inaudible] la bolsa de pan. 433 00:20:03,647 --> 00:20:05,230 DAVID J. MALAN: Abra la bolsa de pan. 434 00:20:05,230 --> 00:20:08,360 Así que si los tres concursantes haría gustaría proceder a hacer eso literalmente. 435 00:20:08,360 --> 00:20:12,394 Abra la bolsa de pan. 436 00:20:12,394 --> 00:20:15,810 >> [AUDIENCIA DE RISA] 437 00:20:15,810 --> 00:20:20,717 438 00:20:20,717 --> 00:20:22,300 DAVID J. MALAN: Así que vamos a trabajar en eso. 439 00:20:22,300 --> 00:20:23,180 Bien. 440 00:20:23,180 --> 00:20:25,400 Así que paso dos, cómo-- vamos a llevar esto aún más. 441 00:20:25,400 --> 00:20:26,480 Sí, en la parte delantera. 442 00:20:26,480 --> 00:20:27,240 >> AUDIENCIA: [inaudible] el pan. 443 00:20:27,240 --> 00:20:27,735 >> DAVID J. MALAN: ¿Qué es eso? 444 00:20:27,735 --> 00:20:28,836 >> AUDIENCIA: Retire el pan. 445 00:20:28,836 --> 00:20:30,210 DAVID J. MALAN: Retire el pan. 446 00:20:30,210 --> 00:20:31,190 Del mismo modo sucinto. 447 00:20:31,190 --> 00:20:33,667 Gracias. 448 00:20:33,667 --> 00:20:43,777 >> [Aplausos] 449 00:20:43,777 --> 00:20:44,860 DAVID J. MALAN: Eso es todo? 450 00:20:44,860 --> 00:20:48,830 Aceptar, por lo que el paso dos va ser eliminar el pan. 451 00:20:48,830 --> 00:20:51,790 Bien, alguien quiere escribirnos una sentencia más larga? 452 00:20:51,790 --> 00:20:52,640 ¿Alguien más? 453 00:20:52,640 --> 00:20:53,920 Un poco más de [inaudible]. 454 00:20:53,920 --> 00:20:54,810 No, nada ahora. 455 00:20:54,810 --> 00:20:56,094 Sí? 456 00:20:56,094 --> 00:20:58,900 >> AUDIENCIA: Coloque dos rebanadas lado de la otra. 457 00:20:58,900 --> 00:21:03,575 >> DAVID J. MALAN: Coloque dos rebanadas lado de la otra. 458 00:21:03,575 --> 00:21:06,420 >> [AUDIENCIA DE RISA] 459 00:21:06,420 --> 00:21:09,590 >> DAVID J. MALAN: Coloque dos rebanadas lado de la otra. 460 00:21:09,590 --> 00:21:11,334 Paso cuatro. 461 00:21:11,334 --> 00:21:12,816 Sí? 462 00:21:12,816 --> 00:21:14,792 >> AUDIENCIA: Lleve a su la mano y la puso suavemente 463 00:21:14,792 --> 00:21:17,756 en la parte superior de la tapa de mantequilla de cacahuete. 464 00:21:17,756 --> 00:21:19,710 >> [AUDIENCIA DE RISA] 465 00:21:19,710 --> 00:21:21,710 AUDIENCIA: [inaudible] junto a la mantequilla de cacahuete. 466 00:21:21,710 --> 00:21:21,870 DAVID J. MALAN: ¿Qué? 467 00:21:21,870 --> 00:21:22,520 Dilo de nuevo. 468 00:21:22,520 --> 00:21:26,308 >> AUDIENCIA: Desenrosque la tapa y poner suavemente al lado de la mantequilla de cacahuete. 469 00:21:26,308 --> 00:21:31,490 >> DAVID J. MALAN: Ponga suavemente junto a la mantequilla de cacahuete. 470 00:21:31,490 --> 00:21:37,770 471 00:21:37,770 --> 00:21:40,090 Aceptar, el progreso. 472 00:21:40,090 --> 00:21:41,080 Paso cinco. 473 00:21:41,080 --> 00:21:42,380 Excelente. 474 00:21:42,380 --> 00:21:43,261 Sí? 475 00:21:43,261 --> 00:21:44,163 >> Recoge el cuchillo. 476 00:21:44,163 --> 00:21:46,380 477 00:21:46,380 --> 00:21:47,630 DAVID J. MALAN: Pick up cuchillo. 478 00:21:47,630 --> 00:21:52,320 479 00:21:52,320 --> 00:21:53,631 Aceptar, paso seis. 480 00:21:53,631 --> 00:21:54,130 ¿Sí? 481 00:21:54,130 --> 00:21:56,237 >> AUDIENCIA: Sostenga el cuchillo por el mango. 482 00:21:56,237 --> 00:21:57,945 DAVID J. MALAN: Mantenga cuchillo por el mango. 483 00:21:57,945 --> 00:22:00,710 484 00:22:00,710 --> 00:22:03,230 Mantenga cuchillo por el mango. 485 00:22:03,230 --> 00:22:04,880 Paso siete. 486 00:22:04,880 --> 00:22:05,692 Sí? 487 00:22:05,692 --> 00:22:10,030 >> AUDIENCIA: Cuchillo de [inaudible] en maní la mantequilla y la menor a [inaudible]. 488 00:22:10,030 --> 00:22:13,070 >> DAVID J. MALAN: Pon cuchillo en-- I oído "cuchillo puesto en la mantequilla de maní 489 00:22:13,070 --> 00:22:19,500 y tomar tan poco como sea posible ". 490 00:22:19,500 --> 00:22:22,480 Por cierto, primero retire el papel. 491 00:22:22,480 --> 00:22:29,320 492 00:22:29,320 --> 00:22:31,890 Muy bien, el paso nueve. 493 00:22:31,890 --> 00:22:34,910 Paso nueve. 494 00:22:34,910 --> 00:22:35,624 Paso nueve. 495 00:22:35,624 --> 00:22:37,290 En realidad no hemos hecho un sándwich todavía. 496 00:22:37,290 --> 00:22:37,790 Sí? 497 00:22:37,790 --> 00:22:41,570 AUDIENCIA: Usando un cuchillo en la mantequilla de maní, aplicar mantequilla de maní en dicho pan. 498 00:22:41,570 --> 00:22:47,440 >> DAVID J. MALAN: Usando un cuchillo en mantequilla de maní, mantequilla de maní en aplicar 499 00:22:47,440 --> 00:22:48,736 dicho pan. 500 00:22:48,736 --> 00:22:56,030 >> [AUDIENCIA DE RISA] 501 00:22:56,030 --> 00:22:59,480 DAVID J. MALAN: Todo paso correcto 10. 502 00:22:59,480 --> 00:23:01,762 Paso 10. 503 00:23:01,762 --> 00:23:02,750 Sí? 504 00:23:02,750 --> 00:23:05,220 >> AUDIENCIA: Sabor cacahuete mantequilla para garantizar la calidad. 505 00:23:05,220 --> 00:23:15,960 >> [AUDIENCIA DE RISA] 506 00:23:15,960 --> 00:23:16,960 DAVID J. MALAN: Paso 11. 507 00:23:16,960 --> 00:23:19,500 508 00:23:19,500 --> 00:23:21,340 Paso 11. 509 00:23:21,340 --> 00:23:22,101 Paso 11. 510 00:23:22,101 --> 00:23:22,600 Venga. 511 00:23:22,600 --> 00:23:23,099 ¿Sí? 512 00:23:23,099 --> 00:23:24,208 Ahí mismo. 513 00:23:24,208 --> 00:23:25,840 >> AUDIENCIA: Recoja cuidadosamente jalea. 514 00:23:25,840 --> 00:23:28,220 >> DAVID J. MALAN: Recoja cuidadosamente jalea. 515 00:23:28,220 --> 00:23:29,970 Aceptar y, a continuación, otra mano subía. 516 00:23:29,970 --> 00:23:32,812 517 00:23:32,812 --> 00:23:33,520 Justo detrás de ti. 518 00:23:33,520 --> 00:23:35,761 Sí, en azul. 519 00:23:35,761 --> 00:23:40,671 >> AUDIENCIA: Muy bien, quite tapa de [inaudible], sí, 520 00:23:40,671 --> 00:23:42,635 retire la tapa de la jalea. 521 00:23:42,635 --> 00:23:43,617 >> [AUDIENCIA DE RISA] 522 00:23:43,617 --> 00:23:44,742 >> DAVID J. MALAN: Desde jalea. 523 00:23:44,742 --> 00:23:45,581 Ja, ja. 524 00:23:45,581 --> 00:23:48,967 >> [AUDIENCIA DE RISA] 525 00:23:48,967 --> 00:23:49,800 DAVID J. MALAN: ¿Y? 526 00:23:49,800 --> 00:23:52,490 AUDIENCIA: Y apenas barrer cualquier [inaudible]. 527 00:23:52,490 --> 00:23:59,536 [AUDIENCIA DE RISA] 528 00:23:59,536 --> 00:24:04,456 AUDIENCIA: Por supuesto, antes de [inaudible], retire el papel de la jalea. 529 00:24:04,456 --> 00:24:06,940 DAVID J. MALAN: Retire el papel de la jalea. 530 00:24:06,940 --> 00:24:08,229 Paso 14. 531 00:24:08,229 --> 00:24:09,020 Ya casi llegamos. 532 00:24:09,020 --> 00:24:09,857 Sí? 533 00:24:09,857 --> 00:24:12,600 >> AUDIENCIA: Botella jalea Invertir antes de que todo se cae. 534 00:24:12,600 --> 00:24:16,515 >> DAVID J. MALAN: Invertir jalea botella antes de jalea cae. 535 00:24:16,515 --> 00:24:19,070 536 00:24:19,070 --> 00:24:19,890 Paso 15. 537 00:24:19,890 --> 00:24:21,130 >> AUDIENCIA: Vuelva a colocar la tapa. 538 00:24:21,130 --> 00:24:22,463 >> DAVID J. MALAN: Vuelva a colocar la tapa. 539 00:24:22,463 --> 00:24:25,880 540 00:24:25,880 --> 00:24:28,190 Paso 16. 541 00:24:28,190 --> 00:24:28,931 ¿Sí? 542 00:24:28,931 --> 00:24:29,806 >> AUDIENCIA: [inaudible] 543 00:24:29,806 --> 00:24:34,109 544 00:24:34,109 --> 00:24:35,400 DAVID J. MALAN: Diga eso otra vez. 545 00:24:35,400 --> 00:24:38,100 AUDIENCIA: casquillo de la toma fuera de su gelatina. 546 00:24:38,100 --> 00:24:39,650 DAVID J. MALAN: Off su gelatina. 547 00:24:39,650 --> 00:24:43,720 548 00:24:43,720 --> 00:24:49,510 Así realmente-- Uy. 549 00:24:49,510 --> 00:24:50,420 Venga. 550 00:24:50,420 --> 00:24:51,740 Vuelva a colocar la tapa. 551 00:24:51,740 --> 00:24:56,660 Ponga cap-- Dijiste quite la tapa de la jalea. 552 00:24:56,660 --> 00:24:58,950 Siente como si estuviéramos en un poco de un bucle. 553 00:24:58,950 --> 00:24:59,640 Paso 17. 554 00:24:59,640 --> 00:25:00,398 Sí? 555 00:25:00,398 --> 00:25:02,639 >> AUDIENCIA: [inaudible] 556 00:25:02,639 --> 00:25:03,930 DAVID J. MALAN: Diga eso otra vez. 557 00:25:03,930 --> 00:25:05,150 AUDIENCIA: [inaudible] 558 00:25:05,150 --> 00:25:07,835 DAVID J. MALAN: Volver a step-- 559 00:25:07,835 --> 00:25:10,110 AUDIENCIA: [inaudible] 560 00:25:10,110 --> 00:25:13,760 DAVID J. MALAN: Retire casquillo de la mantequilla de maní. 561 00:25:13,760 --> 00:25:14,492 Sí? 562 00:25:14,492 --> 00:25:16,430 >> AUDIENCIA: caida de todo el jalea en el pan. 563 00:25:16,430 --> 00:25:19,040 >> DAVID J. MALAN: caida de todo la jalea en el pan. 564 00:25:19,040 --> 00:25:25,372 565 00:25:25,372 --> 00:25:26,830 DAVID J. MALAN: Estamos casi allí. 566 00:25:26,830 --> 00:25:27,800 Paso 19. 567 00:25:27,800 --> 00:25:30,250 >> AUDIENCIA: Retire el exceso de gelatina. 568 00:25:30,250 --> 00:25:31,720 >> DAVID J. MALAN: Haha, la jalea. 569 00:25:31,720 --> 00:25:36,615 >> [Aplausos] 570 00:25:36,615 --> 00:25:39,240 DAVID J. MALAN: ¿Por qué no Nosotros-- un paso más para tomar este hogar. 571 00:25:39,240 --> 00:25:41,720 Un paso más y luego serviremos sándwiches. 572 00:25:41,720 --> 00:25:42,900 Sí? 573 00:25:42,900 --> 00:25:45,570 >> AUDIENCIA: [inaudible] 574 00:25:45,570 --> 00:25:50,704 >> DAVID J. MALAN: Mientras que cualquier sándwich guión nos dejó remains-- esto-- comer. 575 00:25:50,704 --> 00:25:56,400 >> [Risas de la audiencia] 576 00:25:56,400 --> 00:26:00,395 >> DAVID J. MALAN: Muy bien, gracias Gracias a nuestros voluntarios aquí. 577 00:26:00,395 --> 00:26:06,150 >> [Aplausos} 578 00:26:06,150 --> 00:26:08,940 >> DAVID J. MALAN: Tenemos algunas buenas regalos de despedida para cada uno de ustedes. 579 00:26:08,940 --> 00:26:14,350 Su propia mantequilla de maní, jalea, y el pan para llevar a casa. 580 00:26:14,350 --> 00:26:15,774 Gracias. 581 00:26:15,774 --> 00:26:17,118 >> Kiersten: Gracias. 582 00:26:17,118 --> 00:26:18,618 DAVID J. MALAN: [inaudible] bienvenida. 583 00:26:18,618 --> 00:26:21,849 [Aplausos] 584 00:26:21,849 --> 00:26:24,390 DAVID J. MALAN: Así que, esto es, de Por supuesto, un ejemplo ridículo. 585 00:26:24,390 --> 00:26:24,890 ¿Cierto? 586 00:26:24,890 --> 00:26:28,890 Pero esto tipo de revelar cómo los seres humanos sólo tienen claridad por sentado. 587 00:26:28,890 --> 00:26:30,890 Y el hecho de que he estado hablar con otro ser humano, 588 00:26:30,890 --> 00:26:33,300 él o ella sólo sabe lo que quieres decir. 589 00:26:33,300 --> 00:26:35,220 >> Las computadoras no van saber lo que quieres decir, 590 00:26:35,220 --> 00:26:37,430 incluso cuando se utiliza, como estamos a punto de hacer hoy, 591 00:26:37,430 --> 00:26:42,300 programar algo en Scratch, un lastre y soltar, el lenguaje de puzzle estilo pieza. 592 00:26:42,300 --> 00:26:44,310 Incluso diseñado para jóvenes los niños, que tienen 593 00:26:44,310 --> 00:26:48,726 ser tan explícita y tan literal con lo que usted quiere que su programa de hacer. 594 00:26:48,726 --> 00:26:50,600 Ahora, en última instancia, estamos va a ser la programación 595 00:26:50,600 --> 00:26:53,550 no en el código de pseudocódigo, Inglés como la sintaxis, 596 00:26:53,550 --> 00:26:56,370 pero el código o, más propiamente, el código fuente. 597 00:26:56,370 --> 00:26:59,260 El código fuente es la forma elegante para describir código que en realidad 598 00:26:59,260 --> 00:27:01,730 escribir con un teclado que es no en Inglés per se. 599 00:27:01,730 --> 00:27:06,480 Está en C o Java o C ++ o algo así, como pronto veremos. 600 00:27:06,480 --> 00:27:09,510 >> Y, de hecho, sólo para asustar a un pocos de ustedes, a primera vista, 601 00:27:09,510 --> 00:27:13,769 este es un programa escrito en un lenguaje llamado C. Pero para un-susto a algunos de ustedes, 602 00:27:13,769 --> 00:27:15,560 lo harás completamente entender lo que está pasando 603 00:27:15,560 --> 00:27:18,980 en venir el próximo lunes cuando se llega a algo como esto. 604 00:27:18,980 --> 00:27:20,510 Francamente, esta es una lengua más antigua. 605 00:27:20,510 --> 00:27:22,430 Es bastante arcano, pero es representativa 606 00:27:22,430 --> 00:27:26,120 de una gran cantidad de idiomas en estos días que tienen un montón de paréntesis y rizado 607 00:27:26,120 --> 00:27:28,630 llaves y comillas y puntos y comas. 608 00:27:28,630 --> 00:27:30,780 Y mucho de esto cosas sintáctica que no es 609 00:27:30,780 --> 00:27:32,450 en absoluto intelectualmente interesante. 610 00:27:32,450 --> 00:27:35,790 De hecho, se trata de una distracción absoluta desde las ideas muy simples 611 00:27:35,790 --> 00:27:37,370 que nos están mirando en la cara. 612 00:27:37,370 --> 00:27:41,760 Este programa, como que sólo podría adivinar, imprime en la pantalla del ordenador de alguien 613 00:27:41,760 --> 00:27:44,070 las palabras "Hola mundo coma." 614 00:27:44,070 --> 00:27:44,860 Eso es todo. 615 00:27:44,860 --> 00:27:46,580 Así que, claramente, no hay un montón de cosas que son 616 00:27:46,580 --> 00:27:48,970 en el camino de algunos obviedad allí, 617 00:27:48,970 --> 00:27:52,490 pero va a caer muy rápidamente de distancia y ser completamente intuitiva. 618 00:27:52,490 --> 00:27:55,617 >> De hecho, lo que vamos a hacer hoy se destila esta bastante complejo 619 00:27:55,617 --> 00:27:58,950 programa que busca, que a su vez le va a venir comprender rápidamente, sino a algo 620 00:27:58,950 --> 00:27:59,710 mucho más simple. 621 00:27:59,710 --> 00:28:01,640 Digamos lo que queremos decir. 622 00:28:01,640 --> 00:28:05,590 Vamos a dibujar una imagen de lo que queremos decir, a través de estas piezas del rompecabezas aquí. 623 00:28:05,590 --> 00:28:09,110 >> Así que esta es una programación lenguaje conocido como arañazos. 624 00:28:09,110 --> 00:28:11,080 Fue desarrollado por el Media Lab del MIT. 625 00:28:11,080 --> 00:28:14,830 Y lo que usted verá en problema de ajuste a cero, que será lanzado más tarde esta noche, 626 00:28:14,830 --> 00:28:18,980 vamos a tener que ir a este URL aquí scratch.mit.edu. 627 00:28:18,980 --> 00:28:20,940 Y tienen una web interfaz basada través de la cual 628 00:28:20,940 --> 00:28:22,540 usted va a escribir su primer programa. 629 00:28:22,540 --> 00:28:25,330 O aquellos de ustedes con anterioridad experiencia, sus programas de segundo, 630 00:28:25,330 --> 00:28:28,090 pero en un entorno que es probablemente un poco familiarizado y que 631 00:28:28,090 --> 00:28:32,930 te empujará para crear algo utilizando este entorno muy visual. 632 00:28:32,930 --> 00:28:35,940 >> Ahora, lo que voy a hacer aquí es abrir el programa en sí. 633 00:28:35,940 --> 00:28:41,911 Existe no sólo como un navegador web, sino también como un programa descargable 634 00:28:41,911 --> 00:28:44,660 por lo que en realidad se puede utilizar si usted no tiene acceso a internet. 635 00:28:44,660 --> 00:28:46,743 Y yo voy a hacer que aquí, en Sanders, sólo 636 00:28:46,743 --> 00:28:49,580 en caso de que el Wi-Fi no es así cooperar súper bien. 637 00:28:49,580 --> 00:28:52,640 Y lo que voy a hacer es el punto cabo algunas características de este programa. 638 00:28:52,640 --> 00:28:55,720 Así que, para que quede claro, que acabo de doble clic en el icono en el escritorio, 639 00:28:55,720 --> 00:28:59,830 o equivalentemente ido a scratch.mit.edu, y se detuvo esta ventana. 640 00:28:59,830 --> 00:29:01,650 Este es un entorno de programación. 641 00:29:01,650 --> 00:29:04,110 Es una pieza de software que algunos de nuestros amigos en el MIT 642 00:29:04,110 --> 00:29:08,850 escribió que vamos nosotros y nos escribe programas en un lenguaje llamado arañazos. 643 00:29:08,850 --> 00:29:12,010 >> Ahora bien, esto pasa a ser un cat quien también nombró arañazos 644 00:29:12,010 --> 00:29:13,890 y este es su mundo en el que vive. 645 00:29:13,890 --> 00:29:17,175 Esta es la etapa, por así decirlo, que rectángulo en la esquina superior izquierda. 646 00:29:17,175 --> 00:29:18,800 Y él no tiene que parecerse a un gato. 647 00:29:18,800 --> 00:29:20,591 Usted puede hacer que se vea como cualquier cosa y usted 648 00:29:20,591 --> 00:29:23,700 puede tener muchos de estos sprites, o caracteres, en un programa. 649 00:29:23,700 --> 00:29:27,450 Mientras tanto, aquí en el extremo derecho, es una gran pizarra en blanco. 650 00:29:27,450 --> 00:29:30,260 Y es aquí donde, en un momento, vamos a iniciar la programación 651 00:29:30,260 --> 00:29:32,750 arrastrando y soltando estos rompecabezas gráfica 652 00:29:32,750 --> 00:29:35,300 piezas que son perfectos aquí en el medio. 653 00:29:35,300 --> 00:29:38,140 Y hay mucho más de ellos que vamos a pasar el tiempo aquí en la clase 654 00:29:38,140 --> 00:29:40,080 porque usted encontrará que todos son bastante intuitivo. 655 00:29:40,080 --> 00:29:41,788 Una vez más, está diseñado para los niños, sino que 656 00:29:41,788 --> 00:29:45,759 utilizarlo para desmenuzar algunos de los ideas fundamentales de variables, bucles, 657 00:29:45,759 --> 00:29:48,050 condiciones, y, pronto, las cosas como las funciones y eventos 658 00:29:48,050 --> 00:29:51,810 y las roscas y otras cosas de lujo que vamos a llegar en poco tiempo para realmente crear 659 00:29:51,810 --> 00:29:53,840 algo desde cero. 660 00:29:53,840 --> 00:29:54,810 Nunca mejor dicho. 661 00:29:54,810 --> 00:29:58,740 >> Ahora, lo que voy a hacer aquí es haga clic en no movimiento, pero el control. 662 00:29:58,740 --> 00:30:01,400 Y esto es sólo una categorización de aquí-- 663 00:30:01,400 --> 00:30:03,150 y veo una diferente grupo de colores de los bloques. 664 00:30:03,150 --> 00:30:05,030 Pero notar algunas palabras familiares. 665 00:30:05,030 --> 00:30:07,830 "Si" y "else if" y "repetición". 666 00:30:07,830 --> 00:30:10,440 Y es fácil adivinar que es una reminiscencia de la rama, 667 00:30:10,440 --> 00:30:12,870 o las condiciones que vimos, y incluso la construcción de bucle. 668 00:30:12,870 --> 00:30:14,760 Así que tenemos bloques similares aquí. 669 00:30:14,760 --> 00:30:16,720 Pero lo más interesante uno es este de aquí. 670 00:30:16,720 --> 00:30:20,690 Cuando se hace clic en esta bandera verde, esto, para aquellos con la programación previa 671 00:30:20,690 --> 00:30:23,110 experiencia, es equivalente a una función principal. 672 00:30:23,110 --> 00:30:25,300 Pero para aquellos que no conocen, esta es la pieza del rompecabezas 673 00:30:25,300 --> 00:30:27,320 que será poner en marcha todo nuestro programa. 674 00:30:27,320 --> 00:30:31,350 Literalmente significa cuando voy, en este programa, y ​​haga clic en un flag-- verde 675 00:30:31,350 --> 00:30:35,560 que se puede ver aquí en el esquina superior izquierda de la interfaz de usuario, 676 00:30:35,560 --> 00:30:38,570 así que ver la bandera verde junto a la señal de stop de color rojo? 677 00:30:38,570 --> 00:30:41,475 Cuando hago clic en eso, mi programa se va a ejecutar. 678 00:30:41,475 --> 00:30:43,850 Ahora, yo voy a hacer algo super simple con arañazos. 679 00:30:43,850 --> 00:30:46,640 Voy a seguir adelante y vaya al panel de miradas 680 00:30:46,640 --> 00:30:50,010 aquí, donde tengo un montón de las piezas del rompecabezas de color púrpura, 681 00:30:50,010 --> 00:30:53,887 y yo voy a seguir adelante y hacer algo super simple como, por ejemplo. 682 00:30:53,887 --> 00:30:55,720 Y fíjense entonces-- este texto en el cuadro blanco 683 00:30:55,720 --> 00:30:59,290 es editable-- voy a decir "Hola mundo", al igual que 684 00:30:59,290 --> 00:31:01,470 hizo en ese textual versión hace un momento. 685 00:31:01,470 --> 00:31:05,920 Y ahora si me voy y haga clic en este bandera verde, que ahora han programado. 686 00:31:05,920 --> 00:31:07,810 No es un particular programa interesante, 687 00:31:07,810 --> 00:31:09,760 pero hice que el ordenador haga algo. 688 00:31:09,760 --> 00:31:13,120 Empecé un programa y hice lo que me dijeron que hiciera. 689 00:31:13,120 --> 00:31:16,170 Ahora, puedo continuar para arrastrar y soltar más y más de estas piezas del rompecabezas 690 00:31:16,170 --> 00:31:19,220 y que van a entrelazar, pero vamos a bofetada alguna terminología aquí 691 00:31:19,220 --> 00:31:21,680 que veremos recurrentes durante todo el curso, 692 00:31:21,680 --> 00:31:24,610 y realmente lo largo de la informática y la programación en general. 693 00:31:24,610 --> 00:31:27,990 >> Este "decir" del bloque, en púrpura, vamos a simplemente empezar a llamar un comunicado. 694 00:31:27,990 --> 00:31:29,240 Es como una declaración de hecho. 695 00:31:29,240 --> 00:31:30,380 Haga esto. 696 00:31:30,380 --> 00:31:32,590 Así que, es una categoría de instrucciones que 697 00:31:32,590 --> 00:31:36,760 podría alimentar a un equipo como parte de un programa o un algoritmo. 698 00:31:36,760 --> 00:31:39,270 Y para ser claro, que haya probablemente se da por sentado 699 00:31:39,270 --> 00:31:41,930 que tiene programas en su ordenador. 700 00:31:41,930 --> 00:31:45,850 Y son tipo de algoritmos, sino una programa es en realidad un montón de algoritmos 701 00:31:45,850 --> 00:31:47,160 que algunos humanos escribieron. 702 00:31:47,160 --> 00:31:49,040 Ellos empacan hacia arriba y lo vendieron por lo que, 703 00:31:49,040 --> 00:31:51,330 o se publicarán en una página web para que puedas descargar. 704 00:31:51,330 --> 00:31:54,930 Por lo tanto, un programa es sólo una toda montón de ceros y unos 705 00:31:54,930 --> 00:31:56,970 que, de alguna manera, los seres humanos crearon. 706 00:31:56,970 --> 00:32:00,080 Y esos patrones de ceros y los representan cosas, en última instancia, 707 00:32:00,080 --> 00:32:04,030 como o "juego" decir hola mundo " esta música "o" reproducir este vídeo " 708 00:32:04,030 --> 00:32:05,129 o "enviar un correo electrónico." 709 00:32:05,129 --> 00:32:06,920 Pero vamos a volver en de manera más detalle lo 710 00:32:06,920 --> 00:32:08,780 un programa es cuando usted, usted mismo, ellos escriben. 711 00:32:08,780 --> 00:32:11,320 >> Aquí hay otro statement-- "Espere un segundo." 712 00:32:11,320 --> 00:32:14,330 No hice uso de esto todavía, pero si quiero mi programa para hacer una pausa por un momento 713 00:32:14,330 --> 00:32:16,540 hacer algo, puedo decirle que lo haga. 714 00:32:16,540 --> 00:32:18,450 Espere un segundo. 715 00:32:18,450 --> 00:32:20,150 Ahora otro podría ser "reproducir el sonido." 716 00:32:20,150 --> 00:32:23,270 Así que, esto es único en Scratch, que tiene la capacidad de reproducir sonidos. 717 00:32:23,270 --> 00:32:26,130 Por lo tanto, una declaración que podría uso es, aquí, "jugar de sonido." 718 00:32:26,130 --> 00:32:29,530 Mientras tanto, la expresión booleana, por lo que esta es una palabra más elegante 719 00:32:29,530 --> 00:32:34,490 nombrado después de sólo un tipo llamado Mr. Bool, y esto tiene que ver con una pregunta. 720 00:32:34,490 --> 00:32:37,470 Verdadero o false-- es el ratón? 721 00:32:37,470 --> 00:32:41,100 Una expresión booleana es sólo alguna expresión en Inglés 722 00:32:41,100 --> 00:32:42,860 es decir, ya sea verdadera o falsa. 723 00:32:42,860 --> 00:32:44,140 Ya sea dentro o fuera. 724 00:32:44,140 --> 00:32:45,130 O bien uno o cero. 725 00:32:45,130 --> 00:32:46,960 Usted puede pensar en él en cualquier número de maneras, 726 00:32:46,960 --> 00:32:49,220 pero es verdadera o esta falsa, en última instancia. 727 00:32:49,220 --> 00:32:52,540 Así "ratón hacia abajo signo de interrogación," eso sería una expresión booleana. 728 00:32:52,540 --> 00:32:54,300 Y usted puede pensar en los demás, tal vez. 729 00:32:54,300 --> 00:32:57,510 Por ejemplo, "es el número de la izquierda menor que el número correcto? " 730 00:32:57,510 --> 00:32:59,410 Eso, también, habría una expresión booleana. 731 00:32:59,410 --> 00:33:01,540 "Menos" es una expresión booleana. 732 00:33:01,540 --> 00:33:03,280 >> Éste, también, "puntero del ratón conmovedor." 733 00:33:03,280 --> 00:33:05,196 No estoy seguro de por qué llamado puntero del ratón. 734 00:33:05,196 --> 00:33:08,430 Sólo quiere decir, es que el cursor, es el flecha en la pantalla, tocando el gato, 735 00:33:08,430 --> 00:33:09,022 por ejemplo. 736 00:33:09,022 --> 00:33:10,480 O algún otro aspecto de la pantalla. 737 00:33:10,480 --> 00:33:13,710 Y es una pregunta, una vez más, y que denota una expresión booleana. 738 00:33:13,710 --> 00:33:17,130 Algo que te pueden que desee utilizar en una condición. 739 00:33:17,130 --> 00:33:19,100 Así que vamos a llegar a eso en un momento. 740 00:33:19,100 --> 00:33:20,350 Usted puede "y" cosas juntas. 741 00:33:20,350 --> 00:33:23,099 Así que, si usted quiere comprobar si este es el caso y que es el caso, 742 00:33:23,099 --> 00:33:25,580 usted puede utilizar una "y" bloque como este. 743 00:33:25,580 --> 00:33:26,850 Y aquí está esa condición. 744 00:33:26,850 --> 00:33:31,290 Observe la forma de la pequeña abertura en la parte superior de esta pieza del rompecabezas de color amarillo, 745 00:33:31,290 --> 00:33:34,480 que es una reminiscencia de la forma que acabamos de ver hace un momento. 746 00:33:34,480 --> 00:33:37,920 Cada una de estas expresiones booleanas tener estos bordes puntiagudos 747 00:33:37,920 --> 00:33:39,030 a la izquierda y la derecha. 748 00:33:39,030 --> 00:33:43,140 Y eso es porque la gente del MIT decidieron que por las formas de transporte visualmente, 749 00:33:43,140 --> 00:33:45,780 usted puede clase de ayudar a la gente, estudiantes y niños por igual, 750 00:33:45,780 --> 00:33:47,650 para llenar clase de los espacios en blanco, literalmente. 751 00:33:47,650 --> 00:33:49,780 >> Ahora que puzzle-- que apertura es un poco pequeña, 752 00:33:49,780 --> 00:33:52,750 y como veremos en el programa, en Scratch, que crecerá para adaptarse. 753 00:33:52,750 --> 00:33:54,830 Se mantendrá su forma, en última instancia. 754 00:33:54,830 --> 00:33:58,350 Así que una condición vamos a decidir "Debo hacer algo o no?" 755 00:33:58,350 --> 00:34:00,470 Una expresión booleana es la pregunta real 756 00:34:00,470 --> 00:34:04,100 que utiliza para decidir qué voy a el OR dejé hago para ir a la derecha 757 00:34:04,100 --> 00:34:06,710 cuando me encuentro con este llamado tenedor en la carretera? 758 00:34:06,710 --> 00:34:07,980 Usted puede tener dos ramas. 759 00:34:07,980 --> 00:34:10,909 Si algo es cierto, hacer esto, de lo contrario ir de esa manera, 760 00:34:10,909 --> 00:34:14,590 o simplemente puede no hacer nada en todo, como este bloque implícita. 761 00:34:14,590 --> 00:34:16,360 Del mismo modo, se pueden anidar estas cosas. 762 00:34:16,360 --> 00:34:20,204 Así que si usted quiere que se triplique en el tenedor carretera, o bien hacer esto o esto o aquello, 763 00:34:20,204 --> 00:34:21,870 usted puede apenas nido estas cosas juntas. 764 00:34:21,870 --> 00:34:24,520 Y comienza a ser un poco feo, con el tiempo, a ciencia cierta, 765 00:34:24,520 --> 00:34:26,120 pero la lógica sigue siendo la misma. 766 00:34:26,120 --> 00:34:28,000 Usted puede leer literalmente esta arriba a abajo 767 00:34:28,000 --> 00:34:33,290 y dice lo que significa: si este Es cierto, hacer esto, más si lo demás. 768 00:34:33,290 --> 00:34:36,179 >> Un bucle no consigue más simple en scratch. 769 00:34:36,179 --> 00:34:37,422 Siempre haga lo siguiente. 770 00:34:37,422 --> 00:34:39,880 Ahora usted no puede pensar que puede hacer mucho porque no hay 771 00:34:39,880 --> 00:34:42,839 la cantidad de espacio entre la parte superior y la parte inferior de esta abertura pieza del rompecabezas. 772 00:34:42,839 --> 00:34:45,671 Pero verás arañazos va a crecer para adaptarse a la mayor cantidad de piezas de un rompecabezas 773 00:34:45,671 --> 00:34:47,060 como usted quiere meter ahí. 774 00:34:47,060 --> 00:34:48,960 Otro bucle podría ser expresado con repeticiones. 775 00:34:48,960 --> 00:34:51,590 Si usted sabe de antemano ", I querer hacer algo 10 veces, " 776 00:34:51,590 --> 00:34:54,010 usted puede decirle a los arañazos hacer algo 10 veces. 777 00:34:54,010 --> 00:34:57,260 Y, mientras tanto, podemos tener variables. 778 00:34:57,260 --> 00:34:59,572 Así que aquí es arbitraria, Es de color naranja en este caso, 779 00:34:59,572 --> 00:35:00,780 y este es un viaje relámpago. 780 00:35:00,780 --> 00:35:04,540 Una vez más, se encuentra esta muy accesible una vez que empezar a señalar y hacer clic. 781 00:35:04,540 --> 00:35:07,930 He nombrado a mi variable n, pero yo podría haber llamado él lo que quiera, 782 00:35:07,930 --> 00:35:11,280 y yo estoy dando aquí, en este ejemplo arbitrario, a cero. 783 00:35:11,280 --> 00:35:14,250 >> Ahora viendo un programa como hola mundo no es tan convincente, 784 00:35:14,250 --> 00:35:17,900 así que vamos a abrir en realidad algo que un ex estudiante hizo. 785 00:35:17,900 --> 00:35:23,100 Déjame ir por delante y abro, por ejemplo, esta de aquí, 786 00:35:23,100 --> 00:35:26,780 para los que me encantaría tener un voluntario. 787 00:35:26,780 --> 00:35:28,450 Muy bien, ¿sobre-- vamos a ir más lejos. 788 00:35:28,450 --> 00:35:29,240 Sí, vamos arriba. 789 00:35:29,240 --> 00:35:30,056 Cuál es tu nombre? 790 00:35:30,056 --> 00:35:30,635 >> ABBY: Abby. 791 00:35:30,635 --> 00:35:32,010 DAVID J. MALAN: Abby, vamos arriba. 792 00:35:32,010 --> 00:35:35,930 Así que ¿alguna vez has jugado este juego antes? 793 00:35:35,930 --> 00:35:36,430 ABBY: No. 794 00:35:36,430 --> 00:35:37,370 DAVID J. MALAN: Muy bien. 795 00:35:37,370 --> 00:35:38,380 David, un placer conocerte. 796 00:35:38,380 --> 00:35:39,620 Ven a trabajar. 797 00:35:39,620 --> 00:35:42,300 ¿Y cuál es su programación fondo, si los hubiere. 798 00:35:42,300 --> 00:35:43,914 >> ABBY: He aprendido un poco de C ++. 799 00:35:43,914 --> 00:35:45,580 DAVID J. MALAN: Has aprendido algo de C ++. 800 00:35:45,580 --> 00:35:48,382 Y lo que es su juego tocando fondo? 801 00:35:48,382 --> 00:35:49,505 >> ABBY: No mucho. 802 00:35:49,505 --> 00:35:51,130 DAVID J. MALAN: OK, así que vamos a tomar eso. 803 00:35:51,130 --> 00:35:52,700 Así que aquí está cómo el juego va a funcionar. 804 00:35:52,700 --> 00:35:54,510 Voy a seguir adelante y haga clic en la bandera verde, que 805 00:35:54,510 --> 00:35:55,830 es aquí en la parte superior derecha. 806 00:35:55,830 --> 00:35:59,710 Ahora su predecesor en la clase te ha dado algunas instrucciones aquí. 807 00:35:59,710 --> 00:36:02,306 Y en un momento, se dice que "el espacio para empezar." 808 00:36:02,306 --> 00:36:03,680 Así que adelante y pulsa la barra espaciadora. 809 00:36:03,680 --> 00:36:05,507 >> JUEGO DE ORDENADOR: Pikachu. 810 00:36:05,507 --> 00:36:08,340 DAVID J. MALAN: Y el objetivo es coger la comida, tal como se representa allí 811 00:36:08,340 --> 00:36:09,320 a la izquierda. 812 00:36:09,320 --> 00:36:11,388 Y a [inaudible] 813 00:36:11,388 --> 00:36:15,356 >> [JUEGO DE MÚSICA] 814 00:36:15,356 --> 00:36:27,280 815 00:36:27,280 --> 00:36:29,610 >> DAVID J. MALAN: Aww, bueno, gracias por jugar. 816 00:36:29,610 --> 00:36:32,800 Tenemos aquí un poco regalo de despedida para ti. 817 00:36:32,800 --> 00:36:35,574 Tenemos bola de la tensión CS50, si desea elegir. 818 00:36:35,574 --> 00:36:36,820 Está bien, bueno conocerte. 819 00:36:36,820 --> 00:36:39,680 Gracias por venir y desafiando. 820 00:36:39,680 --> 00:36:42,410 821 00:36:42,410 --> 00:36:46,910 Así que tenemos más bolas de estrés, por lo que vamos a hacer un ejemplo más para motivar. 822 00:36:46,910 --> 00:36:48,150 Un voluntario? 823 00:36:48,150 --> 00:36:50,510 Muy bien, ¿qué hay de aquí delante. 824 00:36:50,510 --> 00:36:51,250 Cuál es tu nombre? 825 00:36:51,250 --> 00:36:51,660 >> PHILLIP: Phillip. 826 00:36:51,660 --> 00:36:52,660 >> DAVID J. MALAN: Phillip. 827 00:36:52,660 --> 00:36:54,530 Vamos arriba, Phillip. 828 00:36:54,530 --> 00:36:57,340 Así, Phillip se va a ser desafiados con otro juego 829 00:36:57,340 --> 00:37:00,840 que uno de sus predecesores escribió como parte del problema de ajuste a cero, 830 00:37:00,840 --> 00:37:03,510 llamado juego más difícil de Ivy. 831 00:37:03,510 --> 00:37:05,980 Y veremos en tan sólo un momento lo que se quiere decir con esto. 832 00:37:05,980 --> 00:37:07,400 Phillip, encantado de conocerte. 833 00:37:07,400 --> 00:37:09,060 ¿Cuál es su formación? 834 00:37:09,060 --> 00:37:10,310 PHILLIP: Hecho un montón de codificación. 835 00:37:10,310 --> 00:37:11,110 Hecho un poco de juego, también. 836 00:37:11,110 --> 00:37:11,570 >> DAVID J. MALAN: OK. 837 00:37:11,570 --> 00:37:12,620 Tienes un montón de juegos, también. 838 00:37:12,620 --> 00:37:14,230 ¿Y has jugado antes a este juego? 839 00:37:14,230 --> 00:37:14,730 >> PHILLIP: No 840 00:37:14,730 --> 00:37:16,438 DAVID J. MALAN: Todos bien, así que aquí vamos. 841 00:37:16,438 --> 00:37:18,434 Voy a seguir adelante y haga clic en la bandera verde. 842 00:37:18,434 --> 00:37:24,160 >> [MÚSICA GAME] 843 00:37:24,160 --> 00:37:27,770 >> [MÚSICA MC HAMMER, "U NO PUEDE TOCAR ESTO"] 844 00:37:27,770 --> 00:38:39,790 845 00:38:39,790 --> 00:38:41,635 >> PHILLIP: [inaudible] 846 00:38:41,635 --> 00:38:42,760 DAVID J. MALAN: [inaudible] 847 00:38:42,760 --> 00:38:44,740 PHILLIP: [inaudible] 848 00:38:44,740 --> 00:38:49,056 [Risas] 849 00:38:49,056 --> 00:38:50,680 [MÚSICA MC HAMMER, "U NO PUEDE TOCAR ESTO"] 850 00:38:50,680 --> 00:38:52,660 DAVID J. MALAN: [inaudible] Arar a través de él. 851 00:38:52,660 --> 00:38:54,094 PHILLIP: [inaudible] 852 00:38:54,094 --> 00:38:55,135 DAVID J. MALAN: Adelante. 853 00:38:55,135 --> 00:39:01,570 [MÚSICA MC HAMMER, "U NO PUEDE TOCAR ESTO"] 854 00:39:01,570 --> 00:39:15,832 855 00:39:15,832 --> 00:39:16,915 DAVID J. MALAN: Muy bien. 856 00:39:16,915 --> 00:39:18,400 Felicitaciones. 857 00:39:18,400 --> 00:39:25,150 >> [Aplausos] 858 00:39:25,150 --> 00:39:27,330 >> DAVID J. MALAN: Nosotros puesto que en línea más tarde para 859 00:39:27,330 --> 00:39:29,820 que se puede posponer las cosas con él también. 860 00:39:29,820 --> 00:39:32,550 Princeton aparece al lado, después de eso. 861 00:39:32,550 --> 00:39:35,470 >> Así que ahora vamos a proceder en realidad que empezar de cero, 862 00:39:35,470 --> 00:39:39,310 por así decirlo, y en realidad acumulando hasta podemos desmenuzar algunas de estas ideas 863 00:39:39,310 --> 00:39:41,970 y llegar a algo aún más complejas para el final. 864 00:39:41,970 --> 00:39:45,240 Me voy a ir de aquí y voy seguir adelante y crear un nuevo archivo. 865 00:39:45,240 --> 00:39:47,460 Así que de nuevo, el conjunto de problemas caminará a través de algunos de estos pasos. 866 00:39:47,460 --> 00:39:49,300 Pero, todo lo que hice fue ir al menú Archivo y yo 867 00:39:49,300 --> 00:39:52,760 dicho "nuevo", tan parecido a Microsoft Word, o cualquier programa así. 868 00:39:52,760 --> 00:39:56,630 >> Y vamos a seguir adelante y nos ahora-- implementado "Hola mundo" hace un momento, 869 00:39:56,630 --> 00:39:58,410 pero vamos a hacer algo un poco más lindo. 870 00:39:58,410 --> 00:40:00,150 Voy a ir a los eventos. 871 00:40:00,150 --> 00:40:02,350 Y yo voy a hacer "cuando bandera verde hace clic ". 872 00:40:02,350 --> 00:40:05,830 Y luego voy a utilizar, por así decirlo, una rama. 873 00:40:05,830 --> 00:40:07,610 Así que voy a utilizar un "si" condición. 874 00:40:07,610 --> 00:40:10,940 Y notar cómo en cuanto me acerco a él, que quiere romper juntos. 875 00:40:10,940 --> 00:40:13,020 Así que dejé ir y que encaje juntos. 876 00:40:13,020 --> 00:40:15,150 Y ahora puedo hacer algo interesante. 877 00:40:15,150 --> 00:40:19,150 Si puedo desplazarme por aquí, voy para ver un montón de bloques. 878 00:40:19,150 --> 00:40:22,620 Si voy a "Datos" - me deja el zoom en-- hay algo acerca de las variables. 879 00:40:22,620 --> 00:40:26,160 Si voy al "movimiento", que pueda aparentemente cambiar las cosas. 880 00:40:26,160 --> 00:40:28,760 Si voy a "operadores" - oh, esto es interesante, 881 00:40:28,760 --> 00:40:31,000 Puedo elegir un número al azar. 882 00:40:31,000 --> 00:40:34,119 Así que déjame hacer algo con sólo cierta probabilidad, porque sí. 883 00:40:34,119 --> 00:40:36,160 Voy a seguir adelante y arrastrar esta pieza del rompecabezas, 884 00:40:36,160 --> 00:40:37,910 esto es que menos de bloque, por lo que es justo 885 00:40:37,910 --> 00:40:39,480 "Es este número a menos de que uno?" 886 00:40:39,480 --> 00:40:42,438 Pero yo no quiero un código permanente un número porque eso es bastante inútil. 887 00:40:42,438 --> 00:40:46,270 Así que voy a arrastrar esta pieza aquí, y observe cómo que encaje en, 888 00:40:46,270 --> 00:40:49,480 y ahora quiero seguir adelante y decir "si el número que se escogió al azar 889 00:40:49,480 --> 00:40:51,820 es menos de seis, haga lo siguiente ". 890 00:40:51,820 --> 00:40:52,790 Ahora, ¿por menos de seis? 891 00:40:52,790 --> 00:40:56,400 ¿Qué probabilidad es esto de manera efectiva me va a dar, sólo intuitivamente? 892 00:40:56,400 --> 00:40:57,440 Alrededor del 50%, ¿no? 893 00:40:57,440 --> 00:41:01,190 Si el número que puede adivinar al azar entre 1 y 10 es inferior a seis, 894 00:41:01,190 --> 00:41:03,480 claramente es uno, dos, tres, cuatro, o cinco. 895 00:41:03,480 --> 00:41:06,740 Y por lo que me va a dar una 50% de probabilidad de que ocurra? 896 00:41:06,740 --> 00:41:09,890 >> Bueno vamos a hacer algo como esto, "jugar maullido de sonido." 897 00:41:09,890 --> 00:41:11,750 Y fíjense, de nuevo, la pieza del rompecabezas crece 898 00:41:11,750 --> 00:41:13,700 para adaptarse, tanto tiempo como las formas coinciden. 899 00:41:13,700 --> 00:41:14,910 Eso es lo importante. 900 00:41:14,910 --> 00:41:18,000 Déjame ir a los arañazos aquí y haga clic en "play". 901 00:41:18,000 --> 00:41:19,300 No pasa nada. 902 00:41:19,300 --> 00:41:21,160 ¿Es un error? 903 00:41:21,160 --> 00:41:21,999 No, no es necesario. 904 00:41:21,999 --> 00:41:24,040 Podría ser simplemente que una mayor número fue elegido. 905 00:41:24,040 --> 00:41:25,762 Así que vamos a hacerlo de nuevo. 906 00:41:25,762 --> 00:41:27,550 Nada. 907 00:41:27,550 --> 00:41:28,344 >> [Maullar] 908 00:41:28,344 --> 00:41:29,510 DAVID J. MALAN: Ahí está. 909 00:41:29,510 --> 00:41:30,280 [Maullar] 910 00:41:30,280 --> 00:41:31,690 DAVID J. MALAN: Una vez más. 911 00:41:31,690 --> 00:41:32,300 No. 912 00:41:32,300 --> 00:41:32,922 >> [Maullando] 913 00:41:32,922 --> 00:41:35,380 DAVID J. MALAN: Así que si usted tiene Alguna vez ha jugado un juego, por supuesto, 914 00:41:35,380 --> 00:41:38,500 donde la materia está sucediendo al azar, como los chicos malos están viniendo o no 915 00:41:38,500 --> 00:41:41,350 venir a la pantalla, o las cosas están cayendo o no comprendida, 916 00:41:41,350 --> 00:41:43,610 eso es sólo porque algo súper simple como esto está sucediendo. 917 00:41:43,610 --> 00:41:46,010 Escoja un número al azar, y si es menor que un cierto valor, 918 00:41:46,010 --> 00:41:49,100 tal vez hacer esto o tal vez hacer eso. 919 00:41:49,100 --> 00:41:51,340 Podemos incorporar que en una condición. 920 00:41:51,340 --> 00:41:52,600 Vamos a hacer algo diferente. 921 00:41:52,600 --> 00:41:53,559 >> Permítanme desperdiciarlo. 922 00:41:53,559 --> 00:41:56,058 Usted puede deshacerse de cosas por simplemente arrastrándolo hacia la izquierda 923 00:41:56,058 --> 00:41:56,810 y dejar ir. 924 00:41:56,810 --> 00:42:00,310 Déjenme seguir adelante y hacer un bloque para siempre y muy pronto hacer algo molesto. 925 00:42:00,310 --> 00:42:03,010 Déjame ir por delante y decir "jugar maullido de sonido." 926 00:42:03,010 --> 00:42:06,620 Pero yo no quiero que esto sea demasiado molesto, así que me agarro este bloque, 927 00:42:06,620 --> 00:42:09,090 "Espera un segundo," y el aviso no hay más espacio para ella. 928 00:42:09,090 --> 00:42:11,310 Pero si vas lo suficientemente cerca, que quiere ir allí. 929 00:42:11,310 --> 00:42:14,100 Así que dejar ir y lo hará crezca para llenar el bloque. 930 00:42:14,100 --> 00:42:15,932 Así que ahora, se trata de un bucle. 931 00:42:15,932 --> 00:42:16,432 [Maullando] 932 00:42:16,432 --> 00:42:18,473 DAVID J. MALAN: Soy literalmente, hacer esto para siempre. 933 00:42:18,473 --> 00:42:19,360 Una y otra vez. 934 00:42:19,360 --> 00:42:21,510 Esto no es sólo un sonido natural. 935 00:42:21,510 --> 00:42:24,800 Déjenme seguir adelante y cambiar esta no un segundo, dos segundos 936 00:42:24,800 --> 00:42:25,854 y pulsa Enter. 937 00:42:25,854 --> 00:42:28,770 Y lo que es bueno de Scratch es que se puede programar de forma interactiva. 938 00:42:28,770 --> 00:42:32,450 Hacer un cambio, tal vez presione Enter o Reproducir de nuevo, y se acaba de seguir adelante. 939 00:42:32,450 --> 00:42:34,962 Bueno, ahora ¿por qué no lo hacemos algo un poco más lindo? 940 00:42:34,962 --> 00:42:39,680 En lugar de hacer todo desde cero, déjame ir por delante y abro un avance 941 00:42:39,680 --> 00:42:43,180 hizo uno, que me pre-cocido, llamado "Pet del gato." 942 00:42:43,180 --> 00:42:44,920 Y vamos a publicar todos estos archivos en línea, 943 00:42:44,920 --> 00:42:48,464 y problema de ajuste a cero le dirá cómo acceder a ellos y abrirlos. 944 00:42:48,464 --> 00:42:49,880 Y fíjense, esto es bastante simple. 945 00:42:49,880 --> 00:42:53,860 Pero antes, me parece que han agarrado un bloque "para siempre", así que tengo un bucle. 946 00:42:53,860 --> 00:42:55,500 Y luego tengo una condición "if". 947 00:42:55,500 --> 00:42:57,410 Tengo una expresión booleana. 948 00:42:57,410 --> 00:43:00,100 >> Así que en Inglés, sólo echando un vistazo a esto, especialmente si usted nunca ha 949 00:43:00,100 --> 00:43:04,278 programada antes, sólo intuitivamente, lo que es esto va a hacer, este programa? 950 00:43:04,278 --> 00:43:06,910 >> [CHATTER AUDIENCIA] 951 00:43:06,910 --> 00:43:09,960 >> DAVID J. MALAN: Si su mascota al gato, el gato va a miau, ¿verdad? 952 00:43:09,960 --> 00:43:14,560 Porque "siempre desmarcando" se el puntero del ratón tocando el gato. 953 00:43:14,560 --> 00:43:17,630 Así que para ser claros, y yo no dije esto antes, todos estos rompecabezas 954 00:43:17,630 --> 00:43:20,750 piezas y la secuencia de comandos que los hemos combinado en, 955 00:43:20,750 --> 00:43:25,510 por así decirlo, una secuencia de comandos es sinónimo programa, en realidad, pertenece a este gato. 956 00:43:25,510 --> 00:43:30,110 Y la razón porque es-- aviso se pone de relieve cómo este mismo gato aquí, 957 00:43:30,110 --> 00:43:32,710 aquí se puede crear un segundo gato o un perro o realmente 958 00:43:32,710 --> 00:43:33,970 todo lo que quieras de forma gráfica. 959 00:43:33,970 --> 00:43:35,900 Usted puede importar algo desde Photoshop, o similares, 960 00:43:35,900 --> 00:43:38,300 e integrar algo si querer hacer que para un proyecto. 961 00:43:38,300 --> 00:43:40,174 Y lo que encontrará, en última instancia, es que usted 962 00:43:40,174 --> 00:43:44,800 puede agregar secuencias de comandos, agregue rompecabezas piezas, a caracteres individuales. 963 00:43:44,800 --> 00:43:47,210 Así que todos estos pertenecen a este gato particular. 964 00:43:47,210 --> 00:43:51,770 Así que ahora si me voy por delante y jugar este programa, no pasa nada. 965 00:43:51,770 --> 00:43:52,970 Pero se está ejecutando. 966 00:43:52,970 --> 00:43:56,364 El programa es en este bucle siempre, tipo de espera de lo que suceda? 967 00:43:56,364 --> 00:43:57,230 >> [CHATTER AUDIENCIA] 968 00:43:57,230 --> 00:43:58,130 >> DAVID J. MALAN: acariciar al gato. 969 00:43:58,130 --> 00:43:59,800 Así que si me muevo mi ratón hacia él-- 970 00:43:59,800 --> 00:44:02,420 >> [Maullando] 971 00:44:02,420 --> 00:44:04,450 >> DAVID J. MALAN: Así que ahora Estoy acariciando al gato. 972 00:44:04,450 --> 00:44:07,330 Mientras tanto, podemos tener una rama doble. 973 00:44:07,330 --> 00:44:10,370 Déjame ir adelante y abrir hasta no acariciar al gato. 974 00:44:10,370 --> 00:44:12,160 Vamos a publicar esta línea también. 975 00:44:12,160 --> 00:44:16,760 Esto es un poco más compleja, pero sin decir 976 00:44:16,760 --> 00:44:18,780 se puede adivinar tal vez lo que va a suceder. 977 00:44:18,780 --> 00:44:20,160 >> [Maullando] 978 00:44:20,160 --> 00:44:23,900 >> DAVID J. MALAN: Cat es maullando, gran tiempo viejo. 979 00:44:23,900 --> 00:44:26,690 Pero este programa es, por supuesto, llamado "No acaricie el Gato," 980 00:44:26,690 --> 00:44:29,350 tan claramente, quiero acariciar al gato. 981 00:44:29,350 --> 00:44:30,490 >> [ROARING] 982 00:44:30,490 --> 00:44:31,940 >> DAVID J. MALAN: No acariciar al gato. 983 00:44:31,940 --> 00:44:34,230 Ahora, echemos un vistazo en otro ejemplo aquí. 984 00:44:34,230 --> 00:44:38,035 Esta será llamada "Hi, Hi, Hi," por razones 985 00:44:38,035 --> 00:44:40,410 que quedará claro, porque tan pronto como me dirijo este cosa-- 986 00:44:40,410 --> 00:44:41,401 >> [Foca] 987 00:44:41,401 --> 00:44:43,942 DAVID J. MALAN: Muy fácil escribir programas de Scratch molestos. 988 00:44:43,942 --> 00:44:45,300 [Foca] 989 00:44:45,300 --> 00:44:48,540 DAVID J. MALAN: Ahora no vamos a ir en gran detalle con todo esto, 990 00:44:48,540 --> 00:44:51,150 pero note que hay un par de nuevas características aquí. 991 00:44:51,150 --> 00:44:55,540 Hay una variable, llamada "silenciado" y luego hay un montón de condiciones. 992 00:44:55,540 --> 00:44:57,900 Y por ahora, permítanme solo se burlan de ti diciendo 993 00:44:57,900 --> 00:45:03,170 que si este chico se pone demasiado molesto, Puedo golpear la barra espaciadora y se detiene. 994 00:45:03,170 --> 00:45:05,880 Debido a que el papel desempeñado por estas dos secuencias de comandos es el siguiente. 995 00:45:05,880 --> 00:45:08,510 Uno de ellos está haciendo el ladrando cada pocos segundos. 996 00:45:08,510 --> 00:45:11,305 El otro está a la espera para mí para golpear la barra espaciadora. 997 00:45:11,305 --> 00:45:14,780 Y si lo hago golpear la barra espaciadora, que va a cambiar 998 00:45:14,780 --> 00:45:18,096 el estado de esta variable, el valor de esta variable, que es al parecer 999 00:45:18,096 --> 00:45:20,470 llamado "silencio," No me llamo Es algo aburrido como n, 1000 00:45:20,470 --> 00:45:22,370 Lo llamé una palabra en Inglés, "silenciado". 1001 00:45:22,370 --> 00:45:24,740 De 1 a 0 o de 0 a 1. 1002 00:45:24,740 --> 00:45:26,830 De verdadero a falso o falso a verdadero. 1003 00:45:26,830 --> 00:45:28,930 Y así, en realidad se puede ver ahora, que 1004 00:45:28,930 --> 00:45:31,720 podría tener dos guiones, dos programas que se ejecutan de forma simultánea, 1005 00:45:31,720 --> 00:45:34,360 y los dos de ellos podrían estar sentado en un bucle haciendo algo. 1006 00:45:34,360 --> 00:45:38,067 A la espera de lo humano a hacer algo así como golpear la barra espaciadora. 1007 00:45:38,067 --> 00:45:38,650 [Foca] 1008 00:45:38,650 --> 00:45:40,566 DAVID J. MALAN: Y ahora él está en camino de nuevo. 1009 00:45:40,566 --> 00:45:41,640 [Foca] 1010 00:45:41,640 --> 00:45:45,220 DAVID J. MALAN: Entonces, ¿qué otra cosa Qué podemos hacer con estos ejemplos? 1011 00:45:45,220 --> 00:45:50,920 Bueno, vamos a seguir adelante y hacer una ejemplo con contar ovejas. 1012 00:45:50,920 --> 00:45:59,210 Vamos a continuar esta en la línea aquí de-- vamos a abrir el ejemplo ovejas. 1013 00:45:59,210 --> 00:46:02,460 Y aviso, al igual que antes, éste, por suerte, es un poco menos molesto. 1014 00:46:02,460 --> 00:46:06,940 Una vez me golpeó jugar aquí-- ¡Oh, no, esto es molesto. 1015 00:46:06,940 --> 00:46:10,130 Él va a baa con cierta probabilidad. 1016 00:46:10,130 --> 00:46:11,050 Vamos a jugar de nuevo. 1017 00:46:11,050 --> 00:46:15,221 >> [BLEETING OVEJAS] 1018 00:46:15,221 --> 00:46:18,470 DAVID J. MALAN: La única diferencia es hemos cambiado el traje, por así decirlo, 1019 00:46:18,470 --> 00:46:21,710 y estamos reduciendo a la mitad y decir lo que es número real. 1020 00:46:21,710 --> 00:46:24,680 Bueno, vamos a seguir adelante y llevar esto un paso más allá. 1021 00:46:24,680 --> 00:46:28,190 Y déjenme burlan con otra característica aquí. 1022 00:46:28,190 --> 00:46:31,800 Vamos a seguir adelante y abrir un programa llamado Temas. 1023 00:46:31,800 --> 00:46:36,620 Tanto como usted puede tener uno sprite, que tiene varias secuencias de comandos, 1024 00:46:36,620 --> 00:46:41,250 usted puede tener dos sprites, un ave en un gato, cada uno con su propio guión. 1025 00:46:41,250 --> 00:46:43,976 Y cada uno de ellos puede operar simultáneamente. 1026 00:46:43,976 --> 00:46:45,980 Si alguna vez has escuchado la palabra "multithreading" 1027 00:46:45,980 --> 00:46:49,240 un ordenador es un medio "multiproceso" que puede hacer varias cosas a la vez, 1028 00:46:49,240 --> 00:46:50,880 y, de hecho, por lo que puede rayar. 1029 00:46:50,880 --> 00:46:52,690 >> Y ahora cuenta el pájaro es un poco tonto. 1030 00:46:52,690 --> 00:46:55,100 Es sólo hacer las cosas al azar, rebotando en la pantalla. 1031 00:46:55,100 --> 00:46:59,460 Es evidente que el gato se ha programado al tipo de tener que buscan capacidades 1032 00:46:59,460 --> 00:47:02,680 a casa en en el ave porque él siempre apuntando a él. 1033 00:47:02,680 --> 00:47:06,176 Hasta que finalmente, él coge el pájaro real. 1034 00:47:06,176 --> 00:47:08,550 Así que no voy a detenerme en los detalles aquí, pero usted puede tipo de 1035 00:47:08,550 --> 00:47:12,160 vislumbrar las mismas formas, algunos "Si" las condiciones, algunas variables, 1036 00:47:12,160 --> 00:47:15,740 tal vez algunos bucles, son en última instancia, hacer la misma cosa. 1037 00:47:15,740 --> 00:47:18,400 >> Ahora voy a seguir adelante y abrir algo más en conjunto, 1038 00:47:18,400 --> 00:47:20,920 para embromar a algunos de ustedes, particularmente los más cómodos, 1039 00:47:20,920 --> 00:47:22,760 lo que realmente puede hacer con esto. 1040 00:47:22,760 --> 00:47:26,080 Voy a seguir adelante y abrir Botón aquí. 1041 00:47:26,080 --> 00:47:28,740 Y este es un super programa sencillo de apariencia, 1042 00:47:28,740 --> 00:47:34,190 pero ten cuidado con lo que sucede cuando yo-- Cuidado con lo que 1043 00:47:34,190 --> 00:47:39,860 sucede cuando abro esta versión de la misma, aquí, en el navegador, scratch.mit.edu. 1044 00:47:39,860 --> 00:47:43,460 Y cuando hago clic en este gran rojo botón, observe lo que sucede. 1045 00:47:43,460 --> 00:47:46,110 1046 00:47:46,110 --> 00:47:47,647 Entonces, ¿qué está pasando aquí? 1047 00:47:47,647 --> 00:47:50,480 En realidad hay un montón más complejidad pasando por debajo de la campana, 1048 00:47:50,480 --> 00:47:52,896 a pesar de que he implementado esto, o, francamente, Dan Bradley 1049 00:47:52,896 --> 00:47:54,660 ha puesto en marcha esta manera tan simple. 1050 00:47:54,660 --> 00:47:59,540 Ha diseñado un rompecabezas arañazos personalizada pieza, conocido como una extensión de Scratch, 1051 00:47:59,540 --> 00:48:01,300 lo llamó Toggle. 1052 00:48:01,300 --> 00:48:06,332 >> Y lo Toggle hace es que envía un mensaje en internet. 1053 00:48:06,332 --> 00:48:08,290 Y ese mensaje en sí se ve un poco críptico. 1054 00:48:08,290 --> 00:48:10,248 Pero esto, también, podrás entender por fin de plazo. 1055 00:48:10,248 --> 00:48:14,930 El mensaje de que en realidad el envío de se ve un poco de algo como esto. 1056 00:48:14,930 --> 00:48:15,921 Es sólo texto. 1057 00:48:15,921 --> 00:48:16,420 Cryptic. 1058 00:48:16,420 --> 00:48:19,130 Usted entenderá que por el momento tenemos el problema conjunto de siete. 1059 00:48:19,130 --> 00:48:22,180 Es sólo el envío de un mensaje de texto a través de Internet a un servidor. 1060 00:48:22,180 --> 00:48:24,330 Y ese servidor es, en última instancia, hablando con esta bombilla, que 1061 00:48:24,330 --> 00:48:27,240 tiene una de esas bombillas de lujo en lo que, en sí, es hablar 1062 00:48:27,240 --> 00:48:30,760 a la red Wi-Fi de la red aquí, donde un dispositivo local abajo aquí-- 1063 00:48:30,760 --> 00:48:34,400 y, en última instancia, en realidad es convertir esa luz y se apaga. 1064 00:48:34,400 --> 00:48:36,240 Pero podemos hacer más cosas interesantes todavía. 1065 00:48:36,240 --> 00:48:38,270 Note lo que Dan también hizo por nosotros. 1066 00:48:38,270 --> 00:48:42,210 Hizo varios sprites, cada uno de que tiene una secuencia de comandos en espera de un clic. 1067 00:48:42,210 --> 00:48:44,030 Y si hago clic en rojo, se pone roja. 1068 00:48:44,030 --> 00:48:46,780 Si consigo azul, va azulado. 1069 00:48:46,780 --> 00:48:49,854 Verde, amarillo, naranja. 1070 00:48:49,854 --> 00:48:52,520 Y todo esto está sucediendo por yendo salida al internet, 1071 00:48:52,520 --> 00:48:54,690 retroceder aquí para la bombilla de luz, encendido y apagado. 1072 00:48:54,690 --> 00:48:57,981 >> Y si usted puede creer it-- y esto es quizás uno de los más complejos de Scratch 1073 00:48:57,981 --> 00:49:00,930 proyectos alguien tiene implemented-- lo hizo, en la justicia, en un día. 1074 00:49:00,930 --> 00:49:04,180 Y ese fue el reto al que nos tiramos a Dan cuando nos vio tener bombillas binarios, 1075 00:49:04,180 --> 00:49:05,810 tenemos arañazos cómo, podemos combinarlos? 1076 00:49:05,810 --> 00:49:08,410 Y, de hecho, esto es absolutamente algo que nadie en esta sala 1077 00:49:08,410 --> 00:49:14,250 podría hacer por end-- del semestre es él bombillas binarios Reimplementado utilizando 1078 00:49:14,250 --> 00:49:18,310 la misma interfaz que era en nuestro iPad el miércoles. 1079 00:49:18,310 --> 00:49:22,000 Así que ahora, si realmente haga clic en el signo más por aquí, 1080 00:49:22,000 --> 00:49:25,250 tenemos uno, dos, tres. 1081 00:49:25,250 --> 00:49:27,550 Puedo golpear el 16 y a su vez que uno de. 1082 00:49:27,550 --> 00:49:29,440 128, y así sucesivamente. 1083 00:49:29,440 --> 00:49:31,250 >> Ahora si que solo tiene y soplado su mente, 1084 00:49:31,250 --> 00:49:35,680 usted podría hacer las cosas mucho más accesible, no implica ningún tipo de hardware, sin duda. 1085 00:49:35,680 --> 00:49:38,320 Sólo cosas sobre la propia pantalla. 1086 00:49:38,320 --> 00:49:41,110 Y, de hecho, lo que más estudiantes terminar haciendo es una especie de juego, 1087 00:49:41,110 --> 00:49:44,600 alguna pieza de la obra artística, o algún tipo de animación interactiva. 1088 00:49:44,600 --> 00:49:47,352 Y voy a decir una de nuestras favoritos ha sido éste. 1089 00:49:47,352 --> 00:49:49,060 Y pensé que si nos podría atenuar las luces, 1090 00:49:49,060 --> 00:49:52,960 vamos a echar un vistazo a esta final Proyecto de Scratch en conclusión. 1091 00:49:52,960 --> 00:49:57,460 Pero lo que usted debe tener en cuenta, como Te puedo bromear con un último detalle, 1092 00:49:57,460 --> 00:49:59,140 seccionamiento comenzará la próxima semana. 1093 00:49:59,140 --> 00:50:00,830 Horario de oficina comenzarán la próxima semana. 1094 00:50:00,830 --> 00:50:04,410 Boletín de problemas cero se publicarán CS50.harvard.edu más tarde hoy. 1095 00:50:04,410 --> 00:50:06,430 Y le dará la bienvenida en conjunto de problemas cero 1096 00:50:06,430 --> 00:50:10,070 a de CS50 propia Zamyla Chan, quien orienta la mayor parte de nuestro tutoriales. 1097 00:50:10,070 --> 00:50:11,952 Estos son los vídeos incrustados en los boletines de problemas 1098 00:50:11,952 --> 00:50:15,160 que llevará a cabo su mano a través de una gran cantidad de la configuración inicial y a través de muchas 1099 00:50:15,160 --> 00:50:16,570 de las posibles decisiones de diseño. 1100 00:50:16,570 --> 00:50:19,570 Así que nunca si has tenido esa emoción al recoger una tarea 1101 00:50:19,570 --> 00:50:21,030 y se pregunta, ¿por dónde empiezo? 1102 00:50:21,030 --> 00:50:23,510 Ella tendrá que respuesta para usted. 1103 00:50:23,510 --> 00:50:27,720 Y ahora, un programa final de uno de sus predecesores 1104 00:50:27,720 --> 00:50:30,659 en respuesta a la pregunta "¿Qué dice la zorra?" 1105 00:50:30,659 --> 00:50:32,242 [MÚSICA YLVIS, "¿Qué dice la FOX?] 1106 00:50:32,242 --> 00:50:40,178 1107 00:50:40,178 --> 00:50:41,666 >> YLVIS: (CANTO) Perro va trama. 1108 00:50:41,666 --> 00:50:43,650 El gato va maullido. 1109 00:50:43,650 --> 00:50:47,520 Aves del Twitter y el ratón va chillido. 1110 00:50:47,520 --> 00:50:49,240 Vaca va moo. 1111 00:50:49,240 --> 00:50:51,690 Rana va graznido. 1112 00:50:51,690 --> 00:50:54,630 Y el elefante va sonar. 1113 00:50:54,630 --> 00:50:59,040 Los patos dicen quack y peces van blub. 1114 00:50:59,040 --> 00:51:07,370 Y el sello va ow ow ow, pero hay un sonido que nadie sabe, 1115 00:51:07,370 --> 00:51:10,330 ¿qué dice el zorro? 1116 00:51:10,330 --> 00:51:11,020 Y 1117 00:51:11,020 --> 00:51:12,478 >> DAVID J. MALAN: Eso es todo por CS50. 1118 00:51:12,478 --> 00:51:15,436 Nos vemos en Puzzle día y el lunes. 1119 00:51:15,436 --> 00:51:16,424 >> [Aplausos] 1120 00:51:16,424 --> 00:51:19,882 >> [MÚSICA YLVIS, "¿QUÉ FOX SAY?"] 1121 00:51:19,882 --> 00:51:24,840 1122 00:51:24,840 --> 00:51:28,820 >> NARRADOR: Y ahora profunda pensamientos, por Daven Farnham. 1123 00:51:28,820 --> 00:51:31,770 1124 00:51:31,770 --> 00:51:34,570 Hoy me golpeó en el cara con una guía telefónica. 1125 00:51:34,570 --> 00:51:38,160 Confundir, como estoy en casa viendo en línea. 1126 00:51:38,160 --> 00:51:42,528