1 00:00:00,000 --> 00:00:11,120 2 00:00:11,120 --> 00:00:12,590 >> ZVUČNI: Ja sam [nečujno]. 3 00:00:12,590 --> 00:00:14,820 I ja sam viši na Leverett House. 4 00:00:14,820 --> 00:00:18,700 Studiram računalne znanosti, i ja sam za TF CS50. 5 00:00:18,700 --> 00:00:21,640 Kao brucoš, nisam čak ni prijenosno računalo ili smartphone. 6 00:00:21,640 --> 00:00:23,550 Nisam imao iskustva u programiranju. 7 00:00:23,550 --> 00:00:29,690 CS50 bio najupečatljiviji tečaj koji Uzeo sam na Harvardu, jer je to 8 00:00:29,690 --> 00:00:32,960 borba, ali to je stvarno zabava borba u isto vrijeme. 9 00:00:32,960 --> 00:00:37,670 I ja sam napravio puno nevjerojatna, trajna prijatelji, a ja sam naučila puno stvarno 10 00:00:37,670 --> 00:00:38,830 primjenjiva znanja. 11 00:00:38,830 --> 00:00:43,480 Tako sam sretna što nisam dopustio da moja nedostatak pozadini biti izgovor za mene 12 00:00:43,480 --> 00:00:44,840 Ne uzimajte CS50. 13 00:00:44,840 --> 00:00:46,220 Ja sam [nečujno]. 14 00:00:46,220 --> 00:00:48,910 Ja sam viši u Leverett Kuća, klasa 2014. 15 00:00:48,910 --> 00:00:51,670 I sam uzeo CS50. 16 00:00:51,670 --> 00:00:52,380 >> DAVID Malan: Dakle, ovo je CS50. 17 00:00:52,380 --> 00:00:54,400 Ovo je kraj tjedna nule. 18 00:00:54,400 --> 00:00:58,500 I sjetiti gdje smo počeli u posljednje vrijeme, bio s ovih svjetiljki, koje su bile 19 00:00:58,500 --> 00:01:01,420 toliko popularna da smo otišli i kupio još i danas. 20 00:01:01,420 --> 00:01:03,790 Tako da mislim da će to biti naša stvar ove godine - 21 00:01:03,790 --> 00:01:07,230 stolne lampe, ako ste došli na pozornicu, barem dok ne ponestane. 22 00:01:07,230 --> 00:01:11,570 >> Ali mi se ove opoziv, uvesti osnove zastupanja podataka. 23 00:01:11,570 --> 00:01:15,640 Trebali smo način za početak predstavlja o unutar računala. 24 00:01:15,640 --> 00:01:18,650 I najjednostavniji način za to je uz jedan sastojak, struja. 25 00:01:18,650 --> 00:01:21,760 I najjednostavnija stvar koju možete učiniti s Struja je da ga na i off. 26 00:01:21,760 --> 00:01:23,520 Neka se elektroni tijek ili ne. 27 00:01:23,520 --> 00:01:27,930 I pomoću ta dva temeljna stanja, off i, ili lažno i istinito, ili nulu i 28 00:01:27,930 --> 00:01:31,290 jedan, počeli smo vidjeli da smo mogli izgraditi se, u ovom slučaju, s obzirom 29 00:01:31,290 --> 00:01:33,720 lukovice, više brojeva nego Samo nula i jedan. 30 00:01:33,720 --> 00:01:36,160 Računali smo kao visok kao sedam, Primjerice, posljednji put. 31 00:01:36,160 --> 00:01:38,840 No, sve što morate učiniti je držati bacajući sve više i više svjetla žarulje na koji 32 00:01:38,840 --> 00:01:41,820 problem i, zapravo, možemo zastupati bilo koji broj da mi 33 00:01:41,820 --> 00:01:42,970 Možda eventualno žele. 34 00:01:42,970 --> 00:01:47,230 >> Pa, mi prebačen brzo tada Srijeda ovom bajtu volontera. 35 00:01:47,230 --> 00:01:52,040 8 bita je ono što mi općenito zovemo Bajt, pa ovdje smo imali osam volontera 36 00:01:52,040 --> 00:01:54,900 u srijedu, koji su zajedno bili predstavlja osam bitova. 37 00:01:54,900 --> 00:01:56,750 A kad im ruke otišao gore, oni su jedna. 38 00:01:56,750 --> 00:01:58,530 A kad im ruke bile dolje, tu su nula. 39 00:01:58,530 --> 00:02:01,970 I imali smo ove ljude došao na pozornicu zašto? 40 00:02:01,970 --> 00:02:06,530 Ono što smo u stanju učiniti s Ovaj slijed bitova? 41 00:02:06,530 --> 00:02:07,510 >> Za stvaranje abecedu. 42 00:02:07,510 --> 00:02:11,550 Mi smo bili u stanju izgraditi na vrhu toga prethodna pouka i zapravo 43 00:02:11,550 --> 00:02:14,200 početi da bi zanimljivije Informacije koje je barem više 44 00:02:14,200 --> 00:02:15,330 upoznati s nama ljudima. 45 00:02:15,330 --> 00:02:18,360 A to će biti ponavljajući Tema tijekom 50 godina, ali i računala 46 00:02:18,360 --> 00:02:21,470 Znanost općenito, ova ideja raslojavanje, gdje je, na kraju 47 00:02:21,470 --> 00:02:24,820 dan, ako doista počeo Osnove s računalom, da, 48 00:02:24,820 --> 00:02:25,760 to nule i jedinice. 49 00:02:25,760 --> 00:02:27,480 A ispod toga je samo struja. 50 00:02:27,480 --> 00:02:30,840 No, vrlo brzo ćemo početi da se onima niska razina detalja za odobrena 51 00:02:30,840 --> 00:02:35,600 i početi sloj na vrhu prošlosti radio učiniti kako bismo, u konačnici, prema 52 00:02:35,600 --> 00:02:38,610 kraj nastave i, zapravo, općenito, kao računalnih znanstvenika 53 00:02:38,610 --> 00:02:42,790 i programeri, mogu napraviti neki stvarno Snažne stvari utjecati rad 54 00:02:42,790 --> 00:02:46,620 da smo mi sami učinili i stoji na ramenima druge. 55 00:02:46,620 --> 00:02:49,300 >> Sada smo vrlo brzo prebačen u srijedu iz samo trebaju 56 00:02:49,300 --> 00:02:52,080 predstavljaju informacije pod utjecajem nešto učiniti s njom. 57 00:02:52,080 --> 00:02:54,170 Što smo definirali kao algoritam? 58 00:02:54,170 --> 00:02:57,340 59 00:02:57,340 --> 00:02:58,900 Niz uputa. 60 00:02:58,900 --> 00:03:03,380 Dakle, to je niz uputa, broj koraka koje vas, ljudskih, ili 61 00:03:03,380 --> 00:03:07,160 Računalo, više bi u pravilu izvršiti jedan za drugim kako bi 62 00:03:07,160 --> 00:03:08,100 postići neki cilj. 63 00:03:08,100 --> 00:03:11,360 I mi smo imali nekoliko Golovi posljednji put, od kojih je jedan bio brojati 64 00:03:11,360 --> 00:03:12,250 ljudi u sobi. 65 00:03:12,250 --> 00:03:15,560 I još jedan takav primjer je pronaći Mike Smith u telefonskom imeniku. 66 00:03:15,560 --> 00:03:19,750 >> Pa što vam je poznato da je sam poderao telefon Knjiga na pola prema ovom kraju se 67 00:03:19,750 --> 00:03:21,280 pronalaženje Mike Smith. 68 00:03:21,280 --> 00:03:24,000 Svrha tog vizualne bio pokazuju, opet, da smo bili 69 00:03:24,000 --> 00:03:27,770 doslovno cijepa ovaj problem u polovice, na pola, na pola, i vrlo 70 00:03:27,770 --> 00:03:31,750 brzo ide od 1.000 stranica poput na samo jednu jednoj stranici. 71 00:03:31,750 --> 00:03:34,860 Oni od vas koji su propustili ovaj na Srijeda, mislio sam da bih reproducirati 72 00:03:34,860 --> 00:03:36,820 neke snimke što ste propustili. 73 00:03:36,820 --> 00:03:38,914 Idemo pogledati. 74 00:03:38,914 --> 00:03:40,906 >> [Video reprodukciju] 75 00:03:40,906 --> 00:03:55,360 76 00:03:55,360 --> 00:03:55,990 >> -Ovdje smo. 77 00:03:55,990 --> 00:04:01,432 1500 stranica, Nice čista linija, legitimna suza. 78 00:04:01,432 --> 00:04:02,850 >> [END video reprodukciju] 79 00:04:02,850 --> 00:04:05,230 >> DAVID Malan: Znači da je bila srijeda. 80 00:04:05,230 --> 00:04:09,150 Mi tranzicija, međutim, u srijedu sada da želi da predstavljaju algoritme 81 00:04:09,150 --> 00:04:12,410 na neki način pomalo standardnom, ne samo opisujući ih verbalno, ali 82 00:04:12,410 --> 00:04:16,290 pokušavajući ih izraziti u pisanom obliku ili na zaslonu računala, tako da smo mogli 83 00:04:16,290 --> 00:04:19,170 početi poboljšati i mijenjati ih, i, na kraju, zapravo 84 00:04:19,170 --> 00:04:21,160 analizirati koliko su točne ili kako se brzo bilo. 85 00:04:21,160 --> 00:04:23,360 >> Tako smo uveli taj pojam od pseudocode, koji u 86 00:04:23,360 --> 00:04:26,410 Laički rečeno, je ono? 87 00:04:26,410 --> 00:04:26,930 OK, riječi. 88 00:04:26,930 --> 00:04:28,730 Idemo malo dublje od toga. 89 00:04:28,730 --> 00:04:32,540 Engleski, sigurni, ali su prema kojim ciljem? 90 00:04:32,540 --> 00:04:35,180 Riječi s kojima se stvaraju ili za zastupanje algoritme. 91 00:04:35,180 --> 00:04:38,380 Dakle, ne postoji jedan jezik poznat kao pseudocode u svijetu. 92 00:04:38,380 --> 00:04:41,110 To je samo da li, na engleskom jeziku, ili bez obzira na govorni jezik, koristite 93 00:04:41,110 --> 00:04:44,930 vrsta letimičan zapis prenijeti Ideja je vrlo jezgrovito. 94 00:04:44,930 --> 00:04:47,930 No, vidjet ćemo da je, svakako uz Engleski pseudocode, a ispada 95 00:04:47,930 --> 00:04:51,700 većina programski jezici sami su derivat engleskom sama, 96 00:04:51,700 --> 00:04:55,750 mi ćemo naći da postoji neki standardni načini i predstavlja pseudocode 97 00:04:55,750 --> 00:04:57,150 Također programskog koda. 98 00:04:57,150 --> 00:05:00,200 Dakle, kao što počnete vidjeti čak i najjednostavniji primjeri danas, shvatite to 99 00:05:00,200 --> 00:05:02,160 Isti obrasci će se ponoviti sljedeći tjedan. 100 00:05:02,160 --> 00:05:04,710 >> Dakle pseudocode bio nekakav jezika nalik 101 00:05:04,710 --> 00:05:06,170 programski jezik. 102 00:05:06,170 --> 00:05:09,260 I prvi primjer vidjeli smo vizualno zapisano je ovaj jedan. 103 00:05:09,260 --> 00:05:12,870 To je bio samo tri koraka programa, Cilj koji je brojati 104 00:05:12,870 --> 00:05:15,650 ljudi u sobi u studentskom domu za Video koji je u srijedu. 105 00:05:15,650 --> 00:05:19,040 No, bilo je nekoliko zanimljivih aspekata ovog programa najjednostavnije. 106 00:05:19,040 --> 00:05:20,320 >> I to će biti povezana pitanja. 107 00:05:20,320 --> 00:05:22,930 Dakle, za one koji nisu upoznati s ovaj, jedan, uveli smo varijablu. 108 00:05:22,930 --> 00:05:25,650 I vjerojatno svi u ovoj sobi je upoznati s varijabla u 109 00:05:25,650 --> 00:05:27,250 kontekst algebre. 110 00:05:27,250 --> 00:05:31,190 Ali ovdje u programiranju, varijable su, jedan, može biti 111 00:05:31,190 --> 00:05:32,220 pozvao sve što želimo. 112 00:05:32,220 --> 00:05:33,620 Mi smo bili pomoću n kao brojač. 113 00:05:33,620 --> 00:05:37,490 No, mogli bismo koristiti brojač riječi, odnosno, kao što ćete vidjeti, većina bilo koji izraz koji 114 00:05:37,490 --> 00:05:40,240 možda bih tako dugo dok je opisno, ali to je zapravo samo 115 00:05:40,240 --> 00:05:41,250 skladištenja kontejnera. 116 00:05:41,250 --> 00:05:44,170 To je komad memorije, neki broj bita, i to varira od računala, kako 117 00:05:44,170 --> 00:05:47,020 mnogi komadići tamo su da sastaviti tu varijablu. 118 00:05:47,020 --> 00:05:48,450 >> No, možemo staviti vrijednosti u njemu. 119 00:05:48,450 --> 00:05:50,740 Do sada smo samo sam staviti brojeve. 120 00:05:50,740 --> 00:05:52,290 No, možemo staviti stvarne riječi. 121 00:05:52,290 --> 00:05:53,420 Možemo staviti paragrafa. 122 00:05:53,420 --> 00:05:54,560 Možemo staviti slike - 123 00:05:54,560 --> 00:05:57,860 ništa, zapravo, možemo predstavljati s nule i jedinice, možemo staviti u 124 00:05:57,860 --> 00:05:59,820 Viša razina pojam varijable. 125 00:05:59,820 --> 00:06:01,350 >> Dakle, prilično ravno naprijed postoji. 126 00:06:01,350 --> 00:06:02,210 I to je jedna linija. 127 00:06:02,210 --> 00:06:05,340 No, vrlo brzo smo se preselili od linije jedan zapravo učiniti 128 00:06:05,340 --> 00:06:06,600 nešto s tom varijablom. 129 00:06:06,600 --> 00:06:10,330 I u skladu tri, mi ažurirani N. Mi porastao N. I mi mogao napisati ovo 130 00:06:10,330 --> 00:06:11,330 bilo koji broj načina. 131 00:06:11,330 --> 00:06:14,460 No, možda najočitiji je Samo da kažem, postavili N jednaka 132 00:06:14,460 --> 00:06:16,440 N god je plus 1. 133 00:06:16,440 --> 00:06:17,740 Dakle, to je bio naš prirast. 134 00:06:17,740 --> 00:06:18,740 >> U međuvremenu, došlo je petlje. 135 00:06:18,740 --> 00:06:20,720 A ova je također, vjerojatno prilično intuitivno. 136 00:06:20,720 --> 00:06:24,250 Petlja je samo nešto na programu se to dogodi opet i opet, neki 137 00:06:24,250 --> 00:06:25,190 vrsta ciklusa. 138 00:06:25,190 --> 00:06:29,300 A to ključni izraz ovdje, za svaku je zapravo vrlo česta tijekom većeg 139 00:06:29,300 --> 00:06:32,300 programski jezici, uključujući one vidjet ćemo u tijeku. 140 00:06:32,300 --> 00:06:35,850 Bilo kad vidite riječ, to obično podrazumijeva da 141 00:06:35,850 --> 00:06:38,410 petlje, nešto ciklički, je da se dogoditi. 142 00:06:38,410 --> 00:06:40,980 >> Ali, to je vrijedno napomenuti jednu druga sintaktička detalja. 143 00:06:40,980 --> 00:06:44,660 Činjenica da je treći redak postoji zapravo uvlačiti što hit 144 00:06:44,660 --> 00:06:46,920 Space bar nekoliko puta je namjerno. 145 00:06:46,920 --> 00:06:49,870 Jer ljudska konvencija je takav da kada radite nešto i opet 146 00:06:49,870 --> 00:06:54,860 opet, u petlju, kao započeo na liniji dva, što alineje ništa što je pripadalo 147 00:06:54,860 --> 00:06:58,880 u tu petlju samo da bi jasno da to je linija tri, a ne, primjerice, 148 00:06:58,880 --> 00:07:01,910 line četiri ili pet, ako su linije za ili pet, koje su 149 00:07:01,910 --> 00:07:03,010 dio tog petlje. 150 00:07:03,010 --> 00:07:07,340 Dakle, ovo jednostavno udubljenje prenosi da je osnovna ideja. 151 00:07:07,340 --> 00:07:09,390 >> Tako ćemo primijeniti ovaj algoritam, Sada, s nekoliko primjera. 152 00:07:09,390 --> 00:07:12,620 A to je, također, jednostavan primjer u stvarnom svijetu. 153 00:07:12,620 --> 00:07:15,440 No, to će biti predstavnik kako bi se o provjeri svojih 154 00:07:15,440 --> 00:07:17,500 Posjedujemo sve složenije programe. 155 00:07:17,500 --> 00:07:21,050 Možete pokušati nekoliko scenarija, od kojih neke predstavnici ulaza, i vidjeti ako možete 156 00:07:21,050 --> 00:07:22,180 dobili željene izlaze. 157 00:07:22,180 --> 00:07:25,090 >> Dakle, ovaj primjer je dvoje ljudi sjedi u sobi u studentskom domu. 158 00:07:25,090 --> 00:07:27,170 Na lijevoj strani nalazi isti pseudo kod. 159 00:07:27,170 --> 00:07:30,800 A to je zaslon metak od vrlo Posljednji korak u primjeni ove 160 00:07:30,800 --> 00:07:35,270 Algoritam na one ulaze, tamo gdje bile dvije osobe u sobi i, 161 00:07:35,270 --> 00:07:39,190 Podsjetimo, kako smo korak do jedne linije, i dva, tri, i dva 162 00:07:39,190 --> 00:07:41,000 i tri i učinio - 163 00:07:41,000 --> 00:07:44,870 do kraja tog algoritma, imali smo Doista odbrojavao dva momka koji su 164 00:07:44,870 --> 00:07:45,360 u sobi. 165 00:07:45,360 --> 00:07:47,190 >> Pa onda smo pokušali još jedan primjer. 166 00:07:47,190 --> 00:07:48,990 I mi rekao što ako postoje nula ljudi u sobi? 167 00:07:48,990 --> 00:07:50,490 Je li ovaj broj još uvijek točna? 168 00:07:50,490 --> 00:07:51,305 I doista je bilo. 169 00:07:51,305 --> 00:07:55,240 To samo tako dogodi da dvije linije i, dakle, linija tri ili 170 00:07:55,240 --> 00:07:56,620 neće izvršiti. 171 00:07:56,620 --> 00:07:59,790 Neće se dogoditi na sve jer oni jednostavno ne primjenjuju ako se 172 00:07:59,790 --> 00:08:01,210 postoji nula ljudi u sobi. 173 00:08:01,210 --> 00:08:02,300 >> No, nije ništa strašno. 174 00:08:02,300 --> 00:08:06,620 Line jedan inicijalizirati N nuli, pa iako je samo jedna linija ove 175 00:08:06,620 --> 00:08:10,930 Program zapravo završi kao korisna, to još uvijek daje točan odgovor, kao 176 00:08:10,930 --> 00:08:13,780 označeno narančasto nulu na dnu. 177 00:08:13,780 --> 00:08:16,300 Ali onda smo odlučili da je vrsta glupog algoritma. 178 00:08:16,300 --> 00:08:17,060 To je prilično sporo. 179 00:08:17,060 --> 00:08:19,720 Sigurno, ja mogu napraviti dvije, četiri, šest, osam, deset, kad je 180 00:08:19,720 --> 00:08:20,990 računajući ljude u prostoriji. 181 00:08:20,990 --> 00:08:25,030 >> Tako smo praćka algoritam, pseudocode, reći, sada u liniji dva, 182 00:08:25,030 --> 00:08:29,710 za svaki par ljudi u prostoriji, nastaviti, u skladu tri, prirast 183 00:08:29,710 --> 00:08:32,200 u po dva na svakoj iteraciji. 184 00:08:32,200 --> 00:08:35,530 Tako da bi radio ovdje ovaj par osoba u sobi. 185 00:08:35,530 --> 00:08:38,530 >> Ali onda, ako počnete razmišljati o to, i to ne potrajati dugo da 186 00:08:38,530 --> 00:08:40,710 shvatite, čekaj malo to je polomiti, razbija 187 00:08:40,710 --> 00:08:42,679 , na što jednostavan slučaj? 188 00:08:42,679 --> 00:08:45,500 Ako postoji troje ljudi u sobi ili, općenito, kada postoji 189 00:08:45,500 --> 00:08:47,660 neparan broj ljudi u soba, uključujući i jedan. 190 00:08:47,660 --> 00:08:50,390 Mi bi propustiti tu osobu jer ovdje nema takvih parova. 191 00:08:50,390 --> 00:08:58,510 Dakle, brzo smo se obratili, umjesto uvođenjem što dodatne 192 00:08:58,510 --> 00:09:02,560 programiranje konstrukata u pseudo kod. 193 00:09:02,560 --> 00:09:04,955 >> Dakle uvjet, nazvali smo to, ili grana. 194 00:09:04,955 --> 00:09:08,420 A to je značilo prenijeti, vizualno, Ideja o grani, na raskrižje 195 00:09:08,420 --> 00:09:11,080 gdje se može učiniti ili, možda, nešto drugo. 196 00:09:11,080 --> 00:09:15,750 I doista, možemo riješiti taj problem dodavanjem linije 4, govoreći, zaista, na 197 00:09:15,750 --> 00:09:20,820 samom kraju, ako jedna osoba ostaje, onda ići naprijed i brojati bili posebni. 198 00:09:20,820 --> 00:09:24,460 Znači li kakvu vrstu posebnog slučaju ih, tako da govoriti, tako da sada možemo nositi 199 00:09:24,460 --> 00:09:27,810 i čak broj ljudi i neparan broj ljudi. 200 00:09:27,810 --> 00:09:30,260 >> Sada postoje bilo koji broj načina mogli smo to izrazio. 201 00:09:30,260 --> 00:09:33,590 I iskreno, mogao sam biti još više NIT izbirljiva kada je došao u moj izbor 202 00:09:33,590 --> 00:09:35,040 Engleski za pseudocode. 203 00:09:35,040 --> 00:09:36,970 Ali barem duh Ideja je prenio. 204 00:09:36,970 --> 00:09:40,725 Ako predao ovaj kod prijatelju tko nije u CS, ili je ne uzimaju 205 00:09:40,725 --> 00:09:44,560 CS, izgledi su oni mogli shvatiti, dao tri osobe u sobi, kako 206 00:09:44,560 --> 00:09:46,870 računati one ljude na temelju Na ovim uputama. 207 00:09:46,870 --> 00:09:49,920 I to je sve što stvarno želimo postići s pseudocode, nekako 208 00:09:49,920 --> 00:09:54,300 standardizirati kako ćemo o tome zastupaju ideje, tako da možemo 209 00:09:54,300 --> 00:09:56,670 početi raditi kompliciranije stvar još uvijek. 210 00:09:56,670 --> 00:09:58,845 >> Dakle, to nas vodi tada, i danas, do stvarnog koda. 211 00:09:58,845 --> 00:10:01,950 Počinjemo programa danas, iako u prijateljskom okruženju. 212 00:10:01,950 --> 00:10:05,940 A onda smo prijelaz vrlo brzo više kompliciranih sintakse, ali onaj koji 213 00:10:05,940 --> 00:10:10,340 vidjet ćete je u osnovi isti kao i ideje će vidjeti očituje 214 00:10:10,340 --> 00:10:11,990 ovaj drugi jezik danas. 215 00:10:11,990 --> 00:10:13,920 To samo ide gledati malo drugačiji. 216 00:10:13,920 --> 00:10:16,590 >> Dakle, umjesto da samo nazovite ovaj broj, ja sam će biti malo precizniji 217 00:10:16,590 --> 00:10:20,170 i reći, odsad, prilikom pisanja Program, pišeš izvorni kod. 218 00:10:20,170 --> 00:10:21,990 To je vrsta kao što pseudocode. 219 00:10:21,990 --> 00:10:26,540 No, vidjet ćemo da to nije vrsta slobodi kada je riječ o odabiru riječi 220 00:10:26,540 --> 00:10:27,310 koju koristite. 221 00:10:27,310 --> 00:10:31,300 Prilikom programiranja u jeziku, imate koristiti riječi, fraze, 222 00:10:31,300 --> 00:10:36,020 sintakse, koje drugi ljudi Odlučio predstavljaju 223 00:10:36,020 --> 00:10:37,240 da određeni jezik. 224 00:10:37,240 --> 00:10:38,510 Dakle pseudocodes je do vas. 225 00:10:38,510 --> 00:10:42,330 Stvarni programski jezik kao C, kao što smo na kraju ćete vidjeti, 226 00:10:42,330 --> 00:10:43,590 standardiziran od strane drugih ljudi. 227 00:10:43,590 --> 00:10:45,590 >> Pa kako ćemo ići o pisanju Neki source koda? 228 00:10:45,590 --> 00:10:46,810 Pa ja ću otići naprijed i učiniti. 229 00:10:46,810 --> 00:10:49,100 Ja ću ići naprijed i otvoriti prozor ovdje. 230 00:10:49,100 --> 00:10:50,210 Više o ovoj sljedeći tjedan. 231 00:10:50,210 --> 00:10:52,300 No, to je uređaj nazvan CS50 aparata. 232 00:10:52,300 --> 00:10:55,480 Bježim komad softvera na mom Mac, iako možete učiniti istu stvar 233 00:10:55,480 --> 00:11:00,580 na Windows računalo, koje se daje ja iluzija prikazuju različita 234 00:11:00,580 --> 00:11:03,700 operativni sustav uopce pravo Ovdje u prozoru na mom Macu. 235 00:11:03,700 --> 00:11:06,790 Ja sam samo puna ga prikazivali tako da ne zapravo vidjeti Mac OS upravo sada. 236 00:11:06,790 --> 00:11:08,340 >> To je operativni sustav zove Linux. 237 00:11:08,340 --> 00:11:09,300 To je vrlo popularan. 238 00:11:09,300 --> 00:11:10,120 To je vrlo brzo. 239 00:11:10,120 --> 00:11:12,950 Vrlo je besplatno, što je to vrlo uvjerljiv, osobito u 240 00:11:12,950 --> 00:11:13,970 komercijalnom svijetu. 241 00:11:13,970 --> 00:11:17,200 A više o tome pri kraju semestar kad smo koristiti Linux vrlo malo 242 00:11:17,200 --> 00:11:21,230 za web programiranje i hosting stvarne web stranice i projekte. 243 00:11:21,230 --> 00:11:24,910 Tako sada, samo znam da je to desktop koji je značilo da izgleda nejasno 244 00:11:24,910 --> 00:11:26,750 upoznati s Windows i Mac OS. 245 00:11:26,750 --> 00:11:29,110 To samo ima neke različite nazive i ikone za stvari. 246 00:11:29,110 --> 00:11:32,510 No, to je tzv CS50 aparata, virtualni stroj koji, 247 00:11:32,510 --> 00:11:35,310 počinje sljedeći tjedan, vi ćete pokrenuti unutar jednog prozora na 248 00:11:35,310 --> 00:11:36,960 svoj Mac ili PC. 249 00:11:36,960 --> 00:11:39,760 >> Za danas, idem otvoriti Najjednostavniji programa. 250 00:11:39,760 --> 00:11:41,110 To se zove gedit. 251 00:11:41,110 --> 00:11:42,565 A to je samo grafički urednik. 252 00:11:42,565 --> 00:11:44,695 To je vrsta kao što su Microsoft Riječ, ali jednostavnije. 253 00:11:44,695 --> 00:11:47,110 To je vrsta, poput teksta uredi ili notepad. 254 00:11:47,110 --> 00:11:50,280 To je samo vrlo jednostavan program s što pisati riječi na zaslonu. 255 00:11:50,280 --> 00:11:54,510 To samo tako što će se dogoditi da, ako bih mogao spasiti datoteke koje se stvaraju kad sam ovaj program 256 00:11:54,510 --> 00:11:59,860 u posebnim nastavkom poput. st., umjesto mjesta. doc, ili. xls, ili što god 257 00:11:59,860 --> 00:12:04,190 što ti je poznato, ja zapravo mogu izraditi programe i pomoću ove jednostavne 258 00:12:04,190 --> 00:12:05,130 tekst editor. 259 00:12:05,130 --> 00:12:05,770 >> Pa neka mi to učiniti. 260 00:12:05,770 --> 00:12:09,330 Dopustite mi da ide naprijed i spasiti ovu podnijeti prvo kao hello.c. 261 00:12:09,330 --> 00:12:12,350 A opet, to će se korisničko sučelje upoznati se s vama brzo. 262 00:12:12,350 --> 00:12:14,160 Ali za sada, ja sam samo tipkati u nazivu datoteke. 263 00:12:14,160 --> 00:12:17,410 Ja ću ga spremiti u moj Ivana Harvard home direktorij. 264 00:12:17,410 --> 00:12:20,810 I sada imam ovu karticu koja označava I doista sam uređivanja 265 00:12:20,810 --> 00:12:23,070 file zove hello.c. 266 00:12:23,070 --> 00:12:24,510 Dakle, ništa previše zanimljivo još. 267 00:12:24,510 --> 00:12:26,000 >> I sada će se dobiti prilično zagonetan. 268 00:12:26,000 --> 00:12:28,370 Idem za povećavanje, jednostavno tako da je više vidljiv. 269 00:12:28,370 --> 00:12:35,780 A ja ću početi tipkati uključuju stdio.h, int main, void, otvoren kovrčava 270 00:12:35,780 --> 00:12:40,140 Brace, jedan, dva, tri, četiri mjesta razvedenosti, print f, za tisak 271 00:12:40,140 --> 00:12:44,450 nešto formatiran, citat završen citat, "Hello, world" backslash, n, u blizini 272 00:12:44,450 --> 00:12:49,640 citat, zatvorena zagrada, zarez, unesite povratnu, backspace, backspace, 273 00:12:49,640 --> 00:12:52,310 backspace, zatvorena kovrčavu braće - 274 00:12:52,310 --> 00:12:53,350 Ja sam programiran. 275 00:12:53,350 --> 00:12:57,380 >> U redu tako da je ovo super jednostavno Program, doista, program koji 276 00:12:57,380 --> 00:12:59,070 tko započinje programiranje s. 277 00:12:59,070 --> 00:13:02,300 I sve to ipak, za svoj njegovoj složenosti, se ispisati na 278 00:13:02,300 --> 00:13:04,160 screen, pogodite što? 279 00:13:04,160 --> 00:13:04,910 Pozdrav svijetu. 280 00:13:04,910 --> 00:13:07,500 Ali to nije dovoljna samo napisati program. 281 00:13:07,500 --> 00:13:08,155 Tako je to kod. 282 00:13:08,155 --> 00:13:11,300 To je izvorni kod u jezik zove c. 283 00:13:11,300 --> 00:13:14,380 On je spasio trenutno u file zove hello.c. 284 00:13:14,380 --> 00:13:16,180 >> Sada pogled na dnu na zaslonu ovdje. 285 00:13:16,180 --> 00:13:17,890 Više o tome, opet, u narednim tjednima. 286 00:13:17,890 --> 00:13:19,570 Ali to je ono što ćemo nazvati Terminal prozor. 287 00:13:19,570 --> 00:13:21,290 To je trepće, crna i bijele brz. 288 00:13:21,290 --> 00:13:24,390 To je neka vrsta stare škole sučelje za računalo koje uglavnom ne 289 00:13:24,390 --> 00:13:27,050 koristiti miša ili neki drugi grafički elementi. 290 00:13:27,050 --> 00:13:28,320 Ona koristi samo tipkovnicu. 291 00:13:28,320 --> 00:13:30,970 I ja mogu upisati naredbe na ovo treperi redak. 292 00:13:30,970 --> 00:13:33,820 >> I za današnje potrebe, ja sam samo će se upisati sljedeći - 293 00:13:33,820 --> 00:13:35,610 bi pozdravio. 294 00:13:35,610 --> 00:13:39,370 A taj program, da, samo je program koji, u stvarnom svijetu tim 295 00:13:39,370 --> 00:13:40,690 dana, što bi dvaput kliknuti na. 296 00:13:40,690 --> 00:13:44,580 No, u ovom sučelje za danas, mi smo će se upisati svoje ime na taj zahtjev. 297 00:13:44,580 --> 00:13:47,980 Pozdrav bi doslovno ide na da mi program pod nazivom Hello. 298 00:13:47,980 --> 00:13:51,360 I to će učiniti tako da gleda neku datoteku, samo 299 00:13:51,360 --> 00:13:53,460 zadana, zove hello.c. 300 00:13:53,460 --> 00:13:57,260 To će preuzeti Želim C program po prirodi kako ovo računalo 301 00:13:57,260 --> 00:13:58,230 konfiguriran. 302 00:13:58,230 --> 00:13:59,550 >> Tako sam ići naprijed i pogodak ulaziti. 303 00:13:59,550 --> 00:14:02,050 Vidim neki grobni izlaz, ali to će postati sve previše 304 00:14:02,050 --> 00:14:03,330 upoznati prije dugo. 305 00:14:03,330 --> 00:14:06,870 To se dogodilo pokrenuti prevodilac, više o tome u ovom trenutku, pod nazivom Dong. 306 00:14:06,870 --> 00:14:09,080 Ali sada, ja sam dobio samo jedan treptati zatražiti. 307 00:14:09,080 --> 00:14:13,060 I ja mogu ići naprijed i sada upišite točku slash, za neinteresantni razloga ćemo 308 00:14:13,060 --> 00:14:14,730 vratiti se sljedećeg tjedna - 309 00:14:14,730 --> 00:14:15,910 Pozdrav. 310 00:14:15,910 --> 00:14:19,650 >> Dakle, sve ove napore do sada samo napisati najjednostavnije programa koji, 311 00:14:19,650 --> 00:14:22,640 čim sam pogodio Enter, ne da. 312 00:14:22,640 --> 00:14:24,510 Pa ja sam napisao moj prvi program. 313 00:14:24,510 --> 00:14:27,500 Dakle, ja sam namjerno guranje zabava na ovom vrlo jednostavan program 314 00:14:27,500 --> 00:14:28,540 za nekoliko razloga. 315 00:14:28,540 --> 00:14:31,990 Jedna, to je teško dobiti uzbuđeni o preuzimanju razred ako 316 00:14:31,990 --> 00:14:33,430 ovo je kraj igre. 317 00:14:33,430 --> 00:14:37,100 >> No, više od toga, postoji puno smetnji ovdje. 318 00:14:37,100 --> 00:14:40,640 Prvi put ste saznali za program, za one manje udobno, a 319 00:14:40,640 --> 00:14:43,410 ni ja, natrag u dan, kad sam prvi put vidjela nešto ovako - možete vrsta 320 00:14:43,410 --> 00:14:46,500 od lika koji, u redu, ovaj je u print Pozdrav svijetu. 321 00:14:46,500 --> 00:14:47,860 No, postoji toliko odvlačenje pažnje. 322 00:14:47,860 --> 00:14:52,110 Postoji toliko toga sintakse na zaslonu da dobiva na putu od vrlo 323 00:14:52,110 --> 00:14:54,170 jednostavna, inače jednostavna, ideje. 324 00:14:54,170 --> 00:14:56,700 >> Dakle, što ćemo učiniti danas smo će staviti na stranu C i dolaze 325 00:14:56,700 --> 00:14:57,630 natrag na koje se u ponedjeljak. 326 00:14:57,630 --> 00:15:00,860 I mi ćemo koristiti grafički programski jezik zove Scratch. 327 00:15:00,860 --> 00:15:04,470 To je programski jezik, koji sam aludirao na srijedu, koja će 328 00:15:04,470 --> 00:15:08,870 kako bi nam omogućiti da učinite istu stvar ali zažmiriti, za danas, 329 00:15:08,870 --> 00:15:12,270 u vitičastim zagradama, zagrade, se zarezom, i sve te gluposti 330 00:15:12,270 --> 00:15:15,680 smetnje koje se na putu, u ovaj prvi dan, neke osnovne, lijepa 331 00:15:15,680 --> 00:15:17,230 zanimljive ideje. 332 00:15:17,230 --> 00:15:21,350 >> Dakle, prema tom cilju, ja ću otići natrag na moj radna površina ovamo i 333 00:15:21,350 --> 00:15:25,890 Vas upoznati na alternativu da Program, koji će izgledati 334 00:15:25,890 --> 00:15:30,790 Malo se nešto vidjelo ovo. 335 00:15:30,790 --> 00:15:33,930 To je kako ćemo provesti taj Isti Program danas - dvije puzzle 336 00:15:33,930 --> 00:15:37,710 komada koji, kada se interlocked i kliknuo, reći će u svijetu, 337 00:15:37,710 --> 00:15:39,000 Hello World. 338 00:15:39,000 --> 00:15:41,200 >> Tako ćemo zapravo ići tamo. 339 00:15:41,200 --> 00:15:44,965 Dakle, ja ću ići naprijed i otvorite Web stranica poznat kao scratch.mit.edu. 340 00:15:44,965 --> 00:15:47,980 341 00:15:47,980 --> 00:15:52,040 I to će dovesti do mene ova web stranica ovdje. 342 00:15:52,040 --> 00:15:54,660 U unaprijed, ja sam prijavljena na ovu Web stranica, a prvi problemi koji 343 00:15:54,660 --> 00:15:55,910 će vas provesti kroz Neki od tih koraka. 344 00:15:55,910 --> 00:15:58,930 Ja ću ići naprijed i kliknite na mom ogrebotine mapu ovdje. 345 00:15:58,930 --> 00:16:00,720 >> I ovo će mi pokazati neki projekti koje sam 346 00:16:00,720 --> 00:16:02,570 zapravo stvorili unaprijed. 347 00:16:02,570 --> 00:16:05,860 I ispada da je ova grafička programski jezik ne samo da se ide 348 00:16:05,860 --> 00:16:08,480 neka nam programa tako da povučete i spustivši ove slagalice, što 349 00:16:08,480 --> 00:16:09,730 ni ne trebaju poseban softver. 350 00:16:09,730 --> 00:16:13,190 Sve je ugrađen u pregledniku tako da možete to učiniti, u teoriji, na 351 00:16:13,190 --> 00:16:16,810 vaše računalo upravo sada, kao što neki od vas Moglo bi biti, čak i bez potrebe 352 00:16:16,810 --> 00:16:19,870 softver poput CS50 aparata, koji će se sljedeći tjedan. 353 00:16:19,870 --> 00:16:24,200 >> Pa ću otići do gornjem kutu Ovdje i kliknite na Otvori. 354 00:16:24,200 --> 00:16:27,840 I u trenutku ću doći prazna zaslon preko kojeg mogu početi 355 00:16:27,840 --> 00:16:30,380 programiranje u ovaj grafički Programsko okruženje. 356 00:16:30,380 --> 00:16:36,140 Ali ovaj put, to će biti puno, puno jednostavnije zapravo to učiniti. 357 00:16:36,140 --> 00:16:41,560 Tako je u samo nekoliko trenutaka, kada je Wi-Fi surađuje, sada imamo ovaj zaslon. 358 00:16:41,560 --> 00:16:44,870 Tako brzo verbalni turneje, ali usuđujem se reći, svakako kad zaronite u 359 00:16:44,870 --> 00:16:46,840 Prvi problem set, vi ćete ova sve vrlo 360 00:16:46,840 --> 00:16:48,315 dostupni i prilično intuitivan. 361 00:16:48,315 --> 00:16:50,900 Ali neka se boje mentalnu sliku samo na trenutak. 362 00:16:50,900 --> 00:16:54,620 >> Tako ovaj redak ispod govoreći spremanja mijenja, da ste o vidjeti ogrebotine. 363 00:16:54,620 --> 00:16:55,570 To je Duh. 364 00:16:55,570 --> 00:16:56,630 To je lik. 365 00:16:56,630 --> 00:17:00,740 I on živi na ono što ćemo nazvati pozornice, ovaj veliki bijeli pravokutnik na 366 00:17:00,740 --> 00:17:03,120 koje on može pomicati gore, dolje, lijevo, Dobro, i to, zapravo, 367 00:17:03,120 --> 00:17:04,670 druge vrste akcija. 368 00:17:04,670 --> 00:17:08,780 >> U međuvremenu, u sredini tog korisnika sučelje, imamo cijelu hrpu 369 00:17:08,780 --> 00:17:09,750 slagalice. 370 00:17:09,750 --> 00:17:14,060 I vidjet ćete da oni govore stvari poput: pomicanje 10 koraka, okrenula 15 stupnjeva, 371 00:17:14,060 --> 00:17:15,550 točka u određenom smjeru. 372 00:17:15,550 --> 00:17:17,910 No, tu je kategorija blokovi do ovdje. 373 00:17:17,910 --> 00:17:21,410 Dakle, ako idem na izgleda, vidjet ćete da je Ima drugih slagalice koji 374 00:17:21,410 --> 00:17:25,530 očito da će ovaj drža se pozdraviti, razmišljati, pokazati 375 00:17:25,530 --> 00:17:26,780 Sam, skriti. 376 00:17:26,780 --> 00:17:30,830 Ako idem na zvukove, ispada nema načina da igraju zvuči kao Mijau, 377 00:17:30,830 --> 00:17:32,670 zaustaviti sve zvukove, igrati bubanj. 378 00:17:32,670 --> 00:17:36,530 >> Dakle, ne duljimo, postoji cijeli Hrpa slagalice koji vam omogućuju 379 00:17:36,530 --> 00:17:40,920 ispričati ovu mačku, ili bilo koji broj ostali likovi, što da radim. 380 00:17:40,920 --> 00:17:43,850 No, da bi to sve vam se dogoditi potrebno za početak programiranja. 381 00:17:43,850 --> 00:17:48,090 I ovaj veliki bijeli okvir ili sivi okvir, na desnoj strani, ovo je mjesto gdje 382 00:17:48,090 --> 00:17:50,170 Idem zapravo povući i Bacite komada slagalice. 383 00:17:50,170 --> 00:17:54,320 To je moj prazan tekst Prozor protuvrijednosti. 384 00:17:54,320 --> 00:17:57,070 >> Dakle, ja ću ići naprijed i kliknite Kontrola u sredini. 385 00:17:57,070 --> 00:17:58,540 Odnosno, neka mi početi se pod Događanja. 386 00:17:58,540 --> 00:18:01,530 Pod Događanja klupi, primijetit ćete Nekoliko stvari koje su namjerno 387 00:18:01,530 --> 00:18:05,240 zakrivljena na vrhu na takav način da oni vjerojatno ne interlocka na 388 00:18:05,240 --> 00:18:06,710 Najbolje od slagalice. 389 00:18:06,710 --> 00:18:10,160 A to je zato što Danskoj početka programa, početak 390 00:18:10,160 --> 00:18:11,910 pismom, da se tako izrazim. 391 00:18:11,910 --> 00:18:16,290 Dakle, ako sam ići naprijed i povucite, kada je zeleni Zastava kliknuli ovamo, a onda sam 392 00:18:16,290 --> 00:18:18,060 Želite ova mačka reći nešto što na prvi pogled. 393 00:18:18,060 --> 00:18:20,510 Tako ću ići u izgleda ploči. 394 00:18:20,510 --> 00:18:24,060 I ja ću ići naprijed i zgrabite pozdraviti blok, i povucite i ispustite, 395 00:18:24,060 --> 00:18:27,220 i pustio tako da se automatski blokada postoji. 396 00:18:27,220 --> 00:18:28,640 >> I onda ja mogu primjetiti kliknite na tekst. 397 00:18:28,640 --> 00:18:31,960 I ja mogu nadjačati je da se više specifično kao, recimo, Hello World. 398 00:18:31,960 --> 00:18:36,340 I sada imamo program koji ja tvrdim je ekvivalent da je mnogo više 399 00:18:36,340 --> 00:18:39,670 Program kompliciranih sam provodi u C trenutak prije. 400 00:18:39,670 --> 00:18:43,130 >> Ako idem preko sada na lijevoj strani, primijetiti da je veliki znak stop 401 00:18:43,130 --> 00:18:44,520 i velika zelena zastava. 402 00:18:44,520 --> 00:18:46,390 Dopustite mi povećali za jasnoću. 403 00:18:46,390 --> 00:18:49,390 I kad sam sada kliknite ovaj zelenu zastavu, vjerojatno možete pogoditi što je ovo prvi put 404 00:18:49,390 --> 00:18:51,920 Program će se sada učiniti. 405 00:18:51,920 --> 00:18:55,420 Dakle, postoji, također, da smo programiranja, ali nismo zapravo uzimajući Zatvaranje 406 00:18:55,420 --> 00:18:58,980 U nekim od tih sintaktičke, minute pojedinosti. 407 00:18:58,980 --> 00:19:01,120 >> No, pokušajmo nešto je Malo više zanimljiv. 408 00:19:01,120 --> 00:19:04,840 Pusti me u moj Scratch mapu ovdje. 409 00:19:04,840 --> 00:19:10,210 I zapravo, neka mi pa neka mi se otvaraju Program odvojeni ovdje samo 410 00:19:10,210 --> 00:19:17,830 Trenutak, Povećali ovaj prozor, datoteke otvaraju, i ja idem u današnjem 411 00:19:17,830 --> 00:19:18,620 Izvor katalog. 412 00:19:18,620 --> 00:19:21,660 Kao i uvijek, naći ćete, danas i nadalje, da je sve današnje primjera 413 00:19:21,660 --> 00:19:25,225 dostupni su unutar tečaja web stranicu. 414 00:19:25,225 --> 00:19:31,170 >> I ja ću ići naprijed ovdje i pokupiti do malo nešto drugačije. 415 00:19:31,170 --> 00:19:33,970 Ova ovdje, za koje Treba mi dobrovoljac. 416 00:19:33,970 --> 00:19:36,850 Tko bi htio svjetiljku stol danas? 417 00:19:36,850 --> 00:19:40,600 OK, kako o nekome nešto - jesi li na kraju? 418 00:19:40,600 --> 00:19:42,124 Dođi dolje. 419 00:19:42,124 --> 00:19:47,230 Sad, bi li željeli sudjelovati, ili samo reći početi s stolnu svjetiljku? 420 00:19:47,230 --> 00:19:48,190 >> VANESSA: [nečujno]. 421 00:19:48,190 --> 00:19:48,465 >> DAVID Malan: OK. 422 00:19:48,465 --> 00:19:49,610 Sjajan, ono što 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 Drago mi je. 426 00:19:51,390 --> 00:19:53,840 Pa hajde gore i Vanessa ide preuzeti kontrolu nad mojim 427 00:19:53,840 --> 00:19:55,490 Tipkovnica za samo trenutak. 428 00:19:55,490 --> 00:19:57,850 I ono što sam učinio ovdje, samo za time-a sakea, jer sam shvatio 429 00:19:57,850 --> 00:20:01,070 Wi-Fi je malo spor, Scratch, programiranje okruženje koje smo 430 00:20:01,070 --> 00:20:04,110 korištenju, također može preuzeti i izvoditi na vašem lokalnom računalu. 431 00:20:04,110 --> 00:20:06,360 Dakle, ono što sam učinio prije predavanja, u slučaj da se događa, je li skinuti 432 00:20:06,360 --> 00:20:09,120 sve datoteke koje smo o tome da se igraju s tako da oni mogu pokrenuti malo više 433 00:20:09,120 --> 00:20:10,840 Brzo ovdje na moj laptop. 434 00:20:10,840 --> 00:20:13,460 Zato sada vidim Mac-specifično sučelje. 435 00:20:13,460 --> 00:20:15,510 >> Dakle, ja ću ići naprijed i otvoriti ovaj jedan. 436 00:20:15,510 --> 00:20:18,400 Ja ću ići naprijed i sada full screen prozor. 437 00:20:18,400 --> 00:20:21,740 I kao što ćete vidjeti, možemo vrlo brzo, jer to je student, jedna od 438 00:20:21,740 --> 00:20:26,360 vaši prethodnici, idite na Pozdrav svijetu na mnogo mnogo uvjerljiviji 439 00:20:26,360 --> 00:20:27,020 Zahtjev. 440 00:20:27,020 --> 00:20:28,180 Dakle, ovdje su upute. 441 00:20:28,180 --> 00:20:29,500 Oh, i mi imamo jednu drugu stvar. 442 00:20:29,500 --> 00:20:31,640 Mislio sam da će biti zabavno, jer, normalno, mi ćemo se snimao 443 00:20:31,640 --> 00:20:32,440 Kamere na ovaj način. 444 00:20:32,440 --> 00:20:34,100 Mislio sam da će biti zabavno ako se, Vanessa, smo mogli vidjeti svijet 445 00:20:34,100 --> 00:20:35,120 kroz vaše oči. 446 00:20:35,120 --> 00:20:36,670 Dakle, ovdje imamo neke Google Glass. 447 00:20:36,670 --> 00:20:39,290 >> [Zapanjeni bori] 448 00:20:39,290 --> 00:20:41,610 >> DAVID Malan: Mi samo će biti davanje daleko stolne lampe danas. 449 00:20:41,610 --> 00:20:43,530 >> [Smijeh] 450 00:20:43,530 --> 00:20:45,260 >> Pa neka mi fila ovaj gore. 451 00:20:45,260 --> 00:20:49,340 U redu, tako da je ovo dirati. 452 00:20:49,340 --> 00:20:51,910 OK, Staklo, snimanje videa. 453 00:20:51,910 --> 00:20:55,700 454 00:20:55,700 --> 00:20:56,950 U redu, Vanessa? 455 00:20:56,950 --> 00:21:00,940 456 00:21:00,940 --> 00:21:05,560 Sada, kako na stranu da je dobio ništa učiniti s nule, ako pogledate 457 00:21:05,560 --> 00:21:08,540 malo gore i desno, vidjet ćete Doslovno stakla, i trebali 458 00:21:08,540 --> 00:21:09,650 pogledajte malo pravokutni prozor. 459 00:21:09,650 --> 00:21:11,500 Trebali biste vidjeti sve svoje kolege snima upravo sada? 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 Dakle, to je u redu. 464 00:21:15,170 --> 00:21:16,660 Mi ćemo objaviti ovu snimku kasnije. 465 00:21:16,660 --> 00:21:18,460 Za sada, skrenuti pozornost na zaslonu ovdje. 466 00:21:18,460 --> 00:21:20,990 A što je vaš prethodnik učinio je staviti neke upute na zaslonu 467 00:21:20,990 --> 00:21:22,670 Samo pomoću programa Bojanje. 468 00:21:22,670 --> 00:21:25,040 Tako ćete, u ovom trenutku, pritisnite razmaknicu za početak. 469 00:21:25,040 --> 00:21:27,790 I onda neki slagalice idu se početi kretati prema gore zaslon. 470 00:21:27,790 --> 00:21:30,900 A želite pogoditi tipke sa strelicama, jednostavno kao u stvarnom DDR-a, sukladno 471 00:21:30,900 --> 00:21:32,740 s stvari postrojavanjem s tim strelicama. 472 00:21:32,740 --> 00:21:33,020 >> VANESSA: OK. 473 00:21:33,020 --> 00:21:33,800 >> DAVID Malan: Vi ste igrati ovo prije. 474 00:21:33,800 --> 00:21:34,140 >> VANESSA: Da. 475 00:21:34,140 --> 00:21:37,330 >> DAVID Malan: U redu, Vanessa, ići naprijed i to oduzeti. 476 00:21:37,330 --> 00:22:53,082 >> [MUSIC - Kayne West, "JAČI"] 477 00:22:53,082 --> 00:22:57,080 >> [PLJESAK] 478 00:22:57,080 --> 00:22:59,750 >> DAVID Malan: Pa neka se sada uzeti jedan korak od toga. 479 00:22:59,750 --> 00:23:01,230 Dakle, jasno, to je kraj igre. 480 00:23:01,230 --> 00:23:02,880 Kraj igra nije Hello World. 481 00:23:02,880 --> 00:23:05,520 Ali vi ne morate nužno napraviti stvari koje su toliko interaktivne. 482 00:23:05,520 --> 00:23:06,810 Također možete napraviti animaciju. 483 00:23:06,810 --> 00:23:10,790 Tako, primjerice, jedan od vaših nasljednici su ovaj program ovdje, 484 00:23:10,790 --> 00:23:14,100 koja priča priču više od to ne provodi u igri. 485 00:23:14,100 --> 00:23:19,180 Zato mi dopustite da ići naprijed i otvoriti ovdje Program u našoj istom izvoru imenik 486 00:23:19,180 --> 00:23:20,300 od danas. 487 00:23:20,300 --> 00:23:26,990 To je jedan poziv, i krenimo sa, priča cookie ljubavi. 488 00:23:26,990 --> 00:23:30,750 >> I ne bi to previše akademsko, ali, kao što gledati ovaj jedan, mislim da 489 00:23:30,750 --> 00:23:34,030 koji se od onih jednostavne programiranje koncepti smo razgovarali 490 00:23:34,030 --> 00:23:34,630 o do sada - 491 00:23:34,630 --> 00:23:39,250 varijable, i petlje, i uvjeti, je vaš prethodnik vjerojatno koristiti samo 492 00:23:39,250 --> 00:23:41,090 provesti neke od su vizualizacije. 493 00:23:41,090 --> 00:23:41,760 Možete vidjeti ovdje. 494 00:23:41,760 --> 00:23:44,118 Tako sam vam dati kolačić ljubavnu priču. 495 00:23:44,118 --> 00:24:06,030 >> [MUSIC - Green Day, "ODMOR"] 496 00:24:06,030 --> 00:24:08,022 >> [CRASH] 497 00:24:08,022 --> 00:24:09,272 >> [MUSIC - kornjača, "Sretni zajedno"] 498 00:24:09,272 --> 00:24:58,328 499 00:24:58,328 --> 00:25:00,560 >> DAVID Malan: U redu, tako da, imali smo priču kolačić ljubav. 500 00:25:00,560 --> 00:25:01,360 No, čak i tamo - 501 00:25:01,360 --> 00:25:01,755 >> [PLJESAK] 502 00:25:01,755 --> 00:25:08,110 >> DAVID Malan: U redu, čak i tamo, razmišljati o tome, jer ti otišao iz srca 503 00:25:08,110 --> 00:25:10,410 dna prema vrhu zaslona, Tu je zapravo malo 504 00:25:10,410 --> 00:25:11,440 slučajnost događa. 505 00:25:11,440 --> 00:25:14,150 I doista, vidjet ćemo da je čak iu najjednostavnije okruženjima, kao što su 506 00:25:14,150 --> 00:25:18,180 Ispočetka, kao u C, možete generirati slučajnih brojeva, ili iluziju 507 00:25:18,180 --> 00:25:21,110 slučajnih brojeva, tako da je igra malo zanimljiviji nego što se može 508 00:25:21,110 --> 00:25:23,390 ako bude imao apsolutno Teško kodirane sve. 509 00:25:23,390 --> 00:25:26,360 >> U pokretu, koje vi vidite, postoje postoji neka vrsta reakcije. 510 00:25:26,360 --> 00:25:28,840 Čim licitarsko čovjek dotakne licitarsko žena, ona je 511 00:25:28,840 --> 00:25:30,000 Čini se da se udalje. 512 00:25:30,000 --> 00:25:33,580 I tako, doista, možete provesti na većina programski jezici, pojam 513 00:25:33,580 --> 00:25:38,680 događaja, kojem ako jedna ruka dotakne S druge strane, to može izazvati neke 514 00:25:38,680 --> 00:25:41,270 vašeg izvornog koda na zapravo izvršavanje. 515 00:25:41,270 --> 00:25:43,740 Možete slušati, kao stvari na ekranu. 516 00:25:43,740 --> 00:25:47,310 >> Tako ćemo se brzo turneju, a zatim, od Neki od građevnih blokova možemo koristiti 517 00:25:47,310 --> 00:25:48,790 kako bi se postigla neke od tih ciljeva. 518 00:25:48,790 --> 00:25:51,630 Dakle, evo što ćemo odsad nazovite izjavu. 519 00:25:51,630 --> 00:25:55,030 Izjava se dogoditi da se ljubičasta u Ispočetka, malo nešto ovako, 520 00:25:55,030 --> 00:25:56,120 ali to je proizvoljna. 521 00:25:56,120 --> 00:26:00,140 Izjava je samo dio slagalice ili, općenitije, upute, da 522 00:26:00,140 --> 00:26:03,370 govori računalo učiniti nešto, izjavu. 523 00:26:03,370 --> 00:26:04,680 >> Dakle, ovdje je jednostavan uzorak. 524 00:26:04,680 --> 00:26:05,930 Onda svijet. 525 00:26:05,930 --> 00:26:08,180 Još jedan može se čekati jednu sekundu. 526 00:26:08,180 --> 00:26:10,840 Tako da ovaj puzzle komad, koji je podržan u nule, mi ćemo pustiti svoje 527 00:26:10,840 --> 00:26:13,050 likovi pauzirati za neke broj sekundi. 528 00:26:13,050 --> 00:26:15,330 To, također, je samo izjava. 529 00:26:15,330 --> 00:26:18,640 >> Ovdje pored, imamo još više zanimljivo, igra zvuk meow, a 530 00:26:18,640 --> 00:26:21,480 strelica znači da u nule, ovo je padajući izbornik. 531 00:26:21,480 --> 00:26:22,590 Tako možete uvesti zvukove. 532 00:26:22,590 --> 00:26:25,095 Možete snimati zvukove i učiniti drugima zabavne stvari u nule. 533 00:26:25,095 --> 00:26:28,450 I to, također, iako, na kraju dana, samo izjava. 534 00:26:28,450 --> 00:26:31,250 No, sada ćemo uvesti više zanimljiv komad, da je poznat kao 535 00:26:31,250 --> 00:26:32,630 Boolean izraza. 536 00:26:32,630 --> 00:26:35,180 Capital B, nazvana čovjek po imenu Bool. 537 00:26:35,180 --> 00:26:39,500 >> I logički izraz je samo zagonetka komad ili, općenitije, 538 00:26:39,500 --> 00:26:42,980 podatak da je bilo istina ili laž - 539 00:26:42,980 --> 00:26:45,830 jedan ili nula, da ili ne. 540 00:26:45,830 --> 00:26:48,420 Pa to je samo jedan od onih dvije suprotnosti. 541 00:26:48,420 --> 00:26:52,840 Dakle jedan takav logički izraz u Svijet nule izgleda ovako plava 542 00:26:52,840 --> 00:26:53,560 puzzle komad. 543 00:26:53,560 --> 00:26:56,735 I to je molba pitanje, miš dolje, a to može biti, 544 00:26:56,735 --> 00:26:58,430 Naravno, istina ili laž. 545 00:26:58,430 --> 00:27:01,710 Dakle, s ovim slagalice u nule, dobro, vi ćete biti u mogućnosti to otkriti ako 546 00:27:01,710 --> 00:27:05,490 puzzle ako je miš je, u stvari, biti održava dolje po ljudski razgovarala 547 00:27:05,490 --> 00:27:06,550 sa svojim programom. 548 00:27:06,550 --> 00:27:08,860 >> Ovaj je malo više apstraktno, ali te dvije bijele kutije 549 00:27:08,860 --> 00:27:09,740 su samo za brojeve. 550 00:27:09,740 --> 00:27:12,950 Dakle, što možete učiniti stvari kao što je to broj manji od drugog? 551 00:27:12,950 --> 00:27:16,180 I ako je tako, ispočetka će se ponašati jedan ili drugi način. 552 00:27:16,180 --> 00:27:17,505 Ovaj je malo više grafičkih. 553 00:27:17,505 --> 00:27:21,840 To je, ako sprite, ako je mačka, za instanca, zapravo dira 554 00:27:21,840 --> 00:27:22,510 Pokazivač miša. 555 00:27:22,510 --> 00:27:25,780 Dakle, ako malo strijele lebdi preko mačku, onda je to 556 00:27:25,780 --> 00:27:28,030 zagonetka komad će se ocjenjivati ​​istina. 557 00:27:28,030 --> 00:27:31,870 To će biti istina, u tom slučaju, ako vas koristite ovu Boolean izraza, kao što ćemo 558 00:27:31,870 --> 00:27:36,340 pogledajte u trenutku, u grani, možete bilo to, ili možete to učiniti, 559 00:27:36,340 --> 00:27:39,940 baš kao što je uvjet da ček, postoji još jedna zadnja osoba 560 00:27:39,940 --> 00:27:40,460 u sobi? 561 00:27:40,460 --> 00:27:42,070 Ako je tako, dodajte jednu. 562 00:27:42,070 --> 00:27:44,430 Inače, ne brinite dalje. 563 00:27:44,430 --> 00:27:48,650 >> Dakle, logički izraz također može biti i-ed zajedno ili ili-ed zajedno. 564 00:27:48,650 --> 00:27:53,120 Tako možete kombinirati Boolean izraza i reći to i to mora biti istinito za 565 00:27:53,120 --> 00:27:54,710 Cijela stvar je da bi bilo istinito. 566 00:27:54,710 --> 00:27:56,520 A ovdje je više stvarni svijet primjer. 567 00:27:56,520 --> 00:28:00,060 Ako ste koristili CS50 Tečajevi učiniti tečaj shopping, ovi potvrdni okviri 568 00:28:00,060 --> 00:28:03,520 tamo, gdje se, ako ste provjerili tu kutiju pored na tečajeve, kako će reći, da, 569 00:28:03,520 --> 00:28:07,860 Samo mi pokazati tečajeve za koje P vrijednost je 4.5 ili noviji. 570 00:28:07,860 --> 00:28:10,610 Ako isključite je, ne, ne brinuti o tome. 571 00:28:10,610 --> 00:28:13,910 Ili slično, na desnoj strani, nije li Sukob s tečajevima Uzimam, 572 00:28:13,910 --> 00:28:15,650 to je bilo točno ili netočno. 573 00:28:15,650 --> 00:28:16,715 To je samo izraz u Booleovoj. 574 00:28:16,715 --> 00:28:20,080 Dakle, sve ovo vrijeme, kad ste koristili Web stranice s potvrdnim okvirima, ti si samo 575 00:28:20,080 --> 00:28:23,570 varijantama protuvrijednosti Boolean Izraz na i off. 576 00:28:23,570 --> 00:28:25,270 >> Dakle, u kojem obliku ne koristite ove? 577 00:28:25,270 --> 00:28:28,820 Pa, u nule, vidjet ćemo za koji trenutak da postoje uvjeti da se 578 00:28:28,820 --> 00:28:29,560 izgledati ovako. 579 00:28:29,560 --> 00:28:33,130 I to je vrsta razumni jer velik kao u pseudocode, mi razvedena 580 00:28:33,130 --> 00:28:38,550 vrsta u obliku slova slagalice, znači da je sve unutar tog U je 581 00:28:38,550 --> 00:28:41,390 će izvršiti, ili ne, ovisno o tome gdje je. 582 00:28:41,390 --> 00:28:45,310 Dakle, ako je logički izraz, a zatim sve što je unutra će se izvršiti. 583 00:28:45,310 --> 00:28:46,800 >> U međuvremenu, postoji li / drugi blok. 584 00:28:46,800 --> 00:28:50,320 Dakle, ako želite ogranak koji ide ovo Ovako ili da, ispočetka nam daje da. 585 00:28:50,320 --> 00:28:54,500 I po toj logici, danas, iako je to zagonetka komad je očito premali 586 00:28:54,500 --> 00:28:57,400 zaglave nešto drugo unutar nje, Ispočetka slagalice, oni su 587 00:28:57,400 --> 00:28:58,150 samo će rasti. 588 00:28:58,150 --> 00:29:01,370 Kada povucite i ispustite nešto, samo će rasti kako bi odgovarao bez obzira na to 589 00:29:01,370 --> 00:29:02,510 je li pokušavate učiniti. 590 00:29:02,510 --> 00:29:07,230 >> Dakle, možemo pobijediti u dvije od tih stvari, a napraviti tri put na raskrižje tako 591 00:29:07,230 --> 00:29:11,300 da ili to učinili, ili to, ili Druga stvar je ovo samo gniježđenja njih 592 00:29:11,300 --> 00:29:12,070 na taj način. 593 00:29:12,070 --> 00:29:14,370 Naravno, ako to učiniti previše puno, ona počinje da se ružno. 594 00:29:14,370 --> 00:29:17,660 No, u tom trenutku, ti si zapravo Vjerojatno ne programiranja vrlo dobro. 595 00:29:17,660 --> 00:29:20,490 I kako će se ponavlja Tema je, također, da je stila. 596 00:29:20,490 --> 00:29:22,790 Samo koliko dobro zapravo ne oblikovati svoj kod? 597 00:29:22,790 --> 00:29:24,580 Ili kako dobro dizajnirati svoj kod? 598 00:29:24,580 --> 00:29:26,430 No, više o tome u budućnosti. 599 00:29:26,430 --> 00:29:27,470 >> I sada imamo petlje. 600 00:29:27,470 --> 00:29:30,310 Tu je lijepa zauvijek petlja u nule što doslovno znači da - ne 601 00:29:30,310 --> 00:29:32,710 sve što je unutra to opet, i opet, i opet. 602 00:29:32,710 --> 00:29:35,880 Možete biti konkretniji i reći, učinite sljedeće stvar doživljavaju 10 puta. 603 00:29:35,880 --> 00:29:37,620 Također možete koristiti varijable. 604 00:29:37,620 --> 00:29:40,260 Možete doći do bilo koje ime u malo spustiti i reći, daj mi 605 00:29:40,260 --> 00:29:43,190 varijabla zove n i postaviti je jednaka nekoj vrijednosti. 606 00:29:43,190 --> 00:29:44,910 I onda možete imati funkcije. 607 00:29:44,910 --> 00:29:46,850 No, više na one u samo trenutak. 608 00:29:46,850 --> 00:29:49,140 >> Pusti me natrag u moju Zagrebite sučelje. 609 00:29:49,140 --> 00:29:50,970 I neka mi ići naprijed ovo vrijeme. 610 00:29:50,970 --> 00:29:56,660 I idemo naprijed i otvaraju, recimo, primjer iz - 611 00:29:56,660 --> 00:29:58,740 to je malo više zanimljiv. 612 00:29:58,740 --> 00:30:00,750 Dopustite mi ići naprijed, i, zapravo, neka mi samo bi ga ja osobno. 613 00:30:00,750 --> 00:30:01,960 Ne treba otvoriti ovaj jedan. 614 00:30:01,960 --> 00:30:03,390 Pusti me na File, Novo. 615 00:30:03,390 --> 00:30:04,740 Ja ću ići na događaje. 616 00:30:04,740 --> 00:30:08,460 Ja ću otići kad zelena zastava kliknuo, a ja ću ići na zvuk. 617 00:30:08,460 --> 00:30:11,590 A ja ću se povući i ispustiti ovu slagalice, igrati zvuk Meow. 618 00:30:11,590 --> 00:30:12,580 To kvake zajedno. 619 00:30:12,580 --> 00:30:14,327 I sad, ako ja kliknite na zelenu zastavu - 620 00:30:14,327 --> 00:30:16,260 >> [Meow SOUND] 621 00:30:16,260 --> 00:30:17,500 >> DAVID Malan: Sladak. 622 00:30:17,500 --> 00:30:21,560 U redu, tako da sada idemo napraviti nešto malo logičnije samo pokazati da 623 00:30:21,560 --> 00:30:22,760 možemo, za sada. 624 00:30:22,760 --> 00:30:25,550 Idem otključali ovo iz tog čovjeka. 625 00:30:25,550 --> 00:30:27,000 Ja ću ići na kontrolu. 626 00:30:27,000 --> 00:30:28,770 I ja ću zgrabiti stanje. 627 00:30:28,770 --> 00:30:30,600 Dakle, ako se nešto onda. 628 00:30:30,600 --> 00:30:32,020 Dakle to je kako to izgleda tamo. 629 00:30:32,020 --> 00:30:33,890 Dakle, trebam Boolean izraza. 630 00:30:33,890 --> 00:30:38,130 I neka mi ići naprijed i reći: pusti me da operatora. 631 00:30:38,130 --> 00:30:40,270 Ja ću učiniti nešto malo mathy, samo za slatkiš. 632 00:30:40,270 --> 00:30:43,600 Ja ću ići u ovdje i reći, ako je nešto je manji nego nešto drugo, 633 00:30:43,600 --> 00:30:45,030 ići naprijed i učiniti nešto. 634 00:30:45,030 --> 00:30:46,890 Pa sad, znate što, slučajni blok. 635 00:30:46,890 --> 00:30:51,620 Dakle primijetiti kako, ako sam lebdjeti ovo stvar ovdje, da će puknuti unutra. 636 00:30:51,620 --> 00:30:54,090 >> Tako sada, obavijest, ja počinjem raditi nešto što je već više logično 637 00:30:54,090 --> 00:30:54,650 Zanimljivo. 638 00:30:54,650 --> 00:30:59,720 Ako slučajni broj između 1 i 10 je manje od, recimo šest. 639 00:30:59,720 --> 00:31:03,670 Ako se odlučim šest, da je u suštini znači, učinite sljedeće s 50% 640 00:31:03,670 --> 00:31:03,980 vjerojatnosti. 641 00:31:03,980 --> 00:31:05,460 To je poput bacanja novčića. 642 00:31:05,460 --> 00:31:07,330 Sada, ja mogu učiniti nešto uvjetno. 643 00:31:07,330 --> 00:31:10,800 I da nešto idem učiniti je igrati zvuk. 644 00:31:10,800 --> 00:31:14,280 Pa sad, kad kliknem na zaslonu zastavom, to je kao bacanje novčića. 645 00:31:14,280 --> 00:31:14,610 >> [Meow SOUND] 646 00:31:14,610 --> 00:31:17,160 >> DAVID Malan: Bilo je glava i čemu god postoji. 647 00:31:17,160 --> 00:31:17,920 Idemo to učiniti opet. 648 00:31:17,920 --> 00:31:18,860 >> [Meow SOUND] 649 00:31:18,860 --> 00:31:19,790 >> DAVID Malan: Heads opet. 650 00:31:19,790 --> 00:31:20,280 >> [Meow SOUND] 651 00:31:20,280 --> 00:31:21,500 >> DAVID Malan: Heads opet. 652 00:31:21,500 --> 00:31:22,631 Uf, OK. 653 00:31:22,631 --> 00:31:24,720 Repovi to vrijeme. 654 00:31:24,720 --> 00:31:29,545 Dakle, 50% vremena, ako smo to učinili beskonačno dugo, dobit ćemo 50% mijaukanje 655 00:31:29,545 --> 00:31:32,180 i 50% šutnja. 656 00:31:32,180 --> 00:31:34,850 Dakle, postoji, samo osnovna zgrada blok koji nam omogućuje da učinite. 657 00:31:34,850 --> 00:31:37,710 No, to je vrsta zamorno da imam držati klikom na taj gumb. 658 00:31:37,710 --> 00:31:39,810 Pa neka je samo povucite i baciti sve one daleko. 659 00:31:39,810 --> 00:31:42,270 Ako ih odvukli na sredini, samo će se izbrisati. 660 00:31:42,270 --> 00:31:43,760 >> Pusti me se za kontrolu. 661 00:31:43,760 --> 00:31:46,060 Pusti me da zauvijek. 662 00:31:46,060 --> 00:31:49,952 I ovaj put, ja ću to učiniti minorly nešto neugodno. 663 00:31:49,952 --> 00:31:51,560 >> [Smijeh] 664 00:31:51,560 --> 00:31:53,370 >> DAVID Malan: I pusti me naprijed i učiniti kontrolu. 665 00:31:53,370 --> 00:31:57,260 Čekaj jednu sekundu, samo tako to nije previše ribanje. 666 00:31:57,260 --> 00:31:59,870 >> [Meow SOUND] 667 00:31:59,870 --> 00:32:00,970 >> DAVID Malan: To nije prirodno. 668 00:32:00,970 --> 00:32:01,861 OK. 669 00:32:01,861 --> 00:32:04,510 >> [Meow SOUND] 670 00:32:04,510 --> 00:32:06,406 >> DAVID Malan: A obavijest što se, lijepo oko nule, za one od vas koji 671 00:32:06,406 --> 00:32:09,210 moraju prije programiranje iskustvo, što ne treba za pokretanje i zaustavljanje. 672 00:32:09,210 --> 00:32:10,060 Ne treba sastaviti. 673 00:32:10,060 --> 00:32:13,210 Vi samo ga promijeniti, a program prilagodit će dinamično. 674 00:32:13,210 --> 00:32:14,620 Dakle, to je dobivanje Malo zanimljiva. 675 00:32:14,620 --> 00:32:16,930 Ali neka ga uzeti jedan korak dalje. 676 00:32:16,930 --> 00:32:19,760 Dopustite mi da ići naprijed i dobiti osloboditi tog programa. 677 00:32:19,760 --> 00:32:23,300 >> [Meow SOUND] 678 00:32:23,300 --> 00:32:25,520 >> DAVID Malan: To je ono što ćemo nazovite bug u nule. 679 00:32:25,520 --> 00:32:26,770 On ne bi trebao držati što taj zvuk. 680 00:32:26,770 --> 00:32:28,340 Dakle, mi ćemo mu reći da se zaustavi. 681 00:32:28,340 --> 00:32:30,435 U redu, tako da sada sam ide na izlet u - 682 00:32:30,435 --> 00:32:32,180 Ja ću MIT znati. 683 00:32:32,180 --> 00:32:35,160 Mi ćemo ići preko ovdje zauvijek. 684 00:32:35,160 --> 00:32:37,240 I sada, ja želim učiniti nešto opet i opet. 685 00:32:37,240 --> 00:32:38,760 Ja idem na kontrolu. 686 00:32:38,760 --> 00:32:41,570 >> I da vidimo, ja ću se povući moj uvjet ako postoji. 687 00:32:41,570 --> 00:32:42,850 Tako sada primijetiti logiku. 688 00:32:42,850 --> 00:32:46,430 Kada je zelena zastava se klikne, to nešto vječno, ali samo to 689 00:32:46,430 --> 00:32:48,890 nešto ako je to druga stvar je istina. 690 00:32:48,890 --> 00:32:51,480 Ja ću ići, neka je kažu, osjećajući. 691 00:32:51,480 --> 00:32:54,430 I ja ću ići naprijed i odaberite dira i ispustite ga ima. 692 00:32:54,430 --> 00:32:55,930 To je logički izraz. 693 00:32:55,930 --> 00:32:57,740 >> A sada, primjetiti, u ovom padu prema dolje izbornika, postoje 694 00:32:57,740 --> 00:32:59,050 neke predefinirane vrijednosti. 695 00:32:59,050 --> 00:33:00,910 Dakle, ja mogu reći, da se dira rub ekrana? 696 00:33:00,910 --> 00:33:03,900 Ili ste dira pokazivač miša, strelica na ekranu? 697 00:33:03,900 --> 00:33:04,620 Dakle, ja ću to učiniti. 698 00:33:04,620 --> 00:33:08,770 I ako je tako, onda ću otići naprijed i igrati zvuk Meow. 699 00:33:08,770 --> 00:33:11,250 Dakle, sada sam vrsta ima Počeci igru ​​- 700 00:33:11,250 --> 00:33:13,110 sladak igre. 701 00:33:13,110 --> 00:33:14,060 >> [Meow SOUND] 702 00:33:14,060 --> 00:33:17,250 >> DAVID Malan: OK, sladak, buggy igre. 703 00:33:17,250 --> 00:33:20,770 Neka mi se čekati, recimo, jedne sekunde postoji. 704 00:33:20,770 --> 00:33:24,910 Sada opet igrati, klikom zelena zastava. 705 00:33:24,910 --> 00:33:27,860 >> [Meow SOUND] 706 00:33:27,860 --> 00:33:30,460 >> DAVID Malan: Dakle, sada je kao petting mačka. 707 00:33:30,460 --> 00:33:31,850 >> [Meow SOUND] 708 00:33:31,850 --> 00:33:34,460 >> DAVID Malan: U redu, sada je to jednom sam si napraviti unaprijed. 709 00:33:34,460 --> 00:33:39,250 Vrlo kasno, ona dobiva vrsta lako za napraviti glupe stvari. 710 00:33:39,250 --> 00:33:40,240 Tako da me pusti unutra. 711 00:33:40,240 --> 00:33:43,720 Recimo, da je kućni Mačka. 712 00:33:43,720 --> 00:33:46,600 Idemo sada otvorili Ne pomaziti Mačka. 713 00:33:46,600 --> 00:33:48,330 Sada, ako ćemo igrati ovaj jedan, možete pogoditi, ako ste 714 00:33:48,330 --> 00:33:49,650 gleda na zaslonu - 715 00:33:49,650 --> 00:33:51,090 >> [Meow SOUND] 716 00:33:51,090 --> 00:33:52,170 >> DAVID Malan: Sada, ako sam pomaziti mačku 717 00:33:52,170 --> 00:33:55,420 >> [Lavovski ROAR] 718 00:33:55,420 --> 00:33:57,260 >> DAVID Malan: Pa zapravo i ne ljubimac mačka u tom slučaju. 719 00:33:57,260 --> 00:34:01,350 Tako sada imamo samo primjer grana koja ide u dva smjera. 720 00:34:01,350 --> 00:34:03,130 Sada ću ići naprijed i otvoriti još jedan ovdje. 721 00:34:03,130 --> 00:34:07,120 Ovo je jedna, također, među našem izvoru kod datoteke za taj dan. 722 00:34:07,120 --> 00:34:13,199 Pa neka mi se vratiti u moj izvor imenik i ići u, neka je izabrati 723 00:34:13,199 --> 00:34:15,610 ovaj tip ovdje i vidjeti ono što je drugačije. 724 00:34:15,610 --> 00:34:17,449 >> Wow, u redu, tako da sada to je sve malo složeniji. 725 00:34:17,449 --> 00:34:21,300 I prije nego što smo vidjeti što ovaj tip radi, pokušajmo zaključiti, iz programa 726 00:34:21,300 --> 00:34:22,219 na desnoj strani. 727 00:34:22,219 --> 00:34:25,590 I sad ispočetka jasno nam omogućuje imati više skripti, više 728 00:34:25,590 --> 00:34:29,730 programe povezane s jednim sprite, s jednog znaka, i, očito, 729 00:34:29,730 --> 00:34:31,760 Obojica su idući u trčanje u lockstep. 730 00:34:31,760 --> 00:34:35,570 Zbog oba ova programa počinje sa kad zelena zastava klikova, ovo je 731 00:34:35,570 --> 00:34:38,650 aludirati na naprednije teme, s što neki od vas mogli biti upoznati, 732 00:34:38,650 --> 00:34:40,580 poznat kao navoja, ili multi-threading. 733 00:34:40,580 --> 00:34:44,400 >> Ispada, duljimo, računala danas je u biti može raditi više 734 00:34:44,400 --> 00:34:45,270 stvari odjednom. 735 00:34:45,270 --> 00:34:48,659 Ili oni mogu napraviti jednu stvar u isto vrijeme, tako brzo da ni ne primijetiti da 736 00:34:48,659 --> 00:34:50,150 to je zapravo radi jedan stvar u isto vrijeme. 737 00:34:50,150 --> 00:34:53,320 Ali za sada, pretpostavimo da su oba ovi programi će se izvršiti na 738 00:34:53,320 --> 00:34:54,310 u isto vrijeme. 739 00:34:54,310 --> 00:34:57,350 I obavijest, obojica imaju zauvijek slagalice. 740 00:34:57,350 --> 00:35:01,270 Tako su obojica održavaju dok sam pogodio crveni znak stop. 741 00:35:01,270 --> 00:35:02,100 >> Pa što će oni učiniti? 742 00:35:02,100 --> 00:35:06,030 Na lijevoj strani, ja sam očito deklariranje varijable pod nazivom isključen. 743 00:35:06,030 --> 00:35:09,030 Pa nisam ga nazvati nešto slično dosadno kao što sam to nazvao N. isključen ovo 744 00:35:09,030 --> 00:35:10,240 Vrijeme prenijeti značenje. 745 00:35:10,240 --> 00:35:11,780 Postavio sam je jednaka nuli. 746 00:35:11,780 --> 00:35:16,200 Razmislimo o tome kako False, ili Razmislimo o tome, kao False. 747 00:35:16,200 --> 00:35:17,490 >> Sada, zauvijek učiniti sljedeće. 748 00:35:17,490 --> 00:35:23,280 Ako tipkovnice razmaknicu pritisne, Ako vam tada isključen jednaka nuli, 749 00:35:23,280 --> 00:35:25,930 zatim promijenite isključen na jednak jedan. 750 00:35:25,930 --> 00:35:27,580 Inače, postavite isključen na nulu. 751 00:35:27,580 --> 00:35:30,530 Pa logično, iako to je cijela Hrpa slagalice koji je 752 00:35:30,530 --> 00:35:33,160 Jednostavno govoreći, kad sam pogodio Space bar, Što trebam učiniti da promjenjiva 753 00:35:33,160 --> 00:35:34,750 zove isključen? 754 00:35:34,750 --> 00:35:37,170 Promijenite ga od jednog do nule, ili nula do jedan. 755 00:35:37,170 --> 00:35:37,840 To je sve. 756 00:35:37,840 --> 00:35:40,740 Pa to je kao okreće prekidač ili isključivanje i prisjećajući se, s 757 00:35:40,740 --> 00:35:42,330 promjenjiva, da sam to učinio. 758 00:35:42,330 --> 00:35:45,990 >> U međuvremenu, na desnoj strani, u Laički rečeno, ono što je svrha 759 00:35:45,990 --> 00:35:47,547 skripte na desnoj strani? 760 00:35:47,547 --> 00:35:48,860 >> UČENIK: Kako igrati zvuk morskog lava. 761 00:35:48,860 --> 00:35:52,500 >> DAVID Malan: Za reprodukciju zvuka morskih lavova, ako on nije isključen, prema 762 00:35:52,500 --> 00:35:53,480 prirodu te varijable. 763 00:35:53,480 --> 00:35:57,360 Dakle, mi dijelimo državu, da tako kažemo, dijeljenje informacija preko ove dvije 764 00:35:57,360 --> 00:36:00,540 skripte jer, primijetiti, mi smo zauvijek na sljedeći način. 765 00:36:00,540 --> 00:36:04,620 Ako isključen je nula, pa ako to nije isključen - ako je isključen je lažna, onda igrati 766 00:36:04,620 --> 00:36:05,980 ovaj zvuk Sea Lion. 767 00:36:05,980 --> 00:36:09,930 I mislim na sebe, hi, hi, hi, za dvije sekunde, pričekajte trenutak, a zatim 768 00:36:09,930 --> 00:36:11,140 ponovno provjeriti. 769 00:36:11,140 --> 00:36:15,150 Dakle, ako ćemo sada ovdje na lijevoj strani, gdje je ovaj tip, a pogodak 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: U kojoj točki ne to se stvarno neugodno? 773 00:36:31,910 --> 00:36:33,440 Budući da je ovo samo će ići na zauvijek. 774 00:36:33,440 --> 00:36:36,490 Dakle, ponekad beskonačni petlje, da tako kažem, su namjerno. 775 00:36:36,490 --> 00:36:41,140 No, u ovom slučaju, čim sam pogoditi prostor bar, on je zaustavlja. 776 00:36:41,140 --> 00:36:42,800 Sada program nije napustio. 777 00:36:42,800 --> 00:36:44,760 Još uvijek radi u tim krugovima. 778 00:36:44,760 --> 00:36:46,540 Ali ako dobijem razmaknicu opet - 779 00:36:46,540 --> 00:36:47,851 >> [SEA LION SOUND] 780 00:36:47,851 --> 00:36:49,650 >> DAVID Malan: On će pokupiti tamo gdje je on stao. 781 00:36:49,650 --> 00:36:53,240 Dakle, postoji jedan način za nas učiniti nešto opet i opet, ali, kako 782 00:36:53,240 --> 00:36:54,920 Vrijeme, samo uvjetno. 783 00:36:54,920 --> 00:36:58,940 Pa, dok smo u ovom venu radi stvari opet i opet, neka mi 784 00:36:58,940 --> 00:37:01,370 idu u drugi takav primjer ovdje. 785 00:37:01,370 --> 00:37:04,370 Ovo je jedan zvat ćemo brojati ovce. 786 00:37:04,370 --> 00:37:05,710 >> I primijetiti ono što ovaj tip radi. 787 00:37:05,710 --> 00:37:08,540 To je zapravo malo više kao pseudocode smo se igrali na 788 00:37:08,540 --> 00:37:12,230 Srijeda, pri čemu je on postavlja neke brojač, mislim da je to je n opet, kako bi 789 00:37:12,230 --> 00:37:14,030 nuli, zauvijek će napraviti sljedeće. 790 00:37:14,030 --> 00:37:17,960 Kaže pulta je vrijednost za jednu Drugi, čeka drugi, a zatim 791 00:37:17,960 --> 00:37:19,430 mijenja brojač za jedan. 792 00:37:19,430 --> 00:37:21,570 I u tom kontekstu, da je jednostavno To znači koracima. 793 00:37:21,570 --> 00:37:23,250 Tako je jedan dodaje da njega. 794 00:37:23,250 --> 00:37:25,830 Dakle, to je doslovce - 795 00:37:25,830 --> 00:37:27,890 to nije dosta što mislimo kao brojanje ovaca. 796 00:37:27,890 --> 00:37:33,120 To je ovca radi prebrojavanja, zauvijek, gore od nule. 797 00:37:33,120 --> 00:37:35,560 >> Dakle, možemo napraviti slične stvari postoji, logično. 798 00:37:35,560 --> 00:37:37,750 No, sada ćemo pokušati očistiti neke od tih stvari. 799 00:37:37,750 --> 00:37:43,440 Dopustite mi sada ići naprijed u jednostavne Primjer gdje je naša mačka samo ide na 800 00:37:43,440 --> 00:37:44,750 pokrenuti kašlja. 801 00:37:44,750 --> 00:37:48,830 U redu, tako da ovdje imamo kašalj 0 - 802 00:37:48,830 --> 00:37:50,685 računalni znanstvenici počeli računajući od 0. 803 00:37:50,685 --> 00:37:53,480 Dakle, ovo je samo mačka ide kašljati tri puta. 804 00:37:53,480 --> 00:37:54,890 A evo kako sam provesti kako. 805 00:37:54,890 --> 00:38:00,130 Kada je zelena zastava se klikne, kašalj, čekaj, kašalj, pričekajte, kašalj, pričekajte. 806 00:38:00,130 --> 00:38:02,470 I ja sam to učinio samo povlačenjem i ispustite slagalice. 807 00:38:02,470 --> 00:38:04,740 Ili ako počnu prtljati s nule, vidjet ćete da zapravo mogu 808 00:38:04,740 --> 00:38:08,620 duple komada, tako da možete učiniti stvari puno brže, bez da povučete 809 00:38:08,620 --> 00:38:10,310 i ispustite oglasa nauseum. 810 00:38:10,310 --> 00:38:12,680 >> Ali mi nismo na najboljem putu ovdje. 811 00:38:12,680 --> 00:38:15,210 Jer kako ću ga natjerati kašalj četvrti put? 812 00:38:15,210 --> 00:38:16,790 Pa, ja mogu sortirati mjesta idu dolje. 813 00:38:16,790 --> 00:38:19,420 Mogao sam duple a zatim zalijepiti unutra. 814 00:38:19,420 --> 00:38:21,740 Kako bi ga kašalj i peti put? 815 00:38:21,740 --> 00:38:23,230 Pa, kopiranje i ponovno zalijepiti. 816 00:38:23,230 --> 00:38:24,210 Ili povucite opet pad. 817 00:38:24,210 --> 00:38:26,920 I vrlo brzo, ovaj program počinje da se stvarno, stvarno suvišne, 818 00:38:26,920 --> 00:38:28,880 jako dugo, ali stvarno nezanimljivo. 819 00:38:28,880 --> 00:38:30,120 No, postoji način da se ovo počistiti. 820 00:38:30,120 --> 00:38:33,680 Što je očigledan način za ovo počistiti? 821 00:38:33,680 --> 00:38:36,280 >> U redu, tako da smo zapravo mogli stvarno ići van i, kada hit prostor 822 00:38:36,280 --> 00:38:37,070 bar, morate ga kašalj. 823 00:38:37,070 --> 00:38:40,150 Ali ako ja samo želim učiniti nešto repetitivno, podsjetiti da imamo 824 00:38:40,150 --> 00:38:41,310 neke kontrole konstruira. 825 00:38:41,310 --> 00:38:43,800 Dopustite mi da se presele to iz smjer, ići pod kontrolu. 826 00:38:43,800 --> 00:38:47,340 Dopustite mi samo napraviti reprizu, recimo, tri puta. 827 00:38:47,340 --> 00:38:49,410 I sad neka mi ukrasti neke ove slagalice. 828 00:38:49,410 --> 00:38:50,980 Dopustite mi da ugriz ovaj ovdje. 829 00:38:50,980 --> 00:38:52,400 Dopustite mi baciti ti daleko uopce. 830 00:38:52,400 --> 00:38:55,400 >> I sada, ja imam bolji osmišljen program. 831 00:38:55,400 --> 00:38:55,920 Zašto? 832 00:38:55,920 --> 00:39:00,540 Ako želite promijeniti broj puta Ova mačka kašlje, sve što imam 833 00:39:00,540 --> 00:39:05,640 to je promijeniti jednu varijablu, ili jednu vrijednost, a od tri, do četiri, ili 834 00:39:05,640 --> 00:39:06,700 pet ili šest. 835 00:39:06,700 --> 00:39:09,060 Ili sam mogao učiniti nešto uvjetno, i, s prostorom 836 00:39:09,060 --> 00:39:10,320 bar ako sam htjela. 837 00:39:10,320 --> 00:39:11,780 >> Dakle, ovo je opće načelo. 838 00:39:11,780 --> 00:39:14,950 Jednom kada počnete kopirati i zalijepiti kôd, bilo da je u nule, ili u 839 00:39:14,950 --> 00:39:18,340 C, radite nešto krivu, najvjerojatnije. 840 00:39:18,340 --> 00:39:21,950 Ili barem, nakon što smo premašili neke razumne broj kopija i 841 00:39:21,950 --> 00:39:24,610 paste, vjerojatno ste radiš nešto krivo. 842 00:39:24,610 --> 00:39:26,740 >> Ali znate što? 843 00:39:26,740 --> 00:39:27,590 Ja stvarno ne ovako. 844 00:39:27,590 --> 00:39:28,980 Ovo nije najčišći dizajn. 845 00:39:28,980 --> 00:39:32,860 Volio bih da je bilo zagonetka komad zove kašalj, jer onda ne bih 846 00:39:32,860 --> 00:39:36,100 morati provesti ovaj ja osobno, starinski način, prema 847 00:39:36,100 --> 00:39:38,220 što kažu, i čekati - 848 00:39:38,220 --> 00:39:40,320 što ako su bili samo kašalj komad puzzle. 849 00:39:40,320 --> 00:39:41,330 >> Pa, ja zapravo može učiniti. 850 00:39:41,330 --> 00:39:45,010 Pusti me u više blokova, kliknite Napravite Block, a sada mi se to 851 00:39:45,010 --> 00:39:45,610 Prozor ovdje. 852 00:39:45,610 --> 00:39:47,540 Idem nazvati ovu stvar kašalj. 853 00:39:47,540 --> 00:39:49,400 Ja ću ići naprijed i kliknite OK. 854 00:39:49,400 --> 00:39:53,150 A sad obavijest, ja dobiti nove početne komad koji je zakrivljen na vrhu. 855 00:39:53,150 --> 00:39:56,590 A ono što ću učiniti s ovim, ja sam ide to samo kradu tih blokova. 856 00:39:56,590 --> 00:39:57,800 Ja ću ih staviti ovdje. 857 00:39:57,800 --> 00:40:00,490 >> A sada, s ova tri komada, ja sam provodi ono što ću nazvati 858 00:40:00,490 --> 00:40:03,530 funkcija, ili postupak, ili neke od možda ga znam kao metoda. 859 00:40:03,530 --> 00:40:05,050 Male razlike među riječima. 860 00:40:05,050 --> 00:40:06,950 Ali za sada, hajdemo nazovite to funkcija. 861 00:40:06,950 --> 00:40:08,750 Ovo je samo nova zagonetka komad. 862 00:40:08,750 --> 00:40:11,000 Sada se provodi kao što je ovaj. 863 00:40:11,000 --> 00:40:15,170 >> Ali primijetite da Scratch nam je dao fizički prikaz da je cijela 864 00:40:15,170 --> 00:40:16,570 blokirati ovamo. 865 00:40:16,570 --> 00:40:21,930 Pa sad, ja mogu samo povucite to ovdje, kažu, ponovite tri puta, a 866 00:40:21,930 --> 00:40:26,420 što će se dogoditi sada, kad sam igrati ova skripta, samo je jedan program 867 00:40:26,420 --> 00:40:27,500 je pokrenut na vrijeme. 868 00:40:27,500 --> 00:40:29,880 Postoji samo jedan kada je zelena zastava kliknuli. 869 00:40:29,880 --> 00:40:34,010 No, da je ljubičasta blok zove kašalj učinkovito govori nule, svaka 870 00:40:34,010 --> 00:40:38,160 Vrijeme vidiš taj komad puzzle, zapravo izvršiti ove korake da sam 871 00:40:38,160 --> 00:40:40,420 dogoditi provesti ručno. 872 00:40:40,420 --> 00:40:41,410 >> Dakle, to je vrsta uredan. 873 00:40:41,410 --> 00:40:44,650 Ali sada, pretpostavljam da sam odlučio, ja ne Želite ovu mačku samo na kašalj. 874 00:40:44,650 --> 00:40:46,660 Želim mu da bude u mogućnosti kihati kao dobro. 875 00:40:46,660 --> 00:40:48,905 Pa, kako bismo mogli ići o provedbi kihanje? 876 00:40:48,905 --> 00:40:51,310 Pa sam mogao prilično napraviti istu stvar. 877 00:40:51,310 --> 00:40:52,690 Mogao bih napraviti još jedan blok. 878 00:40:52,690 --> 00:40:55,940 Mogao bih nazvati ovaj kihanje, kliknite U redu. 879 00:40:55,940 --> 00:40:59,250 >> Zatim, ovdje sam zapravo mogao su, dopustite mi da na sličan način - 880 00:40:59,250 --> 00:41:02,850 a tu je gdje bi trebali osjećati kao ste vjerojatno ne radi nešto u 881 00:41:02,850 --> 00:41:03,780 Najbolji način. 882 00:41:03,780 --> 00:41:06,670 Mogao bih reći nešto poput, achoo, za jednu sekundu. 883 00:41:06,670 --> 00:41:07,440 Čekaj jednu sekundu. 884 00:41:07,440 --> 00:41:08,715 Sada imam novi blok pod nazivom kihanje. 885 00:41:08,715 --> 00:41:10,210 I doista, to je to. 886 00:41:10,210 --> 00:41:14,010 >> Ali to, također, trebala početi osjećati - možda i ne prvi tjedan klase, ali 887 00:41:14,010 --> 00:41:15,730 od drugog - samo Malo suvišne. 888 00:41:15,730 --> 00:41:17,800 Jasno, ima nekih redundancije ovdje. 889 00:41:17,800 --> 00:41:22,090 Pa neka mi predložiti, umjesto toga, da bismo precizirali ova definicija na sljedeći način. 890 00:41:22,090 --> 00:41:24,820 >> Pusti me do moje datoteke izbornika. 891 00:41:24,820 --> 00:41:26,090 Neću spasiti ovu verziju. 892 00:41:26,090 --> 00:41:29,080 Ja ću otići u jednu od moji premade slika ovdje. 893 00:41:29,080 --> 00:41:31,190 I ja ću ići naprijed i otvoriti kašalj 2. 894 00:41:31,190 --> 00:41:32,220 Joj da je kašalj 2. 895 00:41:32,220 --> 00:41:36,900 Dopustite mi da ići naprijed i otvoriti kašalj 3, što je ovaj izvor katalog. 896 00:41:36,900 --> 00:41:42,450 Kašalj 3 i primjetiti - Oh, rekao sam Priča u pogrešnom redoslijedu. 897 00:41:42,450 --> 00:41:45,030 Dopustite mi da se oporavim od ove priče. 898 00:41:45,030 --> 00:41:48,990 >> Priča Htjela sam reći završava kašalj 4 - 899 00:41:48,990 --> 00:41:50,270 to je to. 900 00:41:50,270 --> 00:41:54,380 Pa što ako sam, umjesto toga, definirati Veći dio slagalice zove 901 00:41:54,380 --> 00:41:57,250 definirati, kažu riječ n puta. 902 00:41:57,250 --> 00:41:59,930 Kihanje je samo, očito, u nule, achoo. 903 00:41:59,930 --> 00:42:01,680 Tako smo ga izraziti kao riječ, Samo zato što je 904 00:42:01,680 --> 00:42:02,750 ograničenje programa. 905 00:42:02,750 --> 00:42:07,860 A kašalj [kašalj], ali kašalj, C-O-U-G-H. Dakle, to je samo dva 906 00:42:07,860 --> 00:42:10,820 različite riječi radi, u biti, ista stvar. 907 00:42:10,820 --> 00:42:12,820 >> Tako sam zapravo može učiniti Novi blok kao što je ovaj. 908 00:42:12,820 --> 00:42:14,220 Nisam koristio ovu opciju izbornika prije. 909 00:42:14,220 --> 00:42:16,960 Ali kad kliknete Make Block, možete odabrati neke opcije. 910 00:42:16,960 --> 00:42:20,900 I možete reći da je to zapravo blok ima neke ulaza, inače 911 00:42:20,900 --> 00:42:24,710 poznat kao argumente, ili parametara, tako da možete mijenjati ponašanje 912 00:42:24,710 --> 00:42:25,520 Vaš blok. 913 00:42:25,520 --> 00:42:28,780 >> Dakle, ono što sam maloprije bio Nazvao sam to blok Reci. 914 00:42:28,780 --> 00:42:30,880 A onda sam rekao, to traje string input. 915 00:42:30,880 --> 00:42:32,810 A sada primjetiti, po defaultu, što kaže jedan string. 916 00:42:32,810 --> 00:42:35,440 String je samo riječ, ili Fraza, za naše potrebe. 917 00:42:35,440 --> 00:42:37,810 No, samo ću staviti neke Tekst rezerviranog postoji, baš kao što je u 918 00:42:37,810 --> 00:42:40,620 Web stranica, kad vidite korisničko ime, ili lozinku i onda nestaje 919 00:42:40,620 --> 00:42:41,550 počnete tipkati. 920 00:42:41,550 --> 00:42:42,720 To je sve što je. 921 00:42:42,720 --> 00:42:44,590 >> A sad idem dodati unos broja. 922 00:42:44,590 --> 00:42:47,180 A ja ću nazvati ovaj n - , ali to je prilično proizvoljna. 923 00:42:47,180 --> 00:42:49,510 I onda samo naljepnice, samo da bi ovaj blok malo više samopouzdanja 924 00:42:49,510 --> 00:42:50,570 razumljiva - 925 00:42:50,570 --> 00:42:53,010 puta, to je ono što sam upravo učinio. 926 00:42:53,010 --> 00:42:56,540 A krajnji rezultat je da sam se blok koji izgleda ovako. 927 00:42:56,540 --> 00:42:58,880 >> A sada primjetiti, ja sam koristeći Ponavljam blok. 928 00:42:58,880 --> 00:43:03,480 Ali umjesto tvrdog kodiranja tri, ja sam povlačenjem i ispuštanjem n tamo pa sam 929 00:43:03,480 --> 00:43:05,530 može parametrize funkciju. 930 00:43:05,530 --> 00:43:08,590 Ja mogu napraviti ovu funkciju učiniti nešto različit broj puta na temelju 931 00:43:08,590 --> 00:43:09,410 tu vrijednost. 932 00:43:09,410 --> 00:43:14,270 >> I primjetiti, kažu, to je ono što sam učinio Ovdje, ako se povlačim riječ, mogu reći ne 933 00:43:14,270 --> 00:43:17,860 Teško kodirane riječi, ali bez obzira na je donesen u jednu sekundu. 934 00:43:17,860 --> 00:43:20,200 U međuvremenu, kako sam ponovno provoditi kašalj? 935 00:43:20,200 --> 00:43:26,980 I umjesto da definira kao kašalj govoreći kašalj n puta. 936 00:43:26,980 --> 00:43:30,480 >> Tako je u kratkom, idem kroz ovaj brzo, ali osnovna ideja je što prije 937 00:43:30,480 --> 00:43:32,750 kao što počnete vidjeti u svom programu da, čekaj malo, ja sam učinio 938 00:43:32,750 --> 00:43:36,610 nešto posve kao i prije, Ja mogu uzet iz neke zajedničke 939 00:43:36,610 --> 00:43:37,090 Funkcionalnost? 940 00:43:37,090 --> 00:43:41,090 Mogu li razgrađuju što radim o nekim temeljnim idejama? 941 00:43:41,090 --> 00:43:42,070 To je ono što mi ovdje radimo. 942 00:43:42,070 --> 00:43:44,830 I ja sam hrpu tih stvari, vizualno, na vrhu jedan drugoga 943 00:43:44,830 --> 00:43:47,710 jer to je dokaz da se ideji počevši s binarnom, ide u ASCII, 944 00:43:47,710 --> 00:43:51,530 izradu grafičkih programa, vrsta raslojavanje sve složenije ideje o 945 00:43:51,530 --> 00:43:52,570 jednu na drugu. 946 00:43:52,570 --> 00:43:53,730 >> Sve ideja ovdje. 947 00:43:53,730 --> 00:43:56,870 Počeo sam od nule, provedbi kašalj, kašalj je tada shvatio 948 00:43:56,870 --> 00:43:58,540 zapravo samo nešto govori. 949 00:43:58,540 --> 00:44:01,630 Pa neka mi umjesto provedbu Pojam kaže nešto. 950 00:44:01,630 --> 00:44:05,200 I povrh svega toga, mogu provoditi achoo, ili kašalj? 951 00:44:05,200 --> 00:44:07,990 I mi smo mogli učiniti više, kao varijante još uvijek. 952 00:44:07,990 --> 00:44:10,400 >> Dakle, iz ovog temeljnog principa, možemo početi raditi 953 00:44:10,400 --> 00:44:12,180 sve kompleksnije programe. 954 00:44:12,180 --> 00:44:14,100 Dopustite mi otvoriti ovaj jedan. 955 00:44:14,100 --> 00:44:18,020 Mi zapravo može imati više sprites interakcije na ekranu odjednom. 956 00:44:18,020 --> 00:44:23,470 Ako odem u moje izvorne mape i zgrabite jedan zove Teme, podsjetiti da je 957 00:44:23,470 --> 00:44:26,920 nit je samo jako sposobnost od dvije skripte za pokretanje rame uz 958 00:44:26,920 --> 00:44:28,350 strana u isto vrijeme. 959 00:44:28,350 --> 00:44:34,490 >> Obavijest sada, imaju i sprite ptica i mačka sprite, oba od kojih su 960 00:44:34,490 --> 00:44:35,270 vlastite skripte. 961 00:44:35,270 --> 00:44:37,690 Dakle najave, kad kliknem mačka, ja dobiti ove skripte. 962 00:44:37,690 --> 00:44:39,830 Kad sam kliknite na pticu, Ja se ovih skripti. 963 00:44:39,830 --> 00:44:42,070 Dakle, svaki od tih momaka mora njegove vlastite programe. 964 00:44:42,070 --> 00:44:46,680 Kad sam sada kliknite na zelenu zastavu, primijetit da je ono što ovaj program radi je 965 00:44:46,680 --> 00:44:54,090 imate mačku, nevjerojatno Polako, potjerati pticu. 966 00:44:54,090 --> 00:44:57,120 No, mačka ima prednost imaju programiran na način 967 00:44:57,120 --> 00:45:00,540 da bez obzira gdje se ptice je, mačka ide prema njemu. 968 00:45:00,540 --> 00:45:02,150 >> Mi možemo igrati tu igru ​​mnogo brže. 969 00:45:02,150 --> 00:45:07,750 Dakle, ako sam na mačka, primijetiti da sam pomoću, recimo premjestiti jednu korake. 970 00:45:07,750 --> 00:45:11,680 Ajmo ga premjestiti u pet koraka vrijeme, tako da pet točaka u isto vrijeme. 971 00:45:11,680 --> 00:45:13,580 Dopustite mi da kliknete igrati. 972 00:45:13,580 --> 00:45:14,490 >> [Lavovski ROAR] 973 00:45:14,490 --> 00:45:17,170 >> DAVID Malan: U redu, sada možemo stvarno dati mačka prednost. 974 00:45:17,170 --> 00:45:18,600 10 koraka u isto vrijeme. 975 00:45:18,600 --> 00:45:20,120 >> [Lavovski ROAR] 976 00:45:20,120 --> 00:45:22,770 >> DAVID Malan: U redu, tako da vrlo brzo, to dobiva malo prednost 977 00:45:22,770 --> 00:45:23,280 za mačka. 978 00:45:23,280 --> 00:45:25,310 Ali ja ću mahati moje ruke na neki od detalja. 979 00:45:25,310 --> 00:45:28,240 No, razlog zbog kojeg je taj put je počinju malo drugačiji svaki put 980 00:45:28,240 --> 00:45:29,700 je da sam radiš malo slučajnosti. 981 00:45:29,700 --> 00:45:33,700 Ja sam zapravo pokazuje mačka u drugačiji pravac temelji na kojima sam 982 00:45:33,700 --> 00:45:38,710 želim mu da počne, tako da svaki put Igra ili animacije, je 983 00:45:38,710 --> 00:45:39,760 malo drugačiji. 984 00:45:39,760 --> 00:45:41,950 >> Sada, neka mi predstaviti jedan izgradnju drugog ovdje. 985 00:45:41,950 --> 00:45:43,860 Dakle, u ovom slučaju, morali smo funkcija. 986 00:45:43,860 --> 00:45:46,950 Tu će biti puzzle komada poznat kao niz, ili popis, 987 00:45:46,950 --> 00:45:50,980 koji vam omogućuje pohranu više Vrijednosti unutar varijable. 988 00:45:50,980 --> 00:45:53,410 Vidjeli smo teme, a sada postoji događanja. 989 00:45:53,410 --> 00:45:56,330 >> Dakle, ovdje je događaj pomoću Njih su dvojica ovdje. 990 00:45:56,330 --> 00:46:02,490 A ako sam otvoriti datoteku pod nazivom Događanja od današnjih primjera, mi ćemo 991 00:46:02,490 --> 00:46:06,940 vidjeti program koji izgleda Malo kao što je ovaj. 992 00:46:06,940 --> 00:46:09,630 A sada primjetiti ovog tipa - 993 00:46:09,630 --> 00:46:11,620 tako da primjetiti Imam plavu Muppet kliknuli - 994 00:46:11,620 --> 00:46:12,990 on je samo da sljedeće. 995 00:46:12,990 --> 00:46:15,540 On ne imati jedan od onih zelena zastava slagalice. 996 00:46:15,540 --> 00:46:18,620 On ima kada je primam događaj - 997 00:46:18,620 --> 00:46:19,970 tako da neke arbitrarne riječi. 998 00:46:19,970 --> 00:46:21,590 Upravo sam upisali događaj postoji - 999 00:46:21,590 --> 00:46:23,740 on će reći, Polo, za dvije sekunde. 1000 00:46:23,740 --> 00:46:25,800 >> Dakle, one od vas koji su upoznati s ova igra možda zna 1001 00:46:25,800 --> 00:46:26,460 gdje je to ide. 1002 00:46:26,460 --> 00:46:29,800 Ako ja sada klikom na narančastu Muppet, njegov program čini. 1003 00:46:29,800 --> 00:46:35,020 Zauvijek, ako se bar tipkovnice prostor potisnuti, on će reći, Marco, 1004 00:46:35,020 --> 00:46:36,580 za dvije sekunde na zaslonu. 1005 00:46:36,580 --> 00:46:39,590 Ali on je također ćete koristiti ovaj ljubitelj blokirati poznat kao emitiranja. 1006 00:46:39,590 --> 00:46:42,270 On će emitirati citat završen citat, "event". 1007 00:46:42,270 --> 00:46:47,540 >> U međuvremenu, plavi dečko, podsjetimo, je osluškujući quote završen citat, "događaja." 1008 00:46:47,540 --> 00:46:50,760 Tako nekako, sada, možemo imati Dva duhovi interakciji. 1009 00:46:50,760 --> 00:46:53,790 A kad dođemo na web programiranja, kasnije u roku, na sličan način će se to 1010 00:46:53,790 --> 00:46:58,320 biti korisno imati svoju web stranicu učiniti nešto u odgovoru na, za 1011 00:46:58,320 --> 00:47:00,130 Primjerice, klik na tipkovnici. 1012 00:47:00,130 --> 00:47:02,120 >> Zato mi dopustite da ići naprijed i hit razmaknicu. 1013 00:47:02,120 --> 00:47:04,020 Orange dečko kaže Marco. 1014 00:47:04,020 --> 00:47:05,840 Plavi čovjek kaže Polo. 1015 00:47:05,840 --> 00:47:10,780 Ako sam to učiniti opet naranče čovjek kaže Marco, plavi dečko kaže da polo. 1016 00:47:10,780 --> 00:47:14,130 Tako ćemo uzeti jedan korak dalje. 1017 00:47:14,130 --> 00:47:18,790 Ovaj put, ići ćemo, vjerojatno, Samo nekoliko minuta više ovdje. 1018 00:47:18,790 --> 00:47:19,904 Imamo li - 1019 00:47:19,904 --> 00:47:22,380 stolna svjetiljka, dođi ovamo. 1020 00:47:22,380 --> 00:47:24,500 U pravu ste na kraju. 1021 00:47:24,500 --> 00:47:25,740 U redu, možete i smisliti. 1022 00:47:25,740 --> 00:47:26,990 Imamo stolne lampe za svakoga. 1023 00:47:26,990 --> 00:47:28,360 Hajde. 1024 00:47:28,360 --> 00:47:30,090 Ne znam možemo li zadržati taj smiješni geg up 1025 00:47:30,090 --> 00:47:32,035 cijeli semestar, iako. 1026 00:47:32,035 --> 00:47:33,530 Dobro, hajde dolje. 1027 00:47:33,530 --> 00:47:40,260 >> A u međuvremenu, imamo Sljedeći primjeri podići, samo da 1028 00:47:40,260 --> 00:47:45,370 ubrzati stvari sada, kao da smo imati manifestaciju iz drugih 1029 00:47:45,370 --> 00:47:48,360 prethodnik tvoje pomoću Isti osnovni građevni blokovi. 1030 00:47:48,360 --> 00:47:48,975 Koje je tvoje 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 Drago mi vas. 1034 00:47:50,400 --> 00:47:50,650 I? 1035 00:47:50,650 --> 00:47:51,250 >> SETZ: Setz. 1036 00:47:51,250 --> 00:47:53,130 >> DAVID Malan: Setz, lijepo mi vas. 1037 00:47:53,130 --> 00:47:54,820 John, ako bih došao Prvi se, to je stara 1038 00:47:54,820 --> 00:47:55,910 Škola Igra nazvana Frogger. 1039 00:47:55,910 --> 00:47:57,530 Možete koristiti tipkovnicu za to kao dobro. 1040 00:47:57,530 --> 00:48:02,425 A cilj je da se preko ulica i vodu. 1041 00:48:02,425 --> 00:48:12,700 >> [Frogger glazba i zvuk PLAYS] 1042 00:48:12,700 --> 00:48:14,970 >> DAVID Malan: Žao mi je, ne stolna svjetiljka za vas danas. 1043 00:48:14,970 --> 00:48:19,110 U redu, Setz, zar ne željeli doći gore? 1044 00:48:19,110 --> 00:48:20,890 Dobro, neka je to učiniti opet. 1045 00:48:20,890 --> 00:48:21,430 >> SETZ: Da li koristite strelice? 1046 00:48:21,430 --> 00:48:22,360 >> DAVID Malan: Samo tipke sa strelicama. 1047 00:48:22,360 --> 00:48:23,624 Gore, dolje, lijevo, desno. 1048 00:48:23,624 --> 00:48:35,700 >> [Frogger glazba i zvuk PLAYS] 1049 00:48:35,700 --> 00:48:37,880 >> DAVID Malan: Mi ćemo ih nazvati utjeha nagrade danas, 1050 00:48:37,880 --> 00:48:38,950 zatim, vrlo dobro učinio. 1051 00:48:38,950 --> 00:48:40,690 Evo, za vas oboje, Ivana i Setz. 1052 00:48:40,690 --> 00:48:41,940 Čestitamo, sve u redu. 1053 00:48:41,940 --> 00:48:46,720 1054 00:48:46,720 --> 00:48:50,620 Pa opet, jer to igra igra, razmišljati o tome što se događa? 1055 00:48:50,620 --> 00:48:52,060 >> Jedan, tu je očito puno pokreta. 1056 00:48:52,060 --> 00:48:55,220 No, vidjeli smo kako se, s mačkom i Ptica primjer, kako se može napraviti 1057 00:48:55,220 --> 00:48:58,350 Iluzija o kretanju samo pomicanjem neke broj piksela opet i opet. 1058 00:48:58,350 --> 00:49:00,280 A ako imate zauvijek blok, možete imati ove 1059 00:49:00,280 --> 00:49:02,120 automobili to zauvijek. 1060 00:49:02,120 --> 00:49:03,720 Mi imamo sposobnost za imaju neke slučajnosti. 1061 00:49:03,720 --> 00:49:06,310 Dakle, ova igra ne mora biti točno isto svaki put. 1062 00:49:06,310 --> 00:49:09,940 Ti dnevnici, ti automobili, može započeti u različitim vremenima kako bi 1063 00:49:09,940 --> 00:49:12,690 Sama igra je zanimljivija sa svakim igri. 1064 00:49:12,690 --> 00:49:15,320 >> I međuvremenu, vidjeli smo mogućnost slušati razmaknice. 1065 00:49:15,320 --> 00:49:18,830 Ali, jasno, u nule, mogu također slušati za gore, dolje, lijevo, desno, i 1066 00:49:18,830 --> 00:49:20,760 stvarno bilo koju tipku na tipkovnici. 1067 00:49:20,760 --> 00:49:22,200 I vi također možete raditi neke druge stvari. 1068 00:49:22,200 --> 00:49:24,660 Dopustite mi da ide naprijed i vratiti na web verziji. 1069 00:49:24,660 --> 00:49:30,280 >> Dopustite mi ide u našu kolekciju od primjera ovdje. 1070 00:49:30,280 --> 00:49:36,120 I u moj studio, video koji je, u biti, mapu na 1071 00:49:36,120 --> 00:49:37,780 scratch.mit.edu. 1072 00:49:37,780 --> 00:49:39,710 Imamo web inačice sve ove projekte. 1073 00:49:39,710 --> 00:49:42,530 I neka je vidjeti ako ja mogu dobiti moj Računalo surađivati ​​ovdje. 1074 00:49:42,530 --> 00:49:47,180 Ovo je napisao jedan od naših prijatelja na MIT-u, pod nazivom Pomicanje leptir. 1075 00:49:47,180 --> 00:49:50,250 >> A kada se to otvara, to je će zapravo koristiti više 1076 00:49:50,250 --> 00:49:51,430 moj računalo hardver. 1077 00:49:51,430 --> 00:49:53,325 Scratch dogodi da se provodi s bljeskalicom. 1078 00:49:53,325 --> 00:49:56,250 Flash može razgovarati s web-kameru, ako imate jedan. 1079 00:49:56,250 --> 00:50:00,210 Dakle, ako sam ići naprijed i full screen ovo Ovdje, kliknite na zelenu zastavu, obavijest 1080 00:50:00,210 --> 00:50:02,530 Taj je bljesak je sigurnosna poruka govori, da li vi želite 1081 00:50:02,530 --> 00:50:04,210 dopustiti da koriste moje webcam? 1082 00:50:04,210 --> 00:50:05,510 >> Normalno, da bi vjerojatno reći Deny. 1083 00:50:05,510 --> 00:50:07,180 No, u ovom slučaju, mi ćemo reći dopuštaju. 1084 00:50:07,180 --> 00:50:10,430 Onda ću reći Chrome kako bi se omogućilo isto. 1085 00:50:10,430 --> 00:50:15,010 I sada, u samo trenutak, ste me vidjeti, yep, ja. 1086 00:50:15,010 --> 00:50:18,154 A ako mi ruka ide prema gore - 1087 00:50:18,154 --> 00:50:20,390 Moram se ne mičem glavu u isto vrijeme. 1088 00:50:20,390 --> 00:50:21,740 Tu je također odraz na zaslonu. 1089 00:50:21,740 --> 00:50:23,480 Hajde, idemo tamo - 1090 00:50:23,480 --> 00:50:27,616 možete ga premjestiti na zaslonu, jer tu je i slagalice - Oh, da 1091 00:50:27,616 --> 00:50:31,640 znam što je to, to je zato što je također vidjeti projektor zaslon iza mene. 1092 00:50:31,640 --> 00:50:33,870 Dakle, imamo malo Infinite što se tamo događa. 1093 00:50:33,870 --> 00:50:36,470 >> U redu, tako da ću igrati ovdje. 1094 00:50:36,470 --> 00:50:37,220 Tamo idemo. 1095 00:50:37,220 --> 00:50:41,310 Dakle, tu je i zagonetka komad koji kaže, kad vidite kretanje ispod 1096 00:50:41,310 --> 00:50:45,470 jedan od duhovi, možete ga ide gore, dolje, lijevo, desno ili slično. 1097 00:50:45,470 --> 00:50:48,950 Dakle, imamo malo virtualne stvarnosti događa i ovdje, sve u roku od 1098 00:50:48,950 --> 00:50:52,570 granicama svom pregledniku, samo ovdje koristeći moje webcam. 1099 00:50:52,570 --> 00:50:53,980 Pa što je onda na horizontu. 1100 00:50:53,980 --> 00:50:58,350 Prvi problem set, kao što ćete vidjeti, ili web stranice će ići online kasnije 1101 00:50:58,350 --> 00:51:01,100 Večeras u cs50.net, je prilično koliko će biti otvorene. 1102 00:51:01,100 --> 00:51:04,410 I provesti projekt Blok od interesa za vas, igra, 1103 00:51:04,410 --> 00:51:08,350 Interakcija, nešto umjetničke i sebe izazov koristiti bilo koji broj 1104 00:51:08,350 --> 00:51:09,660 ove slagalice. 1105 00:51:09,660 --> 00:51:11,580 I to može biti interaktivan na ovaj način. 1106 00:51:11,580 --> 00:51:15,470 Ili to može biti nešto više namjerno je ispričati priču. 1107 00:51:15,470 --> 00:51:19,200 >> I doista, to je gdje ćemo završiti off Danas, s jedne završni primjer. 1108 00:51:19,200 --> 00:51:21,290 Pusti me na lokalnoj razini nule. 1109 00:51:21,290 --> 00:51:25,300 Dopustite mi da ići naprijed i otvoriti ovo, i igrati jedan zadnji program koji je napisao jedan 1110 00:51:25,300 --> 00:51:29,795 vaših prethodnika, naime da je jedan ovdje. 1111 00:51:29,795 --> 00:51:32,960 1112 00:51:32,960 --> 00:51:35,938 Dobro, pojačavanje glasnoće za ovaj jedan. 1113 00:51:35,938 --> 00:52:53,770 >> [Glazba svira] 1114 00:52:53,770 --> 00:52:57,255 >> Narator: Na sljedećem CS50, David poziva volonter na pozornici. 1115 00:52:57,255 --> 00:52:58,636 >> DAVID Malan: Za ovu demonstraciju, ćemo morati jedan volonter. 1116 00:52:58,636 --> 00:53:01,050 Želite li doći dolje? 1117 00:53:01,050 --> 00:53:02,300 Koje je tvoje ime? 1118 00:53:02,300 --> 00:53:05,320 1119 00:53:05,320 --> 00:53:06,570 Premještanje na. 1120 00:53:06,570 --> 00:53:08,394