1 00:00:00,000 --> 00:00:10,980 >> [Muziciranja] 2 00:00:10,980 --> 00:00:13,260 >> -Alright! 3 00:00:13,260 --> 00:00:16,400 >> -Ovo Je CS50. 4 00:00:16,400 --> 00:00:18,220 >> -Ovo Je CS50. 5 00:00:18,220 --> 00:00:19,324 >> -Ovo Je CS50. 6 00:00:19,324 --> 00:00:20,615 [MUSIC - IGGY AZALEA, "fancy"] 7 00:00:20,615 --> 00:00:29,925 8 00:00:29,925 --> 00:00:33,570 >> -Moj Omiljena uspomena iz CS50 bio je kada sam otišao u Male dan. 9 00:00:33,570 --> 00:00:35,797 >> Vjerojatno samo vrijeme proveo radeći na problematična setovima 10 00:00:35,797 --> 00:00:38,630 s mojim prijateljima i ljudima koji pustara konačno postati moji blockmates. 11 00:00:38,630 --> 00:00:40,421 >> Moja najbolja uspomena iz CS50 je Hackathon. 12 00:00:40,421 --> 00:00:41,630 -The CS50 Hackathon. 13 00:00:41,630 --> 00:00:42,130 >> -Hackathon. 14 00:00:42,130 --> 00:00:42,800 >> -Hackathon. 15 00:00:42,800 --> 00:00:43,300 -Hackathon. 16 00:00:43,300 --> 00:00:43,883 -The Hackathon 17 00:00:43,883 --> 00:00:45,027 -Rob Bowden. 18 00:00:45,027 --> 00:00:46,110 Baš sve o njemu. 19 00:00:46,110 --> 00:00:47,401 >> [MUSIC - IGGY AZALEA, "fancy"] 20 00:00:47,401 --> 00:00:56,790 21 00:00:56,790 --> 00:01:02,512 >> -Moj Omiljeni sjećanje je kad sam bio na pozornica i sam igrao prestižnu ulogu 22 00:01:02,512 --> 00:01:04,220 od čvora [? u Linked?] [? List. ?] 23 00:01:04,220 --> 00:01:08,470 >> Kad smo svi dobili slobodan prostor i Dropbox David je bio kao, pogledaj ispod sjedala. 24 00:01:08,470 --> 00:01:10,520 I to je bilo kao, prostora za svakoga! 25 00:01:10,520 --> 00:01:11,811 >> [MUSIC - IGGY AZALEA, "fancy"] 26 00:01:11,811 --> 00:01:20,940 27 00:01:20,940 --> 00:01:22,830 >> Moja savjet za bilo dolazni student 28 00:01:22,830 --> 00:01:26,170 bilo bi stvarno rade na P-setovi s prijateljima. 29 00:01:26,170 --> 00:01:27,960 >> -Office Sati je jako puno prijateljica. 30 00:01:27,960 --> 00:01:30,870 >> -Napravite Većinu svog iskustva i upoznati što više ljudi kao što možete. 31 00:01:30,870 --> 00:01:32,390 >> Nemoj se bojati pitati za pomoć. 32 00:01:32,390 --> 00:01:33,890 -Start P-seta početkom tjedna. 33 00:01:33,890 --> 00:01:36,723 -Mislim Najveća stvar je da iskoristiti sve resurse 34 00:01:36,723 --> 00:01:37,950 da CS50 ima. 35 00:01:37,950 --> 00:01:39,960 >> -Idi Za radnog vremena početkom tjedna. 36 00:01:39,960 --> 00:01:41,430 >> Definitivno gledati gaćice. 37 00:01:41,430 --> 00:01:42,989 >> Nemoj odugovlačiti na svoje P-seta. 38 00:01:42,989 --> 00:01:45,780 -Napravite Jeste li pronašli veliku skupinu ljudi za rad na P skupova s. 39 00:01:45,780 --> 00:01:48,530 Možete imati puno zabave i dobiti posao obavlja zajedno. 40 00:01:48,530 --> 00:01:50,370 >> Nemoj se bojati da se gurati. 41 00:01:50,370 --> 00:01:52,080 Idi za hakerske izdanje ponekad. 42 00:01:52,080 --> 00:01:55,410 >> -Write Stvari na papiru prije li ikada dirati računalo. 43 00:01:55,410 --> 00:01:58,380 >> -CS50 Stvarno super na pružanja načina da biste dobili pomoć. 44 00:01:58,380 --> 00:02:01,134 >> Moja jedan komad savjet je san. 45 00:02:01,134 --> 00:02:02,050 Je li netko to rekao? 46 00:02:02,050 --> 00:02:04,100 Spavanje, sigurno. 47 00:02:04,100 --> 00:02:08,919 To je jednostavno ne raditi, ali moraš to učiniti, mislim. 48 00:02:08,919 --> 00:02:12,982 >> -Ja Bih stvarno biti psihički spremni jer ćeš ga voljeti. 49 00:02:12,982 --> 00:02:14,273 [MUSIC - IGGY AZALEA, "fancy"] 50 00:02:14,273 --> 00:02:17,750 51 00:02:17,750 --> 00:02:18,940 >> -Ovo Je CS50. 52 00:02:18,940 --> 00:02:22,090 53 00:02:22,090 --> 00:02:23,066 >> -Ovo Je CS50. 54 00:02:23,066 --> 00:02:26,400 55 00:02:26,400 --> 00:02:26,989 >> -Ovo Je CS50. 56 00:02:26,989 --> 00:02:28,280 [MUSIC - IGGY AZALEA, "fancy"] 57 00:02:28,280 --> 00:02:31,290 58 00:02:31,290 --> 00:02:31,964 >> -Ovo Je CS50. 59 00:02:31,964 --> 00:02:36,020 60 00:02:36,020 --> 00:02:42,270 >> [Pljesak] 61 00:02:42,270 --> 00:02:46,040 >> DAVID J. Malan: Dakle, ovo je CS50 i to je kraj tjedna 0. 62 00:02:46,040 --> 00:02:48,770 A to je bio samo neki od CS50 osoblja koji 63 00:02:48,770 --> 00:02:51,100 čekaju ne samo u dijelovima i radno vrijeme, ali, 64 00:02:51,100 --> 00:02:54,390 Također, ovaj dolazak vikenda na CS50 Puzzle dan. 65 00:02:54,390 --> 00:02:56,410 Koji, opet, nije sve o programiranju. 66 00:02:56,410 --> 00:02:59,710 Doista, to se očekuje da vas neće morati ništa programirati, 67 00:02:59,710 --> 00:03:03,780 nego rješavati probleme pomoću straha i prijatelji uz vas. 68 00:03:03,780 --> 00:03:06,400 >> Mi ćemo se pridružiti i neki od naših prijatelja u Facebook-- 69 00:03:06,400 --> 00:03:08,980 ako ovdje-- registrirajte koji u posljednjih nekoliko godina, 70 00:03:08,980 --> 00:03:11,450 imaju zapravo pisao ti izazovi s nama. 71 00:03:11,450 --> 00:03:14,822 I tako, oni će biti ti konačnici trčanje Puzzle dan. 72 00:03:14,822 --> 00:03:17,530 I tako, od vas će biti izazvan s upravo vrstama stvari 73 00:03:17,530 --> 00:03:20,520 i probleme s kojima se ljudi na Facebook željeli razmišljati o tome. 74 00:03:20,520 --> 00:03:21,860 Tako da je sutra. 75 00:03:21,860 --> 00:03:25,980 Registrirajte se na cs50.harvard.edu/register. 76 00:03:25,980 --> 00:03:28,120 >> Sada riječ o par osoblja posebno. 77 00:03:28,120 --> 00:03:30,090 Ovo ovdje je Ansel Duff, koji je zapravo jedan 78 00:03:30,090 --> 00:03:33,860 od koautora binarnih lukovice koje smo vidjeli u srijedu, 79 00:03:33,860 --> 00:03:36,710 osim CS50 vlastite Dan Bradley. 80 00:03:36,710 --> 00:03:40,094 Ansel Duff je također bio bivši brucoš advisee moja prije 3 godine 81 00:03:40,094 --> 00:03:41,760 i on je zapravo čak izgradio ovu govornicu. 82 00:03:41,760 --> 00:03:45,330 On je otišao na to tehničke znanosti i još mnogo toga. 83 00:03:45,330 --> 00:03:49,279 Sada, njegova slika ovdje je zapravo Ansel prije 3 godine na CS50 Hackathon 84 00:03:49,279 --> 00:03:51,820 kad je posudio jedan od naših baloni, zapeo je na njegov laptop, 85 00:03:51,820 --> 00:03:55,240 i, za sljedeća 12 neki čudan sati, usmjerena na njegov konačni projekt, 86 00:03:55,240 --> 00:03:59,150 uzimanje pauze samo otvoriti vrećice bombona na Hackathon. 87 00:03:59,150 --> 00:04:02,210 >> Ali on je otišao na nedavno se potrošiti ovog ljeta s nama, 88 00:04:02,210 --> 00:04:05,270 budući CS50 za svoje osoblje, i sada studenti ovog semestra 89 00:04:05,270 --> 00:04:06,770 ima svoj vlastiti 3D pisač. 90 00:04:06,770 --> 00:04:10,180 A u malom 3D pisači je uređaj koji izgleda baš tako. 91 00:04:10,180 --> 00:04:15,700 Možete ga popuniti s plastičnom kolutu koji se rastopio na uređaju 92 00:04:15,700 --> 00:04:18,940 a vi graditi stvari doslovno iz ničega. 93 00:04:18,940 --> 00:04:22,660 Slično kao tintni pisač, što počnete ispljunuo točkice od plastike 94 00:04:22,660 --> 00:04:24,990 taj oblik zajedno formirati cijele objekte. 95 00:04:24,990 --> 00:04:28,430 I tako Ansel primjerice, ranije ovo ljeto, ima iPhone 5 96 00:04:28,430 --> 00:04:30,722 i odlučio je zapravo htio da ga podupre na stolu. 97 00:04:30,722 --> 00:04:32,638 No, on nije želio izaći i kupiti nešto 98 00:04:32,638 --> 00:04:36,030 iz Apple store ili slično, tako da on sjeo i počeo crtati nešto. 99 00:04:36,030 --> 00:04:38,280 Uzeo je nekoliko mjerenja kako debljine 100 00:04:38,280 --> 00:04:41,270 i kako je njegova široka iPhone je, on je nacrtao ovu sliku ovdje, 101 00:04:41,270 --> 00:04:43,870 on je odlučio da je htio imati 75 stupnjeva nagib 102 00:04:43,870 --> 00:04:46,150 kao što je zurio u ga na stol tamo. 103 00:04:46,150 --> 00:04:50,440 Potom se okrenuo toga, korištenjem softver, u 3D CAD modela 104 00:04:50,440 --> 00:04:52,400 koji je izgledao malo nešto kao što je ovaj. 105 00:04:52,400 --> 00:04:55,940 A onda je nastavio, u konačnici, kako bi zapravo stvoriti. 106 00:04:55,940 --> 00:05:00,250 Dakle, u stvari, ako je itko od vas ovdje, možda u redu da ja mogu baciti, imaju 107 00:05:00,250 --> 00:05:06,780 an-- tamo imamo ljudi s iPhone 5, a ovdje imamo još dva. 108 00:05:06,780 --> 00:05:10,650 109 00:05:10,650 --> 00:05:17,037 >> Sad, nije da se preforsirali, CS50 vlastita Cheng Gong je također utvrđeno ovog ljeta 110 00:05:17,037 --> 00:05:19,870 izgraditi dosta stvari i, u stvari, iz razloga koji su još uvijek 111 00:05:19,870 --> 00:05:23,970 nejasno, je polako ispis vojsku slonova 112 00:05:23,970 --> 00:05:27,250 s artikuliraju rukama i gaće. 113 00:05:27,250 --> 00:05:32,515 Par koji su zapravo ovdje ako tko bi sada volimo-članovima slona. 114 00:05:32,515 --> 00:05:35,650 115 00:05:35,650 --> 00:05:40,522 U redu,. ali ono što je Cheng i učinio Za nas je on vrlo ljubazno postavili kameru 116 00:05:40,522 --> 00:05:42,230 zbog tog slona, Vjerovali ili ne, 117 00:05:42,230 --> 00:05:44,690 traje oko dva i pol sata za ispis. 118 00:05:44,690 --> 00:05:47,840 Čak iPhone stalak uzeo sat i pol za ispis. 119 00:05:47,840 --> 00:05:51,490 A što je Cheng otišao naprijed i učinio bio postavljen lijep kameru ispred 120 00:05:51,490 --> 00:05:55,580 ove 3D pisača, snimio za jedan sat i upola Ansel dizajn tiskane. 121 00:05:55,580 --> 00:05:58,090 Mi obložio neke seksi glazba za njega, kako bi 122 00:05:58,090 --> 00:06:00,570 da vam to tako da se kako 3D tiskare. 123 00:06:00,570 --> 00:06:02,494 I iako je to je zapravo u plastiku, 124 00:06:02,494 --> 00:06:05,160 shvatiti da, ako je to područje od interesa za vas akademski, 125 00:06:05,160 --> 00:06:07,120 postoje ljudi, među ih Jennifer Lewis ovdje 126 00:06:07,120 --> 00:06:09,036 u Školi Inženjering, koji su zapravo 127 00:06:09,036 --> 00:06:10,920 radi na 3D ispis od plastične predmete. 128 00:06:10,920 --> 00:06:14,150 No, čak i, sve više, biološki materijal riješiti 129 00:06:14,150 --> 00:06:16,530 fizioloških problema za ljude. 130 00:06:16,530 --> 00:06:19,944 No, ovdje je malo nešto od CS50. 131 00:06:19,944 --> 00:06:31,625 >> [GLASNO MEHANIČKE zvukove] 132 00:06:31,625 --> 00:06:34,250 DAVID J. Malan: To ne zvuči tako nešto u stvarnosti, 133 00:06:34,250 --> 00:06:37,240 ali to je puno hladnije da ga gledati na toj brzini, a uz taj zvuk. 134 00:06:37,240 --> 00:06:40,000 >> Sada, u srijedu, kako nije mi prvi put došli ovdje? 135 00:06:40,000 --> 00:06:43,345 Počeli smo razgovor o računalu Znanost i mi pitali što je to bilo. 136 00:06:43,345 --> 00:06:46,470 A riječ je o nizu stvari, a postoji toliko različitih smjerova 137 00:06:46,470 --> 00:06:48,477 u kojima možete krenuti nakon što je tečaj poput CS50. 138 00:06:48,477 --> 00:06:50,810 U stvari, ako ste pokupili jedan od onih neslužbenih vodiča 139 00:06:50,810 --> 00:06:54,080 CS izvana, knjižici koja smo pod uvjetom, da li ste 140 00:06:54,080 --> 00:06:57,150 mislili na uzimanje samo CS50, ili možda rade sekundarna, 141 00:06:57,150 --> 00:06:59,557 ili možda čak i koncentrirajući u CS, ne prođite kroz to. 142 00:06:59,557 --> 00:07:01,390 I vidjet ćete dijagram prema kraju da 143 00:07:01,390 --> 00:07:04,950 pokazuje da su mnoge različite smjerove u CS da možete otići u. 144 00:07:04,950 --> 00:07:09,030 >> No, za danas, mi ćemo se usredotočiti, opet, na stvarno jedan od temeljnih stavova, 145 00:07:09,030 --> 00:07:11,500 možda, u kojoj imate ulazi u probleme, 146 00:07:11,500 --> 00:07:13,430 imate izlaze iz problemi, a vi imate 147 00:07:13,430 --> 00:07:17,420 algoritme s kojima se stvaraju oni izlaze iz tih ulaza. 148 00:07:17,420 --> 00:07:20,330 A jedan takav primjer, bio je od Naravno, ovaj telefon je knjiga ovdje. 149 00:07:20,330 --> 00:07:24,180 I mi kao primjer otići algoritam koji je ispravan. 150 00:07:24,180 --> 00:07:26,490 I onda još jedan bio točna, ali malo brže. 151 00:07:26,490 --> 00:07:29,448 I onda još jedan koji je bio malo više dramatična, ali u osnovi 152 00:07:29,448 --> 00:07:30,000 brže. 153 00:07:30,000 --> 00:07:32,720 >> Dobro, to smo telefonski imenik tvrdio je imala oko 1.000 stranica. 154 00:07:32,720 --> 00:07:36,200 A koliko puta sam se do suza telefonski imenik na pola 155 00:07:36,200 --> 00:07:39,930 naći nekoga kao što je Mike Smith, maksimalno, u 1000 stranica knjige? 156 00:07:39,930 --> 00:07:41,040 Dakle, 10 dati ili uzeti. 157 00:07:41,040 --> 00:07:45,050 I tako sam jednom poderao ovu stvar u pola, ili jednostavno, više zrelo, 158 00:07:45,050 --> 00:07:48,490 podijeljen na pola, to je samo 10 stranica od ukupno 1.000. 159 00:07:48,490 --> 00:07:51,470 A ako zaključivati, malo nerealno za telefonski imenik, 160 00:07:51,470 --> 00:07:56,540 ali ako ovaj telefon knjiga imala oko 4 milijardu stranice u njemu, tako da u potpunosti 161 00:07:56,540 --> 00:07:59,680 nezgrapan fizički, koliko je puta ne podijelite 4000000000 162 00:07:59,680 --> 00:08:01,460 Stranica telefonski imenik na pola? 163 00:08:01,460 --> 00:08:03,035 Dakle, to je zapravo 32, dati ili uzeti. 164 00:08:03,035 --> 00:08:07,090 I tako 32 puta samo, iz od 4 milijarde stranica, mogu 165 00:08:07,090 --> 00:08:08,700 nađete nekoga poput Mikea Smitha. 166 00:08:08,700 --> 00:08:09,740 I to je učinkovitost. 167 00:08:09,740 --> 00:08:12,130 To je dobar algoritam, pretpostavljam. 168 00:08:12,130 --> 00:08:14,480 >> Ali onda smo se preselili iz toga pokušati ga formalizirati. 169 00:08:14,480 --> 00:08:16,100 I sam predložio ovu pseudocode kod. 170 00:08:16,100 --> 00:08:17,800 Pseudocode kod nije ništa formalno. 171 00:08:17,800 --> 00:08:18,880 To nije nešto što pamtiti. 172 00:08:18,880 --> 00:08:21,588 To je samo nešto što izražavaju prilično intuitivno korištenje engleskog jezika, 173 00:08:21,588 --> 00:08:24,990 ili bilo koji jezik stvarno, da prenosi svoje ideje jezgrovito. 174 00:08:24,990 --> 00:08:26,990 No, ono što je ključno o pseudocode kod je da vas 175 00:08:26,990 --> 00:08:30,331 pokušati predvidjeti sve mogući slučajevi koji bi mogli dogoditi. 176 00:08:30,331 --> 00:08:33,080 I doista, u ovom pseudocode broj, bilo je stvarno tri slučaja 177 00:08:33,080 --> 00:08:34,700 svaki put sam podijeliti telefonski imenik. 178 00:08:34,700 --> 00:08:36,006 Mike bi mogao biti na lijevoj strani. 179 00:08:36,006 --> 00:08:37,130 Mike bi mogao biti na desnoj strani. 180 00:08:37,130 --> 00:08:39,240 Ili bi mogao biti u pravu na stranici sam na. 181 00:08:39,240 --> 00:08:42,110 Ili četvrti kutak slučaj, da se tako izrazim. 182 00:08:42,110 --> 00:08:46,470 Loše scenarij mogao biti jedan which-- što se događa? 183 00:08:46,470 --> 00:08:48,860 Mike je samo ne u telefonski imenik na sve. 184 00:08:48,860 --> 00:08:52,720 >> A kada programi crash-- kada Mac i računalni program koji ti dečki pokrenuti 185 00:08:52,720 --> 00:08:56,400 na svojim računalima ponekad visi ili neočekivano, 186 00:08:56,400 --> 00:08:59,770 to obično znači da su neki programer, neki ljudski poput vas uskoro, 187 00:08:59,770 --> 00:09:01,650 Samo zeznuo i napravio neke pogreške. 188 00:09:01,650 --> 00:09:05,207 Možda nisu predvidjeli da možda postoji Ne Mike Smith je u telefonskom imeniku. 189 00:09:05,207 --> 00:09:08,040 A ako ne zapravo pisati Kod za rukovanje situacije kao što je to, 190 00:09:08,040 --> 00:09:09,890 uglavnom nepredvidljiv stvari mogu dogoditi. 191 00:09:09,890 --> 00:09:10,960 Uređaj može zamrznuti. 192 00:09:10,960 --> 00:09:11,730 To se može ponovno pokrenuti. 193 00:09:11,730 --> 00:09:12,889 Program se može zatvoriti. 194 00:09:12,889 --> 00:09:14,722 I tako sve ove gluposti koje ste svibanj 195 00:09:14,722 --> 00:09:18,030 naišli na stvarni Život samo pomoću računala, 196 00:09:18,030 --> 00:09:20,710 će sve više biti samo , objasnio je daleko od tog intuicije 197 00:09:20,710 --> 00:09:24,920 i to razumijevanje onoga što je zapravo događa ispod haube. 198 00:09:24,920 --> 00:09:27,329 >> Sada ćemo pokušati pogledati na više generalni problem. 199 00:09:27,329 --> 00:09:29,120 Umjesto da se sudjelovanje na ovakvom mjestu 200 00:09:29,120 --> 00:09:32,230 to, što bi bilo prilično spora napraviti jedan, dva, tri, četiri. 201 00:09:32,230 --> 00:09:34,070 Ili možda dva, četiri, šest, osam. 202 00:09:34,070 --> 00:09:36,080 Idemo se usredotočiti, umjesto toga, na Kako bismo mogli formalizirati 203 00:09:36,080 --> 00:09:39,400 Algoritam postupka po koje smo mogli uzeti pohađanje. 204 00:09:39,400 --> 00:09:42,290 I usput, počnimo primijeniti neke nomenklaturu 205 00:09:42,290 --> 00:09:47,130 koje ćemo koristiti danas, kada smo zapravo početi programiranje u jeziku. 206 00:09:47,130 --> 00:09:50,910 Dakle, dajem vam sada, četiri minute videa da smo stavili zajedno s našim prijateljima 207 00:09:50,910 --> 00:09:52,820 od TED organizacije. 208 00:09:52,820 --> 00:09:56,380 Čime smo dobili skriptu i su donijeli svoje animatore nositi, 209 00:09:56,380 --> 00:10:00,970 i zapravo stvorili 2D animacije što je algoritam. 210 00:10:00,970 --> 00:10:02,776 Ako smo mogli prigušiti svjetla. 211 00:10:02,776 --> 00:10:06,664 >> [Muziciranja] 212 00:10:06,664 --> 00:10:17,890 213 00:10:17,890 --> 00:10:19,140 Narator: Što je algoritam? 214 00:10:19,140 --> 00:10:21,620 U računalnoj znanosti, Algoritam je skup 215 00:10:21,620 --> 00:10:24,840 uputa rješavanja neki problem korak-po-korak. 216 00:10:24,840 --> 00:10:27,310 Tipično, algoritmi su izvodila računala, 217 00:10:27,310 --> 00:10:29,365 ali mi ljudi imaju algoritme kao dobro. 218 00:10:29,365 --> 00:10:31,240 Na primjer, kako bi idete o brojanja 219 00:10:31,240 --> 00:10:32,990 broj ljudi u sobi? 220 00:10:32,990 --> 00:10:36,840 Pa, ako ste poput mene, vjerojatno bih ukazuju na svaku osobu jednu po jednu 221 00:10:36,840 --> 00:10:38,370 i brojati od nule. 222 00:10:38,370 --> 00:10:41,200 Jedan, dva, tri, četiri, i tako dalje. 223 00:10:41,200 --> 00:10:42,410 Pa, to je algoritam. 224 00:10:42,410 --> 00:10:45,820 U stvari, pokušajmo ga je izraziti malo više formalno u pseudocode koda. 225 00:10:45,820 --> 00:10:48,940 Engleski-sintaksu kao da sliči programski jezik. 226 00:10:48,940 --> 00:10:50,880 >> Neka je n jednak 0. 227 00:10:50,880 --> 00:10:55,210 Za svaku osobu u sobi, postavljen n jednak n plus 1. 228 00:10:55,210 --> 00:10:56,790 Kako protumačiti pseudocode? 229 00:10:56,790 --> 00:10:59,490 Pa linija jedan izjavljuje, da se tako izrazim, varijablu 230 00:10:59,490 --> 00:11:02,880 zove n i inicijalizira njegova vrijednost na 0 to samo 231 00:11:02,880 --> 00:11:05,080 označava da se na početku našeg algoritma, 232 00:11:05,080 --> 00:11:07,910 stvar s kojom smo brojanje ima vrijednost 0. 233 00:11:07,910 --> 00:11:10,860 Uostalom, prije nego što počnemo brojati još nismo broje ništa. 234 00:11:10,860 --> 00:11:13,580 Pozivanje ovu varijablu n je samo konvencija. 235 00:11:13,580 --> 00:11:15,130 Mogao sam nazvao ga je većina ništa. 236 00:11:15,130 --> 00:11:17,460 Sada se postroje dva demarks početak petlje, 237 00:11:17,460 --> 00:11:20,550 slijed koraka koji će ponoviti neki broj puta. 238 00:11:20,550 --> 00:11:24,130 Dakle, u našem primjeru, korak smo uzimanje računa osobe u sobi. 239 00:11:24,130 --> 00:11:26,260 Ispod crte dva je linija tri koja opisuje 240 00:11:26,260 --> 00:11:28,400 točno kako ćemo ići o brojanju. 241 00:11:28,400 --> 00:11:31,720 Udubljenje podrazumijeva da to je linija tri da će se ponoviti. 242 00:11:31,720 --> 00:11:35,190 Tako je s pseudocode kod rekao je da je nakon starta na 0 243 00:11:35,190 --> 00:11:38,940 za svaku osobu u soba ćemo povećati n do 1. 244 00:11:38,940 --> 00:11:41,310 Sada je ovaj algoritam točno? 245 00:11:41,310 --> 00:11:42,820 Pa neka je lupati po njemu malo. 246 00:11:42,820 --> 00:11:45,520 >> Da li to raditi ako postoje dvoje ljudi u sobi? 247 00:11:45,520 --> 00:11:46,420 Da vidimo. 248 00:11:46,420 --> 00:11:48,500 U skladu jednom smo početne n 0. 249 00:11:48,500 --> 00:11:51,910 Za svaku od ove dvije osobe, Mi smo tada povećajte N 1. 250 00:11:51,910 --> 00:11:55,570 Tako je u prvom putovanju kroz petlje, ažuriramo n 0-1. 251 00:11:55,570 --> 00:11:59,320 Na drugom putovanju kroz koje Sve petlje, da ažurirati n od 1 do 2. 252 00:11:59,320 --> 00:12:02,850 I tako, po ovaj algoritam je na kraju, n je 2, koje 253 00:12:02,850 --> 00:12:04,950 doista odgovara broju ljudi u sobi. 254 00:12:04,950 --> 00:12:06,040 Do sada, tako dobro. 255 00:12:06,040 --> 00:12:07,870 >> Kako o kutu slučaju ipak? 256 00:12:07,870 --> 00:12:11,090 Pretpostavimo da postoje ljudi 0 u sobu-- osim mene, tko je 257 00:12:11,090 --> 00:12:12,420 radi prebrojavanja. 258 00:12:12,420 --> 00:12:15,380 U skladu jednom, ponovno smo inicijalizirati n 0. 259 00:12:15,380 --> 00:12:17,810 Ovaj put ipak, linija tri ne izvrši uopće 260 00:12:17,810 --> 00:12:19,610 budući da ne postoji osoba u sobi. 261 00:12:19,610 --> 00:12:23,540 I tako dalje n 0, koji doista odgovara broj ljudi u sobi. 262 00:12:23,540 --> 00:12:24,670 Prilično jednostavno, zar ne? 263 00:12:24,670 --> 00:12:27,880 No, računajući ljude jedan po jedan je prilično neučinkovit, također, zar ne? 264 00:12:27,880 --> 00:12:29,160 Sigurno možemo učiniti bolje. 265 00:12:29,160 --> 00:12:33,440 Zašto se ne računaju dvoje ljudi u isto vrijeme, Umjesto brojanja jedan, dva, tri, 266 00:12:33,440 --> 00:12:36,470 četiri, pet, šest, sedam, osam, i tako dalje. 267 00:12:36,470 --> 00:12:39,106 Zašto se ne računaju dva, četiri, šest, osam, i tako dalje? 268 00:12:39,106 --> 00:12:40,670 To čak zvuči brže. 269 00:12:40,670 --> 00:12:41,940 I to je sigurno. 270 00:12:41,940 --> 00:12:44,490 >> Idemo izraziti ovu optimizaciju u pseudocode koda. 271 00:12:44,490 --> 00:12:46,040 Neka je n jednak 0. 272 00:12:46,040 --> 00:12:50,760 Za svaki par ljudi u soba, postaviti n jednak n plus 2. 273 00:12:50,760 --> 00:12:52,360 Prilično jednostavna promjena, zar ne? 274 00:12:52,360 --> 00:12:56,560 Umjesto računati ljudima jednu po jednu, mi umjesto da ih brojati dva odjednom. 275 00:12:56,560 --> 00:12:59,240 Ovaj algoritam je, dakle, dva puta brže nego zadnji put. 276 00:12:59,240 --> 00:13:00,530 No, je li to točno? 277 00:13:00,530 --> 00:13:01,160 Da vidimo. 278 00:13:01,160 --> 00:13:03,580 Da li to raditi ako postoje dvoje ljudi u sobi? 279 00:13:03,580 --> 00:13:05,800 U skladu jednom, mi inicijalizirati n 0. 280 00:13:05,800 --> 00:13:09,160 Za taj jedan par ljudi, Mi smo tada povećajte N 2. 281 00:13:09,160 --> 00:13:11,910 I tako je ovaj algoritam kraj nje 2, koje 282 00:13:11,910 --> 00:13:13,910 doista odgovara broju ljudi u sobi. 283 00:13:13,910 --> 00:13:16,610 >> Pretpostavimo da su sljedeći nula ljudi u sobi. 284 00:13:16,610 --> 00:13:19,080 U skladu jednom smo početne n 0. 285 00:13:19,080 --> 00:13:21,260 Kao i prije, tri linije to sve ne izvrši 286 00:13:21,260 --> 00:13:25,270 jer ne postoje nikakvi para ljudi u sobi, i tako dalje n 0. 287 00:13:25,270 --> 00:13:27,840 Koji doista odgovara Broj ljudi u sobi. 288 00:13:27,840 --> 00:13:30,520 Ali što ako postoje Tri osobe u sobi? 289 00:13:30,520 --> 00:13:32,380 Kako se ovaj algoritam zbivati? 290 00:13:32,380 --> 00:13:35,710 Da vidimo, u skladu jednoj, smo početne n 0. 291 00:13:35,710 --> 00:13:39,140 Za par tih ljudi, Mi smo tada povećajte N 2. 292 00:13:39,140 --> 00:13:40,050 Ali što onda? 293 00:13:40,050 --> 00:13:42,340 Ne postoji niti jedna puna par ljudi u sobi, 294 00:13:42,340 --> 00:13:44,430 pa crta dvije više ne vrijedi. 295 00:13:44,430 --> 00:13:48,790 I tako do kraja ovog algoritma je, n je još 2 koja nije točna. 296 00:13:48,790 --> 00:13:52,070 Doista ovaj algoritam je rekao da biti u kolicima jer ima grešku. 297 00:13:52,070 --> 00:13:54,070 >> Idemo zadovoljština s nekim Novi pseudocode kod. 298 00:13:54,070 --> 00:13:56,110 Neka je n jednak 0. 299 00:13:56,110 --> 00:14:00,790 Za svaki par ljudi u soba, postavljen N jednak n plus 2. 300 00:14:00,790 --> 00:14:05,410 Ako jedna osoba ostaje pojedinačna, postavljen N jednak n plus 1. 301 00:14:05,410 --> 00:14:09,340 Kako bi riješio ovaj problem, mi smo uveden je u skladu četiri stanja, 302 00:14:09,340 --> 00:14:12,120 inače poznat kao grana, da samo izvršava 303 00:14:12,120 --> 00:14:14,890 ako postoji jedna osoba koju Ne mogu upariti s drugim. 304 00:14:14,890 --> 00:14:17,140 I tako sada, hoće li postoji jedna, ili tri, 305 00:14:17,140 --> 00:14:21,550 ili bilo koji neparan broj ljudi u sobi, Ovaj algoritam sada će ih brojati. 306 00:14:21,550 --> 00:14:22,810 Možemo još bolje? 307 00:14:22,810 --> 00:14:25,890 Pa, mogli bismo računati u trojkama, ili četiri, ili čak petero i više desetaka, 308 00:14:25,890 --> 00:14:29,390 ali dalje od toga, to će doći malo teško ukazati. 309 00:14:29,390 --> 00:14:32,900 >> Na kraju krajeva, bilo izvodila računala ili ljudi, 310 00:14:32,900 --> 00:14:34,870 algoritmi su samo skup uputa 311 00:14:34,870 --> 00:14:36,560 s kojima riješiti probleme. 312 00:14:36,560 --> 00:14:38,360 To su samo tri. 313 00:14:38,360 --> 00:14:41,860 Ono što je problem bi ti riješiti sa algoritmom? 314 00:14:41,860 --> 00:14:44,261 >> DAVID J. Malan: Pa namjerno, Vrlo jednostavan program, 315 00:14:44,261 --> 00:14:46,260 vrlo jednostavan algoritam za postizanje nešto 316 00:14:46,260 --> 00:14:48,280 vrlo jednostavna, računajući Broj ljudi u sobi. 317 00:14:48,280 --> 00:14:50,370 >> Ali neka se zafrkavati, osim Neki od predstavnika 318 00:14:50,370 --> 00:14:52,870 ima da se ovdje zapravo će biti korisna čak i kada 319 00:14:52,870 --> 00:14:54,880 provedbi najviše Kompleks softvera. 320 00:14:54,880 --> 00:14:58,060 Tako, primjerice, u toj prvoj liniji, imamo ono što mi zovemo varijablu, 321 00:14:58,060 --> 00:15:01,040 i iz algebre, ti si općenito poznato korištenje X i Y 322 00:15:01,040 --> 00:15:02,930 i Z ponekad, i tako dalje. 323 00:15:02,930 --> 00:15:05,770 Ali u programiranju, varijable i dalje, na kraju krajeva, 324 00:15:05,770 --> 00:15:06,680 vrlo slična. 325 00:15:06,680 --> 00:15:09,910 Ali to je možda jednostavnije razmišljati varijable kao samo posude. 326 00:15:09,910 --> 00:15:13,520 A, u stvari, to je neki broj bitova provodi se nekako u vaš tvrdi disk 327 00:15:13,520 --> 00:15:16,410 ili u memoriji računala, ali više o tome u budućnosti. 328 00:15:16,410 --> 00:15:17,670 To je samo kontejner. 329 00:15:17,670 --> 00:15:20,310 A ako vam nešto reći kao i neka je n jednak 0, 330 00:15:20,310 --> 00:15:24,310 Pa to je kao da zove ovu čašu Zdjela ovdje n, samo proizvoljna ime, 331 00:15:24,310 --> 00:15:26,230 i stavljajući ništa u njemu na početku. 332 00:15:26,230 --> 00:15:28,940 Tako je vrijednost tog Zdjela sada je nula. 333 00:15:28,940 --> 00:15:31,380 I naravno, ako vidim U slijedećem linije 334 00:15:31,380 --> 00:15:35,070 zapravo povećajte neki liniju broj, kao u ovom trećem liniji ovdje, 335 00:15:35,070 --> 00:15:39,857 za 1, to je kao da kažete ono što je sadašnja vrijednost n, to je 0, plus 1, 336 00:15:39,857 --> 00:15:41,690 stavite nešto poput ping pong loptice ovdje. 337 00:15:41,690 --> 00:15:45,140 Sada vrijednost toga varijabla je vrlo jednostavno 1. 338 00:15:45,140 --> 00:15:50,064 A ti bi mogao vrlo brzo zaključivati, ali sada je 2, sada je 3, i tako dalje. 339 00:15:50,064 --> 00:15:51,230 Dakle, to je sve što je varijabla. 340 00:15:51,230 --> 00:15:53,740 To je komad za pohranu zapravo pohraniti neke podatke. 341 00:15:53,740 --> 00:15:55,050 Za sada je ping pong loptica. 342 00:15:55,050 --> 00:15:55,883 Tu je broj. 343 00:15:55,883 --> 00:15:58,910 No, to bi moglo biti riječi u rječnik, kao što su pravopisni provjernik 344 00:15:58,910 --> 00:16:02,300 Sam aludirao na srijedu za jedan od prošlogodišnjih problema setovima. 345 00:16:02,300 --> 00:16:05,640 >> Sada još jedna ključna ideja, da na sličan način je prilično intuitivan bih tvrditi, 346 00:16:05,640 --> 00:16:06,690 da petlje. 347 00:16:06,690 --> 00:16:08,930 I petlje u procesu brojanja svima 348 00:16:08,930 --> 00:16:12,540 je, naravno, rade isto stvar opet i again-- ni jedan 349 00:16:12,540 --> 00:16:14,140 u isto vrijeme ili dva u isto vrijeme. 350 00:16:14,140 --> 00:16:17,690 A možete izraziti na engleskom jeziku, ili pseudocode kod, na razne načine, 351 00:16:17,690 --> 00:16:21,560 ali koristeći ovaj prijedlog "za" je vrlo čest način da radi. 352 00:16:21,560 --> 00:16:24,460 Za svaku osobu u sobi, to učiniti. 353 00:16:24,460 --> 00:16:25,350 Opet i iznova. 354 00:16:25,350 --> 00:16:27,700 A činjenica da je razvedena, linija tri, 355 00:16:27,700 --> 00:16:29,840 samo znači da je ono što ti si trebao učiniti 356 00:16:29,840 --> 00:16:33,490 je stvar koja je razvedena ispod crte dva sama. 357 00:16:33,490 --> 00:16:35,590 Samo ljudska konvencija, ali zajedničko jedno 358 00:16:35,590 --> 00:16:39,010 kao što ćemo vidjeti u stvarnom visokom Razina programskim jezicima. 359 00:16:39,010 --> 00:16:41,870 >> Sada malo zanimljivije je kada se u kutu slučaju. 360 00:16:41,870 --> 00:16:43,970 Na primjer, izvesti slučaj je bio kada je 361 00:16:43,970 --> 00:16:48,060 su tri osobe, ili pet, ili sedam, ili bilo koji neparan broj ljudi u sobi, 362 00:16:48,060 --> 00:16:51,630 jer da radi po dvoje kočnice na kraju, jer je idući 363 00:16:51,630 --> 00:16:54,265 propustiti nekoga, bilo na Vrlo početak ili kraj vrlo 364 00:16:54,265 --> 00:16:55,390 ovisno o tome kako to učiniti. 365 00:16:55,390 --> 00:16:59,800 I tako, sad, imam tu granu, ili stanje, ako jedna osoba ostaje, 366 00:16:59,800 --> 00:17:04,490 onda ići naprijed i nositi tu jednu Usamljeni osoba koja nije dobila 367 00:17:04,490 --> 00:17:05,690 u paru s nekim drugim. 368 00:17:05,690 --> 00:17:09,030 Dakle, to je ono što bismo nazvali stanje, ili grana. 369 00:17:09,030 --> 00:17:11,500 >> Sada pseudocode kod općenito se može 370 00:17:11,500 --> 00:17:13,730 napisao da se riješi bilo koji broj problema. 371 00:17:13,730 --> 00:17:16,490 I ono što sam mislio da bih učiniti ovdje je uzeti trenutak 372 00:17:16,490 --> 00:17:20,089 pozvati ćemo reći CS50-a Posjedujemo Rob Bowden na pozornici 373 00:17:20,089 --> 00:17:25,040 će se pridružiti dva volontera, koji nemaju pojma što ga čeka. 374 00:17:25,040 --> 00:17:26,890 Ruka siđe čim sam to rekao. 375 00:17:26,890 --> 00:17:28,700 Kako o vama na završava ovdje, dođi gore. 376 00:17:28,700 --> 00:17:33,040 A što je s dalje dalje, o tome kako način na leđima. 377 00:17:33,040 --> 00:17:35,200 Povratak red, dođi s rukama u zraku. 378 00:17:35,200 --> 00:17:36,475 Dobro, a kako se ti zoveš? 379 00:17:36,475 --> 00:17:36,960 >> ANITA: Anita. 380 00:17:36,960 --> 00:17:37,655 >> DAVID J. Malan: Anita. 381 00:17:37,655 --> 00:17:38,613 U redu, lijepo da zadovolji vas. 382 00:17:38,613 --> 00:17:41,010 Dopustite mi da vas upoznam s Rob Bowden. 383 00:17:41,010 --> 00:17:42,890 To je Anita. 384 00:17:42,890 --> 00:17:44,033 A što se ti zoveš? 385 00:17:44,033 --> 00:17:44,800 >> KIERSTEN: Kiersten 386 00:17:44,800 --> 00:17:46,020 >> DAVID J. Malan: Kiersten. 387 00:17:46,020 --> 00:17:49,790 Kiersten, dođi gore i susret Rob Bowden i Anita. 388 00:17:49,790 --> 00:17:51,036 Drago mi je. 389 00:17:51,036 --> 00:17:52,160 KIERSTEN: Drago mi. 390 00:17:52,160 --> 00:17:53,368 DAVID J. Malan: Dobro, Rob. 391 00:17:53,368 --> 00:17:54,650 ROB Bowden: Drago mi. 392 00:17:54,650 --> 00:17:55,566 DAVID J. Malan: Anita. 393 00:17:55,566 --> 00:17:56,520 KIERSTEN: Bok Anita. 394 00:17:56,520 --> 00:17:58,686 DAVID J. Malan: I tvoj nekoliko stotina kolege. 395 00:17:58,686 --> 00:18:02,490 Dakle, sad neka mi ići naprijed i povucite do puke ovdje program 396 00:18:02,490 --> 00:18:05,690 na Mac OS koji će me pustiti zapravo točkica neke bilješke dolje. 397 00:18:05,690 --> 00:18:09,570 A ako vi želite da se svaka položaj na jednoj od tih škola tamo, 398 00:18:09,570 --> 00:18:16,360 neka mi ići naprijed i počinje popis od pseudocode koda, ako hoćete. 399 00:18:16,360 --> 00:18:19,970 I ono što želim učiniti ovdje, u konačnici je tip za vas 400 00:18:19,970 --> 00:18:22,470 neke upute da naši gledatelji su zapravo 401 00:18:22,470 --> 00:18:23,569 će recitirati za nas. 402 00:18:23,569 --> 00:18:25,860 Dopustite mi ići naprijed i samo promijeniti u numerirani popis 403 00:18:25,860 --> 00:18:27,720 da odgovara onome što smo radili tamo gore. 404 00:18:27,720 --> 00:18:30,990 A ono što ću učiniti s vaša pomoć, je napisati program 405 00:18:30,990 --> 00:18:34,620 U pseudocode, čime ovi momci idu 406 00:18:34,620 --> 00:18:38,150 implementirati kikiriki maslac i kruh s marmeladom. 407 00:18:38,150 --> 00:18:40,880 Tako da je možda umjesan se nešto pokazati neke od vas 408 00:18:40,880 --> 00:18:44,560 Možda ste vidjeli na internetu za samo kratak dosadne trenutku. 409 00:18:44,560 --> 00:18:47,650 >> [MUSIC BUCKEWHEAT BOYS ", maslac od kikirikija  Mliječ VRIJEME "] 410 00:18:47,650 --> 00:19:08,119 411 00:19:08,119 --> 00:19:08,910 DAVID J. Malan: U redu. 412 00:19:08,910 --> 00:19:10,050 To je dovoljno da. 413 00:19:10,050 --> 00:19:12,690 Dakle, ovdje je u međuvremenu, moram Par Google naočale koje 414 00:19:12,690 --> 00:19:16,500 ćemo staviti na CS50 vlastitom Rob Bowden vidjeti svijet kroz oči. 415 00:19:16,500 --> 00:19:19,140 A mi ćemo se potruditi u poštom Proizvodnja zapravo tkati 416 00:19:19,140 --> 00:19:23,100 snimke onoga što Rob je vidio Sada, u ovom stvarnom predavanju 417 00:19:23,100 --> 00:19:26,420 Video s naša dva Volonteri pokraj njega. 418 00:19:26,420 --> 00:19:28,480 Dakle, ono što ću učiniti je, ja ću biti zapisničarka. 419 00:19:28,480 --> 00:19:31,849 Imamo cilj ovdje od zapravo pisanje programa 420 00:19:31,849 --> 00:19:34,640 s kojima bi, u konačnici, maslac od kikirikija i kruh s marmeladom, 421 00:19:34,640 --> 00:19:37,680 ali ova tri će se ponašati kao da su računala. 422 00:19:37,680 --> 00:19:40,638 I računala, na kraju dana, su zapravo prilično glupi uređaja. 423 00:19:40,638 --> 00:19:44,432 Oni su super brzo, ali mogu samo učiniti, doslovno, ono što su oni rekli. 424 00:19:44,432 --> 00:19:46,890 Vi ne možete samo reći da je kikiriki maslac i kruh s marmeladom. 425 00:19:46,890 --> 00:19:48,640 Morate ih program za to. 426 00:19:48,640 --> 00:19:51,420 Morate im reći s preciznošću što učiniti, 427 00:19:51,420 --> 00:19:54,400 manje stvari idu užasno i, nadamo se, zabavno naopako. 428 00:19:54,400 --> 00:19:57,460 >> Dakle, s tim je rekao, moramo jedan poziv iz publike 429 00:19:57,460 --> 00:19:59,440 za što bi korak jedan će, ako je cilj ovdje 430 00:19:59,440 --> 00:20:01,356 je napraviti kikiriki maslac i kruh s marmeladom. 431 00:20:01,356 --> 00:20:01,910 Da? 432 00:20:01,910 --> 00:20:03,647 >> PUBLIKA: [nečujan] vrećicu kruha. 433 00:20:03,647 --> 00:20:05,230 DAVID J. Malan: Otvorite vrećicu kruha. 434 00:20:05,230 --> 00:20:08,360 Dakle, ako su tri natjecatelja bi željeli nastaviti raditi to doslovno. 435 00:20:08,360 --> 00:20:12,394 Otvorite vrećicu kruha. 436 00:20:12,394 --> 00:20:15,810 >> [PUBLIKA Smijeh] 437 00:20:15,810 --> 00:20:20,717 438 00:20:20,717 --> 00:20:22,300 DAVID J. Malan: Tako ćemo raditi na tome. 439 00:20:22,300 --> 00:20:23,180 U redu. 440 00:20:23,180 --> 00:20:25,400 Dakle, drugi korak, how-- uzmimo ovo dalje. 441 00:20:25,400 --> 00:20:26,480 Da, u prednjem. 442 00:20:26,480 --> 00:20:27,240 >> PUBLIKA: [nečujan] kruh. 443 00:20:27,240 --> 00:20:27,735 >> DAVID J. Malan: Što je to? 444 00:20:27,735 --> 00:20:28,836 >> PUBLIKA: Izvadite kruh. 445 00:20:28,836 --> 00:20:30,210 DAVID J. Malan: Izvadite kruh. 446 00:20:30,210 --> 00:20:31,190 Isto tako kratak. 447 00:20:31,190 --> 00:20:33,667 Hvala vam. 448 00:20:33,667 --> 00:20:43,777 >> [Pljesak] 449 00:20:43,777 --> 00:20:44,860 DAVID J. Malan: To je to? 450 00:20:44,860 --> 00:20:48,830 U redu, tako da drugi korak ide da izvadite kruh. 451 00:20:48,830 --> 00:20:51,790 Dobro, netko želi napišite nam duži kaznu? 452 00:20:51,790 --> 00:20:52,640 Netko drugi? 453 00:20:52,640 --> 00:20:53,920 Malo više [nečujan]. 454 00:20:53,920 --> 00:20:54,810 Ne, ništa ne sada. 455 00:20:54,810 --> 00:20:56,094 Da? 456 00:20:56,094 --> 00:20:58,900 >> PUBLIKA: Mjesto dva kriške jedni pored drugih. 457 00:20:58,900 --> 00:21:03,575 >> DAVID J. Malan: Mjesto dvoje kriške jedni pored drugih. 458 00:21:03,575 --> 00:21:06,420 >> [PUBLIKA Smijeh] 459 00:21:06,420 --> 00:21:09,590 >> DAVID J. Malan: Mjesto dvoje kriške jedni pored drugih. 460 00:21:09,590 --> 00:21:11,334 Četvrti korak. 461 00:21:11,334 --> 00:21:12,816 Da? 462 00:21:12,816 --> 00:21:14,792 >> PUBLIKA: uzmite ruke i postavite ga lagano 463 00:21:14,792 --> 00:21:17,756 na vrhu poklopca kikiriki maslac. 464 00:21:17,756 --> 00:21:19,710 >> [PUBLIKA Smijeh] 465 00:21:19,710 --> 00:21:21,710 PUBLIKA: [nečujan] uz maslac od kikirikija. 466 00:21:21,710 --> 00:21:21,870 DAVID J. Malan: Što? 467 00:21:21,870 --> 00:21:22,520 Opet reći. 468 00:21:22,520 --> 00:21:26,308 >> PUBLIKA: Odvijte poklopac i staviti nježno uz maslac od kikirikija. 469 00:21:26,308 --> 00:21:31,490 >> DAVID J. Malan: Stavite ga nježno uz maslac od kikirikija. 470 00:21:31,490 --> 00:21:37,770 471 00:21:37,770 --> 00:21:40,090 U redu, napredak. 472 00:21:40,090 --> 00:21:41,080 Korak pet. 473 00:21:41,080 --> 00:21:42,380 Izvrsno. 474 00:21:42,380 --> 00:21:43,261 Da? 475 00:21:43,261 --> 00:21:44,163 >> Pick up nož. 476 00:21:44,163 --> 00:21:46,380 477 00:21:46,380 --> 00:21:47,630 DAVID J. Malan: Pick up nož. 478 00:21:47,630 --> 00:21:52,320 479 00:21:52,320 --> 00:21:53,631 U redu, korakom. 480 00:21:53,631 --> 00:21:54,130 Da? 481 00:21:54,130 --> 00:21:56,237 >> PUBLIKA: Držite nož za ručku. 482 00:21:56,237 --> 00:21:57,945 DAVID J. Malan: Držite Nož za ručku. 483 00:21:57,945 --> 00:22:00,710 484 00:22:00,710 --> 00:22:03,230 Držite nož za ručku. 485 00:22:03,230 --> 00:22:04,880 Korak sedam. 486 00:22:04,880 --> 00:22:05,692 Da? 487 00:22:05,692 --> 00:22:10,030 >> PUBLIKA: [nečujan] nož u kikirikiju maslac i onoliko malo izvan [nečujan]. 488 00:22:10,030 --> 00:22:13,070 >> DAVID J. Malan: Stavi nož in-- I. Čuo "stavio nož u maslac od kikirikija 489 00:22:13,070 --> 00:22:19,500 i uzeti samo kao moguće. " 490 00:22:19,500 --> 00:22:22,480 Usput, uklonite papir na prvom mjestu. 491 00:22:22,480 --> 00:22:29,320 492 00:22:29,320 --> 00:22:31,890 U redu, korak devet. 493 00:22:31,890 --> 00:22:34,910 Korak devet. 494 00:22:34,910 --> 00:22:35,624 Korak devet. 495 00:22:35,624 --> 00:22:37,290 Nismo zapravo napravio sendvič još. 496 00:22:37,290 --> 00:22:37,790 Da? 497 00:22:37,790 --> 00:22:41,570 PUBLIKA: Korištenje nož u maslac od kikirikija, primjenjuju se maslac od kikirikija na spomenutom kruha. 498 00:22:41,570 --> 00:22:47,440 >> DAVID J. Malan: Korištenje nož u maslac od kikirikija, primjenjuju se maslac od kikirikija na 499 00:22:47,440 --> 00:22:48,736 rekao je kruh. 500 00:22:48,736 --> 00:22:56,030 >> [PUBLIKA Smijeh] 501 00:22:56,030 --> 00:22:59,480 DAVID J. Malan: Dobro korak 10. 502 00:22:59,480 --> 00:23:01,762 Korak 10. 503 00:23:01,762 --> 00:23:02,750 Da? 504 00:23:02,750 --> 00:23:05,220 >> PUBLIKA: Okus kikirikija maslac kako bi se osigurala kvaliteta. 505 00:23:05,220 --> 00:23:15,960 >> [PUBLIKA Smijeh] 506 00:23:15,960 --> 00:23:16,960 DAVID J. Malan: Korak 11. 507 00:23:16,960 --> 00:23:19,500 508 00:23:19,500 --> 00:23:21,340 Korak 11. 509 00:23:21,340 --> 00:23:22,101 Korak 11. 510 00:23:22,101 --> 00:23:22,600 Hajde. 511 00:23:22,600 --> 00:23:23,099 Da? 512 00:23:23,099 --> 00:23:24,208 Upravo tamo. 513 00:23:24,208 --> 00:23:25,840 >> PUBLIKA: Pažljivo pokupiti mliječi. 514 00:23:25,840 --> 00:23:28,220 >> DAVID J. Malan: Pažljivo pokupiti mliječi. 515 00:23:28,220 --> 00:23:29,970 U redu, a zatim još jedna ruka bila gore. 516 00:23:29,970 --> 00:23:32,812 517 00:23:32,812 --> 00:23:33,520 Odmah iza tebe. 518 00:23:33,520 --> 00:23:35,761 Da, u plavo. 519 00:23:35,761 --> 00:23:40,671 >> PUBLIKA: U redu, izvadite Poklopac od [nečujan], da, 520 00:23:40,671 --> 00:23:42,635 uklonite poklopac od mliječi. 521 00:23:42,635 --> 00:23:43,617 >> [PUBLIKA Smijeh] 522 00:23:43,617 --> 00:23:44,742 >> DAVID J. Malan: Od mliječi. 523 00:23:44,742 --> 00:23:45,581 Ha ha. 524 00:23:45,581 --> 00:23:48,967 >> [PUBLIKA Smijeh] 525 00:23:48,967 --> 00:23:49,800 DAVID J. Malan: I? 526 00:23:49,800 --> 00:23:52,490 PUBLIKA: I jedva pomesti bilo [nečujan]. 527 00:23:52,490 --> 00:23:59,536 [PUBLIKA Smijeh] 528 00:23:59,536 --> 00:24:04,456 PUBLIKA: Naravno, prije nego što [nečujan], Izvadite papir iz mliječi. 529 00:24:04,456 --> 00:24:06,940 DAVID J. Malan: Uklonite papir iz mliječi. 530 00:24:06,940 --> 00:24:08,229 Korak 14. 531 00:24:08,229 --> 00:24:09,020 Skoro smo stigli. 532 00:24:09,020 --> 00:24:09,857 Da? 533 00:24:09,857 --> 00:24:12,600 >> PUBLIKA: Sve osim mliječi boca prije nego što se sve ispadne. 534 00:24:12,600 --> 00:24:16,515 >> DAVID J. Malan: Sve osim mliječi Bočica prije mliječi ispadne. 535 00:24:16,515 --> 00:24:19,070 536 00:24:19,070 --> 00:24:19,890 Korak 15. 537 00:24:19,890 --> 00:24:21,130 >> PUBLIKA: Vratite poklopac. 538 00:24:21,130 --> 00:24:22,463 >> DAVID J. Malan: Vratite kapicu. 539 00:24:22,463 --> 00:24:25,880 540 00:24:25,880 --> 00:24:28,190 Korak 16. 541 00:24:28,190 --> 00:24:28,931 Da? 542 00:24:28,931 --> 00:24:29,806 >> PUBLIKA: [nečujan] 543 00:24:29,806 --> 00:24:34,109 544 00:24:34,109 --> 00:24:35,400 DAVID J. Malan: opet reći. 545 00:24:35,400 --> 00:24:38,100 PUBLIKA: Uzmi kapu vašeg mliječi. 546 00:24:38,100 --> 00:24:39,650 DAVID J. Malan: Off vašem mliječi. 547 00:24:39,650 --> 00:24:43,720 548 00:24:43,720 --> 00:24:49,510 Dakle really-- Ups. 549 00:24:49,510 --> 00:24:50,420 Hajde. 550 00:24:50,420 --> 00:24:51,740 Vratite poklopac. 551 00:24:51,740 --> 00:24:56,660 Stavite cap-- Rekli ste uklonite kapu od mliječi. 552 00:24:56,660 --> 00:24:58,950 Osjećam se kao da smo u malo petlje. 553 00:24:58,950 --> 00:24:59,640 Korak 17. 554 00:24:59,640 --> 00:25:00,398 Da? 555 00:25:00,398 --> 00:25:02,639 >> PUBLIKA: [nečujan] 556 00:25:02,639 --> 00:25:03,930 DAVID J. Malan: opet reći. 557 00:25:03,930 --> 00:25:05,150 PUBLIKA: [nečujan] 558 00:25:05,150 --> 00:25:07,835 DAVID J. Malan: Vratite se step-- 559 00:25:07,835 --> 00:25:10,110 PUBLIKA: [nečujan] 560 00:25:10,110 --> 00:25:13,760 DAVID J. Malan: Uklonite kapa od kikiriki maslac. 561 00:25:13,760 --> 00:25:14,492 Da? 562 00:25:14,492 --> 00:25:16,430 >> PUBLIKA: Baci sve mliječi na kruh. 563 00:25:16,430 --> 00:25:19,040 >> DAVID J. Malan: Baci sve mliječi na kruh. 564 00:25:19,040 --> 00:25:25,372 565 00:25:25,372 --> 00:25:26,830 DAVID J. Malan: Blizu smo. 566 00:25:26,830 --> 00:25:27,800 Korak 19. 567 00:25:27,800 --> 00:25:30,250 >> PUBLIKA: Uklonite višak mliječi. 568 00:25:30,250 --> 00:25:31,720 >> DAVID J. Malan: Haha, mliječ. 569 00:25:31,720 --> 00:25:36,615 >> [Pljesak] 570 00:25:36,615 --> 00:25:39,240 DAVID J. Malan: Zašto ne we-- još jedan korak da se ovaj dom. 571 00:25:39,240 --> 00:25:41,720 Još jedan korak, a zatim ćemo poslužiti sendviče. 572 00:25:41,720 --> 00:25:42,900 Da? 573 00:25:42,900 --> 00:25:45,570 >> PUBLIKA: [nečujan] 574 00:25:45,570 --> 00:25:50,704 >> DAVID J. Malan: Dok je bilo sendvič remains-- neka je alineje ovo-- jesti. 575 00:25:50,704 --> 00:25:56,400 >> [PUBLIKA Smijeh] 576 00:25:56,400 --> 00:26:00,395 >> DAVID J. Malan: U redu, hvala da naši volonteri ovdje. 577 00:26:00,395 --> 00:26:06,150 >> [Pljesak} 578 00:26:06,150 --> 00:26:08,940 >> DAVID J. Malan: Imamo neke lijepe rastanak darove za svakoga od vas. 579 00:26:08,940 --> 00:26:14,350 Vaš vlastiti kikiriki maslac, želea, i kruh vratiti kući. 580 00:26:14,350 --> 00:26:15,774 Hvala vam. 581 00:26:15,774 --> 00:26:17,118 >> KIERSTEN: Hvala vam. 582 00:26:17,118 --> 00:26:18,618 DAVID J. Malan: [nečujan] dobrodošli. 583 00:26:18,618 --> 00:26:21,849 [Pljesak] 584 00:26:21,849 --> 00:26:24,390 DAVID J. Malan: Dakle, to je, Naravno, smiješno je primjer. 585 00:26:24,390 --> 00:26:24,890 Zar ne? 586 00:26:24,890 --> 00:26:28,890 No, to ne vrsta otkrivaju kako smo ljudi samo uzeti jasnoću zdravo za gotovo. 587 00:26:28,890 --> 00:26:30,890 I činjenica da sam bio u razgovoru s drugog čovjeka, 588 00:26:30,890 --> 00:26:33,300 on ili ona jednostavno zna što misliš. 589 00:26:33,300 --> 00:26:35,220 >> Računala ne ide znati što misliš, 590 00:26:35,220 --> 00:26:37,430 čak i kada se koristi, kao što je smo o tome kako bi to danas, 591 00:26:37,430 --> 00:26:42,300 programiranje nešto u Scratch, povucite i pad, zagonetka komad stil jezik. 592 00:26:42,300 --> 00:26:44,310 Čak dizajniran za mlade Djeca, imate 593 00:26:44,310 --> 00:26:48,726 da će biti tako eksplicitno i tako doslovna s ono što želite da vaš program za napraviti. 594 00:26:48,726 --> 00:26:50,600 Sada konačno, da smo će biti programiranje 595 00:26:50,600 --> 00:26:53,550 Ne u pseudocode koda, Engleski kao sintakse, 596 00:26:53,550 --> 00:26:56,370 ali kod ili, točnije, izvorni kod. 597 00:26:56,370 --> 00:26:59,260 Izvorni kod je samo fancy način za opisivanje kod vas zapravo 598 00:26:59,260 --> 00:27:01,730 pisati s tipkovnicom koja je Nije na engleskom po sebi. 599 00:27:01,730 --> 00:27:06,480 To je u C ili Java ili C ++ ili nešto kao što je to, kao što ćemo uskoro vidjeti. 600 00:27:06,480 --> 00:27:09,510 >> A u stvari, samo da se uplašiti neke od vas, na prvi pogled, 601 00:27:09,510 --> 00:27:13,769 ovo je program napisan u jeziku nazvao C. No, da biste poništili panika malo tko od vas, 602 00:27:13,769 --> 00:27:15,560 što će u potpunosti razumiju što se događa 603 00:27:15,560 --> 00:27:18,980 na dolaze sljedeći ponedjeljak kada ga u pitanju nešto poput ovoga. 604 00:27:18,980 --> 00:27:20,510 Iskreno, ovo je starija jezik. 605 00:27:20,510 --> 00:27:22,430 To je prilično kompliciranih, ali to je predstavnik 606 00:27:22,430 --> 00:27:26,120 od puno jezika ovih dana da imaju puno zagradi i kovrčava 607 00:27:26,120 --> 00:27:28,630 aparatić i navodnike i zarezom. 608 00:27:28,630 --> 00:27:30,780 I puno toga sintaktička stvari koje se ne 609 00:27:30,780 --> 00:27:32,450 uopće intelektualno zanimljiv. 610 00:27:32,450 --> 00:27:35,790 Doista, to je totalna distrakcija od vrlo jednostavnih ideja 611 00:27:35,790 --> 00:27:37,370 koji su nas gleda u lice. 612 00:27:37,370 --> 00:27:41,760 Ovaj program, kao što ste mogli samo nagađati, ispisuje na nečijem zaslonu računala 613 00:27:41,760 --> 00:27:44,070 riječi: "Zdravo zarez svijet." 614 00:27:44,070 --> 00:27:44,860 To je sve. 615 00:27:44,860 --> 00:27:46,580 Pa jasno, postoji puno stvari koje je 616 00:27:46,580 --> 00:27:48,970 uzimajući u načinu Neki očiglednost postoji, 617 00:27:48,970 --> 00:27:52,490 ali to će se vrlo brzo klizanje daleko i biti potpuno intuitivno. 618 00:27:52,490 --> 00:27:55,617 >> Doista, što ćemo učiniti Danas je destilirati to prilično složena 619 00:27:55,617 --> 00:27:58,950 u potrazi programa, što opet ćeš doći razumjeti brzo, ali za nešto 620 00:27:58,950 --> 00:27:59,710 mnogo jednostavnije. 621 00:27:59,710 --> 00:28:01,640 Recimo samo da što mislimo. 622 00:28:01,640 --> 00:28:05,590 Idemo nacrtati sliku o tome što mislimo, putem ove slagalice ovdje. 623 00:28:05,590 --> 00:28:09,110 >> Dakle, ovo je za programiranje jezik poznat kao nule. 624 00:28:09,110 --> 00:28:11,080 To je bio razvijen od strane MIT Media Laba. 625 00:28:11,080 --> 00:28:14,830 A što ćete vidjeti u problemu postaviti na nulu, koji će biti objavljeni kasnije večeras, 626 00:28:14,830 --> 00:28:18,980 morat ćemo ići na to URL ovdje scratch.mit.edu. 627 00:28:18,980 --> 00:28:20,940 I oni imaju web sučelje preko kojega 628 00:28:20,940 --> 00:28:22,540 što će napisati svoj prvi program. 629 00:28:22,540 --> 00:28:25,330 Ili one koji su prije iskustvo, drugi programi, 630 00:28:25,330 --> 00:28:28,090 ali u okruženju koje je Vjerojatno nešto nepoznato i da 631 00:28:28,090 --> 00:28:32,930 će vas gurnuti stvoriti nešto Korištenjem ove vrlo vizualno okruženje. 632 00:28:32,930 --> 00:28:35,940 >> Sada, ono što ću učiniti ovdje je otvoren do samog programa. 633 00:28:35,940 --> 00:28:41,911 Ona postoji ne samo kao web-pregledniku, ali i kao download programa 634 00:28:41,911 --> 00:28:44,660 tako da zapravo možete ga koristiti Ako nemate pristup internetu. 635 00:28:44,660 --> 00:28:46,743 I ja ću to učiniti Ovdje, u Sandersa, samo 636 00:28:46,743 --> 00:28:49,580 U slučaju da Wi-Fi ne surađuju super dobro. 637 00:28:49,580 --> 00:28:52,640 A ono što ću učiniti je točka iz nekoliko značajki ovog programa. 638 00:28:52,640 --> 00:28:55,720 Dakle, da bude jasno, ja imam samo dvaput kliknuli na ikonu na mom desktopu, 639 00:28:55,720 --> 00:28:59,830 ili ekvivalentno otišao u scratch.mit.edu, i to je izvukao ovaj prozor. 640 00:28:59,830 --> 00:29:01,650 To je programsko okruženje. 641 00:29:01,650 --> 00:29:04,110 To je komad softvera koji Neki od naših prijatelja na MIT-u 642 00:29:04,110 --> 00:29:08,850 napisao da neka nas i pišete Programi u jeziku zove nule. 643 00:29:08,850 --> 00:29:12,010 >> Sada se to dogodi da se mačka koji je također nazvan Scratch 644 00:29:12,010 --> 00:29:13,890 i to je njegov svijet u kojem živi. 645 00:29:13,890 --> 00:29:17,175 To je faza, da se tako izrazim, da pravokutnik na gornjem lijevom kutu. 646 00:29:17,175 --> 00:29:18,800 A on ne mora izgledati kao mačka. 647 00:29:18,800 --> 00:29:20,591 Možete ga pogledati kao i bilo što i vama 648 00:29:20,591 --> 00:29:23,700 može imati više takvih sprites, ili likovi, u programu. 649 00:29:23,700 --> 00:29:27,450 U međuvremenu, ovdje na daleko Dobro, je velika prazna ploča. 650 00:29:27,450 --> 00:29:30,260 I ovo je mjesto gdje, u ovom trenutku, ćemo početi programiranje 651 00:29:30,260 --> 00:29:32,750 povlačenjem i ispuštanjem to grafičko zagonetka 652 00:29:32,750 --> 00:29:35,300 komadi koji su pravo ovdje u sredini. 653 00:29:35,300 --> 00:29:38,140 I tu je daleko više od njih ne ćemo provesti vrijeme ovdje u razredu 654 00:29:38,140 --> 00:29:40,080 jer vidjet ćete da oni su svi prilično intuitivan. 655 00:29:40,080 --> 00:29:41,788 Opet, to je dizajniran za djecu, ali mi 656 00:29:41,788 --> 00:29:45,759 koristite ga zafrkavati, osim nekih od onih temeljne ideje varijable, petlje, 657 00:29:45,759 --> 00:29:48,050 uvjetima, i, uskoro, stvari kao funkcija i događanja 658 00:29:48,050 --> 00:29:51,810 te teme i druge ukrasni stvari ćemo doći do prije dugo da se zapravo stvoriti 659 00:29:51,810 --> 00:29:53,840 nešto od nule. 660 00:29:53,840 --> 00:29:54,810 Dosjetka namijenjen. 661 00:29:54,810 --> 00:29:58,740 >> Sada, ono što ću učiniti je ovdje kliknite na nije gibanje, ali kontrolu. 662 00:29:58,740 --> 00:30:01,400 A to je samo kategorizacija ovdje-- 663 00:30:01,400 --> 00:30:03,150 i vidim drugačije Boja skup blokova. 664 00:30:03,150 --> 00:30:05,030 Ali primijetiti nekoliko poznatih riječi. 665 00:30:05,030 --> 00:30:07,830 "Ako" i "if" i "repeat". 666 00:30:07,830 --> 00:30:10,440 A što vjerojatno možete pogoditi to podsjeća na grani, 667 00:30:10,440 --> 00:30:12,870 ili uvjeti smo vidjeli, i čak petlje konstrukt. 668 00:30:12,870 --> 00:30:14,760 Dakle, imamo slične blokova ovdje. 669 00:30:14,760 --> 00:30:16,720 No, najzanimljiviji jedan je ovaj ovdje. 670 00:30:16,720 --> 00:30:20,690 Kada je ova zelena zastava se klikne, to, za one s prethodnog programiranja 671 00:30:20,690 --> 00:30:23,110 iskustvo, je ekvivalent na glavnu funkciju. 672 00:30:23,110 --> 00:30:25,300 No, za one koji nisu upoznati, ovo je zagonetka komad 673 00:30:25,300 --> 00:30:27,320 koji će započeti započeti naš cijeli program. 674 00:30:27,320 --> 00:30:31,350 To doslovno znači kad idem, u ovom Program i kliknite na zelenu flag-- 675 00:30:31,350 --> 00:30:35,560 koje možete pogledati ovdje u gornjem lijevom kutu od UI, 676 00:30:35,560 --> 00:30:38,570 pa pogledajte zelenu zastavu pored crvene znak stop? 677 00:30:38,570 --> 00:30:41,475 Kad kliknem da, moj Program će se izvoditi. 678 00:30:41,475 --> 00:30:43,850 Sada, ja ću učiniti nešto Super jednostavan s nule. 679 00:30:43,850 --> 00:30:46,640 Ja ću ići naprijed i otići do izgleda ploči 680 00:30:46,640 --> 00:30:50,010 Ovdje, gdje imam hrpu purpurnih slagalice, 681 00:30:50,010 --> 00:30:53,887 i ja ću ići naprijed i učiniti nešto super jednostavno poput, recimo. 682 00:30:53,887 --> 00:30:55,720 I then-- primijetiti Tekst u bijelom okviru 683 00:30:55,720 --> 00:30:59,290 je editable-- ću reći "Pozdrav svijetu", baš mi se sviđa 684 00:30:59,290 --> 00:31:01,470 učinio u tom tekstualnom Verzija trenutak prije. 685 00:31:01,470 --> 00:31:05,920 I sad ako odem i kliknite na to Zelena zastava, sada su programirani. 686 00:31:05,920 --> 00:31:07,810 To nije osobito zanimljiv program, 687 00:31:07,810 --> 00:31:09,760 ali sam napravio računalo učiniti nešto. 688 00:31:09,760 --> 00:31:13,120 Počela sam program i to učinio ono što sam rekla to učiniti. 689 00:31:13,120 --> 00:31:16,170 Sada, ja mogu nastaviti povlačiti i ispuštati sve više i više tih slagalice 690 00:31:16,170 --> 00:31:19,220 i oni će blokada, ali ajmo slap neke terminologije ovdje 691 00:31:19,220 --> 00:31:21,680 kako ćemo vidjeti ponavljajući tijekom tečaja, 692 00:31:21,680 --> 00:31:24,610 i stvarno cijeloj informatike i programiranja općenito. 693 00:31:24,610 --> 00:31:27,990 >> Ovo "kažu" blok, u grimiz, ajmo samo početi zvati izjavu. 694 00:31:27,990 --> 00:31:29,240 To je poput izjave o tome. 695 00:31:29,240 --> 00:31:30,380 Učinite to. 696 00:31:30,380 --> 00:31:32,590 Dakle, to je kategorija upute koje vas 697 00:31:32,590 --> 00:31:36,760 mogla hraniti računalo kao dio programa ili algoritam. 698 00:31:36,760 --> 00:31:39,270 I da bude jasno, da ste vjerojatno uzeti zdravo za gotovo 699 00:31:39,270 --> 00:31:41,930 da imate program na vašem računalu. 700 00:31:41,930 --> 00:31:45,850 I oni su neka vrsta algoritama, ali Program je stvarno hrpa algoritama 701 00:31:45,850 --> 00:31:47,160 da su neki ljudi pisali. 702 00:31:47,160 --> 00:31:49,040 Oni ga pakiraju i su ga prodali pa vas, 703 00:31:49,040 --> 00:31:51,330 ili su objavljena na web stranici za preuzimanje. 704 00:31:51,330 --> 00:31:54,930 Dakle, program je samo cijela hrpa nula i jedinica 705 00:31:54,930 --> 00:31:56,970 da je, na neki način, ljudi stvorili. 706 00:31:56,970 --> 00:32:00,080 A ti obrasci nula i one predstavljaju stvari, u konačnici, 707 00:32:00,080 --> 00:32:04,030 poput "pozdraviti svijet" ili "play ta glazba "ili" igrati ovaj video " 708 00:32:04,030 --> 00:32:05,129 ili "poslati e-mail." 709 00:32:05,129 --> 00:32:06,920 No, mi ćemo se vratiti u način više detalja što 710 00:32:06,920 --> 00:32:08,780 Program je kada, sebi, napišite ih. 711 00:32:08,780 --> 00:32:11,320 >> Evo još statement-- "Čekaj jednu sekundu." 712 00:32:11,320 --> 00:32:14,330 Nisam koristiti ovaj još, ali ako želim moj program za pauzu 713 00:32:14,330 --> 00:32:16,540 nešto učiniti, ja mogu reći da to učinite. 714 00:32:16,540 --> 00:32:18,450 Čekaj jednu sekundu. 715 00:32:18,450 --> 00:32:20,150 Sada još moglo biti "igrati zvuk." 716 00:32:20,150 --> 00:32:23,270 Dakle, ovo je jedinstven na očekivanoj razini, to ima sposobnost da se igra zvukove. 717 00:32:23,270 --> 00:32:26,130 Dakle, tvrdnja smijem Uporaba je, ovdje, "igrati zvuk." 718 00:32:26,130 --> 00:32:29,530 U međuvremenu, logički izraz, pa to je ljubitelj riječi 719 00:32:29,530 --> 00:32:34,490 nazvana po samo čovjek po imenu Mr. Bool, i to je sve o tome pitanju. 720 00:32:34,490 --> 00:32:37,470 Točno ili false-- je miš prema dolje? 721 00:32:37,470 --> 00:32:41,100 Logički izraz je samo neki izraz na engleskom jeziku 722 00:32:41,100 --> 00:32:42,860 to je bilo istinito ili lažno. 723 00:32:42,860 --> 00:32:44,140 Ili on ili off. 724 00:32:44,140 --> 00:32:45,130 Ili jedan ili nula. 725 00:32:45,130 --> 00:32:46,960 Možete misliti na njega bilo koji broj načina, 726 00:32:46,960 --> 00:32:49,220 ali to je bilo istinito ili to lažna, u konačnici. 727 00:32:49,220 --> 00:32:52,540 Dakle, "miš dolje upitnik" to bi bilo logički izraz. 728 00:32:52,540 --> 00:32:54,300 A možete misliti na druge, možda. 729 00:32:54,300 --> 00:32:57,510 Na primjer, "lijevo je broj manji od točnog broja? " 730 00:32:57,510 --> 00:32:59,410 To je, također, bio bi logički izraz. 731 00:32:59,410 --> 00:33:01,540 "Manje od" je logički izraz. 732 00:33:01,540 --> 00:33:03,280 >> To je jedan, također, "dirljivo pokazivač miša." 733 00:33:03,280 --> 00:33:05,196 Nisam siguran zašto nazvao ga pokazivač miša. 734 00:33:05,196 --> 00:33:08,430 To samo znači da je pokazivač je strelicu na zaslonu, dira mačku, 735 00:33:08,430 --> 00:33:09,022 na primjer. 736 00:33:09,022 --> 00:33:10,480 Ili neki drugi aspekt zaslonu. 737 00:33:10,480 --> 00:33:13,710 I to je pitanje, opet, i koji označava Boolean izraza. 738 00:33:13,710 --> 00:33:17,130 Nešto što ste mogli želite koristiti u stanju. 739 00:33:17,130 --> 00:33:19,100 Tako ćemo doći do toga u samo trenutak. 740 00:33:19,100 --> 00:33:20,350 Možete "i" stvari zajedno. 741 00:33:20,350 --> 00:33:23,099 Dakle, ako želite provjeriti je li to što je slučaj i da je to slučaj, 742 00:33:23,099 --> 00:33:25,580 možete koristiti "i" blok kao što je ovaj. 743 00:33:25,580 --> 00:33:26,850 I ovdje je taj uvjet. 744 00:33:26,850 --> 00:33:31,290 Obavijest oblik malog otvora U vrhu ove žute puzzle komad, 745 00:33:31,290 --> 00:33:34,480 to podsjeća na oblik da smo upravo vidjeli maloprije. 746 00:33:34,480 --> 00:33:37,920 Svaki od tih Boolean izraza imati ove ukazao rubova 747 00:33:37,920 --> 00:33:39,030 na lijevo i desno. 748 00:33:39,030 --> 00:33:43,140 A to je zato što MIT ljudi odlučili da vizualno prevozili oblika, 749 00:33:43,140 --> 00:33:45,780 možete vrsta pomoći ljudima, studenti i djeca podjednako, 750 00:33:45,780 --> 00:33:47,650 na neki način popuniti praznine doslovno. 751 00:33:47,650 --> 00:33:49,780 >> Sada kada puzzle-- da Otvorenje je malo mala, 752 00:33:49,780 --> 00:33:52,750 i kao što ćemo vidjeti u programu, u nule, to će rasti kako bi odgovarao. 753 00:33:52,750 --> 00:33:54,830 To će zadržati svoj oblik, u konačnici. 754 00:33:54,830 --> 00:33:58,350 Dakle, stanje dajte se odlučite "Trebala bih učiniti nešto ili ne?" 755 00:33:58,350 --> 00:34:00,470 Logički izraz je stvarna pitanje 756 00:34:00,470 --> 00:34:04,100 koju koristite odlučiti ne idem lijevo ili moram ići na desno 757 00:34:04,100 --> 00:34:06,710 kad sam susret ova Takozvani vilica na cesti? 758 00:34:06,710 --> 00:34:07,980 Možete imati dvije grane. 759 00:34:07,980 --> 00:34:10,909 Ako je nešto istina, učinite ovo, drugi ide na taj način, 760 00:34:10,909 --> 00:34:14,590 ili se samo može učiniti ništa u sve, jer to podrazumijeva blok. 761 00:34:14,590 --> 00:34:16,360 Slično tome, možemo gnijezdo te stvari. 762 00:34:16,360 --> 00:34:20,204 Dakle, ako želite da se utrostručiti vilicom cesta, bilo ovo ili ovo ili ono, 763 00:34:20,204 --> 00:34:21,870 možete samo gnijezdo te stvari zajedno. 764 00:34:21,870 --> 00:34:24,520 I to počinje da se malo ružna, na kraju, sigurno, 765 00:34:24,520 --> 00:34:26,120 ali logika je uvijek isti. 766 00:34:26,120 --> 00:34:28,000 Vi doslovno možete pročitati to od vrha do dna 767 00:34:28,000 --> 00:34:33,290 a ona kaže ono što means-- ako je to je istina, to učiniti, drugo ako je drugo. 768 00:34:33,290 --> 00:34:36,179 >> Petlje ne bi jednostavnije u nule. 769 00:34:36,179 --> 00:34:37,422 Zauvijek učiniti sljedeće. 770 00:34:37,422 --> 00:34:39,880 Sada možda ne mislite može učiniti mnogo, jer ne postoji 771 00:34:39,880 --> 00:34:42,839 mnogo prostora između vrha i Dno ovog otvaranja zagonetka komad. 772 00:34:42,839 --> 00:34:45,671 No, vidjet ćete Scratch će narasti da stane što više slagalice 773 00:34:45,671 --> 00:34:47,060 kao što želite strpati tamo. 774 00:34:47,060 --> 00:34:48,960 Drugi petlje može biti izražen ponavljanja. 775 00:34:48,960 --> 00:34:51,590 Ako unaprijed znate, "ja žele učiniti nešto 10 puta, " 776 00:34:51,590 --> 00:34:54,010 ti samo mogu reći Scratch nešto učiniti 10 puta. 777 00:34:54,010 --> 00:34:57,260 A, u međuvremenu, možemo imati varijable. 778 00:34:57,260 --> 00:34:59,572 Dakle, ovdje je proizvoljna jedan, to je narančasta u ovom slučaju, 779 00:34:59,572 --> 00:35:00,780 i to je vrtlog turneju. 780 00:35:00,780 --> 00:35:04,540 Opet, vi ćete to vrlo pristupačan Jednom kada počnete pokazuje i klikom. 781 00:35:04,540 --> 00:35:07,930 Ja sam dobio ime moje varijablu n, ali ja mogli su je nazvali sve što želim, 782 00:35:07,930 --> 00:35:11,280 i ja sam ga postavci, u to proizvoljna primjer, na nulu. 783 00:35:11,280 --> 00:35:14,250 >> Sada je vidio program poput Pozdrav svijet nije sve što je uvjerljiv, 784 00:35:14,250 --> 00:35:17,900 pa neka je zapravo otvaraju nešto da je bivši student napravio. 785 00:35:17,900 --> 00:35:23,100 Dopustite mi ići naprijed i otvoriti, Primjerice, ovaj ovdje, 786 00:35:23,100 --> 00:35:26,780 za koje bih volio imati volonter. 787 00:35:26,780 --> 00:35:28,450 U redu, kako about-- idemo dalje. 788 00:35:28,450 --> 00:35:29,240 Da, dođi gore. 789 00:35:29,240 --> 00:35:30,056 Koje je tvoje ime? 790 00:35:30,056 --> 00:35:30,635 >> Abby: Abby. 791 00:35:30,635 --> 00:35:32,010 DAVID J. Malan: Abby, dođi gore. 792 00:35:32,010 --> 00:35:35,930 Dakle, jeste li ikada igrao ova igra prije? 793 00:35:35,930 --> 00:35:36,430 Abby: Ne 794 00:35:36,430 --> 00:35:37,370 DAVID J. Malan: U redu. 795 00:35:37,370 --> 00:35:38,380 David, lijepo da zadovolji vas. 796 00:35:38,380 --> 00:35:39,620 Dođi. 797 00:35:39,620 --> 00:35:42,300 A što je tvoja programiranje pozadine, ako ih ima. 798 00:35:42,300 --> 00:35:43,914 >> Abby: Naučio sam nešto C ++. 799 00:35:43,914 --> 00:35:45,580 DAVID J. Malan: Vi ste naučili neke C ++. 800 00:35:45,580 --> 00:35:48,382 A što je svoju igru igrati pozadinu? 801 00:35:48,382 --> 00:35:49,505 >> Abby: Ne mnogo. 802 00:35:49,505 --> 00:35:51,130 DAVID J. Malan: U redu, tako da ću to uzeti. 803 00:35:51,130 --> 00:35:52,700 Pa evo kako igra ide na posao. 804 00:35:52,700 --> 00:35:54,510 Ja ću ići naprijed i kliknite zelenu zastavu, što 805 00:35:54,510 --> 00:35:55,830 je ovdje u gornjem desnom kutu. 806 00:35:55,830 --> 00:35:59,710 Sada je vaš prethodnik u klasi vam je dao neke upute ovdje. 807 00:35:59,710 --> 00:36:02,306 I u samo nekoliko trenutaka ga, kaže da je "prostor za početak." 808 00:36:02,306 --> 00:36:03,680 Dakle, ići naprijed i pogodio razmaknica. 809 00:36:03,680 --> 00:36:05,507 >> Računalna igra: Pikachu. 810 00:36:05,507 --> 00:36:08,340 DAVID J. Malan: A cilj je da se uhvatiti hranu, kao što je prikazano postoji 811 00:36:08,340 --> 00:36:09,320 Na lijevoj strani. 812 00:36:09,320 --> 00:36:11,388 I [nečujan] 813 00:36:11,388 --> 00:36:15,356 >> [GAME muziciranja] 814 00:36:15,356 --> 00:36:27,280 815 00:36:27,280 --> 00:36:29,610 >> DAVID J. Malan: Aww, dobro, hvala ti za igranje. 816 00:36:29,610 --> 00:36:32,800 Imamo ovdje malo rastanak dar za vas. 817 00:36:32,800 --> 00:36:35,574 Imamo CS50 stres loptu, Ako želite odabrati. 818 00:36:35,574 --> 00:36:36,820 Dobro, dobro da vas zadovolji. 819 00:36:36,820 --> 00:36:39,680 Hvala vam što ste došli i izazovan. 820 00:36:39,680 --> 00:36:42,410 821 00:36:42,410 --> 00:36:46,910 Dakle, imamo više stresa loptice, pa ajmo napraviti još jedan primjer kako motivirati. 822 00:36:46,910 --> 00:36:48,150 Volonter? 823 00:36:48,150 --> 00:36:50,510 U redu, što je s ovdje ispred. 824 00:36:50,510 --> 00:36:51,250 Koje je tvoje ime? 825 00:36:51,250 --> 00:36:51,660 >> PHILLIP: Phillip. 826 00:36:51,660 --> 00:36:52,660 >> DAVID J. Malan: Phillip. 827 00:36:52,660 --> 00:36:54,530 Dođi gore, Phillipa. 828 00:36:54,530 --> 00:36:57,340 Dakle, Phillip će biti izazov s drugom igri 829 00:36:57,340 --> 00:37:00,840 da je jedan od vaših prethodnika napisao je kako je dio problema postaviti na nulu, 830 00:37:00,840 --> 00:37:03,510 naziva Ivy je najteže igra. 831 00:37:03,510 --> 00:37:05,980 I vidjet ćemo u samo Trenutak što se podrazumijeva pod to. 832 00:37:05,980 --> 00:37:07,400 Phillip, lijepo da zadovolji vas. 833 00:37:07,400 --> 00:37:09,060 Koja je tvoja pozadina? 834 00:37:09,060 --> 00:37:10,310 PHILLIP: Učinjeno puno kodiranje. 835 00:37:10,310 --> 00:37:11,110 Sastavljeno malo igre, previše. 836 00:37:11,110 --> 00:37:11,570 >> DAVID J. Malan: U redu. 837 00:37:11,570 --> 00:37:12,620 Imam puno igre, previše. 838 00:37:12,620 --> 00:37:14,230 A što ste igrali ovu igru ​​prije? 839 00:37:14,230 --> 00:37:14,730 >> PHILLIP: Nema 840 00:37:14,730 --> 00:37:16,438 DAVID J. Malan: Sve Dobro, idemo. 841 00:37:16,438 --> 00:37:18,434 Ja ću ići naprijed i pritisnite zelenu zastavu. 842 00:37:18,434 --> 00:37:24,160 >> [Igre Glazba] 843 00:37:24,160 --> 00:37:27,770 >> [MUSIC MC Hammer, "u može dirati OVO"] 844 00:37:27,770 --> 00:38:39,790 845 00:38:39,790 --> 00:38:41,635 >> PHILLIP: [nečujan] 846 00:38:41,635 --> 00:38:42,760 DAVID J. Malan: [nečujan] 847 00:38:42,760 --> 00:38:44,740 PHILLIP: [nečujan] 848 00:38:44,740 --> 00:38:49,056 [Smijeh] 849 00:38:49,056 --> 00:38:50,680 [MUSIC MC Hammer, "u može dirati OVO"] 850 00:38:50,680 --> 00:38:52,660 DAVID J. Malan: [nečujan] Orati kroz njega. 851 00:38:52,660 --> 00:38:54,094 PHILLIP: [nečujan] 852 00:38:54,094 --> 00:38:55,135 DAVID J. Malan: Samo naprijed. 853 00:38:55,135 --> 00:39:01,570 [MUSIC MC Hammer, "u može dirati OVO"] 854 00:39:01,570 --> 00:39:15,832 855 00:39:15,832 --> 00:39:16,915 DAVID J. Malan: U redu. 856 00:39:16,915 --> 00:39:18,400 Čestitamo. 857 00:39:18,400 --> 00:39:25,150 >> [Pljesak] 858 00:39:25,150 --> 00:39:27,330 >> DAVID J. Malan: Hoćemo Post da online kasnije, tako 859 00:39:27,330 --> 00:39:29,820 koje možete odugovlačiti s njim kao dobro. 860 00:39:29,820 --> 00:39:32,550 Princeton dolazi naprijed, nakon toga. 861 00:39:32,550 --> 00:39:35,470 >> Dakle, sada ćemo zapravo postupiti početi od nule, 862 00:39:35,470 --> 00:39:39,310 da se tako izrazim, i zapravo graditi do možemo zafrkavati pored neke od tih ideja 863 00:39:39,310 --> 00:39:41,970 i doći do nečega, čak složeniji do kraja. 864 00:39:41,970 --> 00:39:45,240 Ja ću ići preko ovdje, a ja ću ići naprijed i stvoriti novu datoteku. 865 00:39:45,240 --> 00:39:47,460 Pa opet, problem skupa će hodati li kroz neki od tih koraka. 866 00:39:47,460 --> 00:39:49,300 No, sve što sam učinio je go na izbornik File i ja 867 00:39:49,300 --> 00:39:52,760 rekao je "novi", toliko kao Microsoft Riječ, ili bilo koji program kao što je to. 868 00:39:52,760 --> 00:39:56,630 >> I idemo naprijed now-- i mi provodi "Pozdrav svijetu" trenutak prije, 869 00:39:56,630 --> 00:39:58,410 ali neka je učiniti nešto malo slađi. 870 00:39:58,410 --> 00:40:00,150 Ja ću otići do događaja. 871 00:40:00,150 --> 00:40:02,350 A ja ću učiniti ", kada Zelena zastava kliknuli ". 872 00:40:02,350 --> 00:40:05,830 A onda ću koristiti, recimo, podružnicu. 873 00:40:05,830 --> 00:40:07,610 Tako da ću koristiti "ako" stanje. 874 00:40:07,610 --> 00:40:10,940 I primijetiti kako čim dođem blizu na njega, on želi da ugriz zajedno. 875 00:40:10,940 --> 00:40:13,020 Zato sam pustio i ne sjedne zajedno. 876 00:40:13,020 --> 00:40:15,150 I sad ja mogu napraviti nešto zanimljivo. 877 00:40:15,150 --> 00:40:19,150 Ako sam se kretali kroz ovdje, idem da vidim hrpu blokova. 878 00:40:19,150 --> 00:40:22,620 Ako idem na "data" - neka mi uvećanje in-- ima nešto o varijablama. 879 00:40:22,620 --> 00:40:26,160 Ako idem u "pokretu", možete očito se stvari oko. 880 00:40:26,160 --> 00:40:28,760 Ako idem na "operaterima" - Oh, to je zanimljivo, 881 00:40:28,760 --> 00:40:31,000 Ja mogu odabrati slučajni broj. 882 00:40:31,000 --> 00:40:34,119 Pa neka mi učiniti nešto sa samo Neki vjerojatnost, samo zato. 883 00:40:34,119 --> 00:40:36,160 Ja ću ići naprijed i povucite ovaj puzzle komad, 884 00:40:36,160 --> 00:40:37,910 to je da je manji od blok, tako da je samo 885 00:40:37,910 --> 00:40:39,480 "Je taj broj manji od tog jednog?" 886 00:40:39,480 --> 00:40:42,438 Ali ja ne želim tvrdo šifru niz jer je to bilo prilično besmisleno. 887 00:40:42,438 --> 00:40:46,270 Tako ću povući ovaj komad ovdje, i primijetiti kako se sjedne u, 888 00:40:46,270 --> 00:40:49,480 i sad neka mi ići naprijed i reći: "Ako broj koji je odabrao nasumično 889 00:40:49,480 --> 00:40:51,820 je manji od šest, ne slijedi. " 890 00:40:51,820 --> 00:40:52,790 Sad zašto je manje od šest? 891 00:40:52,790 --> 00:40:56,400 Što vjerojatnost je to djelotvorno će mi dati, samo intuitivno? 892 00:40:56,400 --> 00:40:57,440 Oko 50%, zar ne? 893 00:40:57,440 --> 00:41:01,190 Ako broj koji je valjda slučajno od 1 do 10 manji od šest, 894 00:41:01,190 --> 00:41:03,480 jasno da je jedan, dva, tri, četiri, ili pet. 895 00:41:03,480 --> 00:41:06,740 I tako da će mi dati 50% vjerojatnost da ono što se događa? 896 00:41:06,740 --> 00:41:09,890 >> Pa neka je učiniti nešto takvo ovo, "igrati zvuk mijau." 897 00:41:09,890 --> 00:41:11,750 I obavijest, opet, zagonetka komad raste 898 00:41:11,750 --> 00:41:13,700 da stane, tako dugo dok se oblici podudaraju. 899 00:41:13,700 --> 00:41:14,910 To je ono što je važno. 900 00:41:14,910 --> 00:41:18,000 Pustite me da prijeđem na očekivanoj razini ovdje i kliknite na "play". 901 00:41:18,000 --> 00:41:19,300 Ništa se ne događa. 902 00:41:19,300 --> 00:41:21,160 Je li to bug? 903 00:41:21,160 --> 00:41:21,999 Ne, nije potrebno. 904 00:41:21,999 --> 00:41:24,040 To bi moglo biti samo da Veći broj je izabran. 905 00:41:24,040 --> 00:41:25,762 Tako ćemo to učiniti opet. 906 00:41:25,762 --> 00:41:27,550 Ništa. 907 00:41:27,550 --> 00:41:28,344 >> [Mijau] 908 00:41:28,344 --> 00:41:29,510 DAVID J. Malan: Tamo je. 909 00:41:29,510 --> 00:41:30,280 [Mijau] 910 00:41:30,280 --> 00:41:31,690 DAVID J. Malan: Opet. 911 00:41:31,690 --> 00:41:32,300 Ne 912 00:41:32,300 --> 00:41:32,922 >> [Meowing] 913 00:41:32,922 --> 00:41:35,380 DAVID J. Malan: Dakle, ako ste ikada igrali igru, naravno, 914 00:41:35,380 --> 00:41:38,500 gdje stvari se događa slučajno, kao negativci dolaze ili ne 915 00:41:38,500 --> 00:41:41,350 dolazi na zaslonu, odnosno stvari padaju ili ne pada, 916 00:41:41,350 --> 00:41:43,610 to je samo zato što je nešto super Jednostavan ovako se događa. 917 00:41:43,610 --> 00:41:46,010 Pick slučajni broj, a ako to je manje od neke vrijednosti, 918 00:41:46,010 --> 00:41:49,100 Možda to učiniti ili možda učiniti. 919 00:41:49,100 --> 00:41:51,340 Mi možemo ugraditi da je u stanju. 920 00:41:51,340 --> 00:41:52,600 Učinimo nešto drugo. 921 00:41:52,600 --> 00:41:53,559 >> Dopustite mi da se baci daleko. 922 00:41:53,559 --> 00:41:56,058 Možete dobiti osloboditi od stvari koju samo ga povlačenjem off na lijevo 923 00:41:56,058 --> 00:41:56,810 i ostavljajući ići. 924 00:41:56,810 --> 00:42:00,310 Dopustite mi ići naprijed i učiniti zauvijek blok i vrlo brzo napraviti nešto neugodno. 925 00:42:00,310 --> 00:42:03,010 Dopustite mi ići naprijed i kažu "igrati zvuk mijau." 926 00:42:03,010 --> 00:42:06,620 Ali ja ne želim da ovo bude previše neugodno, pa neka mi iskoristite ovaj blok, 927 00:42:06,620 --> 00:42:09,090 "Pričekajte jednu sekundu", a obavijest nema više mjesta za njega. 928 00:42:09,090 --> 00:42:11,310 Ali ako idete dovoljno blizu, ona želi ići tamo. 929 00:42:11,310 --> 00:42:14,100 Zato sam pustio i to će rastu popuniti blok. 930 00:42:14,100 --> 00:42:15,932 Pa sad, ovo je petlje. 931 00:42:15,932 --> 00:42:16,432 [Meowing] 932 00:42:16,432 --> 00:42:18,473 DAVID J. Malan: Ja sam Doslovno to zauvijek. 933 00:42:18,473 --> 00:42:19,360 Opet i iznova. 934 00:42:19,360 --> 00:42:21,510 To jednostavno nije prirodno sondiranje. 935 00:42:21,510 --> 00:42:24,800 Dopustite mi ići naprijed i to promijeni ne jednu sekundu, kako bi dvije sekunde 936 00:42:24,800 --> 00:42:25,854 i pritisnite Enter. 937 00:42:25,854 --> 00:42:28,770 A ono što je lijepo o Scratch je da biste mogli programirati interaktivno. 938 00:42:28,770 --> 00:42:32,450 Napravite promjenu, možda pritisnite Enter ili Igrajte opet, i to samo će zadržati ide. 939 00:42:32,450 --> 00:42:34,962 Pa, sad zašto ne radimo nešto malo slađi? 940 00:42:34,962 --> 00:42:39,680 Umjesto da učinite sve što je od nule, neka mi ići naprijed i otvoriti akontaciju 941 00:42:39,680 --> 00:42:43,180 napravio jednu, da sam unaprijed pečena, pod nazivom "Pet Mačka." 942 00:42:43,180 --> 00:42:44,920 I mi ćemo postavljati sve te datoteke online, 943 00:42:44,920 --> 00:42:48,464 i je problem postaviti nula će vam reći kako im pristupiti i otvoriti ih. 944 00:42:48,464 --> 00:42:49,880 I napomena, ovo je prilično jednostavna. 945 00:42:49,880 --> 00:42:53,860 Ali unaprijed, čini mi se da su zgrabio "zauvijek" blok, tako da imam petlju. 946 00:42:53,860 --> 00:42:55,500 A onda sam dobio "ako" stanje. 947 00:42:55,500 --> 00:42:57,410 Imam Boolean izraza. 948 00:42:57,410 --> 00:43:00,100 >> Dakle, na engleskom jeziku, samo pogledavši to, pogotovo ako ste nikada 949 00:43:00,100 --> 00:43:04,278 programirani prije, samo intuitivno, što će to učiniti, ovaj program? 950 00:43:04,278 --> 00:43:06,910 >> [PUBLIKA lupetati] 951 00:43:06,910 --> 00:43:09,960 >> DAVID J. Malan: Ako ste ljubimac mačka, Mačka će Mijau, zar ne? 952 00:43:09,960 --> 00:43:14,560 Jer "zauvijek birajući" je pokazivač miša dira mačku. 953 00:43:14,560 --> 00:43:17,630 Dakle, da bude jasno, a ja nisam rekao ovo prije, sve ove slagalice 954 00:43:17,630 --> 00:43:20,750 komada i skriptu koja mi smo ih kombinirati u, 955 00:43:20,750 --> 00:43:25,510 da se tako izrazim, skripta je sinonim Program, zapravo, pripada ovu mačku. 956 00:43:25,510 --> 00:43:30,110 A razlog je-- jer obavijest kako je to ista mačka ovdje je istaknuo, 957 00:43:30,110 --> 00:43:32,710 ovdje možete stvoriti Druga mačka ili pas ili stvarno 958 00:43:32,710 --> 00:43:33,970 sve što želite grafički. 959 00:43:33,970 --> 00:43:35,900 Možete uvesti nešto od Photoshop, ili slično, 960 00:43:35,900 --> 00:43:38,300 i integrirati nešto ako žele to napraviti za projekt. 961 00:43:38,300 --> 00:43:40,174 A što ćete, u konačnici, to ti 962 00:43:40,174 --> 00:43:44,800 Možete dodati skripte, dodajte puzzle komada, do pojedinih znakova. 963 00:43:44,800 --> 00:43:47,210 Dakle, svi oni pripadaju ovaj mačka. 964 00:43:47,210 --> 00:43:51,770 Pa sad, ako sam ići naprijed i igrati Ovaj program, ništa ne događa. 965 00:43:51,770 --> 00:43:52,970 Ali to je trčanje. 966 00:43:52,970 --> 00:43:56,364 Program je u ovoj zauvijek petlji, vrsta čeka što će se dogoditi? 967 00:43:56,364 --> 00:43:57,230 >> [PUBLIKA lupetati] 968 00:43:57,230 --> 00:43:58,130 >> DAVID J. Malan: pomaziti mačku. 969 00:43:58,130 --> 00:43:59,800 Dakle, ako sam premjestiti moj miš prema him-- 970 00:43:59,800 --> 00:44:02,420 >> [Meowing] 971 00:44:02,420 --> 00:44:04,450 >> DAVID J. Malan: Tako sada Ja sam petting mačka. 972 00:44:04,450 --> 00:44:07,330 U međuvremenu, možemo imati dvostruko granu. 973 00:44:07,330 --> 00:44:10,370 Dopustite mi ići naprijed i otvoriti se ne pomaziti mačku. 974 00:44:10,370 --> 00:44:12,160 Mi ćemo objaviti ovu kao i online. 975 00:44:12,160 --> 00:44:16,760 To je malo više složeno, ali bez rekavši 976 00:44:16,760 --> 00:44:18,780 možete pogoditi možda što će se dogoditi. 977 00:44:18,780 --> 00:44:20,160 >> [Meowing] 978 00:44:20,160 --> 00:44:23,900 >> DAVID J. Malan: Mačka je meowing, velika stara vremena. 979 00:44:23,900 --> 00:44:26,690 No, ovaj program je, naravno, pod nazivom "Ne primaju se mačak" 980 00:44:26,690 --> 00:44:29,350 pa jasno, želim pomaziti mačku. 981 00:44:29,350 --> 00:44:30,490 >> [Urliče] 982 00:44:30,490 --> 00:44:31,940 >> DAVID J. Malan: Ne pomaziti mačku. 983 00:44:31,940 --> 00:44:34,230 Sada, neka je pogledati na drugoj primjer ovdje. 984 00:44:34,230 --> 00:44:38,035 Ovaj će se zvati "Bok, Bok, Bok," iz razloga 985 00:44:38,035 --> 00:44:40,410 da će biti jasno, jer čim sam pokrenuti ovaj stvar-- 986 00:44:40,410 --> 00:44:41,401 >> [SEAL lajanje] 987 00:44:41,401 --> 00:44:43,942 DAVID J. Malan: Vrlo lako pisati dosadne Bloka programe. 988 00:44:43,942 --> 00:44:45,300 [SEAL lajanje] 989 00:44:45,300 --> 00:44:48,540 DAVID J. Malan: Sada nećemo ići u velike detalje sa svim tim, 990 00:44:48,540 --> 00:44:51,150 ali primijetiti postoji Nekoliko novih značajki ovdje. 991 00:44:51,150 --> 00:44:55,540 Tu je promjenjiva, pod nazivom "isključen" i onda postoji hrpa uvjetima. 992 00:44:55,540 --> 00:44:57,900 A za sada, neka me samo ti zafrkavati rekavši 993 00:44:57,900 --> 00:45:03,170 da, ako taj tip dobiva previše neugodno, Ja mogu pogoditi razmaknicu i on prestaje. 994 00:45:03,170 --> 00:45:05,880 Zbog ulogu odigrala ta dva pisma kako slijedi. 995 00:45:05,880 --> 00:45:08,510 Jedan od njih radi laje svakih nekoliko sekundi. 996 00:45:08,510 --> 00:45:11,305 Drugi samo čeka za mene pogoditi razmaknicu. 997 00:45:11,305 --> 00:45:14,780 A ako ja pogodio razmaknica, to će se promijeniti 998 00:45:14,780 --> 00:45:18,096 stanje ove varijable, vrijednost ove varijable, to je očito 999 00:45:18,096 --> 00:45:20,470 pod nazivom "prigušen", nisam zvala to je nešto dosadno kao n, 1000 00:45:20,470 --> 00:45:22,370 Nazvao sam je engleska riječ "isključen." 1001 00:45:22,370 --> 00:45:24,740 Od 1 do 0 ili od 0 do 1. 1002 00:45:24,740 --> 00:45:26,830 Od vjerni lažna ili lažno se istina. 1003 00:45:26,830 --> 00:45:28,930 I na taj način možete zapravo vidi sada, da vas 1004 00:45:28,930 --> 00:45:31,720 mogla imati dva scenarija, dva programi izvode istovremeno, 1005 00:45:31,720 --> 00:45:34,360 i obojica mogli sjediti u petlju radi nešto. 1006 00:45:34,360 --> 00:45:38,067 Čeka se ljudski učiniti nešto kao što je udaranje razmaknicu. 1007 00:45:38,067 --> 00:45:38,650 [SEAL lajanje] 1008 00:45:38,650 --> 00:45:40,566 DAVID J. Malan: A sad on je na putu opet. 1009 00:45:40,566 --> 00:45:41,640 [SEAL lajanje] 1010 00:45:41,640 --> 00:45:45,220 DAVID J. Malan: Pa što drugo možda ćemo učiniti s ovim primjerima? 1011 00:45:45,220 --> 00:45:50,920 Pa, idemo naprijed i učiniti Primjer s brojenje ovaca. 1012 00:45:50,920 --> 00:45:59,210 Nastavit ćemo to na tragu ovdje of-- ćemo otvoriti ovaca primjer. 1013 00:45:59,210 --> 00:46:02,460 I napomena, baš kao i prije, ovaj, srećom, je malo manje neugodno. 1014 00:46:02,460 --> 00:46:06,940 Jednom sam pogodio igrati ovdje-- Ma ne, to je neugodno. 1015 00:46:06,940 --> 00:46:10,130 On će Baa s nekom vjerojatnošću. 1016 00:46:10,130 --> 00:46:11,050 Igrajmo to opet. 1017 00:46:11,050 --> 00:46:15,221 >> [OVCE BLEETING] 1018 00:46:15,221 --> 00:46:18,470 DAVID J. Malan: Jedina razlika je promijenili smo kostim, da se tako izrazim, 1019 00:46:18,470 --> 00:46:21,710 i mi smo se prepolovi i reći što je stvarni broj. 1020 00:46:21,710 --> 00:46:24,680 Pa idemo naprijed i uzeti ovaj korak dalje. 1021 00:46:24,680 --> 00:46:28,190 I dopustite mi da vas zafrkavati s jedna značajka ovdje. 1022 00:46:28,190 --> 00:46:31,800 Idemo naprijed i otvoriti Program se zove niti. 1023 00:46:31,800 --> 00:46:36,620 Dakle, baš kao što možete imati jedan Sprite, ima više skripti, 1024 00:46:36,620 --> 00:46:41,250 možete imati dva sprites, ptica u mačka, od kojih svaki ima svoj vlastiti scenarij. 1025 00:46:41,250 --> 00:46:43,976 I svaki od njih može funkcionirati zajedno. 1026 00:46:43,976 --> 00:46:45,980 Ako ste ikada čuli Riječ "višedretvenost" 1027 00:46:45,980 --> 00:46:49,240 Računalo je "multithreaded" znači to može učiniti više stvari odjednom, 1028 00:46:49,240 --> 00:46:50,880 i, doista, tako da mogu ispočetka. 1029 00:46:50,880 --> 00:46:52,690 >> A sada primijetiti ptica je vrsta glupo. 1030 00:46:52,690 --> 00:46:55,100 On samo radi stvari slučajno, odskakanje zaslon. 1031 00:46:55,100 --> 00:46:59,460 Jasno je mačka je programirana na neki način morati traže mogućnosti 1032 00:46:59,460 --> 00:47:02,680 do kuće u na ptice, jer on je uvijek pokazujući na njega. 1033 00:47:02,680 --> 00:47:06,176 Dok konačno, on hvata stvarni pticu. 1034 00:47:06,176 --> 00:47:08,550 Dakle, neću razmišljati o detaljima ovdje, ali možete vrsta 1035 00:47:08,550 --> 00:47:12,160 nazrijeti iste oblike, neke "Ako" uvjetima, neke varijable, 1036 00:47:12,160 --> 00:47:15,740 Možda neke petlje, su konačnici rade istu stvar. 1037 00:47:15,740 --> 00:47:18,400 >> Sada neka mi ići naprijed i otvoriti do nešto sasvim drugo, 1038 00:47:18,400 --> 00:47:20,920 zafrkavati neke od vas, osobito one udobnije, 1039 00:47:20,920 --> 00:47:22,760 Što se zapravo može učiniti s ovim. 1040 00:47:22,760 --> 00:47:26,080 Ja ću ići naprijed i otvoriti Button ovdje. 1041 00:47:26,080 --> 00:47:28,740 I to je super jednostavna-tobožnji program 1042 00:47:28,740 --> 00:47:34,190 ali gledajte što se događa kada Ja-- Pazi što 1043 00:47:34,190 --> 00:47:39,860 se događa kad otvorim ovu varijantu, Ovdje u pregledniku, scratch.mit.edu. 1044 00:47:39,860 --> 00:47:43,460 I kad sam kliknite ovaj veliki crveni gumb, primijetiti što se događa. 1045 00:47:43,460 --> 00:47:46,110 1046 00:47:46,110 --> 00:47:47,647 Dakle, ono što se ovdje događa? 1047 00:47:47,647 --> 00:47:50,480 Tu je zapravo puno više složenosti događa ispod haube, 1048 00:47:50,480 --> 00:47:52,896 iako sam implementiran to, ili iskreno, Dan Bradley 1049 00:47:52,896 --> 00:47:54,660 implementirao to tako jednostavno. 1050 00:47:54,660 --> 00:47:59,540 On je dizajnirao običaj Scratch puzzle komad, poznat kao Scratch proširenje, 1051 00:47:59,540 --> 00:48:01,300 On ju je zvao Prebaci. 1052 00:48:01,300 --> 00:48:06,332 >> A što Prebaci se je on šalje poruka preko interneta. 1053 00:48:06,332 --> 00:48:08,290 I to samo po sebi poruka izgleda pomalo zagonetan. 1054 00:48:08,290 --> 00:48:10,248 No, to je, također, da ćete podrazumijevamo pod mandata kraja. 1055 00:48:10,248 --> 00:48:14,930 Poruka je zapravo šalju izgleda malo nešto poput ovoga. 1056 00:48:14,930 --> 00:48:15,921 To je samo tekst. 1057 00:48:15,921 --> 00:48:16,420 Grobni. 1058 00:48:16,420 --> 00:48:19,130 Vi ćete ga razumijem po vremenu dobili smo problema postaviti sedam. 1059 00:48:19,130 --> 00:48:22,180 To je samo slanje tekstualnih poruka preko interneta na poslužitelju. 1060 00:48:22,180 --> 00:48:24,330 I to poslužitelj je, u konačnici, u razgovoru s tom žarulja, koje 1061 00:48:24,330 --> 00:48:27,240 ima jedan od onih fancy žarulja u njemu da je, sama po sebi, ne govori 1062 00:48:27,240 --> 00:48:30,760 na Wi-Fi u mreži ovdje, gdje lokalni uređaj dolje ovdje-- 1063 00:48:30,760 --> 00:48:34,400 i, u konačnici, to je zapravo okretanje da uključuje i isključuje. 1064 00:48:34,400 --> 00:48:36,240 Ali možemo učiniti više zanimljive stvari na mjestu. 1065 00:48:36,240 --> 00:48:38,270 Obavijest ono Dan i učinio za nas. 1066 00:48:38,270 --> 00:48:42,210 On je napravio više sprites, svaki od koji je scenarij čeka klik. 1067 00:48:42,210 --> 00:48:44,030 A ako ja kliknite crvena, to ide crveno. 1068 00:48:44,030 --> 00:48:46,780 Ako sam dobiti plavu, to ide blueish. 1069 00:48:46,780 --> 00:48:49,854 Zelena, žuta, narančasta. 1070 00:48:49,854 --> 00:48:52,520 A sve to se događa po idući put izašao na internetu, 1071 00:48:52,520 --> 00:48:54,690 odstupiti ovdje žarulja, i isključiti. 1072 00:48:54,690 --> 00:48:57,981 >> A ako it-- mogu vjerovati i to je Možda je jedan od najsloženijih nule 1073 00:48:57,981 --> 00:49:00,930 Projekti netko ima implemented-- on je to učinio, u pravednosti, u jednom danu. 1074 00:49:00,930 --> 00:49:04,180 I to je izazov s kojim se bacio na Dan kada smo vidjeli imaju binarne žarulje, 1075 00:49:04,180 --> 00:49:05,810 imamo nule, kako možemo ih kombinirati? 1076 00:49:05,810 --> 00:49:08,410 I, doista, to je apsolutno nešto što svatko u ovoj sobi 1077 00:49:08,410 --> 00:49:14,250 mogao učiniti semestar je end-- Je li on reimplemented binarni žarulje koriste 1078 00:49:14,250 --> 00:49:18,310 isto sučelje koje je na našoj iPad u srijedu. 1079 00:49:18,310 --> 00:49:22,000 Tako da sada, ako sam zapravo Pritisnite plus ovamo, 1080 00:49:22,000 --> 00:49:25,250 imamo jedan, dva, tri. 1081 00:49:25,250 --> 00:49:27,550 Ja mogu pogoditi 16 i okrenuti taj jedan na. 1082 00:49:27,550 --> 00:49:29,440 128, i tako dalje. 1083 00:49:29,440 --> 00:49:31,250 >> Sad je li to jedini ima i dignut svoj um, 1084 00:49:31,250 --> 00:49:35,680 možete učiniti stvari daleko pristupačniji, ne uključuje bilo koji hardver sigurno. 1085 00:49:35,680 --> 00:49:38,320 Samo stvari na samom zaslonu. 1086 00:49:38,320 --> 00:49:41,110 I, doista, ono što većina studenata završiti radiš je neka vrsta igre, 1087 00:49:41,110 --> 00:49:44,600 neki komad umjetničkog rada, ili neka vrsta interaktivne animacije. 1088 00:49:44,600 --> 00:49:47,352 A ja ću reći jedan od naših najdraži je ovaj jedan. 1089 00:49:47,352 --> 00:49:49,060 I mislio sam da smo mogla prigušiti svjetla, 1090 00:49:49,060 --> 00:49:52,960 mi ćemo baciti pogled na taj završni Scratch projekt u zaključku. 1091 00:49:52,960 --> 00:49:57,460 Ali što ćeš imati na umu, kao što je Mogu vam zafrkavati s jedne posljednjeg detalja, 1092 00:49:57,460 --> 00:49:59,140 pod mikroskopom će početi sljedeći tjedan. 1093 00:49:59,140 --> 00:50:00,830 Radno vrijeme počet će idući tjedan. 1094 00:50:00,830 --> 00:50:04,410 Problem postaviti nula će biti objavljena CS50.harvard.edu kasnije danas. 1095 00:50:04,410 --> 00:50:06,430 A vi ćete biti dočekan u problemu postaviti na nulu 1096 00:50:06,430 --> 00:50:10,070 na CS50 vlastite Zamyla Chan, koji je vodi većinu naše rješenje korak po korak. 1097 00:50:10,070 --> 00:50:11,952 To su ugrađeni video u problemu setovima 1098 00:50:11,952 --> 00:50:15,160 koje će održati svoju ruku kroz puno od početne set up i kroz mnoge 1099 00:50:15,160 --> 00:50:16,570 od mogućih dizajnerske odluke. 1100 00:50:16,570 --> 00:50:19,570 Dakle, ako ste ikada imali tu emociju kada dođu do domaću zadaću 1101 00:50:19,570 --> 00:50:21,030 i pitate, gdje početi? 1102 00:50:21,030 --> 00:50:23,510 Ona će imati taj odgovor za vas. 1103 00:50:23,510 --> 00:50:27,720 A sada, Konačni program s jedne od svojih prethodnika 1104 00:50:27,720 --> 00:50:30,659 U odgovoru na pitanje "Što lisica reći?" 1105 00:50:30,659 --> 00:50:32,242 [MUSIC YLVIS, "ŠTO FOX reći?] 1106 00:50:32,242 --> 00:50:40,178 1107 00:50:40,178 --> 00:50:41,666 >> YLVIS: (pjevanje) Pas ide vau. 1108 00:50:41,666 --> 00:50:43,650 Mačka ide mijau. 1109 00:50:43,650 --> 00:50:47,520 Ptica ide cvrkut i miš ide cika. 1110 00:50:47,520 --> 00:50:49,240 Krava ide Moo. 1111 00:50:49,240 --> 00:50:51,690 Žaba ide riknuti. 1112 00:50:51,690 --> 00:50:54,630 I slon ide trubiti. 1113 00:50:54,630 --> 00:50:59,040 Patke kažu šarlatan i riba ići Blub. 1114 00:50:59,040 --> 00:51:07,370 I pečat ide joj joj joj, ali postoji jedan zvuk koji nitko ne zna, 1115 00:51:07,370 --> 00:51:10,330 Što to lisica reći? 1116 00:51:10,330 --> 00:51:11,020 I 1117 00:51:11,020 --> 00:51:12,478 >> DAVID J. Malan: To je to za CS50. 1118 00:51:12,478 --> 00:51:15,436 Mi ćemo vas vidjeti na Male dan i ponedjeljak. 1119 00:51:15,436 --> 00:51:16,424 >> [Pljesak] 1120 00:51:16,424 --> 00:51:19,882 >> [MUSIC YLVIS, "ŠTO lisica reći?"] 1121 00:51:19,882 --> 00:51:24,840 1122 00:51:24,840 --> 00:51:28,820 >> Narator: A sada duboko misli, po Daven Farnham. 1123 00:51:28,820 --> 00:51:31,770 1124 00:51:31,770 --> 00:51:34,570 Danas sam dobio udarac u suočiti s telefonskom imeniku. 1125 00:51:34,570 --> 00:51:38,160 Zbunjujuće, jer ja sam u Početna gledajući on-line. 1126 00:51:38,160 --> 00:51:42,528