1 00:00:00,000 --> 00:00:11,120 2 00:00:11,120 --> 00:00:12,590 >> SPEAKER: Jaz sem [neslišno]. 3 00:00:12,590 --> 00:00:14,820 In jaz sem višji na Leverett House. 4 00:00:14,820 --> 00:00:18,700 Sem študij računalništva, in sem TF za CS50. 5 00:00:18,700 --> 00:00:21,640 Kot novinec, nisem imela niti laptop ali pametni telefon. 6 00:00:21,640 --> 00:00:23,550 Nisem imel programskih izkušenj. 7 00:00:23,550 --> 00:00:29,690 CS50 je najbolj znamenitih tečaj, ki Vzel sem na Harvardu, ker je bilo 8 00:00:29,690 --> 00:00:32,960 boj, vendar je bilo res zabavno boj ob istem času. 9 00:00:32,960 --> 00:00:37,670 In sem naredil veliko neverjetno, trajna prijatelji, in sem se naučil veliko zares 10 00:00:37,670 --> 00:00:38,830 uporabne spretnosti. 11 00:00:38,830 --> 00:00:43,480 Jaz sem samo vesela, da nisem pustil moje Pomanjkanje ozadju biti izgovor za mene 12 00:00:43,480 --> 00:00:44,840 Ne vzemite CS50. 13 00:00:44,840 --> 00:00:46,220 Jaz sem [neslišno]. 14 00:00:46,220 --> 00:00:48,910 Jaz sem višji na Leverett Hiša, razred 2014. 15 00:00:48,910 --> 00:00:51,670 In sem CS50. 16 00:00:51,670 --> 00:00:52,380 >> DAVID Malan: Torej, to je CS50. 17 00:00:52,380 --> 00:00:54,400 To je konec tedna nič. 18 00:00:54,400 --> 00:00:58,500 In spomni, kjer smo začeli zadnji čas, je s temi svetilkami, ki so bile 19 00:00:58,500 --> 00:01:01,420 tako priljubljena, da smo šli in kupil nekaj več danes. 20 00:01:01,420 --> 00:01:03,790 Zato mislim, da bo to naša stvar letos - 21 00:01:03,790 --> 00:01:07,230 desk svetilke, če prideš na oder, vsaj dokler ne zmanjka. 22 00:01:07,230 --> 00:01:11,570 >> Vendar smo te odpoklic, uvesti osnove predstavitev podatkov. 23 00:01:11,570 --> 00:01:15,640 Potrebovali smo način za začetek predstavlja informacije znotraj računalnika. 24 00:01:15,640 --> 00:01:18,650 In najpreprostejši način za to, da je bil z eno sestavino, elektrika. 25 00:01:18,650 --> 00:01:21,760 In najenostavnejša stvar, ki jo lahko naredite s elektrika ga vklopite in izklopite. 26 00:01:21,760 --> 00:01:23,520 Naj tok elektronov ali ne. 27 00:01:23,520 --> 00:01:27,930 In uporabo teh dveh osnovnih države, off in ali false in true ali nič in 28 00:01:27,930 --> 00:01:31,290 ena, smo začeli videti, da bi lahko gradimo navzgor, v tem primeru s svetlobo 29 00:01:31,290 --> 00:01:33,720 čebulice, več številk kot samo nič in ena. 30 00:01:33,720 --> 00:01:36,160 Smo prešteti tako visoka kot sedem, na primer, zadnji čas. 31 00:01:36,160 --> 00:01:38,840 Ampak vse, kar moramo storiti je, da mečejo več žarnice na da 32 00:01:38,840 --> 00:01:41,820 problem, in res smo lahko predstavlja poljubno število, ki smo 33 00:01:41,820 --> 00:01:42,970 bi morda želeli. 34 00:01:42,970 --> 00:01:47,230 >> No, bomo prešli hitro nato Sreda tej bajt prostovoljcev. 35 00:01:47,230 --> 00:01:52,040 8 bitov je tisto, kar običajno imenujemo bajt, tako da tukaj smo imeli osem prostovoljcev 36 00:01:52,040 --> 00:01:54,900 v sredo, ki skupaj so bili kar osem bitov. 37 00:01:54,900 --> 00:01:56,750 In ko njihove roke šlo navzgor, ki so ena. 38 00:01:56,750 --> 00:01:58,530 In ko so bile njihove roke navzdol, je bilo nič. 39 00:01:58,530 --> 00:02:01,970 In smo imeli ti ljudje prišel gor o tem, zakaj fazi? 40 00:02:01,970 --> 00:02:06,530 Kaj smo sposobni narediti z To zaporedje bitov? 41 00:02:06,530 --> 00:02:07,510 >> Ustvariti abecedo. 42 00:02:07,510 --> 00:02:11,550 Bili smo sposobni zgraditi na vrhu, da prejšnja izkušnja in dejansko 43 00:02:11,550 --> 00:02:14,200 začeti bolj zanimivo informacije, ki jih je vsaj bolj 44 00:02:14,200 --> 00:02:15,330 seznanjeni, da nas ljudi. 45 00:02:15,330 --> 00:02:18,360 In to se bo ponavljajoče tema po 50, ampak tudi računalnik 46 00:02:18,360 --> 00:02:21,470 znanost bolj splošno, to zamisel plastenje, kjer je na koncu 47 00:02:21,470 --> 00:02:24,820 dan, če si zares začelo osnove z računalnikom, ja, 48 00:02:24,820 --> 00:02:25,760 to je ničle in enice. 49 00:02:25,760 --> 00:02:27,480 In pod to je to samo elektrika. 50 00:02:27,480 --> 00:02:30,840 Vendar smo zelo hitro začeti jemati tistim Podrobnosti o nizki ravni dodeli 51 00:02:30,840 --> 00:02:35,600 in začeti plast na vrhu preteklosti delala naredi tako, da smo na koncu z 52 00:02:35,600 --> 00:02:38,610 konec semestra, in res, bolj na splošno kot računalniški znanstveniki 53 00:02:38,610 --> 00:02:42,790 in programerji, lahko naredite nekaj res močne stvari, ki jih vplivno delo 54 00:02:42,790 --> 00:02:46,620 da smo sami narediti in tudi stal na ramenih drugih. 55 00:02:46,620 --> 00:02:49,300 >> Zdaj smo hitro prešli v sredo od le morali 56 00:02:49,300 --> 00:02:52,080 predstavljajo informacije, da želijo nekaj storiti z njim. 57 00:02:52,080 --> 00:02:54,170 Torej, kaj smo opredeliti algoritem, kot je? 58 00:02:54,170 --> 00:02:57,340 59 00:02:57,340 --> 00:02:58,900 Vrsta navodil. 60 00:02:58,900 --> 00:03:03,380 Tako da je niz navodil, število korakov, da vas, človeških ali 61 00:03:03,380 --> 00:03:07,160 računalnik, bolj običajno, bi izvedbo enega za drugim, da 62 00:03:07,160 --> 00:03:08,100 bi dosegli cilj. 63 00:03:08,100 --> 00:03:11,360 In smo imeli nekaj Goli zadnji čas, od katerih je bilo, da računajo 64 00:03:11,360 --> 00:03:12,250 ljudi v sobi. 65 00:03:12,250 --> 00:03:15,560 In še en tak primer je bil, da bi našli Mike Smith v imeniku. 66 00:03:15,560 --> 00:03:19,750 >> Torej se morda spomniš, da sem si zvila telefon knjiga v polovici proti tej končajo 67 00:03:19,750 --> 00:03:21,280 iskanje Mike Smith. 68 00:03:21,280 --> 00:03:24,000 Namen te vizualne bil dokazati, še enkrat, da smo bili 69 00:03:24,000 --> 00:03:27,770 dobesedno strga ta problem v pol, na pol, na pol in zelo 70 00:03:27,770 --> 00:03:31,750 hitro gre od kot 1.000 strani samo eni sami strani. 71 00:03:31,750 --> 00:03:34,860 Tisti, ki ste to zamudili na Sreda, mislila sem, da bi predvajali 72 00:03:34,860 --> 00:03:36,820 nekateri posnetki, kaj ste zamudili. 73 00:03:36,820 --> 00:03:38,914 Oglejmo si. 74 00:03:38,914 --> 00:03:40,906 >> [Predvajanje videa] 75 00:03:40,906 --> 00:03:55,360 76 00:03:55,360 --> 00:03:55,990 >> -Pa gremo. 77 00:03:55,990 --> 00:04:01,432 1500 strani, Nice clean linije, legitimno solza. 78 00:04:01,432 --> 00:04:02,850 >> [END predvajanje videa] 79 00:04:02,850 --> 00:04:05,230 >> DAVID Malan: Tako, da je bilo v sredo. 80 00:04:05,230 --> 00:04:09,150 Mi prehod, čeprav se je v sredo zdaj da želijo predstavljati algoritmov 81 00:04:09,150 --> 00:04:12,410 v nekaterih nekoliko standardni način, ne samo jih opisuje verbalno, ampak 82 00:04:12,410 --> 00:04:16,290 poskušam jih izraziti v pisni obliki ali na računalniški zaslon, tako da smo lahko 83 00:04:16,290 --> 00:04:19,170 začeli izboljšati in spremeniti njih, in sčasoma dejansko 84 00:04:19,170 --> 00:04:21,160 analizirati, kako pravilno ali kako hitro so bili. 85 00:04:21,160 --> 00:04:23,360 >> Tako smo uvedli ta pojem v psevdokoda, ki v 86 00:04:23,360 --> 00:04:26,410 smislu navadnega je, je kaj? 87 00:04:26,410 --> 00:04:26,930 OK, besede. 88 00:04:26,930 --> 00:04:28,730 Pojdimo malo globlje od tega. 89 00:04:28,730 --> 00:04:32,540 Angleščina, seveda, so pa proti čemu? 90 00:04:32,540 --> 00:04:35,180 Besede, s katerimi se ustvarja ali za zastopanje algoritmov. 91 00:04:35,180 --> 00:04:38,380 Torej je nihče ne pozna jezik kot psevdokoda na svetu. 92 00:04:38,380 --> 00:04:41,110 To je samo, da je v angleščini, ali ne glede na vaš govorijo jezik, uporabite 93 00:04:41,110 --> 00:04:44,930 nekako bežen zapis posredovati Ideja zelo jedrnato. 94 00:04:44,930 --> 00:04:47,930 Ampak bomo videli, da je gotovo z Angleški psevdokoda, in se izkaže, 95 00:04:47,930 --> 00:04:51,700 večina programskih jezikov sami so izpeljanka iz angleščine sama, 96 00:04:51,700 --> 00:04:55,750 bomo ugotovili, da obstaja nekaj standardnih načini predstavljanja in psevdokoda 97 00:04:55,750 --> 00:04:57,150 tudi programsko kodo. 98 00:04:57,150 --> 00:05:00,200 Torej, ko boste začeli videti celo najpreprostejši Primeri danes, ti zavedaš 99 00:05:00,200 --> 00:05:02,160 Isti vzorci bodo ponovile naslednji teden. 100 00:05:02,160 --> 00:05:04,710 >> Torej psevdokoda je bil nekakšen od spominja jeziku 101 00:05:04,710 --> 00:05:06,170 programski jezik. 102 00:05:06,170 --> 00:05:09,260 In prvi primer smo videli vizualno zapisal je bil to eden. 103 00:05:09,260 --> 00:05:12,870 Šele tretji korak programa, Cilj je bil, da preštejete 104 00:05:12,870 --> 00:05:15,650 ljudi v študentski sobi za da je video v sredo. 105 00:05:15,650 --> 00:05:19,040 Vendar je bilo nekaj zanimivih vidikov to najpreprostejši programa. 106 00:05:19,040 --> 00:05:20,320 >> In to bo spet aktualno. 107 00:05:20,320 --> 00:05:22,930 Torej za tiste, ki ne poznajo To je ena, smo uvedli spremenljivko. 108 00:05:22,930 --> 00:05:25,650 In verjetno vsi v tej sobi seznanjeni s spremenljivko 109 00:05:25,650 --> 00:05:27,250 kontekst algebre. 110 00:05:27,250 --> 00:05:31,190 Ampak tukaj v programiranju, spremenljivke so, ena, so lahko 111 00:05:31,190 --> 00:05:32,220 pozval vse, kar si želite. 112 00:05:32,220 --> 00:05:33,620 Mi smo bili z uporabo n kot števec. 113 00:05:33,620 --> 00:05:37,490 Vendar bi lahko uporabili besedo števec, ali, kot boste videli, večina vsak stavek, ki 114 00:05:37,490 --> 00:05:40,240 Morda vam bodo všeč tako dolgo, kot je to opisno, ampak to je res samo 115 00:05:40,240 --> 00:05:41,250 posoda za shranjevanje. 116 00:05:41,250 --> 00:05:44,170 To je kos pomnilnika, nekaj več bitov, in to je odvisno od računalnika, kako 117 00:05:44,170 --> 00:05:47,020 veliko bitov je, da sestavite to spremenljivko. 118 00:05:47,020 --> 00:05:48,450 >> Vendar ne moremo postaviti vrednote v njem. 119 00:05:48,450 --> 00:05:50,740 Doslej smo pripravili samo številke. 120 00:05:50,740 --> 00:05:52,290 Ampak mi lahko dal dejanske besede. 121 00:05:52,290 --> 00:05:53,420 Mi lahko postavite odstavke. 122 00:05:53,420 --> 00:05:54,560 Mi lahko dajo slike - 123 00:05:54,560 --> 00:05:57,860 karkoli, res, lahko predstavljajo z ničle in enice, lahko postavimo v 124 00:05:57,860 --> 00:05:59,820 Ta višja stopnja pojem v spremenljivko. 125 00:05:59,820 --> 00:06:01,350 >> Tako lepo naravnost naprej obstaja. 126 00:06:01,350 --> 00:06:02,210 In to je prva vrstica. 127 00:06:02,210 --> 00:06:05,340 Vendar smo zelo hitro preselil na od prva vrstica, da dejansko ne 128 00:06:05,340 --> 00:06:06,600 nekaj z omenjeno spremenljivko. 129 00:06:06,600 --> 00:06:10,330 In v skladu trije smo posodobili N. Mi poveča N. In mi bi lahko napisal to 130 00:06:10,330 --> 00:06:11,330 poljubno število načinov. 131 00:06:11,330 --> 00:06:14,460 Toda morda najbolj očitna je samo reči, iz n enak 132 00:06:14,460 --> 00:06:16,440 ne glede na N in 1. 133 00:06:16,440 --> 00:06:17,740 Tako da je bila naša prirastek. 134 00:06:17,740 --> 00:06:18,740 >> Medtem pa je zanka. 135 00:06:18,740 --> 00:06:20,720 In tale, preveč, je verjetno precej intuitivna. 136 00:06:20,720 --> 00:06:24,250 Zanka je le nekaj v programu , ki znova in znova dogaja, nekaj 137 00:06:24,250 --> 00:06:25,190 vrsta cikla. 138 00:06:25,190 --> 00:06:29,300 In to ključni stavek tukaj, za vsako je pravzaprav zelo pogosta v večini 139 00:06:29,300 --> 00:06:32,300 programskih jezikov, vključno tisti, bomo videli v teku. 140 00:06:32,300 --> 00:06:35,850 Kadarkoli boste videli besedo, bi bilo običajno izraža idejo, da 141 00:06:35,850 --> 00:06:38,410 zanka, kaj cikličen, se bo zgodilo. 142 00:06:38,410 --> 00:06:40,980 >> Ampak to je treba omeniti eno drugi skladenjska podrobnost. 143 00:06:40,980 --> 00:06:44,660 Dejstvo, da je tretja vrstica s tem da hit dejansko zamaknjen 144 00:06:44,660 --> 00:06:46,920 preslednico Nekajkrat je namerno. 145 00:06:46,920 --> 00:06:49,870 Ker človeško konvencija je takšna, ko ste spet delaš nekaj in 146 00:06:49,870 --> 00:06:54,860 spet v zanki, kot je začela na liniji dve, vam alinea karkoli, ki je pripadal 147 00:06:54,860 --> 00:06:58,880 ta zanka samo da bo jasno, je tretja vrstica in ne na primer 148 00:06:58,880 --> 00:07:01,910 linija štiri ali pet, če ne bi bilo linije za ali pet, ki so 149 00:07:01,910 --> 00:07:03,010 del te zanke. 150 00:07:03,010 --> 00:07:07,340 Torej, to preprosto nazobčanost sporoča, da se osnovno idejo. 151 00:07:07,340 --> 00:07:09,390 >> Tako smo uporabili ta algoritem, Zdaj, na nekaj primerov. 152 00:07:09,390 --> 00:07:12,620 In tudi to, preprost primer v resničnem svetu. 153 00:07:12,620 --> 00:07:15,440 Ampak to se dogaja, da so reprezentativni kako bi se lotili testiranje vaše 154 00:07:15,440 --> 00:07:17,500 lastnik bolj zahtevnih programov. 155 00:07:17,500 --> 00:07:21,050 Poskusite nekaj scenarijev, nekatere predstavniki vhodi, in videli, če ste 156 00:07:21,050 --> 00:07:22,180 dobite želenih rezultatov. 157 00:07:22,180 --> 00:07:25,090 >> Tako da je ta primer še dve osebi sedel v študentski sobi. 158 00:07:25,090 --> 00:07:27,170 Na levi je isti pseudo kode. 159 00:07:27,170 --> 00:07:30,800 To pa je zaslon strel zelo zadnji korak uporabo tega 160 00:07:30,800 --> 00:07:35,270 Algoritem za te vložke, kjer je bili dve osebi v prostoru, in 161 00:07:35,270 --> 00:07:39,190 spomniti, kot smo korak s črtami enega, in dve, tri, dva 162 00:07:39,190 --> 00:07:41,000 in tri in naredil - 163 00:07:41,000 --> 00:07:44,870 Do konca tega algoritma, smo imeli seveda prešteti dva tovariši, ki so 164 00:07:44,870 --> 00:07:45,360 v sobi. 165 00:07:45,360 --> 00:07:47,190 >> Torej smo poskusili še en primer. 166 00:07:47,190 --> 00:07:48,990 In mi je rekel, kaj če obstajajo nič ljudi v sobi? 167 00:07:48,990 --> 00:07:50,490 Ali je ta številka še vedno pravilna? 168 00:07:50,490 --> 00:07:51,305 In res je bilo. 169 00:07:51,305 --> 00:07:55,240 Samo tako se zgodi, da linijo dve in s tem, linija tri ali 170 00:07:55,240 --> 00:07:56,620 Ne gre za izvršitev. 171 00:07:56,620 --> 00:07:59,790 Oni ne bo zgodilo sploh ker oni preprosto ne velja, če 172 00:07:59,790 --> 00:08:01,210 tam je nič ljudi v sobi. 173 00:08:01,210 --> 00:08:02,300 >> Vendar ni big deal. 174 00:08:02,300 --> 00:08:06,620 Line ena inicializirane S na ničlo, tako da čeprav le ena vrstica tega 175 00:08:06,620 --> 00:08:10,930 Program dejansko konča pa koristno, še vedno daje pravilen odgovor, kot 176 00:08:10,930 --> 00:08:13,780 z oranžno navedeno nič na dnu. 177 00:08:13,780 --> 00:08:16,300 Potem pa smo se odločili, da je nekako neumno algoritma. 178 00:08:16,300 --> 00:08:17,060 Bilo je precej počasen. 179 00:08:17,060 --> 00:08:19,720 Zagotovo pa lahko naredim dve, štiri, šest, osem, deset, ko 180 00:08:19,720 --> 00:08:20,990 štetje ljudi v prostoru. 181 00:08:20,990 --> 00:08:25,030 >> Tako smo uglasili algoritem, psevdokoda, torej, sedaj v liniji, 182 00:08:25,030 --> 00:08:29,710 za vsak par ljudi v prostoru, nadaljuje, da je v skladu treh, prirastek 183 00:08:29,710 --> 00:08:32,200 v po dva na vsaki ponovitvi. 184 00:08:32,200 --> 00:08:35,530 Tako bi, da je tukaj delal za ta par oseb v sobi. 185 00:08:35,530 --> 00:08:38,530 >> Ampak potem, če začnete razmišljati o to, in to ne traja dolgo, da 186 00:08:38,530 --> 00:08:40,710 zavedaš, čakaj malo to je bo prekinil, se zlomi 187 00:08:40,710 --> 00:08:42,679 na kakšen preprost primer? 188 00:08:42,679 --> 00:08:45,500 Če so trije ljudje v sobi ali, bolj splošno, ko obstaja 189 00:08:45,500 --> 00:08:47,660 liho število ljudi v Prostor, vključno z enim. 190 00:08:47,660 --> 00:08:50,390 Ta oseba pa bi pogrešal sem, ker ni takšnih parov. 191 00:08:50,390 --> 00:08:58,510 Tako smo jih namesto tega hitro obravnavati uvedbo katere dodatne 192 00:08:58,510 --> 00:09:02,560 programski konstrukti v psevdo kodi. 193 00:09:02,560 --> 00:09:04,955 >> Torej pogoj, smo poklicali to, ali podružnica. 194 00:09:04,955 --> 00:09:08,420 In to je pomenilo, da gre, vizualno, Ideja podružnice, vilice v cestnem prometu 195 00:09:08,420 --> 00:09:11,080 kjer lahko bodisi to storite ali, morda, nekaj drugega. 196 00:09:11,080 --> 00:09:15,750 In res, da se to vprašanje obravnava z dodajanje linijo 4, z besedami, res, na 197 00:09:15,750 --> 00:09:20,820 zelo konec, če ena oseba ostane, potem pa pojdi naprej in štej jim posebnega. 198 00:09:20,820 --> 00:09:24,460 Torej si nekako posebno njimi primeru, da rekoč, da zdaj lahko ravnamo 199 00:09:24,460 --> 00:09:27,810 tako tudi število ljudi in liho število ljudi. 200 00:09:27,810 --> 00:09:30,260 >> Zdaj obstajajo poljubno število načinov smo to lahko izrazi. 201 00:09:30,260 --> 00:09:33,590 In odkrito povedano, lahko sem bil še bolj gnida izbirčen, ko je prišel na moj izbor 202 00:09:33,590 --> 00:09:35,040 Angleščina za psevdokoda. 203 00:09:35,040 --> 00:09:36,970 Ampak vsaj duh Ideja se preda. 204 00:09:36,970 --> 00:09:40,725 Če nisi prepustil to kodo prijatelju ki ni v CS, ali ni bila nikoli sprejeta 205 00:09:40,725 --> 00:09:44,560 CS, so možnosti, da bi lahko ugotovimo, saj tri ljudi v prostoru, kako 206 00:09:44,560 --> 00:09:46,870 štejejo tiste ljudi, ki temeljijo podlagi teh navodil. 207 00:09:46,870 --> 00:09:49,920 In to je vse res, kar želimo doseči z psevdokoda, nekako 208 00:09:49,920 --> 00:09:54,300 standardizirati, kako se bomo o predstavljajo ideje, tako da bomo lahko 209 00:09:54,300 --> 00:09:56,670 začeli narediti bolj zapletena stvar še vedno. 210 00:09:56,670 --> 00:09:58,845 >> Tako da nas nato pripelje danes dejanski kodo. 211 00:09:58,845 --> 00:10:01,950 Začnemo programiranje danes, čeprav v prijaznem okolju. 212 00:10:01,950 --> 00:10:05,940 In potem smo zelo hitro prehod bolj arcane sintakso, ampak tisti, ki 213 00:10:05,940 --> 00:10:10,340 boste videli, je v bistvu enak kot Ideje glej bodo manifestira s 214 00:10:10,340 --> 00:10:11,990 ta drugi jezik danes. 215 00:10:11,990 --> 00:10:13,920 To je le, da bo videti malo drugačna. 216 00:10:13,920 --> 00:10:16,590 >> Torej, namesto da pokličete to kodo, sem bo malo bolj natančno 217 00:10:16,590 --> 00:10:20,170 in pravijo, odslej pri pisanju Program, pišete izvorno kodo. 218 00:10:20,170 --> 00:10:21,990 To je nekako kot psevdokoda. 219 00:10:21,990 --> 00:10:26,540 Ampak bomo videli, da to ni nekakšen ohlapen ko gre za izbiro besede 220 00:10:26,540 --> 00:10:27,310 , ki ga uporabljate. 221 00:10:27,310 --> 00:10:31,300 Ko programiranje v jeziku, ki ste jih uporabiti besedami, stavki, 222 00:10:31,300 --> 00:10:36,020 sintaksa, da drugi ljudje so se odločili, predstavljajo 223 00:10:36,020 --> 00:10:37,240 da je predvsem jezik. 224 00:10:37,240 --> 00:10:38,510 Torej pseudocodes je odvisno od vas. 225 00:10:38,510 --> 00:10:42,330 Dejanski programski jezik kot C, saj bomo sčasoma videli, je 226 00:10:42,330 --> 00:10:43,590 standardizirati z drugimi ljudmi. 227 00:10:43,590 --> 00:10:45,590 >> Torej, kako bomo šli o pisanju nekaj izvorne kode? 228 00:10:45,590 --> 00:10:46,810 No, jaz grem naprej in to. 229 00:10:46,810 --> 00:10:49,100 Jaz grem naprej in odpreti okno tukaj. 230 00:10:49,100 --> 00:10:50,210 Več o tem naslednji teden. 231 00:10:50,210 --> 00:10:52,300 Ampak to je naprava, imenovana CS50 aparat. 232 00:10:52,300 --> 00:10:55,480 Tečem kos programske opreme na mojem Mac, čeprav lahko narediš isto stvar 233 00:10:55,480 --> 00:11:00,580 na računalniku z OS Windows, ki daje me iluzija teče drugačen 234 00:11:00,580 --> 00:11:03,700 operacijski sistem popolnoma prav tukaj v oknu na mojem Mac. 235 00:11:03,700 --> 00:11:06,790 Pravkar sem poln ga pregledajo, tako da vam ne dejansko videli Mac OS zdaj. 236 00:11:06,790 --> 00:11:08,340 >> To je operacijski sistem imenovano Linux. 237 00:11:08,340 --> 00:11:09,300 To je zelo priljubljena. 238 00:11:09,300 --> 00:11:10,120 To je zelo hitro. 239 00:11:10,120 --> 00:11:12,950 To je zelo prost, kar je dosegla, da je zelo prepričljivi, zlasti v 240 00:11:12,950 --> 00:11:13,970 komercialni svet. 241 00:11:13,970 --> 00:11:17,200 In več o tem proti koncu semester, ko smo uporabljati Linux zelo malo 242 00:11:17,200 --> 00:11:21,230 Za spletno programiranje in gostovanje Dejanski spletne strani in projekte. 243 00:11:21,230 --> 00:11:24,910 Torej sedaj, samo vem, da je to desktop to je pomenilo, da nejasno pogled 244 00:11:24,910 --> 00:11:26,750 seznanjeni z Windows in Mac OS. 245 00:11:26,750 --> 00:11:29,110 Treba ga je le nekaj različnih imen in ikone za stvari. 246 00:11:29,110 --> 00:11:32,510 To pa je tako imenovani CS50 Naprava, virtualni stroj, da 247 00:11:32,510 --> 00:11:35,310 začne prihodnji teden, fantje bodo teče znotraj okna na 248 00:11:35,310 --> 00:11:36,960 svoje Mac ali PC. 249 00:11:36,960 --> 00:11:39,760 >> Za danes, bom odprla Najenostavnejši programov. 250 00:11:39,760 --> 00:11:41,110 Je pozval gedit. 251 00:11:41,110 --> 00:11:42,565 In to je samo grafični urednik. 252 00:11:42,565 --> 00:11:44,695 To je nekako tako kot Microsoft Beseda, a preprostejši. 253 00:11:44,695 --> 00:11:47,110 To je nekako kot besedilo edit ali beležko. 254 00:11:47,110 --> 00:11:50,280 To je samo zelo preprost program, s za pisanje besed na zaslonu. 255 00:11:50,280 --> 00:11:54,510 Samo tako se zgodi, da če rešim datoteke, ki sem ustvarjajo, ko ta program 256 00:11:54,510 --> 00:11:59,860 v posebnem razširitev kot. c, namesto o. doc ali. xls, ali karkoli 257 00:11:59,860 --> 00:12:04,190 ste seznanjeni z, ne morem dejansko ustvariti programe, ki uporabljajo tudi ta preprost 258 00:12:04,190 --> 00:12:05,130 urejevalnik besedila. 259 00:12:05,130 --> 00:12:05,770 >> Torej naj storim. 260 00:12:05,770 --> 00:12:09,330 Dovolite mi, da gredo naprej in shranite to datoteko najprej kot hello.c. 261 00:12:09,330 --> 00:12:12,350 In spet, bo ta uporabniški vmesnik spoznajo, da vas hitro. 262 00:12:12,350 --> 00:12:14,160 Ampak za zdaj, jaz sem samo tipkanje v imenu datoteke. 263 00:12:14,160 --> 00:12:17,410 Jaz grem, da ga shranite v svoj Janeza Harvard domači imenik. 264 00:12:17,410 --> 00:12:20,810 In zdaj imam to kartico, ki označuje Jaz sem res urejanja 265 00:12:20,810 --> 00:12:23,070 datoteka z imenom hello.c. 266 00:12:23,070 --> 00:12:24,510 Torej, nič preveč zanimiva še ni. 267 00:12:24,510 --> 00:12:26,000 >> In sedaj se dogaja, da dobili precej skrivnosten. 268 00:12:26,000 --> 00:12:28,370 Bom povečate, samo tako da je bolj vidna. 269 00:12:28,370 --> 00:12:35,780 In jaz bom za začetek tipkanje vključuje stdio.h, int main, nična, odprt kodrasti 270 00:12:35,780 --> 00:12:40,140 vez, ena, dva, tri, štiri prostore za zamik, tiskanje f, za tisk 271 00:12:40,140 --> 00:12:44,450 Nekaj ​​oblikovan, citiram konec citata, "Zdravo, svet" poševnica nazaj, n, blizu 272 00:12:44,450 --> 00:12:49,640 citiram, zaprti oklepaj, podpičje, vnesite backspace, backspace, backspace, 273 00:12:49,640 --> 00:12:52,310 backspace, zaprta kodraste opornik - 274 00:12:52,310 --> 00:12:53,350 Programiral sem se. 275 00:12:53,350 --> 00:12:57,380 >> Vse je v redu, tako da je to super preprost Program, res, program, ki 276 00:12:57,380 --> 00:12:59,070 kdo se začne z načrtovanjem. 277 00:12:59,070 --> 00:13:02,300 In vse to zgodi, za vse njene kompleksnosti, se izpiše na 278 00:13:02,300 --> 00:13:04,160 zaslon, veš kaj? 279 00:13:04,160 --> 00:13:04,910 Zdravo svet. 280 00:13:04,910 --> 00:13:07,500 Ampak to ni dovolj samo napisati program. 281 00:13:07,500 --> 00:13:08,155 Torej je ta koda. 282 00:13:08,155 --> 00:13:11,300 To je izvorna koda v jezik, imenovan c. 283 00:13:11,300 --> 00:13:14,380 To je trenutno shranjene v datoteka z imenom hello.c. 284 00:13:14,380 --> 00:13:16,180 >> Zdaj pa poglej na dnu na zaslonu tukaj. 285 00:13:16,180 --> 00:13:17,890 Več o tem, še enkrat, v tednov, ki prihajajo. 286 00:13:17,890 --> 00:13:19,570 Ampak to je tisto, kar imenujemo okno terminal. 287 00:13:19,570 --> 00:13:21,290 To utripa, črna in bel hitro. 288 00:13:21,290 --> 00:13:24,390 To je neke vrste old school vmesnika računalnik, ki na splošno ne 289 00:13:24,390 --> 00:13:27,050 uporabite miško ali drugo grafični elementi. 290 00:13:27,050 --> 00:13:28,320 Prav tako uporablja tipkovnico. 291 00:13:28,320 --> 00:13:30,970 In ne morem vpisovati ukaze na To utripa hitro. 292 00:13:30,970 --> 00:13:33,820 >> In za današnje potrebe, jaz sem samo dogaja, da vnesete naslednje - 293 00:13:33,820 --> 00:13:35,610 da zdravo. 294 00:13:35,610 --> 00:13:39,370 In ta program, da je samo program, ki je v resničnem svetu teh 295 00:13:39,370 --> 00:13:40,690 dni, da bomo z dvojnim klikom. 296 00:13:40,690 --> 00:13:44,580 Toda v tem vmesnikom za danes, smo dogaja, da vnesete svoje ime na ta poziv. 297 00:13:44,580 --> 00:13:47,980 da pozdravi se dobesedno dogaja, da da me program, imenovan zdravo. 298 00:13:47,980 --> 00:13:51,360 In to se dogaja, da to stori z iskanjem za datoteko, samo z 299 00:13:51,360 --> 00:13:53,460 privzeto, imenovano hello.c. 300 00:13:53,460 --> 00:13:57,260 To se dogaja, da prevzame hočem program C z naravo, kako ta računalnik 301 00:13:57,260 --> 00:13:58,230 je nastavljen. 302 00:13:58,230 --> 00:13:59,550 >> Tako sem šel naprej in stisnite enter. 303 00:13:59,550 --> 00:14:02,050 Vidim nekaj Grobni izhod, vendar to bo postalo vse preveč 304 00:14:02,050 --> 00:14:03,330 znano kmalu. 305 00:14:03,330 --> 00:14:06,870 To se je zgodilo, da delujejo prevajalnik, več o tem pa v trenutku, ki se imenuje Jek. 306 00:14:06,870 --> 00:14:09,080 Ampak zdaj imam samo še en utripa hitro. 307 00:14:09,080 --> 00:14:13,060 In grem lahko naprej zdaj in vpišite piko poševnica, za nezanimivih razlogov bomo 308 00:14:13,060 --> 00:14:14,730 vrnili naslednji teden - 309 00:14:14,730 --> 00:14:15,910 Pozdravljeni. 310 00:14:15,910 --> 00:14:19,650 >> Torej, vse te naloge doslej, samo da napišite najpreprostejši programe, ki so 311 00:14:19,650 --> 00:14:22,640 takoj, ko sem pritisnite tipko Enter, da ne. 312 00:14:22,640 --> 00:14:24,510 Tako sem napisal svoj prvi program. 313 00:14:24,510 --> 00:14:27,500 Torej sem namenoma drezal zabavo pri tem zelo preprost program 314 00:14:27,500 --> 00:14:28,540 za nekaj razlogov. 315 00:14:28,540 --> 00:14:31,990 Ena, da je težko priti razburjen o čemer razred, če 316 00:14:31,990 --> 00:14:33,430 to je konec igre. 317 00:14:33,430 --> 00:14:37,100 >> Ampak bolj kot to, da je Veliko motečih tukaj. 318 00:14:37,100 --> 00:14:40,640 Prvič ste izvedeli za program za tiste, ki ste manj udoben, in 319 00:14:40,640 --> 00:14:43,410 tudi jaz, nazaj v dan, ko sem prvič videl kaj takega - lahko nekako 320 00:14:43,410 --> 00:14:46,500 na sliki, da je vse v redu, te je v tiskalni Hello World. 321 00:14:46,500 --> 00:14:47,860 Ampak tam je toliko moteča. 322 00:14:47,860 --> 00:14:52,110 Toliko sintaksa na zaslonu ki ga dobi v obliki zelo 323 00:14:52,110 --> 00:14:54,170 preprostih, sicer preprost, ideje. 324 00:14:54,170 --> 00:14:56,700 >> Torej, kaj bomo storili danes smo dogaja, da pozabijo C in se 325 00:14:56,700 --> 00:14:57,630 nazaj, da v ponedeljek. 326 00:14:57,630 --> 00:15:00,860 In bomo uporabiti grafični programski jezik imenovan nič. 327 00:15:00,860 --> 00:15:04,470 To je programski jezik, ki sem namiguje, da v sredo, da se dogaja, 328 00:15:04,470 --> 00:15:08,870 nam omogočajo, da storijo enako vrsto stvari pa zamižijo na eno oko, za danes, 329 00:15:08,870 --> 00:15:12,270 z zavitimi oklepaji, na oklepaja, podpičja, in vsi ti neumni 330 00:15:12,270 --> 00:15:15,680 motenj, ki dobijo na poti, v ta prvi dan, v nekaj osnovnih, precej 331 00:15:15,680 --> 00:15:17,230 zanimive ideje. 332 00:15:17,230 --> 00:15:21,350 >> Torej proti ta namen bom šel nazaj na mojem namizju sem in 333 00:15:21,350 --> 00:15:25,890 vam predstavil alternativo, ki Program, ki bo skrbel 334 00:15:25,890 --> 00:15:30,790 Nekaj ​​malega prižgati to. 335 00:15:30,790 --> 00:15:33,930 To je, kako bomo izvajati, da dva uganka - danes isti program 336 00:15:33,930 --> 00:15:37,710 kose, da se pri prepletena in kliknili, bo rekel, da na svetu, 337 00:15:37,710 --> 00:15:39,000 zdravo svet. 338 00:15:39,000 --> 00:15:41,200 >> Torej, kaj je dejansko iti tja. 339 00:15:41,200 --> 00:15:44,965 Tako da sem šel naprej in odprite Spletna stran znan kot scratch.mit.edu. 340 00:15:44,965 --> 00:15:47,980 341 00:15:47,980 --> 00:15:52,040 In to me pripelje do Ta spletna stran tukaj. 342 00:15:52,040 --> 00:15:54,660 Vnaprej, sem prijavljen v to Spletna stran in prvih težav, ki 343 00:15:54,660 --> 00:15:55,910 vas bo vodil skozi Nekatere od teh korakov. 344 00:15:55,910 --> 00:15:58,930 Jaz grem naprej in kliknite na moji praske mapi tukaj. 345 00:15:58,930 --> 00:16:00,720 >> In to se dogaja, da mi pokažeš nekateri projekti, ki sem jih 346 00:16:00,720 --> 00:16:02,570 dejansko ustvarjena vnaprej. 347 00:16:02,570 --> 00:16:05,860 In izkazalo se je, da je ta grafična programski jezik, ne samo, da je šlo 348 00:16:05,860 --> 00:16:08,480 da nam pustite program, ki ga povlečete in pada te koščke, jih 349 00:16:08,480 --> 00:16:09,730 sploh ne potrebujejo posebno programsko opremo. 350 00:16:09,730 --> 00:16:13,190 Vse je vdelana v brskalniku, tako da lahko to storite v teoriji, na 351 00:16:13,190 --> 00:16:16,810 računalnikih sedaj, saj so se nekateri od vas lahko pa se, da bi sploh potrebovali 352 00:16:16,810 --> 00:16:19,870 Programska oprema kot CS50 aparata, , ki bo naslednji teden. 353 00:16:19,870 --> 00:16:24,200 >> Torej, jaz grem gor na zgornjem kotu Tu in kliknite Ustvari. 354 00:16:24,200 --> 00:16:27,840 In v trenutku, bom dobil prazen zaslon, preko katerega lahko začnem 355 00:16:27,840 --> 00:16:30,380 programiranje v to grafično programsko okolje. 356 00:16:30,380 --> 00:16:36,140 Ampak tokrat, to se dogaja, da je veliko, veliko enostavnejši za dejansko počnejo. 357 00:16:36,140 --> 00:16:41,560 Torej čez nekaj trenutkov, ko Wi-Fi sodeluje, sedaj imamo ta zaslon. 358 00:16:41,560 --> 00:16:44,870 Tako hitro verbalno turnejo, ampak upam si reči, Vsekakor, ko se potopite v 359 00:16:44,870 --> 00:16:46,840 Prvi problem set, boste zdi vse to zelo 360 00:16:46,840 --> 00:16:48,315 dostopni in precej intuitivna. 361 00:16:48,315 --> 00:16:50,900 Ampak kaj je naslikal miselno sliko le za trenutek. 362 00:16:50,900 --> 00:16:54,620 >> Torej pod ta poziv pravijo obranil Spremembe, boste kmalu videli na praske. 363 00:16:54,620 --> 00:16:55,570 To je Sprite. 364 00:16:55,570 --> 00:16:56,630 To je znak. 365 00:16:56,630 --> 00:17:00,740 In živi na to, kaj bomo klic oder, Ta velik bel pravokotnik na 366 00:17:00,740 --> 00:17:03,120 ki ga lahko premikate gor, dol, levo, prav, in ne, res, 367 00:17:03,120 --> 00:17:04,670 druge vrste ukrepov. 368 00:17:04,670 --> 00:17:08,780 >> Medtem, sredi tega uporabnika vmesnik, imamo cel kup 369 00:17:08,780 --> 00:17:09,750 puzzle kosov. 370 00:17:09,750 --> 00:17:14,060 In boste videli, da pravijo, da stvari, kot so premakniti 10 korakov, se obrnil 15 stopinj, 371 00:17:14,060 --> 00:17:15,550 točka v določeno smer. 372 00:17:15,550 --> 00:17:17,910 Toda obstaja kategorije bloki tu gor preveč. 373 00:17:17,910 --> 00:17:21,410 Torej, če grem na videz, boste videli, da tam je druga puzzle kosov, ki 374 00:17:21,410 --> 00:17:25,530 očitno bo povedal to CIT pozdravit, da razmišljajo, da bi dokazali 375 00:17:25,530 --> 00:17:26,780 sam skrije sam. 376 00:17:26,780 --> 00:17:30,830 Če grem na zvoke, se izkaže, tam je možnosti za igranje zveni kot mijav, 377 00:17:30,830 --> 00:17:32,670 ustaviti vse zvoke, da igrajo boben. 378 00:17:32,670 --> 00:17:36,530 >> Torej, skrajšam zgodbo, tam je celotno kup koščkov sestavljanke, ki vam omogočajo 379 00:17:36,530 --> 00:17:40,920 povem to mačko, ali poljubno število drugi liki, kaj naj naredim. 380 00:17:40,920 --> 00:17:43,850 Ampak, da bi vse to vam zgodi potrebujete za začetek programiranja. 381 00:17:43,850 --> 00:17:48,090 In to velika bela škatla ali škatla, siva, na na desni strani, to je, če 382 00:17:48,090 --> 00:17:50,170 Bom dejansko povleci in spustite tiste koščke. 383 00:17:50,170 --> 00:17:54,320 To je moje prazno besedilo enakovredno okno. 384 00:17:54,320 --> 00:17:57,070 >> Tako da sem šel naprej in kliknite Nadzor v sredini. 385 00:17:57,070 --> 00:17:58,540 Oziroma, naj začnem na podlagi dogodkov. 386 00:17:58,540 --> 00:18:01,530 Pod Events klopi, boste opazili, Nekaj ​​stvari, ki so namerno 387 00:18:01,530 --> 00:18:05,240 ukrivljen na vrhu na tak način, da verjetno ne blokada na 388 00:18:05,240 --> 00:18:06,710 Zgornji del koščke. 389 00:18:06,710 --> 00:18:10,160 In to zato, ker Demark začetek programa, začetek 390 00:18:10,160 --> 00:18:11,910 skript, tako rekoč. 391 00:18:11,910 --> 00:18:16,290 Torej, če grem naprej in povlecite, ko zelena zastava kliknili tukaj, potem pa sem 392 00:18:16,290 --> 00:18:18,060 naj ta mačka reči nekaj, kar na prvi. 393 00:18:18,060 --> 00:18:20,510 Torej, jaz grem pod Izgleda plošča. 394 00:18:20,510 --> 00:18:24,060 In jaz grem naprej in zgrabite pozdravit blok in povlecite in spustite, 395 00:18:24,060 --> 00:18:27,220 in pustiti, da se samodejno zapore tam. 396 00:18:27,220 --> 00:18:28,640 >> In potem sem opazil lahko kliknite na besedilo. 397 00:18:28,640 --> 00:18:31,960 In lahko prednost, da je bolj posebno všeč, recimo, zdravo svet. 398 00:18:31,960 --> 00:18:36,340 In zdaj imamo program, ki Trdim je enaka tisti, ki bolj 399 00:18:36,340 --> 00:18:39,670 Skrivnosten program, ki ga izvaja v C trenutek nazaj. 400 00:18:39,670 --> 00:18:43,130 >> Če grem čez sedaj na levi strani, Opazili obstaja velik stop znak 401 00:18:43,130 --> 00:18:44,520 in velika zelena zastava. 402 00:18:44,520 --> 00:18:46,390 Dovolite mi, da povečate za jasnost. 403 00:18:46,390 --> 00:18:49,390 In ko sem zdaj kliknite to zeleno zastavo, si verjetno lahko uganiti, kaj je to prvič 404 00:18:49,390 --> 00:18:51,920 Program se bo zdaj storiti. 405 00:18:51,920 --> 00:18:55,420 Torej tam, preveč, smo programiranju, ampak ne bomo dejansko pustili ujeti pastem 406 00:18:55,420 --> 00:18:58,980 v nekaterih od teh sintaktična, minute podrobnosti. 407 00:18:58,980 --> 00:19:01,120 >> Ampak dajmo poskusiti nekaj z malo bolj zanimivo. 408 00:19:01,120 --> 00:19:04,840 Naj grem v mojo mapo Scratch tukaj. 409 00:19:04,840 --> 00:19:10,210 In dejansko, dovolite mi, da mi odpirajo poseben program, tukaj samo 410 00:19:10,210 --> 00:19:17,830 Trenutek Povečajte to okno, odprto datoteko, in jaz grem v današnjem 411 00:19:17,830 --> 00:19:18,620 Vir imenik. 412 00:19:18,620 --> 00:19:21,660 Kot vedno, boste ugotovili, danes in naprej, da vse današnje primerov 413 00:19:21,660 --> 00:19:25,225 so na voljo v notranjosti Spletna stran tečaja je. 414 00:19:25,225 --> 00:19:31,170 >> In jaz grem naprej tu in pick gor malo nekaj drugega. 415 00:19:31,170 --> 00:19:33,970 Ta tukaj, za katere Rabim prostovoljca. 416 00:19:33,970 --> 00:19:36,850 Kdo bi rad danes na mizi svetilko? 417 00:19:36,850 --> 00:19:40,600 V redu, kaj pa nekdo malo - ste na koncu? 418 00:19:40,600 --> 00:19:42,124 Pridi dol. 419 00:19:42,124 --> 00:19:47,230 Zdaj bi želeli sodelovati, ali samo, da začnete z namizno svetilko? 420 00:19:47,230 --> 00:19:48,190 >> VANESSA: [neslišno]. 421 00:19:48,190 --> 00:19:48,465 >> DAVID Malan: OK. 422 00:19:48,465 --> 00:19:49,610 Odlično, kaj je ime? 423 00:19:49,610 --> 00:19:49,990 Vanessa? 424 00:19:49,990 --> 00:19:50,570 David. 425 00:19:50,570 --> 00:19:51,390 Lepo, da sva se spoznala. 426 00:19:51,390 --> 00:19:53,840 Torej, pridi gor in Vanessa je šlo prevzeti nadzor nad mojega 427 00:19:53,840 --> 00:19:55,490 Tipkovnica za trenutek. 428 00:19:55,490 --> 00:19:57,850 In kaj sem naredil tukaj, samo za čas, je sake, saj sem spoznal, 429 00:19:57,850 --> 00:20:01,070 Wi-Fi je malo počasen, Scratch, programsko okolje, ki smo 430 00:20:01,070 --> 00:20:04,110 uporabljate, lahko tudi prenesete in teči na vašem računalniku. 431 00:20:04,110 --> 00:20:06,360 Torej, kaj sem naredil pred predavanjem, v primeru, da se zgodi, je, da sem prenesli 432 00:20:06,360 --> 00:20:09,120 vse datoteke, ki smo na tem, da igrajo z tako da lahko teče malo več 433 00:20:09,120 --> 00:20:10,840 hitro tukaj na moj laptop. 434 00:20:10,840 --> 00:20:13,460 Tako da je, zakaj zdaj vidim Mac-poseben vmesnik. 435 00:20:13,460 --> 00:20:15,510 >> Torej, jaz grem naprej in odprla tole. 436 00:20:15,510 --> 00:20:18,400 Jaz grem naprej in zdaj celozaslonski okno. 437 00:20:18,400 --> 00:20:21,740 In kot boste videli, smo lahko zelo hitro, kot je to storil študent, eden 438 00:20:21,740 --> 00:20:26,360 vaši predhodniki, gredo od Hello World da veliko veliko bolj prepričljiv 439 00:20:26,360 --> 00:20:27,020 prijava. 440 00:20:27,020 --> 00:20:28,180 Torej, tukaj so navodila. 441 00:20:28,180 --> 00:20:29,500 Oh, in imamo eno stvar. 442 00:20:29,500 --> 00:20:31,640 Mislil sem, da bi bilo zabavno, saj običajno, bomo snemali 443 00:20:31,640 --> 00:20:32,440 Kamere ta način. 444 00:20:32,440 --> 00:20:34,100 Mislil sem, da bi bilo zabavno, če Vanessa, smo lahko videli svet 445 00:20:34,100 --> 00:20:35,120 skozi vaše oči. 446 00:20:35,120 --> 00:20:36,670 Torej, tukaj imamo nekaj Google Glass. 447 00:20:36,670 --> 00:20:39,290 >> [Začudeno Gasps] 448 00:20:39,290 --> 00:20:41,610 >> DAVID Malan: Mi bo kar samo stran desk svetilke danes. 449 00:20:41,610 --> 00:20:43,530 >> [SMEH] 450 00:20:43,530 --> 00:20:45,260 >> Torej, kaj mi iztočnica tega. 451 00:20:45,260 --> 00:20:49,340 Vse je v redu, tako da se tega dotaknila. 452 00:20:49,340 --> 00:20:51,910 OK, steklo, snemanje videoposnetkov. 453 00:20:51,910 --> 00:20:55,700 454 00:20:55,700 --> 00:20:56,950 Vse je v redu, Vanessa? 455 00:20:56,950 --> 00:21:00,940 456 00:21:00,940 --> 00:21:05,560 Zdaj, kot prahi, ki je dobil ničesar storiti z nič, če pogledaš 457 00:21:05,560 --> 00:21:08,540 rahlo navzgor in v desno, boste videli dobesedno stekla, zato bi morali 458 00:21:08,540 --> 00:21:09,650 glej malo pravokotno okno. 459 00:21:09,650 --> 00:21:11,500 Moral bi videti vse svoje sošolce ga posnamejo prav zdaj? 460 00:21:11,500 --> 00:21:11,840 Da. 461 00:21:11,840 --> 00:21:12,340 >> VANESSA: Da. 462 00:21:12,340 --> 00:21:12,920 >> DAVID Malan: OK. 463 00:21:12,920 --> 00:21:15,170 Tako, da je v redu. 464 00:21:15,170 --> 00:21:16,660 Pozneje bomo javnost ta posnetek. 465 00:21:16,660 --> 00:21:18,460 Za zdaj pa vašo pozornost na zaslon tukaj. 466 00:21:18,460 --> 00:21:20,990 In kaj je tvoj predhodnik je opravljala dal nekaj navodil na zaslonu 467 00:21:20,990 --> 00:21:22,670 samo s pomočjo programa za risanje. 468 00:21:22,670 --> 00:21:25,040 Tako da boš v trenutku, pritisnete preslednico za začetek. 469 00:21:25,040 --> 00:21:27,790 In potem nekaj kosov sestavljanke se bodo se bo začel premikati gor zaslon. 470 00:21:27,790 --> 00:21:30,900 In želite zadeti puščicami, samo kot v resničnem DDR v skladu 471 00:21:30,900 --> 00:21:32,740 z stvari podloga s temi puščicami. 472 00:21:32,740 --> 00:21:33,020 >> VANESSA: OK. 473 00:21:33,020 --> 00:21:33,800 >> DAVID Malan: Si to poskusil prej. 474 00:21:33,800 --> 00:21:34,140 >> VANESSA: Ja. 475 00:21:34,140 --> 00:21:37,330 >> DAVID Malan: V redu, Vanessa, iti naprej in ga odnese. 476 00:21:37,330 --> 00:22:53,082 >> [GLASBA - Kayne West, "STRONGER"] 477 00:22:53,082 --> 00:22:57,080 >> [APLAVZ] 478 00:22:57,080 --> 00:22:59,750 >> DAVID Malan: Torej, kaj je zdaj narediti korak od tega. 479 00:22:59,750 --> 00:23:01,230 Torej je jasno, da je konec igre. 480 00:23:01,230 --> 00:23:02,880 Konec Igra ni zdravo svet. 481 00:23:02,880 --> 00:23:05,520 Vendar vam ni treba nujno storiti stvari, ki so tako interaktivna. 482 00:23:05,520 --> 00:23:06,810 Prav tako lahko naredite animacijo. 483 00:23:06,810 --> 00:23:10,790 Tako, na primer, eden od tvojih nasledniki so ta program tukaj 484 00:23:10,790 --> 00:23:14,100 ki pripoveduje zgodbo več kot to ne izvaja igro. 485 00:23:14,100 --> 00:23:19,180 Naj gredo naprej in odprla tukaj Program v našem istega vira imenik 486 00:23:19,180 --> 00:23:20,300 Od danes. 487 00:23:20,300 --> 00:23:26,990 Tale klic, in začnimo s, piškotek ljubezensko zgodbo. 488 00:23:26,990 --> 00:23:30,750 >> In ne da bi to preveč akademsko, ampak ko gledam tole, mislim, da 489 00:23:30,750 --> 00:23:34,030 sami, katere od preproste programski koncepti smo govorili 490 00:23:34,030 --> 00:23:34,630 o doslej - 491 00:23:34,630 --> 00:23:39,250 spremenljivke in zanke, in pogoji, je vaš predhodnik verjetno uporabljate samo 492 00:23:39,250 --> 00:23:41,090 za izvajanje nekaterih se vizualizacije. 493 00:23:41,090 --> 00:23:41,760 Vidiš tukaj. 494 00:23:41,760 --> 00:23:44,118 Torej, jaz ti dam piškotek ljubezensko zgodbo. 495 00:23:44,118 --> 00:24:06,030 >> [GLASBA - Green Day, "Holiday"] 496 00:24:06,030 --> 00:24:08,022 >> [CRASH] 497 00:24:08,022 --> 00:24:09,272 >> [GLASBA - želve, "Happy Together"] 498 00:24:09,272 --> 00:24:58,328 499 00:24:58,328 --> 00:25:00,560 >> DAVID Malan: V redu, torej tam, smo imeli piškotek ljubezensko zgodbo. 500 00:25:00,560 --> 00:25:01,360 Toda tudi tam - 501 00:25:01,360 --> 00:25:01,755 >> [APLAVZ] 502 00:25:01,755 --> 00:25:08,110 >> DAVID Malan: V redu, tudi tam, misliti, kot ti srce je šel iz 503 00:25:08,110 --> 00:25:10,410 od dna do vrha zaslona tam je pravzaprav malo 504 00:25:10,410 --> 00:25:11,440 naključnosti dogaja. 505 00:25:11,440 --> 00:25:14,150 In res, bomo videli, da tudi v najpreprostejši okoljih, kot so 506 00:25:14,150 --> 00:25:18,180 Praske, kot v C, lahko ustvarite naključne številke ali iluzije 507 00:25:18,180 --> 00:25:21,110 naključnih števil, tako da je igra malo bolj zanimivo, kot pa bi lahko 508 00:25:21,110 --> 00:25:23,390 bilo, če bi imeli absolutno težko kodirane vse. 509 00:25:23,390 --> 00:25:26,360 >> V gibanju, ki jih vidite, obstaja obstaja neke vrste odzivnosti. 510 00:25:26,360 --> 00:25:28,840 Takoj, ko medenjaki človek dotakne medenjaki ženska, ona 511 00:25:28,840 --> 00:25:30,000 Zdi se, da se oddalji. 512 00:25:30,000 --> 00:25:33,580 In tako je res, da lahko izvaja, večina programskih jezikov, pojem 513 00:25:33,580 --> 00:25:38,680 dogodkov, pri čemer, če po eni strani dotika Po drugi strani pa, da lahko sproži nekaj 514 00:25:38,680 --> 00:25:41,270 vaše izvorne kode za dejansko izvedbo. 515 00:25:41,270 --> 00:25:43,740 Lahko poslušate na primer stvari na zaslonu. 516 00:25:43,740 --> 00:25:47,310 >> Torej, kaj je na hitro turnejo, potem pa, nekateri od gradnikov jih lahko uporabimo 517 00:25:47,310 --> 00:25:48,790 doseči nekatere od teh ciljev. 518 00:25:48,790 --> 00:25:51,630 Torej, tukaj je tisto, kar bomo odslej pokličite izjavo. 519 00:25:51,630 --> 00:25:55,030 Izjava zgodi, da je vijolične Praske, malo kaj takega, 520 00:25:55,030 --> 00:25:56,120 ampak to je arbitrarna. 521 00:25:56,120 --> 00:26:00,140 Izjava je le del sestavljanke, ali splošno navodilo, da 522 00:26:00,140 --> 00:26:03,370 pove računalnik narediti nekaj, izjavo. 523 00:26:03,370 --> 00:26:04,680 >> Torej, tukaj je preprost vzorec. 524 00:26:04,680 --> 00:26:05,930 Pozdravi svet. 525 00:26:05,930 --> 00:26:08,180 Še ena morda počakati eno sekundo. 526 00:26:08,180 --> 00:26:10,840 Torej, to puzzle kos, ki ga podpira v nič, bomo pustite, da vam 527 00:26:10,840 --> 00:26:13,050 znaki premor za nekatere število sekund. 528 00:26:13,050 --> 00:26:15,330 Tudi to je samo izjavo. 529 00:26:15,330 --> 00:26:18,640 >> Tukaj naslednji, imamo še več zanimiv, predvajanje zvoka mijav, in 530 00:26:18,640 --> 00:26:21,480 malo puščica pomeni, da v nič, to je spustnem meniju. 531 00:26:21,480 --> 00:26:22,590 Tako da lahko uvozite zvoke. 532 00:26:22,590 --> 00:26:25,095 Lahko snemanje zvokov in ne drugi zabavnih stvari v nič. 533 00:26:25,095 --> 00:26:28,450 In tudi, čeprav je na koncu dneva, je samo izjavo. 534 00:26:28,450 --> 00:26:31,250 Zdaj pa dajmo uvesti več zanimiv kos, ki je znano kot 535 00:26:31,250 --> 00:26:32,630 Logični izraz. 536 00:26:32,630 --> 00:26:35,180 Kapital B, poimenovana po fant z imenom Bool. 537 00:26:35,180 --> 00:26:39,500 >> In logični izraz je le puzzle piece ali, bolj splošno, 538 00:26:39,500 --> 00:26:42,980 podatek, da je bodisi resnična ali neresnična - 539 00:26:42,980 --> 00:26:45,830 eno ali nič, da ali ne. 540 00:26:45,830 --> 00:26:48,420 Torej, to je samo eden od tistih, dve nasprotji. 541 00:26:48,420 --> 00:26:52,840 Torej en tak logični izraz v Svet nič videti takole modra 542 00:26:52,840 --> 00:26:53,560 puzzle kos. 543 00:26:53,560 --> 00:26:56,735 In to je zastavil vprašanje, miško navzdol, in ki so lahko bodisi, od 544 00:26:56,735 --> 00:26:58,430 Tečaj, resnična ali neresnična. 545 00:26:58,430 --> 00:27:01,710 Torej s tega koščka sestavljanke v nič, No, morda ne boste mogli odkriti, če je 546 00:27:01,710 --> 00:27:05,490 puzzle, če miške, v resnici pa držite s človeško interakcija 547 00:27:05,490 --> 00:27:06,550 s svojim programom. 548 00:27:06,550 --> 00:27:08,860 >> Ta je malo bolj abstraktno, ampak ti dve bele škatle 549 00:27:08,860 --> 00:27:09,740 so samo za številke. 550 00:27:09,740 --> 00:27:12,950 Tako da lahko počnejo stvari, kot je to Številka manj kot drugi? 551 00:27:12,950 --> 00:27:16,180 In če je tako, bo Scratch obnašajo eno ali drugo smer. 552 00:27:16,180 --> 00:27:17,505 Ta je malo bolj grafično. 553 00:27:17,505 --> 00:27:21,840 To je, če Sprite, če mački, za na primer, dejansko dotika 554 00:27:21,840 --> 00:27:22,510 kazalec miške. 555 00:27:22,510 --> 00:27:25,780 Torej, če malo puščica glava lebdi nad mačka, potem je to 556 00:27:25,780 --> 00:27:28,030 puzzle piece bo ocenila, da res. 557 00:27:28,030 --> 00:27:31,870 To bo res, v tem primeru, če vas uporabite logični izraz, kot bomo 558 00:27:31,870 --> 00:27:36,340 glej v trenutku, v podružnici, lahko niti ne tega, ali lahko to storite, 559 00:27:36,340 --> 00:27:39,940 podobno kot smo imeli pogoj, da preveriti, ali obstaja še ena zadnja oseba 560 00:27:39,940 --> 00:27:40,460 v sobi? 561 00:27:40,460 --> 00:27:42,070 Če je tako, dodajte eno. 562 00:27:42,070 --> 00:27:44,430 Sicer pa ne naprej skrbi. 563 00:27:44,430 --> 00:27:48,650 >> Torej, logični izraz je lahko tudi in-ed skupaj ali ali-ed skupaj. 564 00:27:48,650 --> 00:27:53,120 Torej lahko kombinirate logičnih izrazov in reči, to in to mora biti izpolnjen za 565 00:27:53,120 --> 00:27:54,710 Celotna stvar bi bilo res. 566 00:27:54,710 --> 00:27:56,520 In tukaj je bolj realni svet primer. 567 00:27:56,520 --> 00:28:00,060 Če ste uporabljali CS50 Tečaji narediti tečaj nakupovanje, ti potrditvena polja 568 00:28:00,060 --> 00:28:03,520 tam, kjer je, če preverite, ali polje poleg vas na tečajih, ki bodo rekli, ja, 569 00:28:03,520 --> 00:28:07,860 Samo pokaži mi tečaje, za katere Q je vrednost 4,5 ali višjo. 570 00:28:07,860 --> 00:28:10,610 Če počistite to, ne, ne skrbi. 571 00:28:10,610 --> 00:28:13,910 Ali podobno, na desni pa ne Konflikt Z Tečaji peljem, 572 00:28:13,910 --> 00:28:15,650 to je bodisi resnična ali neresnična. 573 00:28:15,650 --> 00:28:16,715 To je le logični izraz. 574 00:28:16,715 --> 00:28:20,080 Torej vsem tem času, ko ste se uporablja spletne strani s polj, ti si samo 575 00:28:20,080 --> 00:28:23,570 preklapljanje ekvivalent Logični izražanja in izklop. 576 00:28:23,570 --> 00:28:25,270 >> Torej, v kakšni obliki jih boste uporabili to? 577 00:28:25,270 --> 00:28:28,820 No, v nič, bomo videli v trenutku da obstajajo pogoji, da 578 00:28:28,820 --> 00:28:29,560 videti takole. 579 00:28:29,560 --> 00:28:33,130 In to je nekako smiselno, saj veliko tako kot v psevdokoda smo zamaknjeni 580 00:28:33,130 --> 00:28:38,550 nekako v obliki črke U koščke, pomeni da karkoli znotraj te je U 581 00:28:38,550 --> 00:28:41,390 gre za izvedbo, ali ne, odvisno od tega, kje je. 582 00:28:41,390 --> 00:28:45,310 Torej, če Logični izraz, potem kar je notri, bodo dobili usmrtili. 583 00:28:45,310 --> 00:28:46,800 >> Medtem pa je, če / drugega bloka. 584 00:28:46,800 --> 00:28:50,320 Torej, če želite, da vejo, da gre to Tako ali da Scratch nam daje to. 585 00:28:50,320 --> 00:28:54,500 In tej logiki zdaj, čeprav je puzzle kos je očitno premajhen 586 00:28:54,500 --> 00:28:57,400 za zagozditev nekaj drugega znotraj njega, koščke sestavljanke praske, oni 587 00:28:57,400 --> 00:28:58,150 le, da bo rasla. 588 00:28:58,150 --> 00:29:01,370 Ko povleci in spusti čez nekaj, to bo samo rasla, da se prilega karkoli 589 00:29:01,370 --> 00:29:02,510 se skušaš narediti. 590 00:29:02,510 --> 00:29:07,230 >> Tako smo lahko dve od teh stvari in da tropotni odcepu tako 591 00:29:07,230 --> 00:29:11,300 , da si naredil to, ali to, ali pa to druga stvar, samo z njimi gnezda 592 00:29:11,300 --> 00:29:12,070 na ta način. 593 00:29:12,070 --> 00:29:14,370 Seveda, če vam to preveč toliko, da začne grdo. 594 00:29:14,370 --> 00:29:17,660 Toda na tej točki, ste dejansko Verjetno ne programiranje zelo dobro. 595 00:29:17,660 --> 00:29:20,490 In da bo ponavljajoča tema tudi, da sloga. 596 00:29:20,490 --> 00:29:22,790 Kako dobro se pravzaprav format kodo? 597 00:29:22,790 --> 00:29:24,580 Ali kako dobro ste design kodo? 598 00:29:24,580 --> 00:29:26,430 Ampak več o tem v prihodnje. 599 00:29:26,430 --> 00:29:27,470 >> In zdaj imamo zank. 600 00:29:27,470 --> 00:29:30,310 Tam je lepo večno zanka v nič kar dobesedno pomeni, da - ne 601 00:29:30,310 --> 00:29:32,710 vse, kar je znotraj tega še enkrat, znova in znova. 602 00:29:32,710 --> 00:29:35,880 Ste lahko bolj konkretni in reči, Storite naslednje stvar, 10-krat. 603 00:29:35,880 --> 00:29:37,620 Lahko uporabite tudi spremenljivke. 604 00:29:37,620 --> 00:29:40,260 Lahko prideš gor s poljubnim imenom v da malo spusti dol in rekel, daj mi 605 00:29:40,260 --> 00:29:43,190 spremenljivka se imenuje n in nastavite je enaka do neke vrednosti. 606 00:29:43,190 --> 00:29:44,910 In potem si lahko funkcije. 607 00:29:44,910 --> 00:29:46,850 Ampak bolj na tiste, čez nekaj trenutkov. 608 00:29:46,850 --> 00:29:49,140 >> Naj se vrnem k mojim Scratch vmesnik. 609 00:29:49,140 --> 00:29:50,970 In mi daj ta čas. 610 00:29:50,970 --> 00:29:56,660 In gremo naprej in se odpirajo, recimo, primer iz - 611 00:29:56,660 --> 00:29:58,740 da je malo bolj zanimivo. 612 00:29:58,740 --> 00:30:00,750 Dovolite mi, da gredo naprej in, pravzaprav, Naj samo narediti sam. 613 00:30:00,750 --> 00:30:01,960 Ni mi treba odpreti to. 614 00:30:01,960 --> 00:30:03,390 Naj grem na File, New. 615 00:30:03,390 --> 00:30:04,740 Jaz grem na dogodke. 616 00:30:04,740 --> 00:30:08,460 Jaz grem, ko zelena zastava kliknili, in sem šel na zvok. 617 00:30:08,460 --> 00:30:11,590 In bom povleci in spusti to puzzle piece, predvajanje zvoka mijav. 618 00:30:11,590 --> 00:30:12,580 To zapahi skupaj. 619 00:30:12,580 --> 00:30:14,327 In zdaj, če sem kliknite zeleno zastavo - 620 00:30:14,327 --> 00:30:16,260 >> [Mijav SOUND] 621 00:30:16,260 --> 00:30:17,500 >> DAVID Malan: prisrčno. 622 00:30:17,500 --> 00:30:21,560 OK, zdaj pa nekaj malega bolj logično, samo da bi dokazala, da 623 00:30:21,560 --> 00:30:22,760 smo lahko, za zdaj. 624 00:30:22,760 --> 00:30:25,550 Grem, da sprostite to od tega tipa. 625 00:30:25,550 --> 00:30:27,000 Jaz grem na nadzorno. 626 00:30:27,000 --> 00:30:28,770 In bom zgrabi stanje. 627 00:30:28,770 --> 00:30:30,600 Torej, če kaj potem. 628 00:30:30,600 --> 00:30:32,020 Torej, to je, kako je videti tam. 629 00:30:32,020 --> 00:30:33,890 Potreboval bom logični izraz. 630 00:30:33,890 --> 00:30:38,130 In mi gredo naprej in reči, Naj gre za upravljavce. 631 00:30:38,130 --> 00:30:40,270 Grem narediti nekaj rahlo Mathy, samo za brcne. 632 00:30:40,270 --> 00:30:43,600 Jaz grem noter in reči, če nekaj manj kot kaj drugega, 633 00:30:43,600 --> 00:30:45,030 iti naprej in narediti nekaj. 634 00:30:45,030 --> 00:30:46,890 Torej, zdaj, veš kaj, naključni blok. 635 00:30:46,890 --> 00:30:51,620 Torej opazili, kako, če sem hover nad to stvar tukaj, da snap tam. 636 00:30:51,620 --> 00:30:54,090 >> Torej sedaj, obvestilo, da sem začeli delati nekaj, kar je že bolj logično 637 00:30:54,090 --> 00:30:54,650 zanimivo. 638 00:30:54,650 --> 00:30:59,720 Če naključno število med 1 in 10 je manj kot, recimo, šest. 639 00:30:59,720 --> 00:31:03,670 Če sem izbral šest, ki v bistvu sredstvo, s 50% naredite naslednje 640 00:31:03,670 --> 00:31:03,980 verjetnost. 641 00:31:03,980 --> 00:31:05,460 To je kot lahkota kovanec. 642 00:31:05,460 --> 00:31:07,330 Sedaj lahko storim nekaj pogojno. 643 00:31:07,330 --> 00:31:10,800 In to je nekaj bom storiti, je igrati zvok. 644 00:31:10,800 --> 00:31:14,280 Torej, zdaj, ko kliknem na zaslonu zastave, je kot metanje kovanca. 645 00:31:14,280 --> 00:31:14,610 >> [Mijav SOUND] 646 00:31:14,610 --> 00:31:17,160 >> DAVID Malan: Bilo je glav ali drugih malenkosti tam. 647 00:31:17,160 --> 00:31:17,920 Dajmo še enkrat. 648 00:31:17,920 --> 00:31:18,860 >> [Mijav SOUND] 649 00:31:18,860 --> 00:31:19,790 >> DAVID Malan: spet Heads. 650 00:31:19,790 --> 00:31:20,280 >> [Mijav SOUND] 651 00:31:20,280 --> 00:31:21,500 >> DAVID Malan: spet Heads. 652 00:31:21,500 --> 00:31:22,631 Uf, OK. 653 00:31:22,631 --> 00:31:24,720 Repi, da je čas. 654 00:31:24,720 --> 00:31:29,545 Torej 50% časa, če to neskončno dolga, bomo dobili 50% mijavkanje 655 00:31:29,545 --> 00:31:32,180 in 50% molk. 656 00:31:32,180 --> 00:31:34,850 Torej tam, samo osnovni gradbeni blok, ki nam omogoča to. 657 00:31:34,850 --> 00:31:37,710 Ampak to je nekako dolgočasno, da imam voditi tako, da kliknete na ta gumb. 658 00:31:37,710 --> 00:31:39,810 Zato naj samo povlečete in vrgel vse tiste stran. 659 00:31:39,810 --> 00:31:42,270 Če ste jih vlekli na sredini, oni šele izbrisati sami. 660 00:31:42,270 --> 00:31:43,760 >> Naj grem do nadzorovati. 661 00:31:43,760 --> 00:31:46,060 Naj grem za vedno. 662 00:31:46,060 --> 00:31:49,952 In tokrat bom naredil Nekaj ​​minorly nadležno. 663 00:31:49,952 --> 00:31:51,560 >> [SMEH] 664 00:31:51,560 --> 00:31:53,370 >> DAVID Malan: In pusti me naprej in to kontrolo. 665 00:31:53,370 --> 00:31:57,260 Počakajte eno sekundo, prav tako to ni preveč rešetke. 666 00:31:57,260 --> 00:31:59,870 >> [Mijav SOUND] 667 00:31:59,870 --> 00:32:00,970 >> DAVID Malan: To ni naravno. 668 00:32:00,970 --> 00:32:01,861 OK. 669 00:32:01,861 --> 00:32:04,510 >> [Mijav SOUND] 670 00:32:04,510 --> 00:32:06,406 >> DAVID Malan: In Obvestilo kaj, lepo pa nič, za tiste, ki ste 671 00:32:06,406 --> 00:32:09,210 imajo pred programing izkušnje, si ne potrebujete za zagon in ustavitev. 672 00:32:09,210 --> 00:32:10,060 Vam ni potrebno prevajati. 673 00:32:10,060 --> 00:32:13,210 Pravkar ste ga spremenili, in program bo dinamično prilagajanje. 674 00:32:13,210 --> 00:32:14,620 Torej, to je pridobivanje malo zanimivo. 675 00:32:14,620 --> 00:32:16,930 Ampak dajmo ga vzamete en korak naprej. 676 00:32:16,930 --> 00:32:19,760 Dovolite mi, da gredo naprej in se znebil tega programa. 677 00:32:19,760 --> 00:32:23,300 >> [Mijav SOUND] 678 00:32:23,300 --> 00:32:25,520 >> DAVID Malan: To je tisto, kar bomo pokličite hrošča v nič. 679 00:32:25,520 --> 00:32:26,770 On ne bi smel voditi tako, da se zvok. 680 00:32:26,770 --> 00:32:28,340 Tako smo se mu bom ustaviti. 681 00:32:28,340 --> 00:32:30,435 Vse je v redu, tako da sem zdaj šli v - 682 00:32:30,435 --> 00:32:32,180 Jaz bom pustil MIT vem. 683 00:32:32,180 --> 00:32:35,160 Šli bomo tja za vedno. 684 00:32:35,160 --> 00:32:37,240 In zdaj, hočem nekaj narediti znova in znova. 685 00:32:37,240 --> 00:32:38,760 Jaz grem v nadzor. 686 00:32:38,760 --> 00:32:41,570 >> In poglejmo, bom vleči moj pogoj, če obstaja. 687 00:32:41,570 --> 00:32:42,850 Torej, zdaj opazili logiko. 688 00:32:42,850 --> 00:32:46,430 Ko je zelena zastava kliknili, naredite nekaj večno, ampak samo to, da 689 00:32:46,430 --> 00:32:48,890 kaj če je to stvar res. 690 00:32:48,890 --> 00:32:51,480 Jaz grem na, recimo, pravijo, zaznavanje. 691 00:32:51,480 --> 00:32:54,430 In jaz grem naprej in izbrati dotaknete in tam padec. 692 00:32:54,430 --> 00:32:55,930 To je logični izraz. 693 00:32:55,930 --> 00:32:57,740 >> In zdaj, obvestilo, v tem padcu down meni, da so 694 00:32:57,740 --> 00:32:59,050 nekatere vnaprej določene vrednosti. 695 00:32:59,050 --> 00:33:00,910 Torej lahko rečem, ste se dotika rob zaslona? 696 00:33:00,910 --> 00:33:03,900 Ali se boste dotaknili miške, puščica na zaslonu? 697 00:33:03,900 --> 00:33:04,620 Torej bom naredil. 698 00:33:04,620 --> 00:33:08,770 In če je tako, potem bom šel naprej in predvajanje zvoka mijav. 699 00:33:08,770 --> 00:33:11,250 Torej, zdaj sem nekako imajo Začetki igre - 700 00:33:11,250 --> 00:33:13,110 lepa igra. 701 00:33:13,110 --> 00:33:14,060 >> [Mijav SOUND] 702 00:33:14,060 --> 00:33:17,250 >> DAVID Malan: OK, čudovit, buggy igre. 703 00:33:17,250 --> 00:33:20,770 Dovolite mi, da počakate, recimo, eno sekundo. 704 00:33:20,770 --> 00:33:24,910 Zdaj imajo spet, s klikom zelena zastava. 705 00:33:24,910 --> 00:33:27,860 >> [Mijav SOUND] 706 00:33:27,860 --> 00:33:30,460 >> DAVID Malan: Torej, zdaj je kot ljubkovanje mačko. 707 00:33:30,460 --> 00:33:31,850 >> [Mijav SOUND] 708 00:33:31,850 --> 00:33:34,460 >> DAVID Malan: V redu, zdaj pa to en sem, da vnaprej. 709 00:33:34,460 --> 00:33:39,250 Zelo pozno, da postane neke vrste enostavno narediti neumnosti. 710 00:33:39,250 --> 00:33:40,240 Torej, pusti me tukaj. 711 00:33:40,240 --> 00:33:43,720 Recimo, da je bila Pet Cat. 712 00:33:43,720 --> 00:33:46,600 Poglejmo zdaj odprti Ne Pet Cat. 713 00:33:46,600 --> 00:33:48,330 Zdaj, če bomo igrali to eno, si lahko uganiti, če ste 714 00:33:48,330 --> 00:33:49,650 videti na zaslonu - 715 00:33:49,650 --> 00:33:51,090 >> [Mijav SOUND] 716 00:33:51,090 --> 00:33:52,170 >> DAVID Malan: Zdaj, če sem hišne mačka 717 00:33:52,170 --> 00:33:55,420 >> [Rjovenje levji] 718 00:33:55,420 --> 00:33:57,260 >> DAVID Malan: Torej dejansko ne hišne mačka v tem primeru. 719 00:33:57,260 --> 00:34:01,350 Torej, zdaj imamo samo primer Veja, ki se dogaja v dveh smereh. 720 00:34:01,350 --> 00:34:03,130 Zdaj pa mi gredo naprej in odpreti še eno tukaj. 721 00:34:03,130 --> 00:34:07,120 Ta je tudi med našim virom kodo datoteke za ta dan. 722 00:34:07,120 --> 00:34:13,199 Naj gredo nazaj v mojem Vir Imenik in iti v, recimo, izberite 723 00:34:13,199 --> 00:34:15,610 ta tip tukaj in si oglejte kaj je drugače. 724 00:34:15,610 --> 00:34:17,449 >> Vau, vse v redu, tako da zdaj je pridobivanje malo bolj zapletena. 725 00:34:17,449 --> 00:34:21,300 In preden bomo videli, kaj ta človek počne, poskusimo razbrati iz programa 726 00:34:21,300 --> 00:34:22,219 na desni strani. 727 00:34:22,219 --> 00:34:25,590 In zdaj praske jasno nam omogoča, da imajo več scenarijev, več 728 00:34:25,590 --> 00:34:29,730 Programi, povezani z eno sprite, z eno značaja in, očitno, 729 00:34:29,730 --> 00:34:31,760 Oni so tako zašli v lockstep. 730 00:34:31,760 --> 00:34:35,570 Zaradi obeh programov začne s ko zelena klikov zastave, to je 731 00:34:35,570 --> 00:34:38,650 namiguje na bolj napredne teme, s ki bi se nekateri od vas pozna, 732 00:34:38,650 --> 00:34:40,580 znan kot navojem ali multi-threading. 733 00:34:40,580 --> 00:34:44,400 >> Izkazalo se je, skrajšam zgodbo, računalniki Danes lahko bistveno storiti več 734 00:34:44,400 --> 00:34:45,270 stvari naenkrat. 735 00:34:45,270 --> 00:34:48,659 Ali pa lahko eno stvar naenkrat, tako hitro, da ne boste niti opazili, da 736 00:34:48,659 --> 00:34:50,150 to je dejansko počne eno stvar naenkrat. 737 00:34:50,150 --> 00:34:53,320 Ampak za zdaj, predpostavimo, da oba Ti programi se bodo vršiti 738 00:34:53,320 --> 00:34:54,310 istem času. 739 00:34:54,310 --> 00:34:57,350 In obvestilo, oba sta vedno koščke. 740 00:34:57,350 --> 00:35:01,270 Torej, oni so tako dogaja, da teče dokler ne zadeti rdečo stop znak. 741 00:35:01,270 --> 00:35:02,100 >> Torej, kaj so storili? 742 00:35:02,100 --> 00:35:06,030 Na levi strani, sem očitno razglasitvi spremenljivko izključen. 743 00:35:06,030 --> 00:35:09,030 Torej, nisem pa nekaj podobnega pokličite dolgočasen kot N. Poklical sem ga utiša to 744 00:35:09,030 --> 00:35:10,240 Čas za posredovanje pomen. 745 00:35:10,240 --> 00:35:11,780 Nastavite sem, da je enaka nič. 746 00:35:11,780 --> 00:35:16,200 Pomislimo, da so lažni ali pa mislim, da so lažni. 747 00:35:16,200 --> 00:35:17,490 >> Zdaj, vedno naredite naslednje. 748 00:35:17,490 --> 00:35:23,280 Če ne pritisnete preslednico na tipkovnici, potem, če utišan enaka nič, 749 00:35:23,280 --> 00:35:25,930 nato spremenite utišan do enakega enega. 750 00:35:25,930 --> 00:35:27,580 Else, nastavite izključen nič. 751 00:35:27,580 --> 00:35:30,530 Torej je logično, čeprav je, da je celotna kup kosov sestavljanke, da je 752 00:35:30,530 --> 00:35:33,160 Samo pravim, ko sem udaril preslednico, Kaj naj storim, da spremenljivka 753 00:35:33,160 --> 00:35:34,750 imenovano nemo? 754 00:35:34,750 --> 00:35:37,170 Spremenite ga z ene na nič, ali nič do ena. 755 00:35:37,170 --> 00:35:37,840 To je vse. 756 00:35:37,840 --> 00:35:40,740 Tako da je kot obračanja stikala luči vklopite ali izklopite in se spomnimo, s 757 00:35:40,740 --> 00:35:42,330 spremenljivka, ki sem jih naredil. 758 00:35:42,330 --> 00:35:45,990 >> Medtem, na desni strani, na smislu navadnega je, kaj je namen 759 00:35:45,990 --> 00:35:47,547 skript na desni strani? 760 00:35:47,547 --> 00:35:48,860 >> ŠTUDENT: Če želite predvajati zvok lev morje. 761 00:35:48,860 --> 00:35:52,500 >> DAVID Malan: Za predvajanje Sea Lion zvok, če ni izklopljen, ga 762 00:35:52,500 --> 00:35:53,480 naravo te spremenljivke. 763 00:35:53,480 --> 00:35:57,360 Tako smo si delijo državo, tako rekoč, izmenjavo informacij med tema dvema 764 00:35:57,360 --> 00:36:00,540 skripte, ker je opazil, tukaj smo vedno naredite naslednje. 765 00:36:00,540 --> 00:36:04,620 Če utišan nič, tako da, če to ni izključen - če je izključen lažne, nato pa igra 766 00:36:04,620 --> 00:36:05,980 To Sea Lion zvok. 767 00:36:05,980 --> 00:36:09,930 In mislim, da si, hi, hi, hi, za dve sekundi, počakajte nekaj trenutkov, nato pa 768 00:36:09,930 --> 00:36:11,140 ponovno preverite. 769 00:36:11,140 --> 00:36:15,150 Torej, če zdaj gremo tja na levo, kje je ta tip, in hit 770 00:36:15,150 --> 00:36:16,662 zelena zastava, 771 00:36:16,662 --> 00:36:30,260 >> [SEA LION SOUND] 772 00:36:30,260 --> 00:36:31,910 >> DAVID Malan: Na kateri točki ta dobil zelo nadležno? 773 00:36:31,910 --> 00:36:33,440 Ker bo to šele iti v nedogled. 774 00:36:33,440 --> 00:36:36,490 Tako da včasih, neskončne zanke, če se tako izrazim, so namerna. 775 00:36:36,490 --> 00:36:41,140 Ampak v tem primeru, kakor hitro bom hit preslednico, se ustavi. 776 00:36:41,140 --> 00:36:42,800 Zdaj se program ne zapre. 777 00:36:42,800 --> 00:36:44,760 To je še vedno teče v teh zank. 778 00:36:44,760 --> 00:36:46,540 Ampak, če dobim preslednico spet - 779 00:36:46,540 --> 00:36:47,851 >> [SEA LION SOUND] 780 00:36:47,851 --> 00:36:49,650 >> DAVID Malan: On bo kramp navzgor, kjer je končal. 781 00:36:49,650 --> 00:36:53,240 Tako da je eden od načinov za nas storiti nekaj znova in znova, ampak da 782 00:36:53,240 --> 00:36:54,920 Čas, le pogojno. 783 00:36:54,920 --> 00:36:58,940 No, pa smo v tem smislu početje stvari znova in znova, pusti me 784 00:36:58,940 --> 00:37:01,370 iti v drug tak primer tukaj. 785 00:37:01,370 --> 00:37:04,370 Tole bomo poklical štetje ovac. 786 00:37:04,370 --> 00:37:05,710 >> In opazil, kaj ta človek počne. 787 00:37:05,710 --> 00:37:08,540 To je pravzaprav malo več kot psevdokoda smo igrali z na 788 00:37:08,540 --> 00:37:12,230 Sreda, pri čemer se postavlja nekaj števec, pomislite, da je kot N znova, da 789 00:37:12,230 --> 00:37:14,030 nič, se vedno pa naslednje. 790 00:37:14,030 --> 00:37:17,960 Pravi, da vrednost pultu za enega drugič, počaka sekundo, nato 791 00:37:17,960 --> 00:37:19,430 spremeni števec po enega. 792 00:37:19,430 --> 00:37:21,570 In v tem smislu, da samo pomeni, da korakih. 793 00:37:21,570 --> 00:37:23,250 Tako je eden dodaja, da ga. 794 00:37:23,250 --> 00:37:25,830 Torej je to dobesedno - 795 00:37:25,830 --> 00:37:27,890 to ni ravno to, kar mislimo o, kot štetje ovac. 796 00:37:27,890 --> 00:37:33,120 To je ovca početje štetju večno, z nič. 797 00:37:33,120 --> 00:37:35,560 >> Tako da lahko naredimo podobne stvari tam, logično. 798 00:37:35,560 --> 00:37:37,750 Zdaj pa poskusimo za čiščenje nekatere od teh stvari. 799 00:37:37,750 --> 00:37:43,440 Dovolite mi, da gredo naprej zdaj na preprost primer, kjer naša mačka je le, da bo 800 00:37:43,440 --> 00:37:44,750 začetek kašelj. 801 00:37:44,750 --> 00:37:48,830 Vse je v redu, tako da tukaj imamo kašelj 0 - 802 00:37:48,830 --> 00:37:50,685 računalniški znanstveniki začeli štetjem od 0. 803 00:37:50,685 --> 00:37:53,480 Tako da je ta mačka je le, da bo kašelj trikrat. 804 00:37:53,480 --> 00:37:54,890 In tukaj je, kako sem izvajal to. 805 00:37:54,890 --> 00:38:00,130 Ko je zelena zastava kliknili, kašelj, počakajte, kašelj, čakaj, kašelj, počakaj. 806 00:38:00,130 --> 00:38:02,470 In sem to storil samo z vlečenjem in spustite kosov sestavljanke. 807 00:38:02,470 --> 00:38:04,740 Ali če začnete Lemiti z nič, boste videli, da lahko dejansko 808 00:38:04,740 --> 00:38:08,620 dvojnik kosov, tako da lahko naredite hitreje stvari brez vlečenjem 809 00:38:08,620 --> 00:38:10,310 in spustite oglas nauseum. 810 00:38:10,310 --> 00:38:12,680 >> Ampak nismo na najboljši poti tukaj. 811 00:38:12,680 --> 00:38:15,210 Ker kako bi ga kašelj še četrtič? 812 00:38:15,210 --> 00:38:16,790 No, lahko bi nekako šel dol. 813 00:38:16,790 --> 00:38:19,420 Jaz lahko razmnožuje in nato prilepite tja. 814 00:38:19,420 --> 00:38:21,740 Kako mu kašelj peti čas? 815 00:38:21,740 --> 00:38:23,230 No, kopirati in ponovno prilepite. 816 00:38:23,230 --> 00:38:24,210 Ali ponovno povlecite padec. 817 00:38:24,210 --> 00:38:26,920 In zelo hitro, začne ta program da bi dobili resnično, resnično odveč, 818 00:38:26,920 --> 00:38:28,880 res dolga, ampak res nezanimiva. 819 00:38:28,880 --> 00:38:30,120 Ampak tam je način za čiščenje tega. 820 00:38:30,120 --> 00:38:33,680 Kaj je očiten način čistiti to? 821 00:38:33,680 --> 00:38:36,280 >> OK, tako da smo lahko dejansko res šel ven in, če ste zadeli prostor 822 00:38:36,280 --> 00:38:37,070 bar, so mu kašelj. 823 00:38:37,070 --> 00:38:40,150 Ampak, če želim narediti nekaj ponavlja, opozarjajo, da imamo 824 00:38:40,150 --> 00:38:41,310 nekaj nadzora konstrukti. 825 00:38:41,310 --> 00:38:43,800 Naj mi premakniti to iz Tako gredo pod nadzor. 826 00:38:43,800 --> 00:38:47,340 Naj povem samo to ponovitev, torej trikrat. 827 00:38:47,340 --> 00:38:49,410 In zdaj mi nekaj ukradem od teh kosov sestavljanke. 828 00:38:49,410 --> 00:38:50,980 Dovolite mi, da snap to tukaj. 829 00:38:50,980 --> 00:38:52,400 Naj vržem to stran v celoti. 830 00:38:52,400 --> 00:38:55,400 >> In zdaj imam boljši zasnovan program. 831 00:38:55,400 --> 00:38:55,920 Zakaj? 832 00:38:55,920 --> 00:39:00,540 Če želim spremeniti kolikokrat ta mačka kašelj, vse, kar imam 833 00:39:00,540 --> 00:39:05,640 se je spremenila eno spremenljivko, ali eno vrednost, namesto od tri do štiri ali 834 00:39:05,640 --> 00:39:06,700 pet ali šest. 835 00:39:06,700 --> 00:39:09,060 Ali lahko kaj storim pogojno, tudi s prostorom 836 00:39:09,060 --> 00:39:10,320 Zaporo če sem hotel. 837 00:39:10,320 --> 00:39:11,780 >> Torej, to je splošno načelo. 838 00:39:11,780 --> 00:39:14,950 Ko začnete kopiranjem in lepljenjem kodo, ali je v nič, ali 839 00:39:14,950 --> 00:39:18,340 C, ko počnete nekaj narobe, najbolj verjetno. 840 00:39:18,340 --> 00:39:21,950 Ali pa vsaj, ko ste presegli nekatere razumni število kopij in 841 00:39:21,950 --> 00:39:24,610 paste, ste verjetno delaš nekaj narobe. 842 00:39:24,610 --> 00:39:26,740 >> Ampak veš kaj? 843 00:39:26,740 --> 00:39:27,590 Jaz ne maram tega. 844 00:39:27,590 --> 00:39:28,980 To ni najčistejša oblika. 845 00:39:28,980 --> 00:39:32,860 Želim si puzzle piece imenuje kašelj, ker potem ne bi 846 00:39:32,860 --> 00:39:36,100 morale izvajati to sam, starinski način, ki ga 847 00:39:36,100 --> 00:39:38,220 ki pravijo, počakajte - 848 00:39:38,220 --> 00:39:40,320 Kaj pa, če so bili le kašelj puzzle kos. 849 00:39:40,320 --> 00:39:41,330 >> No, jaz lahko dejansko narediti. 850 00:39:41,330 --> 00:39:45,010 Naj grem po več blokov, kliknite Naredite Block, in zdaj sem dobil to 851 00:39:45,010 --> 00:39:45,610 Okno tukaj. 852 00:39:45,610 --> 00:39:47,540 Bom poklical ta stvar kašelj. 853 00:39:47,540 --> 00:39:49,400 Jaz grem naprej in kliknite V redu. 854 00:39:49,400 --> 00:39:53,150 In sedaj obvestilo, dobim nov zagon Kos, ki je ukrivljen na vrhu. 855 00:39:53,150 --> 00:39:56,590 In kaj bom naredil s tem, da sem bo samo kradejo teh blokov. 856 00:39:56,590 --> 00:39:57,800 Jaz jih bom dal tukaj. 857 00:39:57,800 --> 00:40:00,490 >> In zdaj, s temi tremi kosi, sem izvaja, kaj bom poklical 858 00:40:00,490 --> 00:40:03,530 funkcijo, ali postopek, ali del morda ga poznamo kot metodo. 859 00:40:03,530 --> 00:40:05,050 Manjše razlike med besedami. 860 00:40:05,050 --> 00:40:06,950 Ampak za zdaj, kaj je samo Ta funkcija klic. 861 00:40:06,950 --> 00:40:08,750 To je le nova puzzle kos. 862 00:40:08,750 --> 00:40:11,000 Sedaj se izvaja, kot je ta. 863 00:40:11,000 --> 00:40:15,170 >> Ampak obvestilo, da je Scratch nam je dal fizično predstavitev, da celotna 864 00:40:15,170 --> 00:40:16,570 blokirati tukaj. 865 00:40:16,570 --> 00:40:21,930 Torej sedaj, lahko samo vleči to tukaj, pravijo, ponovite trikrat, in 866 00:40:21,930 --> 00:40:26,420 Kaj se bo zgodilo zdaj, ko sem igral ta scenarij, je samo en program 867 00:40:26,420 --> 00:40:27,500 teče naenkrat. 868 00:40:27,500 --> 00:40:29,880 Obstaja samo ena, če kliknili zelena zastava. 869 00:40:29,880 --> 00:40:34,010 Ampak to vijolična blok pozval kašelj dejansko pove nič, vsak 870 00:40:34,010 --> 00:40:38,160 ko boste videli, da je kos sestavljanke, dejansko izvesti te korake, ki sem 871 00:40:38,160 --> 00:40:40,420 zgodi, da ročno izvedbo. 872 00:40:40,420 --> 00:40:41,410 >> Tako da je nekako čeden. 873 00:40:41,410 --> 00:40:44,650 Toda zdaj, domnevam, da sem se odločil, jaz ne želeli to mačko samo kašelj. 874 00:40:44,650 --> 00:40:46,660 Želim si, da bi lahko da kihanje, kot dobro. 875 00:40:46,660 --> 00:40:48,905 No, kako bi se lotili izvajanje kihanje? 876 00:40:48,905 --> 00:40:51,310 No, sem lahko precej narediti isto stvar. 877 00:40:51,310 --> 00:40:52,690 Jaz bi naredil še en blok. 878 00:40:52,690 --> 00:40:55,940 Lahko pokličete to kihanje, kliknite V redu. 879 00:40:55,940 --> 00:40:59,250 >> Potem, tukaj sem lahko dejansko so, naj podvajati to - 880 00:40:59,250 --> 00:41:02,850 in tam, kjer bi se počutite kot ti si verjetno ne delaš nekaj v 881 00:41:02,850 --> 00:41:03,780 Najboljši način. 882 00:41:03,780 --> 00:41:06,670 Lahko bi rekel kaj takega, achoo, za eno sekundo. 883 00:41:06,670 --> 00:41:07,440 Počakajte eno sekundo. 884 00:41:07,440 --> 00:41:08,715 Zdaj imam nov blok, imenovan kihanje. 885 00:41:08,715 --> 00:41:10,210 In res, da je. 886 00:41:10,210 --> 00:41:14,010 >> Ampak tudi to bi se morala začeti počutiti - morda pa tudi ne prvi teden v razredu, ampak 887 00:41:14,010 --> 00:41:15,730 po drugi - samo malo odveč. 888 00:41:15,730 --> 00:41:17,800 Jasno je, da obstaja nekaj redundance tukaj. 889 00:41:17,800 --> 00:41:22,090 Torej, kaj mi predlaga, namesto, da bomo natančneje ta definicija kot sledi. 890 00:41:22,090 --> 00:41:24,820 >> Naj grem do mojega meniju Datoteka. 891 00:41:24,820 --> 00:41:26,090 Ne bom rešiti to različico. 892 00:41:26,090 --> 00:41:29,080 Jaz grem v eno moji narejenemu datoteke tukaj. 893 00:41:29,080 --> 00:41:31,190 In jaz grem naprej in odpiranje kašelj 2. 894 00:41:31,190 --> 00:41:32,220 Ops, da je kašelj 2. 895 00:41:32,220 --> 00:41:36,900 Dovolite mi, da gredo naprej in odprla kašelj 3, ki je ta vir imenik. 896 00:41:36,900 --> 00:41:42,450 Kašelj 3 in obvestila - oh, sem rekel, Zgodba v napačnem vrstnem redu. 897 00:41:42,450 --> 00:41:45,030 Dovolite mi, da si opomore od te zgodbe. 898 00:41:45,030 --> 00:41:48,990 >> Zgodba Hotela sem povedati konča z kašlja 4 - 899 00:41:48,990 --> 00:41:50,270 tam je. 900 00:41:50,270 --> 00:41:54,380 Pa kaj, če bom namesto tega opredeliti Večji puzzle piece imenuje 901 00:41:54,380 --> 00:41:57,250 opredeliti, recimo besedo n-krat. 902 00:41:57,250 --> 00:41:59,930 Kihanje je le, očitno, v nič, achoo. 903 00:41:59,930 --> 00:42:01,680 Zato smo ga izraziti kot beseda, samo zato, ker je to 904 00:42:01,680 --> 00:42:02,750 Omejitev programa. 905 00:42:02,750 --> 00:42:07,860 In kašelj [KAŠELJ], vendar kašelj, C-O-U-G-H. Tako da je le dva 906 00:42:07,860 --> 00:42:10,820 različne besede početje, v bistvu, ista stvar. 907 00:42:10,820 --> 00:42:12,820 >> Tako da sem lahko dejansko Novi blok, kot je ta. 908 00:42:12,820 --> 00:42:14,220 Nisem to možnost v meniju, preden ne uporabljajte. 909 00:42:14,220 --> 00:42:16,960 Toda, ko boste kliknili Naredite Block, lahko izberete nekaj možnosti. 910 00:42:16,960 --> 00:42:20,900 In lahko rečem, da je ta blok dejansko traja nekaj vložkov, drugače 911 00:42:20,900 --> 00:42:24,710 znan kot argumente, ali parametrov, tako da lahko spremenite vedenje 912 00:42:24,710 --> 00:42:25,520 vaš blok. 913 00:42:25,520 --> 00:42:28,780 >> Torej, kaj sem naredil pred nekaj trenutki smo Poklical sem to block Povejte. 914 00:42:28,780 --> 00:42:30,880 In potem sem rekel, da traja vhodni niz. 915 00:42:30,880 --> 00:42:32,810 In zdaj opazil, ki ga privzeto, pravi niz 1. 916 00:42:32,810 --> 00:42:35,440 Niz je le beseda, ali Stavek, za naše namene. 917 00:42:35,440 --> 00:42:37,810 Vendar sem le, da bo dal nekaj Besedilo ograde se, tako kot v 918 00:42:37,810 --> 00:42:40,620 Spletna stran, če vidite ime, ali geslo, potem pa izgine, ko 919 00:42:40,620 --> 00:42:41,550 začnete tipkati. 920 00:42:41,550 --> 00:42:42,720 To je vse, kar je. 921 00:42:42,720 --> 00:42:44,590 >> In zdaj bom dodajte vnos številk. 922 00:42:44,590 --> 00:42:47,180 In bom to imenujemo n - ampak to je precej samovoljno. 923 00:42:47,180 --> 00:42:49,510 In potem samo nalepka, samo, da bi ta blok malo bolj samostojno 924 00:42:49,510 --> 00:42:50,570 obrazložitev - 925 00:42:50,570 --> 00:42:53,010 krat, da je tisto, kar sem storil. 926 00:42:53,010 --> 00:42:56,540 In končni rezultat je, da dobim blok, ki je videti takole. 927 00:42:56,540 --> 00:42:58,880 >> In zdaj opazil, sem s pomočjo Ponavljam blok. 928 00:42:58,880 --> 00:43:03,480 Toda namesto trdega kodiranja tri, sem povleci in spusti n tam, zato sem 929 00:43:03,480 --> 00:43:05,530 Lahko parametrize funkcijo. 930 00:43:05,530 --> 00:43:08,590 Lahko bi bila ta funkcija naredi nekaj različno število krat, ki temelji na 931 00:43:08,590 --> 00:43:09,410 ta vrednost. 932 00:43:09,410 --> 00:43:14,270 >> In opazil, pravijo, da je to, kar sem storil Tukaj, če bom povlecite besedo lahko rečem, ne 933 00:43:14,270 --> 00:43:17,860 težko kodirane beseda, ampak karkoli se prenese v za eno sekundo. 934 00:43:17,860 --> 00:43:20,200 Medtem, kako sem ponovno izvajati kašelj? 935 00:43:20,200 --> 00:43:26,980 Jaz namesto tega opredeliti kot kašelj pravijo kašelj n-krat. 936 00:43:26,980 --> 00:43:30,480 >> Torej na kratko, grem skozi ta hitro, vendar Osnovna ideja je takoj 937 00:43:30,480 --> 00:43:32,750 kot ste lahko videli v vašem programu da, počakaj malo, sem naredil 938 00:43:32,750 --> 00:43:36,610 nekaj čisto takole pred, Lahko sem dejavnik ven nekaj skupnih 939 00:43:36,610 --> 00:43:37,090 funkcionalnost? 940 00:43:37,090 --> 00:43:41,090 Lahko razpadejo, kaj delam v nekaj osnovnih idej? 941 00:43:41,090 --> 00:43:42,070 To je tisto, kar delamo tukaj. 942 00:43:42,070 --> 00:43:44,830 In sem se zloži te stvari, vizualno, eno na drugo 943 00:43:44,830 --> 00:43:47,710 ker je to dokaz, da ta ideja začenši z binarno, bo ASCII, 944 00:43:47,710 --> 00:43:51,530 izdelavo grafične programe, nekako plastenja bolj zapletene ideje o 945 00:43:51,530 --> 00:43:52,570 eno na drugo. 946 00:43:52,570 --> 00:43:53,730 >> Isto idejo tukaj. 947 00:43:53,730 --> 00:43:56,870 Začel sem iz nič, izvajanje kašelj, nato pa spoznal, kašelj je 948 00:43:56,870 --> 00:43:58,540 res samo nekaj rekel. 949 00:43:58,540 --> 00:44:01,630 Naj namesto izvajati Pojem rekel nekaj. 950 00:44:01,630 --> 00:44:05,200 In na vrhu, da lahko izvaja achoo, ali kašelj? 951 00:44:05,200 --> 00:44:07,990 In bi lahko storili več, kot variante še vedno. 952 00:44:07,990 --> 00:44:10,400 >> Torej iz tega temeljnega načela, lahko začnemo storiti 953 00:44:10,400 --> 00:44:12,180 vse bolj kompleksni programi. 954 00:44:12,180 --> 00:44:14,100 Naj se odprejo tole. 955 00:44:14,100 --> 00:44:18,020 Mi lahko dejansko imajo več sprites interakcijo na zaslonu naenkrat. 956 00:44:18,020 --> 00:44:23,470 Če grem v svojo izvorno datoteko in zgrabi enega imenovane Threads, opozarjajo, da 957 00:44:23,470 --> 00:44:26,920 nit samo res sposobnost dveh scenarijev teči z ramo ob 958 00:44:26,920 --> 00:44:28,350 strani hkrati. 959 00:44:28,350 --> 00:44:34,490 >> Obvestilo zdaj, imajo tako ptica sprite in mačka Sprite, ki imata 960 00:44:34,490 --> 00:44:35,270 lastne skripte. 961 00:44:35,270 --> 00:44:37,690 Torej, obvestila, ko kliknem mačka, dobim te skripte. 962 00:44:37,690 --> 00:44:39,830 Ko sem kliknite ptico, Dobim te skripte. 963 00:44:39,830 --> 00:44:42,070 Torej, vsak od teh fantov je njegove lastne programe. 964 00:44:42,070 --> 00:44:46,680 Ko sem zdaj kliknite zeleno zastavo, opazili da to, kar počne, je ta program 965 00:44:46,680 --> 00:44:54,090 imate mačko, neverjetno počasi lovi ptico. 966 00:44:54,090 --> 00:44:57,120 Toda mačka ima to prednost, da imajo programirana tako 967 00:44:57,120 --> 00:45:00,540 da ni važno, če ptica je, mačka gre k njemu. 968 00:45:00,540 --> 00:45:02,150 >> Mi lahko igrajo to igro veliko hitreje. 969 00:45:02,150 --> 00:45:07,750 Torej, če sem na mačko, opazil, da sem uporabo, recimo premakniti enega korake. 970 00:45:07,750 --> 00:45:11,680 Imejmo se premakne pet korakov pri čas, da pet pik naenkrat. 971 00:45:11,680 --> 00:45:13,580 Dovolite mi, kliknite igrati. 972 00:45:13,580 --> 00:45:14,490 >> [Rjovenje levji] 973 00:45:14,490 --> 00:45:17,170 >> DAVID Malan: V redu, zdaj smo lahko Res da je mačka prednost. 974 00:45:17,170 --> 00:45:18,600 10 korakov hkrati. 975 00:45:18,600 --> 00:45:20,120 >> [Rjovenje levji] 976 00:45:20,120 --> 00:45:22,770 >> DAVID Malan: V redu, tako zelo hitro, postane malo prednosti 977 00:45:22,770 --> 00:45:23,280 za mačka. 978 00:45:23,280 --> 00:45:25,310 Ampak bom zamahnete z roko na nekatere podrobnosti. 979 00:45:25,310 --> 00:45:28,240 Ampak razlog, da je ta pot začetek malo drugačen vsakič 980 00:45:28,240 --> 00:45:29,700 je, da delam nekaj naključnosti. 981 00:45:29,700 --> 00:45:33,700 Jaz sem pravzaprav kaže mačka v drugačno smer, ki temelji na, kjer sem 982 00:45:33,700 --> 00:45:38,710 hotel, da bi tako začeli, da vsakič igre ali animacije, je 983 00:45:38,710 --> 00:45:39,760 malo drugačen. 984 00:45:39,760 --> 00:45:41,950 >> Zdaj, naj vam predstavim eno drugi konstrukt tukaj. 985 00:45:41,950 --> 00:45:43,860 Torej, v tem primeru smo imeli funkcij. 986 00:45:43,860 --> 00:45:46,950 Tam je tudi, da bo kos sestavljanke znan kot matriko, ali seznama, 987 00:45:46,950 --> 00:45:50,980 , ki vam omogoča, da shranite več Vrednosti spolzi iz spremenljivke. 988 00:45:50,980 --> 00:45:53,410 Videli smo teme, in zdaj tam je Prireditve. 989 00:45:53,410 --> 00:45:56,330 >> Torej, tukaj je dogodek uporabo ta dva tukaj. 990 00:45:56,330 --> 00:46:02,490 In če sem odprl datoteko z imenom Dogodki od današnjih primerov, bomo 991 00:46:02,490 --> 00:46:06,940 glej program, ki je videti malo všeč. 992 00:46:06,940 --> 00:46:09,630 In zdaj opazil tega tipa - 993 00:46:09,630 --> 00:46:11,620 tako opazili, imam modre Muppet kliknili - 994 00:46:11,620 --> 00:46:12,990 počne le naslednje. 995 00:46:12,990 --> 00:46:15,540 Nima enega tistih zelena puzzle kosov zastavo. 996 00:46:15,540 --> 00:46:18,620 Ima ko dobim dogodek - 997 00:46:18,620 --> 00:46:19,970 tako da nekateri samovoljno beseda. 998 00:46:19,970 --> 00:46:21,590 Pravkar sem tipkal ven dogodka tam - 999 00:46:21,590 --> 00:46:23,740 on je hotel reči, Polo, za dve sekundi. 1000 00:46:23,740 --> 00:46:25,800 >> Torej tiste, ki so seznanjeni z lahko ta igra vedeti 1001 00:46:25,800 --> 00:46:26,460 kam to pelje. 1002 00:46:26,460 --> 00:46:29,800 Če sem sedaj kliknite na oranžni Muppet, njegov program počne. 1003 00:46:29,800 --> 00:46:35,020 Vedno, če preslednico tipkovnico zatreti, on pa bo rekel, Marco, 1004 00:46:35,020 --> 00:46:36,580 za dve sekundi na zaslonu. 1005 00:46:36,580 --> 00:46:39,590 Ampak on se tudi dogaja, da uporabljajo to Ljubitelj blok znan kot oddaji. 1006 00:46:39,590 --> 00:46:42,270 On bo oddaja ponudbo konec citata, "dogodek". 1007 00:46:42,270 --> 00:46:47,540 >> Medtem, moder človek, odpoklic, je posluša citatom navednicah, "dogodek". 1008 00:46:47,540 --> 00:46:50,760 Tako nekako, zdaj, lahko imamo dve sprites interakcijo. 1009 00:46:50,760 --> 00:46:53,790 In ko pridemo do spletnega programiranja, kasneje v obdobju, bo prav ta 1010 00:46:53,790 --> 00:46:58,320 koristno, da imajo svojo spletno stran nekaj v odgovor na 1011 00:46:58,320 --> 00:47:00,130 primer, klik na tipkovnici. 1012 00:47:00,130 --> 00:47:02,120 >> Naj gredo naprej in hit preslednico. 1013 00:47:02,120 --> 00:47:04,020 Oranžna fant pravi Marco. 1014 00:47:04,020 --> 00:47:05,840 Modra fant pravi Polo. 1015 00:47:05,840 --> 00:47:10,780 Če naredim še enkrat oranžna fant pravi Marco, modra fant pravi polo. 1016 00:47:10,780 --> 00:47:14,130 Tako da je lahko to en korak naprej. 1017 00:47:14,130 --> 00:47:18,790 Tokrat bomo šli, verjetno le nekaj več minut tukaj. 1018 00:47:18,790 --> 00:47:19,904 Ali imamo - 1019 00:47:19,904 --> 00:47:22,380 namizno svetilko, pridi dol. 1020 00:47:22,380 --> 00:47:24,500 Ste prav na koncu. 1021 00:47:24,500 --> 00:47:25,740 OK, lahko oba gor. 1022 00:47:25,740 --> 00:47:26,990 Imamo desk svetilke za vsakogar. 1023 00:47:26,990 --> 00:47:28,360 Daj no. 1024 00:47:28,360 --> 00:47:30,090 Ne vem, če lahko hranimo to smešno gag gor 1025 00:47:30,090 --> 00:47:32,035 Vse semester, čeprav. 1026 00:47:32,035 --> 00:47:33,530 Vse je v redu, pridi dol. 1027 00:47:33,530 --> 00:47:40,260 >> In v tem času smo imeli po zgledu dvigni, samo da bi 1028 00:47:40,260 --> 00:47:45,370 pospeši stvari zdaj, tako da smo imajo manifestacijo od drugega 1029 00:47:45,370 --> 00:47:48,360 Predhodnica tvoje uporabo Isti osnovni gradniki. 1030 00:47:48,360 --> 00:47:48,975 Kako ti je ime? 1031 00:47:48,975 --> 00:47:49,240 >> JOHN: John. 1032 00:47:49,240 --> 00:47:49,770 >> DAVID Malan: John. 1033 00:47:49,770 --> 00:47:50,400 Lepo, da mi vas. 1034 00:47:50,400 --> 00:47:50,650 In? 1035 00:47:50,650 --> 00:47:51,250 >> Setz: Setz. 1036 00:47:51,250 --> 00:47:53,130 >> DAVID Malan: Setz, prijazna do mene. 1037 00:47:53,130 --> 00:47:54,820 John, če želite, da pridejo se najprej, to je stara 1038 00:47:54,820 --> 00:47:55,910 Šola Igra z imenom Frogger. 1039 00:47:55,910 --> 00:47:57,530 Uporabite tipkovnico za to, kot dobro. 1040 00:47:57,530 --> 00:48:02,425 In cilj je priti čez ulica in vodo. 1041 00:48:02,425 --> 00:48:12,700 >> [Frogger Glasba in zvok predvaja] 1042 00:48:12,700 --> 00:48:14,970 >> DAVID Malan: Žal mi je, ne namizno svetilko za vas danes. 1043 00:48:14,970 --> 00:48:19,110 Vse je v redu, Setz, bi si rad prišel gor? 1044 00:48:19,110 --> 00:48:20,890 V redu, dajmo še enkrat. 1045 00:48:20,890 --> 00:48:21,430 >> Setz: Ali uporabite puščice? 1046 00:48:21,430 --> 00:48:22,360 >> DAVID Malan: Samo smerne tipke. 1047 00:48:22,360 --> 00:48:23,624 Gor, dol, levo, desno. 1048 00:48:23,624 --> 00:48:35,700 >> [Frogger Glasba in zvok predvaja] 1049 00:48:35,700 --> 00:48:37,880 >> DAVID Malan: Bomo jim pravimo tolažba nagrade danes, 1050 00:48:37,880 --> 00:48:38,950 nato pa zelo dobro narejena. 1051 00:48:38,950 --> 00:48:40,690 Tukaj, tako za vas, John in Setz. 1052 00:48:40,690 --> 00:48:41,940 Čestitam, vse v redu. 1053 00:48:41,940 --> 00:48:46,720 1054 00:48:46,720 --> 00:48:50,620 Torej še enkrat, saj je ta igra igra, razmišljati o tem, kaj se dogaja? 1055 00:48:50,620 --> 00:48:52,060 >> Eno pa je jasno veliko gibanja. 1056 00:48:52,060 --> 00:48:55,220 Vendar pa smo videli, kako z mačko in ptica primer, kako si lahko 1057 00:48:55,220 --> 00:48:58,350 iluzija gibanja, ki ga le nekaj premika Število znova in znova pik. 1058 00:48:58,350 --> 00:49:00,280 In če imate večno blok, bi lahko imeli ti 1059 00:49:00,280 --> 00:49:02,120 avtomobili početje to večno. 1060 00:49:02,120 --> 00:49:03,720 Imamo možnost, da nekaj naključnosti. 1061 00:49:03,720 --> 00:49:06,310 Torej, ta igra ne biti popolnoma enak vsakič. 1062 00:49:06,310 --> 00:49:09,940 Ti dnevniki, tisti avtomobili, lahko začnete na nekoliko različnih časih, tako da 1063 00:49:09,940 --> 00:49:12,690 Sama igra je bolj zanimiva z vsako igro. 1064 00:49:12,690 --> 00:49:15,320 >> In medtem, smo videli možnost poslušati preslednico. 1065 00:49:15,320 --> 00:49:18,830 Ampak jasno je, da v nič, lahko tudi poslušaj gor, dol, levo, desno, in 1066 00:49:18,830 --> 00:49:20,760 res vsaka tipka na tipkovnici. 1067 00:49:20,760 --> 00:49:22,200 In lahko storite tudi nekatere druge stvari. 1068 00:49:22,200 --> 00:49:24,660 Dovolite mi, da gredo naprej in nazaj za spletno različico. 1069 00:49:24,660 --> 00:49:30,280 >> Naj grem v naši zbirki od primerov tukaj. 1070 00:49:30,280 --> 00:49:36,120 In po mojem ateljeju, video, ki je v bistvu Mapa 1071 00:49:36,120 --> 00:49:37,780 scratch.mit.edu. 1072 00:49:37,780 --> 00:49:39,710 Imamo spletne različice vseh teh projektov. 1073 00:49:39,710 --> 00:49:42,530 In da vidim, če lahko dobim moja Računalnik tukaj sodelovati. 1074 00:49:42,530 --> 00:49:47,180 To je napisal eden od naših prijateljev na MIT, ki se imenuje Premik Butterfly. 1075 00:49:47,180 --> 00:49:50,250 >> In ko ta odpre, to bo dejansko uporabo več 1076 00:49:50,250 --> 00:49:51,430 moje strojne opreme računalnika. 1077 00:49:51,430 --> 00:49:53,325 Praske se zgodi, da je treba izvesti z Flash. 1078 00:49:53,325 --> 00:49:56,250 Flash lahko pogovorite s svojo spletno kamero, če ga imate. 1079 00:49:56,250 --> 00:50:00,210 Torej, če grem naprej in celozaslonski to Tukaj, kliknite zeleno zastavo, obvestila 1080 00:50:00,210 --> 00:50:02,530 da je varnost brzojavke v se pravi, hočeš 1081 00:50:02,530 --> 00:50:04,210 omogočajo uporabo moje spletno kamero? 1082 00:50:04,210 --> 00:50:05,510 >> Običajno, bi si verjetno rekli Zavrni. 1083 00:50:05,510 --> 00:50:07,180 Ampak v tem primeru, bomo rekli omogočajo. 1084 00:50:07,180 --> 00:50:10,430 Potem bom povedal Chrome da se omogoči tudi to. 1085 00:50:10,430 --> 00:50:15,010 In zdaj, vsak trenutek, me boš videl, ja, jaz sem. 1086 00:50:15,010 --> 00:50:18,154 In če moja roka gre gor - 1087 00:50:18,154 --> 00:50:20,390 Moram se ne premika moja Glava hkrati. 1088 00:50:20,390 --> 00:50:21,740 Tam je tudi odraz na zaslonu. 1089 00:50:21,740 --> 00:50:23,480 Pridi, greva - 1090 00:50:23,480 --> 00:50:27,616 ga lahko premikate po zaslonu, saj tam je tudi sestavljanke kosov - oh, ti 1091 00:50:27,616 --> 00:50:31,640 veš kaj je to, je to zato, ker si tudi glej projekcijsko platno za mano. 1092 00:50:31,640 --> 00:50:33,870 Tako da imamo malo Infinite stvar, ki se dogaja tam. 1093 00:50:33,870 --> 00:50:36,470 >> Vse je v redu, tako da bom poskusil tukaj. 1094 00:50:36,470 --> 00:50:37,220 Takole. 1095 00:50:37,220 --> 00:50:41,310 Torej je tudi puzzle kos, ki pravi, ko vidiš gibanje pod 1096 00:50:41,310 --> 00:50:45,470 eden od sprites, imate lahko gre gor, dol, levo, desno ali podobno. 1097 00:50:45,470 --> 00:50:48,950 Tako da imamo malo virtualne realnosti dogaja tudi tukaj, vse v 1098 00:50:48,950 --> 00:50:52,570 omejuje mojega brskalnika, samo tukaj z mojo spletno kamero. 1099 00:50:52,570 --> 00:50:53,980 Torej, kaj je potem na obzorju. 1100 00:50:53,980 --> 00:50:58,350 Prvi problem niz, saj boste videli, ali spletna stran bo na spletu kasneje 1101 00:50:58,350 --> 00:51:01,100 Nocoj ob cs50.net, se precej veliko bo za nedoločen čas. 1102 00:51:01,100 --> 00:51:04,410 Ter izvajanje projekta Scratch , ki vas zanima, igre, 1103 00:51:04,410 --> 00:51:08,350 interakcija, nekaj umetniških in izziv sebe, da uporabite poljubno število 1104 00:51:08,350 --> 00:51:09,660 od teh kosov sestavljanke. 1105 00:51:09,660 --> 00:51:11,580 In to lahko bodisi interaktivno na ta način. 1106 00:51:11,580 --> 00:51:15,470 Ali je lahko kaj bolj premišljeno je povedati zgodbo. 1107 00:51:15,470 --> 00:51:19,200 >> In res, da je, če bomo na koncu off danes na en končni npr. 1108 00:51:19,200 --> 00:51:21,290 Dovolite mi, da gre v nič na lokalni ravni. 1109 00:51:21,290 --> 00:51:25,300 Dovolite mi, da gredo naprej in odpiranje tem, in predvajanje en zadnji program, ki ga eden napisal 1110 00:51:25,300 --> 00:51:29,795 svojih predhodnikov, in sicer da je eden tukaj. 1111 00:51:29,795 --> 00:51:32,960 1112 00:51:32,960 --> 00:51:35,938 Dobro, povečati obseg za to. 1113 00:51:35,938 --> 00:52:53,770 >> [Predvajanja glasbe] 1114 00:52:53,770 --> 00:52:57,255 >> Pripovedovalec: Na naslednjem CS50, David vabi prostovoljca na odru. 1115 00:52:57,255 --> 00:52:58,636 >> DAVID Malan: Za to demonstracijo, bomo potrebovali enega prostovoljca. 1116 00:52:58,636 --> 00:53:01,050 Bi radi, da pridejo na cedilu? 1117 00:53:01,050 --> 00:53:02,300 Kako ti je ime? 1118 00:53:02,300 --> 00:53:05,320 1119 00:53:05,320 --> 00:53:06,570 Gremo naprej. 1120 00:53:06,570 --> 00:53:08,394