1 00:00:00,000 --> 00:00:10,980 >> [Přehrávání hudby] 2 00:00:10,980 --> 00:00:13,260 >> -Alright! 3 00:00:13,260 --> 00:00:16,400 >> Tohle je CS50. 4 00:00:16,400 --> 00:00:18,220 >> Tohle je CS50. 5 00:00:18,220 --> 00:00:19,324 >> Tohle je CS50. 6 00:00:19,324 --> 00:00:20,615 [MUSIC - IGGY azalka, "FANCY"] 7 00:00:20,615 --> 00:00:29,925 8 00:00:29,925 --> 00:00:33,570 >> -Moje Oblíbená vzpomínka z CS50 bylo, když jsem šel na Puzzle den. 9 00:00:33,570 --> 00:00:35,797 >> -Probably Jen čas strávil prací na problémové sady 10 00:00:35,797 --> 00:00:38,630 se svými přáteli a lidmi, kteří Wold nakonec stali mými blockmates. 11 00:00:38,630 --> 00:00:40,421 >> -Moje Nejlepší paměti od 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 Prostě vše, co o něm. 19 00:00:46,110 --> 00:00:47,401 >> [MUSIC - IGGY azalka, "FANCY"] 20 00:00:47,401 --> 00:00:56,790 21 00:00:56,790 --> 00:01:02,512 >> -Moje Oblíbená vzpomínka je, když jsem byl na etapa a já jsem hrál prestižní roli 22 00:01:02,512 --> 00:01:04,220 uzlu [? v Linked?] [? List. ?] 23 00:01:04,220 --> 00:01:08,470 >> Kdy jsme se všichni dostali zdarma Dropbox prostor a David byl rád, podívejte se pod vašimi sedadly. 24 00:01:08,470 --> 00:01:10,520 A bylo to jako prostor pro každého! 25 00:01:10,520 --> 00:01:11,811 >> [MUSIC - IGGY azalka, "FANCY"] 26 00:01:11,811 --> 00:01:20,940 27 00:01:20,940 --> 00:01:22,830 >> -Moje Rady pro jakýkoli příchozí žák by 28 00:01:22,830 --> 00:01:26,170 bylo opravdu pracovat na P-set s přáteli. 29 00:01:26,170 --> 00:01:27,960 >> -Úřad Hodin je velmi tvůj přítel. 30 00:01:27,960 --> 00:01:30,870 >> -Ujistěte Většinu své zkušenosti a setkat se co nejvíce lidí, jak můžete. 31 00:01:30,870 --> 00:01:32,390 >> Nebuď bát požádat o pomoc. 32 00:01:32,390 --> 00:01:33,890 -start P-sad na začátku týdne. 33 00:01:33,890 --> 00:01:36,723 Já si myslím, že největší věc je využít všech prostředků 34 00:01:36,723 --> 00:01:37,950 že CS50 má. 35 00:01:37,950 --> 00:01:39,960 >> -Jdi Na úředních hodinách na začátku týdne. 36 00:01:39,960 --> 00:01:41,430 >> -Definitely Sledovat šortky. 37 00:01:41,430 --> 00:01:42,989 >> -Nebud Odkládat na své P-sad. 38 00:01:42,989 --> 00:01:45,780 -Ujistěte Najdete velkou skupinu lidí pracovat na P-sad s. 39 00:01:45,780 --> 00:01:48,530 Můžete mít spoustu legrace a získat práci společně. 40 00:01:48,530 --> 00:01:50,370 >> Nebuď strach, aby se zasadila sebe. 41 00:01:50,370 --> 00:01:52,080 Přejít na hacker vydání někdy. 42 00:01:52,080 --> 00:01:55,410 >> -Write Věci na papíře před jste se někdy dotknout počítače. 43 00:01:55,410 --> 00:01:58,380 >> -CS50 Je opravdu skvělá na poskytuje způsoby, jak získat pomoc. 44 00:01:58,380 --> 00:02:01,134 >> -Moje Jeden kus poradenství je spánek. 45 00:02:01,134 --> 00:02:02,050 Má někdo řekl, že? 46 00:02:02,050 --> 00:02:04,100 Spánek, pro jistotu. 47 00:02:04,100 --> 00:02:08,919 Je to snadné nedělat, ale Musíš to udělat, myslím. 48 00:02:08,919 --> 00:02:12,982 >> Já bych opravdu psychicky připraven protože budete ho milovat. 49 00:02:12,982 --> 00:02:14,273 [MUSIC - IGGY azalka, "FANCY"] 50 00:02:14,273 --> 00:02:17,750 51 00:02:17,750 --> 00:02:18,940 >> Tohle je CS50. 52 00:02:18,940 --> 00:02:22,090 53 00:02:22,090 --> 00:02:23,066 >> Tohle je CS50. 54 00:02:23,066 --> 00:02:26,400 55 00:02:26,400 --> 00:02:26,989 >> Tohle je CS50. 56 00:02:26,989 --> 00:02:28,280 [MUSIC - IGGY azalka, "FANCY"] 57 00:02:28,280 --> 00:02:31,290 58 00:02:31,290 --> 00:02:31,964 >> Tohle je CS50. 59 00:02:31,964 --> 00:02:36,020 60 00:02:36,020 --> 00:02:42,270 >> [APPLAUSE] 61 00:02:42,270 --> 00:02:46,040 >> David J. Malan: Tak tohle je CS50 a to je na konci týdne 0. 62 00:02:46,040 --> 00:02:48,770 A to byl jen nějaký zaměstnanců CS50, kteří 63 00:02:48,770 --> 00:02:51,100 na vás čekají nejen v sekcích a úřední hodiny, ale 64 00:02:51,100 --> 00:02:54,390 Také letos víkend na CS50 Puzzle den. 65 00:02:54,390 --> 00:02:56,410 Což zase není vše o programování. 66 00:02:56,410 --> 00:02:59,710 Ve skutečnosti, je to očekávat, že vás Nebudete muset nic programovat, 67 00:02:59,710 --> 00:03:03,780 ale spíše řešit problémy pomocí rozum a přátelé po vašem boku. 68 00:03:03,780 --> 00:03:06,400 >> Budeme se připojí některé z našich přátel na Facebook-- 69 00:03:06,400 --> 00:03:08,980 pokud se zaregistrujete tady--, kteří V posledních několika letech, 70 00:03:08,980 --> 00:03:11,450 byly skutečně psaní tyto výzvy s námi. 71 00:03:11,450 --> 00:03:14,822 A tak budou ty nakonec běží Puzzle den. 72 00:03:14,822 --> 00:03:17,530 A tak budete mít za úkol s přesně druhy věcí 73 00:03:17,530 --> 00:03:20,520 a problémy, které lidi na Facebook chtěl přemýšlet. 74 00:03:20,520 --> 00:03:21,860 Tak to je zítra. 75 00:03:21,860 --> 00:03:25,980 Zaregistrujte se na cs50.harvard.edu/register. 76 00:03:25,980 --> 00:03:28,120 >> Nyní pár slov o pár zaměstnanců, zejména. 77 00:03:28,120 --> 00:03:30,090 Tohle je Ansel Duff, kdo je vlastně jeden 78 00:03:30,090 --> 00:03:33,860 ze spoluautorů z těchto binárních žárovky, které jsme viděli ve středu, 79 00:03:33,860 --> 00:03:36,710 Kromě CS50 vlastní Dan Bradley. 80 00:03:36,710 --> 00:03:40,094 Ansel Duff byl také bývalý nováček advisee můj před 3 lety 81 00:03:40,094 --> 00:03:41,760 a on vlastně ani postavil pult. 82 00:03:41,760 --> 00:03:45,330 Odjel na to technické vědy a další. 83 00:03:45,330 --> 00:03:49,279 Nyní se jeho obraz je zde skutečně Ansel před 3 lety na CS50 Hackathon 84 00:03:49,279 --> 00:03:51,820 když si půjčil jeden z našich balóny, strčil ji do svého notebooku, 85 00:03:51,820 --> 00:03:55,240 a pro další 12 některé zvláštní hodin, se zaměřil na svém posledním projektu, 86 00:03:55,240 --> 00:03:59,150 Přestávky otevřít pouze tašky cukroví na Hackathon. 87 00:03:59,150 --> 00:04:02,210 >> Ale on pokračoval v poslední době na strávit Letos v létě se s námi, 88 00:04:02,210 --> 00:04:05,270 od CS50 pro své zaměstnance, a nyní studenti tomto semestru, 89 00:04:05,270 --> 00:04:06,770 má svůj vlastní 3D tiskárnu. 90 00:04:06,770 --> 00:04:10,180 A v kostce a 3D tiskárny je zařízení, které vypadá docela takhle. 91 00:04:10,180 --> 00:04:15,700 Vyplníte jej s plastovou cívkou , který je roztaven zařízením 92 00:04:15,700 --> 00:04:18,940 a budete stavět věci doslova z ničeho. 93 00:04:18,940 --> 00:04:22,660 Stejně jako inkoustovou tiskárnu, můžete začít vyplivl malé tečky plastu 94 00:04:22,660 --> 00:04:24,990 , které tvoří společně se tvoří celé objekty. 95 00:04:24,990 --> 00:04:28,430 A tak Ansel například dříve letos v létě, má iPhone 5 96 00:04:28,430 --> 00:04:30,722 a rozhodl, že opravdu chtěl aby pozvedla ji na svém stole. 97 00:04:30,722 --> 00:04:32,638 Ale on nechtěl, aby jít ven a koupit něco, 98 00:04:32,638 --> 00:04:36,030 z obchodu Apple a podobně, a tak se Posadil se a začal kreslit něco. 99 00:04:36,030 --> 00:04:38,280 Udělal několik měření jak silná 100 00:04:38,280 --> 00:04:41,270 a, jak široký je jeho iPhone, vytáhl tento obrázek zde, 101 00:04:41,270 --> 00:04:43,870 se rozhodl, že chce mít 75 stupňů sklon 102 00:04:43,870 --> 00:04:46,150 jak to bylo zíral ho na stole tam. 103 00:04:46,150 --> 00:04:50,440 Pak se obrátil to pomocí software, do modelu 3D CAD 104 00:04:50,440 --> 00:04:52,400 který vypadal trochu něco takového. 105 00:04:52,400 --> 00:04:55,940 A pak pokračoval, nakonec skutečně vytvořit. 106 00:04:55,940 --> 00:05:00,250 Takže ve skutečnosti, je-li někdo z vás tady, snad v řadě, že můžu hodit, mít 107 00:05:00,250 --> 00:05:06,780 an-- tam máme lidi s iPhone 5, a tady máme další dva. 108 00:05:06,780 --> 00:05:10,650 109 00:05:10,650 --> 00:05:17,037 >> Nyní Aby nezůstal pozadu, CS50 vlastní Cheng Gong rovněž uvedena letos v létě 110 00:05:17,037 --> 00:05:19,870 vybudovat docela málo věcí a, Ve skutečnosti, z důvodů, které jsou stále 111 00:05:19,870 --> 00:05:23,970 nejasný, byl pomalu tisk armádu slonů 112 00:05:23,970 --> 00:05:27,250 s artikulovat zbraní a kmenů. 113 00:05:27,250 --> 00:05:32,515 Pár z nich jsou skutečně zde, pokud někdo by teď jako-- slona. 114 00:05:32,515 --> 00:05:35,650 115 00:05:35,650 --> 00:05:40,522 V pořádku,. ale to, co Cheng také dělal Pro nás je to velmi laskavě nastavit fotoaparát 116 00:05:40,522 --> 00:05:42,230 Protože to slon, věřte tomu nebo ne, 117 00:05:42,230 --> 00:05:44,690 trvá asi dva a půl hodiny k tisku. 118 00:05:44,690 --> 00:05:47,840 Dokonce i stojan iPhone se hodinu a půl k tisku. 119 00:05:47,840 --> 00:05:51,490 A co Cheng šel dopředu a udělal byl zřízen krásný fotoaparát před 120 00:05:51,490 --> 00:05:55,580 této 3D tiskárny, natočený na hodinu a polovina jako Ansel designu vytiskne. 121 00:05:55,580 --> 00:05:58,090 Obložil jsme nějaké sexy hudba k tomu, aby 122 00:05:58,090 --> 00:06:00,570 vám to dá dívat jak 3D tisk funguje. 123 00:06:00,570 --> 00:06:02,494 A i když to je vlastně v plastu, 124 00:06:02,494 --> 00:06:05,160 uvědomit, že pokud se jedná o oblast vás zajímají akademicky, 125 00:06:05,160 --> 00:06:07,120 tam jsou lidé, mezi je Jennifer Lewis zde 126 00:06:07,120 --> 00:06:09,036 ve škole Engineering, kteří jsou ve skutečnosti 127 00:06:09,036 --> 00:06:10,920 pracuje na 3D tisk plastových předmětů. 128 00:06:10,920 --> 00:06:14,150 Ale i ve stále větší míře, biologické materiály řešit 129 00:06:14,150 --> 00:06:16,530 fyziologické problémy pro lidi. 130 00:06:16,530 --> 00:06:19,944 Ale tady je trochu něco z CS50. 131 00:06:19,944 --> 00:06:31,625 >> [LOUD MECHANICKÉ zvuky] 132 00:06:31,625 --> 00:06:34,250 David J. Malan: To nezní něco podobného, ​​že ve skutečnosti, 133 00:06:34,250 --> 00:06:37,240 ale je mnohem chladnější na to dívat při této rychlosti, a s tímto zvukem. 134 00:06:37,240 --> 00:06:40,000 >> Nyní, ve středu, jak jsme nejprve se sem dostali? 135 00:06:40,000 --> 00:06:43,345 Začali jsme mluvit o počítači věda a ptali jsme se, co to je. 136 00:06:43,345 --> 00:06:46,470 A je to o mnoho věcí, a tam je tolik různých směrů 137 00:06:46,470 --> 00:06:48,477 , ve kterém se můžete vydat po kurzu jako CS50. 138 00:06:48,477 --> 00:06:50,810 Ve skutečnosti, pokud se zvedl jeden z těch neoficiálních průvodců 139 00:06:50,810 --> 00:06:54,080 na CS ven, brožury, která jsme za předpokladu, ať už jste 140 00:06:54,080 --> 00:06:57,150 na mysli při jen CS50, nebo možná dělá sekundární, 141 00:06:57,150 --> 00:06:59,557 nebo možná i soustředění v CS, to listovat to. 142 00:06:59,557 --> 00:07:01,390 A uvidíte schéma směrem ke konci, který 143 00:07:01,390 --> 00:07:04,950 vám ukáže mnoho různých směrů v CS, které můžete zhasnout. 144 00:07:04,950 --> 00:07:09,030 >> Ale pro dnešek budeme soustředit opět na opravdu jedna ze základních pohledů, 145 00:07:09,030 --> 00:07:11,500 Možná, pokud budete mít vstupy do problémů, 146 00:07:11,500 --> 00:07:13,430 Máte výstupy z problémy, a máte 147 00:07:13,430 --> 00:07:17,420 algoritmy, jež tvoří ty výstupy z těchto vstupů. 148 00:07:17,420 --> 00:07:20,330 A jeden takový příklad, byl Samozřejmě, že tento telefonní seznam zde. 149 00:07:20,330 --> 00:07:24,180 A byl použit jako příklad jít pomocí algoritmu, který byl správný. 150 00:07:24,180 --> 00:07:26,490 A pak ještě jeden byl v pořádku, ale trochu rychleji. 151 00:07:26,490 --> 00:07:29,448 A pak ještě jeden, který byl trochu dramatičtější, ale v podstatě 152 00:07:29,448 --> 00:07:30,000 rychleji. 153 00:07:30,000 --> 00:07:32,720 >> Jasně, telefon této knize prohlašoval, měl asi 1000 stran. 154 00:07:32,720 --> 00:07:36,200 A kolikrát jsem se trhat telefonního seznamu na polovinu 155 00:07:36,200 --> 00:07:39,930 najít někoho, jako je Mike Smith, maximálně v 1000 stránkové knihy? 156 00:07:39,930 --> 00:07:41,040 Takže 10 mínus. 157 00:07:41,040 --> 00:07:45,050 A tak když jsem roztrhl tuto věc polovina, nebo prostě více zrale, 158 00:07:45,050 --> 00:07:48,490 rozdělen na dvě poloviny, je to jen 10 stran z 1000. 159 00:07:48,490 --> 00:07:51,470 A pokud jste extrapolovat, trochu nerealisticky pro telefonní seznam, 160 00:07:51,470 --> 00:07:56,540 ale pokud tento telefon kniha měla nějakou 4 miliardy stránek v něm, tak zcela 161 00:07:56,540 --> 00:07:59,680 nemotorné fyzicky, kolik Časy se rozdělíte 4000000000 162 00:07:59,680 --> 00:08:01,460 strana telefonní seznam na polovinu? 163 00:08:01,460 --> 00:08:03,035 Takže je to vlastně 32, dávat nebo brát. 164 00:08:03,035 --> 00:08:07,090 A jen tak 32 krát, z ve výši 4 miliard stránek, může 165 00:08:07,090 --> 00:08:08,700 zjistíte, že někdo, jako je Mike Smith. 166 00:08:08,700 --> 00:08:09,740 A to je efektivita. 167 00:08:09,740 --> 00:08:12,130 To je dobrý algoritmus, Troufám si tvrdit. 168 00:08:12,130 --> 00:08:14,480 >> Ale pak jsme se přestěhovali z toho pokusit se ji formalizovat. 169 00:08:14,480 --> 00:08:16,100 A já jsem navrhl tento pseudokódu kód. 170 00:08:16,100 --> 00:08:17,800 Pseudokód kód není nic formální. 171 00:08:17,800 --> 00:08:18,880 Není to něco zapamatovat. 172 00:08:18,880 --> 00:08:21,588 Je to prostě něco, co vyjádřit poměrně intuitivně používat angličtinu, 173 00:08:21,588 --> 00:08:24,990 nebo jakémkoliv jazyce, opravdu, to vyjadřuje své myšlenky stručně. 174 00:08:24,990 --> 00:08:26,990 Ale co je klíčem k pseudokód kód je to, že vás 175 00:08:26,990 --> 00:08:30,331 pokusit se předvídat všechny možné případy, které se může stát. 176 00:08:30,331 --> 00:08:33,080 A skutečně, v tomto pseudokódu kód, tam byly opravdu tři případů 177 00:08:33,080 --> 00:08:34,700 pokaždé, když jsem rozdělil do telefonního seznamu. 178 00:08:34,700 --> 00:08:36,006 Mike může být na levé straně. 179 00:08:36,006 --> 00:08:37,130 Mike může být doprava. 180 00:08:37,130 --> 00:08:39,240 Nebo by mohl být přímo na stránce jsem na. 181 00:08:39,240 --> 00:08:42,110 Nebo čtvrtiny roh případ, abych tak řekl. 182 00:08:42,110 --> 00:08:46,470 Špatný scénář by mohl být jeden which--, co se děje? 183 00:08:46,470 --> 00:08:48,860 Mike to prostě není telefonní seznam vůbec. 184 00:08:48,860 --> 00:08:52,720 >> A když se programy crash-- když Mac a PC software, který jste spustit 185 00:08:52,720 --> 00:08:56,400 na vašich počítačích někdy visí, nebo neočekávaně, 186 00:08:56,400 --> 00:08:59,770 že obecně znamená, že některé programátor, brzy nějaký člověk, jako jste vy, 187 00:08:59,770 --> 00:09:01,650 prostě podělal a udělal nějakou chybu. 188 00:09:01,650 --> 00:09:05,207 Možná, že netušil, že možná existuje Není Mike Smith v telefonním seznamu. 189 00:09:05,207 --> 00:09:08,040 A pokud nemáte skutečně napsat Kód zvládnout situace, jako je to, 190 00:09:08,040 --> 00:09:09,890 obecně nepředvídatelné co se může stát. 191 00:09:09,890 --> 00:09:10,960 Přístroj může zamrznout. 192 00:09:10,960 --> 00:09:11,730 Je možné restartovat. 193 00:09:11,730 --> 00:09:12,889 Program může přestat. 194 00:09:12,889 --> 00:09:14,722 A tak se všechny tyto hlouposti, kterou může 195 00:09:14,722 --> 00:09:18,030 se setkali ve vašem aktuálním život jen pomocí počítače, 196 00:09:18,030 --> 00:09:20,710 bude stále jen bagatelizována touto intuicí 197 00:09:20,710 --> 00:09:24,920 a toto chápání toho, co je vlastně děje pod kapotou. 198 00:09:24,920 --> 00:09:27,329 >> Nyní zkusme se podívat v obecnější problém. 199 00:09:27,329 --> 00:09:29,120 Spíše než aby účast na místě, jako je 200 00:09:29,120 --> 00:09:32,230 to, což by bylo docela pomalé udělat jeden, dva, tři, čtyři. 201 00:09:32,230 --> 00:09:34,070 Nebo možná dvě, čtyři, šest, osm. 202 00:09:34,070 --> 00:09:36,080 Zaměřme se místo toho na jak bychom mohli formalizovat 203 00:09:36,080 --> 00:09:39,400 algoritmus procesu které bychom mohli mít účast. 204 00:09:39,400 --> 00:09:42,290 A po cestě, začněme použít nějaký nomenklatury 205 00:09:42,290 --> 00:09:47,130 že budeme používat dnes, když jsme vlastně začít s programováním v jazyce. 206 00:09:47,130 --> 00:09:50,910 Tak ti dám teď, čtyři minutové video že jsme dali dohromady s našimi přáteli 207 00:09:50,910 --> 00:09:52,820 z TED, organizace. 208 00:09:52,820 --> 00:09:56,380 Kterým jsme dodali skript a přivedli své animátory nést, 209 00:09:56,380 --> 00:10:00,970 a vlastně vytvořil 2D animace o tom, co je algoritmus. 210 00:10:00,970 --> 00:10:02,776 Pokud bychom mohli ztlumit světla. 211 00:10:02,776 --> 00:10:06,664 >> [Přehrávání hudby] 212 00:10:06,664 --> 00:10:17,890 213 00:10:17,890 --> 00:10:19,140 Vypravěč: Co je to algoritmus? 214 00:10:19,140 --> 00:10:21,620 Ve vědě o počítačích, Algoritmus je množina 215 00:10:21,620 --> 00:10:24,840 pokynů řešení nějaký problém krok-za-krokem. 216 00:10:24,840 --> 00:10:27,310 Typicky, jsou algoritmy provedený počítače, 217 00:10:27,310 --> 00:10:29,365 ale lidé mají algoritmy také. 218 00:10:29,365 --> 00:10:31,240 Například, jak by jdete o počítání 219 00:10:31,240 --> 00:10:32,990 počet osob v pokoji? 220 00:10:32,990 --> 00:10:36,840 No, pokud jste jako já, to by asi ukázat na každou osobu, jeden po druhém 221 00:10:36,840 --> 00:10:38,370 a počítat od nuly. 222 00:10:38,370 --> 00:10:41,200 Jedna, dvě, tři, čtyři, a tak dále. 223 00:10:41,200 --> 00:10:42,410 No, to je algoritmus. 224 00:10:42,410 --> 00:10:45,820 Ve skutečnosti, zkusme to se vyjádřit trochu více formálně v pseudokódu kódu. 225 00:10:45,820 --> 00:10:48,940 Angličtina-like syntaxe připomíná programovací jazyk. 226 00:10:48,940 --> 00:10:50,880 >> Nechť n rovno 0. 227 00:10:50,880 --> 00:10:55,210 Pro každou osobu v pokoji, nastavit n rovno n plus 1. 228 00:10:55,210 --> 00:10:56,790 Jak interpretovat pseudokódu? 229 00:10:56,790 --> 00:10:59,490 No řádek jeden prohlašuje, abych tak řekl, proměnné 230 00:10:59,490 --> 00:11:02,880 volal n a inicializuje jeho hodnotu 0 to jen 231 00:11:02,880 --> 00:11:05,080 Znamená to, že na počátku našeho algoritmu, 232 00:11:05,080 --> 00:11:07,910 věc, s níž jsme Počítání má hodnotu 0. 233 00:11:07,910 --> 00:11:10,860 Po tom všem, než začneme počítat jsme se nepočítají zatím nic. 234 00:11:10,860 --> 00:11:13,580 Volání této proměnné n je jen konvence. 235 00:11:13,580 --> 00:11:15,130 Mohl jsem to nazval nejvíce cokoliv. 236 00:11:15,130 --> 00:11:17,460 Teď řádek dva demarks začátek smyčky, 237 00:11:17,460 --> 00:11:20,550 sled kroků, které budou opakovat určitý počet opakování. 238 00:11:20,550 --> 00:11:24,130 Takže v našem příkladu krok jsme odběr je počítání lidí v místnosti. 239 00:11:24,130 --> 00:11:26,260 Pod lince dvě je čára tři, které popisuje 240 00:11:26,260 --> 00:11:28,400 přesně tak, jak půjdeme o počítání. 241 00:11:28,400 --> 00:11:31,720 Odsazení znamená, že je to čára tři, které se bude opakovat. 242 00:11:31,720 --> 00:11:35,190 Takže s pseudokód kód Říká se, že po spuštění na 0 243 00:11:35,190 --> 00:11:38,940 pro každou osobu v pokoj budeme zvyšovat n o 1 244 00:11:38,940 --> 00:11:41,310 Nyní je tento algoritmus správný? 245 00:11:41,310 --> 00:11:42,820 Tak pojďme bang na něj trochu. 246 00:11:42,820 --> 00:11:45,520 >> Funguje to v případě, že jsou dva lidé v místnosti? 247 00:11:45,520 --> 00:11:46,420 Pojďme se podívat. 248 00:11:46,420 --> 00:11:48,500 V prvním řádku můžeme inicializovat n 0. 249 00:11:48,500 --> 00:11:51,910 Pro každý z těchto dvou lidí, jsme pak zvýšit n o 1. 250 00:11:51,910 --> 00:11:55,570 Takže v první cestu přes smyčky, aktualizujeme n 0-1. 251 00:11:55,570 --> 00:11:59,320 Na druhé cestě po které Stejný cyklus, aktualizujeme n 1-2. 252 00:11:59,320 --> 00:12:02,850 A tak tím, že tento algoritmus je konec, n je 2, který 253 00:12:02,850 --> 00:12:04,950 skutečně odpovídá počtu lidí v místnosti. 254 00:12:04,950 --> 00:12:06,040 Tak daleko, tak dobrý. 255 00:12:06,040 --> 00:12:07,870 >> Jak se o rohovou případě když? 256 00:12:07,870 --> 00:12:11,090 Předpokládejme, že existují lidé, 0 v room-- kromě mě, kdo je 257 00:12:11,090 --> 00:12:12,420 dělá počítání. 258 00:12:12,420 --> 00:12:15,380 V prvním řádku jsme znovu inicializovat n 0. 259 00:12:15,380 --> 00:12:17,810 Tentokrát však řada tři neprovede vůbec 260 00:12:17,810 --> 00:12:19,610 protože tam není člověk v místnosti. 261 00:12:19,610 --> 00:12:23,540 A tak zůstává n 0, což ostatně odpovídá počet lidí v místnosti. 262 00:12:23,540 --> 00:12:24,670 Docela jednoduché, ne? 263 00:12:24,670 --> 00:12:27,880 Ale počítání lidí jeden po druhém je velmi neefektivní, taky, ne? 264 00:12:27,880 --> 00:12:29,160 Jistě můžeme dělat lépe. 265 00:12:29,160 --> 00:12:33,440 Proč ne počítat dva lidi najednou, namísto počítání jeden, dva, tři, 266 00:12:33,440 --> 00:12:36,470 čtyři, pět, šest, sedm, osm, a tak dále. 267 00:12:36,470 --> 00:12:39,106 Proč ne počítat dva, čtyři, šest, osm, a tak dále? 268 00:12:39,106 --> 00:12:40,670 Dokonce zní rychleji. 269 00:12:40,670 --> 00:12:41,940 A to jistě je. 270 00:12:41,940 --> 00:12:44,490 >> Pojďme vyjádřit tuto optimalizaci v pseudokódu kódu. 271 00:12:44,490 --> 00:12:46,040 Nechť n rovno 0. 272 00:12:46,040 --> 00:12:50,760 Pro každou dvojici lidí v pokoj, nastavte n rovno n Plus 2. 273 00:12:50,760 --> 00:12:52,360 Docela jednoduché změny, ne? 274 00:12:52,360 --> 00:12:56,560 Spíše než počet lidí jeden po druhém, Ale místo toho jsme počítat dva najednou. 275 00:12:56,560 --> 00:12:59,240 Tento algoritmus je, tedy, dvakrát tak rychle jako poslední. 276 00:12:59,240 --> 00:13:00,530 Ale je to správné? 277 00:13:00,530 --> 00:13:01,160 Pojďme se podívat. 278 00:13:01,160 --> 00:13:03,580 Funguje to v případě, že jsou dva lidé v místnosti? 279 00:13:03,580 --> 00:13:05,800 V prvním řádku, jsme inicializovat n 0. 280 00:13:05,800 --> 00:13:09,160 Pro tento jeden párů lidí, jsme pak přírůstek n o 2. 281 00:13:09,160 --> 00:13:11,910 A tak tím, že tento algoritmus je konec n je 2, který 282 00:13:11,910 --> 00:13:13,910 skutečně odpovídá počtu lidí v místnosti. 283 00:13:13,910 --> 00:13:16,610 >> Předpokládejme, že existují další nula lidí v místnosti. 284 00:13:16,610 --> 00:13:19,080 V prvním řádku můžeme inicializovat n 0. 285 00:13:19,080 --> 00:13:21,260 Stejně jako dříve, řádek tří neprovede vše 286 00:13:21,260 --> 00:13:25,270 , protože zde nejsou žádné páry lidí v místnosti, a tak zůstává n 0. 287 00:13:25,270 --> 00:13:27,840 Což ostatně odpovídá počet osob v místnosti. 288 00:13:27,840 --> 00:13:30,520 Ale co v případě, že jsou Tři lidé v místnosti? 289 00:13:30,520 --> 00:13:32,380 Jak tento algoritmus jízdné? 290 00:13:32,380 --> 00:13:35,710 Pojďme se podívat, na lince jedna, budeme inicializovat n 0. 291 00:13:35,710 --> 00:13:39,140 Pro dvojici těch lidí, jsme pak přírůstek n o 2. 292 00:13:39,140 --> 00:13:40,050 Ale co potom? 293 00:13:40,050 --> 00:13:42,340 Tam není další plný pár lidí v místnosti, 294 00:13:42,340 --> 00:13:44,430 takže linka dva již neplatí. 295 00:13:44,430 --> 00:13:48,790 A tak do konce tohoto algoritmu je, n je 2, která ještě není správné. 296 00:13:48,790 --> 00:13:52,070 Ve skutečnosti tento algoritmus je řekl, aby být buggy, protože to má chyba. 297 00:13:52,070 --> 00:13:54,070 >> Pojďme náprava s některými Nový pseudokód kód. 298 00:13:54,070 --> 00:13:56,110 Nechť n rovno 0. 299 00:13:56,110 --> 00:14:00,790 Pro každou dvojici lidí v pokoj, nastavte N roven n Plus 2. 300 00:14:00,790 --> 00:14:05,410 Je-li jedna osoba zůstává nepárové, nastavení N se rovná n plus 1. 301 00:14:05,410 --> 00:14:09,340 Chcete-li vyřešit tento konkrétní problém, máme zavedeno čtyři stav, 302 00:14:09,340 --> 00:14:12,120 jinak známý jako větev, že provádí-li pouze 303 00:14:12,120 --> 00:14:14,890 v případě, že je jeden člověk, kterého jsme nemůže spárovat s jiným. 304 00:14:14,890 --> 00:14:17,140 A tak teď, ať už je tu jeden, nebo tři, 305 00:14:17,140 --> 00:14:21,550 nebo jakýkoli lichý počet lidí v místnosti, Tento algoritmus bude nyní počítat. 306 00:14:21,550 --> 00:14:22,810 Můžeme to udělat ještě lépe? 307 00:14:22,810 --> 00:14:25,890 No, mohli bychom počítat do třetice, nebo čtyři, nebo dokonce pětky a desítky, 308 00:14:25,890 --> 00:14:29,390 ale za to, že to dostane trochu obtížné bodu. 309 00:14:29,390 --> 00:14:32,900 >> Na konci dne, zda popraven počítače nebo člověka, 310 00:14:32,900 --> 00:14:34,870 algoritmy jsou jen soubor instrukcí 311 00:14:34,870 --> 00:14:36,560 s níž řešit problémy. 312 00:14:36,560 --> 00:14:38,360 Tito byli jen tři. 313 00:14:38,360 --> 00:14:41,860 Jaký problém by vám řešit s algoritmem? 314 00:14:41,860 --> 00:14:44,261 >> David J. Malan: Tak schválně, velmi jednoduchý program, 315 00:14:44,261 --> 00:14:46,260 velmi jednoduchý algoritmus, pro dosažení co 316 00:14:46,260 --> 00:14:48,280 velmi jednoduché, počítání počet osob v místnosti. 317 00:14:48,280 --> 00:14:50,370 >> Ale pojďme odhalit, některé zástupce 318 00:14:50,370 --> 00:14:52,870 k dispozici zde, že jsou ve skutečnosti bude užitečné, i když 319 00:14:52,870 --> 00:14:54,880 , kterým se provádí většina komplexní software. 320 00:14:54,880 --> 00:14:58,060 Tak například, v tomto prvním řádku, máme to, co nazýváme proměnnou, 321 00:14:58,060 --> 00:15:01,040 a z algebry, jste obecně obeznámeni pomocí x a y 322 00:15:01,040 --> 00:15:02,930 a z někdy, a tak dále. 323 00:15:02,930 --> 00:15:05,770 Ale v programování, proměnné jsou stále, na konci dne, 324 00:15:05,770 --> 00:15:06,680 velmi podobný. 325 00:15:06,680 --> 00:15:09,910 Ale je to možná jednodušší si myslet, proměnné jako jen nádobky. 326 00:15:09,910 --> 00:15:13,520 A ve skutečnosti, je to nějaký počet bitů implementována nějakým způsobem na pevném disku 327 00:15:13,520 --> 00:15:16,410 nebo v paměti počítače, ale o tom více v budoucnu. 328 00:15:16,410 --> 00:15:17,670 Je to jen obal. 329 00:15:17,670 --> 00:15:20,310 A pokud se vám něco říct jako Nechť n rovno 0, 330 00:15:20,310 --> 00:15:24,310 dobře, že je to jako volání toto sklo mísa zde n, stačí libovolný název, 331 00:15:24,310 --> 00:15:26,230 a uvedení nic v něm zpočátku. 332 00:15:26,230 --> 00:15:28,940 Takže hodnotu tohoto mísa teď je nulová. 333 00:15:28,940 --> 00:15:31,380 A samozřejmě, pokud vnímáte v následujícím řádku, 334 00:15:31,380 --> 00:15:35,070 skutečně zvýšit nějakou linii kód, jak je v tomto třetím řádku tady, 335 00:15:35,070 --> 00:15:39,857 o 1, to je jako tvrdit, že to, co je současná hodnota n, to je 0, a 1, 336 00:15:39,857 --> 00:15:41,690 dát něco jako ping pong míček zde. 337 00:15:41,690 --> 00:15:45,140 Nyní je hodnota této proměnná je prostě jedno. 338 00:15:45,140 --> 00:15:50,064 A ty by mohly velmi rychle odvodit, ale teď je to 2, teď je to 3, a tak dále. 339 00:15:50,064 --> 00:15:51,230 Tak to je vše, je proměnná. 340 00:15:51,230 --> 00:15:53,740 Je to kus skladu vlastně ukládat některá data. 341 00:15:53,740 --> 00:15:55,050 Pro tuto chvíli je to ping pong míček. 342 00:15:55,050 --> 00:15:55,883 K dispozici je celá řada. 343 00:15:55,883 --> 00:15:58,910 Ale mohlo by to být slova v slovník, stejně jako kontrolu pravopisu 344 00:15:58,910 --> 00:16:02,300 Zmínil jsem se ve středu pro jeden z loňských problémů sad. 345 00:16:02,300 --> 00:16:05,640 >> Nyní další klíčovou myšlenkou, že podobně je docela intuitivní bych tvrdit, 346 00:16:05,640 --> 00:16:06,690 je to, že na smyčce. 347 00:16:06,690 --> 00:16:08,930 A smyčka v procesu čítání každého 348 00:16:08,930 --> 00:16:12,540 je, samozřejmě, to samé znovu věc a again-- buď jeden 349 00:16:12,540 --> 00:16:14,140 v době, nebo po dvou. 350 00:16:14,140 --> 00:16:17,690 A můžete to vyjádřit v angličtině, nebo pseudokódu kód, v mnoha různými způsoby, 351 00:16:17,690 --> 00:16:21,560 ale pomocí této vazby "pro" je velmi běžný způsob, jak toho dosáhnout. 352 00:16:21,560 --> 00:16:24,460 Pro každou osobu v místnosti, postupujte takto. 353 00:16:24,460 --> 00:16:25,350 Znovu a znovu. 354 00:16:25,350 --> 00:16:27,700 A skutečnost, že je to odsazený řádek tři, 355 00:16:27,700 --> 00:16:29,840 prostě znamená, že to, co máš dělat 356 00:16:29,840 --> 00:16:33,490 je látka, která je odsazena pod čarou dva sám. 357 00:16:33,490 --> 00:16:35,590 Jen lidské konvence, ale obyčejný 358 00:16:35,590 --> 00:16:39,010 jak uvidíme ve skutečné Vyšší programovací jazyky na úrovni. 359 00:16:39,010 --> 00:16:41,870 >> Nyní trochu zajímavější je když se dostanete do rohu případu. 360 00:16:41,870 --> 00:16:43,970 Například, rohový Případ byl v případě, že 361 00:16:43,970 --> 00:16:48,060 byli tři lidé, nebo pět nebo sedm, nebo jakýkoli lichý počet lidí v místnosti, 362 00:16:48,060 --> 00:16:51,630 protože tím, že po dvou brzdami nakonec proto, že si bude 363 00:16:51,630 --> 00:16:54,265 chybět někdo, a to buď na úplně na začátku nebo do samého konce 364 00:16:54,265 --> 00:16:55,390 V závislosti na tom, jak to udělat. 365 00:16:55,390 --> 00:16:59,800 A tak teď, mám tuto pobočku, nebo stav, jestliže se jedna osoba zůstává, 366 00:16:59,800 --> 00:17:04,490 pak jděte do toho a zvládnout, že jeden osamělý člověk, který nedostal 367 00:17:04,490 --> 00:17:05,690 spárován s někým jiným. 368 00:17:05,690 --> 00:17:09,030 Takže to je to, co bychom nazvali stav, nebo pobočka. 369 00:17:09,030 --> 00:17:11,500 >> Nyní pseudokód kód obecněji mohou být 370 00:17:11,500 --> 00:17:13,730 písemné řešit libovolný počet problémů. 371 00:17:13,730 --> 00:17:16,490 A to, co jsem myslel, že bych udělat, zde je chvilku 372 00:17:16,490 --> 00:17:20,089 pozvat řekneme CS50 je vlastní Rob Bowden na jevišti 373 00:17:20,089 --> 00:17:25,040 aby se připojil dva dobrovolníky, kteří nemají tušení, co je čeká. 374 00:17:25,040 --> 00:17:26,890 Ruka šla dolů, jakmile jsem to řekl. 375 00:17:26,890 --> 00:17:28,700 Jak se o vás na skončí tady, pojď nahoru. 376 00:17:28,700 --> 00:17:33,040 A jak je to z větší daleko, jak je to tam vzadu. 377 00:17:33,040 --> 00:17:35,200 Zadní řada, pojď si s rukama nad hlavou. 378 00:17:35,200 --> 00:17:36,475 Dobře, a Jak se jmenujete? 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 Dobře, rád tě poznávám. 382 00:17:38,613 --> 00:17:41,010 Dovolte mi, abych vám představil Rob Bowden. 383 00:17:41,010 --> 00:17:42,890 To je Anita. 384 00:17:42,890 --> 00:17:44,033 A jaké je vaše jméno? 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, pojď nahoru a splňují Rob Bowden a Anita. 388 00:17:49,790 --> 00:17:51,036 Těší mě. 389 00:17:51,036 --> 00:17:52,160 Kiersten: Těší mě. 390 00:17:52,160 --> 00:17:53,368 David J. Malan: Dobře, Rob. 391 00:17:53,368 --> 00:17:54,650 ROB BOWDEN: Těší mě. 392 00:17:54,650 --> 00:17:55,566 David J. Malan: Anita. 393 00:17:55,566 --> 00:17:56,520 Kiersten: Ahoj Anita. 394 00:17:56,520 --> 00:17:58,686 David J. Malan: A tvůj několik set spolužáci. 395 00:17:58,686 --> 00:18:02,490 Tak, teď nech mě jít dopředu a vytáhněte up jen jednoduchý program zde 396 00:18:02,490 --> 00:18:05,690 na Mac OS, který mě nechal vlastně zapisovat si poznámky dole. 397 00:18:05,690 --> 00:18:09,570 A pokud vy chcete každý se poloha v jedné z těchto škol tam, 398 00:18:09,570 --> 00:18:16,360 nech mě jít napřed a začíná seznam z pseudokódu kódu, chcete-li. 399 00:18:16,360 --> 00:18:19,970 A to, co chci dělat tady, nakonec je typ pro vás 400 00:18:19,970 --> 00:18:22,470 některé instrukce, že naše diváci jsou ve skutečnosti 401 00:18:22,470 --> 00:18:23,569 bude přednášet pro nás. 402 00:18:23,569 --> 00:18:25,860 Nech mě jít napřed a jen změnit na číslovaný seznam 403 00:18:25,860 --> 00:18:27,720 tak, aby odpovídala co jsme dělali tam. 404 00:18:27,720 --> 00:18:30,990 A co budu dělat s vaši pomoc, je napsat program, 405 00:18:30,990 --> 00:18:34,620 v pseudokódu, který se tito lidé jdou 406 00:18:34,620 --> 00:18:38,150 realizovat arašídy máslo a želé sendvič. 407 00:18:38,150 --> 00:18:40,880 Takže je to možná apropos k něco ukázat, že někteří z vás 408 00:18:40,880 --> 00:18:44,560 mohli vidět na internetu jen na krátkou chvíli nepříjemné. 409 00:18:44,560 --> 00:18:47,650 >> [MUSIC BUCKEWHEAT BOYS ", arašídové máslo  JELLY TIME "] 410 00:18:47,650 --> 00:19:08,119 411 00:19:08,119 --> 00:19:08,910 David J. Malan: OK. 412 00:19:08,910 --> 00:19:10,050 To je dost. 413 00:19:10,050 --> 00:19:12,690 Tak tady zatím, mám Pár Google brýle, které 414 00:19:12,690 --> 00:19:16,500 dáme na CS50 vlastní Rob Bowden vidět svět jeho očima. 415 00:19:16,500 --> 00:19:19,140 A my se budeme snažit na příspěvek výroba skutečně tkát 416 00:19:19,140 --> 00:19:23,100 záznam toho, co Rob vidí Nyní do tohoto skutečného přednášky 417 00:19:23,100 --> 00:19:26,420 Video s našimi dvěma dobrovolníci vedle něj. 418 00:19:26,420 --> 00:19:28,480 Takže to, co budu dělat je, budu písař. 419 00:19:28,480 --> 00:19:31,849 Máme cíl zde na vlastně psaní programu 420 00:19:31,849 --> 00:19:34,640 s níž, aby se nakonec arašídové máslo a želé sendvič, 421 00:19:34,640 --> 00:19:37,680 ale tito tři budou chovat jako když jsou počítače. 422 00:19:37,680 --> 00:19:40,638 A počítače, na konci dne, jsou vlastně docela hloupé zařízení. 423 00:19:40,638 --> 00:19:44,432 Jsou super rychlý, ale jen oni mohou dělat doslova co se jim řekne. 424 00:19:44,432 --> 00:19:46,890 Nemůžeš prostě říct, aby arašídy máslo a želé sendvič. 425 00:19:46,890 --> 00:19:48,640 Musíte naprogramovat, aby dělali to. 426 00:19:48,640 --> 00:19:51,420 Musíte jim říct, přesně, co má dělat, 427 00:19:51,420 --> 00:19:54,400 méně se mi to hrozně, a doufejme, zábavně nakřivo. 428 00:19:54,400 --> 00:19:57,460 >> Takže s tím řekl, že potřebujeme jeden call-out z publika 429 00:19:57,460 --> 00:19:59,440 na to, co by mělo posílit jeden být, v případě, že cílem zde 430 00:19:59,440 --> 00:20:01,356 je, aby se arašídy máslo a želé sendvič. 431 00:20:01,356 --> 00:20:01,910 Ano? 432 00:20:01,910 --> 00:20:03,647 >> Diváků: [neslyšitelné] pytel chleba. 433 00:20:03,647 --> 00:20:05,230 David J. Malan: Otevřete sáček chleba. 434 00:20:05,230 --> 00:20:08,360 Takže v případě, že tři soutěžící by chtěli pokračovat k tomu, že doslova. 435 00:20:08,360 --> 00:20:12,394 Otevřete sáček chleba. 436 00:20:12,394 --> 00:20:15,810 >> [Publikum smích] 437 00:20:15,810 --> 00:20:20,717 438 00:20:20,717 --> 00:20:22,300 David J. Malan: Tak pojďme na tom pracovat. 439 00:20:22,300 --> 00:20:23,180 V pořádku. 440 00:20:23,180 --> 00:20:25,400 Takže krok dva, Jak-- Pojďme si to dál. 441 00:20:25,400 --> 00:20:26,480 Jo, v přední části. 442 00:20:26,480 --> 00:20:27,240 >> Diváků: [neslyšitelné] chléb. 443 00:20:27,240 --> 00:20:27,735 >> David J. Malan: Co je to? 444 00:20:27,735 --> 00:20:28,836 >> Diváků: Vyjměte chléb. 445 00:20:28,836 --> 00:20:30,210 David J. Malan: Vyjměte chléb. 446 00:20:30,210 --> 00:20:31,190 Podobně stručné. 447 00:20:31,190 --> 00:20:33,667 Děkuji vám. 448 00:20:33,667 --> 00:20:43,777 >> [APPLAUSE] 449 00:20:43,777 --> 00:20:44,860 David J. Malan: To je všechno? 450 00:20:44,860 --> 00:20:48,830 OK, tak krok dva se děje být odstranění chleba. 451 00:20:48,830 --> 00:20:51,790 Dobře, někdo bude chtít napište nám delší větu? 452 00:20:51,790 --> 00:20:52,640 Někdo jiný? 453 00:20:52,640 --> 00:20:53,920 Trochu více [neslyšitelné]. 454 00:20:53,920 --> 00:20:54,810 Ne, nic teď. 455 00:20:54,810 --> 00:20:56,094 Ano? 456 00:20:56,094 --> 00:20:58,900 >> Diváků: Místo dvou plátky vedle sebe. 457 00:20:58,900 --> 00:21:03,575 >> David J. Malan: Místo dvou plátky vedle sebe. 458 00:21:03,575 --> 00:21:06,420 >> [Publikum smích] 459 00:21:06,420 --> 00:21:09,590 >> David J. Malan: Místo dvou plátky vedle sebe. 460 00:21:09,590 --> 00:21:11,334 Krok čtyři. 461 00:21:11,334 --> 00:21:12,816 Ano? 462 00:21:12,816 --> 00:21:14,792 >> Diváků: Vezměte svůj ručně a nastavte ji na lehkou váhu 463 00:21:14,792 --> 00:21:17,756 na horní straně víka arašídové máslo. 464 00:21:17,756 --> 00:21:19,710 >> [Publikum smích] 465 00:21:19,710 --> 00:21:21,710 Diváků: [neslyšitelné] vedle arašídové máslo. 466 00:21:21,710 --> 00:21:21,870 David J. Malan: Co je? 467 00:21:21,870 --> 00:21:22,520 Řekni to ještě jednou. 468 00:21:22,520 --> 00:21:26,308 >> Diváků: Odšroubujte víčko a dát se jemně vedle arašídové máslo. 469 00:21:26,308 --> 00:21:31,490 >> David J. Malan: Dejte ji jemně vedle arašídové máslo. 470 00:21:31,490 --> 00:21:37,770 471 00:21:37,770 --> 00:21:40,090 OK, pokrok. 472 00:21:40,090 --> 00:21:41,080 Krok pět. 473 00:21:41,080 --> 00:21:42,380 Výborně. 474 00:21:42,380 --> 00:21:43,261 Ano? 475 00:21:43,261 --> 00:21:44,163 >> Seberte nůž. 476 00:21:44,163 --> 00:21:46,380 477 00:21:46,380 --> 00:21:47,630 David J. Malan: Zvedněte nůž. 478 00:21:47,630 --> 00:21:52,320 479 00:21:52,320 --> 00:21:53,631 OK, krok šest. 480 00:21:53,631 --> 00:21:54,130 Jo? 481 00:21:54,130 --> 00:21:56,237 >> Diváků: Držte nůž za rukojeť. 482 00:21:56,237 --> 00:21:57,945 David J. Malan: Podržte nůž za držadlo. 483 00:21:57,945 --> 00:22:00,710 484 00:22:00,710 --> 00:22:03,230 Držte nůž za rukojeť. 485 00:22:03,230 --> 00:22:04,880 Krok sedm. 486 00:22:04,880 --> 00:22:05,692 Ano? 487 00:22:05,692 --> 00:22:10,030 >> Diváků: [neslyšitelné] nůž arašídy máslo a jak málo z [neslyšitelné]. 488 00:22:10,030 --> 00:22:13,070 >> David J. Malan: Dejte nůž v-- I slyšel "dát nůž arašídové máslo 489 00:22:13,070 --> 00:22:19,500 a trvat pouze tak, jak je to možné. " 490 00:22:19,500 --> 00:22:22,480 Mimochodem, odstraňte nejprve papír. 491 00:22:22,480 --> 00:22:29,320 492 00:22:29,320 --> 00:22:31,890 Dobře, krok devět. 493 00:22:31,890 --> 00:22:34,910 Krok devět. 494 00:22:34,910 --> 00:22:35,624 Krok devět. 495 00:22:35,624 --> 00:22:37,290 Jsme vlastně udělali sendvič ještě. 496 00:22:37,290 --> 00:22:37,790 Ano? 497 00:22:37,790 --> 00:22:41,570 Diváků: Použití nůž arašídové máslo, platí arašídové máslo na uvedeném chleba. 498 00:22:41,570 --> 00:22:47,440 >> David J. Malan: Použití nůž arašídové máslo, arašídové máslo aplikovat na 499 00:22:47,440 --> 00:22:48,736 řekl chleba. 500 00:22:48,736 --> 00:22:56,030 >> [Publikum smích] 501 00:22:56,030 --> 00:22:59,480 David J. Malan: Dobře krok 10. 502 00:22:59,480 --> 00:23:01,762 Krok 10. 503 00:23:01,762 --> 00:23:02,750 Ano? 504 00:23:02,750 --> 00:23:05,220 >> Diváků: Chuť arašídy máslo pro zajištění kvality. 505 00:23:05,220 --> 00:23:15,960 >> [Publikum smích] 506 00:23:15,960 --> 00:23:16,960 David J. Malan: Krok 11. 507 00:23:16,960 --> 00:23:19,500 508 00:23:19,500 --> 00:23:21,340 Krok 11. 509 00:23:21,340 --> 00:23:22,101 Krok 11. 510 00:23:22,101 --> 00:23:22,600 Pojď. 511 00:23:22,600 --> 00:23:23,099 Jo? 512 00:23:23,099 --> 00:23:24,208 Přesně tam. 513 00:23:24,208 --> 00:23:25,840 >> Diváků: Opatrně vyzvednout želé. 514 00:23:25,840 --> 00:23:28,220 >> David J. Malan: Opatrně vyzvednout želé. 515 00:23:28,220 --> 00:23:29,970 OK, a pak další ruka nahoru. 516 00:23:29,970 --> 00:23:32,812 517 00:23:32,812 --> 00:23:33,520 Hned za vámi. 518 00:23:33,520 --> 00:23:35,761 Jo, v modré barvě. 519 00:23:35,761 --> 00:23:40,671 >> DIVÁKŮ: Dobře, vyjměte víko z [neslyšitelné], jo, 520 00:23:40,671 --> 00:23:42,635 odstranit víko z želé. 521 00:23:42,635 --> 00:23:43,617 >> [Publikum smích] 522 00:23:43,617 --> 00:23:44,742 >> David J. Malan: Z želé. 523 00:23:44,742 --> 00:23:45,581 Ha ha. 524 00:23:45,581 --> 00:23:48,967 >> [Publikum smích] 525 00:23:48,967 --> 00:23:49,800 David J. Malan: A? 526 00:23:49,800 --> 00:23:52,490 Diváků: A sotva zamést nějaký [neslyšitelné]. 527 00:23:52,490 --> 00:23:59,536 [Publikum smích] 528 00:23:59,536 --> 00:24:04,456 DIVÁKŮ: Samozřejmě, před [neslyšitelné] vyjměte papír ze želé. 529 00:24:04,456 --> 00:24:06,940 David J. Malan: Vyjměte papír ze želé. 530 00:24:06,940 --> 00:24:08,229 Krok 14. 531 00:24:08,229 --> 00:24:09,020 Už tam skoro jsme. 532 00:24:09,020 --> 00:24:09,857 Ano? 533 00:24:09,857 --> 00:24:12,600 >> Diváků: Invert želé láhev než všechno vypadne. 534 00:24:12,600 --> 00:24:16,515 >> David J. Malan: Invert želé Láhev před želé vypadne. 535 00:24:16,515 --> 00:24:19,070 536 00:24:19,070 --> 00:24:19,890 Krok 15. 537 00:24:19,890 --> 00:24:21,130 >> Diváků: Vyměňte uzávěr. 538 00:24:21,130 --> 00:24:22,463 >> David J. Malan: Vyměňte uzávěr. 539 00:24:22,463 --> 00:24:25,880 540 00:24:25,880 --> 00:24:28,190 Krok 16. 541 00:24:28,190 --> 00:24:28,931 Jo? 542 00:24:28,931 --> 00:24:29,806 >> Diváků: [neslyšitelné] 543 00:24:29,806 --> 00:24:34,109 544 00:24:34,109 --> 00:24:35,400 David J. Malan: Řekni to ještě jednou. 545 00:24:35,400 --> 00:24:38,100 Diváků: Vezměte víčko z vašeho želé. 546 00:24:38,100 --> 00:24:39,650 David J. Malan: Off vaší želé. 547 00:24:39,650 --> 00:24:43,720 548 00:24:43,720 --> 00:24:49,510 Takže opravdu-- Oops. 549 00:24:49,510 --> 00:24:50,420 Pojď. 550 00:24:50,420 --> 00:24:51,740 Vyměňte uzávěr. 551 00:24:51,740 --> 00:24:56,660 Dejte cap-- Říkal jsi, že odstraňte víčko z želé. 552 00:24:56,660 --> 00:24:58,950 Pocit, že jsme v trochu smyčky. 553 00:24:58,950 --> 00:24:59,640 Krok 17. 554 00:24:59,640 --> 00:25:00,398 Ano? 555 00:25:00,398 --> 00:25:02,639 >> Diváků: [neslyšitelné] 556 00:25:02,639 --> 00:25:03,930 David J. Malan: Řekni to ještě jednou. 557 00:25:03,930 --> 00:25:05,150 Diváků: [neslyšitelné] 558 00:25:05,150 --> 00:25:07,835 David J. Malan: Jít zpět na step-- 559 00:25:07,835 --> 00:25:10,110 Diváků: [neslyšitelné] 560 00:25:10,110 --> 00:25:13,760 David J. Malan: Odstranit čepice z arašídového másla. 561 00:25:13,760 --> 00:25:14,492 Ano? 562 00:25:14,492 --> 00:25:16,430 >> DIVÁKŮ: Zrušte všechny želé na chleba. 563 00:25:16,430 --> 00:25:19,040 >> David J. Malan: Zrušte všechny želé na chleba. 564 00:25:19,040 --> 00:25:25,372 565 00:25:25,372 --> 00:25:26,830 David J. Malan: Už jsme skoro tam. 566 00:25:26,830 --> 00:25:27,800 Krok 19. 567 00:25:27,800 --> 00:25:30,250 >> Diváků: Odstraňte přebytečný želé. 568 00:25:30,250 --> 00:25:31,720 >> David J. Malan: Haha, želé. 569 00:25:31,720 --> 00:25:36,615 >> [APPLAUSE] 570 00:25:36,615 --> 00:25:39,240 David J. Malan: Proč my-- ještě jeden krok, aby se tento domov. 571 00:25:39,240 --> 00:25:41,720 Ještě jeden krok a pak budeme sloužit sendviče. 572 00:25:41,720 --> 00:25:42,900 Ano? 573 00:25:42,900 --> 00:25:45,570 >> Diváků: [neslyšitelné] 574 00:25:45,570 --> 00:25:50,704 >> David J. Malan: Při každém sendvič remains-- Pojďme odrážka tohle-- jíst. 575 00:25:50,704 --> 00:25:56,400 >> [Smích z publika] 576 00:25:56,400 --> 00:26:00,395 >> David J. Malan: Dobře, děkuji budete s našimi dobrovolníky zde. 577 00:26:00,395 --> 00:26:06,150 >> [APPLAUSE} 578 00:26:06,150 --> 00:26:08,940 >> David J. Malan: Máme nějaký pěkný rozloučení dárky pro každého z vás. 579 00:26:08,940 --> 00:26:14,350 Vaše vlastní arašídové máslo, želé, a chléb přivést zpět domů. 580 00:26:14,350 --> 00:26:15,774 Děkuji vám. 581 00:26:15,774 --> 00:26:17,118 >> Kiersten: Děkuji. 582 00:26:17,118 --> 00:26:18,618 David J. Malan: [neslyšitelné] vítány. 583 00:26:18,618 --> 00:26:21,849 [APPLAUSE] 584 00:26:21,849 --> 00:26:24,390 David J. Malan: Tak, to je, na Samozřejmě, že absurdní příklad. 585 00:26:24,390 --> 00:26:24,890 Je to tak? 586 00:26:24,890 --> 00:26:28,890 Ale to je trochu odhalit, jak se lidé jen se jasnost za samozřejmost. 587 00:26:28,890 --> 00:26:30,890 A fakt jsem mluví k jinému člověku, 588 00:26:30,890 --> 00:26:33,300 on nebo ona prostě ví, co máte na mysli. 589 00:26:33,300 --> 00:26:35,220 >> Počítače se nebude vědět, co máte na mysli, 590 00:26:35,220 --> 00:26:37,430 i při použití, jako se chystáme udělat dnes, 591 00:26:37,430 --> 00:26:42,300 programování něco Scratch, drag and drop, skládačky styl jazyka. 592 00:26:42,300 --> 00:26:44,310 Dokonce určen pro mladé děti, máte 593 00:26:44,310 --> 00:26:48,726 být tak jednoznačné a tak literál to, co chcete, aby váš program dělat. 594 00:26:48,726 --> 00:26:50,600 Teď konečně jsme bude programování 595 00:26:50,600 --> 00:26:53,550 ne v pseudokódu kódu, Angličtina jako syntax, 596 00:26:53,550 --> 00:26:56,370 ale kód nebo, přesněji, zdrojový kód. 597 00:26:56,370 --> 00:26:59,260 Zdrojový kód je jen ozdobný způsob, jak pro popis kód, který jste vlastně 598 00:26:59,260 --> 00:27:01,730 psát s klávesnicí, která je není v angličtině jako takové. 599 00:27:01,730 --> 00:27:06,480 Je to v C nebo Java nebo C ++ nebo tak něco jako to, jak brzy uvidíte. 600 00:27:06,480 --> 00:27:09,510 >> A ve skutečnosti, jen postrašit málo z vás, na první pohled, 601 00:27:09,510 --> 00:27:13,769 je to napsaný v jazyce programu volal C. Ale un-vyděsit některé z vás, 602 00:27:13,769 --> 00:27:15,560 budete zcela pochopit, co se děje 603 00:27:15,560 --> 00:27:18,980 Na přijít příští pondělí, kdy ji přijde na něco, jako je tohle. 604 00:27:18,980 --> 00:27:20,510 Upřímně řečeno, je to starší jazyk. 605 00:27:20,510 --> 00:27:22,430 To je docela tajemný, ale je to zástupce 606 00:27:22,430 --> 00:27:26,120 z mnoha jazyků v těchto dnech, že mají spoustu závorek a kudrnaté 607 00:27:26,120 --> 00:27:28,630 šle a uvozovky a středníky. 608 00:27:28,630 --> 00:27:30,780 A mnoho z této syntaktický věci, které není 609 00:27:30,780 --> 00:27:32,450 vůbec intelektuálně zajímavé. 610 00:27:32,450 --> 00:27:35,790 Ve skutečnosti, to je naprostý rozptýlení od velmi jednoduchých nápadů 611 00:27:35,790 --> 00:27:37,370 že nám hledí do tváře. 612 00:27:37,370 --> 00:27:41,760 Tento program, jak by se dalo jen hádat, tiskne na něčí obrazovce počítače 613 00:27:41,760 --> 00:27:44,070 se slova "Hello čárka světa." 614 00:27:44,070 --> 00:27:44,860 To je všechno. 615 00:27:44,860 --> 00:27:46,580 Tak jasně, že je spousta věcí, které je 616 00:27:46,580 --> 00:27:48,970 dostat v cestě Existuje nějaký samozřejmost, 617 00:27:48,970 --> 00:27:52,490 ale bude to velmi rychle vklouznout pryč a zcela intuitivní. 618 00:27:52,490 --> 00:27:55,617 >> Ve skutečnosti to, co budeme dělat dnes je destilovat to poměrně složitý 619 00:27:55,617 --> 00:27:58,950 hledáte program, který zase přijdeš pochopit rychle, ale k něčemu 620 00:27:58,950 --> 00:27:59,710 mnohem jednodušší. 621 00:27:59,710 --> 00:28:01,640 Řekněme, že to, co máme na mysli. 622 00:28:01,640 --> 00:28:05,590 Pojďme nakreslit obrázek toho, co máme na mysli, prostřednictvím těchto dílků zde. 623 00:28:05,590 --> 00:28:09,110 >> Tak tohle je programování jazyk známý jako Scratch. 624 00:28:09,110 --> 00:28:11,080 To bylo vyvinuto MIT Media Lab. 625 00:28:11,080 --> 00:28:14,830 A to, co uvidíte v problému nastavení na nulu, které budou zveřejněny později v noci, 626 00:28:14,830 --> 00:28:18,980 budeme muset jít na to URL zde scratch.mit.edu. 627 00:28:18,980 --> 00:28:20,940 A oni mají web rozhraní, přes které vychází 628 00:28:20,940 --> 00:28:22,540 budete psát svůj první program. 629 00:28:22,540 --> 00:28:25,330 Nebo ty z vás s před zkušenosti, váš druhý program, 630 00:28:25,330 --> 00:28:28,090 ale v prostředí, které je asi trochu neznámá a že 631 00:28:28,090 --> 00:28:32,930 bude tlačit, abyste něco vytvořit Pomocí tohoto velmi vizuální prostředí. 632 00:28:32,930 --> 00:28:35,940 >> A teď, co budu dělat tady je otevřít program sám. 633 00:28:35,940 --> 00:28:41,911 Existuje nejen jako webový prohlížeč, ale také jako ke stažení programu 634 00:28:41,911 --> 00:28:44,660 takže můžete skutečně použít v případě, že nemáte přístup k internetu. 635 00:28:44,660 --> 00:28:46,743 A já budu dělat, že Tady, v Sanders, jen 636 00:28:46,743 --> 00:28:49,580 v případě, Wi-Fi, není spolupracovat extra dobře. 637 00:28:49,580 --> 00:28:52,640 A to, co budu dělat, je bod z několika vlastností tohoto programu. 638 00:28:52,640 --> 00:28:55,720 Tak, aby bylo jasno, já mám jen double klepnutí na ikonu na mém desktopu, 639 00:28:55,720 --> 00:28:59,830 nebo ekvivalentně šel do scratch.mit.edu, a to vytáhl toto okno. 640 00:28:59,830 --> 00:29:01,650 Jedná se o programovací prostředí. 641 00:29:01,650 --> 00:29:04,110 To je kus softwaru, který někteří z našich přátel na MIT 642 00:29:04,110 --> 00:29:08,850 napsal, že ať je nás a píšete programy v jazyce s názvem Scratch. 643 00:29:08,850 --> 00:29:12,010 >> Teď se to stane, že je kočka, která je také pojmenována Scratch 644 00:29:12,010 --> 00:29:13,890 a to je jeho svět, ve kterém žije. 645 00:29:13,890 --> 00:29:17,175 Jedná se o fázi, tak říkajíc, že obdélník v levém horním rohu. 646 00:29:17,175 --> 00:29:18,800 A to nemusí vypadat jako kočka. 647 00:29:18,800 --> 00:29:20,591 Můžete ho hledat jako nic a vy 648 00:29:20,591 --> 00:29:23,700 může mít mnoho takových skřítky, nebo znaky, v programu. 649 00:29:23,700 --> 00:29:27,450 Mezitím, tady na daleko Dobře, je to velký nepopsaný list. 650 00:29:27,450 --> 00:29:30,260 A to je místo, kde, v okamžiku, se chystáme začít programovat 651 00:29:30,260 --> 00:29:32,750 přetažením Tyto grafické puzzle 652 00:29:32,750 --> 00:29:35,300 kousky, které jsou přímo tady uprostřed. 653 00:29:35,300 --> 00:29:38,140 A je tu způsob, jak víc, než budeme trávit čas tady ve třídě 654 00:29:38,140 --> 00:29:40,080 protože zjistíte, že všichni jsou docela intuitivní. 655 00:29:40,080 --> 00:29:41,788 Opět platí, že je navržen pro děti, ale 656 00:29:41,788 --> 00:29:45,759 použít k šprýmaři odděleně někteří z těch, základní myšlenky proměnných, smyčky, 657 00:29:45,759 --> 00:29:48,050 podmínky, a brzy se věci jako funkce a události 658 00:29:48,050 --> 00:29:51,810 a nitě a jiné ozdobné věci, které jsme si dostat se zanedlouho skutečně vytvořit 659 00:29:51,810 --> 00:29:53,840 něco od nuly. 660 00:29:53,840 --> 00:29:54,810 Slovní hříčka určena. 661 00:29:54,810 --> 00:29:58,740 >> A teď, co budu dělat, je zde klikněte na ne pohyb, ale kontrolu. 662 00:29:58,740 --> 00:30:01,400 A to je jen kategorizace tady-- 663 00:30:01,400 --> 00:30:03,150 a vidím jiný Barva sada bloků. 664 00:30:03,150 --> 00:30:05,030 Ale všimněte si, že několik známých slov. 665 00:30:05,030 --> 00:30:07,830 "Je-li" a "else if" a "opakování". 666 00:30:07,830 --> 00:30:10,440 A asi tušíte to připomíná pobočky, 667 00:30:10,440 --> 00:30:12,870 nebo podmínky jsme viděli, a i smyčka konstrukce. 668 00:30:12,870 --> 00:30:14,760 Takže máme tady v podobných bloků. 669 00:30:14,760 --> 00:30:16,720 Ale nejzajímavější jeden je tohle tady. 670 00:30:16,720 --> 00:30:20,690 Je-li tato zelená vlajka klepnutí to, pro ty, kteří s předchozím programování 671 00:30:20,690 --> 00:30:23,110 zkušenosti, je ekvivalentní na hlavní funkci. 672 00:30:23,110 --> 00:30:25,300 Ale pro ty, kteří neznají, je to kousek skládačky 673 00:30:25,300 --> 00:30:27,320 že bude nastartování celý náš program. 674 00:30:27,320 --> 00:30:31,350 To doslova znamená, že když odejdu, v tomto programu, a klepněte na zelenou flag-- 675 00:30:31,350 --> 00:30:35,560 které můžete vidět tady v v levém horním rohu uživatelského rozhraní, 676 00:30:35,560 --> 00:30:38,570 tak vidět zelenou vlajku vedle červené stopce? 677 00:30:38,570 --> 00:30:41,475 Když kliknu, že můj Program bude spuštěn. 678 00:30:41,475 --> 00:30:43,850 Teď jdu něco dělat super jednoduché s Scratch. 679 00:30:43,850 --> 00:30:46,640 Chystám se jít dopředu a přejděte na panel vypadá 680 00:30:46,640 --> 00:30:50,010 tady, kde mám spoustu fialové skládačky, 681 00:30:50,010 --> 00:30:53,887 a já jdu dál a dělat něco super jednoduché, jako, řekněme. 682 00:30:53,887 --> 00:30:55,720 A potom-- upozornění tento text v bílém poli 683 00:30:55,720 --> 00:30:59,290 je editable-- budu říkat "Hello world", stejně jako my 684 00:30:59,290 --> 00:31:01,470 bylo v té textové verze před chvílí. 685 00:31:01,470 --> 00:31:05,920 A teď když jsem jít a klikněte na toto zelená vlajka, jsem naprogramován. 686 00:31:05,920 --> 00:31:07,810 Není to zvlášť zajímavý program, 687 00:31:07,810 --> 00:31:09,760 ale udělal jsem počítač něco udělat. 688 00:31:09,760 --> 00:31:13,120 Začal jsem program, a to udělal to, co jsem řekl, že to dělat. 689 00:31:13,120 --> 00:31:16,170 Nyní mohou i nadále drag and drop stále více a více z těchto dílků 690 00:31:16,170 --> 00:31:19,220 a jdou do sebe zapadají, ale Pojďme plácnout nějakou terminologii tady 691 00:31:19,220 --> 00:31:21,680 že uvidíme opakující se v dalším průběhu, 692 00:31:21,680 --> 00:31:24,610 a opravdu celé počítačové vědy a programování obecně. 693 00:31:24,610 --> 00:31:27,990 >> Tento "říkají" blok, ve fialové, pojďme začněte volat prohlášení. 694 00:31:27,990 --> 00:31:29,240 Je to jako konstatování faktu. 695 00:31:29,240 --> 00:31:30,380 Udělej to. 696 00:31:30,380 --> 00:31:32,590 Takže, je to kategorie pokyny, které 697 00:31:32,590 --> 00:31:36,760 může krmit počítač jako součást programu nebo algoritmu. 698 00:31:36,760 --> 00:31:39,270 A aby bylo jasno, vy jste pravděpodobně považovat za samozřejmost 699 00:31:39,270 --> 00:31:41,930 že máte programy v počítači. 700 00:31:41,930 --> 00:31:45,850 A oni jsou druh algoritmů, ale Program je opravdu spousta algoritmů 701 00:31:45,850 --> 00:31:47,160 že někteří lidé psal. 702 00:31:47,160 --> 00:31:49,040 Jsou baleny ji a ho prodali, takže vás, 703 00:31:49,040 --> 00:31:51,330 nebo oni zveřejněny na internetových stránkách si můžete stáhnout. 704 00:31:51,330 --> 00:31:54,930 Takže program je jen Celá banda nul a jedniček 705 00:31:54,930 --> 00:31:56,970 že nějak lidé vytvořili. 706 00:31:56,970 --> 00:32:00,080 A ty vzory nul a Ty představují věci, nakonec, 707 00:32:00,080 --> 00:32:04,030 jako "říkají, Hello World" nebo "PLAY tato hudba "nebo" přehrát toto video " 708 00:32:04,030 --> 00:32:05,129 nebo "poslat e-mail." 709 00:32:05,129 --> 00:32:06,920 Ale vrátíme se do mnohem více detail toho, co 710 00:32:06,920 --> 00:32:08,780 Program je, když, sami, napište je. 711 00:32:08,780 --> 00:32:11,320 >> Zde je další statement-- "Počkejte na jednu sekundu." 712 00:32:11,320 --> 00:32:14,330 Nechtěl jsem použít ještě, ale pokud chci můj program se zastaví na chvíli 713 00:32:14,330 --> 00:32:16,540 něco udělat, můžu říct, že tak učinit. 714 00:32:16,540 --> 00:32:18,450 Počkejte jednu sekundu. 715 00:32:18,450 --> 00:32:20,150 Teď ještě jeden by mohl být "přehrávat zvuk." 716 00:32:20,150 --> 00:32:23,270 Takže, to je jedinečné nuly, to má schopnost přehrávat zvuky. 717 00:32:23,270 --> 00:32:26,130 Takže tvrzení bych mohl Použití je tady, "přehrávat zvuk." 718 00:32:26,130 --> 00:32:29,530 Mezitím, Boolean výraz, takže je to milovník slovo 719 00:32:29,530 --> 00:32:34,490 pojmenovaný po jen chlápek jménem Mr. Bool, a to je vše o otázku. 720 00:32:34,490 --> 00:32:37,470 Pravda, nebo false-- je myš dolů? 721 00:32:37,470 --> 00:32:41,100 Boolean výraz je prostě nějaký výraz v angličtině 722 00:32:41,100 --> 00:32:42,860 která je buď true nebo false. 723 00:32:42,860 --> 00:32:44,140 Zapnutý nebo vypnutý. 724 00:32:44,140 --> 00:32:45,130 Jedna nebo nula. 725 00:32:45,130 --> 00:32:46,960 Můžete si ji v mnoha různými způsoby, 726 00:32:46,960 --> 00:32:49,220 ale je to buď pravda, nebo tato falešná nakonec. 727 00:32:49,220 --> 00:32:52,540 Takže "mouse down otazník," že by Boolean výraz. 728 00:32:52,540 --> 00:32:54,300 A vy můžete myslet na jiné, možná. 729 00:32:54,300 --> 00:32:57,510 Například, "je vlevo číslo méně než pravé číslo? " 730 00:32:57,510 --> 00:32:59,410 I to by bylo Boolean výraz. 731 00:32:59,410 --> 00:33:01,540 "Méně než" je logický výraz. 732 00:33:01,540 --> 00:33:03,280 >> Ten taky, "dojemné ukazatel myši." 733 00:33:03,280 --> 00:33:05,196 Nejsem si jistý, proč se nazval ukazatel myši. 734 00:33:05,196 --> 00:33:08,430 To jen znamená, že je kurzor, je šipka na obrazovce dotknete kočku, 735 00:33:08,430 --> 00:33:09,022 například. 736 00:33:09,022 --> 00:33:10,480 Nebo nějaký jiný aspekt obrazovky. 737 00:33:10,480 --> 00:33:13,710 A to je otázka, znovu a že označuje logický výraz. 738 00:33:13,710 --> 00:33:17,130 Něco, co by mohlo chtějí použít v takovém stavu. 739 00:33:17,130 --> 00:33:19,100 Takže budeme se k tomu za chvíli. 740 00:33:19,100 --> 00:33:20,350 Můžete si "a" věci dohromady. 741 00:33:20,350 --> 00:33:23,099 Takže, chcete-li zkontrolovat, zda tento je případ, a že je tomu tak, 742 00:33:23,099 --> 00:33:25,580 můžete použít "a" blok, jako je tento. 743 00:33:25,580 --> 00:33:26,850 A tady je to podmínka. 744 00:33:26,850 --> 00:33:31,290 Všimněte si tvaru malého otvoru v horní části této žluté puzzle, 745 00:33:31,290 --> 00:33:34,480 to připomíná tvarem že jsme právě viděli před chvílí. 746 00:33:34,480 --> 00:33:37,920 Každá z těchto booleovských výrazů mají tyto špičaté hrany 747 00:33:37,920 --> 00:33:39,030 na levé a pravé straně. 748 00:33:39,030 --> 00:33:43,140 A to proto, že lidé z MIT se rozhodl že vizuálně dopravních tvarů, 749 00:33:43,140 --> 00:33:45,780 můžete trochu pomoci lidem, studenti i děti, 750 00:33:45,780 --> 00:33:47,650 tak nějak vyplnit prázdná místa doslova. 751 00:33:47,650 --> 00:33:49,780 >> Teď, když puzzle-- že otvor je trochu malý, 752 00:33:49,780 --> 00:33:52,750 a jak uvidíme v programu, v Scratch, bude růst, aby se vešly. 753 00:33:52,750 --> 00:33:54,830 To bude udržovat svůj tvar, nakonec. 754 00:33:54,830 --> 00:33:58,350 Takže stav, pojďme se rozhodnete "Měl jsem něco udělat, nebo ne?" 755 00:33:58,350 --> 00:34:00,470 Boolean výraz je však otázka 756 00:34:00,470 --> 00:34:04,100 používáte rozhodnout, mám jít na doleva nebo mám jít doprava 757 00:34:04,100 --> 00:34:06,710 když se setkám to takzvaný rozcestí? 758 00:34:06,710 --> 00:34:07,980 Můžete mít dvě větve. 759 00:34:07,980 --> 00:34:10,909 Pokud je něco pravda, to to, jinak jít tudy, 760 00:34:10,909 --> 00:34:14,590 nebo můžete jen dělat vůbec nic Ostatně, tento blok samozřejmostí. 761 00:34:14,590 --> 00:34:16,360 Stejně tak můžeme hnízdo tyto věci. 762 00:34:16,360 --> 00:34:20,204 Takže pokud chcete ztrojnásobit vidličku silnice, a to buď tohle, nebo to či ono, 763 00:34:20,204 --> 00:34:21,870 Stačí si jen hnízdo tyto věci dohromady. 764 00:34:21,870 --> 00:34:24,520 A to začíná být trochu ošklivý, případně, pro jistotu, 765 00:34:24,520 --> 00:34:26,120 ale logika je stále stejný. 766 00:34:26,120 --> 00:34:28,000 Můžete si doslova přečíst to shora dolů 767 00:34:28,000 --> 00:34:33,290 a říká, že to, co means--, pokud to je pravda, to, else if else. 768 00:34:33,290 --> 00:34:36,179 >> Smyčka nedostane jednodušší Scratch. 769 00:34:36,179 --> 00:34:37,422 Forever proveďte následující kroky. 770 00:34:37,422 --> 00:34:39,880 Teď si asi nemyslel, že tě může udělat hodně, protože tam není 771 00:34:39,880 --> 00:34:42,839 velký prostor mezi horní a Spodní část tohoto otvoru kousek skládačky. 772 00:34:42,839 --> 00:34:45,671 Ale uvidíte Scratch bude růst, aby se vešly co nejvíce skládačky 773 00:34:45,671 --> 00:34:47,060 jak chcete nacpat tam. 774 00:34:47,060 --> 00:34:48,960 Další smyčka může být vyjádřil se opakuje. 775 00:34:48,960 --> 00:34:51,590 Pokud víte předem, "já Chcete něco udělat 10 krát, " 776 00:34:51,590 --> 00:34:54,010 stačí říct Scratch něco udělat 10 krát. 777 00:34:54,010 --> 00:34:57,260 A mezitím, můžeme mít proměnné. 778 00:34:57,260 --> 00:34:59,572 Tak tady je libovolný jeden, to je oranžová v tomto případě, 779 00:34:59,572 --> 00:35:00,780 a to je vichřice tour. 780 00:35:00,780 --> 00:35:04,540 Opět platí, že najdete to velmi dobře přístupný Jakmile začnete kliknutím myší. 781 00:35:04,540 --> 00:35:07,930 Já jsem pojmenoval svou proměnné n, ale mohl označil to, co chci, 782 00:35:07,930 --> 00:35:11,280 a já jsem to nastavení je zde, v Tato libovolný příklad, na nulu. 783 00:35:11,280 --> 00:35:14,250 >> Nyní vidí program jako ahoj svět není tak přesvědčivé, 784 00:35:14,250 --> 00:35:17,900 tak se pojďme skutečně otevřít něco že bývalý student provést. 785 00:35:17,900 --> 00:35:23,100 Nech mě jít napřed a otevřít, Například tenhle tady, 786 00:35:23,100 --> 00:35:26,780 za což bych rád mít dobrovolníka. 787 00:35:26,780 --> 00:35:28,450 Dobře, jak o-- pojďme dál. 788 00:35:28,450 --> 00:35:29,240 Ano, pojď nahoru. 789 00:35:29,240 --> 00:35:30,056 Jak se jmenujete? 790 00:35:30,056 --> 00:35:30,635 >> ABBY: Abby. 791 00:35:30,635 --> 00:35:32,010 David J. Malan: Abby, pojď nahoru. 792 00:35:32,010 --> 00:35:35,930 Takže už jste někdy hráli tato hra předtím? 793 00:35:35,930 --> 00:35:36,430 ABBY: Ne 794 00:35:36,430 --> 00:35:37,370 David J. Malan: Dobře. 795 00:35:37,370 --> 00:35:38,380 Davide, rád tě poznávám. 796 00:35:38,380 --> 00:35:39,620 Pojď. 797 00:35:39,620 --> 00:35:42,300 A co je váš dramaturgický pozadí, pokud existují. 798 00:35:42,300 --> 00:35:43,914 >> ABBY: Naučil jsem se trochu C ++. 799 00:35:43,914 --> 00:35:45,580 David J. Malan: Naučil ses něco C ++. 800 00:35:45,580 --> 00:35:48,382 A co je vaše hra hraje na pozadí? 801 00:35:48,382 --> 00:35:49,505 >> ABBY: Není moc. 802 00:35:49,505 --> 00:35:51,130 David J. Malan: OK, takže to vezmu. 803 00:35:51,130 --> 00:35:52,700 Takže tady je návod, jak se hra bude fungovat. 804 00:35:52,700 --> 00:35:54,510 Chystám se jít dopředu a klikněte na zelenou vlaječkou, která 805 00:35:54,510 --> 00:35:55,830 je tady v pravém horním rohu. 806 00:35:55,830 --> 00:35:59,710 Nyní je Váš předchůdce ve třídě vám dal nějaké instrukce zde. 807 00:35:59,710 --> 00:36:02,306 A za chvíli to, říká, že "prostor pro zahájení." 808 00:36:02,306 --> 00:36:03,680 Takže jděte do toho a stiskněte mezerník. 809 00:36:03,680 --> 00:36:05,507 >> Počítačová hra: Pikachu. 810 00:36:05,507 --> 00:36:08,340 David J. Malan: A cílem je chytit potraviny, jak je znázorněno zde 811 00:36:08,340 --> 00:36:09,320 na levé straně. 812 00:36:09,320 --> 00:36:11,388 A [neslyšitelné] 813 00:36:11,388 --> 00:36:15,356 >> [GAME přehrávání hudby] 814 00:36:15,356 --> 00:36:27,280 815 00:36:27,280 --> 00:36:29,610 >> David J. Malan: Aww, dobře, Děkuji vám za hraní. 816 00:36:29,610 --> 00:36:32,800 Máme tu trochu dárek na rozloučenou pro vás. 817 00:36:32,800 --> 00:36:35,574 Máme CS50 stres míč, pokud chcete vybrat. 818 00:36:35,574 --> 00:36:36,820 Dobře, dobře, že vás poznávám. 819 00:36:36,820 --> 00:36:39,680 Děkuji, že jste přišli a náročné. 820 00:36:39,680 --> 00:36:42,410 821 00:36:42,410 --> 00:36:46,910 Takže máme větší důraz koule, tak pojďme udělat ještě jeden příklad motivovat. 822 00:36:46,910 --> 00:36:48,150 Dobrovolník? 823 00:36:48,150 --> 00:36:50,510 Dobře, a co tady vpředu. 824 00:36:50,510 --> 00:36:51,250 Jak se jmenujete? 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 Pojď nahoru, Phillip. 828 00:36:54,530 --> 00:36:57,340 Takže, Phillip bude napadal s jinou hru 829 00:36:57,340 --> 00:37:00,840 že jeden z vašich předchůdců napsal jako součást problému nastavení na nulu, 830 00:37:00,840 --> 00:37:03,510 volal Ivy Nejtěžší hra. 831 00:37:03,510 --> 00:37:05,980 A uvidíme, v několika chvíle, co se tím míní. 832 00:37:05,980 --> 00:37:07,400 Phillip, rád tě poznávám. 833 00:37:07,400 --> 00:37:09,060 Jaká je vaše pozadí? 834 00:37:09,060 --> 00:37:10,310 Phillip: Hotovo hodně kódování. 835 00:37:10,310 --> 00:37:11,110 Hotovo trochu hraní, taky. 836 00:37:11,110 --> 00:37:11,570 >> David J. Malan: OK. 837 00:37:11,570 --> 00:37:12,620 Mám spoustu her, taky. 838 00:37:12,620 --> 00:37:14,230 A už jste hráli tuto hru předtím? 839 00:37:14,230 --> 00:37:14,730 >> Phillip: Ne 840 00:37:14,730 --> 00:37:16,438 David J. Malan: All Dobře, takže jdeme na to. 841 00:37:16,438 --> 00:37:18,434 Chystám se jít dopředu a klepněte na zelenou vlajku. 842 00:37:18,434 --> 00:37:24,160 >> [GAME MUSIC] 843 00:37:24,160 --> 00:37:27,770 >> [MUSIC MC HAMMER, "U nemůže dotknout této"] 844 00:37:27,770 --> 00:38:39,790 845 00:38:39,790 --> 00:38:41,635 >> Phillip: [neslyšitelné] 846 00:38:41,635 --> 00:38:42,760 David J. Malan: [neslyšitelné] 847 00:38:42,760 --> 00:38:44,740 Phillip: [neslyšitelné] 848 00:38:44,740 --> 00:38:49,056 [Smích] 849 00:38:49,056 --> 00:38:50,680 [MUSIC MC HAMMER, "U nemůže dotknout této"] 850 00:38:50,680 --> 00:38:52,660 David J. Malan: [neslyšitelné] Pluh přes to. 851 00:38:52,660 --> 00:38:54,094 Phillip: [neslyšitelné] 852 00:38:54,094 --> 00:38:55,135 David J. Malan: Jdi do toho. 853 00:38:55,135 --> 00:39:01,570 [MUSIC MC HAMMER, "U nemůže dotknout této"] 854 00:39:01,570 --> 00:39:15,832 855 00:39:15,832 --> 00:39:16,915 David J. Malan: Dobře. 856 00:39:16,915 --> 00:39:18,400 Blahopřejeme. 857 00:39:18,400 --> 00:39:25,150 >> [APPLAUSE] 858 00:39:25,150 --> 00:39:27,330 >> David J. Malan: Budeme Příspěvek, který on-line později tak 859 00:39:27,330 --> 00:39:29,820 které můžete odkládat s tím, jak dobře. 860 00:39:29,820 --> 00:39:32,550 Princeton přijde dál, po tom. 861 00:39:32,550 --> 00:39:35,470 >> Takže teď pojďme vlastně postupovat začít od nuly, 862 00:39:35,470 --> 00:39:39,310 abych tak řekl, a vlastně stavět až do můžeme odhalit, některé z těchto myšlenek 863 00:39:39,310 --> 00:39:41,970 a dostat se do něčeho ještě složitější do konce. 864 00:39:41,970 --> 00:39:45,240 Chystám se jít sem a jdu jít dopředu a vytvořit nový soubor. 865 00:39:45,240 --> 00:39:47,460 Takže znovu, problém se set chodit můžete pomocí některé z těchto kroků. 866 00:39:47,460 --> 00:39:49,300 Ale vše, co jsem udělal, bylo jít do nabídky Soubor a já 867 00:39:49,300 --> 00:39:52,760 řekl: "nové", a tak stejně jako Microsoft Word, nebo jakýkoli program, jako je to. 868 00:39:52,760 --> 00:39:56,630 >> A pojďme pokračovat teď-- a my implementován "Hello world" před chvílí, 869 00:39:56,630 --> 00:39:58,410 ale pojďme udělat něco trochu hezčí. 870 00:39:58,410 --> 00:40:00,150 Chystám se jít do akce. 871 00:40:00,150 --> 00:40:02,350 A já budu dělat ", když zelená vlajka klikli. " 872 00:40:02,350 --> 00:40:05,830 A pak budu používat, řekněme, pobočku. 873 00:40:05,830 --> 00:40:07,610 Takže budu používat "kdyby" stavu. 874 00:40:07,610 --> 00:40:10,940 A všimněte si, jak, jakmile se dostanu blízko na to, že chce, aby do sebe zapadají. 875 00:40:10,940 --> 00:40:13,020 Tak jsem se pustil a zaklapne dohromady. 876 00:40:13,020 --> 00:40:15,150 A teď můžu udělat něco zajímavého. 877 00:40:15,150 --> 00:40:19,150 Kdybych procházet tady, jdu vidět spoustu bloků. 878 00:40:19,150 --> 00:40:22,620 Pokud jdu do "data" - dovolte mi, abych zoom v-- Tam je něco o proměnných. 879 00:40:22,620 --> 00:40:26,160 Pokud jdu do "pohybu", můžete zřejmě obrátit věci kolem. 880 00:40:26,160 --> 00:40:28,760 Pokud jdu na "provozovatele" - oh, to je zajímavé, 881 00:40:28,760 --> 00:40:31,000 Mohu si vybrat náhodné číslo. 882 00:40:31,000 --> 00:40:34,119 Tak mě nech dělat něco jen s určitou pravděpodobností, jen proto, že. 883 00:40:34,119 --> 00:40:36,160 Chystám se jít dopředu a přetáhněte tento kousek skládačky, 884 00:40:36,160 --> 00:40:37,910 to je, že méně než blok, takže je to jen 885 00:40:37,910 --> 00:40:39,480 "Je toto číslo menší, než tahle?" 886 00:40:39,480 --> 00:40:42,438 Ale já nechci pevný kód číslo protože to bylo docela zbytečné. 887 00:40:42,438 --> 00:40:46,270 Takže budu táhnout tento kus tu, a všimněte si, jak to zapadne dovnitř, 888 00:40:46,270 --> 00:40:49,480 a teď nech mě jít dopředu a říct "pokud číslo, které je vybrána náhodně 889 00:40:49,480 --> 00:40:51,820 je méně než šest, proveďte následující kroky. " 890 00:40:51,820 --> 00:40:52,790 A teď, proč méně než šest? 891 00:40:52,790 --> 00:40:56,400 Co pravděpodobnost je to skutečně dám já, jen intuitivně? 892 00:40:56,400 --> 00:40:57,440 O 50%, ne? 893 00:40:57,440 --> 00:41:01,190 Pokud je číslo, které je asi náhodně mezi 1 a 10 je menší než šest, 894 00:41:01,190 --> 00:41:03,480 jasně, že je to jeden, dva, tři, čtyři, nebo pět. 895 00:41:03,480 --> 00:41:06,740 A tak, co se děje se mi 50% pravděpodobnost toho, co se děje? 896 00:41:06,740 --> 00:41:09,890 >> Tak pojďme něco takového tohle, "Přehrát zvuk mňau." 897 00:41:09,890 --> 00:41:11,750 A oznámení, opět skládačky roste 898 00:41:11,750 --> 00:41:13,700 , aby se vešly, tak dlouho, dokud se tvary odpovídají. 899 00:41:13,700 --> 00:41:14,910 To je to, co je důležité. 900 00:41:14,910 --> 00:41:18,000 Nechte mě přejít na Scratch tady a klepněte na tlačítko "Play". 901 00:41:18,000 --> 00:41:19,300 Nic se neděje. 902 00:41:19,300 --> 00:41:21,160 Je to chyba? 903 00:41:21,160 --> 00:41:21,999 Ne, není nutné. 904 00:41:21,999 --> 00:41:24,040 To by mohlo být, že jen byl zvolen větší počet. 905 00:41:24,040 --> 00:41:25,762 Tak jdeme na to znovu. 906 00:41:25,762 --> 00:41:27,550 Nic. 907 00:41:27,550 --> 00:41:28,344 >> [MEOW] 908 00:41:28,344 --> 00:41:29,510 David J. Malan: Tady to je. 909 00:41:29,510 --> 00:41:30,280 [MEOW] 910 00:41:30,280 --> 00:41:31,690 David J. Malan: Opět. 911 00:41:31,690 --> 00:41:32,300 Ne 912 00:41:32,300 --> 00:41:32,922 >> [Mňoukání] 913 00:41:32,922 --> 00:41:35,380 David J. Malan: Takže, pokud jste někdy hráli hru, samozřejmě, 914 00:41:35,380 --> 00:41:38,500 kde věci se děje náhodně, jako padouchy přichází, nebo ne 915 00:41:38,500 --> 00:41:41,350 přichází na obrazovku, nebo věci padají, nebo ne klesá, 916 00:41:41,350 --> 00:41:43,610 to je jen proto, že něco výborný jednoduché, jako se to děje. 917 00:41:43,610 --> 00:41:46,010 Vyberte si náhodné číslo, a je-li je to méně, než nějakou hodnotu, 918 00:41:46,010 --> 00:41:49,100 Možná, že to, nebo možná to. 919 00:41:49,100 --> 00:41:51,340 Můžeme začlenit , že do stavu. 920 00:41:51,340 --> 00:41:52,600 Pojďme dělat něco jiného. 921 00:41:52,600 --> 00:41:53,559 >> Dovolte mi, abych hodit to pryč. 922 00:41:53,559 --> 00:41:56,058 Můžete se zbavit věcí, které pouhým přetažením ho doleva 923 00:41:56,058 --> 00:41:56,810 a pustil. 924 00:41:56,810 --> 00:42:00,310 Nech mě jít napřed a to navždy blok a velmi rychle něco nepříjemné. 925 00:42:00,310 --> 00:42:03,010 Nech mě jít napřed a říci: "Přehrát zvuk mňau." 926 00:42:03,010 --> 00:42:06,620 Ale já nechci být příliš nepříjemné, tak ať mi chytit tento blok, 927 00:42:06,620 --> 00:42:09,090 "Počkejte jednu vteřinu" a oznámení tam není místo pro něj. 928 00:42:09,090 --> 00:42:11,310 Ale pokud jste dostatečně blízko, chce tam jít. 929 00:42:11,310 --> 00:42:14,100 Tak jsem se pustil, a to bude rostou vyplnit blok. 930 00:42:14,100 --> 00:42:15,932 Takže teď je to smyčka. 931 00:42:15,932 --> 00:42:16,432 [Mňoukání] 932 00:42:16,432 --> 00:42:18,473 David J. Malan: Jsem doslova dělat navždy. 933 00:42:18,473 --> 00:42:19,360 Znovu a znovu. 934 00:42:19,360 --> 00:42:21,510 To prostě není přirozeně znějící. 935 00:42:21,510 --> 00:42:24,800 Nech mě jít napřed a změnit Nechcete-li jednu sekundu na dvě sekundy 936 00:42:24,800 --> 00:42:25,854 a stiskněte klávesu Enter. 937 00:42:25,854 --> 00:42:28,770 A co je hezké o Scratch je že byste mohli naprogramovat interaktivně. 938 00:42:28,770 --> 00:42:32,450 Provést změnu, možná stiskněte klávesu Enter nebo Přehrát znovu, a to bude jen dál. 939 00:42:32,450 --> 00:42:34,962 No, teď, proč to děláme něco trochu hezčí? 940 00:42:34,962 --> 00:42:39,680 Spíše než dělat všechno od začátku, nech mě jít napřed a otevřít zálohu 941 00:42:39,680 --> 00:42:43,180 z jednoho, že jsem předem pečené, s názvem "Pet kočka." 942 00:42:43,180 --> 00:42:44,920 A budeme odesílat všechny tyto soubory on-line, 943 00:42:44,920 --> 00:42:48,464 a problém nastavit nulový vám řekne, jak se k nim dostat a otevřít je. 944 00:42:48,464 --> 00:42:49,880 A oznámení, je to docela jednoduché. 945 00:42:49,880 --> 00:42:53,860 Ale předem, zdá se, že jsem chytil "na věčné časy" blok, takže mám smyčku. 946 00:42:53,860 --> 00:42:55,500 A pak jsem dostal "kdyby" stavu. 947 00:42:55,500 --> 00:42:57,410 Mám logický výraz. 948 00:42:57,410 --> 00:43:00,100 >> Tak v angličtině, jen se podíval na to, a to zejména pokud jste nikdy 949 00:43:00,100 --> 00:43:04,278 naprogramováno, jen intuitivně, co to bude dělat, tento program? 950 00:43:04,278 --> 00:43:06,910 >> [Publikum klábosení] 951 00:43:06,910 --> 00:43:09,960 >> David J. Malan: Pokud má Vaše domácí zvíře kočka, kočka bude mňau, že jo? 952 00:43:09,960 --> 00:43:14,560 Vzhledem k tomu, "navždy odškrtnutím" je ukazatel myši dotýká kočku. 953 00:43:14,560 --> 00:43:17,630 Takže aby bylo jasno, a já jsem neřekl předtím, všechny tyto puzzle 954 00:43:17,630 --> 00:43:20,750 kusy a skript, který jsme spojili je do, 955 00:43:20,750 --> 00:43:25,510 abych tak řekl, skript je synonymem programu, opravdu patří do této kočky. 956 00:43:25,510 --> 00:43:30,110 A důvod, proč je-- protože upozornění jak je zvýrazněn ten samý kočka tady, 957 00:43:30,110 --> 00:43:32,710 tady si můžete vytvořit Druhá kočka nebo pes, nebo opravdu 958 00:43:32,710 --> 00:43:33,970 co chcete graficky. 959 00:43:33,970 --> 00:43:35,900 Můžete importovat něco z Photoshopu, nebo podobně, 960 00:43:35,900 --> 00:43:38,300 a integrovat něco, pokud si chcete, aby to pro projekt. 961 00:43:38,300 --> 00:43:40,174 A co najdete, nakonec, je to, že vás 962 00:43:40,174 --> 00:43:44,800 Můžete přidat skripty, přidat puzzle kusy, jednotlivé znaky. 963 00:43:44,800 --> 00:43:47,210 Takže to vše patří k tento konkrétní kočka. 964 00:43:47,210 --> 00:43:51,770 Takže teď, když jsem do toho pusťte a hrát tento program, nic se neděje. 965 00:43:51,770 --> 00:43:52,970 Ale to je běh. 966 00:43:52,970 --> 00:43:56,364 Program je v tomto navždy smyčky druh čekání na to, co se stane? 967 00:43:56,364 --> 00:43:57,230 >> [Publikum klábosení] 968 00:43:57,230 --> 00:43:58,130 >> David J. Malan: Chcete-li pohladit kočku. 969 00:43:58,130 --> 00:43:59,800 Takže když pohnu myší směrem ho-- 970 00:43:59,800 --> 00:44:02,420 >> [Mňoukání] 971 00:44:02,420 --> 00:44:04,450 >> David J. Malan: Takže teď Já jsem hladila kočku. 972 00:44:04,450 --> 00:44:07,330 Mezitím můžeme mít dvojí větev. 973 00:44:07,330 --> 00:44:10,370 Nech mě jít napřed a otevřít up to pet kočka. 974 00:44:10,370 --> 00:44:12,160 Budeme tento post on-line stejně. 975 00:44:12,160 --> 00:44:16,760 To je o něco více komplex, ale samo sebou 976 00:44:16,760 --> 00:44:18,780 můžete hádat, možná co se bude dít. 977 00:44:18,780 --> 00:44:20,160 >> [Mňoukání] 978 00:44:20,160 --> 00:44:23,900 >> David J. Malan: Cat je mňoukání, grand old time. 979 00:44:23,900 --> 00:44:26,690 Ale tento program je samozřejmě s názvem "Nenechte hýčkat kočku," 980 00:44:26,690 --> 00:44:29,350 tak jasně, chci pohladit kočku. 981 00:44:29,350 --> 00:44:30,490 >> [Řvoucí] 982 00:44:30,490 --> 00:44:31,940 >> David J. Malan: Nenechte hýčkat kočku. 983 00:44:31,940 --> 00:44:34,230 Nyní se pojďme podívat na další příklad. 984 00:44:34,230 --> 00:44:38,035 Ten se bude jmenovat "Ahoj, Ahoj, Ahoj," z důvodů 985 00:44:38,035 --> 00:44:40,410 , že bude jasné, protože jakmile jsem se spustit tento thing-- 986 00:44:40,410 --> 00:44:41,401 >> [SEAL BARKING] 987 00:44:41,401 --> 00:44:43,942 David J. Malan: Velmi snadné napsat otravné stírací programy. 988 00:44:43,942 --> 00:44:45,300 [SEAL BARKING] 989 00:44:45,300 --> 00:44:48,540 David J. Malan: Teď nepůjde do skvělého detailu se všemi z nich, 990 00:44:48,540 --> 00:44:51,150 nevšimnout, že je několik nových funkcí zde. 991 00:44:51,150 --> 00:44:55,540 K dispozici je proměnná s názvem "tlumené" a pak je tu spoustu podmínek. 992 00:44:55,540 --> 00:44:57,900 A nyní mi dovolte, abych jen dráždit vás tím, 993 00:44:57,900 --> 00:45:03,170 že pokud ten chlap příliš nepříjemné, Můžu hit mezerník a on se zastaví. 994 00:45:03,170 --> 00:45:05,880 Vzhledem k tomu, role se hraje tyto dva skripty je následující. 995 00:45:05,880 --> 00:45:08,510 Jeden z nich je na tom štěkat každých několik sekund. 996 00:45:08,510 --> 00:45:11,305 Ten druhý je jen čeká pro mě hit mezerníku. 997 00:45:11,305 --> 00:45:14,780 A když to udělám hit mezerník to se změní 998 00:45:14,780 --> 00:45:18,096 stav této proměnné, hodnota této proměnné, je to zřejmě 999 00:45:18,096 --> 00:45:20,470 s názvem "tlumené" Já nevolal to něco jako nuda n, 1000 00:45:20,470 --> 00:45:22,370 Zavolal jsem mu je anglické slovo, "tlumené". 1001 00:45:22,370 --> 00:45:24,740 Od 1-0 nebo 0-1. 1002 00:45:24,740 --> 00:45:26,830 Z true na false nebo false na true. 1003 00:45:26,830 --> 00:45:28,930 A tak si můžete skutečně teď vidět, že vás 1004 00:45:28,930 --> 00:45:31,720 může mít dva skripty, dva programy běží současně, 1005 00:45:31,720 --> 00:45:34,360 a oba z nich mohou sedět ve smyčce něco dělat. 1006 00:45:34,360 --> 00:45:38,067 Čekání na člověka dělat něco jako bít mezerníkem. 1007 00:45:38,067 --> 00:45:38,650 [SEAL BARKING] 1008 00:45:38,650 --> 00:45:40,566 David J. Malan: A teď že je na cestě znovu. 1009 00:45:40,566 --> 00:45:41,640 [SEAL BARKING] 1010 00:45:41,640 --> 00:45:45,220 David J. Malan: Tak co ještě můžeme dělat s těmito příklady? 1011 00:45:45,220 --> 00:45:50,920 Dobře, pojďme do toho a dělat příklad s počítání oveček. 1012 00:45:50,920 --> 00:45:59,210 Budeme pokračovat i v duchu zde of-- pojďme otevřít příklad ovce. 1013 00:45:59,210 --> 00:46:02,460 A oznámení, stejně jako předtím, tentokrát, naštěstí, je trochu méně nepříjemné. 1014 00:46:02,460 --> 00:46:06,940 Jednou jsem narazila hrát tady-- Ale ne, je to nepříjemné. 1015 00:46:06,940 --> 00:46:10,130 Chystá se BAA s určitou pravděpodobností. 1016 00:46:10,130 --> 00:46:11,050 Pojďme si hrát znovu. 1017 00:46:11,050 --> 00:46:15,221 >> [OVCE BLEETING] 1018 00:46:15,221 --> 00:46:18,470 David J. Malan: Jediný rozdíl je jsme změnili kostým, abych tak řekl, 1019 00:46:18,470 --> 00:46:21,710 a my jsme na polovinu a říkat co to skutečný počet je. 1020 00:46:21,710 --> 00:46:24,680 Tak pojďme do toho a tento jeden krok dále. 1021 00:46:24,680 --> 00:46:28,190 A dovolte mi, abych dráždit vás jeden další rys zde. 1022 00:46:28,190 --> 00:46:31,800 Pojďme dál a otevřít program s názvem témata. 1023 00:46:31,800 --> 00:46:36,620 Takže stejně jako můžete mít jeden sprite, které mají více skriptů, 1024 00:46:36,620 --> 00:46:41,250 můžete mít dva skřítky, pták kočka, z nichž každá má svůj vlastní scénář. 1025 00:46:41,250 --> 00:46:43,976 A každý z nich může pracovat současně. 1026 00:46:43,976 --> 00:46:45,980 Pokud jste někdy slyšeli Slovo "multithreading" 1027 00:46:45,980 --> 00:46:49,240 počítač "vícevláknové" znamená to může dělat více věcí najednou, 1028 00:46:49,240 --> 00:46:50,880 a, opravdu, takže mohou poškrábat. 1029 00:46:50,880 --> 00:46:52,690 >> A teď všimnete pták je docela hloupý. 1030 00:46:52,690 --> 00:46:55,100 Je to prostě dělat věci náhodně, odráží mimo obrazovku. 1031 00:46:55,100 --> 00:46:59,460 Je zřejmé, že kočka byla naprogramována tak nějak se hledají možnosti 1032 00:46:59,460 --> 00:47:02,680 domů v na ptáka následujících důvodů vždycky ukázal na něj. 1033 00:47:02,680 --> 00:47:06,176 Až nakonec, když zachycuje skutečné ptáka. 1034 00:47:06,176 --> 00:47:08,550 Takže nebudu zabývat detaily zde, ale můžete druh 1035 00:47:08,550 --> 00:47:12,160 nahlédnout stejné tvary, některé "Pokud" podmínky, některé proměnné, 1036 00:47:12,160 --> 00:47:15,740 Možná, že někteří smyčky, jsou nakonec dělá to samé. 1037 00:47:15,740 --> 00:47:18,400 >> A teď mě nech jít dopředu a otevřete něco bylo celkem jiného, 1038 00:47:18,400 --> 00:47:20,920 dráždit některé z vás, a to zejména ty pohodlnější, 1039 00:47:20,920 --> 00:47:22,760 Co můžete vlastně dělat s tím. 1040 00:47:22,760 --> 00:47:26,080 Chystám se jít dopředu a otevřít tlačítko zde. 1041 00:47:26,080 --> 00:47:28,740 A to je super jednoduchý vyhlížející program 1042 00:47:28,740 --> 00:47:34,190 ale pozor, co se stane když Já-- Sledujte, co 1043 00:47:34,190 --> 00:47:39,860 se stane, když otevřu tuto verzi z toho, tady v prohlížeči, scratch.mit.edu. 1044 00:47:39,860 --> 00:47:43,460 A když jsem se na tuto velkou červenou tlačítko, všimněte si, co se stane. 1045 00:47:43,460 --> 00:47:46,110 1046 00:47:46,110 --> 00:47:47,647 Tak co se to tu děje? 1047 00:47:47,647 --> 00:47:50,480 K dispozici je ve skutečnosti mnohem více složitost děje pod kapotou, 1048 00:47:50,480 --> 00:47:52,896 i když jsem se realizovat to, nebo upřímně řečeno, Dan Bradley 1049 00:47:52,896 --> 00:47:54,660 zavedla to tak jednoduše. 1050 00:47:54,660 --> 00:47:59,540 Navrhl vlastní Scratch puzzle kus, známý jako rozšíření Scratch, 1051 00:47:59,540 --> 00:48:01,300 nazval ji Toggle. 1052 00:48:01,300 --> 00:48:06,332 >> A co Přepnout dělá, je, že pošle zprávy přes internet. 1053 00:48:06,332 --> 00:48:08,290 A toto poselství sám vypadá trochu záhadné. 1054 00:48:08,290 --> 00:48:10,248 Ale to také, budete pochopit, do konce termínu je. 1055 00:48:10,248 --> 00:48:14,930 Zpráva, že to vlastně posílá vypadá něco takového. 1056 00:48:14,930 --> 00:48:15,921 Je to textový. 1057 00:48:15,921 --> 00:48:16,420 Cryptic. 1058 00:48:16,420 --> 00:48:19,130 Budete pochopit v době, kdy dostaneme problém nastavit sedm. 1059 00:48:19,130 --> 00:48:22,180 Je to jen posílá textovou zprávu přes internet na serveru. 1060 00:48:22,180 --> 00:48:24,330 A že server je v konečném důsledku mluví k této žárovky, které 1061 00:48:24,330 --> 00:48:27,240 má jednu z těch pestrých žárovek v tom, že sama o sobě, mluví 1062 00:48:27,240 --> 00:48:30,760 na bezplatné Wi-Fi připojení na internet v síti zde, kde místní zařízení se tady-- 1063 00:48:30,760 --> 00:48:34,400 a nakonec, je to vlastně soustružení, že světlo zapíná a vypíná. 1064 00:48:34,400 --> 00:48:36,240 Ale můžeme udělat více zajímavé věci v klidu. 1065 00:48:36,240 --> 00:48:38,270 Všimněte si, co Dan také pro nás udělal. 1066 00:48:38,270 --> 00:48:42,210 Udělal několik skřítky, každý z který má skript čeká na kliknutí. 1067 00:48:42,210 --> 00:48:44,030 A když jsem klepněte na červenou, to se rozsvítí červeně. 1068 00:48:44,030 --> 00:48:46,780 Pokud jsem si modré, jde namodralý. 1069 00:48:46,780 --> 00:48:49,854 Zelená, žlutá, oranžová. 1070 00:48:49,854 --> 00:48:52,520 A to vše se děje podle bude cesta ven na internet, 1071 00:48:52,520 --> 00:48:54,690 ustoupit zde žárovka, zapnutí a vypnutí. 1072 00:48:54,690 --> 00:48:57,981 >> A pokud můžete věřit to-- a to je možná jeden z nejkomplexnějších Scratch 1073 00:48:57,981 --> 00:49:00,930 projekty má někdo implemented-- to udělal, ve spravedlnost, v jeden den. 1074 00:49:00,930 --> 00:49:04,180 A to byla výzva, abychom odhodili Dana, když jsme viděli, jsou binární žárovky, 1075 00:49:04,180 --> 00:49:05,810 máme Scratch, jak Můžeme je kombinovat? 1076 00:49:05,810 --> 00:49:08,410 A opravdu, je to naprosto v této místnosti něco, co někdo 1077 00:49:08,410 --> 00:49:14,250 mohl udělat semestru end-- Je to reimplemented binární žárovky pomocí 1078 00:49:14,250 --> 00:49:18,310 stejné rozhraní, které bylo na naší iPad ve středu. 1079 00:49:18,310 --> 00:49:22,000 Takže teď, když jsem se vlastně klepněte na znaménko plus sem, 1080 00:49:22,000 --> 00:49:25,250 máme jednu, dvě, tři. 1081 00:49:25,250 --> 00:49:27,550 Můžu hit 16 a zase ten jeden na. 1082 00:49:27,550 --> 00:49:29,440 128, a tak dále. 1083 00:49:29,440 --> 00:49:31,250 >> Teď, když to samo o sobě má a foukané svou mysl, 1084 00:49:31,250 --> 00:49:35,680 byste mohli dělat věci mnohem dostupnější, nezahrnuje žádný hardware jistě. 1085 00:49:35,680 --> 00:49:38,320 Jen věci na obrazovce sám. 1086 00:49:38,320 --> 00:49:41,110 A opravdu to, co většina studentů nakonec dělá je nějaká hra, 1087 00:49:41,110 --> 00:49:44,600 některé kus uměleckého díla, nebo nějaký druh interaktivní animace. 1088 00:49:44,600 --> 00:49:47,352 A řeknu jeden z našich oblíbené je tenhle. 1089 00:49:47,352 --> 00:49:49,060 A já myslela, že když jsme mohl ztlumit světla, 1090 00:49:49,060 --> 00:49:52,960 budeme mít pohled na to finále Scratch projekt na závěr. 1091 00:49:52,960 --> 00:49:57,460 Ale co budete mít na paměti, jak Můžu dráždit vás s jedním posledního detailu, 1092 00:49:57,460 --> 00:49:59,140 krájení začne příští týden. 1093 00:49:59,140 --> 00:50:00,830 Úřední hodiny začne příští týden. 1094 00:50:00,830 --> 00:50:04,410 Problém nulování budou zveřejněny CS50.harvard.edu ještě dnes. 1095 00:50:04,410 --> 00:50:06,430 A budete uvítáni v problému nastavení nuly 1096 00:50:06,430 --> 00:50:10,070 na CS50 vlastní Zamyla Chan, který vede většinu našich návody. 1097 00:50:10,070 --> 00:50:11,952 Jedná se o vložené video v problémových sady 1098 00:50:11,952 --> 00:50:15,160 , která bude držet za ruku přes mnoho počáteční nastavení a přes mnoho 1099 00:50:15,160 --> 00:50:16,570 z možných rozhodnutí designu. 1100 00:50:16,570 --> 00:50:19,570 Takže pokud jste někdy měl ten cit Při vyzvednutí domácí úkol 1101 00:50:19,570 --> 00:50:21,030 a přemýšlel, kde mám začít? 1102 00:50:21,030 --> 00:50:23,510 Bude mít tento pro vás odpověď. 1103 00:50:23,510 --> 00:50:27,720 A teď, Konečný program od jednoho ze svých předchůdců 1104 00:50:27,720 --> 00:50:30,659 v odpovědi na otázku, "Co je liška říká?" 1105 00:50:30,659 --> 00:50:32,242 [MUSIC YLVIS, "Co FOX říct?] 1106 00:50:32,242 --> 00:50:40,178 1107 00:50:40,178 --> 00:50:41,666 >> YLVIS: (Zpívá) Pes běží tkanina. 1108 00:50:41,666 --> 00:50:43,650 Cat jde mňau. 1109 00:50:43,650 --> 00:50:47,520 Bird jde pípání a myš jde pískot. 1110 00:50:47,520 --> 00:50:49,240 Kráva jde Moo. 1111 00:50:49,240 --> 00:50:51,690 Žába jde kvákat. 1112 00:50:51,690 --> 00:50:54,630 A slon jde toot. 1113 00:50:54,630 --> 00:50:59,040 Kachny říci, šarlatán a ryby jít blub. 1114 00:50:59,040 --> 00:51:07,370 A pečeť jde ow ow ow, ale je tu jeden zvuk, který nikdo neví, 1115 00:51:07,370 --> 00:51:10,330 co liška říká? 1116 00:51:10,330 --> 00:51:11,020 A 1117 00:51:11,020 --> 00:51:12,478 >> David J. Malan: To je pro CS50. 1118 00:51:12,478 --> 00:51:15,436 Uvidíme se na Puzzle den a v pondělí. 1119 00:51:15,436 --> 00:51:16,424 >> [APPLAUSE] 1120 00:51:16,424 --> 00:51:19,882 >> [MUSIC YLVIS, "co to liška říct?"] 1121 00:51:19,882 --> 00:51:24,840 1122 00:51:24,840 --> 00:51:28,820 >> Vypravěč: A teď hluboko myšlenky, podle Daven Farnham. 1123 00:51:28,820 --> 00:51:31,770 1124 00:51:31,770 --> 00:51:34,570 Dnes jsem se dostal do tvář s telefonním seznamem. 1125 00:51:34,570 --> 00:51:38,160 Matoucí, protože jsem na domácí sledování online. 1126 00:51:38,160 --> 00:51:42,528