1 00:00:00,000 --> 00:00:10,980 >> [REPRODUCCIÓ DE MÚSICA] 2 00:00:10,980 --> 00:00:13,260 >> Està bé! 3 00:00:13,260 --> 00:00:16,400 >> : Aquest és CS50. 4 00:00:16,400 --> 00:00:18,220 >> : Aquest és CS50. 5 00:00:18,220 --> 00:00:19,324 >> : Aquest és CS50. 6 00:00:19,324 --> 00:00:20,615 [MÚSICA - IGGY AZALEA, "LUXE"] 7 00:00:20,615 --> 00:00:29,925 8 00:00:29,925 --> 00:00:33,570 >> -El Meu Recordo favorit de CS50 va ser quan vaig anar a Trencaclosques Day. 9 00:00:33,570 --> 00:00:35,797 >> Probablement El moment dedicat a treballar en els butlletins de problemes 10 00:00:35,797 --> 00:00:38,630 amb els meus amics i la gent que Wold eventualment convertir-se en els meus blockmates. 11 00:00:38,630 --> 00:00:40,421 >> -El Meu Millor record d' CS50 és 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 Just tot el relacionat amb ell. 19 00:00:46,110 --> 00:00:47,401 >> [MÚSICA - IGGY AZALEA, "LUXE"] 20 00:00:47,401 --> 00:00:56,790 21 00:00:56,790 --> 00:01:02,512 >> -el Meu Millor record és quan jo era a escenari i jo vam jugar el paper de prestigi 22 00:01:02,512 --> 00:01:04,220 d'un node de [? al Linked?] [? Llista. ?] 23 00:01:04,220 --> 00:01:08,470 >> Quan Tots tenim espai lliure Dropbox i David era com, mira sota dels seus seients. 24 00:01:08,470 --> 00:01:10,520 I va ser com, espai per a tothom! 25 00:01:10,520 --> 00:01:11,811 >> [MÚSICA - IGGY AZALEA, "LUXE"] 26 00:01:11,811 --> 00:01:20,940 27 00:01:20,940 --> 00:01:22,830 >> Consells -La meva per a qualsevol estudiant entrant faria 28 00:01:22,830 --> 00:01:26,170 ser treballar realment en P-jocs amb els amics. 29 00:01:26,170 --> 00:01:27,960 >> Hores -Oficina és molt seu amic. 30 00:01:27,960 --> 00:01:30,870 >> Fer La major part de la seva experiència i conèixer a tantes persones com sigui possible. 31 00:01:30,870 --> 00:01:32,390 >> No siguis por de demanar ajuda. 32 00:01:32,390 --> 00:01:33,890 -començar Els P-conjunts de principis de la setmana. 33 00:01:33,890 --> 00:01:36,723 Crec Que el més important és que prendre avantatge de tots els recursos 34 00:01:36,723 --> 00:01:37,950 que té CS50. 35 00:01:37,950 --> 00:01:39,960 >> -ir A les hores d'oficina a principis de setmana. 36 00:01:39,960 --> 00:01:41,430 >> Definitivament Veure els curts. 37 00:01:41,430 --> 00:01:42,989 >> No Posposar les coses en les seves P-sets. 38 00:01:42,989 --> 00:01:45,780 Clica aquí per assegurar-se que trobar un gran grup de persones per treballar a P-sets amb. 39 00:01:45,780 --> 00:01:48,530 Vostè pot tenir un munt de diversió i realitzar el seu treball junts. 40 00:01:48,530 --> 00:01:50,370 >> No siguis por d'empènyer a tu mateix. 41 00:01:50,370 --> 00:01:52,080 Anar a l'edició de hackers de vegades. 42 00:01:52,080 --> 00:01:55,410 >> Coses -Escriure en el paper abans de tornes a tocar l'equip. 43 00:01:55,410 --> 00:01:58,380 >> -CS50 És realment gran en proporcionant maneres d'obtenir ajuda. 44 00:01:58,380 --> 00:02:01,134 >> -el Meu Un consell és dormir. 45 00:02:01,134 --> 00:02:02,050 Algú ha dit això? 46 00:02:02,050 --> 00:02:04,100 Somni, segur. 47 00:02:04,100 --> 00:02:08,919 És fàcil no fer, però has de fer-ho, crec. 48 00:02:08,919 --> 00:02:12,982 >> -diria Que realment estigui preparat mentalment perquè vostè va encantar. 49 00:02:12,982 --> 00:02:14,273 [MÚSICA - IGGY AZALEA, "LUXE"] 50 00:02:14,273 --> 00:02:17,750 51 00:02:17,750 --> 00:02:18,940 >> : Aquest és CS50. 52 00:02:18,940 --> 00:02:22,090 53 00:02:22,090 --> 00:02:23,066 >> : Aquest és CS50. 54 00:02:23,066 --> 00:02:26,400 55 00:02:26,400 --> 00:02:26,989 >> : Aquest és CS50. 56 00:02:26,989 --> 00:02:28,280 [MÚSICA - IGGY AZALEA, "LUXE"] 57 00:02:28,280 --> 00:02:31,290 58 00:02:31,290 --> 00:02:31,964 >> : Aquest és CS50. 59 00:02:31,964 --> 00:02:36,020 60 00:02:36,020 --> 00:02:42,270 >> [Aplaudiments] 61 00:02:42,270 --> 00:02:46,040 >> DAVID J. Malan: Així que això és CS50 i aquest és el final de la Setmana 0. 62 00:02:46,040 --> 00:02:48,770 I això era només algunes del personal del CS50 que 63 00:02:48,770 --> 00:02:51,100 esperar que no només en les seccions i les hores d'oficina, però, 64 00:02:51,100 --> 00:02:54,390 També, aquest cap de setmana en CS50 Trencaclosques Day. 65 00:02:54,390 --> 00:02:56,410 La qual cosa, de nou, no és tot sobre la programació. 66 00:02:56,410 --> 00:02:59,710 De fet, s'espera que no haurà de programar res, 67 00:02:59,710 --> 00:03:03,780 sinó resoldre problemes utilitzant enginy i amics al costat de vostè. 68 00:03:03,780 --> 00:03:06,400 >> Estarem units per alguna dels nostres amics de Facebook-- 69 00:03:06,400 --> 00:03:08,980 si es registra aquí-- que durant els últims anys, 70 00:03:08,980 --> 00:03:11,450 tenen en realitat estat escrivint aquests desafiaments amb nosaltres. 71 00:03:11,450 --> 00:03:14,822 I així, ells seran els que en última instància, corrent Trencaclosques dia. 72 00:03:14,822 --> 00:03:17,530 I així, seràs reptat precisament amb el tipus de coses 73 00:03:17,530 --> 00:03:20,520 i problemes que gent de Facebook li agrada pensar. 74 00:03:20,520 --> 00:03:21,860 Així que és demà. 75 00:03:21,860 --> 00:03:25,980 Fes a cs50.harvard.edu/register. 76 00:03:25,980 --> 00:03:28,120 >> Ara una paraula en un parell del personal en particular. 77 00:03:28,120 --> 00:03:30,090 Això aquí és Ansel Duff, que és en realitat una 78 00:03:30,090 --> 00:03:33,860 dels co-autors d'aquests binaris bombetes que vam veure dimecres, 79 00:03:33,860 --> 00:03:36,710 a més de propi Dan Bradley del CS50. 80 00:03:36,710 --> 00:03:40,094 Ansel Duff també era un ex estudiant de primer any aconsellat meu fa 3 anys 81 00:03:40,094 --> 00:03:41,760 i de fet fins i tot va construir aquest faristol. 82 00:03:41,760 --> 00:03:45,330 S'ha anat a fer ciències de l'enginyeria i més. 83 00:03:45,330 --> 00:03:49,279 Ara, la seva imatge aquí és en realitat Ansel fa 3 anys al CS50 Hackathon 84 00:03:49,279 --> 00:03:51,820 quan ell va demanar prestat un del nostre globus, enganxat al seu ordinador portàtil, 85 00:03:51,820 --> 00:03:55,240 i, per al pròxim 12 d'alguna estranya hores, es va centrar en el seu projecte final, 86 00:03:55,240 --> 00:03:59,150 prendre descansos només per obrir bosses de caramels a la hackathon. 87 00:03:59,150 --> 00:04:02,210 >> Però va continuar, més recentment, a passar l'estiu passat amb nosaltres, 88 00:04:02,210 --> 00:04:05,270 des CS50 per al seu personal, i ara els estudiants aquest semestre, 89 00:04:05,270 --> 00:04:06,770 té la seva pròpia impressora 3D. 90 00:04:06,770 --> 00:04:10,180 I en poques paraules a les impressores 3D és un dispositiu que s'assembla bastant com aquest. 91 00:04:10,180 --> 00:04:15,700 Vostè s'omple amb un rodet de plàstic que es fon pel dispositiu 92 00:04:15,700 --> 00:04:18,940 i construir coses literalment del no-res. 93 00:04:18,940 --> 00:04:22,660 Igual que una impressora d'injecció de tinta, s'inicia escopir petits punts de plàstic 94 00:04:22,660 --> 00:04:24,990 que forma al costat de formar objectes integrals. 95 00:04:24,990 --> 00:04:28,430 I així Ansel per exemple, a principis de aquest estiu, té un iPhone 5 96 00:04:28,430 --> 00:04:30,722 i vaig decidir que realment volia per mantenir sobre el seu escriptori. 97 00:04:30,722 --> 00:04:32,638 Però ell no volia sortir a comprar alguna cosa 98 00:04:32,638 --> 00:04:36,030 des de la botiga d'Apple o similars, de manera que es va asseure i va començar a dibuixar alguna cosa. 99 00:04:36,030 --> 00:04:38,280 Va donar uns mesuraments pel que fa a com gruixuda 100 00:04:38,280 --> 00:04:41,270 i l'ample del seu iPhone era, dibuixar aquesta imatge aquí, 101 00:04:41,270 --> 00:04:43,870 ell va decidir que volia tenir una inclinació de 75 graus 102 00:04:43,870 --> 00:04:46,150 ja que estava mirant ell en el seu escriptori allà. 103 00:04:46,150 --> 00:04:50,440 Després es va tornar això, utilitzant programari, en un model CAD 3D 104 00:04:50,440 --> 00:04:52,400 que semblava una mica alguna cosa com això. 105 00:04:52,400 --> 00:04:55,940 I després es va procedir, en última instància, per crear realment. 106 00:04:55,940 --> 00:05:00,250 Així que de fet, si algun de vostès aquí, potser consecutiu en què puc llançar a, té 107 00:05:00,250 --> 00:05:06,780 an-- no tenim gent amb iPhone 5, i aquí tenim dues més. 108 00:05:06,780 --> 00:05:10,650 109 00:05:10,650 --> 00:05:17,037 >> Ara, per no ser menys, CS50 pròpia Cheng Gong també es va proposar aquest estiu 110 00:05:17,037 --> 00:05:19,870 per construir un bon nombre de coses i, De fet, per raons que encara estan 111 00:05:19,870 --> 00:05:23,970 clar, ha estat lentament impressió d'un exèrcit d'elefants 112 00:05:23,970 --> 00:05:27,250 amb braços articulats i troncs. 113 00:05:27,250 --> 00:05:32,515 Un parell dels quals són en realitat aquí si algú ara com-- un elefant. 114 00:05:32,515 --> 00:05:35,650 115 00:05:35,650 --> 00:05:40,522 Bé ,. però el que Cheng també va fer per a nosaltres és ell molt amablement va crear una càmera 116 00:05:40,522 --> 00:05:42,230 perquè aquest elefant, ho creguis o no, 117 00:05:42,230 --> 00:05:44,690 pren una mica de dos i un hores i mitja per imprimir. 118 00:05:44,690 --> 00:05:47,840 Fins i tot l'estand iPhone prendre una hora i mitja per imprimir. 119 00:05:47,840 --> 00:05:51,490 I el que Cheng va seguir endavant i ho va fer es va crear una bona càmera davant 120 00:05:51,490 --> 00:05:55,580 d'aquesta impressora 3D, filmat per una hora i un mitjà com el disseny d'Ansel imprès. 121 00:05:55,580 --> 00:05:58,090 Ens sobrepusimos alguns sexy música a la mateixa per tal 122 00:05:58,090 --> 00:06:00,570 per donar-li això a mirar com funciona la impressió en 3D. 123 00:06:00,570 --> 00:06:02,494 I tot i que aquesta és en realitat en plàstic, 124 00:06:02,494 --> 00:06:05,160 adonar-se que si es tracta d'una àrea del seu interès acadèmic, 125 00:06:05,160 --> 00:06:07,120 hi ha gent, entre ells Jennifer Lewis aquí 126 00:06:07,120 --> 00:06:09,036 a l'Escola d' Enginyeria, que són en realitat 127 00:06:09,036 --> 00:06:10,920 treballant en la impressió 3D objectes de plàstic. 128 00:06:10,920 --> 00:06:14,150 Però fins i tot, cada vegada més, materials biològics per a resoldre 129 00:06:14,150 --> 00:06:16,530 problemes fisiològics dels éssers humans. 130 00:06:16,530 --> 00:06:19,944 Però aquí hi ha una mica de una mica de CS50. 131 00:06:19,944 --> 00:06:31,625 >> [LOUD MECÀNICA SOROLLS] 132 00:06:31,625 --> 00:06:34,250 DAVID J. Malan: No sona res d'això en la realitat, 133 00:06:34,250 --> 00:06:37,240 però és molt més fresc que veure-ho a aquesta velocitat, i amb aquest so. 134 00:06:37,240 --> 00:06:40,000 >> Ara, dimecres, com vam fer primer arribat fins aquí? 135 00:06:40,000 --> 00:06:43,345 Comencem a parlar de l'ordinador les ciències i ens van preguntar de què es tractava. 136 00:06:43,345 --> 00:06:46,470 I es tracta d'una sèrie de coses, i hi ha tantes direccions diferents 137 00:06:46,470 --> 00:06:48,477 en el qual vostè pot dirigir- després d'un curs com CS50. 138 00:06:48,477 --> 00:06:50,810 De fet, si vostè va prendre una d'aquestes guies no oficials 139 00:06:50,810 --> 00:06:54,080 l'exterior CS, el fullet que hem proporcionat, si ets 140 00:06:54,080 --> 00:06:57,150 pensant en prendre només CS50, o potser fent un secundari, 141 00:06:57,150 --> 00:06:59,557 o potser fins i tot per concentrar en CS, no voltejar a través d'això. 142 00:06:59,557 --> 00:07:01,390 I veuràs un diagrama cap al final que 143 00:07:01,390 --> 00:07:04,950 que mostra les moltes direccions diferents en CS que es pot anar a. 144 00:07:04,950 --> 00:07:09,030 >> Però per ara, ens centrarem, de nou, en Realment un dels punts de vista fonamentals, 145 00:07:09,030 --> 00:07:11,500 potser, on vostè ha entrades als problemes, 146 00:07:11,500 --> 00:07:13,430 Té sortides d' problemes, i que tenen 147 00:07:13,430 --> 00:07:17,420 algoritmes amb els de crear aquestes sortides d'aquests insums. 148 00:07:17,420 --> 00:07:20,330 I un exemple d'això, era de Per descomptat, aquest llibre de telèfon aquí. 149 00:07:20,330 --> 00:07:24,180 I hem utilitzat com a exemple per anar a través d'un algoritme que era correcte. 150 00:07:24,180 --> 00:07:26,490 I després hi havia un altre correcta, però una mica més ràpid. 151 00:07:26,490 --> 00:07:29,448 I després un altre que era una mica més dramàtic, però fonamentalment 152 00:07:29,448 --> 00:07:30,000 més ràpid. 153 00:07:30,000 --> 00:07:32,720 >> És cert, aquest llibre de telèfon reclamat tenia prop de 1.000 pàgines. 154 00:07:32,720 --> 00:07:36,200 I quantes vegades va prendre tinc per esquinçar la guia telefònica al mig 155 00:07:36,200 --> 00:07:39,930 trobar algú com Mike Smith, com a màxim, en 1000 la pàgina del llibre? 156 00:07:39,930 --> 00:07:41,040 Així, 10 més o menys. 157 00:07:41,040 --> 00:07:45,050 I el que un cop em vaig trencar aquesta cosa en mitjà, o simplement, amb més maduresa, 158 00:07:45,050 --> 00:07:48,490 dividit per la meitat, és només 10 pàgines de cada 1.000. 159 00:07:48,490 --> 00:07:51,470 I si extrapolem, una mica poc realista per a una llibreta de telèfons, 160 00:07:51,470 --> 00:07:56,540 però si aquest llibre telèfon tenia uns 4 milers de milions de pàgines en el mateix, de manera tan completa 161 00:07:56,540 --> 00:07:59,680 difícil de manejar físicament, quants vegades no divideixen un 4000000000 162 00:07:59,680 --> 00:08:01,460 pàgina del llibre de telèfon a la meitat? 163 00:08:01,460 --> 00:08:03,035 Així que en realitat és de 32 anys, més o menys. 164 00:08:03,035 --> 00:08:07,090 I així 32 vegades única, fora de 4 mil milions de pàgines, pot 165 00:08:07,090 --> 00:08:08,700 a trobar algú com Mike Smith. 166 00:08:08,700 --> 00:08:09,740 I això és eficiència. 167 00:08:09,740 --> 00:08:12,130 Això és un bon algoritme, diria. 168 00:08:12,130 --> 00:08:14,480 >> Però després ens mudem que per intentar formalitzar. 169 00:08:14,480 --> 00:08:16,100 I em vaig proposar aquest codi pseudocodi. 170 00:08:16,100 --> 00:08:17,800 Codi Pseudocodi no és gens formal. 171 00:08:17,800 --> 00:08:18,880 No és una cosa a memoritzar. 172 00:08:18,880 --> 00:08:21,588 És una cosa que vostè expressa bastant intuïtiva utilitzant Anglès, 173 00:08:21,588 --> 00:08:24,990 o qualsevol llenguatge de veritat, que transmet les seves idees de manera succinta. 174 00:08:24,990 --> 00:08:26,990 Però el que és clau sobre codi pseudocodi és que vostè 175 00:08:26,990 --> 00:08:30,331 tractar d'anticipar tota la possibles casos que poden ocórrer. 176 00:08:30,331 --> 00:08:33,080 I, en efecte, en aquest pseudocodi codi, havia realment tres casos 177 00:08:33,080 --> 00:08:34,700 cada vegada que divideix la guia telefònica. 178 00:08:34,700 --> 00:08:36,006 Mike podria estar a l'esquerra. 179 00:08:36,006 --> 00:08:37,130 Mike podria estar a la dreta. 180 00:08:37,130 --> 00:08:39,240 O potser té raó a la pàgina que estic. 181 00:08:39,240 --> 00:08:42,110 O un quart cas de la cantonada, per així dir-ho. 182 00:08:42,110 --> 00:08:46,470 Una mala situació podria ser aquella de les quals: el que està succeint? 183 00:08:46,470 --> 00:08:48,860 Mike no és només en la guia telefònica en absolut. 184 00:08:48,860 --> 00:08:52,720 >> I quan els programes crash-- quan Mac i programari per a PC que vostès RUN 185 00:08:52,720 --> 00:08:56,400 en els equips de vegades penja o es tanca inesperadament, 186 00:08:56,400 --> 00:08:59,770 això significa generalment que alguns programador, algun humà com vostè aviat, 187 00:08:59,770 --> 00:09:01,650 simplement fotut i comès algun error. 188 00:09:01,650 --> 00:09:05,207 Potser no anticipar que potser hi ha hi ha Mike Smith a la guia telefònica. 189 00:09:05,207 --> 00:09:08,040 I si en realitat no escrius codi per manejar situacions com aquestes, 190 00:09:08,040 --> 00:09:09,890 generalment impredictible coses poden succeir. 191 00:09:09,890 --> 00:09:10,960 L'equip pot congelar. 192 00:09:10,960 --> 00:09:11,730 Es pot reiniciar. 193 00:09:11,730 --> 00:09:12,889 El programa pot deixar de fumar. 194 00:09:12,889 --> 00:09:14,722 I així, tots aquests estupideses que vostè pot 195 00:09:14,722 --> 00:09:18,030 han trobat en la seva real la vida només l'ús d'ordinadors, 196 00:09:18,030 --> 00:09:20,710 serà cada vegada més només explicar lluny per aquesta intuïció 197 00:09:20,710 --> 00:09:24,920 i aquesta comprensió del que és realment està passant sota la caputxa. 198 00:09:24,920 --> 00:09:27,329 >> Ara anem a tractar de fer una ullada en un problema més general. 199 00:09:27,329 --> 00:09:29,120 En lloc de prendre assistència en un lloc com 200 00:09:29,120 --> 00:09:32,230 això, que seria bastant lent fer una, dues, tres, quatre. 201 00:09:32,230 --> 00:09:34,070 O potser dos, quatre, sis, vuit. 202 00:09:34,070 --> 00:09:36,080 Anem a centrar-nos, en canvi, en com podríem formalitzar 203 00:09:36,080 --> 00:09:39,400 l'algorisme del procés per que podríem prendre assistència. 204 00:09:39,400 --> 00:09:42,290 I en el camí, anem a començar aplicar una mica de nomenclatura 205 00:09:42,290 --> 00:09:47,130 que utilitzarem avui quan en realitat començar a programar en un llenguatge. 206 00:09:47,130 --> 00:09:50,910 Així que et dono ara, un vídeo quatre minuts que armem amb els nostres amics 207 00:09:50,910 --> 00:09:52,820 de TED, l'organització. 208 00:09:52,820 --> 00:09:56,380 Per la qual cosa hem subministrat un guió i van portar els seus animadors de suportar, 209 00:09:56,380 --> 00:10:00,970 i en realitat creat un 2D animació del que és un algorisme. 210 00:10:00,970 --> 00:10:02,776 Si poguéssim apagar els llums. 211 00:10:02,776 --> 00:10:06,664 >> [REPRODUCCIÓ DE MÚSICA] 212 00:10:06,664 --> 00:10:17,890 213 00:10:17,890 --> 00:10:19,140 NARRADOR: Què és un algorisme? 214 00:10:19,140 --> 00:10:21,620 En ciències de la computació, un algorisme és un conjunt 215 00:10:21,620 --> 00:10:24,840 instruccions de resoldre algun pas a pas problema. 216 00:10:24,840 --> 00:10:27,310 Típicament, els algoritmes són executat pels ordinadors, 217 00:10:27,310 --> 00:10:29,365 però nosaltres els humans tenim algorismes també. 218 00:10:29,365 --> 00:10:31,240 Per exemple, com ves d'explicar 219 00:10:31,240 --> 00:10:32,990 el nombre de persones en una habitació? 220 00:10:32,990 --> 00:10:36,840 Bé, si ets com jo, el que probablement apuntar a cada persona d'un en un 221 00:10:36,840 --> 00:10:38,370 i comptar a partir de zero. 222 00:10:38,370 --> 00:10:41,200 Un, dos, tres, quatre, i així successivament. 223 00:10:41,200 --> 00:10:42,410 Bé, això és un algorisme. 224 00:10:42,410 --> 00:10:45,820 De fet, anem a tractar d'expressar una poc més formalment en codi pseudocodi. 225 00:10:45,820 --> 00:10:48,940 Sintaxi Anglès-així s'assembla a un llenguatge de programació. 226 00:10:48,940 --> 00:10:50,880 >> Sigui n igual a 0. 227 00:10:50,880 --> 00:10:55,210 Per cada persona a l'habitació, establir n igual a n més 1. 228 00:10:55,210 --> 00:10:56,790 Com interpretar el pseudocodi? 229 00:10:56,790 --> 00:10:59,490 Bé línia 1 declara, per així dir-ho, una variable 230 00:10:59,490 --> 00:11:02,880 anomenat n i inicialitza el seu valor a 0 Això només 231 00:11:02,880 --> 00:11:05,080 significa que en el a partir del nostre algoritme, 232 00:11:05,080 --> 00:11:07,910 la cosa amb la qual estem recompte té un valor de 0. 233 00:11:07,910 --> 00:11:10,860 Després de tot, abans de començar a comptar no hem explicat res. 234 00:11:10,860 --> 00:11:13,580 Trucar a aquesta variable n és només una convenció. 235 00:11:13,580 --> 00:11:15,130 Jo podria haver cridat més res. 236 00:11:15,130 --> 00:11:17,460 Ara s'alineï 2 deMarks l'inici d'un bucle, 237 00:11:17,460 --> 00:11:20,550 una seqüència de passos que repetir un nombre de vegades. 238 00:11:20,550 --> 00:11:24,130 Així, en el nostre exemple, el pas que estem pren està comptant la gent a la sala. 239 00:11:24,130 --> 00:11:26,260 A sota de la línia dos és la línia 3 que descriu 240 00:11:26,260 --> 00:11:28,400 exactament com anirem d'explicar. 241 00:11:28,400 --> 00:11:31,720 La indentació que implica és la línia de tres que es repetirà. 242 00:11:31,720 --> 00:11:35,190 Així que amb el codi pseudocodi és dit és que després de començar a 0 243 00:11:35,190 --> 00:11:38,940 per a cada persona al habitació augmentarem n per 1 244 00:11:38,940 --> 00:11:41,310 Ara és correcte aquest algorisme? 245 00:11:41,310 --> 00:11:42,820 Bé, anem a colpejar una mica. 246 00:11:42,820 --> 00:11:45,520 >> Funciona si hi ha dues persones a l'habitació? 247 00:11:45,520 --> 00:11:46,420 Anem a veure. 248 00:11:46,420 --> 00:11:48,500 En la línia 1 inicialitzem n a 0. 249 00:11:48,500 --> 00:11:51,910 Per a cadascuna d'aquestes dues persones, llavors incrementem n per 1. 250 00:11:51,910 --> 00:11:55,570 Així que en el primer viatge a través de la bucle, actualitzem n de 0 a 1. 251 00:11:55,570 --> 00:11:59,320 En el segon viatge a través d'aquest mateix bucle, actualitzem n des 1 fins 2. 252 00:11:59,320 --> 00:12:02,850 I així, per aquest algorisme de final, n és 2, que 253 00:12:02,850 --> 00:12:04,950 de fet coincideix amb el nombre de persones a l'habitació. 254 00:12:04,950 --> 00:12:06,040 Fins ara, tot bé. 255 00:12:06,040 --> 00:12:07,870 >> Què tal un cas cantonada però? 256 00:12:07,870 --> 00:12:11,090 Suposem que hi ha 0 persones al habitació-- més de mi, ¿qui és 257 00:12:11,090 --> 00:12:12,420 fent el recompte. 258 00:12:12,420 --> 00:12:15,380 En la línia un, tornem a inicialitzem n a 0. 259 00:12:15,380 --> 00:12:17,810 Aquesta vegada, però, la línia 3 no s'executa en absolut 260 00:12:17,810 --> 00:12:19,610 ja que no és una persona a l'habitació. 261 00:12:19,610 --> 00:12:23,540 I així segueix sent n 0, el que coincideix de fet el nombre de persones a l'habitació. 262 00:12:23,540 --> 00:12:24,670 Bastant simple, oi? 263 00:12:24,670 --> 00:12:27,880 Però comptar persones d'un en un és bastant ineficient, massa, no? 264 00:12:27,880 --> 00:12:29,160 Segur que podem fer-ho millor. 265 00:12:29,160 --> 00:12:33,440 Per què no comptar amb dues persones alhora, en lloc de comptar un, dos, tres, 266 00:12:33,440 --> 00:12:36,470 quatre, cinc, sis, set, 8, i així successivament. 267 00:12:36,470 --> 00:12:39,106 Per què no comptar amb dos, quatre, sis, vuit, i així successivament? 268 00:12:39,106 --> 00:12:40,670 Fins i tot sona més ràpid. 269 00:12:40,670 --> 00:12:41,940 I segurament ho és. 270 00:12:41,940 --> 00:12:44,490 >> Anem a expressar aquesta optimització en codi pseudocodi. 271 00:12:44,490 --> 00:12:46,040 Sigui n igual a 0. 272 00:12:46,040 --> 00:12:50,760 Per a cada parell de persones en habitació, poseu n igual a n més 2. 273 00:12:50,760 --> 00:12:52,360 Bastant simple canvi, oi? 274 00:12:52,360 --> 00:12:56,560 En lloc d'explicar a les persones d'una en una, en comptes d'això els expliquem de dos en dos. 275 00:12:56,560 --> 00:12:59,240 Aquest algorisme de, per tant, dues vegades tan ràpid com l'última. 276 00:12:59,240 --> 00:13:00,530 Però, ¿és correcte? 277 00:13:00,530 --> 00:13:01,160 Anem a veure. 278 00:13:01,160 --> 00:13:03,580 Funciona si hi ha dues persones a l'habitació? 279 00:13:03,580 --> 00:13:05,800 En la línia un, inicialitzem n a 0. 280 00:13:05,800 --> 00:13:09,160 Perquè un parell de persones, llavors incrementem n per 2. 281 00:13:09,160 --> 00:13:11,910 I així per aquest algorisme de final n és 2, que 282 00:13:11,910 --> 00:13:13,910 de fet coincideix amb el nombre de persones a l'habitació. 283 00:13:13,910 --> 00:13:16,610 >> Suposem a continuació que hi ha zero persones a l'habitació. 284 00:13:16,610 --> 00:13:19,080 En la línia 1 inicialitzem n a 0. 285 00:13:19,080 --> 00:13:21,260 Com abans, la línia 3 no executa tot 286 00:13:21,260 --> 00:13:25,270 ja que no hi ha cap parell de persones en el quart, i així segueix sent n 0. 287 00:13:25,270 --> 00:13:27,840 Que de fet coincideix amb el nombre de persones a l'habitació. 288 00:13:27,840 --> 00:13:30,520 Però el que si hi ha tres persones a l'habitació? 289 00:13:30,520 --> 00:13:32,380 Com funciona aquesta tarifa algorisme? 290 00:13:32,380 --> 00:13:35,710 Anem a veure, en la línia un, inicialitzem n a 0. 291 00:13:35,710 --> 00:13:39,140 Per a un parell d'aquestes persones, llavors incrementem n per 2. 292 00:13:39,140 --> 00:13:40,050 Però llavors, què? 293 00:13:40,050 --> 00:13:42,340 No hi ha cap complet parell de persones a l'habitació, 294 00:13:42,340 --> 00:13:44,430 així que la línia dos ja no s'aplica. 295 00:13:44,430 --> 00:13:48,790 I així, a finals d'aquest algorisme, n segueix sent 2, que no és correcte. 296 00:13:48,790 --> 00:13:52,070 De fet aquest algorisme de dir ser defectuós pel fet que té un error. 297 00:13:52,070 --> 00:13:54,070 >> Anem amb una mica de reparació nou codi de pseudocodi. 298 00:13:54,070 --> 00:13:56,110 Sigui n igual a 0. 299 00:13:56,110 --> 00:14:00,790 Per a cada parell de persones en habitació, poseu N igual a n més 2. 300 00:14:00,790 --> 00:14:05,410 Si una persona segueix sent no aparellat, establir N igual a n més 1. 301 00:14:05,410 --> 00:14:09,340 Per resoldre aquest problema en particular, tenim introduït en la línia quatre condicions, 302 00:14:09,340 --> 00:14:12,120 també conegut com un sucursals, que només s'executa 303 00:14:12,120 --> 00:14:14,890 si hi ha una persona que no podien aparellar-se amb un altre. 304 00:14:14,890 --> 00:14:17,140 I ara, si n'hi ha un, o tres, 305 00:14:17,140 --> 00:14:21,550 o qualsevol nombre imparell de persones a l'habitació, aquest algorisme ara comptar-los. 306 00:14:21,550 --> 00:14:22,810 Podem fer-ho millor? 307 00:14:22,810 --> 00:14:25,890 Bé, podríem comptar de tres en tres, o quatre potes, o fins i tot 05:10, 308 00:14:25,890 --> 00:14:29,390 però més enllà d'això, es posarà una mica difícil d'assenyalar. 309 00:14:29,390 --> 00:14:32,900 >> Al final del dia, ja sigui executat pels ordinadors o els éssers humans, 310 00:14:32,900 --> 00:14:34,870 algoritmes són només un conjunt d'instruccions 311 00:14:34,870 --> 00:14:36,560 amb la que per resoldre els problemes. 312 00:14:36,560 --> 00:14:38,360 Aquestes van ser només tres. 313 00:14:38,360 --> 00:14:41,860 Quin problema oi resoldre amb un algorisme? 314 00:14:41,860 --> 00:14:44,261 >> DAVID J. Malan: Així que deliberadament, un programa molt senzill, 315 00:14:44,261 --> 00:14:46,260 un algoritme molt simple, per aconseguir alguna cosa 316 00:14:46,260 --> 00:14:48,280 molt simple, comptant el nombre de persones a l'habitació. 317 00:14:48,280 --> 00:14:50,370 >> Però anem a esmicolar alguns dels representant 318 00:14:50,370 --> 00:14:52,870 característiques aquí que són en realitat serà útil fins i tot quan 319 00:14:52,870 --> 00:14:54,880 l'aplicació de la més complex de programari. 320 00:14:54,880 --> 00:14:58,060 Així, per exemple, en aquesta primera línia, tenim el que anomenem la variable, 321 00:14:58,060 --> 00:15:01,040 i l'àlgebra, ets generalment familiaritzats amb x i y 322 00:15:01,040 --> 00:15:02,930 i z vegades, i així successivament. 323 00:15:02,930 --> 00:15:05,770 Però en la programació, variables són encara, al final del dia, 324 00:15:05,770 --> 00:15:06,680 molt similar al. 325 00:15:06,680 --> 00:15:09,910 Però és potser més simple de pensar d'una variable com només un contenidor. 326 00:15:09,910 --> 00:15:13,520 I, de fet, que és algun nombre de bits implementat d'alguna manera en el teu disc dur 327 00:15:13,520 --> 00:15:16,410 oa la memòria del seu ordinador, però més sobre això en el futur. 328 00:15:16,410 --> 00:15:17,670 És només un contenidor. 329 00:15:17,670 --> 00:15:20,310 I si vostè diu alguna cosa com sigui n igual a 0, 330 00:15:20,310 --> 00:15:24,310 bé això és com dir que aquest vidre bol aquí n, només un nom arbitrari, 331 00:15:24,310 --> 00:15:26,230 i posar res en ell inicialment. 332 00:15:26,230 --> 00:15:28,940 Així que el valor d'aquest bol en aquest moment és zero. 333 00:15:28,940 --> 00:15:31,380 I per descomptat, si vostè percep en una línia subsegüent, 334 00:15:31,380 --> 00:15:35,070 per incrementar realment alguna línia de codi, com en aquesta tercera línia d'aquí, 335 00:15:35,070 --> 00:15:39,857 per 1, que és com dir quin és el valor actual de n, és 0, més 1, 336 00:15:39,857 --> 00:15:41,690 posar alguna cosa com un taula de taula a aquí. 337 00:15:41,690 --> 00:15:45,140 Ara el valor d'aquest variable és simplement 1. 338 00:15:45,140 --> 00:15:50,064 I es podria extrapolar molt ràpidament, però ara és 2, ara és el 3, i així successivament. 339 00:15:50,064 --> 00:15:51,230 Així que això és tot, una variable és. 340 00:15:51,230 --> 00:15:53,740 És un tros d'emmagatzematge per en realitat emmagatzemar algunes dades. 341 00:15:53,740 --> 00:15:55,050 Per ara és una pilota de taula. 342 00:15:55,050 --> 00:15:55,883 No es tracta d'un nombre. 343 00:15:55,883 --> 00:15:58,910 Però podria ser paraules en un diccionari, com el corrector ortogràfic 344 00:15:58,910 --> 00:16:02,300 Em vaig referir a dimecres per un dels butlletins de problemes de l'any passat. 345 00:16:02,300 --> 00:16:05,640 >> Ara, una altra idea clau, que de la mateixa manera és bastant intuïtiu ens atreviríem a afirmar 346 00:16:05,640 --> 00:16:06,690 és el d'un bucle. 347 00:16:06,690 --> 00:16:08,930 I el bucle en el procés d'explicar tot el món 348 00:16:08,930 --> 00:16:12,540 és, per descomptat, fer el mateix El nou i nou-- qualsevol 349 00:16:12,540 --> 00:16:14,140 a la vegada o dos alhora. 350 00:16:14,140 --> 00:16:17,690 I vostè pot expressar això en anglès, o codi de pseudocodi, en qualsevol nombre de maneres, 351 00:16:17,690 --> 00:16:21,560 però l'ús de la preposició "de" és una manera molt comú de fer això. 352 00:16:21,560 --> 00:16:24,460 Per a cada persona a l'habitació, fer això. 353 00:16:24,460 --> 00:16:25,350 Una i altra vegada. 354 00:16:25,350 --> 00:16:27,700 I el fet que és sagnia, línia de tres, 355 00:16:27,700 --> 00:16:29,840 només significa que el que se suposa que has de fer 356 00:16:29,840 --> 00:16:33,490 és la matèria que està sagnada per sota de la línia dos si. 357 00:16:33,490 --> 00:16:35,590 Només una convenció humana, però una comuna 358 00:16:35,590 --> 00:16:39,010 com veurem en major real llenguatges de programació de nivell. 359 00:16:39,010 --> 00:16:41,870 >> Ara poc més interessant és quan et fiques en un cas cantonada. 360 00:16:41,870 --> 00:16:43,970 Per exemple, una cantonada cas va ser quan hi ha 361 00:16:43,970 --> 00:16:48,060 eren tres persones, o cinc, o set, o qualsevol nombre imparell de persones a l'habitació, 362 00:16:48,060 --> 00:16:51,630 perquè fer-ho de dos en dos els frens finalment, perquè el va 363 00:16:51,630 --> 00:16:54,265 estrany a algú, ja sigui en el principi o el final 364 00:16:54,265 --> 00:16:55,390 depenent de com vostè ho fa. 365 00:16:55,390 --> 00:16:59,800 I així, ara, tinc aquesta branca, o condició, si una persona continua sent, 366 00:16:59,800 --> 00:17:04,490 a continuació, seguir endavant i intentar que un persona solitària que no van rebre 367 00:17:04,490 --> 00:17:05,690 aparellat amb algú més. 368 00:17:05,690 --> 00:17:09,030 Així que això és el que anomenaríem una condició, o una branca. 369 00:17:09,030 --> 00:17:11,500 >> Codi Ara pseudocodi més en general pot ser 370 00:17:11,500 --> 00:17:13,730 escrit per resoldre qualsevol nombre de problemes. 371 00:17:13,730 --> 00:17:16,490 I el que pensem que seria millor fer aquí és prendre un moment 372 00:17:16,490 --> 00:17:20,089 convidar direm de CS50 posseir Rob Bowden en l'escenari 373 00:17:20,089 --> 00:17:25,040 a fer venir a dos voluntaris, que no tenen idea del que l'espera. 374 00:17:25,040 --> 00:17:26,890 Una mà va baixar tan aviat com he dit això. 375 00:17:26,890 --> 00:17:28,700 Què tal si a la acaba aquí, anem a dalt. 376 00:17:28,700 --> 00:17:33,040 I què hi ha de més lluny de distància, què tal forma a la part posterior. 377 00:17:33,040 --> 00:17:35,200 Fila de darrere, anem cap amunt amb les mans en alt. 378 00:17:35,200 --> 00:17:36,475 Molt bé, i quin és el teu nom? 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 Bé, encantat de conèixer-te. 382 00:17:38,613 --> 00:17:41,010 Permetin-me presentar a Rob Bowden. 383 00:17:41,010 --> 00:17:42,890 Aquesta és Anita. 384 00:17:42,890 --> 00:17:44,033 I quin és el seu nom? 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, anem cap amunt i complir amb Rob Bowden i Anita. 388 00:17:49,790 --> 00:17:51,036 Encantada de conèixer-te. 389 00:17:51,036 --> 00:17:52,160 Kiersten: Encantat de conèixer-te. 390 00:17:52,160 --> 00:17:53,368 DAVID J. Malan: Molt bé, Rob. 391 00:17:53,368 --> 00:17:54,650 ROB Bowden: Encantat de conèixer-te. 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: I el seu diversos centenars de companys de classe. 395 00:17:58,686 --> 00:18:02,490 Així que, ara me n'aniré endavant i tiri fins a un simple programa aquí 396 00:18:02,490 --> 00:18:05,690 en Mac OS que em deixaré realment apuntar algunes notes cap avall. 397 00:18:05,690 --> 00:18:09,570 I si vostès volen a cadascun prendre una posició en una d'aquestes escoles allà, 398 00:18:09,570 --> 00:18:16,360 m'ho dius a mi anar endavant i comença una llista de codi pseudocodi, si es vol. 399 00:18:16,360 --> 00:18:19,970 I el que vull fer aquí, en última instància, és el tipus per a vostè 400 00:18:19,970 --> 00:18:22,470 les instruccions que la nostra els membres del públic són en realitat 401 00:18:22,470 --> 00:18:23,569 va a recitar per a nosaltres. 402 00:18:23,569 --> 00:18:25,860 Déjame anar per davant i just canviar això a una llista numerada 403 00:18:25,860 --> 00:18:27,720 perquè coincideixi amb el que estàvem fent allà. 404 00:18:27,720 --> 00:18:30,990 I què faré amb la seva ajuda, és escriure un programa 405 00:18:30,990 --> 00:18:34,620 en pseudocodi, amb la qual aquests nois van 406 00:18:34,620 --> 00:18:38,150 per implementar un cacauet mantega i melmelada. 407 00:18:38,150 --> 00:18:40,880 Pel que és potser a propòsit de mostrar alguna cosa que alguns de vostès 408 00:18:40,880 --> 00:18:44,560 podria haver vist a l'Internet per només un breu moment molest. 409 00:18:44,560 --> 00:18:47,650 >> [MÚSICA BUCKEWHEAT NOIS, "MANTEGA DE MANI  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 Això és suficient. 413 00:19:10,050 --> 00:19:12,690 Així que aquí mentrestant, tinc un parell de Google Glasses que 414 00:19:12,690 --> 00:19:16,500 posarem en propi Rob Bowden del CS50 per veure el món a través dels seus ulls. 415 00:19:16,500 --> 00:19:19,140 I farem el nostre millor esforç en el post producció a teixir realitat 416 00:19:19,140 --> 00:19:23,100 les imatges del que Rob està veient Ara, en aquesta conferència real 417 00:19:23,100 --> 00:19:26,420 vídeo amb els nostres dos voluntaris al seu costat. 418 00:19:26,420 --> 00:19:28,480 Així que el que vaig a fer és, seré el mecanògraf. 419 00:19:28,480 --> 00:19:31,849 Tenim la meta d'aquí realment escriure un programa 420 00:19:31,849 --> 00:19:34,640 amb el qual fer, en última instància, una mantega de cacauet i gelea, 421 00:19:34,640 --> 00:19:37,680 però aquests tres van a comportar- com si fossin ordinadors. 422 00:19:37,680 --> 00:19:40,638 I els ordinadors, al final del dia, són en realitat dispositius bastant ximples. 423 00:19:40,638 --> 00:19:44,432 Són súper ràpid, però només poden fer, literalment, el que els diuen. 424 00:19:44,432 --> 00:19:46,890 Vostè no pot dir simplement fer un cacauet mantega i melmelada. 425 00:19:46,890 --> 00:19:48,640 Vostè ha de programar per fer això. 426 00:19:48,640 --> 00:19:51,420 Has de dir- amb precisió el que ha de fer, 427 00:19:51,420 --> 00:19:54,400 menys les coses surten horriblement i, amb sort, divertidament mal. 428 00:19:54,400 --> 00:19:57,460 >> Així que dit això, necessitem una trucada de sortida de l'audiència 429 00:19:57,460 --> 00:19:59,440 per la qual cosa ha d'intervenir un sigui, si l'objectiu aquí 430 00:19:59,440 --> 00:20:01,356 és fer un cacauet mantega i melmelada. 431 00:20:01,356 --> 00:20:01,910 Sí? 432 00:20:01,910 --> 00:20:03,647 >> AUDIÈNCIA: [inaudible] la bossa de pa. 433 00:20:03,647 --> 00:20:05,230 DAVID J. Malan: Obriu la bossa de pa. 434 00:20:05,230 --> 00:20:08,360 Així que si els tres concursants faria agradaria procedir a fer això literalment. 435 00:20:08,360 --> 00:20:12,394 Obriu la bossa de pa. 436 00:20:12,394 --> 00:20:15,810 >> [AUDIÈNCIA DE RIURE] 437 00:20:15,810 --> 00:20:20,717 438 00:20:20,717 --> 00:20:22,300 DAVID J. Malan: Així que treballarem en això. 439 00:20:22,300 --> 00:20:23,180 Bé. 440 00:20:23,180 --> 00:20:25,400 Així que passo dos, com-- portarem això encara més. 441 00:20:25,400 --> 00:20:26,480 Sí, a la part davantera. 442 00:20:26,480 --> 00:20:27,240 >> AUDIÈNCIA: [inaudible] el pa. 443 00:20:27,240 --> 00:20:27,735 >> DAVID J. Malan: Què és això? 444 00:20:27,735 --> 00:20:28,836 >> AUDIÈNCIA: Traieu el pa. 445 00:20:28,836 --> 00:20:30,210 DAVID J. Malan: Traieu el pa. 446 00:20:30,210 --> 00:20:31,190 De la mateixa manera succinta. 447 00:20:31,190 --> 00:20:33,667 Gràcies. 448 00:20:33,667 --> 00:20:43,777 >> [Aplaudiments] 449 00:20:43,777 --> 00:20:44,860 DAVID J. Malan: Això és tot? 450 00:20:44,860 --> 00:20:48,830 Acceptar, de manera que el pas 2 va ser eliminar el pa. 451 00:20:48,830 --> 00:20:51,790 Bé, algú vol escriure una sentència més llarga? 452 00:20:51,790 --> 00:20:52,640 Algú més? 453 00:20:52,640 --> 00:20:53,920 Una mica més de [inaudible]. 454 00:20:53,920 --> 00:20:54,810 No, res ara. 455 00:20:54,810 --> 00:20:56,094 Sí? 456 00:20:56,094 --> 00:20:58,900 >> AUDIÈNCIA: Col loqueu 2 llesques costat de l'altra. 457 00:20:58,900 --> 00:21:03,575 >> DAVID J. Malan: Col loqueu 2 llesques costat de l'altra. 458 00:21:03,575 --> 00:21:06,420 >> [AUDIÈNCIA DE RIURE] 459 00:21:06,420 --> 00:21:09,590 >> DAVID J. Malan: Col loqueu 2 llesques costat de l'altra. 460 00:21:09,590 --> 00:21:11,334 Pas quatre. 461 00:21:11,334 --> 00:21:12,816 Sí? 462 00:21:12,816 --> 00:21:14,792 >> AUDIÈNCIA: Porteu al seu la mà i la va posar suaument 463 00:21:14,792 --> 00:21:17,756 a la part superior de la tapa de mantega de cacauet. 464 00:21:17,756 --> 00:21:19,710 >> [AUDIÈNCIA DE RIURE] 465 00:21:19,710 --> 00:21:21,710 AUDIÈNCIA: [inaudible] al costat de la mantega de cacauet. 466 00:21:21,710 --> 00:21:21,870 DAVID J. Malan: Què? 467 00:21:21,870 --> 00:21:22,520 Digues-ho de nou. 468 00:21:22,520 --> 00:21:26,308 >> AUDIÈNCIA: Desenrosque la tapa i posar suaument al costat de la mantega de cacauet. 469 00:21:26,308 --> 00:21:31,490 >> DAVID J. Malan: Posi suaument al costat de la mantega de cacauet. 470 00:21:31,490 --> 00:21:37,770 471 00:21:37,770 --> 00:21:40,090 Acceptar, el progrés. 472 00:21:40,090 --> 00:21:41,080 Pas cinc. 473 00:21:41,080 --> 00:21:42,380 Excel · lent. 474 00:21:42,380 --> 00:21:43,261 Sí? 475 00:21:43,261 --> 00:21:44,163 >> Recull el ganivet. 476 00:21:44,163 --> 00:21:46,380 477 00:21:46,380 --> 00:21:47,630 DAVID J. Malan: Pick up ganivet. 478 00:21:47,630 --> 00:21:52,320 479 00:21:52,320 --> 00:21:53,631 Acceptar, pas 6. 480 00:21:53,631 --> 00:21:54,130 Sí? 481 00:21:54,130 --> 00:21:56,237 >> AUDIÈNCIA: Sostingui el ganivet pel mànec. 482 00:21:56,237 --> 00:21:57,945 DAVID J. Malan: Mantingui ganivet pel mànec. 483 00:21:57,945 --> 00:22:00,710 484 00:22:00,710 --> 00:22:03,230 Mantingui ganivet pel mànec. 485 00:22:03,230 --> 00:22:04,880 Pas 7. 486 00:22:04,880 --> 00:22:05,692 Sí? 487 00:22:05,692 --> 00:22:10,030 >> AUDIÈNCIA: Ganivet de [inaudible] en maní la mantega i la menor a [inaudible]. 488 00:22:10,030 --> 00:22:13,070 >> DAVID J. Malan: Posa ganivet en-- I sentit "ganivet lloc en la mantega de cacauet 489 00:22:13,070 --> 00:22:19,500 i prendre tan poc com sigui possible ". 490 00:22:19,500 --> 00:22:22,480 Per cert, primer traieu el paper. 491 00:22:22,480 --> 00:22:29,320 492 00:22:29,320 --> 00:22:31,890 Molt bé, el pas nou. 493 00:22:31,890 --> 00:22:34,910 Pas nou. 494 00:22:34,910 --> 00:22:35,624 Pas nou. 495 00:22:35,624 --> 00:22:37,290 En realitat no hem fet un sandvitx encara. 496 00:22:37,290 --> 00:22:37,790 Sí? 497 00:22:37,790 --> 00:22:41,570 AUDIÈNCIA: Usant un ganivet a la mantega de cacauet, aplicar mantega de cacauet en aquest pa. 498 00:22:41,570 --> 00:22:47,440 >> DAVID J. Malan: Usant un ganivet a mantega de cacauet, mantega de cacauet a aplicar 499 00:22:47,440 --> 00:22:48,736 dit pa. 500 00:22:48,736 --> 00:22:56,030 >> [AUDIÈNCIA DE RIURE] 501 00:22:56,030 --> 00:22:59,480 DAVID J. Malan: Tot pas correcte 10. 502 00:22:59,480 --> 00:23:01,762 Pas 10. 503 00:23:01,762 --> 00:23:02,750 Sí? 504 00:23:02,750 --> 00:23:05,220 >> AUDIÈNCIA: Sabor cacauet mantega per garantir la qualitat. 505 00:23:05,220 --> 00:23:15,960 >> [AUDIÈNCIA DE RIURE] 506 00:23:15,960 --> 00:23:16,960 DAVID J. Malan: Pas 11. 507 00:23:16,960 --> 00:23:19,500 508 00:23:19,500 --> 00:23:21,340 Pas 11. 509 00:23:21,340 --> 00:23:22,101 Pas 11. 510 00:23:22,101 --> 00:23:22,600 Vingui. 511 00:23:22,600 --> 00:23:23,099 Sí? 512 00:23:23,099 --> 00:23:24,208 Aquí mateix. 513 00:23:24,208 --> 00:23:25,840 >> AUDIÈNCIA: Recolliu acuradament gelea. 514 00:23:25,840 --> 00:23:28,220 >> DAVID J. Malan: Recolliu acuradament gelea. 515 00:23:28,220 --> 00:23:29,970 Acceptar i, a continuació, una altra mà pujava. 516 00:23:29,970 --> 00:23:32,812 517 00:23:32,812 --> 00:23:33,520 Just darrere teu. 518 00:23:33,520 --> 00:23:35,761 Sí, en blau. 519 00:23:35,761 --> 00:23:40,671 >> AUDIÈNCIA: Molt bé, tregui tapa de [inaudible], sí, 520 00:23:40,671 --> 00:23:42,635 retiri la tapa de la gelea. 521 00:23:42,635 --> 00:23:43,617 >> [AUDIÈNCIA DE RIURE] 522 00:23:43,617 --> 00:23:44,742 >> DAVID J. Malan: Des de gelea. 523 00:23:44,742 --> 00:23:45,581 Ha, ha. 524 00:23:45,581 --> 00:23:48,967 >> [AUDIÈNCIA DE RIURE] 525 00:23:48,967 --> 00:23:49,800 DAVID J. Malan: I? 526 00:23:49,800 --> 00:23:52,490 AUDIÈNCIA: I tot just escombrar qualsevol [inaudible]. 527 00:23:52,490 --> 00:23:59,536 [AUDIÈNCIA DE RIURE] 528 00:23:59,536 --> 00:24:04,456 AUDIÈNCIA: Per descomptat, abans de [inaudible], traieu el paper de la gelea. 529 00:24:04,456 --> 00:24:06,940 DAVID J. Malan: Traieu el paper de la gelea. 530 00:24:06,940 --> 00:24:08,229 Pas 14. 531 00:24:08,229 --> 00:24:09,020 Ja gairebé arribem. 532 00:24:09,020 --> 00:24:09,857 Sí? 533 00:24:09,857 --> 00:24:12,600 >> AUDIÈNCIA: Ampolla gelea Invertir abans que tot cau. 534 00:24:12,600 --> 00:24:16,515 >> DAVID J. Malan: Invertir gelea ampolla abans de gelea cau. 535 00:24:16,515 --> 00:24:19,070 536 00:24:19,070 --> 00:24:19,890 Pas 15. 537 00:24:19,890 --> 00:24:21,130 >> AUDIÈNCIA: Torneu a posar la tapa. 538 00:24:21,130 --> 00:24:22,463 >> DAVID J. Malan: Torneu a posar la tapa. 539 00:24:22,463 --> 00:24:25,880 540 00:24:25,880 --> 00:24:28,190 Pas 16. 541 00:24:28,190 --> 00:24:28,931 Sí? 542 00:24:28,931 --> 00:24:29,806 >> AUDIÈNCIA: [inaudible] 543 00:24:29,806 --> 00:24:34,109 544 00:24:34,109 --> 00:24:35,400 DAVID J. Malan: Digui això una altra vegada. 545 00:24:35,400 --> 00:24:38,100 AUDIÈNCIA: casquet de la presa fora del seu gelatina. 546 00:24:38,100 --> 00:24:39,650 DAVID J. Malan: Off seva gelatina. 547 00:24:39,650 --> 00:24:43,720 548 00:24:43,720 --> 00:24:49,510 Així realmente-- Ui. 549 00:24:49,510 --> 00:24:50,420 Vingui. 550 00:24:50,420 --> 00:24:51,740 Torneu a posar la tapa. 551 00:24:51,740 --> 00:24:56,660 Posi cap-- Vas dir tregui la tapa de la gelea. 552 00:24:56,660 --> 00:24:58,950 Sent com si estiguéssim en una mica d'un bucle. 553 00:24:58,950 --> 00:24:59,640 Pas 17. 554 00:24:59,640 --> 00:25:00,398 Sí? 555 00:25:00,398 --> 00:25:02,639 >> AUDIÈNCIA: [inaudible] 556 00:25:02,639 --> 00:25:03,930 DAVID J. Malan: Digui això una altra vegada. 557 00:25:03,930 --> 00:25:05,150 AUDIÈNCIA: [inaudible] 558 00:25:05,150 --> 00:25:07,835 DAVID J. Malan: Tornar a step-- 559 00:25:07,835 --> 00:25:10,110 AUDIÈNCIA: [inaudible] 560 00:25:10,110 --> 00:25:13,760 DAVID J. Malan: Traieu casquet de la mantega de cacauet. 561 00:25:13,760 --> 00:25:14,492 Sí? 562 00:25:14,492 --> 00:25:16,430 >> AUDIÈNCIA: caiguda de tot el gelea en el pa. 563 00:25:16,430 --> 00:25:19,040 >> DAVID J. Malan: caiguda de tot la gelea en el pa. 564 00:25:19,040 --> 00:25:25,372 565 00:25:25,372 --> 00:25:26,830 DAVID J. Malan: Estem gairebé allà. 566 00:25:26,830 --> 00:25:27,800 Pas 19. 567 00:25:27,800 --> 00:25:30,250 >> AUDIÈNCIA: Traieu l'excés de gelatina. 568 00:25:30,250 --> 00:25:31,720 >> DAVID J. Malan: Haha, la gelea. 569 00:25:31,720 --> 00:25:36,615 >> [Aplaudiments] 570 00:25:36,615 --> 00:25:39,240 DAVID J. Malan: Per què no nosaltres-- un pas més per prendre aquesta llar. 571 00:25:39,240 --> 00:25:41,720 Un pas més i després servirem entrepans. 572 00:25:41,720 --> 00:25:42,900 Sí? 573 00:25:42,900 --> 00:25:45,570 >> AUDIÈNCIA: [inaudible] 574 00:25:45,570 --> 00:25:50,704 >> DAVID J. Malan: Mentre que qualsevol sandvitx guió ens va deixar remains-- esto-- menjar. 575 00:25:50,704 --> 00:25:56,400 >> [Rialles de l'audiència] 576 00:25:56,400 --> 00:26:00,395 >> DAVID J. Malan: Molt bé, gràcies Gràcies als nostres voluntaris aquí. 577 00:26:00,395 --> 00:26:06,150 >> [Aplaudiments} 578 00:26:06,150 --> 00:26:08,940 >> DAVID J. Malan: Tenim algunes bones regals de comiat per a cada un de vosaltres. 579 00:26:08,940 --> 00:26:14,350 La seva pròpia mantega de cacauet, gelea, i el pa per portar a casa. 580 00:26:14,350 --> 00:26:15,774 Gràcies. 581 00:26:15,774 --> 00:26:17,118 >> Kiersten: Gràcies. 582 00:26:17,118 --> 00:26:18,618 DAVID J. Malan: [inaudible] benvinguda. 583 00:26:18,618 --> 00:26:21,849 [Aplaudiments] 584 00:26:21,849 --> 00:26:24,390 DAVID J. Malan: Així que, això és, de Per descomptat, un exemple ridícul. 585 00:26:24,390 --> 00:26:24,890 ¿Cert? 586 00:26:24,890 --> 00:26:28,890 Però això tipus de revelar com els éssers humans només tenen claredat per fet. 587 00:26:28,890 --> 00:26:30,890 I el fet que he estat parlar amb un altre ésser humà, 588 00:26:30,890 --> 00:26:33,300 ell o ella només sap el que vols dir. 589 00:26:33,300 --> 00:26:35,220 >> Els ordinadors no van saber el que vols dir, 590 00:26:35,220 --> 00:26:37,430 fins i tot quan s'utilitza, com estem a punt de fer avui, 591 00:26:37,430 --> 00:26:42,300 programar alguna cosa en Scratch, un llast i deixar anar, el llenguatge de trencaclosques estil peça. 592 00:26:42,300 --> 00:26:44,310 Fins i tot dissenyat per a joves els nens, que tenen 593 00:26:44,310 --> 00:26:48,726 ser tan explícita i tan literal amb el que vostè vol que el seu programa de fer. 594 00:26:48,726 --> 00:26:50,600 Ara, en última instància, estem serà la programació 595 00:26:50,600 --> 00:26:53,550 no en el codi de pseudocodi, Anglès com la sintaxi, 596 00:26:53,550 --> 00:26:56,370 però el codi o, més pròpiament, el codi font. 597 00:26:56,370 --> 00:26:59,260 El codi font és la forma elegant per descriure codi que en realitat 598 00:26:59,260 --> 00:27:01,730 escriure amb un teclat que és no en anglès per se. 599 00:27:01,730 --> 00:27:06,480 Està en C o Java o C ++ o alguna cosa així, com aviat veurem. 600 00:27:06,480 --> 00:27:09,510 >> I, de fet, només per espantar a un pocs de vostès, a primera vista, 601 00:27:09,510 --> 00:27:13,769 aquest és un programa escrit en un llenguatge anomenat C. Però per a un-ensurt a alguns de vostès, 602 00:27:13,769 --> 00:27:15,560 ho faràs completament entendre el que està passant 603 00:27:15,560 --> 00:27:18,980 en venir el proper dilluns quan es arriba a alguna cosa com això. 604 00:27:18,980 --> 00:27:20,510 Francament, aquesta és una llengua més antiga. 605 00:27:20,510 --> 00:27:22,430 És bastant arcà, però és representativa 606 00:27:22,430 --> 00:27:26,120 d'una gran quantitat d'idiomes en aquests dies que tenen un munt de parèntesi i arrissat 607 00:27:26,120 --> 00:27:28,630 claus i cometes i punts i comes. 608 00:27:28,630 --> 00:27:30,780 I molt d'això coses sintàctica que no és 609 00:27:30,780 --> 00:27:32,450 en absolut intel·lectualment interessant. 610 00:27:32,450 --> 00:27:35,790 De fet, es tracta d'una distracció absoluta des de les idees molt simples 611 00:27:35,790 --> 00:27:37,370 que ens estan mirant a la cara. 612 00:27:37,370 --> 00:27:41,760 Aquest programa, com que només podria endevinar, imprimeix a la pantalla de l'ordinador d'algú 613 00:27:41,760 --> 00:27:44,070 les paraules "Hola món mengi." 614 00:27:44,070 --> 00:27:44,860 Això és tot. 615 00:27:44,860 --> 00:27:46,580 Així que, clarament, no hi ha un munt de coses que són 616 00:27:46,580 --> 00:27:48,970 en el camí de alguns obvietat allà, 617 00:27:48,970 --> 00:27:52,490 però caurà molt ràpidament de distància i ser completament intuïtiva. 618 00:27:52,490 --> 00:27:55,617 >> De fet, el que farem avui es destil aquesta força complex 619 00:27:55,617 --> 00:27:58,950 programa que busca, que al seu torn li va a venir comprendre ràpidament, sinó a alguna cosa 620 00:27:58,950 --> 00:27:59,710 molt més simple. 621 00:27:59,710 --> 00:28:01,640 Diguem el que volem dir. 622 00:28:01,640 --> 00:28:05,590 Anem a dibuixar una imatge del que volem dir, a través d'aquestes peces del trencaclosques aquí. 623 00:28:05,590 --> 00:28:09,110 >> Així que aquesta és una programació llenguatge conegut com esgarrapades. 624 00:28:09,110 --> 00:28:11,080 Va ser desenvolupat per el Media Lab del MIT. 625 00:28:11,080 --> 00:28:14,830 I el que vostè veurà en problema d'ajust a zero, que serà llançat més tard aquesta nit, 626 00:28:14,830 --> 00:28:18,980 anem a haver d'anar a aquest URL aquí scratch.mit.edu. 627 00:28:18,980 --> 00:28:20,940 I tenen un web interfície basada través de la qual 628 00:28:20,940 --> 00:28:22,540 vostè va a escriure el seu primer programa. 629 00:28:22,540 --> 00:28:25,330 O aquells de vostès amb anterioritat experiència, els seus programes de segon, 630 00:28:25,330 --> 00:28:28,090 però en un entorn que és probablement una mica familiaritzat i que 631 00:28:28,090 --> 00:28:32,930 et empenyerà per crear alguna cosa utilitzant aquest entorn molt visual. 632 00:28:32,930 --> 00:28:35,940 >> Ara, el que faré aquí és obrir el programa en si. 633 00:28:35,940 --> 00:28:41,911 Existeix no només com un navegador web, sinó també com un programa descarregable 634 00:28:41,911 --> 00:28:44,660 pel que en realitat es pot utilitzar si vostè no té accés a internet. 635 00:28:44,660 --> 00:28:46,743 I jo faré que aquí, a Sanders, només 636 00:28:46,743 --> 00:28:49,580 en cas que el Wi-Fi no és així cooperar súper bé. 637 00:28:49,580 --> 00:28:52,640 I el que faré és el punt terme algunes característiques d'aquest programa. 638 00:28:52,640 --> 00:28:55,720 Així que, perquè quedi clar, que acabo de doble clic a la icona a l'escriptori, 639 00:28:55,720 --> 00:28:59,830 o equivalentment anat a scratch.mit.edu, i es va aturar aquesta finestra. 640 00:28:59,830 --> 00:29:01,650 Aquest és un entorn de programació. 641 00:29:01,650 --> 00:29:04,110 És una peça de programari que alguns dels nostres amics al MIT 642 00:29:04,110 --> 00:29:08,850 escriure que anem nosaltres i ens escriu programes en un llenguatge anomenat esgarrapades. 643 00:29:08,850 --> 00:29:12,010 >> Ara bé, això passa a ser un cat qui també va nomenar esgarrapades 644 00:29:12,010 --> 00:29:13,890 i aquest és el seu món en què viu. 645 00:29:13,890 --> 00:29:17,175 Aquesta és l'etapa, per així dir-ho, que rectangle a la cantonada superior esquerra. 646 00:29:17,175 --> 00:29:18,800 I ell no ha de semblar-se a un gat. 647 00:29:18,800 --> 00:29:20,591 Vostè pot fer que es vegi com qualsevol cosa i vostè 648 00:29:20,591 --> 00:29:23,700 pot tenir molts d'aquests sprites, o caràcters, en un programa. 649 00:29:23,700 --> 00:29:27,450 Mentrestant, aquí a l'extrem dret, és una gran pissarra en blanc. 650 00:29:27,450 --> 00:29:30,260 I és aquí on, en un moment, anem a iniciar la programació 651 00:29:30,260 --> 00:29:32,750 arrossegant i deixant anar aquests trencaclosques gràfica 652 00:29:32,750 --> 00:29:35,300 peces que són perfectes aquí al mig. 653 00:29:35,300 --> 00:29:38,140 I hi ha molt més d'ells que anem a passar el temps aquí a la classe 654 00:29:38,140 --> 00:29:40,080 perquè trobareu que tots són bastant intuïtiu. 655 00:29:40,080 --> 00:29:41,788 Una vegada més, està dissenyat per als nens, sinó que 656 00:29:41,788 --> 00:29:45,759 utilitzar-lo per esmicolar alguns dels idees fonamentals de variables, bucles, 657 00:29:45,759 --> 00:29:48,050 condicions, i, aviat, les coses com les funcions i esdeveniments 658 00:29:48,050 --> 00:29:51,810 i les rosques i altres coses de luxe que anem a arribar en poc temps per realment crear 659 00:29:51,810 --> 00:29:53,840 alguna cosa des de zero. 660 00:29:53,840 --> 00:29:54,810 Mai millor dit. 661 00:29:54,810 --> 00:29:58,740 >> Ara, el que vaig a fer aquí és feu clic a no moviment, però el control. 662 00:29:58,740 --> 00:30:01,400 I això és només una categorització aquí-- 663 00:30:01,400 --> 00:30:03,150 i veig una diferent grup de colors dels blocs. 664 00:30:03,150 --> 00:30:05,030 Però notar algunes paraules familiars. 665 00:30:05,030 --> 00:30:07,830 "Si" i "else if" i "repetició". 666 00:30:07,830 --> 00:30:10,440 I és fàcil endevinar que és una reminiscència de la branca, 667 00:30:10,440 --> 00:30:12,870 o les condicions que vam veure, i fins i tot la construcció de bucle. 668 00:30:12,870 --> 00:30:14,760 Així que tenim blocs similars aquí. 669 00:30:14,760 --> 00:30:16,720 Però el més interessant un és aquest d'aquí. 670 00:30:16,720 --> 00:30:20,690 Quan es fa clic en aquesta bandera verda, això, per a aquells amb la programació prèvia 671 00:30:20,690 --> 00:30:23,110 experiència, és equivalent a una funció principal. 672 00:30:23,110 --> 00:30:25,300 Però per a aquells que no coneixen, aquesta és la peça del trencaclosques 673 00:30:25,300 --> 00:30:27,320 que serà posar en marxa tot el nostre programa. 674 00:30:27,320 --> 00:30:31,350 Literalment vol dir quan vaig, en aquest programa, i feu clic a un flag-- verd 675 00:30:31,350 --> 00:30:35,560 que es pot veure aquí al cantonada superior esquerra de la interfície d'usuari, 676 00:30:35,560 --> 00:30:38,570 així a veure la bandera verda al costat de la senyal de stop de color vermell? 677 00:30:38,570 --> 00:30:41,475 Quan faig clic en això, la meva programa es va a executar. 678 00:30:41,475 --> 00:30:43,850 Ara, jo vaig a fer alguna cosa super simple amb esgarrapades. 679 00:30:43,850 --> 00:30:46,640 Vaig a seguir endavant i aneu al tauler de mirades 680 00:30:46,640 --> 00:30:50,010 aquí, on tinc un munt de les peces del trencaclosques de color porpra, 681 00:30:50,010 --> 00:30:53,887 i jo vaig a seguir endavant i fer alguna cosa super simple com, per exemple. 682 00:30:53,887 --> 00:30:55,720 I fixeu-vos llavors-- aquest text en el quadre blanc 683 00:30:55,720 --> 00:30:59,290 és editable-- diré "Hola món", igual que 684 00:30:59,290 --> 00:31:01,470 va fer en aquest textual versió fa un moment. 685 00:31:01,470 --> 00:31:05,920 I ara si em vaig i feu clic en aquest bandera verda, que ara han programat. 686 00:31:05,920 --> 00:31:07,810 No és un particular programa interessant, 687 00:31:07,810 --> 00:31:09,760 però vaig fer que l'ordinador faci alguna cosa. 688 00:31:09,760 --> 00:31:13,120 Vaig començar un programa i vaig fer el que em van dir que fes. 689 00:31:13,120 --> 00:31:16,170 Ara, puc continuar per arrossegar i deixar anar més i més d'aquestes peces del trencaclosques 690 00:31:16,170 --> 00:31:19,220 i que van a entrellaçar, però anem a bufetada alguna terminologia aquí 691 00:31:19,220 --> 00:31:21,680 que veurem recurrents durant tot el curs, 692 00:31:21,680 --> 00:31:24,610 i realment llarg de la informàtica i la programació en general. 693 00:31:24,610 --> 00:31:27,990 >> Aquest "dir" del bloc, en porpra, anem a simplement començar a cridar un comunicat. 694 00:31:27,990 --> 00:31:29,240 És com una declaració de fet. 695 00:31:29,240 --> 00:31:30,380 Feu això. 696 00:31:30,380 --> 00:31:32,590 Així que, és una categoria de instruccions que 697 00:31:32,590 --> 00:31:36,760 podria alimentar un equip com a part d'un programa o un algoritme. 698 00:31:36,760 --> 00:31:39,270 I per ser clar, que hi hagi probablement es dóna per fet 699 00:31:39,270 --> 00:31:41,930 que té programes al seu ordinador. 700 00:31:41,930 --> 00:31:45,850 I són tipus d'algorismes, sinó una programa és en realitat un munt d'algoritmes 701 00:31:45,850 --> 00:31:47,160 que alguns humans van escriure. 702 00:31:47,160 --> 00:31:49,040 Ells s'empaquen cap amunt i el van vendre per la qual cosa, 703 00:31:49,040 --> 00:31:51,330 o es publicaran en una pàgina web perquè puguis descarregar. 704 00:31:51,330 --> 00:31:54,930 Per tant, un programa és només una tota munt de zeros i uns 705 00:31:54,930 --> 00:31:56,970 que, d'alguna manera, els éssers humans van crear. 706 00:31:56,970 --> 00:32:00,080 I aquests patrons de zeros i els representen coses, en última instància, 707 00:32:00,080 --> 00:32:04,030 com o "joc" dir hola món " aquesta música "o" reproduir aquest vídeo " 708 00:32:04,030 --> 00:32:05,129 o "enviar un correu electrònic." 709 00:32:05,129 --> 00:32:06,920 Però anem a tornar a de manera més detall el 710 00:32:06,920 --> 00:32:08,780 un programa és quan vostè, vostè mateix, ells escriuen. 711 00:32:08,780 --> 00:32:11,320 >> Hi ha un altre statement-- "Esperi un segon." 712 00:32:11,320 --> 00:32:14,330 No vaig fer ús d'això encara, però si vull el meu programa per fer una pausa per un moment 713 00:32:14,330 --> 00:32:16,540 fer alguna cosa, puc dir-li que ho faci. 714 00:32:16,540 --> 00:32:18,450 Espereu un segon. 715 00:32:18,450 --> 00:32:20,150 Ara un altre podria ser "reproduir el so." 716 00:32:20,150 --> 00:32:23,270 Així que, això és únic en Scratch, que té la capacitat de reproduir sons. 717 00:32:23,270 --> 00:32:26,130 Per tant, una declaració que podria ús és, aquí, "jugar de so." 718 00:32:26,130 --> 00:32:29,530 Mentrestant, l'expressió booleana, pel que aquesta és una paraula més elegant 719 00:32:29,530 --> 00:32:34,490 nomenat després de només un tipus anomenat Mr Bool, i això té a veure amb una pregunta. 720 00:32:34,490 --> 00:32:37,470 Veritable o false-- és el ratolí? 721 00:32:37,470 --> 00:32:41,100 Una expressió booleana és només alguna expressió en anglès 722 00:32:41,100 --> 00:32:42,860 és a dir, ja sigui vertadera o falsa. 723 00:32:42,860 --> 00:32:44,140 Ja sigui dins o fora. 724 00:32:44,140 --> 00:32:45,130 O bé un o zero. 725 00:32:45,130 --> 00:32:46,960 Vostè pot pensar en ell en qualsevol nombre de maneres, 726 00:32:46,960 --> 00:32:49,220 però és vertadera o aquesta falsa, en última instància. 727 00:32:49,220 --> 00:32:52,540 Així "ratolí cap avall signe d'interrogació," això seria una expressió booleana. 728 00:32:52,540 --> 00:32:54,300 I vostè pot pensar en els altres, potser. 729 00:32:54,300 --> 00:32:57,510 Per exemple, "és el nombre de l'esquerra menor que el nombre correcte? " 730 00:32:57,510 --> 00:32:59,410 Això, també, hauria una expressió booleana. 731 00:32:59,410 --> 00:33:01,540 "Menys" és una expressió booleana. 732 00:33:01,540 --> 00:33:03,280 >> Aquest, també, "punter del ratolí commovedor." 733 00:33:03,280 --> 00:33:05,196 No estic segur de per què anomenat punter del ratolí. 734 00:33:05,196 --> 00:33:08,430 Només vol dir, és que el cursor, és el fletxa a la pantalla, tocant el gat, 735 00:33:08,430 --> 00:33:09,022 per exemple. 736 00:33:09,022 --> 00:33:10,480 O algun altre aspecte de la pantalla. 737 00:33:10,480 --> 00:33:13,710 I és una pregunta, un cop més, i que denota una expressió booleana. 738 00:33:13,710 --> 00:33:17,130 Una cosa que et poden que vulgueu utilitzar en una condició. 739 00:33:17,130 --> 00:33:19,100 Així que anem a arribar a això en un moment. 740 00:33:19,100 --> 00:33:20,350 Vostè pot "i" coses juntes. 741 00:33:20,350 --> 00:33:23,099 Així que, si vostè vol comprovar si aquest és el cas i que és el cas, 742 00:33:23,099 --> 00:33:25,580 vostè pot utilitzar una "i" bloc com aquest. 743 00:33:25,580 --> 00:33:26,850 I aquí està aquesta condició. 744 00:33:26,850 --> 00:33:31,290 Observeu la forma de la petita obertura a la part superior d'aquesta peça del trencaclosques de color groc, 745 00:33:31,290 --> 00:33:34,480 que és una reminiscència de la forma que acabem de veure fa un moment. 746 00:33:34,480 --> 00:33:37,920 Cadascuna d'aquestes expressions booleanes tenir aquests vores punxegudes 747 00:33:37,920 --> 00:33:39,030 a l'esquerra i la dreta. 748 00:33:39,030 --> 00:33:43,140 I això és perquè la gent del MIT decidir que per les formes de transport visualment, 749 00:33:43,140 --> 00:33:45,780 vostè pot classe d'ajudar a la gent, estudiants i nens per igual, 750 00:33:45,780 --> 00:33:47,650 per omplir classe dels espais en blanc, literalment. 751 00:33:47,650 --> 00:33:49,780 >> Ara que puzzle-- que obertura és una mica petita, 752 00:33:49,780 --> 00:33:52,750 i com veurem en el programa, en Scratch, que creixerà per adaptar-se. 753 00:33:52,750 --> 00:33:54,830 Es mantindrà la seva forma, en última instància. 754 00:33:54,830 --> 00:33:58,350 Així que una condició anem a decidir "He de fer alguna cosa o no?" 755 00:33:58,350 --> 00:34:00,470 Una expressió booleana és la pregunta real 756 00:34:00,470 --> 00:34:04,100 que utilitza per decidir què vaig a l'OR vaig deixar faig per anar a la dreta 757 00:34:04,100 --> 00:34:06,710 quan em trobo amb aquest anomenat forquilla a la carretera? 758 00:34:06,710 --> 00:34:07,980 Vostè pot tenir dues branques. 759 00:34:07,980 --> 00:34:10,909 Si alguna cosa és cert, fer això, en cas contrari anar d'aquesta manera, 760 00:34:10,909 --> 00:34:14,590 o simplement pot no fer res en tot, com aquest bloc implícita. 761 00:34:14,590 --> 00:34:16,360 De la mateixa manera, es poden niar aquestes coses. 762 00:34:16,360 --> 00:34:20,204 Així que si vostè vol que es tripliqui en la forquilla carretera, o bé fer això o això o allò, 763 00:34:20,204 --> 00:34:21,870 vostè pot tot just niu aquestes coses juntes. 764 00:34:21,870 --> 00:34:24,520 I comença a ser una mica lleig, amb el temps, amb certesa, 765 00:34:24,520 --> 00:34:26,120 però la lògica segueix sent la mateixa. 766 00:34:26,120 --> 00:34:28,000 Vostè pot llegir literalment aquesta dalt a baix 767 00:34:28,000 --> 00:34:33,290 i diu el que vol dir: si aquest És cert, fer això, més si la resta. 768 00:34:33,290 --> 00:34:36,179 >> Un bucle no aconsegueix més simple en scratch. 769 00:34:36,179 --> 00:34:37,422 Sempre feu el següent. 770 00:34:37,422 --> 00:34:39,880 Ara vostè no pot pensar que pot fer molt perquè no hi ha 771 00:34:39,880 --> 00:34:42,839 la quantitat d'espai entre la part superior i la part inferior d'aquesta obertura peça del trencaclosques. 772 00:34:42,839 --> 00:34:45,671 Però veuràs esgarrapades va créixer per adaptar-se a la major quantitat de peces d'un trencaclosques 773 00:34:45,671 --> 00:34:47,060 com vostè vol ficar aquí. 774 00:34:47,060 --> 00:34:48,960 Un altre bucle podria ser expressat amb repeticions. 775 00:34:48,960 --> 00:34:51,590 Si vostè sap per endavant ", I voler fer alguna cosa 10 vegades, " 776 00:34:51,590 --> 00:34:54,010 vostè pot dir-li a les ratllades fer alguna cosa 10 vegades. 777 00:34:54,010 --> 00:34:57,260 I, mentrestant, podem tenir variables. 778 00:34:57,260 --> 00:34:59,572 Així que aquí és arbitrària, És de color taronja en aquest cas, 779 00:34:59,572 --> 00:35:00,780 i aquest és un viatge llampec. 780 00:35:00,780 --> 00:35:04,540 Una vegada més, es troba aquesta molt accessible una vegada de començar a assenyalar i fer clic. 781 00:35:04,540 --> 00:35:07,930 He nomenat al meu variable n, però jo podria haver anomenat ell el que vulgui, 782 00:35:07,930 --> 00:35:11,280 i jo estic donant aquí, a aquest exemple arbitrari, a zero. 783 00:35:11,280 --> 00:35:14,250 >> Ara veient un programa com hola món no és tan convincent, 784 00:35:14,250 --> 00:35:17,900 així que anem a obrir en realitat alguna cosa que un ex estudiant va fer. 785 00:35:17,900 --> 00:35:23,100 Déjame anar per davant i obro, per exemple, aquesta d'aquí, 786 00:35:23,100 --> 00:35:26,780 per als que m'encantaria tenir un voluntari. 787 00:35:26,780 --> 00:35:28,450 Molt bé, sobre-- anirem més lluny. 788 00:35:28,450 --> 00:35:29,240 Sí, anem a dalt. 789 00:35:29,240 --> 00:35:30,056 Quin és el teu nom? 790 00:35:30,056 --> 00:35:30,635 >> ABBY: Abby. 791 00:35:30,635 --> 00:35:32,010 DAVID J. Malan: Abby, anem a dalt. 792 00:35:32,010 --> 00:35:35,930 Així que alguna vegada has jugat aquest joc abans? 793 00:35:35,930 --> 00:35:36,430 ABBY: No 794 00:35:36,430 --> 00:35:37,370 DAVID J. Malan: Molt bé. 795 00:35:37,370 --> 00:35:38,380 David, un plaer conèixer-te. 796 00:35:38,380 --> 00:35:39,620 Vine a treballar. 797 00:35:39,620 --> 00:35:42,300 I quina és la seva programació fons, si n'hi ha. 798 00:35:42,300 --> 00:35:43,914 >> ABBY: He après una mica de C ++. 799 00:35:43,914 --> 00:35:45,580 DAVID J. Malan: Has après alguna cosa de C ++. 800 00:35:45,580 --> 00:35:48,382 I el que és el seu joc tocant fons? 801 00:35:48,382 --> 00:35:49,505 >> ABBY: No gaire. 802 00:35:49,505 --> 00:35:51,130 DAVID J. Malan: OK, així que anem a prendre això. 803 00:35:51,130 --> 00:35:52,700 Així que aquí està com el joc funcionarà. 804 00:35:52,700 --> 00:35:54,510 Vaig a seguir endavant i feu clic a la bandera verda, que 805 00:35:54,510 --> 00:35:55,830 és aquí a la part superior dreta. 806 00:35:55,830 --> 00:35:59,710 Ara el seu predecessor a la classe t'ha donat algunes instruccions aquí. 807 00:35:59,710 --> 00:36:02,306 I en un moment, es diu que "l'espai per començar." 808 00:36:02,306 --> 00:36:03,680 Així que endavant i prem la barra espaiadora. 809 00:36:03,680 --> 00:36:05,507 >> JOC D'ORDINADOR: Pikachu. 810 00:36:05,507 --> 00:36:08,340 DAVID J. Malan: I l'objectiu és agafar el menjar, tal com es representa allà 811 00:36:08,340 --> 00:36:09,320 a l'esquerra. 812 00:36:09,320 --> 00:36:11,388 I a [inaudible] 813 00:36:11,388 --> 00:36:15,356 >> [JOC 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, bé, gràcies per jugar. 816 00:36:29,610 --> 00:36:32,800 Tenim aquí una mica regal de comiat per a tu. 817 00:36:32,800 --> 00:36:35,574 Tenim bola de la tensió CS50, si voleu triar. 818 00:36:35,574 --> 00:36:36,820 Està bé, bé conèixer-te. 819 00:36:36,820 --> 00:36:39,680 Gràcies per venir i desafiant. 820 00:36:39,680 --> 00:36:42,410 821 00:36:42,410 --> 00:36:46,910 Així que tenim més boles d'estrès, de manera que farem un exemple més per motivar. 822 00:36:46,910 --> 00:36:48,150 Un voluntari? 823 00:36:48,150 --> 00:36:50,510 Molt bé, què hi ha de aquí davant. 824 00:36:50,510 --> 00:36:51,250 Quin és el teu nom? 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 Anem amunt, Phillip. 828 00:36:54,530 --> 00:36:57,340 Així, Phillip es va a ser desafiats amb un altre joc 829 00:36:57,340 --> 00:37:00,840 que un dels seus predecessors escriure com a part del problema d'ajust a zero, 830 00:37:00,840 --> 00:37:03,510 anomenat joc més difícil d'Ivy. 831 00:37:03,510 --> 00:37:05,980 I veurem en tan sols un moment el que es vol dir amb això. 832 00:37:05,980 --> 00:37:07,400 Phillip, encantat de conèixer-te. 833 00:37:07,400 --> 00:37:09,060 Quina és la seva formació? 834 00:37:09,060 --> 00:37:10,310 PHILLIP: Fet un munt de codificació. 835 00:37:10,310 --> 00:37:11,110 Fet una mica de joc, també. 836 00:37:11,110 --> 00:37:11,570 >> DAVID J. Malan: OK. 837 00:37:11,570 --> 00:37:12,620 Tens un munt de jocs, també. 838 00:37:12,620 --> 00:37:14,230 I has jugat abans a aquest joc? 839 00:37:14,230 --> 00:37:14,730 >> PHILLIP: No 840 00:37:14,730 --> 00:37:16,438 DAVID J. Malan: Tots bé, així que aquí anem. 841 00:37:16,438 --> 00:37:18,434 Vaig a seguir endavant i feu clic a la bandera verda. 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, "O NO POT TOCAR AIXÒ"] 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 [Rialles] 849 00:38:49,056 --> 00:38:50,680 [MÚSICA MC HAMMER, "O NO POT TOCAR AIXÒ"] 850 00:38:50,680 --> 00:38:52,660 DAVID J. Malan: [inaudible] Llaurar a través d'ell. 851 00:38:52,660 --> 00:38:54,094 PHILLIP: [inaudible] 852 00:38:54,094 --> 00:38:55,135 DAVID J. Malan: Endavant. 853 00:38:55,135 --> 00:39:01,570 [MÚSICA MC HAMMER, "O NO POT TOCAR AIXÒ"] 854 00:39:01,570 --> 00:39:15,832 855 00:39:15,832 --> 00:39:16,915 DAVID J. Malan: Molt bé. 856 00:39:16,915 --> 00:39:18,400 Felicitacions. 857 00:39:18,400 --> 00:39:25,150 >> [Aplaudiments] 858 00:39:25,150 --> 00:39:27,330 >> DAVID J. Malan: Nosaltres ja que en línia més tard per 859 00:39:27,330 --> 00:39:29,820 que es pot posposar les coses amb ell també. 860 00:39:29,820 --> 00:39:32,550 Princeton apareix al costat, després d'això. 861 00:39:32,550 --> 00:39:35,470 >> Així que ara anem a procedir en realitat de començar de zero, 862 00:39:35,470 --> 00:39:39,310 per així dir-ho, i en realitat acumulant fins podem esmicolar algunes d'aquestes idees 863 00:39:39,310 --> 00:39:41,970 i arribar a alguna cosa encara més complexes per al final. 864 00:39:41,970 --> 00:39:45,240 Em vaig a anar d'aquí i vaig seguir endavant i crear un nou arxiu. 865 00:39:45,240 --> 00:39:47,460 Així que de nou, el conjunt de problemes caminarà a través d'alguns d'aquests passos. 866 00:39:47,460 --> 00:39:49,300 Però, tot el que vaig fer va ser anar al menú Arxiu i jo 867 00:39:49,300 --> 00:39:52,760 dit "nou", tan semblant a Microsoft Word, o qualsevol programa així. 868 00:39:52,760 --> 00:39:56,630 >> I seguirem endavant i ens ara-- implementat "Hola món" fa un moment, 869 00:39:56,630 --> 00:39:58,410 però farem alguna cosa una mica més bonic. 870 00:39:58,410 --> 00:40:00,150 Vaig a anar als esdeveniments. 871 00:40:00,150 --> 00:40:02,350 I jo faré "quan bandera verda fa clic ". 872 00:40:02,350 --> 00:40:05,830 I després vaig a utilitzar, per així dir-ho, una branca. 873 00:40:05,830 --> 00:40:07,610 Així que vaig a utilitzar un "si" condició. 874 00:40:07,610 --> 00:40:10,940 I notar com pel que fa m'acosto a ell, que vol trencar junts. 875 00:40:10,940 --> 00:40:13,020 Així que vaig deixar anar i que encaixi junts. 876 00:40:13,020 --> 00:40:15,150 I ara puc fer alguna cosa interessant. 877 00:40:15,150 --> 00:40:19,150 Si puc desplaçar-me per aquí, vaig per veure un munt de blocs. 878 00:40:19,150 --> 00:40:22,620 Si vaig a "Dades" - em deixa el zoom en-- hi ha alguna cosa sobre les variables. 879 00:40:22,620 --> 00:40:26,160 Si vaig al "moviment", que pugui aparentment canviar les coses. 880 00:40:26,160 --> 00:40:28,760 Si vaig a "operadors" - oh, això és interessant, 881 00:40:28,760 --> 00:40:31,000 Puc triar un nombre a l'atzar. 882 00:40:31,000 --> 00:40:34,119 Així que m'ho dius a mi fer alguna cosa amb només certa probabilitat, perquè sí. 883 00:40:34,119 --> 00:40:36,160 Vaig a seguir endavant i arrossegar aquesta peça del trencaclosques, 884 00:40:36,160 --> 00:40:37,910 això és que menys de bloc, pel que és just 885 00:40:37,910 --> 00:40:39,480 "És aquest nombre a menys que un?" 886 00:40:39,480 --> 00:40:42,438 Però jo no vull un codi permanent un nombre perquè això és bastant inútil. 887 00:40:42,438 --> 00:40:46,270 Així que vaig a arrossegar aquesta peça aquí, i observi com que encaixi en, 888 00:40:46,270 --> 00:40:49,480 i ara vull seguir endavant i dir "si el nombre que es va escollir a l'atzar 889 00:40:49,480 --> 00:40:51,820 és menys de sis, feu el següent ". 890 00:40:51,820 --> 00:40:52,790 Ara, per menys de sis? 891 00:40:52,790 --> 00:40:56,400 Quina probabilitat és això de manera efectiva em donarà, només intuïtivament? 892 00:40:56,400 --> 00:40:57,440 Al voltant del 50%, no? 893 00:40:57,440 --> 00:41:01,190 Si el nombre que pot endevinar a l'atzar entre 1 i 10 és inferior a sis, 894 00:41:01,190 --> 00:41:03,480 clarament és un, dos, tres, quatre, o cinc. 895 00:41:03,480 --> 00:41:06,740 I pel que em donarà una 50% de probabilitat que passi? 896 00:41:06,740 --> 00:41:09,890 >> Bé farem alguna cosa com això, "jugar miol de so." 897 00:41:09,890 --> 00:41:11,750 I fixin-, de nou, la peça del trencaclosques creix 898 00:41:11,750 --> 00:41:13,700 per adaptar-se, tant de temps com les formes coincideixen. 899 00:41:13,700 --> 00:41:14,910 Això és l'important. 900 00:41:14,910 --> 00:41:18,000 Déjame anar a les ratllades aquí i feu clic a "play". 901 00:41:18,000 --> 00:41:19,300 No passa res. 902 00:41:19,300 --> 00:41:21,160 És un error? 903 00:41:21,160 --> 00:41:21,999 No, no cal. 904 00:41:21,999 --> 00:41:24,040 Podria ser simplement que una major nombre va ser triat. 905 00:41:24,040 --> 00:41:25,762 Així que anem a fer-ho de nou. 906 00:41:25,762 --> 00:41:27,550 Res. 907 00:41:27,550 --> 00:41:28,344 >> [Miolar] 908 00:41:28,344 --> 00:41:29,510 DAVID J. Malan: Aquí està. 909 00:41:29,510 --> 00:41:30,280 [Miolar] 910 00:41:30,280 --> 00:41:31,690 DAVID J. Malan: Una vegada més. 911 00:41:31,690 --> 00:41:32,300 No 912 00:41:32,300 --> 00:41:32,922 >> [Miolant] 913 00:41:32,922 --> 00:41:35,380 DAVID J. Malan: Així que si vostè té Alguna vegada ha jugat un joc, per descomptat, 914 00:41:35,380 --> 00:41:38,500 on la matèria està succeint a l'atzar, com els nois dolents estan venint o no 915 00:41:38,500 --> 00:41:41,350 venir a la pantalla, o les coses estan caient o no compresa, 916 00:41:41,350 --> 00:41:43,610 això és només perquè alguna cosa súper simple com això està succeint. 917 00:41:43,610 --> 00:41:46,010 Escolliu un número a l'atzar, i si és menor que un cert valor, 918 00:41:46,010 --> 00:41:49,100 potser fer això o potser fer això. 919 00:41:49,100 --> 00:41:51,340 Podem incorporar que en una condició. 920 00:41:51,340 --> 00:41:52,600 Anem a fer alguna cosa diferent. 921 00:41:52,600 --> 00:41:53,559 >> Permetin-me desaprofitar. 922 00:41:53,559 --> 00:41:56,058 Vostè pot desfer-se de coses per simplement arrossegant cap a l'esquerra 923 00:41:56,058 --> 00:41:56,810 i deixar anar. 924 00:41:56,810 --> 00:42:00,310 Deixin-me seguir endavant i fer un bloc per sempre i molt aviat fer alguna cosa molest. 925 00:42:00,310 --> 00:42:03,010 Déjame anar per davant i dir "jugar miol de so." 926 00:42:03,010 --> 00:42:06,620 Però jo no vull que això sigui massa molest, així que em agafo aquest bloc, 927 00:42:06,620 --> 00:42:09,090 "Espera un segon," i l'avís no hi ha més espai per a ella. 928 00:42:09,090 --> 00:42:11,310 Però si vas prou a prop, que vol anar-hi. 929 00:42:11,310 --> 00:42:14,100 Així que deixar anar i ho farà creixi per omplir el bloc. 930 00:42:14,100 --> 00:42:15,932 Així que ara, es tracta d'un bucle. 931 00:42:15,932 --> 00:42:16,432 [Miolant] 932 00:42:16,432 --> 00:42:18,473 DAVID J. Malan: Sóc literalment, fer això per sempre. 933 00:42:18,473 --> 00:42:19,360 Una i altra vegada. 934 00:42:19,360 --> 00:42:21,510 Això no és només un so natural. 935 00:42:21,510 --> 00:42:24,800 Deixin-me seguir endavant i canviar aquesta no un segon, dos segons 936 00:42:24,800 --> 00:42:25,854 i prem Enter. 937 00:42:25,854 --> 00:42:28,770 I el que és bo d'Scratch és que es pot programar de forma interactiva. 938 00:42:28,770 --> 00:42:32,450 Fer un canvi, potser premeu Enter o Reproduir de nou, i s'acaba de seguir endavant. 939 00:42:32,450 --> 00:42:34,962 Bé, ara ¿per què no ho fem cosa una mica més bonic? 940 00:42:34,962 --> 00:42:39,680 En lloc de fer tot des de zero, m'ho dius a mi anar per davant i obro un avanç 941 00:42:39,680 --> 00:42:43,180 va fer un, que em pre-cuit, anomenat "Pet del gat." 942 00:42:43,180 --> 00:42:44,920 I anem a publicar tots aquests arxius en línia, 943 00:42:44,920 --> 00:42:48,464 i problema d'ajust a zero li dirà com accedir-hi i obrir-los. 944 00:42:48,464 --> 00:42:49,880 I fixeu-vos, això és bastant simple. 945 00:42:49,880 --> 00:42:53,860 Però abans, em sembla que han agafat un bloc "per sempre", així que tinc un bucle. 946 00:42:53,860 --> 00:42:55,500 I després tinc una condició "if". 947 00:42:55,500 --> 00:42:57,410 Tinc una expressió booleana. 948 00:42:57,410 --> 00:43:00,100 >> Així que en anglès, només fent una ullada a això, especialment si vostè mai ha 949 00:43:00,100 --> 00:43:04,278 programada abans, només intuïtivament, el que és això farà, aquest programa? 950 00:43:04,278 --> 00:43:06,910 >> [Chatter AUDIÈNCIA] 951 00:43:06,910 --> 00:43:09,960 >> DAVID J. Malan: Si la seva mascota al gat, el gat va a miau, oi? 952 00:43:09,960 --> 00:43:14,560 Perquè "sempre desmarcant" es el punter del ratolí tocant el gat. 953 00:43:14,560 --> 00:43:17,630 Així que per ser clars, i jo no vaig dir això abans, tots aquests trencaclosques 954 00:43:17,630 --> 00:43:20,750 peces i la seqüència de comandaments que els hem combinat a, 955 00:43:20,750 --> 00:43:25,510 per així dir-ho, una seqüència d'ordres és sinònim programa, en realitat, pertany a aquest gat. 956 00:43:25,510 --> 00:43:30,110 I la raó perquè és-- avís es posa en relleu com aquest mateix gat aquí, 957 00:43:30,110 --> 00:43:32,710 aquí es pot crear un segon gat o un gos o realment 958 00:43:32,710 --> 00:43:33,970 tot el que vulguis de forma gràfica. 959 00:43:33,970 --> 00:43:35,900 Vostè pot importar alguna cosa des Photoshop, o similars, 960 00:43:35,900 --> 00:43:38,300 i integrar alguna cosa si voler fer que per a un projecte. 961 00:43:38,300 --> 00:43:40,174 I el que trobarà, en última instància, és que vostè 962 00:43:40,174 --> 00:43:44,800 pot afegir seqüències d'ordres, afegiu trencaclosques peces, a caràcters individuals. 963 00:43:44,800 --> 00:43:47,210 Així que tots aquests pertanyen a aquest gat particular. 964 00:43:47,210 --> 00:43:51,770 Així que ara si em vaig per davant i jugar aquest programa, no passa res. 965 00:43:51,770 --> 00:43:52,970 Però s'està executant. 966 00:43:52,970 --> 00:43:56,364 El programa és en aquest bucle sempre, tipus d'espera del que passi? 967 00:43:56,364 --> 00:43:57,230 >> [Chatter AUDIÈNCIA] 968 00:43:57,230 --> 00:43:58,130 >> DAVID J. Malan: acariciar al gat. 969 00:43:58,130 --> 00:43:59,800 Així que si em moc meu ratolí cap ell-- 970 00:43:59,800 --> 00:44:02,420 >> [Miolant] 971 00:44:02,420 --> 00:44:04,450 >> DAVID J. Malan: Així que ara Estic acariciant al gat. 972 00:44:04,450 --> 00:44:07,330 Mentrestant, podem tenir una branca doble. 973 00:44:07,330 --> 00:44:10,370 Déjame anar endavant i obrir fins a no acariciar al gat. 974 00:44:10,370 --> 00:44:12,160 Anem a publicar aquesta línia també. 975 00:44:12,160 --> 00:44:16,760 Això és una mica més complexa, però sense dir 976 00:44:16,760 --> 00:44:18,780 es pot endevinar potser el que va a succeir. 977 00:44:18,780 --> 00:44:20,160 >> [Miolant] 978 00:44:20,160 --> 00:44:23,900 >> DAVID J. Malan: Cat és miolant, gran temps vell. 979 00:44:23,900 --> 00:44:26,690 Però aquest programa és, per descomptat, anomenat "No acariciï el Gat," 980 00:44:26,690 --> 00:44:29,350 tan clarament, vull acariciar al gat. 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 gat. 983 00:44:31,940 --> 00:44:34,230 Ara, donem una ullada en un altre exemple aquí. 984 00:44:34,230 --> 00:44:38,035 Aquesta serà anomenada "Hi, Hi, Hi," per raons 985 00:44:38,035 --> 00:44:40,410 que quedarà clar, perquè tan aviat com em dirigeixo aquest cosa-- 986 00:44:40,410 --> 00:44:41,401 >> [Foca] 987 00:44:41,401 --> 00:44:43,942 DAVID J. Malan: Molt fàcil escriure programes 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: Ara no anirem en gran detall amb tot això, 990 00:44:48,540 --> 00:44:51,150 però noti que hi ha un parell de noves característiques aquí. 991 00:44:51,150 --> 00:44:55,540 Hi ha una variable, anomenada "silenciat" i després hi ha un munt de condicions. 992 00:44:55,540 --> 00:44:57,900 I per ara, permetin-me només es burlen de tu dient 993 00:44:57,900 --> 00:45:03,170 que si aquest noi es posa massa molest, Puc colpejar la barra d'espai i s'atura. 994 00:45:03,170 --> 00:45:05,880 Com que el paper exercit per aquestes dues seqüències d'ordres és el següent. 995 00:45:05,880 --> 00:45:08,510 Un d'ells està fent el bordant cada pocs segons. 996 00:45:08,510 --> 00:45:11,305 L'altre està a l'espera per a mi per colpejar la barra d'espai. 997 00:45:11,305 --> 00:45:14,780 I si ho faig colpejar la barra d'espai, que canviarà 998 00:45:14,780 --> 00:45:18,096 l'estat d'aquesta variable, el valor d'aquesta variable, que és pel que sembla 999 00:45:18,096 --> 00:45:20,470 anomenat "silenci," No em dic És una cosa avorrit com n, 1000 00:45:20,470 --> 00:45:22,370 El vaig trucar una paraula en anglès, "silenciat". 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 verdader a fals o fals a veritable. 1003 00:45:26,830 --> 00:45:28,930 I així, en realitat es pot veure ara, que 1004 00:45:28,930 --> 00:45:31,720 podria tenir dos guions, dos programes que s'executen de forma simultània, 1005 00:45:31,720 --> 00:45:34,360 i els dos d'ells podrien estar assegut en un bucle fent alguna cosa. 1006 00:45:34,360 --> 00:45:38,067 A l'espera del que és humà a fer una mena de colpejar la barra d'espai. 1007 00:45:38,067 --> 00:45:38,650 [Foca] 1008 00:45:38,650 --> 00:45:40,566 DAVID J. Malan: I ara ell està en camí de nou. 1009 00:45:40,566 --> 00:45:41,640 [Foca] 1010 00:45:41,640 --> 00:45:45,220 DAVID J. Malan: Llavors, què més Què podem fer amb aquests exemples? 1011 00:45:45,220 --> 00:45:50,920 Bé, seguirem endavant i fer una exemple amb comptar ovelles. 1012 00:45:50,920 --> 00:45:59,210 Anem a continuar aquesta en la línia aquí de-- obrirem l'exemple ovelles. 1013 00:45:59,210 --> 00:46:02,460 I avís, igual que abans, aquest, per sort, és una mica menys molest. 1014 00:46:02,460 --> 00:46:06,940 Una vegada em va colpejar jugar aquí-- Oh, no, això és molest. 1015 00:46:06,940 --> 00:46:10,130 Ell va a baa amb certa probabilitat. 1016 00:46:10,130 --> 00:46:11,050 Anem a jugar de nou. 1017 00:46:11,050 --> 00:46:15,221 >> [BLEETING OVELLES] 1018 00:46:15,221 --> 00:46:18,470 DAVID J. Malan: L'única diferència és hem canviat el vestit, per així dir-ho, 1019 00:46:18,470 --> 00:46:21,710 i estem reduint a la meitat i dir el que és nombre real. 1020 00:46:21,710 --> 00:46:24,680 Bé, seguirem endavant i portar això un pas més enllà. 1021 00:46:24,680 --> 00:46:28,190 I deixin-me burlen amb una altra característica aquí. 1022 00:46:28,190 --> 00:46:31,800 Seguirem endavant i obrir un programa anomenat Temes. 1023 00:46:31,800 --> 00:46:36,620 Tant com vostè pot tenir-ne un sprite, que té diverses seqüències d'ordres, 1024 00:46:36,620 --> 00:46:41,250 vostè pot tenir dues sprites, una au en un gat, cada un amb el seu propi guió. 1025 00:46:41,250 --> 00:46:43,976 I cada un d'ells pot operar simultàniament. 1026 00:46:43,976 --> 00:46:45,980 Si alguna vegada has escoltat la paraula "multithreading" 1027 00:46:45,980 --> 00:46:49,240 un ordinador és un mitjà "multiprocés" que pot fer diverses coses alhora, 1028 00:46:49,240 --> 00:46:50,880 i, de fet, pel que pot ratllar. 1029 00:46:50,880 --> 00:46:52,690 >> I ara compte l'ocell és una mica ximple. 1030 00:46:52,690 --> 00:46:55,100 És només fer les coses a l'atzar, rebotant a la pantalla. 1031 00:46:55,100 --> 00:46:59,460 És evident que el gat s'ha programat al tipus d'haver de busquen capacitats 1032 00:46:59,460 --> 00:47:02,680 a casa a en l'au perquè ell sempre apuntant a ell. 1033 00:47:02,680 --> 00:47:06,176 Fins que finalment, ell agafa l'ocell reial. 1034 00:47:06,176 --> 00:47:08,550 Així que no vaig a aturar-me en els detalls aquí, però vostè pot tipus de 1035 00:47:08,550 --> 00:47:12,160 albirar les mateixes formes, alguns "Si" les condicions, algunes variables, 1036 00:47:12,160 --> 00:47:15,740 potser alguns bucles, són en última instància, fer la mateixa cosa. 1037 00:47:15,740 --> 00:47:18,400 >> Ara vaig a seguir endavant i obrir una mica més en conjunt, 1038 00:47:18,400 --> 00:47:20,920 per embromar a alguns de vosaltres, particularment els més còmodes, 1039 00:47:20,920 --> 00:47:22,760 el que realment pot fer amb això. 1040 00:47:22,760 --> 00:47:26,080 Vaig a seguir endavant i obrir Botó aquí. 1041 00:47:26,080 --> 00:47:28,740 I aquest és un super programa senzill d'aparença, 1042 00:47:28,740 --> 00:47:34,190 però vés amb compte amb el que passa quan jo-- Compte amb el que 1043 00:47:34,190 --> 00:47:39,860 succeeix quan obro aquesta versió de la mateixa, aquí, al navegador, scratch.mit.edu. 1044 00:47:39,860 --> 00:47:43,460 I quan faig clic en aquest gran vermell botó, observi el que passa. 1045 00:47:43,460 --> 00:47:46,110 1046 00:47:46,110 --> 00:47:47,647 Llavors, què està passant aquí? 1047 00:47:47,647 --> 00:47:50,480 En realitat hi ha un munt més complexitat passant per sota de la campana, 1048 00:47:50,480 --> 00:47:52,896 tot i que he implementat això, o, francament, Dan Bradley 1049 00:47:52,896 --> 00:47:54,660 ha posat en marxa aquesta manera tan simple. 1050 00:47:54,660 --> 00:47:59,540 Ha dissenyat un trencaclosques esgarrapades personalitzada peça, conegut com una extensió de Scratch, 1051 00:47:59,540 --> 00:48:01,300 el va anomenar Toggle. 1052 00:48:01,300 --> 00:48:06,332 >> I ho Toggle fa és que envia un missatge a internet. 1053 00:48:06,332 --> 00:48:08,290 I aquest missatge en si es veu una mica críptic. 1054 00:48:08,290 --> 00:48:10,248 Però això, també, podràs entendre per fi de termini. 1055 00:48:10,248 --> 00:48:14,930 El missatge que en realitat l'enviament de es veu una mica d'alguna cosa com això. 1056 00:48:14,930 --> 00:48:15,921 És només text. 1057 00:48:15,921 --> 00:48:16,420 Cryptic. 1058 00:48:16,420 --> 00:48:19,130 Vostè entendrà que de moment tenim el problema conjunt de set. 1059 00:48:19,130 --> 00:48:22,180 És només l'enviament d'un missatge de text a través d'Internet a un servidor. 1060 00:48:22,180 --> 00:48:24,330 I aquest servidor és, en última instància, parlant amb aquesta bombeta, que 1061 00:48:24,330 --> 00:48:27,240 té una d'aquestes bombetes de luxe en el que, en si, és parlar 1062 00:48:27,240 --> 00:48:30,760 a la xarxa Wi-Fi de la xarxa aquí, on un dispositiu local baix aquí-- 1063 00:48:30,760 --> 00:48:34,400 i, en última instància, en realitat és convertir aquesta llum i s'apaga. 1064 00:48:34,400 --> 00:48:36,240 Però podem fer més coses interessants encara. 1065 00:48:36,240 --> 00:48:38,270 Noti el que Donen també va fer per nosaltres. 1066 00:48:38,270 --> 00:48:42,210 Va fer diversos sprites, cadascun que té una seqüència de comandaments en espera d'un clic. 1067 00:48:42,210 --> 00:48:44,030 I si faig clic en vermell, es posa vermella. 1068 00:48:44,030 --> 00:48:46,780 Si aconsegueixo blau, va blavós. 1069 00:48:46,780 --> 00:48:49,854 Verd, groc, taronja. 1070 00:48:49,854 --> 00:48:52,520 I tot això està succeint per anant sortida a l'internet, 1071 00:48:52,520 --> 00:48:54,690 retrocedir aquí per a la bombeta de llum, encès i apagat. 1072 00:48:54,690 --> 00:48:57,981 >> I si vostè pot creure it-- i això és potser un dels més complexos de Scratch 1073 00:48:57,981 --> 00:49:00,930 projectes algú té implemented-- ho va fer, en la justícia, en un dia. 1074 00:49:00,930 --> 00:49:04,180 I aquest va ser el repte a què ens tirem a Dan quan ens va veure tenir bombetes binaris, 1075 00:49:04,180 --> 00:49:05,810 tenim esgarrapades com, podem combinar? 1076 00:49:05,810 --> 00:49:08,410 I, de fet, això és absolutament cosa que ningú en aquesta sala 1077 00:49:08,410 --> 00:49:14,250 podria fer per end-- del semestre és ell bombetes binaris reimplementat utilitzant 1078 00:49:14,250 --> 00:49:18,310 la mateixa interfície que era en el nostre iPad dimecres. 1079 00:49:18,310 --> 00:49:22,000 Així que ara, si realment feu clic al signe més per aquí, 1080 00:49:22,000 --> 00:49:25,250 tenim un, dos, tres. 1081 00:49:25,250 --> 00:49:27,550 Puc colpejar el 16 i al seu torn que un. 1082 00:49:27,550 --> 00:49:29,440 128, i així successivament. 1083 00:49:29,440 --> 00:49:31,250 >> Ara si que només té i bufat la seva ment, 1084 00:49:31,250 --> 00:49:35,680 vostè podria fer les coses molt més accessible, no implica cap tipus de maquinari, sens dubte. 1085 00:49:35,680 --> 00:49:38,320 Només coses sobre la pròpia pantalla. 1086 00:49:38,320 --> 00:49:41,110 I, de fet, el que més estudiants acabar fent és una mena de joc, 1087 00:49:41,110 --> 00:49:44,600 alguna peça de l'obra artística, o algun tipus d'animació interactiva. 1088 00:49:44,600 --> 00:49:47,352 I vaig a dir una de les nostres favorits ha estat aquest. 1089 00:49:47,352 --> 00:49:49,060 I vaig pensar que si ens podria atenuar les llums, 1090 00:49:49,060 --> 00:49:52,960 anem a fer una ullada a aquesta final Projecte de Scratch en conclusió. 1091 00:49:52,960 --> 00:49:57,460 Però el que vostè ha de tenir en compte, com Et puc fer broma amb un últim detall, 1092 00:49:57,460 --> 00:49:59,140 seccionament començarà la propera setmana. 1093 00:49:59,140 --> 00:50:00,830 Horari d'oficina començaran la propera setmana. 1094 00:50:00,830 --> 00:50:04,410 Butlletí de problemes zero es publicaran CS50.harvard.edu més tard avui. 1095 00:50:04,410 --> 00:50:06,430 I li donarà la benvinguda en conjunt de problemes zero 1096 00:50:06,430 --> 00:50:10,070 a de CS50 pròpia Zamyla Chan, qui orienta la major part del nostre tutorials. 1097 00:50:10,070 --> 00:50:11,952 Aquests són els vídeos incrustats en els butlletins de problemes 1098 00:50:11,952 --> 00:50:15,160 que portarà a terme la seva mà a través d'una gran quantitat de la configuració inicial i a través de moltes 1099 00:50:15,160 --> 00:50:16,570 de les possibles decisions de disseny. 1100 00:50:16,570 --> 00:50:19,570 Així que mai si has tingut aquesta emoció en recollir una tasca 1101 00:50:19,570 --> 00:50:21,030 i es pregunta, per on començo? 1102 00:50:21,030 --> 00:50:23,510 Ella haurà de resposta per a vostè. 1103 00:50:23,510 --> 00:50:27,720 I ara, un programa final d'un dels seus predecessors 1104 00:50:27,720 --> 00:50:30,659 en resposta a la pregunta "Què diu la guineu?" 1105 00:50:30,659 --> 00:50:32,242 [MÚSICA YLVIS, "Què diu la FOX?] 1106 00:50:32,242 --> 00:50:40,178 1107 00:50:40,178 --> 00:50:41,666 >> YLVIS: (CANT) Gos va trama. 1108 00:50:41,666 --> 00:50:43,650 El gat va miol. 1109 00:50:43,650 --> 00:50:47,520 Aus del Twitter i el ratolí va xiscle. 1110 00:50:47,520 --> 00:50:49,240 Vaca va moo. 1111 00:50:49,240 --> 00:50:51,690 Granota va grall. 1112 00:50:51,690 --> 00:50:54,630 I l'elefant va sonar. 1113 00:50:54,630 --> 00:50:59,040 Els ànecs diuen quack i peixos van blub. 1114 00:50:59,040 --> 00:51:07,370 I el segell va ow ow ow, però hi ha un so que ningú sap, 1115 00:51:07,370 --> 00:51:10,330 Què diu la guineu? 1116 00:51:10,330 --> 00:51:11,020 I 1117 00:51:11,020 --> 00:51:12,478 >> DAVID J. Malan: Això és tot per CS50. 1118 00:51:12,478 --> 00:51:15,436 Ens veiem a Trencaclosques dia i dilluns. 1119 00:51:15,436 --> 00:51:16,424 >> [Aplaudiments] 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: I ara profunda pensaments, per Daven Farnham. 1123 00:51:28,820 --> 00:51:31,770 1124 00:51:31,770 --> 00:51:34,570 Avui em va colpejar al cara amb una guia telefònica. 1125 00:51:34,570 --> 00:51:38,160 Confondre, com estic en casa veient en línia. 1126 00:51:38,160 --> 00:51:42,528