1 00:00:00,000 --> 00:00:03,290 >> [Přehrávání hudby] 2 00:00:03,290 --> 00:00:04,989 3 00:00:04,989 --> 00:00:06,280 JASON Hirschhorn: OK, všichni. 4 00:00:06,280 --> 00:00:07,460 Vítejte v sekci. 5 00:00:07,460 --> 00:00:10,840 To je CS50, naše velmi První část výborný. 6 00:00:10,840 --> 00:00:13,700 Jak jistě všichni víte, příští týden Pravidelné rubriky začne, 7 00:00:13,700 --> 00:00:15,580 ale tento týden jsme všichni spolu. 8 00:00:15,580 --> 00:00:17,730 >> Není sám. 9 00:00:17,730 --> 00:00:18,840 Mé jméno je Jason. 10 00:00:18,840 --> 00:00:20,630 Jsem lektor v informatice. 11 00:00:20,630 --> 00:00:23,910 Máme Andi, kdo je hlava TA na CS50. 12 00:00:23,910 --> 00:00:27,630 A Scaz, profesor Brian Scassellati, on je profesorem v informatice. 13 00:00:27,630 --> 00:00:30,970 >> Jsme CS50 hlavy na Yale. 14 00:00:30,970 --> 00:00:34,992 Vždy se můžete e-mailem us heads@cs50.yale.edu. 15 00:00:34,992 --> 00:00:35,950 Budeme na přednáškách. 16 00:00:35,950 --> 00:00:37,547 Budeme v úředních hodinách. 17 00:00:37,547 --> 00:00:40,130 Jestli je vůbec něco, co můžeme udělat pro vás, něco, co potřebujete, 18 00:00:40,130 --> 00:00:42,610 neváhejte oslovit nás. 19 00:00:42,610 --> 00:00:44,140 >> Tak co budeme dělat dnes? 20 00:00:44,140 --> 00:00:47,790 Nebo do té doby, co je přichází tento týden? 21 00:00:47,790 --> 00:00:52,620 Takže úřední hodiny jsou pondělí, úterý, Středa, a ve čtvrtek, od 8:00 do 11:00. 22 00:00:52,620 --> 00:00:54,770 Je tu plán na internetových stránkách. 23 00:00:54,770 --> 00:00:57,830 >> Sekce, stejně jako jsem se zmínil, začínají příští týden. 24 00:00:57,830 --> 00:01:01,390 A zjistíte, co tento týden doby se váš oddíl je, co je za den, 25 00:01:01,390 --> 00:01:03,350 a kdo je váš TA je. 26 00:01:03,350 --> 00:01:08,610 >> Problém Set 1 je splatná ve čtvrtek ve poledne, v pátek v poledne se pozdním den. 27 00:01:08,610 --> 00:01:10,817 Ano, máte devět pozdní dnů. 28 00:01:10,817 --> 00:01:12,150 A existuje devět problémové sady. 29 00:01:12,150 --> 00:01:14,320 A lze použít pouze jeden pozdě den na problémové sady. 30 00:01:14,320 --> 00:01:17,930 Ano, ve skutečnosti, všechny problém Sady jsou splatné v pátek v poledne. 31 00:01:17,930 --> 00:01:18,550 To je vše. 32 00:01:18,550 --> 00:01:20,400 Vše, co údaje najdete na osnovy. 33 00:01:20,400 --> 00:01:22,360 >> Každý pátek, máme obědy. 34 00:01:22,360 --> 00:01:25,230 Rádi bychom, aby se tento velký Samozřejmě cítit trochu menší. 35 00:01:25,230 --> 00:01:26,580 Takže jste vítáni k RSVP. 36 00:01:26,580 --> 00:01:30,050 Volný oběd s kolegy spolužáci a zaměstnanci. 37 00:01:30,050 --> 00:01:34,120 cs50.yale.edu/rsvp. 38 00:01:34,120 --> 00:01:36,940 >> Všechny tyto věci, které Mám na obrazovce, 39 00:01:36,940 --> 00:01:43,330 a další, můžete najít cs50.yale.edu nebo cs50.harvard.edu, pokud jdete na Harvard 40 00:01:43,330 --> 00:01:46,800 a sledování tohoto on-line. 41 00:01:46,800 --> 00:01:50,240 >> Také na těchto webových stránkách, tam jsou tuny zdrojů pro vás. 42 00:01:50,240 --> 00:01:54,610 Každá přednáška má nejen video přednášky, ale také poznamenává. 43 00:01:54,610 --> 00:01:58,184 Někdo bude sledovat přednáška a dělat si poznámky za vás. 44 00:01:58,184 --> 00:02:00,100 Takže můžete jen platit pozornost během přednášek, 45 00:02:00,100 --> 00:02:03,970 nebo můžete použít své poznámky / dotazy bere na vědomí, pro doplnění své vlastní poznámky. 46 00:02:03,970 --> 00:02:04,987 >> Tam jsou skluzavky online. 47 00:02:04,987 --> 00:02:07,320 Zdroj code-- vše David jde přes v přednášce, 48 00:02:07,320 --> 00:02:09,979 nebo Scaz jde přes přednášky, že Zdrojový kód je k dispozici on-line 49 00:02:09,979 --> 00:02:11,750 stejně, jako stejně jako já, zmínil videa. 50 00:02:11,750 --> 00:02:14,257 >> Sekce, podobně, vše bude natočen. 51 00:02:14,257 --> 00:02:15,840 Všechny tyto diapozitivů bude k dispozici. 52 00:02:15,840 --> 00:02:18,190 Všechny tohoto kodexu bude bude k dispozici pro vás. 53 00:02:18,190 --> 00:02:22,440 Tam jsou šortky na webové stránky, kde Zaměstnanci CS50 strávit pět až 10 54 00:02:22,440 --> 00:02:24,130 minut procházejí tématy pro vás. 55 00:02:24,130 --> 00:02:26,750 Někteří z těch, které jste již setkal v problémových sadách. 56 00:02:26,750 --> 00:02:30,430 >> Úřední hodiny, jak jsem již zmínil, pondělí přes čtvrtky, 8:00 do 11:00. 57 00:02:30,430 --> 00:02:32,600 CS50 Studie je fantastický zdroj. 58 00:02:32,600 --> 00:02:37,100 Tam jsou problémy praxe, vzorků skluzavky, známé chyby 59 00:02:37,100 --> 00:02:40,920 že studenti chtěli narazit, k podstatě každé téma my 60 00:02:40,920 --> 00:02:42,650 se bude týkat v tomto kurzu. 61 00:02:42,650 --> 00:02:46,350 >> A konečně, na tomto snímku alespoň, Reference50 62 00:02:46,350 --> 00:02:49,690 který poskytuje informace Na všechny funkce C 63 00:02:49,690 --> 00:02:53,160 byste mohl někdy doufat k použití a mnoho, mnoho dalších. 64 00:02:53,160 --> 00:02:55,690 >> Opět platí, že dot dot dot na ve spodní části obrazovky 65 00:02:55,690 --> 00:02:59,990 je ukázat, že tam je i více prostředků na těchto dvou webových stránkách: 66 00:02:59,990 --> 00:03:04,270 cs50.yale.edu, cs50.harvard.edu. 67 00:03:04,270 --> 00:03:05,840 >> Takže, co budeme dělat dnes? 68 00:03:05,840 --> 00:03:08,970 No, v první jdu dát se podíváte na zdroje. 69 00:03:08,970 --> 00:03:10,010 Už se stalo, že jeden. 70 00:03:10,010 --> 00:03:11,590 Podívej se na nás. 71 00:03:11,590 --> 00:03:16,430 >> Nyní budeme jít přes datové typy a operátory v C 72 00:03:16,430 --> 00:03:19,990 Pak Andi přijde sem a projít knihoven v C, printf (), 73 00:03:19,990 --> 00:03:24,570 funkce, se kterou jsou již zná nebo se rychle stane velmi 74 00:03:24,570 --> 00:03:25,530 povědomý. 75 00:03:25,530 --> 00:03:27,810 A budete také jít přes podmiňovací způsob a smyčky. 76 00:03:27,810 --> 00:03:30,900 >> A nakonec, Scaz půjde přes CS50 ID. 77 00:03:30,900 --> 00:03:34,250 Pokud jste se potopil v Již v problémových Set 1, 78 00:03:34,250 --> 00:03:37,060 a jak používat Příkazy terminál a užitečné 79 00:03:37,060 --> 00:03:42,280 a pak dát nějaké dema a praxe kódování v CS50 ID. 80 00:03:42,280 --> 00:03:45,130 >> Předtím, než jsem se skočit do toho Obsah na této straně, 81 00:03:45,130 --> 00:03:46,770 Má někdo nějaké dotazy tak daleko? 82 00:03:46,770 --> 00:03:53,190 83 00:03:53,190 --> 00:03:54,030 Skvělý. 84 00:03:54,030 --> 00:03:54,950 DOBŘE. 85 00:03:54,950 --> 00:03:55,810 Přeřazování. 86 00:03:55,810 --> 00:03:58,760 >> [Přeřazování] 87 00:03:58,760 --> 00:04:03,070 >> To jsem byl já posouvání rychlostních stupňů v manuálním autě. 88 00:04:03,070 --> 00:04:10,920 Takže datové typy v C, můžete nejen mít proměnné x a musí to být na řádku 10, 89 00:04:10,920 --> 00:04:17,170 celé číslo, možná číslo 1, na lince 20, desetinné číslo 10,5, 90 00:04:17,170 --> 00:04:20,500 a pak pár řádků později řetězec, miluji CS50. 91 00:04:20,500 --> 00:04:25,052 >> V jazyce C, proměnné mohou být pouze jedna věc, a jen jedna věc. 92 00:04:25,052 --> 00:04:26,510 A tak budete muset dát jim typy. 93 00:04:26,510 --> 00:04:28,780 A na tomto fóru, my mít seznam typů. 94 00:04:28,780 --> 00:04:32,000 Tam jsou znaky, které stojan pro znaky. 95 00:04:32,000 --> 00:04:36,850 Tak to je jedno písmeno A, B, C, D. To může být také místo, 96 00:04:36,850 --> 00:04:40,290 nebo že může být také znak nového řádku. 97 00:04:40,290 --> 00:04:45,030 >> K dispozici jsou celá čísla, která jsou právě čísla, celá numbers-- nebo celá čísla 98 00:04:45,030 --> 00:04:47,130 rather-- ale žádné desetinná místa. 99 00:04:47,130 --> 00:04:49,790 >> Pro desetinná místa, máme plovoucí desetinnou čárkou. 100 00:04:49,790 --> 00:04:53,200 Plovoucí desetinnou čárkou jsou čísla s desetinnými místy. 101 00:04:53,200 --> 00:04:58,160 >> Pak jsou tu touží, které jsou v podstatě delší celá čísla. 102 00:04:58,160 --> 00:05:01,160 Všimněte si, že dlouhá je 8 vzhledem k tomu, int je 4. 103 00:05:01,160 --> 00:05:02,640 Budu se k tomu v druhém. 104 00:05:02,640 --> 00:05:07,390 To proto, že touží lze uložit i více celá čísla než int může ukládat. 105 00:05:07,390 --> 00:05:10,100 Double je dlouhá float. 106 00:05:10,100 --> 00:05:12,460 >> A konečně, máme řetězec, což je typ 107 00:05:12,460 --> 00:05:14,430 že jste pravděpodobně použity dříve. 108 00:05:14,430 --> 00:05:21,100 Pokud zahrnete hashtag # includeCS50.h ve zdrojovém souboru, 109 00:05:21,100 --> 00:05:23,170 pak můžete použít typ řetězce. 110 00:05:23,170 --> 00:05:25,560 Není to vlastně integrována do C. 111 00:05:25,560 --> 00:05:27,760 >> Existuje několik dalších typů stejně. 112 00:05:27,760 --> 00:05:32,900 Ale to jsou hlavní ty s které budete používat a setkat. 113 00:05:32,900 --> 00:05:36,210 C as, znovu jsem se zmínil, každý proměnná-- to 114 00:05:36,210 --> 00:05:38,620 může být pouze jeden typ a jen jeden druh. 115 00:05:38,620 --> 00:05:42,890 To proto, že C je staticky zadaný jazyk, na rozdíl od 116 00:05:42,890 --> 00:05:45,780 dynamicky zadávané jazyky kde pokud si vytvoříte proměnnou 117 00:05:45,780 --> 00:05:50,081 můžete změnit to, co je uloženo v to, jak jdete ve vašem programu. 118 00:05:50,081 --> 00:05:52,580 Tady na pravé ruce side, mám různé velikosti 119 00:05:52,580 --> 00:05:57,440 z těchto typů dat v bytech. 120 00:05:57,440 --> 00:05:59,710 Takže je znak 1 bajt. 121 00:05:59,710 --> 00:06:01,250 To je 8 bitů. 122 00:06:01,250 --> 00:06:05,530 A to znamená, že proto, že 8 bitů je tu osm 0 a 1. 123 00:06:05,530 --> 00:06:08,280 Viděli jsme ty ukázky v prvním týden s tím, že binární žárovky. 124 00:06:08,280 --> 00:06:15,680 >> S 8 bitů nebo 1 bajt, můžeme představovat čísla od 0 do 255. 125 00:06:15,680 --> 00:06:16,180 Správně. 126 00:06:16,180 --> 00:06:18,770 Pokud jsou všechny 8 bity 0, to je 0. 127 00:06:18,770 --> 00:06:23,640 Pokud je první bit je 1, to je číslo jedním, a tak dále, celou cestu až do 255. 128 00:06:23,640 --> 00:06:28,290 A to je důvod, proč pro znaky můžete mají v podstatě až do 255 z nich, 129 00:06:28,290 --> 00:06:31,210 ale to je dost na pokrytí všech znaky musíme použít. 130 00:06:31,210 --> 00:06:38,060 >> Pro celá čísla, můžete mít 0 a pak máte 2 k 32 minus 1. 131 00:06:38,060 --> 00:06:40,340 Ti, kteří jsou jak mnoho možností Máte na celá čísla. 132 00:06:40,340 --> 00:06:44,780 >> Pro dlouhá, máte 0 na 2 až 64 minus 1. 133 00:06:44,780 --> 00:06:48,860 Máte tedy mnoho, mnoho, více možností touží. 134 00:06:48,860 --> 00:06:54,220 >> Řetězce, to je otazník protože to je cliffhanger na později. 135 00:06:54,220 --> 00:06:55,000 To jo. 136 00:06:55,000 --> 00:06:56,350 Mohl bych říct, všichni to na okraji svého sedadla, 137 00:06:56,350 --> 00:06:57,450 jako to, co to je otazník? 138 00:06:57,450 --> 00:06:58,390 Je to cliffhanger. 139 00:06:58,390 --> 00:07:02,340 Budeme se případně zahrnovat také velikost smyčce a mluvit víc o řetězcích. 140 00:07:02,340 --> 00:07:04,692 Vzhledem k tomu, řetězec je vlastně jeden z tréninkových kol 141 00:07:04,692 --> 00:07:06,400 dáme na v tomto Samozřejmě na začátku 142 00:07:06,400 --> 00:07:09,700 a pak vzlétnout později o, protože řetězce v C 143 00:07:09,700 --> 00:07:13,320 jsou vlastně na ukazatele charakteru polí. 144 00:07:13,320 --> 00:07:15,810 Ale na druhou stranu, to je cliffhanger na později. 145 00:07:15,810 --> 00:07:18,890 Předtím, než jsem se přesunout na jakékoli dotazy, Připomínky, obavy o tomto snímku? 146 00:07:18,890 --> 00:07:25,800 147 00:07:25,800 --> 00:07:26,630 >> DOBŘE. 148 00:07:26,630 --> 00:07:30,330 Musím být fantastický Explainer. 149 00:07:30,330 --> 00:07:33,210 Také, když jste programování, budete používat tyto operátory. 150 00:07:33,210 --> 00:07:36,730 Opravdu jednoduché znaky, které můžete udělat jednoduchý operace, s nimiž budete pravděpodobně 151 00:07:36,730 --> 00:07:38,340 již velmi dobře obeznámeni. 152 00:07:38,340 --> 00:07:42,580 >> Například, na pravé straně straně, vidíme přidat. 153 00:07:42,580 --> 00:07:44,640 Chcete-li přidat, stačí udělat znaménko plus. 154 00:07:44,640 --> 00:07:46,850 A tak můžete mít dvě proměnné x a y. 155 00:07:46,850 --> 00:07:48,810 Můžete to udělat x + y v kódu. 156 00:07:48,810 --> 00:07:52,790 Možná chcete to-- říkáte mají číslo 7 a 3, 157 00:07:52,790 --> 00:07:55,780 Chcete-li uložit, že v proměnné s názvem částku. 158 00:07:55,780 --> 00:08:03,010 Můžete to udělat int pro typ prostoru součet, jméno proměnné, = 7 + 3; 159 00:08:03,010 --> 00:08:05,780 >> Co by to obchod v součtu? 160 00:08:05,780 --> 00:08:07,190 Každý, kdo? 161 00:08:07,190 --> 00:08:09,270 Kdybych měl v součtu = 7 + 3. 162 00:08:09,270 --> 00:08:10,437 Co by být uloženy v součtu? 163 00:08:10,437 --> 00:08:11,520 Stačí si jen zakřičet to. 164 00:08:11,520 --> 00:08:12,120 Diváků: 10. 165 00:08:12,120 --> 00:08:12,995 >> JASON Hirschhorn: 10! 166 00:08:12,995 --> 00:08:14,870 To je přesně to pravé. 167 00:08:14,870 --> 00:08:19,520 A co v součtu = 7-3, Jen jsem používat tento pomlčka. 168 00:08:19,520 --> 00:08:20,871 Co se děje být uložen? 169 00:08:20,871 --> 00:08:21,370 Diváků: 4. 170 00:08:21,370 --> 00:08:22,203 JASON Hirschhorn: 4. 171 00:08:22,203 --> 00:08:25,770 Součet je pravděpodobně nesprávný název pro že variabilní, ale 4 by byly uloženy. 172 00:08:25,770 --> 00:08:31,890 >> Násobit v C, použijte malý Hvězda znak, nemusíte používat x. 173 00:08:31,890 --> 00:08:35,990 Chcete-li rozdělit, použijte vpřed Slash není symbol divize. 174 00:08:35,990 --> 00:08:39,580 A modulo lze použít znak procent. 175 00:08:39,580 --> 00:08:47,900 >> Takže řekněme, že chci vidět int z = 7% 3, co by být uloženy v Z? 176 00:08:47,900 --> 00:08:51,250 Tak, to je v podstatě ptát, co dělá modulo dělat? 177 00:08:51,250 --> 00:08:52,750 Ví někdo, co modulo dělá? 178 00:08:52,750 --> 00:08:53,940 To jo. 179 00:08:53,940 --> 00:08:54,870 y 4. 180 00:08:54,870 --> 00:08:56,120 Reproduktor 1: Je to zbytek. 181 00:08:56,120 --> 00:08:58,369 JASON Hirschhorn: Jedná se o zbytek při dělení. 182 00:08:58,369 --> 00:09:02,790 Takže 7 děleno 3 je 2 zbytek 1. 183 00:09:02,790 --> 00:09:04,690 So 1 by byly uloženy. 184 00:09:04,690 --> 00:09:06,970 >> Udělal jsi odčítání, ale to je, jak to funguje. 185 00:09:06,970 --> 00:09:09,140 To je to, co operátor modulo dělá. 186 00:09:09,140 --> 00:09:12,360 Trvá několik rozdělí ji jiné číslo a vrátí se k vám 187 00:09:12,360 --> 00:09:14,590 zbývající část. 188 00:09:14,590 --> 00:09:19,770 Takže znovu, 7% 3 vám dává 1, protože 7 děleno 3 je 2 zbytek 1, 189 00:09:19,770 --> 00:09:21,650 a vrátí zbytek. 190 00:09:21,650 --> 00:09:24,470 >> Co vraťme se nahoru jeden krok k tomu znak dělení. 191 00:09:24,470 --> 00:09:29,194 Kdybych to udělal 7 / děleno 3 dělá někdo vědět, co to by se vrátil? 192 00:09:29,194 --> 00:09:30,090 >> SPEAKER 2: 2. 193 00:09:30,090 --> 00:09:32,240 >> JASON Hirschhorn: Proč 2, a ne 2,333? 194 00:09:32,240 --> 00:09:34,560 >> SPEAKER 2: Myslím, že to řeže off po celé číslo. 195 00:09:34,560 --> 00:09:36,310 JASON Hirschhorn: So to je přesně to pravé. 196 00:09:36,310 --> 00:09:39,880 V jazyce C, pokud si rozdělení dvě celá čísla 7 děleno 3, 197 00:09:39,880 --> 00:09:43,430 dostane odpověď, která v tomto případě 2.3333 navždy 198 00:09:43,430 --> 00:09:47,080 a zjistí, že se desetinnou čárku a kotlety všechno pryč za desetinnou čárkou 199 00:09:47,080 --> 00:09:49,240 a to jen vrátí vám 2. 200 00:09:49,240 --> 00:09:51,120 >> Takže když jsem udělal 8 děleno 3. 201 00:09:51,120 --> 00:09:54,010 Že ve skutečnosti víme, že k návratu 2.666, 202 00:09:54,010 --> 00:09:57,050 ale je to všechno pryč na kotlety desítková, zkrátí to všechno, 203 00:09:57,050 --> 00:09:58,640 a jen se vrací k vám 2. 204 00:09:58,640 --> 00:10:02,090 Takže 6 děleno 3, 7 rozdělena o 3, 8 děleno 3, 205 00:10:02,090 --> 00:10:04,840 všichni budeme vracet k vám 2. 206 00:10:04,840 --> 00:10:08,770 >> Ví někdo, nebo máte hádat, jak jsem mohl skutečně dostat 207 00:10:08,770 --> 00:10:10,790 plná odpověď, pokud chci, aby desetinné místo? 208 00:10:10,790 --> 00:10:13,120 209 00:10:13,120 --> 00:10:13,620 To jo. 210 00:10:13,620 --> 00:10:14,152 Pokračuj. 211 00:10:14,152 --> 00:10:15,110 SPEAKER 3: Použití plovák? 212 00:10:15,110 --> 00:10:16,942 JASON Hirschhorn: Co tím myslíš? 213 00:10:16,942 --> 00:10:19,786 SPEAKER 3: Protože jste řekl, že plovák je pro čísla [neslyšitelných] 214 00:10:19,786 --> 00:10:22,900 215 00:10:22,900 --> 00:10:23,900 JASON Hirschhorn: Správně. 216 00:10:23,900 --> 00:10:26,100 Tak, to je přesně to pravé. 217 00:10:26,100 --> 00:10:28,440 7 je celé číslo. 218 00:10:28,440 --> 00:10:31,690 Ale když jsem se chtěl otočit, že do desetinné číslo, 219 00:10:31,690 --> 00:10:34,674 Já bych si, že uložení jako 7.0 protože počítač 220 00:10:34,674 --> 00:10:37,090 je opravdu stupid-- jsme viděli, že s PB a J example-- 221 00:10:37,090 --> 00:10:38,930 to bude jen dělat přesně to, to, co jste to říct. 222 00:10:38,930 --> 00:10:40,846 >> Takže pokud píšete 7, si myslí, že je to celé číslo. 223 00:10:40,846 --> 00:10:43,640 Máte-li psát 7.0, i když jsme vím, tyhle věci jsou rovnocenné, 224 00:10:43,640 --> 00:10:45,550 zachází, že se jako číslo s plovoucí čárkou. 225 00:10:45,550 --> 00:10:50,441 Takže pokud jste 7.0 rozdělena o 3, nebo se může rozdělit o 3,0, 226 00:10:50,441 --> 00:10:52,440 to by řekl, OK, teď máme co do činění s plováky. 227 00:10:52,440 --> 00:10:57,514 Vrátím se k vám 2.333333 navždy. 228 00:10:57,514 --> 00:10:59,930 Ale ne opravdu navždy, protože jak jsme viděli také v přednášce, 229 00:10:59,930 --> 00:11:03,350 Tato čísla pohyblivé čárky nejsou zrovna přesné. 230 00:11:03,350 --> 00:11:05,940 >> Takže pokud si chcete tuto desetinné místo, nebo část tohoto desetinné čárky, 231 00:11:05,940 --> 00:11:08,090 pak budete muset use-- jeden z nich Musí to být číslo s plovoucí čárkou 232 00:11:08,090 --> 00:11:11,048 a počítač má rozumět že se jedná o plovoucí desetinnou čárkou, že jste 233 00:11:11,048 --> 00:11:13,350 zabývá, není celé číslo. 234 00:11:13,350 --> 00:11:16,760 Jakékoli otázky týkající se této tabulce na pravá strana, tak daleko? 235 00:11:16,760 --> 00:11:22,650 Nebo levé straně, vaše doleva, po levé straně. 236 00:11:22,650 --> 00:11:23,264 To jo. 237 00:11:23,264 --> 00:11:23,972 SPEAKER 4: Správně. 238 00:11:23,972 --> 00:11:26,216 Pro stejně jako pravidelný celá čísla, byste 239 00:11:26,216 --> 00:11:30,230 write-- byste museli psát plavat? 240 00:11:30,230 --> 00:11:31,920 >> JASON Hirschhorn: Jo tak. 241 00:11:31,920 --> 00:11:34,400 No, pokud chcete vytvořit proměnná, která je plovák, 242 00:11:34,400 --> 00:11:37,020 je třeba říci, float z rovná něco. 243 00:11:37,020 --> 00:11:37,640 >> SPEAKER 4: OK. 244 00:11:37,640 --> 00:11:41,950 >> JASON Hirschhorn: Ale kdybych chtěl činit 7 děleno 3 a dostat, že desetinné místo, 245 00:11:41,950 --> 00:11:48,540 Já bych to float z = 7,0 / 3,0; a že by mi dát plovoucí řádovou čárkou 246 00:11:48,540 --> 00:11:49,273 číslo. 247 00:11:49,273 --> 00:11:50,000 >> SPEAKER 4: OK. 248 00:11:50,000 --> 00:11:56,370 >> JASON Hirschhorn: Kdybych to udělal něco jako int z = 7 / o 3, 249 00:11:56,370 --> 00:12:00,856 že by mi celé číslo, protože to vše jsou celá čísla. 250 00:12:00,856 --> 00:12:01,730 Dává to smysl? 251 00:12:01,730 --> 00:12:02,320 >> SPEAKER 4: Ano. 252 00:12:02,320 --> 00:12:02,950 >> JASON Hirschhorn: OK. 253 00:12:02,950 --> 00:12:03,450 Skvělý. 254 00:12:03,450 --> 00:12:06,030 Jakékoliv další otázky týkající se této tabulky? 255 00:12:06,030 --> 00:12:07,220 Opravdu? 256 00:12:07,220 --> 00:12:08,380 Jsem tak nadšený. 257 00:12:08,380 --> 00:12:09,120 DOBŘE. 258 00:12:09,120 --> 00:12:13,910 >> Takže některé další věci, které budete používat, častokrát v podmínkách nebo smyček, 259 00:12:13,910 --> 00:12:17,580 jsou tyto typy operators-- Tyto typy booleovských výrazů. 260 00:12:17,580 --> 00:12:23,140 A jak jsme se dozvěděli, == je to, co použít ke kontrole, zda dvě věci jsou si rovny. 261 00:12:23,140 --> 00:12:28,170 >> Tak tady jsem kontrolu, zda x == y, pojďme opět předpokládá, že x je 7 a y je 3. 262 00:12:28,170 --> 00:12:33,220 Takže když jsem napsal 7 == 3, co by to vrátit se ke mně? 263 00:12:33,220 --> 00:12:34,220 Je to pravda, nebo lež? 264 00:12:34,220 --> 00:12:35,275 >> Diváků: False. 265 00:12:35,275 --> 00:12:36,150 JASON Hirschhorn: OK. 266 00:12:36,150 --> 00:12:37,370 Mám pocit, že každý může získat tento jeden. 267 00:12:37,370 --> 00:12:39,054 Takže všichni, co by to vrátit? 268 00:12:39,054 --> 00:12:39,720 Diváků: False. 269 00:12:39,720 --> 00:12:40,130 JASON Hirschhorn: False. 270 00:12:40,130 --> 00:12:40,850 Skvělý. 271 00:12:40,850 --> 00:12:41,930 7 není rovno 3. 272 00:12:41,930 --> 00:12:44,530 Takže 7 == 3 vrátí false. 273 00:12:44,530 --> 00:12:50,746 Vy máte není rovnítko, takže když jsem zkontrolovaných 7! = 3, co by to vrátit? 274 00:12:50,746 --> 00:12:51,370 Diváků: To je pravda. 275 00:12:51,370 --> 00:12:52,650 JASON Hirschhorn: To je pravda. 276 00:12:52,650 --> 00:12:53,200 Výborně. 277 00:12:53,200 --> 00:12:55,990 Někdo byl velice důrazná v zadní a ocenit. 278 00:12:55,990 --> 00:12:59,070 Pak máte méně než provozovatele, méně než nebo rovno subjektu, 279 00:12:59,070 --> 00:13:01,990 větší než operátor, větší než nebo rovno operátora. 280 00:13:01,990 --> 00:13:03,490 >> Takže ještě jedna kontrola příčetnosti. 281 00:13:03,490 --> 00:13:05,660 Kdybych měl 7 je větší než nebo rovno 3. 282 00:13:05,660 --> 00:13:06,966 Co by to vrátit? 283 00:13:06,966 --> 00:13:07,692 >> Diváků: To je pravda. 284 00:13:07,692 --> 00:13:08,650 JASON Hirschhorn: To je pravda. 285 00:13:08,650 --> 00:13:10,050 Ano. 286 00:13:10,050 --> 00:13:13,290 To zadní místnosti, zadní strana z místnosti, fantastický. 287 00:13:13,290 --> 00:13:16,240 Můžete kombinovat tyto výrazy, pokud se vám líbí, a také, 288 00:13:16,240 --> 00:13:21,880 s logickým AND, který je && Nebo logický OR, který je || 289 00:13:21,880 --> 00:13:22,800 ||. 290 00:13:22,800 --> 00:13:25,785 A tak teď si můžete vyzkoušet dva věci, together-- Je to legrační? 291 00:13:25,785 --> 00:13:28,250 Proč je to legrační? 292 00:13:28,250 --> 00:13:35,200 >> Takže kdybych chtěl, mohu říci, je 7 větší než 3 a 2 je méně než 4? 293 00:13:35,200 --> 00:13:37,090 No, pokud je větší 7 než 3, to je pravda. 294 00:13:37,090 --> 00:13:38,400 2 je méně než 4, to je pravda. 295 00:13:38,400 --> 00:13:41,140 Takže celá ta věc vrátí true. 296 00:13:41,140 --> 00:13:45,130 >> Pokud jsem testoval 7 je větší než 3 a-- Já jsem jen výběrem náhodných čísel here-- 297 00:13:45,130 --> 00:13:47,340 4 je menší než 2, no, to je falešná. 298 00:13:47,340 --> 00:13:49,610 Tak true a false false make. 299 00:13:49,610 --> 00:13:54,520 A můžete jít dál a budete kombinovat jako mnoho podmínek spolu, jak byste chtěli. 300 00:13:54,520 --> 00:14:00,000 >> Má někdo nějaké otázky, Připomínky, obavy, tak daleko? 301 00:14:00,000 --> 00:14:03,862 A vidím, že někteří z vás fotografování o mně na obrazovce, který jsem ocenit. 302 00:14:03,862 --> 00:14:05,070 Doufejme, že to není snapchat. 303 00:14:05,070 --> 00:14:06,417 Doufejme, že je to pro Vaše poznámky. 304 00:14:06,417 --> 00:14:08,500 Ale všichni z nich jdou k dispozici on-line. 305 00:14:08,500 --> 00:14:11,210 Takže se nemusíte vyfotit to. 306 00:14:11,210 --> 00:14:15,150 Jak už jsem zmínil, všechno bude k dispozici on-line pro vás. 307 00:14:15,150 --> 00:14:15,650 DOBŘE. 308 00:14:15,650 --> 00:14:17,980 Chystám se dostat v zákulisí, tak se nikomu 309 00:14:17,980 --> 00:14:20,350 chci říct nic Než se to stane? 310 00:14:20,350 --> 00:14:21,080 Otázky? 311 00:14:21,080 --> 00:14:21,680 >> [Vložením hlasy] 312 00:14:21,680 --> 00:14:22,250 >> JASON Hirschhorn: Oh, přestaň. 313 00:14:22,250 --> 00:14:23,290 Vy jste taky pěkné. 314 00:14:23,290 --> 00:14:23,790 DOBŘE. 315 00:14:23,790 --> 00:14:26,520 Chystám se označit ven. 316 00:14:26,520 --> 00:14:27,240 Pojďme. 317 00:14:27,240 --> 00:14:29,570 >> ANDI PENG: Budeme dělat trapná mic teď změnit. 318 00:14:29,570 --> 00:14:32,280 >> JASON Hirschhorn: Jsem bude to vzít volno. 319 00:14:32,280 --> 00:14:33,946 ANDI PENG: vážíme podpory, kluci. 320 00:14:33,946 --> 00:14:42,250 321 00:14:42,250 --> 00:14:43,180 Slyšíš mě? 322 00:14:43,180 --> 00:14:43,930 Je to dobře? 323 00:14:43,930 --> 00:14:44,760 Perfektní. 324 00:14:44,760 --> 00:14:45,630 Krásné. 325 00:14:45,630 --> 00:14:47,490 Dovolte mi jen zastrčit, že. 326 00:14:47,490 --> 00:14:49,100 DOBŘE. 327 00:14:49,100 --> 00:14:54,140 Takže, já jsem asi dělat jako obr Informace o výpis o vás kluci právě teď. 328 00:14:54,140 --> 00:14:57,370 A bez obav vůbec, pokud jste ne po každé malé řádek o tom, co 329 00:14:57,370 --> 00:14:58,812 Chystám se ukázat. 330 00:14:58,812 --> 00:15:00,770 Jak řekl Jason, všechno je zcela online. 331 00:15:00,770 --> 00:15:03,780 Jen budeme se snažit, aby zavedly všichni na pojmy pokrytý 332 00:15:03,780 --> 00:15:05,270 V některých z těchto snímků. 333 00:15:05,270 --> 00:15:06,582 Takže jen sledovat spolu. 334 00:15:06,582 --> 00:15:09,540 Žádné starosti, pokud nechcete pochopit všechno; nicméně, je-li v každém bodě 335 00:15:09,540 --> 00:15:12,820 máte pocit, ztracený, zvedněte ruka, budeme zastavit, žádné starosti. 336 00:15:12,820 --> 00:15:15,060 Bezva. 337 00:15:15,060 --> 00:15:19,270 >> Takže si myslím, něco, co David Již druh zmíněno v přednášce 338 00:15:19,270 --> 00:15:23,240 a Jason druh se zmiňoval do dnes je to, co je knihovna. 339 00:15:23,240 --> 00:15:27,510 Takže v programování, máme tyto věci s názvem knihovny. 340 00:15:27,510 --> 00:15:29,690 Tam, kde v podstatě všechny oni jsou je jen soubor 341 00:15:29,690 --> 00:15:32,610 funkcí, která je v podstatě jen kód, který je 342 00:15:32,610 --> 00:15:35,070 již byly napsány někdo jiný, že můžeme všichni 343 00:15:35,070 --> 00:15:36,410 spotřebujte do našich programech. 344 00:15:36,410 --> 00:15:38,790 >> Tak jak se normální Práce knihovna, je to tak? 345 00:15:38,790 --> 00:15:40,030 Zadáte dveře knihovny. 346 00:15:40,030 --> 00:15:41,890 Máte všechny tyto Knihy si můžete vytáhnout 347 00:15:41,890 --> 00:15:44,590 a můžete přístup k informacím v těchto knihách. 348 00:15:44,590 --> 00:15:45,840 Totéž v programování. 349 00:15:45,840 --> 00:15:48,820 >> Máte knihovnu, která má již byly napsány jinými lidmi. 350 00:15:48,820 --> 00:15:51,530 A to tak, že je to možné, jako programátor nebo student, 351 00:15:51,530 --> 00:15:55,780 mohou získat přístup k této knihovně je přes hashtag #include. 352 00:15:55,780 --> 00:15:59,720 >> Například, v C my mají tři C- nejvíce 353 00:15:59,720 --> 00:16:03,420 běžně používají tři Standard C libraries-- vstupu / výstupu knihovny, 354 00:16:03,420 --> 00:16:05,540 řetězec knihovna, a matematická knihovna. 355 00:16:05,540 --> 00:16:07,610 >> Takže v rámci vaše první pár problém soupravy, 356 00:16:07,610 --> 00:16:10,940 ty budou tři že jste primárně používat. 357 00:16:10,940 --> 00:16:14,610 Tak jako David již vysvětleno v přednášce, 358 00:16:14,610 --> 00:16:17,460 standardní I / O knihovny, nebo standardní vstup / výstup library 359 00:16:17,460 --> 00:16:18,620 dělá přesně to. 360 00:16:18,620 --> 00:16:23,530 To vám umožní, v kódu, zadat cokoliv od uživatele a výstupu, který 361 00:16:23,530 --> 00:16:25,960 na obrazovku, v podstatě tisk na obrazovku. 362 00:16:25,960 --> 00:16:29,990 >> A tak kdykoli budete používat žádné funkce, například funkci printf (), která 363 00:16:29,990 --> 00:16:33,319 budeme jít přes další snímek, ujistěte se, že obsahuje standardní I / O 364 00:16:33,319 --> 00:16:36,360 knihovna jinak vám nebudeme moci použít funkci printf (). 365 00:16:36,360 --> 00:16:39,110 Protože vy, jako programátor Nikdy vlastně napsal, že funkce, 366 00:16:39,110 --> 00:16:41,840 jste jen pomocí někoho Kód nic není v rámci vlastní kód. 367 00:16:41,840 --> 00:16:43,620 >> Dává to smysl všichni? 368 00:16:43,620 --> 00:16:44,520 Bezva. 369 00:16:44,520 --> 00:16:48,530 >> A pak jsme v podstatě dostat se na string.h knihovna a math.h 370 00:16:48,530 --> 00:16:52,970 knihovna, .h prostě znamená knihovnu, další knihovny, které budete nakonec 371 00:16:52,970 --> 00:16:55,310 používat přímo ve Vašem kódu. 372 00:16:55,310 --> 00:16:57,620 >> Avšak pro účely této knihovny jsme také 373 00:16:57,620 --> 00:17:01,170 have-- tohoto class-- máme také to, co se nazývá knihovnu CS50, 374 00:17:01,170 --> 00:17:05,270 cs50.h, kde jsme pro Vaše pročtení vytvořili 375 00:17:05,270 --> 00:17:07,369 mnoho důležitých a užitečných funkcí. 376 00:17:07,369 --> 00:17:09,550 Takže vy jako programátor může zádech off 377 00:17:09,550 --> 00:17:14,470 to, co jsme již napsali tak, že Tato funkce je k dispozici pro vás 378 00:17:14,470 --> 00:17:15,599 pro vaše použití. 379 00:17:15,599 --> 00:17:18,359 >> Budu pokrývající pár funkce běžně používané, 380 00:17:18,359 --> 00:17:20,839 ale vím, že se jedná o všechny googleable online. 381 00:17:20,839 --> 00:17:24,904 Neváhejte, vytáhnout knihovnu CS50 a pak máte všechny funkce tam. 382 00:17:24,904 --> 00:17:25,828 To jo. 383 00:17:25,828 --> 00:17:28,140 >> SPEAKER 5: Takže pokud jste nebyli pomocí softwaru 384 00:17:28,140 --> 00:17:29,916 zajišťuje nám třída, dělá, že 385 00:17:29,916 --> 00:17:32,698 znamenat, budeme muset stáhnout a najít Toto záhlaví soubor sami a říct 386 00:17:32,698 --> 00:17:33,840 počítač, kde to je? 387 00:17:33,840 --> 00:17:34,320 >> ANDI PENG: Velká otázka. 388 00:17:34,320 --> 00:17:34,820 Přesně tak. 389 00:17:34,820 --> 00:17:38,194 Takže je to jako když si nejste fyzicky přítomný v knihovně, 390 00:17:38,194 --> 00:17:40,360 neexistuje žádný způsob, jak pro vás skutečně jít a přístupu k němu. 391 00:17:40,360 --> 00:17:42,589 Takže totéž s programování v C, vás 392 00:17:42,589 --> 00:17:45,880 musí se ujistit, že jste pomocí našeho zařízení, protože knihovna je již 393 00:17:45,880 --> 00:17:47,270 byly začleněny do něj. 394 00:17:47,270 --> 00:17:50,020 A pak, když hashtag #include, knihovna je tam. 395 00:17:50,020 --> 00:17:50,520 To jo. 396 00:17:50,520 --> 00:17:51,920 Dobrá otázka. 397 00:17:51,920 --> 00:17:53,461 Všichni dobře? 398 00:17:53,461 --> 00:17:53,960 Bezva. 399 00:17:53,960 --> 00:17:56,371 400 00:17:56,371 --> 00:17:56,870 Dobře. 401 00:17:56,870 --> 00:17:59,330 Takže budeme zasáhnout, v podstatě, to, co je 402 00:17:59,330 --> 00:18:01,620 První funkce, která My jako programátoři jsou 403 00:18:01,620 --> 00:18:03,900 bude používat v rámci našeho kódu. 404 00:18:03,900 --> 00:18:05,690 To se nazývá funkce printf (). 405 00:18:05,690 --> 00:18:08,450 Takže, funkce printf (), jak jsem již uvedl v posledním snímku, 406 00:18:08,450 --> 00:18:11,830 je zahrnuta ve standardním I / O, standardní vstup / výstup, knihovna. 407 00:18:11,830 --> 00:18:16,470 >> Takže ujistěte se, že cokoliv, co using-- oh, dovolte mi chytit laser pointer-- 408 00:18:16,470 --> 00:18:18,660 vždy, když používáte funkce printf (), 409 00:18:18,660 --> 00:18:21,790 musíte zahrnout standard I / O knihovna nebo jinak, při kompilaci, 410 00:18:21,790 --> 00:18:23,760 budete mít chybu protože počítač bude vypadat, 411 00:18:23,760 --> 00:18:26,140 oh já nevím, kde printf () je, ty mi neřekl, kde printf () 412 00:18:26,140 --> 00:18:26,830 je. 413 00:18:26,830 --> 00:18:30,150 Well printf (), je zahrnuta v Standardní I / O, takže při použití printf (), 414 00:18:30,150 --> 00:18:32,960 ujistěte, že máte, že čára nad kódu. 415 00:18:32,960 --> 00:18:36,040 >> Tak například, printf () Zde je funkce. 416 00:18:36,040 --> 00:18:40,260 Vše, co to udělá, je vytisknout něco v závorkách pro uživatele. 417 00:18:40,260 --> 00:18:44,840 Zajímá se někdo chtěl, aby se stab v jakém tento řádek kódu práva 418 00:18:44,840 --> 00:18:46,420 Zde se bude tisknout? 419 00:18:46,420 --> 00:18:48,730 Proto, že odpověď je na obrazovce. 420 00:18:48,730 --> 00:18:50,480 Každý, kdo? 421 00:18:50,480 --> 00:18:51,380 >> Verdi: Spodní. 422 00:18:51,380 --> 00:18:53,510 >> ANDI PENG: Verdi, proč nejdeš vpřed a říci celý prohlášení? 423 00:18:53,510 --> 00:18:55,718 >> Verdi: Dobrý den, jmenuji se Andi, a jsem 20 let. 424 00:18:55,718 --> 00:18:57,270 ANDI PENG: Ach, půvabný. 425 00:18:57,270 --> 00:19:00,240 Takže v této linii budeme vytisknout, Dobrý den, jmenuji se Andi, 426 00:19:00,240 --> 00:19:04,280 a jsem 20 let, které je ve skutečnosti pravdivé sdělení. 427 00:19:04,280 --> 00:19:05,090 >> Syntaxe. 428 00:19:05,090 --> 00:19:08,830 Takže pár otázek, které syntaktických vy chcete, aby se ujistil, víte. 429 00:19:08,830 --> 00:19:09,360 Citáty. 430 00:19:09,360 --> 00:19:13,170 Dvojité uvozovky říct, Počítač, který všechno uvnitř 431 00:19:13,170 --> 00:19:14,850 se bude tisknout. 432 00:19:14,850 --> 00:19:16,620 >> Vše uvnitř plechovky prostě být přesně, jak 433 00:19:16,620 --> 00:19:19,920 jste to typ, s výjimkou obvykle na konci, 434 00:19:19,920 --> 00:19:23,610 budeme chtít, aby zahrnovala hash-- oh sorry-- pomlčka n. 435 00:19:23,610 --> 00:19:24,640 Takže pomlčka n. 436 00:19:24,640 --> 00:19:28,884 >> Má někdo chtěl, aby se hádat na to, co dělá, že k našemu kódu? 437 00:19:28,884 --> 00:19:29,465 To jo. 438 00:19:29,465 --> 00:19:30,840 SPEAKER 6: Klade to na nový řádek. 439 00:19:30,840 --> 00:19:31,650 ANDI PENG: Přesně tak. 440 00:19:31,650 --> 00:19:34,660 Tak tohle všechno dělá, je umožňují ať se stane cokoli 441 00:19:34,660 --> 00:19:37,520 po tomto, po tomto prohlášení, mají být vytištěny na nový řádek. 442 00:19:37,520 --> 00:19:40,030 Takže když jste psaní Kód nemáte náhodně mít věci 443 00:19:40,030 --> 00:19:41,738 připíchnutý na konec že nechcete. 444 00:19:41,738 --> 00:19:43,700 To všechno dostane úhledně vytištěn jeden řádek 445 00:19:43,700 --> 00:19:46,870 a pak začneme na následující řádek. 446 00:19:46,870 --> 00:19:50,970 >> Pamatuje si někdo, co to středník dělá, když jsme kódování? 447 00:19:50,970 --> 00:19:54,580 448 00:19:54,580 --> 00:19:55,330 To jo. 449 00:19:55,330 --> 00:19:55,740 >> SPEAKER 7: Prohlášení. 450 00:19:55,740 --> 00:19:56,010 >> ANDI PENG: Sorry? 451 00:19:56,010 --> 00:19:57,100 >> SPEAKER 7: Má to skončí příkaz? 452 00:19:57,100 --> 00:19:57,766 >> ANDI PENG: Jo. 453 00:19:57,766 --> 00:20:02,670 Tak v C, nebo jakéhokoli programování jazyka, středník 454 00:20:02,670 --> 00:20:04,640 označuje konec programové linky. 455 00:20:04,640 --> 00:20:09,240 Tak například, v angličtině používáme dobu říci, oh to je konec věty. 456 00:20:09,240 --> 00:20:12,857 V programování, stejnou věc, máme středník naznačovat konec řádku. 457 00:20:12,857 --> 00:20:14,690 Častokrát, když jste začíná na program, 458 00:20:14,690 --> 00:20:17,150 vy si uvědomíte, nezapomeňte přidat středník 459 00:20:17,150 --> 00:20:19,400 a pak pokusu o spuštění vašeho kód a to nefunguje. 460 00:20:19,400 --> 00:20:21,520 A ty jsi jako: Ach, vůbec se mi nelíbí vím, proč je třeba pracovat. 461 00:20:21,520 --> 00:20:24,394 >> Je pravděpodobné, že jste pravděpodobně zapomněli středník nebo držák nebo něco 462 00:20:24,394 --> 00:20:25,020 někde jinde. 463 00:20:25,020 --> 00:20:27,740 Tak, to je důležité mít na paměti. 464 00:20:27,740 --> 00:20:29,627 Bezva. 465 00:20:29,627 --> 00:20:31,960 Dobře, zvednutím ruky, jak Mnoho lidí zde mají stále 466 00:20:31,960 --> 00:20:37,210 zaujatý AP Computer Science nebo naprogramovaný v Javě předtím, vůbec? 467 00:20:37,210 --> 00:20:37,710 DOBŘE. 468 00:20:37,710 --> 00:20:38,210 Lovely. 469 00:20:38,210 --> 00:20:41,340 To nebude vztahovat Pak, ale v Javě, budete 470 00:20:41,340 --> 00:20:44,960 mají něco, co nazývá System.out.println které neexistuje v C. 471 00:20:44,960 --> 00:20:49,927 >> Tak v C, kdykoli vás Chcete-li přidat do proměnných 472 00:20:49,927 --> 00:20:51,760 do ničeho chcete vytisknout, je tu 473 00:20:51,760 --> 00:20:54,620 specifická syntax budeme používat. 474 00:20:54,620 --> 00:20:56,520 Tomu se říká placeholding-- v podstatě 475 00:20:56,520 --> 00:21:01,180 přidáme zástupné symboly na místě z celého čísla nebo proměnné 476 00:21:01,180 --> 00:21:02,580 že chceme vytisknout. 477 00:21:02,580 --> 00:21:07,430 >> Tak jako vy můžete vidět že jsme zahrnuty nová záhlaví knihovny soubor zde. 478 00:21:07,430 --> 00:21:09,130 Knihovna CS50. 479 00:21:09,130 --> 00:21:13,160 A obsažené v tomto CS50 knihovny je běžná funkce budeme používat 480 00:21:13,160 --> 00:21:15,610 v naší kurz s názvem GetInt (). 481 00:21:15,610 --> 00:21:21,830 >> Chce někdo, aby se píchnout do Co GetInt (), mohou být případně dělat. 482 00:21:21,830 --> 00:21:22,830 >> Diváků: [Neslyšitelné] 483 00:21:22,830 --> 00:21:23,550 >> ANDI PENG: Sorry. 484 00:21:23,550 --> 00:21:24,370 Nelze slyšet. 485 00:21:24,370 --> 00:21:25,511 Maddie, někdo. 486 00:21:25,511 --> 00:21:27,260 Maddie: Oh, vyzve jste na celé číslo. 487 00:21:27,260 --> 00:21:28,051 ANDI PENG: Přesně tak. 488 00:21:28,051 --> 00:21:30,670 Takže tato funkce, další funkce, která je již 489 00:21:30,670 --> 00:21:33,690 napsal někdo jiný že můžeme vyzýváme nyní. 490 00:21:33,690 --> 00:21:38,000 Vše, co to je, je vyzvat vás, uživatele, zadat co chcete jako kód 491 00:21:38,000 --> 00:21:41,850 běží a ukládá whatever-- V tomto případě jsme GetInt () - Ing, 492 00:21:41,850 --> 00:21:44,060 tak to znamená, že jsme získání celé číslo. 493 00:21:44,060 --> 00:21:46,150 >> A budeme uchovávat že v jiné celé číslo 494 00:21:46,150 --> 00:21:48,900 že jsme právě udělal s názvem věku. 495 00:21:48,900 --> 00:21:51,500 Že smysl pro každého? 496 00:21:51,500 --> 00:21:52,190 Bezva. 497 00:21:52,190 --> 00:21:56,400 >> Takže teď, že jsme tuto uloženy celé číslo, že jsme vyzváni od uživatele, 498 00:21:56,400 --> 00:22:00,010 V této proměnné, máme vytvořil typu int nazývá věk, 499 00:22:00,010 --> 00:22:03,720 můžeme jít dopředu a místo které fungují v naší printf (). 500 00:22:03,720 --> 00:22:08,970 Takže syntaxe obvykle pro printf () je že tam, kde ve vašem aktuálním fyzickém 501 00:22:08,970 --> 00:22:14,410 linku, kterou chcete zahrnout toto číslo, Udělej to symbol tam, 502 00:22:14,410 --> 00:22:17,800 symbol procent s tím, že typ proměnné, které chcete. 503 00:22:17,800 --> 00:22:20,090 >> Takže v tomto případě věk je celé číslo. 504 00:22:20,090 --> 00:22:25,030 Takže se chystáte zahrnout % i proto, že je to celé číslo. 505 00:22:25,030 --> 00:22:26,860 A pak po vaší prohlášení, budete 506 00:22:26,860 --> 00:22:30,370 dělat čárkou a Název proměnné. 507 00:22:30,370 --> 00:22:33,420 >> Tak tady, jdeme do tisku out, Dobrý den, jmenuji se Andi, 508 00:22:33,420 --> 00:22:35,730 a jsem prázdné let. 509 00:22:35,730 --> 00:22:38,890 Hashta-- nebo, sorry--, věk se co jsem vstupem. 510 00:22:38,890 --> 00:22:42,790 Takže pokud bych měl vstup 20 pro mou GetInt () zde, 511 00:22:42,790 --> 00:22:44,500 to by vytisknout přesně to samé. 512 00:22:44,500 --> 00:22:47,990 Ale kdybych chtěl něco vstup jinde, stejně jako možná 40 nebo 45, 513 00:22:47,990 --> 00:22:50,800 pak byste vidět, že odráží odpovídajícím způsobem v kódu. 514 00:22:50,800 --> 00:22:52,886 >> Takže toto je příklad něčeho, v němž 515 00:22:52,886 --> 00:22:55,260 to vytiskne a vypadá vy, jako jestli je to totéž, 516 00:22:55,260 --> 00:22:57,593 ale pod kapotu Počítač je to vlastně 517 00:22:57,593 --> 00:22:59,560 velmi odlišné věci děje. 518 00:22:59,560 --> 00:23:00,060 Bezva. 519 00:23:00,060 --> 00:23:02,760 520 00:23:02,760 --> 00:23:03,260 Dobře. 521 00:23:03,260 --> 00:23:06,940 Takže to, co chceme-li více proměnných? 522 00:23:06,940 --> 00:23:08,290 Docela snadné. 523 00:23:08,290 --> 00:23:09,150 Stejná věc. 524 00:23:09,150 --> 00:23:11,930 Máme také novou funkci zde tzv getString (), 525 00:23:11,930 --> 00:23:15,380 také zahrnuty v rámci knihovny CS50, že vše, co dělá, je vyzve uživatele 526 00:23:15,380 --> 00:23:18,120 pro řetězec, který je jen soubor znaků, 527 00:23:18,120 --> 00:23:19,810 tak jako věta, nebo jako jméno. 528 00:23:19,810 --> 00:23:25,470 >> Takže v tomto případě bychom mít dvě zástupné znaky% s řetězci a% i 529 00:23:25,470 --> 00:23:26,750 na celé číslo. 530 00:23:26,750 --> 00:23:29,190 A budeme následovat že ze dvou proměnných 531 00:23:29,190 --> 00:23:32,670 chceme, součástí, v objednávce že se objeví ve větě. 532 00:23:32,670 --> 00:23:35,471 Tak například, my name is prázdný, chci jméno tam, 533 00:23:35,471 --> 00:23:36,970 takže budu mít jméno jako první. 534 00:23:36,970 --> 00:23:39,637 A pak poté, chci věk, chtějí mít věku sekundu. 535 00:23:39,637 --> 00:23:42,720 A tak, když jsem chtěl na vstup, Dobrý den, jmenuji se Andi, a jsem 20 let. 536 00:23:42,720 --> 00:23:46,370 Mám-li zadaná Andi a 20, přesně to samé by se vytisknout; 537 00:23:46,370 --> 00:23:51,134 Nicméně, teď máme dvě uložené Proměnné jména, stejně jako int. 538 00:23:51,134 --> 00:23:51,634 To jo. 539 00:23:51,634 --> 00:23:54,124 >> SPEAKER 8: Bylo by schopni spustit, pokud jste přepnuli 540 00:23:54,124 --> 00:23:55,620 jméno a věk, na konci, který? 541 00:23:55,620 --> 00:23:55,840 >> ANDI PENG: Jo. 542 00:23:55,840 --> 00:23:57,006 To je opravdu dobrá otázka. 543 00:23:57,006 --> 00:23:59,520 Tak dlouhý příběh krátký, no. 544 00:23:59,520 --> 00:24:03,070 Vzhledem k tomu, jméno a co age-- typ proměnné je jméno? 545 00:24:03,070 --> 00:24:03,950 >> SPEAKER 8: String. 546 00:24:03,950 --> 00:24:05,440 >> ANDI PENG: A co typ proměnné je věk? 547 00:24:05,440 --> 00:24:06,231 >> SPEAKER 8: Integer. 548 00:24:06,231 --> 00:24:10,290 ANDI PENG: Tak tady máme zástupný symbol pro řetězec a celé číslo, ne? 549 00:24:10,290 --> 00:24:13,350 Takže pokud jste byli přejít nich, počítač to nebude vědět. 550 00:24:13,350 --> 00:24:16,250 Bude to pro kontrolu řetězec, a pokud se pokusíte dát int, 551 00:24:16,250 --> 00:24:18,083 že to bude jako počkejte, jsem zmatená, vás 552 00:24:18,083 --> 00:24:21,100 Řekl mi, že by měl být přidělením paměti pro int. 553 00:24:21,100 --> 00:24:23,760 A právě zde, když očekává, že celé číslo 554 00:24:23,760 --> 00:24:25,640 A vy jste to pojmenovat a řetězec namísto toho, 555 00:24:25,640 --> 00:24:28,931 je to také bude velmi matoucí, jej nepoběží přesně tak, jak potřebujete. 556 00:24:28,931 --> 00:24:35,280 Tak tady, jmenovat a syntax je velmi důležité pro spuštění kódu. 557 00:24:35,280 --> 00:24:37,991 Všichni dobře? 558 00:24:37,991 --> 00:24:38,490 To jo. 559 00:24:38,490 --> 00:24:39,476 Maddie. 560 00:24:39,476 --> 00:24:44,620 >> Maddie: Zde Vím, že jsme se podíval na příklady ve třídě, kde se ptají 561 00:24:44,620 --> 00:24:46,950 Jaký je váš věk, jaké je vaše jméno. 562 00:24:46,950 --> 00:24:50,250 Zde bych, že ať už je to doesn't-- pokud bychom měli spustit tento kód, 563 00:24:50,250 --> 00:24:51,750 to by se ptát na to? 564 00:24:51,750 --> 00:24:54,740 Ale byste stačí zadat dvě čísla a pak by běžet takhle? 565 00:24:54,740 --> 00:24:55,781 >> ANDI PENG: Jo, přesně tak. 566 00:24:55,781 --> 00:24:58,250 Takže pokud byste chtěli na to, aby display, prosím, zadejte váš věk, 567 00:24:58,250 --> 00:25:01,100 stačí přidat funkci printf () , který říká, Prosím, zadejte svůj věk, 568 00:25:01,100 --> 00:25:01,600 nad ní. 569 00:25:01,600 --> 00:25:02,711 To je dobrá otázka. 570 00:25:02,711 --> 00:25:03,210 To jo. 571 00:25:03,210 --> 00:25:07,964 >> SPEAKER 9: Tak, už bude zahrnuto v GetInt () [neslyšitelný]. 572 00:25:07,964 --> 00:25:09,380 ANDI PENG: Ne, to vlastně není. 573 00:25:09,380 --> 00:25:11,809 Tak tohle všechno dělá, je jen vyzve prázdnou obrazovku 574 00:25:11,809 --> 00:25:13,100 pro daného uživatele na vstupní něčemu. 575 00:25:13,100 --> 00:25:17,420 Pokud budete chtít, pokud chcete vytisknout out něco, co vypráví uživatele, jako, 576 00:25:17,420 --> 00:25:21,110 prosím, dej mi váš věk, pak vám bude muset printf (), které sami. 577 00:25:21,110 --> 00:25:23,789 Vzhledem k tomu, každý používá tento funkce pro různé věci, 578 00:25:23,789 --> 00:25:26,080 mohli byste být ukládání věku, mohli byste být ukládání adresu, 579 00:25:26,080 --> 00:25:28,060 mohli byste být ukládání telefonních čísel. 580 00:25:28,060 --> 00:25:31,190 A tak je to opravdu jen na jednotlivé použití u vašich obchůdky 581 00:25:31,190 --> 00:25:34,390 za to, co chcete, aby to říct. 582 00:25:34,390 --> 00:25:34,890 To jo. 583 00:25:34,890 --> 00:25:38,236 >> SPEAKER 10: Takže, jen aby objasnila, kde dělat vám zadat jméno a věk 584 00:25:38,236 --> 00:25:43,020 tak, aby se objeví na místě% s? 585 00:25:43,020 --> 00:25:44,320 >> ANDI PENG: na uživatele? 586 00:25:44,320 --> 00:25:47,165 >> SPEAKER 10: Ano, stejně jako Jak to mám udělat aby to-- kam jsem dal Andi, 587 00:25:47,165 --> 00:25:48,350 a kde jsem dal 20? 588 00:25:48,350 --> 00:25:48,640 >> ANDI PENG: Jo. 589 00:25:48,640 --> 00:25:50,250 Takže pokud jste se ve skutečnosti spustit tento kód, 590 00:25:50,250 --> 00:25:52,875 Nejsem vlastně běží kód, to je jen tady právě teď. 591 00:25:52,875 --> 00:25:56,910 Pokud bych měl spustit kód, udělal bych to kompilovat kód, aby se soubor, 592 00:25:56,910 --> 00:26:00,760 spustit kód, a pak by být jen dvě mezery pro mě VSTUP. 593 00:26:00,760 --> 00:26:01,260 To jo. 594 00:26:01,260 --> 00:26:03,843 Vy uvidíte, když budete hrát kolem s kódem sami. 595 00:26:03,843 --> 00:26:05,760 596 00:26:05,760 --> 00:26:09,645 >> Dobře budeme pohybovat do další části, co 597 00:26:09,645 --> 00:26:11,610 budeme pokrývat dnes. 598 00:26:11,610 --> 00:26:13,980 Chystáme se jít nad tím, co podmíněné příkazy jsou. 599 00:26:13,980 --> 00:26:16,500 Takže pokud vy pamatovat a odvolávat je z přednášky, 600 00:26:16,500 --> 00:26:19,210 podmíněné příkazy, všichni jsou jsou souborem 601 00:26:19,210 --> 00:26:24,010 pokynů k počítači které v případě, že určitá podmínka je pravda, 602 00:26:24,010 --> 00:26:27,470 spustit kód Uvnitř této podmínky. 603 00:26:27,470 --> 00:26:30,101 >> Takže v podstatě Scratch-- velký téma ode dneška 604 00:26:30,101 --> 00:26:32,850 je to, že vy již vše Viděl logiku vše 605 00:26:32,850 --> 00:26:34,020 že jsme krytina. 606 00:26:34,020 --> 00:26:36,190 A všechno, co děláte, je překlady něco, 607 00:26:36,190 --> 00:26:39,090 že je velmi intuitivní Scratch, a tvrdě ho kódování 608 00:26:39,090 --> 00:26:41,950 do syntaxe budeme používat pro třídu, která je C. 609 00:26:41,950 --> 00:26:47,550 Takže logicky, to vše bylo blok je to, že kus kódu přímo tam. 610 00:26:47,550 --> 00:26:49,995 To jo. 611 00:26:49,995 --> 00:26:50,900 DOBŘE. 612 00:26:50,900 --> 00:26:55,290 >> Také jsme se dostat do if ... jinak Prohlášení, které je jen přidaná vrstva 613 00:26:55,290 --> 00:26:59,120 složitosti na if kde počítač se podívat na to 614 00:26:59,120 --> 00:27:04,260 a vidí, pokud je tato podmínka pravdivá, proveďte co je uvnitř těchto dvou konzol, 615 00:27:04,260 --> 00:27:08,470 else-- takže něco jako výchozí, pokud to nesplňuje condition-- to. 616 00:27:08,470 --> 00:27:10,120 Je to jako rozcestí. 617 00:27:10,120 --> 00:27:14,400 Pokud prší venku, jsem dal na pláštěnka, něco jiného 618 00:27:14,400 --> 00:27:16,330 jinak Nechci dát na pláštěnka. 619 00:27:16,330 --> 00:27:18,400 >> Znamená to, že logika smysl pro každého? 620 00:27:18,400 --> 00:27:21,031 Bezva. 621 00:27:21,031 --> 00:27:21,530 Dobře. 622 00:27:21,530 --> 00:27:24,970 Takže jako pevný příklad to, že bychom vidět v C 623 00:27:24,970 --> 00:27:28,890 je, když jsem chtěl vytvořit proměnnou s názvem domácí úkoly hodin. 624 00:27:28,890 --> 00:27:32,050 A pokud domácí úkoly hodiny méně než pět, říkám Život je skvělý. 625 00:27:32,050 --> 00:27:33,070 To je nádherné. 626 00:27:33,070 --> 00:27:36,450 Nicméně, říkají, že boj je real-- což je to, co všichni na tomto pondělí 627 00:27:36,450 --> 00:27:39,337 odpolední up Science Hill jsou pravděpodobně dělá právě now-- 628 00:27:39,337 --> 00:27:40,170 Diváků: [směje se] 629 00:27:40,170 --> 00:27:42,510 ANDI PENG: Mají způsob, jak by, děkuji vám za to. 630 00:27:42,510 --> 00:27:46,180 Způsob, jakým bychom napevno to v C je if-- předpokládejme 631 00:27:46,180 --> 00:27:49,920 již máme proměnnou typu int volal domácí úkoly hodin tady. 632 00:27:49,920 --> 00:27:53,870 Pokud domácí úkoly hodin je menší než Pět printf (), Život je skvělý. 633 00:27:53,870 --> 00:27:57,330 Nezapomeňte držet / n, protože Chcete nový řádek po. 634 00:27:57,330 --> 00:27:59,660 Else tisk, boj je skutečný. 635 00:27:59,660 --> 00:28:03,720 >> Má každý pochopit, jak I přešli z tohoto bloku 636 00:28:03,720 --> 00:28:07,610 do tohoto bloku kódu? 637 00:28:07,610 --> 00:28:08,110 Bezva. 638 00:28:08,110 --> 00:28:11,030 639 00:28:11,030 --> 00:28:11,840 Dobře. 640 00:28:11,840 --> 00:28:15,930 >> Takže teď budeme se podívat na více příkazů, pokud vůbec. 641 00:28:15,930 --> 00:28:18,140 Takže pojďme předpokládat Účelem tohoto programu 642 00:28:18,140 --> 00:28:20,870 bylo, že jsme výzvu pro platové třídy. 643 00:28:20,870 --> 00:28:24,450 My prompt pomocí GetInt () pro stupeň, a vstupní hodnotu, 644 00:28:24,450 --> 00:28:27,700 a chcete zobrazit jaký typ třídy dostali. 645 00:28:27,700 --> 00:28:30,730 >> Takže pokud bych měl navrhnout program, já znamenat, typicky ve všech našich očí, 646 00:28:30,730 --> 00:28:35,490 90-100 je A, 80 až 90 je B, a tak dále a tak dále. 647 00:28:35,490 --> 00:28:39,040 Co je špatného kus kódu, který to není 648 00:28:39,040 --> 00:28:41,393 dělat to, co chci, aby to dělat. 649 00:28:41,393 --> 00:28:41,892 To jo. 650 00:28:41,892 --> 00:28:45,100 >> SPEAKER 11: Mají nižší limity, ale nemají horní hranici. 651 00:28:45,100 --> 00:28:46,280 >> ANDI PENG: Přesně tak. 652 00:28:46,280 --> 00:28:47,950 Copak všichni slyšet, co řekla? 653 00:28:47,950 --> 00:28:50,200 Tam to bude horní limity, ale není nižší limity. 654 00:28:50,200 --> 00:28:52,540 Omlouváme se, ale naopak, spodní limity, žádné horní meze. 655 00:28:52,540 --> 00:28:55,090 Takže byste chtěli se píchnout do říká 656 00:28:55,090 --> 00:28:58,945 co by být vytištěny na toto Obrazovka kdybych spuštěním tohoto kódu. 657 00:28:58,945 --> 00:28:59,820 SPEAKER 11: chyba? 658 00:28:59,820 --> 00:29:01,140 ANDI PENG: chyba? 659 00:29:01,140 --> 00:29:02,740 Skvělé hádat, není úplně v pořádku. 660 00:29:02,740 --> 00:29:05,465 Má někdo jiný stab? 661 00:29:05,465 --> 00:29:06,640 Jo, Aaron. 662 00:29:06,640 --> 00:29:10,099 >> AARON: Máte-li dát do něco vyšší než 90, 663 00:29:10,099 --> 00:29:11,640 to by ukázat všechny stupně, co máš. 664 00:29:11,640 --> 00:29:13,640 Ukázalo by jste se dostali k A, máš B, máš C. 665 00:29:13,640 --> 00:29:13,870 >> ANDI PENG: Jo. 666 00:29:13,870 --> 00:29:14,840 To je přesně to pravé. 667 00:29:14,840 --> 00:29:17,820 Tak, to by bylo skvělé. 668 00:29:17,820 --> 00:29:21,781 Nicméně, jsou navzájem exkluzivní, myslím. 669 00:29:21,781 --> 00:29:23,280 Pokud bych měl spustit tento kus kódu. 670 00:29:23,280 --> 00:29:26,200 A pak ať to jen říct, že jsem zadaná jakostní třídy 95. 671 00:29:26,200 --> 00:29:30,360 Takže 95 je nyní uložen v Int volal stupeň. 672 00:29:30,360 --> 00:29:33,610 >> A tak C je jazyk že vyběhne shora dolů, 673 00:29:33,610 --> 00:29:36,000 tak to bude vždy běžet až na dno. 674 00:29:36,000 --> 00:29:39,420 Takže to přijde sem, číst, pokud stupeň je větší než nebo rovna 90, 675 00:29:39,420 --> 00:29:42,850 printf (), jste se dostali k A. Skvělé, jsem mají 95, která je větší než 90. 676 00:29:42,850 --> 00:29:44,866 Bude to k tisku, Mám A. To se děje 677 00:29:44,866 --> 00:29:48,850 aby se na to podívat, pokud to jde říkají, no 95 je také větší než 80, 678 00:29:48,850 --> 00:29:52,970 to bude tisknout také dostal GOT B vykřičník, a tak dále a tak 679 00:29:52,970 --> 00:29:53,690 dále. 680 00:29:53,690 --> 00:29:55,890 >> Takže jak můžeme všichni vidět, to je obyčejná chyba 681 00:29:55,890 --> 00:30:00,760 které mohou nastat, když jsme psaní kódu dávat pozor. 682 00:30:00,760 --> 00:30:05,430 Kdokoliv, jakékoli otázky týkající Proč, co se děje? 683 00:30:05,430 --> 00:30:05,930 Skvělý. 684 00:30:05,930 --> 00:30:08,920 685 00:30:08,920 --> 00:30:09,440 DOBŘE. 686 00:30:09,440 --> 00:30:12,110 >> Tak jak jsme se opravit, je samozřejmě logickým další otázka. 687 00:30:12,110 --> 00:30:16,290 No, máme tyto krásné věci zvané pokud else if jiný 688 00:30:16,290 --> 00:30:18,010 pokud else. 689 00:30:18,010 --> 00:30:22,230 Takže můžete vidět, pokud jste chtěli změnit tento problém, 690 00:30:22,230 --> 00:30:25,260 jste chtěli, aby se každý z Podmínky vzájemně se vylučující, 691 00:30:25,260 --> 00:30:26,860 byste přidat else ... if. 692 00:30:26,860 --> 00:30:30,068 >> A to z course-- uvažovat o nich jako žebříky, nebo jako příčky na straně ladder-- 693 00:30:30,068 --> 00:30:34,050 můžete přidat tolik, kolik z nich jako vy Chcete pro tolik podmínek, jak budete chtít. 694 00:30:34,050 --> 00:30:36,790 Tak tady, když jsem zadaná třídy být 95. 695 00:30:36,790 --> 00:30:39,479 Je-li stupeň je větší než 95, printf (), mám A. Skvělé. 696 00:30:39,479 --> 00:30:42,020 Bude to vidět else ... pokud a bude to vědět, Ach ne, 697 00:30:42,020 --> 00:30:43,750 Už jsem popraven první jinde. 698 00:30:43,750 --> 00:30:47,020 I víš-- nebo první if-- vím, že Nechci se podívat na některý z nich 699 00:30:47,020 --> 00:30:48,920 proto, že jeden z nich je již true. 700 00:30:48,920 --> 00:30:50,410 Takže to bude běžet od shora dolů. 701 00:30:50,410 --> 00:30:53,650 Jakmile se první z nich je pravda, pak to bude přeskočit všechny ostatní 702 00:30:53,650 --> 00:30:54,675 z jiného ... IFS. 703 00:30:54,675 --> 00:30:55,550 Dává to smysl? 704 00:30:55,550 --> 00:30:57,841 Takže tímto způsobem máte různé úrovně kontroly 705 00:30:57,841 --> 00:31:01,090 a jakmile se jednou z nich je false, Zbytek jsou také, nebudou ani kontrolovat. 706 00:31:01,090 --> 00:31:03,577 707 00:31:03,577 --> 00:31:04,076 Bezva. 708 00:31:04,076 --> 00:31:07,680 709 00:31:07,680 --> 00:31:08,180 Dobře. 710 00:31:08,180 --> 00:31:11,180 >> Tak to je příklad jiný druh podmíněného příkazu 711 00:31:11,180 --> 00:31:15,250 vidíme méně často, ale my je uvidíme a jejich použití. 712 00:31:15,250 --> 00:31:18,120 A oni jsou často více efektivní pro určitých případech. 713 00:31:18,120 --> 00:31:20,020 Takže máme to, co se nazývá prohlášení switch. 714 00:31:20,020 --> 00:31:25,140 Takže než jsme probrali, co to jinak prohlášení, if ... else. 715 00:31:25,140 --> 00:31:27,790 Zde máme to, co jsou volal příkazy switch. 716 00:31:27,790 --> 00:31:31,100 >> Takže když máme používat přepínač Prohlášení je klíč? 717 00:31:31,100 --> 00:31:34,090 Takže switch, vy obvykle, typicky, ve skutečnosti vám 718 00:31:34,090 --> 00:31:38,010 slouží pouze pro vstup celá čísla s vaším proměnná, která máte kontrolu. 719 00:31:38,010 --> 00:31:42,390 Takže když jsem chtěl zkontrolovat, pokud určitá number-- například 720 00:31:42,390 --> 00:31:43,720 stupeň, když jsem dostal 90. 721 00:31:43,720 --> 00:31:48,190 Chci, aby zjistil, jestli to je A, B, nebo C, mohl bych mít případ tady. 722 00:31:48,190 --> 00:31:50,840 Nicméně, případ má jako další konstantní. 723 00:31:50,840 --> 00:31:53,170 >> Takže v tomto smyslu, switch může pouze 724 00:31:53,170 --> 00:31:55,290 zkontrolujte rovnosti dvou čísel. 725 00:31:55,290 --> 00:31:57,242 To nekontroluje pro nic jiného. 726 00:31:57,242 --> 00:31:59,950 Takže to je něco, co se velmi opatrní, když jste pomocí tohoto. 727 00:31:59,950 --> 00:32:04,810 Tak tady, když jsem chtěl zkontrolovat, pokud má stupeň 90 se rovná 90 nebo 80 728 00:32:04,810 --> 00:32:08,500 nebo 70 nebo 60, a pak tisk odpovídající stupeň, 729 00:32:08,500 --> 00:32:11,420 Já bych byl schopen napsat, že v příkazu switch. 730 00:32:11,420 --> 00:32:15,120 >> Takže to přijde sem, kontrola je to celé číslo rovnající se této konstanty? 731 00:32:15,120 --> 00:32:17,030 Pokud ne, bude to přeskočit. 732 00:32:17,030 --> 00:32:19,880 Je roven konstantní dva, a tak dále a tak dále, 733 00:32:19,880 --> 00:32:22,390 dokud nenarazíte výchozí, pokud žádný z nich jsou stejné. 734 00:32:22,390 --> 00:32:24,590 Jakmile jeden z nich je nastaven na stejné, 735 00:32:24,590 --> 00:32:27,040 že to bude, jak to udělat řádek kódu a přestávky. 736 00:32:27,040 --> 00:32:30,990 Což znamená, že to bude hit, že run, break, a jen zcela přeskočit 737 00:32:30,990 --> 00:32:32,240 do spodní části kódu. 738 00:32:32,240 --> 00:32:37,550 Takže v tomto smyslu druh funkcí jako if else if else if prohlášení. 739 00:32:37,550 --> 00:32:40,830 >> Takže tady je betonová Příkladem pro vás. 740 00:32:40,830 --> 00:32:46,140 Takže předpokládejme, že jsem chtěl vytvořit proměnnou s názvem Rok založení. 741 00:32:46,140 --> 00:32:50,230 A chci, aby výzvu k vstupu rok, že jejich škola byla založena. 742 00:32:50,230 --> 00:32:53,300 Takže můžu vytvořit příkaz switch zde. 743 00:32:53,300 --> 00:32:56,650 A řekněme, jsem se vstup 1636. 744 00:32:56,650 --> 00:33:01,120 >> Tento kód je zde uvidí přepínač Rok založení což se rovná 1636. 745 00:33:01,120 --> 00:33:03,940 Bude to vidět věci 1.636, ach ty jsou stejné, 746 00:33:03,940 --> 00:33:06,230 printf () Neměli byste být V té škole na severu? 747 00:33:06,230 --> 00:33:08,770 Protože předpokládáme, že ne jít sem, pokud jdou na Harvard, 748 00:33:08,770 --> 00:33:10,380 zlomit a přeskočit na konec. 749 00:33:10,380 --> 00:33:14,090 >> Kdybych byl na vstup 1701, který Předpokládám, že všichni z nás by vstup, 750 00:33:14,090 --> 00:33:17,500 to by přeskočit tento případ, pojď dolů případě dva, což je 1.701, 751 00:33:17,500 --> 00:33:19,660 a tisk Vítejte na Yale! 752 00:33:19,660 --> 00:33:21,360 Přestávka, přeskočit na konec. 753 00:33:21,360 --> 00:33:25,130 Else pravděpodobně užíváte tento kurz on-line, ve kterém case-- úžasné přivítání 754 00:33:25,130 --> 00:33:29,020 na Yale-- to bude jít do default tisk, Hello Internet! 755 00:33:29,020 --> 00:33:29,870 A zlomit. 756 00:33:29,870 --> 00:33:30,466 To jo. 757 00:33:30,466 --> 00:33:32,090 >> SPEAKER 12: Můžete použít jiný místo ve výchozím nastavení tam? 758 00:33:32,090 --> 00:33:34,550 >> ANDI PENG: Ne, protože tak, že celá tato funkce 759 00:33:34,550 --> 00:33:39,170 switch je postaven, syntaxe vám je třeba použít, je případ případ výchozí. 760 00:33:39,170 --> 00:33:42,400 Je to jako v případě jiného, ​​pokud to jednou je to případ případ výchozí. To jo. 761 00:33:42,400 --> 00:33:45,650 SPEAKER 13: Ty možná již řekl, ale můžete mít více než dvou případech? 762 00:33:45,650 --> 00:33:48,066 ANDI PENG: Jo, mohl bys mít tolik případů, jak chcete. 763 00:33:48,066 --> 00:33:50,050 Ber to jako stejně jako nekonečně přidávání dál. 764 00:33:50,050 --> 00:33:52,396 >> SPEAKER 14: Pokud se vám přešel 1701 s 1636, 765 00:33:52,396 --> 00:33:54,187 to není opravdu rozdíl v pořádku? 766 00:33:54,187 --> 00:33:55,770 Je to jen bude možné kontrolovat za to. 767 00:33:55,770 --> 00:33:56,900 >> ANDI PENG: To je opravdu dobrá otázka. 768 00:33:56,900 --> 00:33:58,880 A budeme dotýkat později, ale jen 769 00:33:58,880 --> 00:34:01,160 víme, že to je přepínač tvrzení je, že je to infinitely-- 770 00:34:01,160 --> 00:34:03,536 účinnější než to, a pokud else if, protože to funguje 771 00:34:03,536 --> 00:34:06,660 použít jiný typ funkce, které vám umožní, aby v podstatě, jen 772 00:34:06,660 --> 00:34:08,790 přeskočit přímo na případ, musíte být na adrese. 773 00:34:08,790 --> 00:34:10,547 To jo. 774 00:34:10,547 --> 00:34:11,255 SPEAKER 14: cool. 775 00:34:11,255 --> 00:34:11,754 Díky. 776 00:34:11,754 --> 00:34:12,526 ANDI PENG: Jo 777 00:34:12,526 --> 00:34:16,687 >> SPEAKER 14: A vy jste nemohl dělat věci jako a větší než. 778 00:34:16,687 --> 00:34:17,270 ANDI PENG: Ne. 779 00:34:17,270 --> 00:34:19,860 Tak, to je to, co se o omezení Příkaz switch je, že máte 780 00:34:19,860 --> 00:34:21,564 mít pouze konstanty, pouze celá čísla. 781 00:34:21,564 --> 00:34:22,064 To jo. 782 00:34:22,064 --> 00:34:25,179 783 00:34:25,179 --> 00:34:25,820 DOBŘE. 784 00:34:25,820 --> 00:34:28,659 >> Tak to je něco, co vás Chlapi se setkávají méně často, 785 00:34:28,659 --> 00:34:32,280 ale já jsem jen chtěl zavést ji do pouzdra. 786 00:34:32,280 --> 00:34:36,210 Máme tady co je volal ternární operátor. 787 00:34:36,210 --> 00:34:39,370 Tam, kde v podstatě, je to jen jako if sestaveny do jednoho řádku. 788 00:34:39,370 --> 00:34:42,630 Tady, půjdu na další linky, další stránka, protože je lépe vidět. 789 00:34:42,630 --> 00:34:44,860 >> Takže jsme všichni viděli, toto právo? 790 00:34:44,860 --> 00:34:46,110 To je docela snadné sledovat. 791 00:34:46,110 --> 00:34:51,290 Kdybych chtěl, aby proměnnou s názvem řetězce s názvem s, v případě, že určitý počet 792 00:34:51,290 --> 00:34:54,770 I dát, že je nižší než 100, I chcete přiřadit nízko na řetězec, 793 00:34:54,770 --> 00:34:57,240 co bych chcete přiřadit vysoké. 794 00:34:57,240 --> 00:35:01,370 >> Tady dělá přesně to samé těch osm řádky kódu dělají. 795 00:35:01,370 --> 00:35:03,600 Takže tady chci vytvořit proměnná řetězec. 796 00:35:03,600 --> 00:35:08,520 A to je podmínka, že jsem kontrolu, je-li číslo nižší než 100, 797 00:35:08,520 --> 00:35:12,750 pak přiřadit hodnotu nízká, jinak přiřaďte hodnotu vysoko. 798 00:35:12,750 --> 00:35:15,802 >> Tyto snímky budou on-line, žádné starosti jestli vy nechcete dostat to dolů. 799 00:35:15,802 --> 00:35:18,510 To je jen jednodušší způsob, více efektivní způsob psaní kódu. 800 00:35:18,510 --> 00:35:21,290 801 00:35:21,290 --> 00:35:21,810 DOBŘE. 802 00:35:21,810 --> 00:35:25,190 >> Takže teď budeme zadejte co, pro většinu lidí 803 00:35:25,190 --> 00:35:28,660 jsou jako velmi, velmi matoucí věc, přemýšlet o tom, na prvním místě. 804 00:35:28,660 --> 00:35:30,226 Sekce smyčky. 805 00:35:30,226 --> 00:35:32,600 Takže dnes, budeme mluvit asi tři typy smyček. 806 00:35:32,600 --> 00:35:34,890 Chystáme se začít s nějakou chvíli smyčka, pak mluvit o dělat, zatímco smyčky, 807 00:35:34,890 --> 00:35:36,740 a pak se mluví o pro smyčky. 808 00:35:36,740 --> 00:35:40,010 >> Takže v podstatě, pro více vizuální studující tam, 809 00:35:40,010 --> 00:35:44,410 Máme v podstatě grafické zobrazení, co while dělá. 810 00:35:44,410 --> 00:35:48,290 A tak v programování, měli byste začít a vstupem do smyčky v určitém okamžiku. 811 00:35:48,290 --> 00:35:49,470 Můžete zkontrolovat stav. 812 00:35:49,470 --> 00:35:52,165 A v případě, že je splněna podmínka spustit kód uvnitř. 813 00:35:52,165 --> 00:35:53,790 A vy jste se vrátil kolem sebe a zkontrolovat. 814 00:35:53,790 --> 00:35:57,190 Pokud je to pravda, že jste stále udržují v provozu Tento kód kolem dokola ve smyčce. 815 00:35:57,190 --> 00:36:00,970 >> Nicméně, druhý, že podmínka false, 816 00:36:00,970 --> 00:36:02,739 budete zlomit a ukončit smyčku. 817 00:36:02,739 --> 00:36:05,030 A to je v podstatě syntaxe budete používat. 818 00:36:05,030 --> 00:36:08,250 Zatímco určité podmínky pravda to, pokud to není pravda, 819 00:36:08,250 --> 00:36:12,920 budete přeskočit na konec a pokročit s programem. 820 00:36:12,920 --> 00:36:13,690 DOBŘE. 821 00:36:13,690 --> 00:36:17,250 >> Má někdo příklad o tom, co se může stát, potenciálně 822 00:36:17,250 --> 00:36:19,160 pokud se pokusíte spustit tento kus kódu? 823 00:36:19,160 --> 00:36:22,470 Mimochodem, to je Scaz SAJ--, Andi, Jason-- budeme podepisovat naše e-maily, 824 00:36:22,470 --> 00:36:24,830 Láska, Saj. 825 00:36:24,830 --> 00:36:25,573 To jsme my. 826 00:36:25,573 --> 00:36:26,500 DOBŘE. 827 00:36:26,500 --> 00:36:29,829 >> Každý, kdo má příklad, nebo máte představu o tom, co by to tisknout? 828 00:36:29,829 --> 00:36:30,870 Druh chyták. 829 00:36:30,870 --> 00:36:34,550 830 00:36:34,550 --> 00:36:39,380 Takže tady, pamatuješ podmínku jsme kontrola je přitom pravda. 831 00:36:39,380 --> 00:36:42,840 Takže když je to pravda, je to do tisku, miluji Saj! 832 00:36:42,840 --> 00:36:48,460 Existuje nějaký bod, ve kterém bychom si změnit na něco jiného? 833 00:36:48,460 --> 00:36:49,050 Ne, ne? 834 00:36:49,050 --> 00:36:51,470 >> Takže tady máme setkali, co je pravděpodobně 835 00:36:51,470 --> 00:36:54,310 bude odposlouchávání hodně vaše programy, nekonečné smyčky. 836 00:36:54,310 --> 00:36:56,268 Zjistíte, že pokud vás spustit tento kus kódu, 837 00:36:56,268 --> 00:36:58,160 je to jen bude mít tisk, miluju Saj! 838 00:36:58,160 --> 00:37:00,701 I když oceňujeme podporu, nechceme počítačů 839 00:37:00,701 --> 00:37:02,910 narazit, protože vás pokračovat v tisku Miluji Saj! 840 00:37:02,910 --> 00:37:05,320 >> Takže, prosím, prosím, vyhnout nekonečné smyčky 841 00:37:05,320 --> 00:37:07,320 protože to nikdy vyhodnotit na hodnotu false 842 00:37:07,320 --> 00:37:08,780 a vy nikdy opustit smyčku. 843 00:37:08,780 --> 00:37:10,530 A vy budete nasát navždy. 844 00:37:10,530 --> 00:37:13,000 Bezva. 845 00:37:13,000 --> 00:37:13,694 DOBŘE. 846 00:37:13,694 --> 00:37:15,610 Druhý typ smyčky budeme mluvit o dnes 847 00:37:15,610 --> 00:37:17,580 je dělat, zatímco smyčka, dělat, zatímco smyčky. 848 00:37:17,580 --> 00:37:20,580 A to se říká dělat, zatímco smyčka protože máte dělat a chvíli. 849 00:37:20,580 --> 00:37:24,390 Tak to je docela podobný chvíli smyčka, ale trochu jinak. 850 00:37:24,390 --> 00:37:27,620 Zde budete dělat co je uvnitř tohoto 851 00:37:27,620 --> 00:37:29,747 zatímco určitá podmínka je pravda. 852 00:37:29,747 --> 00:37:32,580 Takže když jsem byl C a počítač Jsem stékaly tento kus kódu, 853 00:37:32,580 --> 00:37:33,880 Jsem se podívat na vrcholu. 854 00:37:33,880 --> 00:37:36,890 Chodím do C, říkám to učiniti. 855 00:37:36,890 --> 00:37:40,550 A pak jsem zkontrolovat, zatímco tento Je pravda, musím opakovat. 856 00:37:40,550 --> 00:37:42,750 Ale když je tato falešná, pak jsem se pohnout kupředu 857 00:37:42,750 --> 00:37:44,700 a nikdy jsem se vrátit k tomu smyčce znovu. 858 00:37:44,700 --> 00:37:48,360 >> Může někdo vzít stab na jaký je rozdíl 859 00:37:48,360 --> 00:37:52,130 mezi této smyčky a ta, kterou jsme jen se na to prakticky. 860 00:37:52,130 --> 00:37:52,717 To jo. 861 00:37:52,717 --> 00:37:55,050 SPEAKER 15: Podmínka přichází poté, co místo toho předtím? 862 00:37:55,050 --> 00:37:55,841 ANDI PENG: Přesně tak. 863 00:37:55,841 --> 00:37:57,984 Takže řekla stav přichází po, ne dříve. 864 00:37:57,984 --> 00:38:00,400 Nakonec, je rozdíl mezi tímto a while 865 00:38:00,400 --> 00:38:03,597 je to, že jste jen dělat co je uvnitř to bez ohledu na 866 00:38:03,597 --> 00:38:06,430 zda je či není váš stav je pravda, a pak zkontrolujte stav. 867 00:38:06,430 --> 00:38:08,304 Takže v tomto případě, že jste always-- tímto způsobem, 868 00:38:08,304 --> 00:38:11,240 jste vždy ujistit, co je uvnitř běží alespoň 869 00:38:11,240 --> 00:38:14,230 jednou před kontroluje, pokud chcete, aby znovu spustit. 870 00:38:14,230 --> 00:38:18,040 >> A zde je příklad kdy bychom ji použít. 871 00:38:18,040 --> 00:38:22,570 Tak například, pokud jsem chtěl mít proměnná typu int pojmenované věk, 872 00:38:22,570 --> 00:38:25,640 a já chci vyzvat uživatel na jejich věk, 873 00:38:25,640 --> 00:38:27,910 Budu dělat printf () Jaký je váš věk? 874 00:38:27,910 --> 00:38:30,330 věk = GetInt (), která je upozornění uživatele. 875 00:38:30,330 --> 00:38:32,140 >> A někteří lidé budou opravdu otravné. 876 00:38:32,140 --> 00:38:34,931 A nechcete chyby ve vašem Program někoho zadání, jako, 877 00:38:34,931 --> 00:38:36,680 oh Já jsem negativní 4 let nebo cokoliv jiného. 878 00:38:36,680 --> 00:38:39,900 V takovém případě, pokud to udělat, to hodnotí 879 00:38:39,900 --> 00:38:43,150 na hodnotu true, což znamená, že budu musí jít dál zpět a dělá to. 880 00:38:43,150 --> 00:38:45,310 Takže to bude mít re-vyzvání uživatele 881 00:38:45,310 --> 00:38:47,960 dát vám skutečnou číslo věk a je to 882 00:38:47,960 --> 00:38:51,930 bude neustále vracet a předělání to, dokud se vám skutečný věk 883 00:38:51,930 --> 00:38:56,900 větší než jedna, nebo není nulová. 884 00:38:56,900 --> 00:38:58,020 >> Takže nápověda, nápověda. 885 00:38:58,020 --> 00:39:02,263 To bude velmi, velmi užitečné pro jednu z vašich problémů pset. 886 00:39:02,263 --> 00:39:04,155 To jo. 887 00:39:04,155 --> 00:39:05,580 >> SPEAKER 16: Jejda, promiň. 888 00:39:05,580 --> 00:39:06,288 >> ANDI PENG: Jo. 889 00:39:06,288 --> 00:39:09,424 >> SPEAKER 16: Existují, ne být kretén, ale-- 890 00:39:09,424 --> 00:39:10,340 ANDI PENG: Žádné obavy. 891 00:39:10,340 --> 00:39:11,990 SPEAKER 16: --are tam různá pravidla tady, 892 00:39:11,990 --> 00:39:13,810 nebo jste prostě zapomněl dát nabídku? 893 00:39:13,810 --> 00:39:14,250 >> ANDI PENG: Oh ano. 894 00:39:14,250 --> 00:39:15,530 Je nám líto, že je naprosto moje špatná. 895 00:39:15,530 --> 00:39:17,100 To byl určitě měl být citát. 896 00:39:17,100 --> 00:39:17,690 Dobrý úlovek. 897 00:39:17,690 --> 00:39:18,800 To by nelze spustit. 898 00:39:18,800 --> 00:39:22,070 899 00:39:22,070 --> 00:39:22,830 DOBŘE. 900 00:39:22,830 --> 00:39:26,160 >> Takže poslední typem smyčky promluvíme o a, v konečném důsledku, druh nejvíce 901 00:39:26,160 --> 00:39:28,854 Komplex je pro smyčce. 902 00:39:28,854 --> 00:39:30,770 Nebojte se, pokud nemáte Víte, co to znamená. 903 00:39:30,770 --> 00:39:32,061 Je to docela matoucí na prvním místě. 904 00:39:32,061 --> 00:39:33,640 Půjdeme přes příklad. 905 00:39:33,640 --> 00:39:37,040 >> Vše, co se děje v pro smyčce je, že máte tři prohlášení 906 00:39:37,040 --> 00:39:38,380 že budete zahrnout. 907 00:39:38,380 --> 00:39:42,130 Takže pro určitou věc, že ​​jste chystá inicializovat proměnné. 908 00:39:42,130 --> 00:39:45,280 Budeš-li přidat podmínku které tato smyčka bude udržovat v chodu. 909 00:39:45,280 --> 00:39:47,790 A pak, na konci smyčka, budete jej aktualizovat. 910 00:39:47,790 --> 00:39:50,248 Můžete aktualizovat proměnnou že chcete sledovat. 911 00:39:50,248 --> 00:39:52,530 Tak jsme se obvykle používají pro smyčky, když jsme my 912 00:39:52,530 --> 00:39:55,390 chcete spustit smyčku pro určité množství časů 913 00:39:55,390 --> 00:39:58,900 a už víme, Oh chci tato smyčka provést jako 10 krát, 914 00:39:58,900 --> 00:40:03,060 pak do-- půjdu přes příklad na další straně. 915 00:40:03,060 --> 00:40:07,830 >> Tak tady například v Scratch, pokud jste chtěl něco opakovat 10 krát, 916 00:40:07,830 --> 00:40:10,790 vše, co musel říct: opakovat 10 krát Miluju Saj! 917 00:40:10,790 --> 00:40:15,260 který je přijatelnější přehlídka podpory pro nás 918 00:40:15,260 --> 00:40:17,120 spíše než nekonečné smyčky. 919 00:40:17,120 --> 00:40:19,920 Zde, jak byste Přechod na C a psát 920 00:40:19,920 --> 00:40:26,040 že je pro int-- budu vytvořit nebo deklarovat proměnnou typu int jsem pojmenoval. 921 00:40:26,040 --> 00:40:30,089 Chystám se inicializovat je na 0, takže i = 0; 922 00:40:30,089 --> 00:40:31,630 a to bude můj stav. 923 00:40:31,630 --> 00:40:33,860 Tak jsem je menší než 10. 924 00:40:33,860 --> 00:40:36,096 A pak u end-- Poslední tvrzení, že jste 925 00:40:36,096 --> 00:40:38,710 bude mít, je aktualizace co se stane s variabilní i 926 00:40:38,710 --> 00:40:40,206 na konci svého cyklu for. 927 00:40:40,206 --> 00:40:42,830 Takže je to trochu matoucí, protože Různé části této linie 928 00:40:42,830 --> 00:40:44,871 se dějí při různých druhy smyčky. 929 00:40:44,871 --> 00:40:46,746 Ale já půjdu více než pseudokód příklad, který 930 00:40:46,746 --> 00:40:50,360 a možná to vysvětlit jen o něco lepší. 931 00:40:50,360 --> 00:40:51,500 >> Tak tady. 932 00:40:51,500 --> 00:40:52,929 To je smyčka jsme právě viděli. 933 00:40:52,929 --> 00:40:55,470 V podstatě v pseudokódu, co se děje v tomto programu, 934 00:40:55,470 --> 00:40:57,940 je poprvé jsem vytvořit i, inicializaci na 0. 935 00:40:57,940 --> 00:41:00,440 Jsem kontroluje, jestli jsem je méně než 10, a v takovém případě 936 00:41:00,440 --> 00:41:02,840 poprvé, že je proto, že 0 je menší než 10. 937 00:41:02,840 --> 00:41:04,727 Tak smyčky bude běžet. 938 00:41:04,727 --> 00:41:06,310 A pak budu vytisknout tento řádek. 939 00:41:06,310 --> 00:41:11,240 A pak se na konci tohoto řádku, vpravo tady, budu dělat přírůstek i, i ++, 940 00:41:11,240 --> 00:41:13,370 vše, co znamená, postupně ji po druhém. 941 00:41:13,370 --> 00:41:15,460 >> Tak jsem je nyní 1. 942 00:41:15,460 --> 00:41:17,960 Protože to bylo kdysi 0, když jsem přírůstek je to, že je to teď 1. 943 00:41:17,960 --> 00:41:19,610 A pak budu zpátky na začátek smyčky 944 00:41:19,610 --> 00:41:20,730 a já zkontrolujte stav. 945 00:41:20,730 --> 00:41:22,080 Je stav stále platí? 946 00:41:22,080 --> 00:41:24,030 Ano, 1 je stále méně než 10. 947 00:41:24,030 --> 00:41:27,370 Takže to bude tisknout znovu, jít a pak i přírůstek, a zkontrolujte 948 00:41:27,370 --> 00:41:29,180 podmínka kontinuálně, kontinuálně, 949 00:41:29,180 --> 00:41:33,290 až se nakonec dostal do okamžiku, kdy je i 10. 950 00:41:33,290 --> 00:41:36,300 >> Budeš vytisknout tento 10 krát a pak jsem se bude rovnat 10. 951 00:41:36,300 --> 00:41:37,800 Budeš kontrolovat stav. 952 00:41:37,800 --> 00:41:38,760 Je o 10 méně než 10? 953 00:41:38,760 --> 00:41:40,370 Ne, že je nepravdivé. 954 00:41:40,370 --> 00:41:43,020 Proto je tato smyčka nebude spustit, bude to zlomit, 955 00:41:43,020 --> 00:41:45,040 a vy budete Pokračovat na kódu. 956 00:41:45,040 --> 00:41:47,550 >> Tak jako vy můžete vidět, toto Je to opravdu skvělý příklad 957 00:41:47,550 --> 00:41:53,110 ze smyčky můžete program v tom, že běží na zadanou dobu. 958 00:41:53,110 --> 00:41:54,457 Každý jeden jasný? 959 00:41:54,457 --> 00:41:54,956 To jo. 960 00:41:54,956 --> 00:41:59,060 >> SPEAKER 17: Jak se o přírůstek exponenciálně, je to rozdílné kódování? 961 00:41:59,060 --> 00:42:02,060 >> ANDI PENG: Vy can-- půjdeme přes toto v další snímek. 962 00:42:02,060 --> 00:42:03,350 Dobrá otázka. 963 00:42:03,350 --> 00:42:05,910 Je anyone-- než jsem se pohnout on-- vůbec někdo zmatený, 964 00:42:05,910 --> 00:42:07,640 protože se jedná o opravdu těžké koncept. 965 00:42:07,640 --> 00:42:09,510 Žádné starosti, pokud you're-- OK. 966 00:42:09,510 --> 00:42:10,010 Bezva. 967 00:42:10,010 --> 00:42:12,836 968 00:42:12,836 --> 00:42:13,490 >> Dobře. 969 00:42:13,490 --> 00:42:14,610 Jen obecný skluzavka. 970 00:42:14,610 --> 00:42:18,020 Tento cyklus while se dělá přesně to samé cyklu for bylo. 971 00:42:18,020 --> 00:42:19,631 Je to právě napsal jinak. 972 00:42:19,631 --> 00:42:22,130 Vy můžete prostudovat snímky na vaše pohodlí později. 973 00:42:22,130 --> 00:42:24,880 Ale vím, že tam je mnohonásobný způsoby psaní stejnou věc 974 00:42:24,880 --> 00:42:28,300 se stane s různými smyčkami. 975 00:42:28,300 --> 00:42:28,800 DOBŘE. 976 00:42:28,800 --> 00:42:32,380 >> Tak, teď jsme se dostat na otázku, co máme-li smyčku uvnitř smyčky. 977 00:42:32,380 --> 00:42:35,810 Jsme stále v reálném Inception typ věci tady. 978 00:42:35,810 --> 00:42:40,640 Když chcete dělat věci násobek Časy uvnitř dalších věcí 979 00:42:40,640 --> 00:42:44,129 že dělat věci vícekrát, vám chtějí to, co se nazývá vnořené pro smyčku. 980 00:42:44,129 --> 00:42:47,420 Pro ty z vás, kteří jako první vidět a si velmi zmatený, všechno tu děláme 981 00:42:47,420 --> 00:42:50,580 má cyklus for kde máme proměnnou řádku. 982 00:42:50,580 --> 00:42:54,500 Ale uvnitř ní, máme také další na smyčku proměnlivé zvané kolony. 983 00:42:54,500 --> 00:42:58,560 A já jsem velmi naznačují, všechny z vás, kteří jsou zmateni nejprve udržet 984 00:42:58,560 --> 00:43:00,310 track-- kreslit na to, čerpat na to. 985 00:43:00,310 --> 00:43:03,000 Nesnažte se spravedlivého důvodu přes to, vytáhněte ji. 986 00:43:03,000 --> 00:43:06,630 >> Ve vaší hlavě, na tento kus papír, nebo cokoliv, psát řádek, 987 00:43:06,630 --> 00:43:08,614 sledovat, co řádek je roven. 988 00:43:08,614 --> 00:43:10,780 Napište sloupec, sledovat z toho, co sloupec je rovná. 989 00:43:10,780 --> 00:43:13,490 A sledovat, co je vytisknout s každou iteraci. 990 00:43:13,490 --> 00:43:16,320 Každá iterace této smyčky, každá iterace tohoto větší smyčky, 991 00:43:16,320 --> 00:43:17,820 jen držet Podle logiky. 992 00:43:17,820 --> 00:43:20,190 A já vám zaručit, budete milovat to, co vidíte, 993 00:43:20,190 --> 00:43:24,307 protože to je také velmi použitelný pro vaše problémové sady. 994 00:43:24,307 --> 00:43:24,806 Bezva. 995 00:43:24,806 --> 00:43:27,501 996 00:43:27,501 --> 00:43:28,000 Dobře. 997 00:43:28,000 --> 00:43:30,723 Takže nejdůležitější věc že vy jste asi všichni 998 00:43:30,723 --> 00:43:32,400 přemýšlet o právě teď, jsou váš problém nastavit 1s, 999 00:43:32,400 --> 00:43:33,650 které jsou splatné čtvrtek / pátek. 1000 00:43:33,650 --> 00:43:36,890 1001 00:43:36,890 --> 00:43:39,710 >> Ve vašem water.c programu, nápověda budete mít 1002 00:43:39,710 --> 00:43:41,590 na výzvu pro vstup. 1003 00:43:41,590 --> 00:43:43,640 Ve vašem programu mario.c budete mít 1004 00:43:43,640 --> 00:43:46,431 používat vnořené pro smyčce, což je A pro smyčku uvnitř smyčky for, 1005 00:43:46,431 --> 00:43:50,247 vytisknout blok pyramidy, v podstatě stejně jako to, co Mario musí proskočit. 1006 00:43:50,247 --> 00:43:53,330 A pak uvnitř greedy-- nebo možná Tvorba změny, pokud někdo z vás kluci 1007 00:43:53,330 --> 00:43:55,740 jste někdy slyšeli o that-- budete muset být velmi 1008 00:43:55,740 --> 00:43:58,160 pozor na prvních desetinná čísla. 1009 00:43:58,160 --> 00:44:01,860 Pamatujte si, plovoucí desetinná místa a celá čísla nejsou totéž. 1010 00:44:01,860 --> 00:44:03,620 Sledujte z nichž jeden je který. 1011 00:44:03,620 --> 00:44:05,953 A vy budete používat podmíněné příkazy, stejně. 1012 00:44:05,953 --> 00:44:09,070 1013 00:44:09,070 --> 00:44:10,940 >> Dobře, poslední věc. 1014 00:44:10,940 --> 00:44:12,770 Mám pár minut odešel. 1015 00:44:12,770 --> 00:44:13,460 Style. 1016 00:44:13,460 --> 00:44:19,320 Tak to je něco, co není ve skutečnosti vliv na účinnost, 1017 00:44:19,320 --> 00:44:21,010 nebo skutečný běh vašeho kódu. 1018 00:44:21,010 --> 00:44:24,380 Nicméně, to nás ovlivňuje as Vaše srovnávače, jak vaše čtenáře. 1019 00:44:24,380 --> 00:44:27,290 To způsobí sami, pokud jste se snaží najít problém. 1020 00:44:27,290 --> 00:44:30,700 To ovlivňuje čitelnost kódu. 1021 00:44:30,700 --> 00:44:34,070 >> Takže styl, jako když se snažíte styl esej pro angličtinu, pokud 1022 00:44:34,070 --> 00:44:36,070 neměl odstavce, máte vše druh 1023 00:44:36,070 --> 00:44:39,190 z neuspořádané společně na jednom řádku, ji je pro každého, je to opravdu těžké 1024 00:44:39,190 --> 00:44:42,620 si přečíst esej, i když vaše body jsou logicky zvuk. 1025 00:44:42,620 --> 00:44:44,390 Totéž v programování. 1026 00:44:44,390 --> 00:44:47,910 Můžete mít strašně temný kód, který Scaz se budou týkat, 1027 00:44:47,910 --> 00:44:49,660 a to může ještě běžet a funkce. 1028 00:44:49,660 --> 00:44:53,110 Ale pro nás, vaše krásné TA, kteří budou být čtení a vyhodnocování své PSets, 1029 00:44:53,110 --> 00:44:54,460 to není moc hezké. 1030 00:44:54,460 --> 00:44:56,859 >> Takže, prosím, v zájmu z nás a sebe, 1031 00:44:56,859 --> 00:44:58,900 když se snažíte opravit problém v kódu, 1032 00:44:58,900 --> 00:45:00,774 a snažíte se číst vlastní kód, aby 1033 00:45:00,774 --> 00:45:03,910 jisti, že se budete držet několika konvence že budeme jít přes. 1034 00:45:03,910 --> 00:45:04,510 >> Tak jako první. 1035 00:45:04,510 --> 00:45:07,070 Dejte své proměnné smysluplné názvy. 1036 00:45:07,070 --> 00:45:11,450 Pokud chcete uložit číslo volal věk, prosím jmenovat to věk. 1037 00:45:11,450 --> 00:45:12,875 Nepoužívejte jméno jí výšku. 1038 00:45:12,875 --> 00:45:14,750 Když se snažíte uložit věku na výšku, 1039 00:45:14,750 --> 00:45:16,722 to dělá všechno velmi matoucí pro nás. 1040 00:45:16,722 --> 00:45:17,930 Neradi se zmatený. 1041 00:45:17,930 --> 00:45:19,180 Nemáš rád být zmatený. 1042 00:45:19,180 --> 00:45:20,350 Nikdo nemá rád být zmatený. 1043 00:45:20,350 --> 00:45:23,100 Pokud se chystáte vytvořit něco, pojmenovat to něco smysluplného. 1044 00:45:23,100 --> 00:45:26,440 >> Nicméně, v pro smyčce, single charakter proměnné jsou obvykle v pořádku. 1045 00:45:26,440 --> 00:45:31,350 A v pro smyčce, chcete-li jsem, a j, k, neváhejte prostě udělat. 1046 00:45:31,350 --> 00:45:32,670 >> Konzistentní inicializace. 1047 00:45:32,670 --> 00:45:33,770 Takže co to znamená? 1048 00:45:33,770 --> 00:45:37,600 To znamená, že technicky, teoreticky, můžete iniciovat a vytvářet 1049 00:45:37,600 --> 00:45:40,140 více proměnných na stejném řádku. 1050 00:45:40,140 --> 00:45:42,820 Tak například lze vytvořit celé číslo s názvem scaz_age, 1051 00:45:42,820 --> 00:45:47,110 a celé číslo zavolal andi_age = 20, a představuje celé číslo s názvem jason_age 1052 00:45:47,110 --> 00:45:48,090 na stejném řádku. 1053 00:45:48,090 --> 00:45:52,060 A mohu také přiřadit pouze jednu oni a ne ostatní na hodnoty. 1054 00:45:52,060 --> 00:45:54,142 Žádáme vás, prosím, nedělej to. 1055 00:45:54,142 --> 00:45:57,350 Protože tady jste v podstatě vytvořil tři proměnné, ale pouze jeden z nich 1056 00:45:57,350 --> 00:45:58,295 ve skutečnosti má hodnotu. 1057 00:45:58,295 --> 00:46:00,170 A pak, když jsme se snaží číst váš kód, 1058 00:46:00,170 --> 00:46:01,850 nebo pokud se snažíte opravit problém v kódu, 1059 00:46:01,850 --> 00:46:03,340 je to velmi matoucí následovat. 1060 00:46:03,340 --> 00:46:09,300 Tak právě pro Vaši čitelnost, pro náš čitelnost, nedělej to. 1061 00:46:09,300 --> 00:46:10,355 >> Konzistentní složené závorky. 1062 00:46:10,355 --> 00:46:12,980 Někteří lidé chtěli, aby jejich složené závorky na různých místech. 1063 00:46:12,980 --> 00:46:14,100 Je to opravdu nezáleží. 1064 00:46:14,100 --> 00:46:17,900 Jen se ujistěte, že jste konzistentní ve vašem vlastní kód na tom, kde budete chtít dát jim. 1065 00:46:17,900 --> 00:46:18,950 >> Konzistentní prostor. 1066 00:46:18,950 --> 00:46:22,040 Pokud dáte mezeru po pro smyčce, vždycky udělat. 1067 00:46:22,040 --> 00:46:24,930 Nepoužívejte jen rád trochu to na některá místa, nedělejte to v jiných. 1068 00:46:24,930 --> 00:46:26,580 Jen být konzistentní. 1069 00:46:26,580 --> 00:46:29,500 >> Za druhé, pokud by se někdo chtěl nahlížet Styl Průvodce CS50, 1070 00:46:29,500 --> 00:46:33,230 máme oficiálně mít průvodce, který styl vám řekne, všechny z těchto úmluv, 1071 00:46:33,230 --> 00:46:34,890 a další. 1072 00:46:34,890 --> 00:46:35,530 Je to on-line. 1073 00:46:35,530 --> 00:46:38,670 Je to jako cs50.net/style~~pobj nebo něco takového. 1074 00:46:38,670 --> 00:46:40,180 Můžete Google ji. 1075 00:46:40,180 --> 00:46:41,399 >> Konzistence je klíčové. 1076 00:46:41,399 --> 00:46:43,190 Takže nebojte se, co ostatní lidé dělají, 1077 00:46:43,190 --> 00:46:46,180 jen se ujistěte, že jste konzistentní v rámci vlastní kód. 1078 00:46:46,180 --> 00:46:50,570 Každý, kdo má nějaké otázky o tom? 1079 00:46:50,570 --> 00:46:51,070 To jo. 1080 00:46:51,070 --> 00:46:53,370 >> SPEAKER 18: Takže sluší co do činění s inicializace je prostě 1081 00:46:53,370 --> 00:46:56,130 je všechny v samostatném linka, je to, že to, co říkáte? 1082 00:46:56,130 --> 00:46:58,850 >> ANDI PENG: Tak jsem si málokdy se to stalo. 1083 00:46:58,850 --> 00:47:02,230 Ale pokud jste chtěli, pokud jste chtěli být jako úspory místa v kódu, 1084 00:47:02,230 --> 00:47:04,000 nebo cokoliv, můžete to udělat. 1085 00:47:04,000 --> 00:47:07,800 Žádáme vás, abyste prostě nemají inicializovat jedna věc, a ne ostatní. 1086 00:47:07,800 --> 00:47:12,600 Takže pokud chcete udělat int scaz_age, int andi_age, int jason_age, to je v pořádku. 1087 00:47:12,600 --> 00:47:15,600 Jen to ne jeden inicializovat a ne ostatní je všechno. 1088 00:47:15,600 --> 00:47:18,380 1089 00:47:18,380 --> 00:47:19,904 >> Otázky? 1090 00:47:19,904 --> 00:47:20,850 Dobře. 1091 00:47:20,850 --> 00:47:24,610 Chystám se projít off mikrofon, a laserové ukazovátko, 1092 00:47:24,610 --> 00:47:28,862 a obušek na Scaz v tomto bodě. 1093 00:47:28,862 --> 00:47:29,808 To je trapné. 1094 00:47:29,808 --> 00:47:32,650 1095 00:47:32,650 --> 00:47:33,200 Tady to je. 1096 00:47:33,200 --> 00:47:34,408 >> BRIAN SCASSELLATI: Děkuji. 1097 00:47:34,408 --> 00:47:42,500 1098 00:47:42,500 --> 00:47:43,380 Jak to, že pro zvuk? 1099 00:47:43,380 --> 00:47:46,420 1100 00:47:46,420 --> 00:47:47,900 Zvuk je dobrý? , 1101 00:47:47,900 --> 00:47:49,220 Výborně. 1102 00:47:49,220 --> 00:47:50,350 DOBŘE. 1103 00:47:50,350 --> 00:47:52,110 Takže, ahoj všichni. 1104 00:47:52,110 --> 00:47:56,540 >> Budu se snažit pracovat prostřednictvím praktický příklad s vámi. 1105 00:47:56,540 --> 00:48:00,850 A budeme používat CS50 je vývojové prostředí, co se nazývá 1106 00:48:00,850 --> 00:48:03,120 integrované vývojové prostředí. 1107 00:48:03,120 --> 00:48:05,145 A viděli jste to prokázána v přednášce. 1108 00:48:05,145 --> 00:48:07,520 A v problémových Set 1, ty jsi bude mít příležitost 1109 00:48:07,520 --> 00:48:10,890 ji používat, a pohrajte si s to, a zvyknout na to, 1110 00:48:10,890 --> 00:48:13,640 protože budeme používat po zbytek semestru. 1111 00:48:13,640 --> 00:48:20,350 >> Takže v tomto IDE, máte to, co vypadá jako velmi tradiční prohlížeče souborů 1112 00:48:20,350 --> 00:48:21,890 více než na jedné straně. 1113 00:48:21,890 --> 00:48:24,360 Máš část nahoru top, kam jdete 1114 00:48:24,360 --> 00:48:28,850 vidět zdrojového kódu, vaše CFile, kód, který píšete. 1115 00:48:28,850 --> 00:48:31,880 A dolů dno, budete mají okno terminálu 1116 00:48:31,880 --> 00:48:36,330 které budete používat na jak sestavit svůj program 1117 00:48:36,330 --> 00:48:39,090 a spustit, nebo spustit program. 1118 00:48:39,090 --> 00:48:40,100 DOBŘE. 1119 00:48:40,100 --> 00:48:46,560 >> Takže jen, aby nám trochu nadace, v tomto okně terminálu, 1120 00:48:46,560 --> 00:48:48,930 budete mít pomocí sady příkazů 1121 00:48:48,930 --> 00:48:53,040 že jsou standardní příkazy v celé většina unixových nebo Linux. 1122 00:48:53,040 --> 00:48:55,890 A tak pokud jste někdy používali jakákoli forma Unix, Ubuntu, 1123 00:48:55,890 --> 00:48:59,140 nebo některý z dalších příchutí, tyto jsou bude vypadat povědomě. 1124 00:48:59,140 --> 00:49:00,890 >> Pokud nemáte, nezoufejte. 1125 00:49:00,890 --> 00:49:02,830 Na tom není nic složité o nich. 1126 00:49:02,830 --> 00:49:05,330 Jsou to jen pomocí jiný syntax, jiné pojmenování 1127 00:49:05,330 --> 00:49:07,630 konvence, než jste ještě neviděli. 1128 00:49:07,630 --> 00:49:12,190 >> Tak, aby se seznam souborů v určitém adresáři, 1129 00:49:12,190 --> 00:49:15,310 že jdou použít Příkaz ls volal, nebo Seznam. 1130 00:49:15,310 --> 00:49:18,010 Pokud chcete vidět vše se všemi detaily, 1131 00:49:18,010 --> 00:49:21,535 budete používat příkaz linie argumentace s ls -l. 1132 00:49:21,535 --> 00:49:23,910 A to vám ukážu všechno podrobněji, včetně 1133 00:49:23,910 --> 00:49:26,270 oprávnění pro soubor. 1134 00:49:26,270 --> 00:49:31,190 >> Chcete-li změnit adresář, budete pomocí příkazu cd. 1135 00:49:31,190 --> 00:49:35,180 A budete mít možnost změnit adresář jak jít do svého domovského adresáře. 1136 00:49:35,180 --> 00:49:38,500 To je jen cd úplně sám, CD se dvěma 1137 00:49:38,500 --> 00:49:42,930 tečky se vrátíte do jednoho level do svého předchozího adresáře. 1138 00:49:42,930 --> 00:49:46,400 A můžete také CD-ROM na podadresář zadáním cd 1139 00:49:46,400 --> 00:49:48,500 a název tohoto podadresáře. 1140 00:49:48,500 --> 00:49:50,540 >> Můžete také vytvářet nové adresáře. 1141 00:49:50,540 --> 00:49:52,790 A jdeme na procházku přes to v chvilku. 1142 00:49:52,790 --> 00:49:54,498 Ale jen dát vše, co na obrazovce. 1143 00:49:54,498 --> 00:49:56,310 Tak, že je můžete vidět. 1144 00:49:56,310 --> 00:50:00,420 >> Budete mít také možnost manipulovat soubory přímo 1145 00:50:00,420 --> 00:50:02,100 z příkazového řádku. 1146 00:50:02,100 --> 00:50:06,059 Budete mít možnost zkopírovat, aby přesunout, nebo je odstranit, 1147 00:50:06,059 --> 00:50:07,600 to znamená, že účinně, je odstranit. 1148 00:50:07,600 --> 00:50:10,310 1149 00:50:10,310 --> 00:50:15,350 >> CS50 IDE vám dává plný Síla argumentů příkazového řádku. 1150 00:50:15,350 --> 00:50:20,280 A to znamená, že můžete také dělat velmi nebezpečné věci. 1151 00:50:20,280 --> 00:50:21,560 DOBŘE. 1152 00:50:21,560 --> 00:50:25,010 Například, můžete odstranit, nebo že je odstranění, 1153 00:50:25,010 --> 00:50:28,750 soubor bez ptaní pro potvrzení. 1154 00:50:28,750 --> 00:50:31,820 A můžete dokonce odstranit recursively-- to je 1155 00:50:31,820 --> 00:50:38,940 čárka r flag-- celý podadresář a veškerý její obsah. 1156 00:50:38,940 --> 00:50:39,660 DOBŘE. 1157 00:50:39,660 --> 00:50:42,940 Jsou uvedeny v červené barvě, protože tobě by měl přemýšlet "nebezpečí" pokaždé, 1158 00:50:42,940 --> 00:50:45,000 vidíš ty věci. 1159 00:50:45,000 --> 00:50:45,920 DOBŘE. 1160 00:50:45,920 --> 00:50:46,420 Dobře. 1161 00:50:46,420 --> 00:50:50,090 1162 00:50:50,090 --> 00:50:53,430 >> Nyní konečně, věci, které jsou bude opravdu cenné pro vás, 1163 00:50:53,430 --> 00:50:57,270 jsou tam několik dobrých triků vědět, jak jste navigaci 1164 00:50:57,270 --> 00:50:59,190 přes toto okno terminálu. 1165 00:50:59,190 --> 00:51:03,590 Za prvé, můžete vymazat obrazovku kdykoli pouhým zadáním v jasné. 1166 00:51:03,590 --> 00:51:06,310 A vy budete vidět mě to udělat poměrně často. 1167 00:51:06,310 --> 00:51:09,990 Můžete také jen zobrazovat text souboru 1168 00:51:09,990 --> 00:51:13,992 zadáním více a poté název souboru. 1169 00:51:13,992 --> 00:51:17,200 Poté budete mít možnost posunout zpět a tam se to jen s mezerníkem 1170 00:51:17,200 --> 00:51:19,010 a šipky. 1171 00:51:19,010 --> 00:51:25,450 >> Pokud máte, jako jsme to udělali dnes v přednášce, program, který běží nepřetržitě 1172 00:51:25,450 --> 00:51:29,190 v nekonečné smyčce, vy může zastavit tento program 1173 00:51:29,190 --> 00:51:35,160 z provádění zadáním pod kontrolou, že je přidržením Control-C. 1174 00:51:35,160 --> 00:51:38,360 A možná budete muset udělat, tento vícekrát. 1175 00:51:38,360 --> 00:51:40,620 Počítač dostane daleko před vámi. 1176 00:51:40,620 --> 00:51:43,380 A musíte někdy dát mu pár pokusech 1177 00:51:43,380 --> 00:51:46,280 před tím, než bude skutečně projít. 1178 00:51:46,280 --> 00:51:48,760 >> Budete mít také možnost roztřídit příkazů 1179 00:51:48,760 --> 00:51:54,230 které jste právě zadali pomocí nahoru klíč, šipka klíč, a pak tlačítko šipka dolů. 1180 00:51:54,230 --> 00:51:57,560 A co je nejužitečnější je místo psaní se dlouhé názvy souborů, 1181 00:51:57,560 --> 00:52:02,209 budete moci pro použití na kartě Automatické dokončování několik instrukcí. 1182 00:52:02,209 --> 00:52:04,750 Teď budeme demonstrovat všechny ty, v jen sekundy. 1183 00:52:04,750 --> 00:52:06,780 Takže pokud si nepamatujete je, nebojte se. 1184 00:52:06,780 --> 00:52:10,780 To jsou věci, které budete vyzvednout a použít jako jdeme dál. 1185 00:52:10,780 --> 00:52:11,470 DOBŘE. 1186 00:52:11,470 --> 00:52:18,830 >> Takže na rozdíl od C- v Scratch-- C je zkompilovaný jazyk. 1187 00:52:18,830 --> 00:52:23,210 To znamená, že budeme mít zdroje file-- to je text, který píšete, 1188 00:52:23,210 --> 00:52:26,500 příkazy, které píšete se printf () prohlášení, smyčky, 1189 00:52:26,500 --> 00:52:32,580 vše else-- a jedeme aby se tento soubor a předat ji 1190 00:52:32,580 --> 00:52:34,670 na program s názvem kompilátor. 1191 00:52:34,670 --> 00:52:39,850 >> Kompilátor pak převezmou že text, který jste napsali 1192 00:52:39,850 --> 00:52:43,270 a přeložit jej do binární instrukce 1193 00:52:43,270 --> 00:52:46,010 že váš počítač je vlastně bude využití. 1194 00:52:46,010 --> 00:52:49,700 Tomu se říká objekt nebo spustitelný soubor. 1195 00:52:49,700 --> 00:52:55,320 Podíváte-li se na tento soubor, budete vidět kód, který jste napsali. 1196 00:52:55,320 --> 00:52:59,480 Podíváte-li se na tento soubor, budete vidět náhodnou posloupnost znaků 1197 00:52:59,480 --> 00:53:01,680 že nemá smysl vůbec. 1198 00:53:01,680 --> 00:53:03,250 To proto, že se jedná o binární. 1199 00:53:03,250 --> 00:53:05,560 To není určen pro vás bude číst. 1200 00:53:05,560 --> 00:53:08,690 >> Nicméně, kdykoli budete chtít spustit něco, co budete 1201 00:53:08,690 --> 00:53:13,670 být spuštěn, je tento objekt soubor. 1202 00:53:13,670 --> 00:53:19,110 Takže když jsme se pracovat s těmito soubory, budeme psát soubor v C. 1203 00:53:19,110 --> 00:53:23,400 Budeme pak ho kompilovat, pomocí Příkaz, jako je make, který se bude dovolávat 1204 00:53:23,400 --> 00:53:27,070 kompilátor zvonění pro jazyk C. 1205 00:53:27,070 --> 00:53:31,530 A to bude produkovat objekt soubor, jako ven, nebo v tomto případě, 1206 00:53:31,530 --> 00:53:36,580 jméno, můj soubor, který jsem dal dovnitř. 1207 00:53:36,580 --> 00:53:37,780 Dobře. 1208 00:53:37,780 --> 00:53:39,790 >> Takže pojďme se skutečně snaží toto. 1209 00:53:39,790 --> 00:53:42,850 Takže jsem přišel s příkladem z toho, co jsem chtěl zkusit. 1210 00:53:42,850 --> 00:53:47,380 A jedna z věcí, které Fascinuje mě je animace. 1211 00:53:47,380 --> 00:53:51,010 Takže budeme snažit dělat trochu animace 1212 00:53:51,010 --> 00:53:53,760 s použitím pouze ASCII znaky. 1213 00:53:53,760 --> 00:53:56,470 Postavy lze snadno vytisknout teď. 1214 00:53:56,470 --> 00:54:00,890 >> Tak tady je můj nejlepší pokus vytvořit pro vás 1215 00:54:00,890 --> 00:54:07,005 animace zajíček běh přes vysokou trávou. 1216 00:54:07,005 --> 00:54:07,505 Tady je. 1217 00:54:07,505 --> 00:54:10,150 1218 00:54:10,150 --> 00:54:10,670 DOBŘE. 1219 00:54:10,670 --> 00:54:14,050 Takže on není spuštěna ještě, ale je to stál ve vysoké trávě. 1220 00:54:14,050 --> 00:54:17,810 >> Nyní, když bych byl animátor, ve staré škole 1221 00:54:17,810 --> 00:54:20,860 verze animace, co jsem bych udělat, je bych vyrábět 1222 00:54:20,860 --> 00:54:23,640 obraz tohoto zajíček v trávě. 1223 00:54:23,640 --> 00:54:25,390 A pak bych vyrábět další picture-- 1224 00:54:25,390 --> 00:54:30,600 Dalším, co oni volali, že cell-- měl králíček jen nepatrně pohnul. 1225 00:54:30,600 --> 00:54:34,870 A pak třetí jeden, který měl zajíček se posunuli o kousek dál. 1226 00:54:34,870 --> 00:54:40,610 >> A já bych vyrábět celý Sekvence těchto buněk. 1227 00:54:40,610 --> 00:54:44,220 Někteří kde králíček je u konce na levé straně. 1228 00:54:44,220 --> 00:54:47,050 A pak se pohybuje pomalu, jeden jedním směrem ke středu. 1229 00:54:47,050 --> 00:54:51,120 A pak od poloviny nad doprava. 1230 00:54:51,120 --> 00:54:55,760 A kdybych byl tehdy opravdu štěstí, mohl bych dát dohromady 1231 00:54:55,760 --> 00:54:57,970 a já jsem je mohl oživit. 1232 00:54:57,970 --> 00:55:00,370 A tady je moje bunny běh přes trávu. 1233 00:55:00,370 --> 00:55:02,310 >> To je můj velký PowerPoint trik na den. 1234 00:55:02,310 --> 00:55:02,809 DOBŘE. 1235 00:55:02,809 --> 00:55:04,760 Tak tohle je tak dobrý, jak to dostane. 1236 00:55:04,760 --> 00:55:05,260 DOBŘE. 1237 00:55:05,260 --> 00:55:08,455 Takže, tady ještě jednou, tady je naše zajíček běží trávou. 1238 00:55:08,455 --> 00:55:09,217 >> SPEAKER 19: Opět. 1239 00:55:09,217 --> 00:55:11,050 BRIAN SCASSELLATI: One více času, v pořádku. 1240 00:55:11,050 --> 00:55:11,940 Tam je váš králíček. 1241 00:55:11,940 --> 00:55:12,940 DOBŘE. 1242 00:55:12,940 --> 00:55:15,470 >> Takže dnes to, co budeme udělat, je jedeme 1243 00:55:15,470 --> 00:55:21,110 pokusit se automatizovat proces výroby těchto buněk. 1244 00:55:21,110 --> 00:55:24,135 Nebudeme úplně dostat do bodu je schopen je všechny dohromady. 1245 00:55:24,135 --> 00:55:28,900 Ale budeme se snažit pro automatizaci proces generování této sekvence. 1246 00:55:28,900 --> 00:55:32,900 >> A to je hodně z čeho Animace je dnes podobně. 1247 00:55:32,900 --> 00:55:36,690 To znamená, že nemusíte dělat věci nutně kreslení všechno po ruce. 1248 00:55:36,690 --> 00:55:40,610 Používáme počítače k ​​automatizaci částmi tohoto procesu. 1249 00:55:40,610 --> 00:55:41,110 DOBŘE. 1250 00:55:41,110 --> 00:55:47,720 >> Dovolte mi tedy přepínání Nyní k naší CS50 IDE. 1251 00:55:47,720 --> 00:55:54,260 A já jsem vytvořil pro us-- a nechat me přiblížit tu trochu bit-- jsem 1252 00:55:54,260 --> 00:55:58,420 vytvořil pro nás výchozím bodem. 1253 00:55:58,420 --> 00:56:03,830 >> Pokaždé, když vás žádáme sedět dolů a napsat kus kódu, 1254 00:56:03,830 --> 00:56:09,250 to, co jsme vás opravdu žádáš je žádáme, aby vyřešit problém. 1255 00:56:09,250 --> 00:56:11,810 A tak, že jste měl přemýšlet o tom, že 1256 00:56:11,810 --> 00:56:17,900 se tím, že začíná s některými jednoduchý součástí tohoto řešení. 1257 00:56:17,900 --> 00:56:21,730 A pak vytvořit z této části. 1258 00:56:21,730 --> 00:56:23,400 A to je to, co budeme dělat dnes. 1259 00:56:23,400 --> 00:56:27,570 >> Takže spíše než se snažit vše najednou napsat celou spoustu kódu, který je 1260 00:56:27,570 --> 00:56:30,770 bude vyrábět ty, 10 animace buňky, 1261 00:56:30,770 --> 00:56:35,506 budeme místo toho začít s jedním kusem, který funguje. 1262 00:56:35,506 --> 00:56:37,380 A pak budeme stavět Trochu kolem toho 1263 00:56:37,380 --> 00:56:39,740 a trochu víc a trochu víc. 1264 00:56:39,740 --> 00:56:42,550 >> Nyní je dobrá věc, o Řešení problémů tímto způsobem 1265 00:56:42,550 --> 00:56:46,716 je to, že vám umožní začít vždy s něčím, co znáte 1266 00:56:46,716 --> 00:56:51,130 práce a zavést jeden postupnou změnu. 1267 00:56:51,130 --> 00:56:54,090 A to je skvělý způsob, se dozvíte, jak se kód, 1268 00:56:54,090 --> 00:56:58,590 proto, že pokaždé, když uděláte změna, vidíte, jaký vliv to má. 1269 00:56:58,590 --> 00:56:59,540 DOBŘE. 1270 00:56:59,540 --> 00:57:01,450 >> Tak tady je náš výchozí bod. 1271 00:57:01,450 --> 00:57:01,950 DOBŘE. 1272 00:57:01,950 --> 00:57:08,030 Takže na začátku mého souboru, Mám hash #included stdio.h. 1273 00:57:08,030 --> 00:57:12,560 To je tak, že mohu získat printf () funkce k práci. 1274 00:57:12,560 --> 00:57:15,240 >> Pak jsem mám hlavní funkci. 1275 00:57:15,240 --> 00:57:18,760 A to stále vypadá trochu Arcane nebo obskurní pro některé z vás. 1276 00:57:18,760 --> 00:57:20,010 To je v pohodě. 1277 00:57:20,010 --> 00:57:23,190 Vše, co to říká, je to, že Hlavní funkce trvá 1278 00:57:23,190 --> 00:57:27,830 no arguments-- void prostředky nic v C., a to 1279 00:57:27,830 --> 00:57:29,940 vrací podle konvencí celé číslo. 1280 00:57:29,940 --> 00:57:33,290 Hlavní vždy vrátí celé číslo, obvykle kódu říkají věci 1281 00:57:33,290 --> 00:57:35,071 šlo dobře, nebo nešel dobře. 1282 00:57:35,071 --> 00:57:35,570 DOBŘE. 1283 00:57:35,570 --> 00:57:39,110 Ale hlavní je, aby toto Formulář pro nás právě teď. 1284 00:57:39,110 --> 00:57:42,080 >> Já jsem pak dal ve třech řádcích kódu. 1285 00:57:42,080 --> 00:57:46,760 A spolu s každým řádkem kód, Já jsem dal komentář. 1286 00:57:46,760 --> 00:57:51,340 A teď jedna z věcí, které budeme trvat na tom, co děláte, 1287 00:57:51,340 --> 00:57:55,320 a je to tak důležitý programovací praxe, 1288 00:57:55,320 --> 00:57:57,800 je vždy vyjádřit váš kód. 1289 00:57:57,800 --> 00:58:02,550 Vždy zapsat An Anglický komentář něco 1290 00:58:02,550 --> 00:58:06,740 že si myslíte, že Kód má dělat. 1291 00:58:06,740 --> 00:58:11,360 Tak, později, když se vrátíte do to, můžete se podívat na to, a vy můžete říct, 1292 00:58:11,360 --> 00:58:13,800 oh, Vzpomínám si, co jsem byl se snaží dělat s tím. 1293 00:58:13,800 --> 00:58:17,590 Nebo když TA sedne s vámi snažit, aby vám pomohl v úředních hodinách, 1294 00:58:17,590 --> 00:58:20,890 oni se podívat na to a jít, já vidět, co se snaží dělat, 1295 00:58:20,890 --> 00:58:25,630 ale místo toho je to co se skutečně děje. 1296 00:58:25,630 --> 00:58:26,130 DOBŘE. 1297 00:58:26,130 --> 00:58:30,300 >> Tak jsem dostal tři části mém kódu, Chystám se především tisku 1298 00:58:30,300 --> 00:58:33,110 out některých tečky na začátku. 1299 00:58:33,110 --> 00:58:37,480 Budu pak vytisknout my extrémně fantazie zajíček. 1300 00:58:37,480 --> 00:58:40,600 A ještě něco trochu teček na konci. 1301 00:58:40,600 --> 00:58:45,220 >> A tyto tři tiskové prohlášení by mělo být povědomá pro vás v tomto okamžiku. 1302 00:58:45,220 --> 00:58:47,350 Vše, co dělám v každý z nich je, že jsem 1303 00:58:47,350 --> 00:58:49,780 vytisknout posloupnost znaků. 1304 00:58:49,780 --> 00:58:51,370 Tam je zapojené žádné proměnné. 1305 00:58:51,370 --> 00:58:54,320 Vše je jen plochá. 1306 00:58:54,320 --> 00:58:55,270 DOBŘE. 1307 00:58:55,270 --> 00:59:07,340 >> Takže když jsem se jít dolů teď k mému terminal-- uvidíme, jestli můžu dostat to zpět out-- 1308 00:59:07,340 --> 00:59:09,370 a budu psát opět volná. 1309 00:59:09,370 --> 00:59:12,507 >> SPEAKER 20: Musíme použít dvojité lomítko vyjádřit? 1310 00:59:12,507 --> 00:59:14,340 BRIAN SCASSELLATI: Může použijte double-- ano. 1311 00:59:14,340 --> 00:59:16,920 K dispozici je několik způsobů, zanechat komentář v C. One 1312 00:59:16,920 --> 00:59:19,440 způsob, jak je použít dvojité lomítko. 1313 00:59:19,440 --> 00:59:24,910 Na druhé straně je použít lomítko a hvězda a zavřete s hvězdou a lomítkem. 1314 00:59:24,910 --> 00:59:26,110 Dobře. 1315 00:59:26,110 --> 00:59:28,950 >> Za prvé, budu spustit navigaci tady. 1316 00:59:28,950 --> 00:59:35,350 Takže když jsem se jít do mého domovského adresáře, Změnil jsem adresářů tam, 1317 00:59:35,350 --> 00:59:40,230 Jdu se podívat a vidět, co je v tomto adresáři, ls, seznam ven. 1318 00:59:40,230 --> 00:59:43,230 Jdu vidět, že jsem má dva podadresáře. 1319 00:59:43,230 --> 00:59:47,910 Udělejme to trochu větší tady, takže se všichni můžeme vidět. 1320 00:59:47,910 --> 00:59:50,610 >> Vidím, že jsem má dva podadresáře. 1321 00:59:50,610 --> 00:59:53,510 Budu-li změnit adresář jít do pracovního prostoru. 1322 00:59:53,510 --> 00:59:58,380 A já jen psát ven jeho součástí, a pak stačí kliknout na Tab. 1323 00:59:58,380 --> 01:00:01,520 A to bude dokončit zbytek pro mě. 1324 01:00:01,520 --> 01:00:03,370 Fancy. 1325 01:00:03,370 --> 01:00:04,960 >> Podívám se a vidět v pracovním prostoru. 1326 01:00:04,960 --> 01:00:08,431 A právě teď, já pracuji na SuperSection 1327 01:00:08,431 --> 01:00:09,680 že jsme vyučování právě teď. 1328 01:00:09,680 --> 01:00:10,971 Takže já půjdu do tohoto adresáře. 1329 01:00:10,971 --> 01:00:14,770 1330 01:00:14,770 --> 01:00:15,970 A konečně, dívat se a vidět. 1331 01:00:15,970 --> 01:00:18,480 A já mám ten soubor bunny.c. 1332 01:00:18,480 --> 01:00:20,980 >> Dobře tak ať mi jasné, ještě jednou. 1333 01:00:20,980 --> 01:00:24,370 A já zase, že jsem now-- ještě zůstat v tomto adresáři 1334 01:00:24,370 --> 01:00:27,540 a to mi říká, že jsem v že SuperSection adresář. 1335 01:00:27,540 --> 01:00:30,690 Chystám se jít dopředu a aby můj program zajíček. 1336 01:00:30,690 --> 01:00:33,730 1337 01:00:33,730 --> 01:00:38,810 A tento příkaz, aby zajíček, zatímco znít trochu divné, 1338 01:00:38,810 --> 01:00:42,960 dovolává rovněž řinčení kompilátor. 1339 01:00:42,960 --> 01:00:46,470 >> A je to vyrobeno pro me výstup, který je 1340 01:00:46,470 --> 01:00:52,130 spustitelný funny-- spustitelný soubor s názvem zajíček. 1341 01:00:52,130 --> 01:00:52,700 DOBŘE. 1342 01:00:52,700 --> 01:00:56,700 I pak mohou, a to zní ještě horší, spusťte zajíček. 1343 01:00:56,700 --> 01:00:59,360 1344 01:00:59,360 --> 01:01:00,680 DOBŘE. 1345 01:01:00,680 --> 01:01:03,150 A uvidíme, co to udělá. 1346 01:01:03,150 --> 01:01:04,527 DOBŘE. 1347 01:01:04,527 --> 01:01:06,360 To je trochu to, co jsem očekával. 1348 01:01:06,360 --> 01:01:11,290 Mám svou zajíček obrázek tam, ale nějak jsem to chtěl všechno sama. 1349 01:01:11,290 --> 01:01:13,186 To, co jsem zmeškal? 1350 01:01:13,186 --> 01:01:14,478 >> SPEAKER 21: Slash l nebo lomítko n. 1351 01:01:14,478 --> 01:01:15,602 BRIAN SCASSELLATI: Slash n. 1352 01:01:15,602 --> 01:01:16,580 DOBŘE. 1353 01:01:16,580 --> 01:01:18,800 Tak pojďme zpátky sem. 1354 01:01:18,800 --> 01:01:20,330 A já budu mít z toho. 1355 01:01:20,330 --> 01:01:23,320 A já se vrátím do tohoto jednoho. 1356 01:01:23,320 --> 01:01:27,720 A pojďme se podívat teď z mé hlavní funkce zde. 1357 01:01:27,720 --> 01:01:29,280 >> Tak co mám dělat? 1358 01:01:29,280 --> 01:01:30,465 Chci ukončit linku. 1359 01:01:30,465 --> 01:01:34,020 1360 01:01:34,020 --> 01:01:35,800 Tak jsem si dal v komentáři. 1361 01:01:35,800 --> 01:01:38,430 Dám do printf (). 1362 01:01:38,430 --> 01:01:41,350 A to, co musím dát? 1363 01:01:41,350 --> 01:01:41,890 / n. 1364 01:01:41,890 --> 01:01:43,480 DOBŘE. 1365 01:01:43,480 --> 01:01:46,040 Co musím skončit s? 1366 01:01:46,040 --> 01:01:47,100 Středník. 1367 01:01:47,100 --> 01:01:48,730 Dobře. 1368 01:01:48,730 --> 01:01:52,880 >> Nyní, jeden z opravdu důležité věci, je ujistit 1369 01:01:52,880 --> 01:01:56,720 pokaždé, když provedete změnu v kódu, který ji uložit. 1370 01:01:56,720 --> 01:02:01,380 Pokud jste neuložili váš kód, jste bude všímat malá hvězda nahoru. 1371 01:02:01,380 --> 01:02:03,420 A to vám říká, že hvězda neuložili tento kód. 1372 01:02:03,420 --> 01:02:07,790 >> Kdybych zkompilovat právě teď, to není bude odrážet některé z těchto změn, 1373 01:02:07,790 --> 01:02:11,680 protože kompilátor dívá na soubor to je na disku, nikoliv na soubor, který je 1374 01:02:11,680 --> 01:02:13,790 otevře v editoru. 1375 01:02:13,790 --> 01:02:14,290 Dobře. 1376 01:02:14,290 --> 01:02:20,830 >> Tak pojďme ji uložit a pak půjdeme tady vpravo dolů, pojď zpátky. 1377 01:02:20,830 --> 01:02:24,670 Pojď dolů do mého terminálu. 1378 01:02:24,670 --> 01:02:27,193 A pojďme znovu vyčistit prostor. 1379 01:02:27,193 --> 01:02:30,690 1380 01:02:30,690 --> 01:02:35,760 >> A můžeme pokračovat a ještě jeden čas, aby naše zajíček program. 1381 01:02:35,760 --> 01:02:40,180 A spustit zajíčka. 1382 01:02:40,180 --> 01:02:42,500 To nepomohlo. 1383 01:02:42,500 --> 01:02:43,950 Špatné lomítko. 1384 01:02:43,950 --> 01:02:52,280 Takže, když se podíváte na to, co mám, jsem dal / n tam, ale já jsem měl špatnou lomítko. 1385 01:02:52,280 --> 01:02:56,190 >> Vše, co váš počítač dělá, je velmi explicitní. 1386 01:02:56,190 --> 01:02:57,230 DOBŘE? 1387 01:02:57,230 --> 01:03:01,250 Jedna malá chyba interpunkce, a Najednou se nechcete dostat to, co chcete. 1388 01:03:01,250 --> 01:03:01,750 Dobře. 1389 01:03:01,750 --> 01:03:03,740 Takže pojďme přiblížit zpátky ven. 1390 01:03:03,740 --> 01:03:04,410 Půjdeme zpátky. 1391 01:03:04,410 --> 01:03:07,930 No aby to velmi rychlou opravu. 1392 01:03:07,930 --> 01:03:09,270 Budeme klást správné lomítko. 1393 01:03:09,270 --> 01:03:10,570 Budeme ho šetřit. 1394 01:03:10,570 --> 01:03:13,410 Budeme přiblížit zpět. 1395 01:03:13,410 --> 01:03:16,730 >> Z nějakého důvodu, že to není být šťastný, ale pojďme vpřed 1396 01:03:16,730 --> 01:03:19,850 a půjdeme zpátky k terminálu zde. 1397 01:03:19,850 --> 01:03:22,940 Zrušte to. 1398 01:03:22,940 --> 01:03:24,880 Budeme přiblížit. 1399 01:03:24,880 --> 01:03:28,410 A ještě jednou, uděláme zajíček. 1400 01:03:28,410 --> 01:03:32,360 A teď opravdu, to funguje. 1401 01:03:32,360 --> 01:03:33,240 Hurá. 1402 01:03:33,240 --> 01:03:34,300 DOBŘE. 1403 01:03:34,300 --> 01:03:39,580 >> Takže pojďme se snažit, aby to trochu obecnější. 1404 01:03:39,580 --> 01:03:46,750 Uvidíme, jestli místo toho jen tisk jeden konkrétní snímek, 1405 01:03:46,750 --> 01:03:49,610 uvidíme, jestli bychom mohli udělat tuto tak, že se můžeme dostat všech 10 1406 01:03:49,610 --> 01:03:52,960 z těchto rámů animovaných že jsme chtěli mít. 1407 01:03:52,960 --> 01:03:56,550 Takže znovu, pojďme tento krok v době. 1408 01:03:56,550 --> 01:03:59,900 >> Pojďme si nejprve zobecnit to, ne takže dělám všechny snímky, 1409 01:03:59,900 --> 01:04:03,990 ale tak jsem dělat jednu rám, který bych mohl chtít. 1410 01:04:03,990 --> 01:04:05,920 Tak v čem je rozdíl mezi rámy? 1411 01:04:05,920 --> 01:04:07,377 Je králíček totéž? 1412 01:04:07,377 --> 01:04:07,960 Diváků: Ano. 1413 01:04:07,960 --> 01:04:08,390 BRIAN SCASSELLATI: Jo. 1414 01:04:08,390 --> 01:04:09,370 Jaký je v tom rozdíl? 1415 01:04:09,370 --> 01:04:10,246 >> Diváků: Position. 1416 01:04:10,246 --> 01:04:11,870 BRIAN SCASSELLATI: Jeho pozice, že jo? 1417 01:04:11,870 --> 01:04:15,590 A jak mohu kontrolovat svou pozici? 1418 01:04:15,590 --> 01:04:17,340 Kolik bodů, že jsem uvedení na začátku 1419 01:04:17,340 --> 01:04:19,048 a kolik bodů jsem si uvedení na konci. 1420 01:04:19,048 --> 01:04:21,970 Takže jsem měl pět u začínající a pět na konci. 1421 01:04:21,970 --> 01:04:28,320 >> Pojďme nahradit, že pět se cyklu for. 1422 01:04:28,320 --> 01:04:29,380 DOBŘE. 1423 01:04:29,380 --> 01:04:32,330 A já se vytvořit pro smyčky teď, to bude říkat, 1424 01:04:32,330 --> 01:04:37,800 Chystám se vytisknout nějaké číslo teček na začátku. 1425 01:04:37,800 --> 01:04:39,600 Chystám se použít proměnnou. 1426 01:04:39,600 --> 01:04:44,150 Řekněme, co kdybych as čítač v mé smyčce. 1427 01:04:44,150 --> 01:04:47,200 A budu deklarovat to vrchol. 1428 01:04:47,200 --> 01:04:49,360 >> A pak v smyčce for Musím udělat tři věci. 1429 01:04:49,360 --> 01:04:52,340 První věc, kterou musíte udělat, je musím inicializovat i. 1430 01:04:52,340 --> 01:04:56,570 Co bych měl inicializovat to začne být? 1431 01:04:56,570 --> 01:04:57,160 0. 1432 01:04:57,160 --> 01:04:58,310 DOBŘE. 1433 01:04:58,310 --> 01:05:00,950 >> Pak jsem je třeba říct, co je stav ukončení? 1434 01:05:00,950 --> 01:05:03,020 Kdy bych měl přestat? 1435 01:05:03,020 --> 01:05:05,983 No, kolik bodů se ti Chcete-li tisknout na tohle? 1436 01:05:05,983 --> 01:05:06,921 >> Diváků: Five. 1437 01:05:06,921 --> 01:05:08,170 BRIAN SCASSELLATI: Pět znovu? 1438 01:05:08,170 --> 01:05:10,650 Jak se o pojďme něco udělat odlišné, jsme udělali pět. 1439 01:05:10,650 --> 01:05:12,584 Ukažme, že je to jinak. 1440 01:05:12,584 --> 01:05:13,250 SPEAKER 22: Two. 1441 01:05:13,250 --> 01:05:13,580 BRIAN SCASSELLATI: Two. 1442 01:05:13,580 --> 01:05:14,080 DOBŘE. 1443 01:05:14,080 --> 01:05:17,760 Takže pokud chci dvě tečky, to, co bych měl tady? 1444 01:05:17,760 --> 01:05:19,140 >> Hlediště: Tři. 1445 01:05:19,140 --> 01:05:20,530 >> BRIAN SCASSELLATI: Tři. 1446 01:05:20,530 --> 01:05:21,400 DOBŘE. 1447 01:05:21,400 --> 01:05:24,220 Kolikrát je to, že jít projít? 1448 01:05:24,220 --> 01:05:28,469 To bude projít třikrát, 0, 1, a 2, pravý? 1449 01:05:28,469 --> 01:05:30,010 Dobře, vraťme se na dva. 1450 01:05:30,010 --> 01:05:31,570 Teď budeme mít dvě tečky. 1451 01:05:31,570 --> 01:05:35,800 A co dělat, chci dělat každý Tentokrát jsem projít smyčky? 1452 01:05:35,800 --> 01:05:38,657 Co se musí změnit Pokaždé, když jsem se projít? 1453 01:05:38,657 --> 01:05:39,850 >> SPEAKER 23: Přidat tečku. 1454 01:05:39,850 --> 01:05:41,020 >> BRIAN SCASSELLATI: musím jít dál. 1455 01:05:41,020 --> 01:05:41,978 Chystám se přidat tečku. 1456 01:05:41,978 --> 01:05:45,310 Chystám se vytisknout tečku, Pokaždé, když přes smyčku. 1457 01:05:45,310 --> 01:05:49,990 Ale jak mám sledování toho, jak Mnohokrát jsem přes smyčku? 1458 01:05:49,990 --> 01:05:53,260 Já používám i, že variabilní, že čítač. 1459 01:05:53,260 --> 01:05:57,110 >> Takže pokaždé, když díky, jdu pro zvýšení čítače o jedničku. 1460 01:05:57,110 --> 01:06:00,670 Nyní, to je stejné pro mě, jak říká i = i + 1. 1461 01:06:00,670 --> 01:06:01,210 To je v pohodě. 1462 01:06:01,210 --> 01:06:04,653 Mohl bych to udělat that-- Líbí se mi těsnopis, tak jsem chtěl říct i ++. 1463 01:06:04,653 --> 01:06:07,190 1464 01:06:07,190 --> 01:06:08,370 DOBŘE. 1465 01:06:08,370 --> 01:06:10,680 >> Pojďme udělat totéž se zde v dolní části. 1466 01:06:10,680 --> 01:06:11,846 Jen jsem trochu udělal, že jeden. 1467 01:06:11,846 --> 01:06:13,990 Budu vám kluci nechat udělat jeden úplně. 1468 01:06:13,990 --> 01:06:14,260 Dobře. 1469 01:06:14,260 --> 01:06:15,426 >> Takže to, co bych měl psát tady? 1470 01:06:15,426 --> 01:06:17,170 Tady je moje pro smyčce. 1471 01:06:17,170 --> 01:06:23,162 Chystám se udělat printf (), a jdu aby to tak, že jsem tisknout pouze jednu tečku 1472 01:06:23,162 --> 01:06:25,740 na tomto dně. 1473 01:06:25,740 --> 01:06:27,740 >> Co mám napsat Uvnitř to pro smyčky teď? 1474 01:06:27,740 --> 01:06:30,897 1475 01:06:30,897 --> 01:06:33,948 No, v první řadě to, co Proměnné bych měl použít? 1476 01:06:33,948 --> 01:06:35,430 >> SPEAKER 24: j. 1477 01:06:35,430 --> 01:06:36,880 >> BRIAN SCASSELLATI: Mohl bych použít j. 1478 01:06:36,880 --> 01:06:38,040 Mohu použít stejnou jízdenku? 1479 01:06:38,040 --> 01:06:39,961 Mohu použít i znovu? 1480 01:06:39,961 --> 01:06:40,460 To jo. 1481 01:06:40,460 --> 01:06:45,531 To je v pořádku, protože Is že jsem pomocí tady, 1482 01:06:45,531 --> 01:06:47,780 Nechci je potřebujeme znovu, když Jsem se pustit do tohoto bodu. 1483 01:06:47,780 --> 01:06:52,240 1484 01:06:52,240 --> 01:06:53,790 >> Takže to, co bych měl inicializovat jsem? 1485 01:06:53,790 --> 01:06:56,675 1486 01:06:56,675 --> 01:06:57,300 SPEAKER 25: 10. 1487 01:06:57,300 --> 01:06:58,567 BRIAN SCASSELLATI: 0. 1488 01:06:58,567 --> 01:06:59,400 Co mám zkontrolovat? 1489 01:06:59,400 --> 01:07:02,960 Kolik bodů musím teď u konce pokud mám dvě tečky na začátku? 1490 01:07:02,960 --> 01:07:05,820 1491 01:07:05,820 --> 01:07:09,165 Potřebuji osm na konci, takže to, co Měla jsem zkontrolovat, i méně than-- 1492 01:07:09,165 --> 01:07:12,645 >> Publikum: Sedm, osm, devět. 1493 01:07:12,645 --> 01:07:14,020 BRIAN SCASSELLATI: Slyšel jsem, že sedm. 1494 01:07:14,020 --> 01:07:14,810 Slyšel jsem, osm. 1495 01:07:14,810 --> 01:07:15,970 A já jsem slyšel devět. 1496 01:07:15,970 --> 01:07:16,470 DOBŘE. 1497 01:07:16,470 --> 01:07:19,540 Takže jsme všichni v právu ball-- Jason říká, že 10. 1498 01:07:19,540 --> 01:07:21,550 DOBŘE. 1499 01:07:21,550 --> 01:07:25,920 >> Kdybych potřeboval dvě tečky na První z nich, jak mnoho dělat 1500 01:07:25,920 --> 01:07:30,170 Já-- a já potřebuju osm bodů pro Poslední one-- jsem dal dvě nahoře, 1501 01:07:30,170 --> 01:07:31,743 to, co bych měl dole? 1502 01:07:31,743 --> 01:07:32,570 >> Diváků: Osm. 1503 01:07:32,570 --> 01:07:33,611 >> BRIAN SCASSELLATI: Eight. 1504 01:07:33,611 --> 01:07:35,695 Vzhledem k tomu, že to bude počítat od nuly do sedmi. 1505 01:07:35,695 --> 01:07:38,490 A to je osmkrát přes smyčku. 1506 01:07:38,490 --> 01:07:38,990 DOBŘE. 1507 01:07:38,990 --> 01:07:41,774 A co mám dělat na konci? 1508 01:07:41,774 --> 01:07:42,670 >> Diváků: i ++. 1509 01:07:42,670 --> 01:07:44,400 >> BRIAN SCASSELLATI: i ++. 1510 01:07:44,400 --> 01:07:45,440 Dobře. 1511 01:07:45,440 --> 01:07:48,260 Tak, že se dívá dost dobře tam. 1512 01:07:48,260 --> 01:07:50,620 Zkusme to a uvidíme, co to udělá. 1513 01:07:50,620 --> 01:07:51,450 DOBŘE. 1514 01:07:51,450 --> 01:07:53,770 Takže jdeme uložit. 1515 01:07:53,770 --> 01:07:54,940 Pěkné a zachránil. 1516 01:07:54,940 --> 01:07:56,910 >> Budeme zoom zpět. 1517 01:07:56,910 --> 01:07:58,220 Zkusíme to tady v terminálu. 1518 01:07:58,220 --> 01:08:01,440 1519 01:08:01,440 --> 01:08:02,970 Budeme přiblížit. 1520 01:08:02,970 --> 01:08:05,416 Chybička se vloudila. 1521 01:08:05,416 --> 01:08:09,990 Budeme, ještě jednou, aby náš bunny program. 1522 01:08:09,990 --> 01:08:14,460 A do toho pusťte a provádět zajíčka. 1523 01:08:14,460 --> 01:08:15,980 A je to tak. 1524 01:08:15,980 --> 01:08:17,710 >> Takže tam je náš zajíček. 1525 01:08:17,710 --> 01:08:25,130 V případě, že má dvě tečky na začátku a osm tečky na konci. 1526 01:08:25,130 --> 01:08:27,540 Všichni pořád se mnou? 1527 01:08:27,540 --> 01:08:28,770 DOBŘE. 1528 01:08:28,770 --> 01:08:29,580 >> Tak jsme vybudovali. 1529 01:08:29,580 --> 01:08:33,000 Postavili jsme jednu zajíček, jeden konkrétní frame. 1530 01:08:33,000 --> 01:08:36,229 Nyní jsme byli schopni zobecnit, že pro sestavení 1531 01:08:36,229 --> 01:08:38,390 více, různé druhy rámů. 1532 01:08:38,390 --> 01:08:42,399 >> Teď pojďme do toho, a mají generovat ne jen jeden snímek, 1533 01:08:42,399 --> 01:08:46,290 ale pojďme tvořit 10 rámy, kde jsme se pomalu 1534 01:08:46,290 --> 01:08:50,569 aby se králíček přesuňte všechny cesta přes pole. 1535 01:08:50,569 --> 01:08:51,430 Dobře. 1536 01:08:51,430 --> 01:08:53,660 >> Pojďme zpátky. 1537 01:08:53,660 --> 01:08:54,839 A my se pokusíme nyní. 1538 01:08:54,839 --> 01:09:00,680 1539 01:09:00,680 --> 01:09:02,830 Takže to, co mám opravdu potřeba tady změnit? 1540 01:09:02,830 --> 01:09:06,139 1541 01:09:06,139 --> 01:09:07,180 Co potřebuji, abych mohl změnit? 1542 01:09:07,180 --> 01:09:10,638 >> SPEAKER 26: Nejprve musíte změnit počet bodů maxima 1543 01:09:10,638 --> 01:09:11,626 na začátku. 1544 01:09:11,626 --> 01:09:16,850 Protože jestli děláme 10 bodů, to bude muset až do měřítka. 1545 01:09:16,850 --> 01:09:17,850 BRIAN SCASSELLATI: Jo. 1546 01:09:17,850 --> 01:09:23,760 Takže teď jsem to nějak hardwired se vždycky dvě tečky na začátku 1547 01:09:23,760 --> 01:09:27,890 a vždycky osm tečky na konci. 1548 01:09:27,890 --> 01:09:30,660 >> Chci stavět další smyčku, že jo? 1549 01:09:30,660 --> 01:09:33,290 Protože nechci, aby stavět jen jeden zajíček obrázek, 1550 01:09:33,290 --> 01:09:37,140 Chci se postavit 10 zajíček obrázky. 1551 01:09:37,140 --> 01:09:41,500 Tak jsem třeba stavět další smyčku, a jak jsem jít přes tuto smyčku, 1552 01:09:41,500 --> 01:09:44,660 Chci změnit, kolik tečky tisknout na začátku 1553 01:09:44,660 --> 01:09:50,529 a kolik teček tisknout na konci, na základě které procházet smyčkou 1554 01:09:50,529 --> 01:09:52,270 Jdu do toho. 1555 01:09:52,270 --> 01:09:52,770 Dobře. 1556 01:09:52,770 --> 01:09:54,430 >> Takže pojďme získat další žeton. 1557 01:09:54,430 --> 01:09:58,142 Někdo před tím, než j, takže uděláme další j. 1558 01:09:58,142 --> 01:10:00,100 A teď, budeme stavět další pro smyčce. 1559 01:10:00,100 --> 01:10:02,650 1560 01:10:02,650 --> 01:10:06,200 >> Co se děje uvnitř, že smyčky? 1561 01:10:06,200 --> 01:10:09,060 Tento materiál musí jít uvnitř smyčky, že jo? 1562 01:10:09,060 --> 01:10:11,190 Má zajíček má jít dovnitř smyčky? 1563 01:10:11,190 --> 01:10:13,390 Musím zajíček v každý z těchto 10 snímků? 1564 01:10:13,390 --> 01:10:14,099 >> Diváků: Hm. 1565 01:10:14,099 --> 01:10:15,098 BRIAN SCASSELLATI: Jo. 1566 01:10:15,098 --> 01:10:17,250 Chci zajíček v každé z 10 snímků, je to tak? 1567 01:10:17,250 --> 01:10:20,531 Jak se o body v konec, potřebuji, že? 1568 01:10:20,531 --> 01:10:21,030 DOBŘE. 1569 01:10:21,030 --> 01:10:22,550 >> Takže budu odsadit všechny z nich. 1570 01:10:22,550 --> 01:10:25,110 Budu vyzdvihnout všechny to, a budu zasáhnout Tab. 1571 01:10:25,110 --> 01:10:28,590 A že to bude tlačit na celém trochu, takže je to pro mě lehké 1572 01:10:28,590 --> 01:10:32,010 vidět, co je ve smyčce. 1573 01:10:32,010 --> 01:10:33,710 A pak budu ukončit. 1574 01:10:33,710 --> 01:10:35,850 Řekněme. 1575 01:10:35,850 --> 01:10:36,430 DOBŘE? 1576 01:10:36,430 --> 01:10:39,230 >> Nyní, v této smyčky, která Jsem building-- Jejda, 1577 01:10:39,230 --> 01:10:43,810 aby to, takže si můžete see-- Mám svou proti j. 1578 01:10:43,810 --> 01:10:45,630 Já začal ji na 0 ° C. 1579 01:10:45,630 --> 01:10:47,829 Kolikrát nechci projít této smyčky? 1580 01:10:47,829 --> 01:10:48,620 Diváků: 10 krát. 1581 01:10:48,620 --> 01:10:49,786 BRIAN SCASSELLATI: 10 krát. 1582 01:10:49,786 --> 01:10:51,402 Takže to, co jsem dal číslo by mělo tu? 1583 01:10:51,402 --> 01:10:52,880 >> Publikum: 9, 10. 1584 01:10:52,880 --> 01:10:55,600 >> BRIAN SCASSELLATI: 9, 10, Někdo musí říct, 11, ne? 1585 01:10:55,600 --> 01:10:58,190 1586 01:10:58,190 --> 01:11:01,585 Chtěl jsem dvě tečky před a dal jsem menší než 2. 1587 01:11:01,585 --> 01:11:03,810 Chtěl jsem osm bodů, Dal jsem i menší než 8. 1588 01:11:03,810 --> 01:11:06,950 Teď chci jít až 10 časy, tak jsem dal J méně than-- 1589 01:11:06,950 --> 01:11:07,590 >> Diváků: 10. 1590 01:11:07,590 --> 01:11:08,610 >> BRIAN SCASSELLATI: 10. 1591 01:11:08,610 --> 01:11:10,150 Tam jedeme. 1592 01:11:10,150 --> 01:11:13,360 A co mám dělat na konci k j? 1593 01:11:13,360 --> 01:11:15,310 ++, Zvýšit ji. 1594 01:11:15,310 --> 01:11:16,230 DOBŘE. 1595 01:11:16,230 --> 01:11:21,500 A teď, tady je choulostivé části, co je bude dít právě teď, když to udělám? 1596 01:11:21,500 --> 01:11:24,537 Budu tisku 10 snímků? 1597 01:11:24,537 --> 01:11:26,370 SPEAKER 27: Myslím si, budou všichni být stejné. 1598 01:11:26,370 --> 01:11:28,453 BRIAN SCASSELLATI: Budou být všechny stejné, ne? 1599 01:11:28,453 --> 01:11:31,750 Vzhledem k tomu, všechny z nich jsou stále pokračují aby dvě tečky na začátku. 1600 01:11:31,750 --> 01:11:34,162 Ale já nechci je všechny mají dvě tečky na začátku. 1601 01:11:34,162 --> 01:11:35,870 Kolik bodů dělat já chtějí na začátku? 1602 01:11:35,870 --> 01:11:39,097 1603 01:11:39,097 --> 01:11:40,020 >> Diváků: Změna. 1604 01:11:40,020 --> 01:11:42,840 >> BRIAN SCASSELLATI: I Chcete to změnit, je to tak? 1605 01:11:42,840 --> 01:11:46,588 Takže to, co mám tady, že to mění Pokaždé, když je smyčka prochází? 1606 01:11:46,588 --> 01:11:48,242 >> Diváků: Počet bodů, j. 1607 01:11:48,242 --> 01:11:49,950 BRIAN SCASSELLATI: j, počet bodů. 1608 01:11:49,950 --> 01:11:54,782 Tak jsem se to může změnit, že j. 1609 01:11:54,782 --> 01:11:59,190 Při prvním prostřednictvím smyčky, co je to bude? 1610 01:11:59,190 --> 01:12:01,700 Co mám nastavit j se na první? 1611 01:12:01,700 --> 01:12:02,420 >> Diváků: 0. 1612 01:12:02,420 --> 01:12:05,700 >> BRIAN SCASSELLATI: Tak kolik Časy mám dělat? 1613 01:12:05,700 --> 01:12:06,750 0. 1614 01:12:06,750 --> 01:12:11,750 Podruhé přes smyčku, j je bude 1, protože jsem ji zvyšovat. 1615 01:12:11,750 --> 01:12:14,180 Kolik bodů mám vytisknout? 1616 01:12:14,180 --> 01:12:15,100 1. 1617 01:12:15,100 --> 01:12:19,904 Potřetí přes smyčku, kolik bodů mám tisknout? 1618 01:12:19,904 --> 01:12:20,587 >> Hlediště: Tři. 1619 01:12:20,587 --> 01:12:22,170 BRIAN SCASSELLATI: j bude 3. 1620 01:12:22,170 --> 01:12:24,890 Kolik bodů mám vytisknout? 1621 01:12:24,890 --> 01:12:26,817 Oh, promiň, j to bude 2. 1622 01:12:26,817 --> 01:12:28,233 Kolik bodů mám vytisknout? 1623 01:12:28,233 --> 01:12:28,980 >> Publikum: 2. 1624 01:12:28,980 --> 01:12:29,855 >> BRIAN SCASSELLATI: 2. 1625 01:12:29,855 --> 01:12:32,460 OK, takže budu držet zvyšování, že jak jsme jít spolu. 1626 01:12:32,460 --> 01:12:33,460 Jak se o dole? 1627 01:12:33,460 --> 01:12:34,310 Co se děje tady dole? 1628 01:12:34,310 --> 01:12:38,080 Nechci 8 vždy na konci už? 1629 01:12:38,080 --> 01:12:39,269 >> SPEAKER 28: 10. 1630 01:12:39,269 --> 01:12:40,685 BRIAN SCASSELLATI: Chci 10 tečky? 1631 01:12:40,685 --> 01:12:43,440 1632 01:12:43,440 --> 01:12:44,620 Chci, aby to změnit, taky. 1633 01:12:44,620 --> 01:12:47,469 Tak jak to chci, aby to změnit? 1634 01:12:47,469 --> 01:12:49,167 >> Diváků: [Neslyšitelné]. 1635 01:12:49,167 --> 01:12:51,750 BRIAN SCASSELLATI: No, pokud já mají pět tečky na začátku, 1636 01:12:51,750 --> 01:12:53,293 Kolik bodů je získám na konci? 1637 01:12:53,293 --> 01:12:54,020 >> Diváků: Five. 1638 01:12:54,020 --> 01:12:55,630 >> BRIAN SCASSELLATI: Mám-li Šest tečky na začátku, 1639 01:12:55,630 --> 01:12:56,875 kolik se dostanu na konec? 1640 01:12:56,875 --> 01:12:57,500 Publikum: Čtyři. 1641 01:12:57,500 --> 01:12:58,950 BRIAN SCASSELLATI: Když jsem se dostal Sedm tečky na začátku, 1642 01:12:58,950 --> 01:13:00,204 kolik se dostanu na konec? 1643 01:13:00,204 --> 01:13:00,870 Hlediště: Tři. 1644 01:13:00,870 --> 01:13:03,161 BRIAN SCASSELLATI: Když jsem dostal j tečky na začátku, 1645 01:13:03,161 --> 01:13:04,790 kolik se dostanu na konec? 1646 01:13:04,790 --> 01:13:07,520 10-j. 1647 01:13:07,520 --> 01:13:08,650 DOBŘE. 1648 01:13:08,650 --> 01:13:10,390 Tak pojďme zkusit ven. 1649 01:13:10,390 --> 01:13:13,180 >> Takže jdu zachránit náš zajíček program. 1650 01:13:13,180 --> 01:13:16,270 Opět budeme oddálit. 1651 01:13:16,270 --> 01:13:19,090 Půjdeme dolů do našeho terminálu. 1652 01:13:19,090 --> 01:13:20,180 Budeme je vymazat. 1653 01:13:20,180 --> 01:13:23,410 A přiblížit. 1654 01:13:23,410 --> 01:13:26,410 Uděláme náš zajíček program znovu. 1655 01:13:26,410 --> 01:13:27,690 A my ji provést. 1656 01:13:27,690 --> 01:13:30,462 1657 01:13:30,462 --> 01:13:32,090 Uh-oh. 1658 01:13:32,090 --> 01:13:34,580 >> Vydrž, pojďme oddálit. 1659 01:13:34,580 --> 01:13:36,860 Řekl jsem si 10 snímků? 1660 01:13:36,860 --> 01:13:38,970 No, kolik zajíčci nevidím tam nahoře? 1661 01:13:38,970 --> 01:13:43,330 1, 2, 3, 4, 5, 6, 7, 8, 9, 10. 1662 01:13:43,330 --> 01:13:44,820 Dostal jsem 10 snímků. 1663 01:13:44,820 --> 01:13:46,375 Jsou všechny stejné? 1664 01:13:46,375 --> 01:13:47,000 Diváků: Jo. 1665 01:13:47,000 --> 01:13:48,740 Ne. 1666 01:13:48,740 --> 01:13:50,000 >> BRIAN SCASSELLATI: Ne. 1667 01:13:50,000 --> 01:13:55,050 Že první, kdo je zajíček je daleko na levé straně. 1668 01:13:55,050 --> 01:13:57,541 A tady, králíček je daleko na 1669 01:13:57,541 --> 01:13:58,290 SPEAKER 29: Správně. 1670 01:13:58,290 --> 01:14:00,502 BRIAN SCASSELLATI: Takže, co jsem zapomněl udělat? 1671 01:14:00,502 --> 01:14:01,750 SPEAKER 30: Spuštění nového řádku. 1672 01:14:01,750 --> 01:14:04,041 BRIAN SCASSELLATI: Zapomněl jsem začít nový řádek, znovu. 1673 01:14:04,041 --> 01:14:05,270 Stejná chyba, kterou udělal předtím. 1674 01:14:05,270 --> 01:14:07,120 Dobře, pojďme napravit. 1675 01:14:07,120 --> 01:14:11,690 Teď jsem pořád kód tam, aby se nový řádek. 1676 01:14:11,690 --> 01:14:13,899 Jak to, že to funguje? 1677 01:14:13,899 --> 01:14:15,440 SPEAKER 31: Není to uvnitř smyčky. 1678 01:14:15,440 --> 01:14:17,710 BRIAN SCASSELLATI: Oh, není to uvnitř smyčky. 1679 01:14:17,710 --> 01:14:18,520 To je pravda. 1680 01:14:18,520 --> 01:14:20,150 Je to tu sedí venku. 1681 01:14:20,150 --> 01:14:23,470 1682 01:14:23,470 --> 01:14:29,050 A pro smyčky je všechno že je uvnitř tohoto textu. 1683 01:14:29,050 --> 01:14:35,500 >> Takže budu pohybovat to uvnitř smyčky for. 1684 01:14:35,500 --> 01:14:39,410 A já budu kartu před ním na ukazují, že je na správném místě. 1685 01:14:39,410 --> 01:14:42,020 A teď, budeme jej uložit znovu. 1686 01:14:42,020 --> 01:14:44,350 Budeme oddálit. 1687 01:14:44,350 --> 01:14:45,770 Budeme přejít na naší terminálu. 1688 01:14:45,770 --> 01:14:48,330 1689 01:14:48,330 --> 01:14:50,360 Přiblížit. 1690 01:14:50,360 --> 01:14:54,050 Budeme předělat náš zajíček program. 1691 01:14:54,050 --> 01:14:59,070 A teď, teď máme naše 10 snímků. 1692 01:14:59,070 --> 01:15:00,190 >> [Tleskání] 1693 01:15:00,190 --> 01:15:02,120 >> BRIAN SCASSELLATI: OK. 1694 01:15:02,120 --> 01:15:04,080 Tak. 1695 01:15:04,080 --> 01:15:08,370 Tady je náš vnořené smyčky. 1696 01:15:08,370 --> 01:15:13,140 Byli jsme schopni generovat v vnitřní smyčky, kolik bodů jsem chtěl 1697 01:15:13,140 --> 01:15:15,320 pro tisk na začátku, na konci. 1698 01:15:15,320 --> 01:15:21,570 A vnější smyčka řízené kolik snímků jsem stavěl. 1699 01:15:21,570 --> 01:15:26,340 Začali jsme s jedním malým jádro problému, 1700 01:15:26,340 --> 01:15:30,320 a postavili jsme se od tohoto bodu. 1701 01:15:30,320 --> 01:15:30,820 Dobře. 1702 01:15:30,820 --> 01:15:33,500 >> Pojďme udělat ještě jeden krok. 1703 01:15:33,500 --> 01:15:35,040 Jste připraveni? 1704 01:15:35,040 --> 01:15:38,800 Je tu ještě jedna věc, tady, kde jsme vlastně trochu dostal 1705 01:15:38,800 --> 01:15:42,180 více složitosti, než potřebujeme. 1706 01:15:42,180 --> 01:15:44,700 Pojďme se podívat. 1707 01:15:44,700 --> 01:15:52,050 Takže náš zajíček programu, kdybych oddálit tady, 1708 01:15:52,050 --> 01:15:54,980 Já vlastně dělat některé totéž věc znovu a znovu. 1709 01:15:54,980 --> 01:15:59,032 Co mám dělat, že je to druh to samé opakuje dvakrát? 1710 01:15:59,032 --> 01:16:00,310 >> SPEAKER 32: Tisk tečky. 1711 01:16:00,310 --> 01:16:03,526 >> BRIAN SCASSELLATI: Jo Tisknout ty tečky dvakrát. 1712 01:16:03,526 --> 01:16:05,710 Opravdu, měl bych mít Tento komentář tady dole. 1713 01:16:05,710 --> 01:16:09,037 Tisknout nějaké tečky u začátek, a to až sem. 1714 01:16:09,037 --> 01:16:10,620 A pak jsem vytisknout nějaké tečky na konci. 1715 01:16:10,620 --> 01:16:14,694 A já trochu přesně totéž. 1716 01:16:14,694 --> 01:16:17,110 Co budeme začít pracuje na v příštích několika týdnech 1717 01:16:17,110 --> 01:16:23,440 je schopen, aby tyto bloky kód, který budeme používat znovu a znovu, 1718 01:16:23,440 --> 01:16:25,800 a prostřednictvím procesu volal abstrakce, 1719 01:16:25,800 --> 01:16:31,100 budeme tahat ven a napište je jednou tak, že se pak můžeme 1720 01:16:31,100 --> 01:16:35,130 znovu použít znovu a znovu. 1721 01:16:35,130 --> 01:16:37,210 Takže pojďme to zkusit. 1722 01:16:37,210 --> 01:16:38,220 Připraveni? 1723 01:16:38,220 --> 01:16:42,200 >> Chystáme se tento blok kódu. 1724 01:16:42,200 --> 01:16:45,280 A já vezmu ji odtamtud. 1725 01:16:45,280 --> 01:16:50,530 A já jdu na define-- se na dně, 1726 01:16:50,530 --> 01:16:53,130 Chystám se napsat novou funkci. 1727 01:16:53,130 --> 01:16:54,750 Nebude to k návratu nic. 1728 01:16:54,750 --> 01:16:58,550 A já budu říkat printDots. 1729 01:16:58,550 --> 01:17:01,530 >> Bude to trvat jeden Argument, celé číslo, které 1730 01:17:01,530 --> 01:17:04,920 říká, že bych měl howManyDots tisku. 1731 01:17:04,920 --> 01:17:09,310 1732 01:17:09,310 --> 01:17:17,720 A teď místo tisku j tečky, budu tisknout říct howManyDots mám tisku. 1733 01:17:17,720 --> 01:17:21,581 >> A je tu jeden malý problém. 1734 01:17:21,581 --> 01:17:22,580 Ví někdo, co to je? 1735 01:17:22,580 --> 01:17:27,270 1736 01:17:27,270 --> 01:17:31,505 Co mám, že je uvedena tady, že to není definováno? 1737 01:17:31,505 --> 01:17:34,165 1738 01:17:34,165 --> 01:17:35,090 >> Diváků: [Neslyšitelné] 1739 01:17:35,090 --> 01:17:37,465 >> BRIAN SCASSELLATI: No, jak počet bodů je definována až 1740 01:17:37,465 --> 01:17:40,584 tady, ale já jsem s použitím této proměnné i. 1741 01:17:40,584 --> 01:17:43,750 Takže já vezmu ten proměnnou i a budu definovat ji zde 1742 01:17:43,750 --> 01:17:44,610 místo toho. 1743 01:17:44,610 --> 01:17:49,683 >> Tak teď to bude stay-- oops, dostal Caps Lock na somehow-- Jsem 1744 01:17:49,683 --> 01:17:52,060 bude držet jsem se tady. 1745 01:17:52,060 --> 01:17:57,050 >> Takže teď tady je můj malý funkce nebo podprogramu, a říká, 1746 01:17:57,050 --> 01:18:00,640 kolik bodů mám tisknout? 1747 01:18:00,640 --> 01:18:05,300 A bude to jít přes tuto smyčku a vytisknout znovu a znovu. 1748 01:18:05,300 --> 01:18:10,940 >> Pak jsem si pozměnit svůj program až sem. 1749 01:18:10,940 --> 01:18:12,540 A co já říkám, že funkce? 1750 01:18:12,540 --> 01:18:13,960 printDots. 1751 01:18:13,960 --> 01:18:17,060 Takže já zavolám printDots. 1752 01:18:17,060 --> 01:18:21,530 Kolik bodů dělat Chci vytisknout poprvé před zajíček? 1753 01:18:21,530 --> 01:18:22,030 Diváků: j. 1754 01:18:22,030 --> 01:18:23,230 BRIAN SCASSELLATI: j. 1755 01:18:23,230 --> 01:18:27,110 Kolik bodů dělat Chci vytisknout Na konci, po zajíček? 1756 01:18:27,110 --> 01:18:30,610 1757 01:18:30,610 --> 01:18:31,110 10-j. 1758 01:18:31,110 --> 01:18:35,020 1759 01:18:35,020 --> 01:18:38,010 >> A je tu ještě jedna věc, kterou mi chybí. 1760 01:18:38,010 --> 01:18:43,740 Jak jste dnes viděli v přednášce, budeme deklarovat printDots 1761 01:18:43,740 --> 01:18:52,430 nahoře dát prototyp. 1762 01:18:52,430 --> 01:18:56,740 1763 01:18:56,740 --> 01:18:58,220 DOBŘE. 1764 01:18:58,220 --> 01:19:03,530 >> Takže to, co jsem udělal je, že jsem se snažil izolovat, aby znovu použít část kódu 1765 01:19:03,530 --> 01:19:06,430 že jsem udělal znovu a znovu. 1766 01:19:06,430 --> 01:19:11,120 A já jsem se snažil vytáhnout ho ven tak, že to vše je obsaženo v jednom místě. 1767 01:19:11,120 --> 01:19:16,810 Tak, když mám někde chybu, Musím opravit na jednom místě pouze. 1768 01:19:16,810 --> 01:19:17,310 Dobře. 1769 01:19:17,310 --> 01:19:18,470 >> Takže pojďme zachránit. 1770 01:19:18,470 --> 01:19:20,950 A pojďme se ujistili, že funguje. 1771 01:19:20,950 --> 01:19:22,050 Tak pojďme ven. 1772 01:19:22,050 --> 01:19:25,200 Půjdeme opět na naši terminálu. 1773 01:19:25,200 --> 01:19:27,960 Budeme přiblížit. 1774 01:19:27,960 --> 01:19:31,010 Budeme dělat, že zajíček proces. 1775 01:19:31,010 --> 01:19:32,380 >> Aha. 1776 01:19:32,380 --> 01:19:34,800 A to mi dal varování. 1777 01:19:34,800 --> 01:19:37,070 Co je to mi říkal? 1778 01:19:37,070 --> 01:19:39,870 No v některé z těchto časy, chcete vždy 1779 01:19:39,870 --> 01:19:44,170 přejděte do úplně první error-- Nyní na tento jeden, já jsem dostal jen jeden. 1780 01:19:44,170 --> 01:19:52,700 >> To mi říká, že v bunny.c, on line 8, sloupec 9, je tu problém. 1781 01:19:52,700 --> 01:19:58,650 To říká, že jste prohlásil, toto proměnná i, a vy jej nevyužili. 1782 01:19:58,650 --> 01:20:02,230 >> Teď normálně, to je není to nejhorší chyba. 1783 01:20:02,230 --> 01:20:04,300 To je snadný opravit. 1784 01:20:04,300 --> 01:20:07,550 A ve skutečnosti, můžeme jít zpátky. 1785 01:20:07,550 --> 01:20:09,910 Můžeme se vrátit k bunny. 1786 01:20:09,910 --> 01:20:13,010 A v tomto případě, vše, co musíte udělat, je zbavit se i, 1787 01:20:13,010 --> 01:20:16,630 proto, že jsme nepoužíváte i uvnitř hlavní ještě. 1788 01:20:16,630 --> 01:20:19,860 Jsme prostě používat v rámci našeho sub-rutiny. 1789 01:20:19,860 --> 01:20:22,777 >> Takže pojďme zachránit to. 1790 01:20:22,777 --> 01:20:23,360 Půjdeme zpátky. 1791 01:20:23,360 --> 01:20:26,760 1792 01:20:26,760 --> 01:20:28,630 A přiblížit. 1793 01:20:28,630 --> 01:20:30,700 Budeme ještě jednou, aby zajíček. 1794 01:20:30,700 --> 01:20:33,810 1795 01:20:33,810 --> 01:20:36,530 A opět jsou naši 10 snímků. 1796 01:20:36,530 --> 01:20:39,450 1797 01:20:39,450 --> 01:20:41,360 DOBŘE. 1798 01:20:41,360 --> 01:20:43,190 >> Kdykoliv jste dal procedure-- Jo. 1799 01:20:43,190 --> 01:20:44,690 SPEAKER 33: Mám je-- jsem zmatená. 1800 01:20:44,690 --> 01:20:45,892 Můžete se vrátit zpět ke kódu? 1801 01:20:45,892 --> 01:20:46,850 BRIAN SCASSELLATI: Jo. 1802 01:20:46,850 --> 01:20:50,730 1803 01:20:50,730 --> 01:20:54,367 >> SPEAKER 33: Takže, když jsi psal Váš prototyp, argument vám 1804 01:20:54,367 --> 01:20:56,550 kdyby se jmenoval bylo voláno howMany? 1805 01:20:56,550 --> 01:20:57,540 Ale below-- 1806 01:20:57,540 --> 01:20:57,640 >> BRIAN SCASSELLATI: Ach jo. 1807 01:20:57,640 --> 01:20:59,140 >> SPEAKER 33: --called jim něco jiný, já to nechápu. 1808 01:20:59,140 --> 01:21:00,240 >> BRIAN SCASSELLATI: Proč oni jsou různé. 1809 01:21:00,240 --> 01:21:01,780 Tak to je velká otázka. 1810 01:21:01,780 --> 01:21:08,250 Takže otázka byla, a to až tady, jsem napsal howMany, 1811 01:21:08,250 --> 01:21:12,380 a dole, jsem napsal howManyDots. 1812 01:21:12,380 --> 01:21:15,590 >> Důvodem je, že ve vašem prototypu, je to vlastně nedává pozor 1813 01:21:15,590 --> 01:21:17,090 na názvy, které jste uvedení v. 1814 01:21:17,090 --> 01:21:20,530 Vše, co to opravdu záleží je to, že je to celé číslo. 1815 01:21:20,530 --> 01:21:23,080 Chce znát formulář z toho, co jste uvedení v. 1816 01:21:23,080 --> 01:21:31,560 >> Nyní stylistically-- oops--, co bych měl to, je rád, aby se tyto zápas. 1817 01:21:31,560 --> 01:21:33,150 DOBŘE. 1818 01:21:33,150 --> 01:21:36,430 Vzhledem k tomu, že budu držet to pro mě snazší pamatovat. 1819 01:21:36,430 --> 01:21:38,390 Ale to byla moje chyba Jo. 1820 01:21:38,390 --> 01:21:47,620 >> SPEAKER 34: A tak pro prototyp do práce, jen 1821 01:21:47,620 --> 01:21:50,510 psaní, že linka, psaní prototyp, 1822 01:21:50,510 --> 01:21:53,932 umožňuje tuto funkci, která přichází přímo pod něj se dostanete na konec 1823 01:21:53,932 --> 01:21:55,140 a získat co to znamená? 1824 01:21:55,140 --> 01:21:58,480 >> BRIAN SCASSELLATI: Co to znamená je, když kompilátor prochází, 1825 01:21:58,480 --> 01:22:01,930 to jde od vrcholu kód ke dnu. 1826 01:22:01,930 --> 01:22:05,430 A co to je prototyp, Je to v podstatě slib. 1827 01:22:05,430 --> 01:22:09,570 >> Říká, že to bude funkce definovaná někde. 1828 01:22:09,570 --> 01:22:11,880 Bude to být nazýván printDots. 1829 01:22:11,880 --> 01:22:15,110 A to bude trvat jeden parametr že to bude celé číslo 1830 01:22:15,110 --> 01:22:18,590 a bude to vrátit nic, void typu. 1831 01:22:18,590 --> 01:22:19,310 DOBŘE. 1832 01:22:19,310 --> 01:22:22,950 Slibuji vám, že to bude někde definována dolů na silnici. 1833 01:22:22,950 --> 01:22:25,590 Ale kdykoliv vidíte že, jak jdete dolů 1834 01:22:25,590 --> 01:22:28,710 přes zbytek mého Hlavní funkce, chci 1835 01:22:28,710 --> 01:22:33,800 si k léčbě, že v závislosti že trvá jednu celočíselnou vstup. 1836 01:22:33,800 --> 01:22:37,970 >> A tak, když kompilátor jde dolů Tím, že vidí ten slib. 1837 01:22:37,970 --> 01:22:40,220 A když se dostane dolů, udržuje v chodu, běží dál, 1838 01:22:40,220 --> 01:22:43,060 nalezne poprvé printDots je zmíněn. 1839 01:22:43,060 --> 01:22:46,910 A říká, Oh, dáváte mi to j. j je celé číslo. 1840 01:22:46,910 --> 01:22:49,570 >> Dobře jste mi slíbil, že by být celé číslo, a to je pravda. 1841 01:22:49,570 --> 01:22:51,370 To je v pohodě. 1842 01:22:51,370 --> 01:22:53,880 A nakonec, dolů na samém dně, 1843 01:22:53,880 --> 01:22:58,340 než se dostanu do konce mého soubor, dělám dobře na můj slib 1844 01:22:58,340 --> 01:22:59,896 a já to definovat. 1845 01:22:59,896 --> 01:23:01,868 DOBŘE? 1846 01:23:01,868 --> 01:23:06,320 >> SPEAKER 35: Takže, to saves-- Program vám ušetří mezery 1847 01:23:06,320 --> 01:23:09,570 že se vrátí a vyplní na konci? 1848 01:23:09,570 --> 01:23:12,140 >> BRIAN SCASSELLATI: To není o přidělení paměti. 1849 01:23:12,140 --> 01:23:16,800 Je to vlastně jen o tom, co typ jste čekala, že uvidí. 1850 01:23:16,800 --> 01:23:19,340 Pokud by tato věc mít jeden Argument, nebo pět argumenty? 1851 01:23:19,340 --> 01:23:23,590 Pokud by si to celá čísla být vzhledem k tomu, nebo řetězce? 1852 01:23:23,590 --> 01:23:25,780 To je vše, co hledá udělat, je zkontrolovat, 1853 01:23:25,780 --> 01:23:29,303 se mi dávání správný druh argumentace. 1854 01:23:29,303 --> 01:23:31,560 DOBŘE? 1855 01:23:31,560 --> 01:23:32,300 Dobře. 1856 01:23:32,300 --> 01:23:38,570 >> Dovolte mi, abych vám odejít s jeden další bit na pohled. 1857 01:23:38,570 --> 01:23:44,850 ASCII art není velkým vzorem animace jako je tomu dnes. 1858 01:23:44,850 --> 01:23:50,850 Ale někteří lidé samozřejmě brát věci a tlačí ji svým extrémů. 1859 01:23:50,850 --> 01:23:56,790 >> Toto je, jak David prokázáno V přednášce, kus kódu 1860 01:23:56,790 --> 01:24:02,150 že byste měli za žádných okolností pokusit duplikovat sami. 1861 01:24:02,150 --> 01:24:05,260 Vzhledem k tomu, že je hrozné stylisticky. 1862 01:24:05,260 --> 01:24:11,180 Ve skutečnosti, že je navržen tak, aby jako těžké, jak je to možné číst. 1863 01:24:11,180 --> 01:24:11,680 DOBŘE. 1864 01:24:11,680 --> 01:24:16,210 >> Tak, aby udělat znovu, pojďme přiblížit zde. 1865 01:24:16,210 --> 01:24:20,120 Chystám se jít, změňte adresář. 1866 01:24:20,120 --> 01:24:24,050 Chystám se jít nahoru jeden level, zpátky do svého pracovního prostoru. 1867 01:24:24,050 --> 01:24:29,760 Budu změňte adresář, do této další adresář, který jsem vytvořil. 1868 01:24:29,760 --> 01:24:36,190 >> A to je Mezinárodní Zatemnil C Programming Contest. 1869 01:24:36,190 --> 01:24:40,650 Zatemnil prostředky tak těžké jak je možné pochopit. 1870 01:24:40,650 --> 01:24:44,150 Takže prosím, nemusíte se bát, když se podíváte na to a jít, nemůžu číst, že. 1871 01:24:44,150 --> 01:24:46,350 To je smysl toho. 1872 01:24:46,350 --> 01:24:47,700 DOBŘE? 1873 01:24:47,700 --> 01:24:52,770 >> Ale máme to úžasný program, že jsem 1874 01:24:52,770 --> 01:24:57,180 jít se podívat na pouhým zadáním více. 1875 01:24:57,180 --> 01:25:01,890 A uvidíme, jestli můžu oddálit jen trochu, takže můžete vidět 1876 01:25:01,890 --> 01:25:03,940 >> A to je program. 1877 01:25:03,940 --> 01:25:08,080 To je pojmenované endo.c. 1878 01:25:08,080 --> 01:25:14,850 A vypadá to, že tento kbelík s druh písmeny F-L-U-I-D v něm. 1879 01:25:14,850 --> 01:25:16,440 >> Jedná se vlastně o program. 1880 01:25:16,440 --> 01:25:20,260 Je napsán v nejtemnější tak, že autoři by případně mohlo být 1881 01:25:20,260 --> 01:25:21,760 napiš to. 1882 01:25:21,760 --> 01:25:29,210 Ale je to nádherný kousek, který generuje model dynamiky kapalin. 1883 01:25:29,210 --> 01:25:34,870 >> A tak jdeme dát tento model vstup, který 1884 01:25:34,870 --> 01:25:42,520 vypadá to, ze staired set kontejnerů 1885 01:25:42,520 --> 01:25:45,820 s nějakou tekutinou, některé kapalina, a to až v horní části. 1886 01:25:45,820 --> 01:25:48,790 A budeme si to simulovat co se děje s ním. 1887 01:25:48,790 --> 01:25:52,415 >> Takže budu volat tuto funkci, endo. 1888 01:25:52,415 --> 01:25:59,000 A já ti dám to, že vstupní soubor, který jsem měl. 1889 01:25:59,000 --> 01:26:02,830 A tam je náš ztělesněním ASCII art. 1890 01:26:02,830 --> 01:26:08,960 Kompletní tekutina dynamický simulátor běží v několika málo řádků kódu. 1891 01:26:08,960 --> 01:26:13,750 >> Teď, co je vlastně opravdu úžasné o tomto malém programu 1892 01:26:13,750 --> 01:26:17,280 je, že chci, aby to teď zastavit, takže budu používat Jaký příkaz? 1893 01:26:17,280 --> 01:26:18,660 >> Diváků: Control-C. 1894 01:26:18,660 --> 01:26:20,390 >> BRIAN SCASSELLATI: Control-C. DOBŘE. 1895 01:26:20,390 --> 01:26:22,960 Takže budu používat Control-C. C To je to zastavit. 1896 01:26:22,960 --> 01:26:25,330 Budu vyčistit znovu. 1897 01:26:25,330 --> 01:26:31,210 A teď budu vyvolat Program, spustit program, 1898 01:26:31,210 --> 01:26:33,740 použití se jako vstup. 1899 01:26:33,740 --> 01:26:36,760 1900 01:26:36,760 --> 01:26:42,700 >> A uvidíme tekutiny dynamiku simulace to tavení. 1901 01:26:42,700 --> 01:26:43,830 DOBŘE. 1902 01:26:43,830 --> 01:26:48,180 Prosím, nenechte tento program být věc, která vás plete. 1903 01:26:48,180 --> 01:26:52,220 Je to tak, že můžeme skončit na něco cool a zajímavé. 1904 01:26:52,220 --> 01:26:53,930 DOBŘE. 1905 01:26:53,930 --> 01:26:56,330 >> Hodně štěstí se svými problémovými sad. 1906 01:26:56,330 --> 01:26:59,030 Budeme rádi zodpovíme Otázky po třídě. 1907 01:26:59,030 --> 01:27:01,180 Díky moc, kluci. 1908 01:27:01,180 --> 01:27:02,793