1 00:00:00,000 --> 00:00:05,830 2 00:00:05,830 --> 00:00:08,650 >> JASON Hirschhorn: Vítejte CS50 sekce, všichni. 3 00:00:08,650 --> 00:00:11,430 Mé jméno je Jason Hirschhorn. 4 00:00:11,430 --> 00:00:15,850 Jsem hodně z vás TFs, ale hodně lidé budou snad se k nám 5 00:00:15,850 --> 00:00:20,420 on-line, prodlužovací studenty nebo studenti Snaží se hledat přes část, pokud 6 00:00:20,420 --> 00:00:22,830 minuly část, která se týden nebo jen dohnat, pokud chtějí 7 00:00:22,830 --> 00:00:24,510 přezkoumat nějaký materiál. 8 00:00:24,510 --> 00:00:30,060 >> Takže podle učebních osnov, které všechny ze jste si přečetli, že? 9 00:00:30,060 --> 00:00:31,390 Vidím spoustu hlavy přikývne. 10 00:00:31,390 --> 00:00:34,220 Sekce vám poskytnou příležitosti prozkoumat průběh je 11 00:00:34,220 --> 00:00:37,420 materiál ve více intimní prostředí, stejně jako ponořit se do 12 00:00:37,420 --> 00:00:38,810 praktické činnosti. 13 00:00:38,810 --> 00:00:41,230 >> Takže to je v podstatě to, co jsme bude dělat každý týden. 14 00:00:41,230 --> 00:00:45,090 Chystáme se projít, co máme stanovena na nejdůležitější 15 00:00:45,090 --> 00:00:49,170 Témata v přednášce, a ty, pravděpodobně také nejužitečnější a 16 00:00:49,170 --> 00:00:52,780 s největší pravděpodobností přijít na problémové sady a kvízy, a vaše kódování 17 00:00:52,780 --> 00:00:53,970 život mimo CS50. 18 00:00:53,970 --> 00:00:57,260 Takže jsme jít do těchto tématech, diskutovat o nich, jít přes ně, 19 00:00:57,260 --> 00:01:00,660 odpovědět na všechny otázky, které lidi mají, a pak budeme dělat spoustu 20 00:01:00,660 --> 00:01:02,250 problémy praxe kódování. 21 00:01:02,250 --> 00:01:04,239 >> Vy všichni přinesli notebooky, což je fantastické. 22 00:01:04,239 --> 00:01:05,710 To je počítačová věda třídy. 23 00:01:05,710 --> 00:01:10,070 Nicméně, mnoho cvičení, které děláme, nebudete potřebovat vaše notebooky. 24 00:01:10,070 --> 00:01:11,720 Můžete to udělat je na list papíru. 25 00:01:11,720 --> 00:01:13,580 To je, jak budete to je na kvízy. 26 00:01:13,580 --> 00:01:16,450 A skutečně, je to skvělý způsob, jak Opravdu vím, že, jak to udělat 27 00:01:16,450 --> 00:01:19,720 něco, pokud nemáte Podívejte se na 50 spoléhají na nebo Vytvořit spoléhat na, říkat 28 00:01:19,720 --> 00:01:20,620 jste udělali nějaké chyby. 29 00:01:20,620 --> 00:01:25,670 >> Takže jste vítáni kódu na zařízení nebo run.cs50.net, který je 30 00:01:25,670 --> 00:01:29,770 Dalším nástrojem, který umožňuje kódovat on-line, ale také bych doporučit, pokud 31 00:01:29,770 --> 00:01:32,280 jste to zkusil, za použití listu papíru a snaží tyto praktiky 32 00:01:32,280 --> 00:01:33,640 problémy na list papíru. 33 00:01:33,640 --> 00:01:35,330 Vzhledem k tomu znovu, to je nakonec co budeš 34 00:01:35,330 --> 00:01:37,430 požádán, aby na kvízy. 35 00:01:37,430 --> 00:01:44,080 >> Takže začněme s našimi agenda pro dnešek. 36 00:01:44,080 --> 00:01:47,710 Chystáme se jít přes některé normy pro Naše sekce, pak budeme potápět 37 00:01:47,710 --> 00:01:51,180 do pole, funkce a příkazového řádku argumenty, což je to, co vy 38 00:01:51,180 --> 00:01:56,200 se vztahuje minulý týden v přednášce a pak pondělí a to, co budete krýt 39 00:01:56,200 --> 00:01:57,330 více zítra. 40 00:01:57,330 --> 00:01:59,060 A nakonec, budeme mluvit o pset2. 41 00:01:59,060 --> 00:02:03,640 Pokud bych mohl dostat zvednutím ruky, pokud jsem se podíval na problém nastavit dva 42 00:02:03,640 --> 00:02:04,890 specifikace. 43 00:02:04,890 --> 00:02:07,060 44 00:02:07,060 --> 00:02:08,120 Řekneme, že každého. 45 00:02:08,120 --> 00:02:09,419 Fantastic. 46 00:02:09,419 --> 00:02:12,070 >> Probereme základní problémové okruhy ve chvíli, ale když si přečtete problém sadu 47 00:02:12,070 --> 00:02:14,340 specifikace, to je vše, co musíte udělat. 48 00:02:14,340 --> 00:02:18,370 Pokud budete číst, že předtím, než jste přišel do třídy a část v úterý, budete 49 00:02:18,370 --> 00:02:19,220 být skvělý pozici. 50 00:02:19,220 --> 00:02:21,680 Můžeme projít problém set, což je to, co budeme 51 00:02:21,680 --> 00:02:22,090 k tomu na konci. 52 00:02:22,090 --> 00:02:23,500 Chystáme se projít logika, ujistěte se, že 53 00:02:23,500 --> 00:02:24,710 všichni jsou na stejné stránce. 54 00:02:24,710 --> 00:02:28,650 >> Chci, abys byl schopen opustit úterý cítit velmi pohodlně s tím, co 55 00:02:28,650 --> 00:02:31,560 je třeba udělat pro tento týden problému set, a pokud ne, budu šťastně 56 00:02:31,560 --> 00:02:33,050 zůstat po a pracovat s vámi. 57 00:02:33,050 --> 00:02:36,850 Ale to je jedna věc, kterou musíte dělat, ale myslím, že by bylo opravdu chytrý, 58 00:02:36,850 --> 00:02:40,500 jen proto, aby si problém sadu Specifikace podle tříd v úterý, 59 00:02:40,500 --> 00:02:42,640 které zní jako Spousta z vás udělal. 60 00:02:42,640 --> 00:02:45,810 >> Začnu s programem, každá třída takže víte, kam jedeme. 61 00:02:45,810 --> 00:02:49,520 To je také užitečné pro lidi sledují online, protože každá část 62 00:02:49,520 --> 00:02:53,540 je barevně odlišeny, takže pokud chcete, aby se zpět a jen dívat 10 minut spíše 63 00:02:53,540 --> 00:02:56,950 než celé 90-minutové části je stačí jít na barevné kódované části 64 00:02:56,950 --> 00:02:57,890 a podívat se na tuto část. 65 00:02:57,890 --> 00:03:01,510 Tak jsem se snažil rozehnat do pěkné moduly, které vám umožní - 66 00:03:01,510 --> 00:03:03,960 Chcete-li se vrátit a zkontrolovat, nebo ostatní studenti, kteří jsou právě 67 00:03:03,960 --> 00:03:05,350 sledování sekci Recenze - 68 00:03:05,350 --> 00:03:08,130 najít konkrétní věc, kterou chcete věnovat pozornost 69 00:03:08,130 --> 00:03:10,480 a dozvědět se více o. 70 00:03:10,480 --> 00:03:11,390 Sladký. 71 00:03:11,390 --> 00:03:12,180 >> Normy. 72 00:03:12,180 --> 00:03:13,680 Jsem vedoucí FOP na akademické půdě. 73 00:03:13,680 --> 00:03:14,900 Nevím, jestli někdo udělal FOP. 74 00:03:14,900 --> 00:03:16,280 Věděli někdo dělat FOP? 75 00:03:16,280 --> 00:03:17,100 Jeden člověk udělal FOP. 76 00:03:17,100 --> 00:03:18,430 Dva lidé dělali FOP. 77 00:03:18,430 --> 00:03:19,250 Skvělé. 78 00:03:19,250 --> 00:03:22,360 Takže FOP je první rok Outdoor Orientační program. 79 00:03:22,360 --> 00:03:27,240 Bereme prváky do lesa a aby nejkouzelnější zkušeností 80 00:03:27,240 --> 00:03:28,830 jejich životy, že? 81 00:03:28,830 --> 00:03:29,220 Jo. 82 00:03:29,220 --> 00:03:30,080 Zní to akorát. 83 00:03:30,080 --> 00:03:36,360 >> Tak jsem chtěl začít naše první sekce diskutovat o některé normy 84 00:03:36,360 --> 00:03:38,860 pro tuto třídu a náš vztah protože si myslím, 85 00:03:38,860 --> 00:03:40,010 jsou velmi důležité. 86 00:03:40,010 --> 00:03:43,630 Za prvé a především, jako ti z vás, kteří jsou moje část obdrželi a 87 00:03:43,630 --> 00:03:47,150 je v něm popsána e-mail, miluju to. 88 00:03:47,150 --> 00:03:48,130 Tohle je moje oblíbená část roku. 89 00:03:48,130 --> 00:03:49,100 Byla jsem tak nadšená. 90 00:03:49,100 --> 00:03:50,040 Byl jsem zde dnes několik hodin. 91 00:03:50,040 --> 00:03:54,560 Jsem neopustil tuto budovu kromě jít jíst, protože mám rád CS50 sekci I 92 00:03:54,560 --> 00:03:58,620 rád učení, miluji práci s vámi. 93 00:03:58,620 --> 00:04:02,000 >> Jednou z mých priorit, ne-li můj prioritou číslo jedna, a to nejen pro 94 00:04:02,000 --> 00:04:05,130 Tato třída zahrnuje ale můj druhý třídy a extracurriculars, je 95 00:04:05,130 --> 00:04:09,350 podporovat lidi, a pomůže vám kluci, a v mých silách, aby se ujistil, že vám 96 00:04:09,350 --> 00:04:13,780 kluci mají skvělý, zábavný, produktivní, poutavé, vzrušující 97 00:04:13,780 --> 00:04:15,250 zkušenosti v této třídě. 98 00:04:15,250 --> 00:04:16,190 To je to, co jsem odhodlán. 99 00:04:16,190 --> 00:04:17,959 To je důvod, proč jsem rád, jak to udělat. 100 00:04:17,959 --> 00:04:20,190 To je moje číslo jedna věc, podporu, kluci. 101 00:04:20,190 --> 00:04:25,110 Máte-li nějaké dotazy týkající se přednášky, Problém set, část, 102 00:04:25,110 --> 00:04:28,830 život, i když se mnou chceš mluvit o život, neváhejte oslovit. 103 00:04:28,830 --> 00:04:31,210 >> Máš moje číslo mobilního telefonu, Máte můj e-mail 104 00:04:31,210 --> 00:04:32,910 adresu, máte mé GChat. 105 00:04:32,910 --> 00:04:37,540 Můžete mne kontaktovat na některé nebo všechny ti kdykoli, ale pravděpodobně nebude mít 106 00:04:37,540 --> 00:04:38,720 reakci, kdykoliv. 107 00:04:38,720 --> 00:04:41,020 Snažím se dostat zpět do 24 hodin. 108 00:04:41,020 --> 00:04:44,760 Často to bude v rámci 20 minut nebo 24 minut. 109 00:04:44,760 --> 00:04:46,110 Měla jsem řekl, že , aby bylo rovnoběžné. 110 00:04:46,110 --> 00:04:48,840 Ale dostanete odpověď docela rychle. 111 00:04:48,840 --> 00:04:54,220 >> Pokud text mi hodinu před Problém sada je díky, budu uklidnit 112 00:04:54,220 --> 00:04:57,660 dolů a dělat hluboké dechová cvičení s vámi, ale pokud jste ještě nezačali, 113 00:04:57,660 --> 00:05:00,270 budete pravděpodobně nebude až do konce, a Nemůžu pomoct tam 114 00:05:00,270 --> 00:05:01,710 i když se budu snažit co nejlépe. 115 00:05:01,710 --> 00:05:03,920 Tak jsem se dělat všechno Mohu vás podpořit. 116 00:05:03,920 --> 00:05:07,980 Prosím, neváhejte oslovit, zda je to v části opět v úředních hodinách 117 00:05:07,980 --> 00:05:09,150 pokud jste mě vidět, nebo dokonce venku. 118 00:05:09,150 --> 00:05:11,800 Jsem rád, nastavit čas na setkání a působí prostřednictvím problémů 119 00:05:11,800 --> 00:05:14,410 s nebo jít přes materiál. 120 00:05:14,410 --> 00:05:15,990 Takže to je číslo jedna, podpora. 121 00:05:15,990 --> 00:05:17,940 Udělám všechno, co jsem mohou, aby ho podpořili. 122 00:05:17,940 --> 00:05:21,520 >> Číslo dvě, setkání ve středu. 123 00:05:21,520 --> 00:05:24,760 Stejně jako bych chtěl být, jsem není všemocný a všemohoucí, nebo 124 00:05:24,760 --> 00:05:28,410 vševědoucí, takže nevím všechny Doba jestli to, co dělám, je stále 125 00:05:28,410 --> 00:05:33,410 napříč, v případě, že způsob, jak učím téma vám pomůže naučit se to, nebo pokud si 126 00:05:33,410 --> 00:05:36,120 jsou zmateni na téma, ale ne zvedněte ruku a zeptejte se mě 127 00:05:36,120 --> 00:05:37,390 nebo mi pošlete e-mail. 128 00:05:37,390 --> 00:05:42,150 Nebo i když jste znovu, jsou zmateni o něčem, co na problém televizoru. 129 00:05:42,150 --> 00:05:44,240 Pokud nechcete dostat ke mně, Nemohu vědět, že určitě. 130 00:05:44,240 --> 00:05:46,950 Budu dělat moje nejlepší zkontrolovat na vy, ujistěte se, že je vše 131 00:05:46,950 --> 00:05:51,170 to dobře, pokuste se naučit věci takovým způsobem, , který bude napomáhat k většině 132 00:05:51,170 --> 00:05:54,910 vaše styly učení, ale pokud existuje Mohu něco udělat, dejte mi vědět. 133 00:05:54,910 --> 00:05:58,520 >> Podél těchto linek, pokud chcete nějakou pomoc s problémem set, jsem víc 134 00:05:58,520 --> 00:05:59,700 než rádi pomohou se problémů k. 135 00:05:59,700 --> 00:06:02,300 Chystáme se udělat hodně , že k druhému 136 00:06:02,300 --> 00:06:03,460 polovina tohoto oddílu. 137 00:06:03,460 --> 00:06:06,040 Ale pokud jste nečetli problém sady zálohování a nebyly sledoval procházku 138 00:06:06,040 --> 00:06:09,310 díky a ještě sledoval, kraťasy a očekávají, abych vás naučí, 139 00:06:09,310 --> 00:06:13,260 vše, co bylo nahrával on-line nebo které můžete najít na CS50 140 00:06:13,260 --> 00:06:16,720 studie, ve skutečnosti to není fér mi nebo vaše další kolegy. 141 00:06:16,720 --> 00:06:20,440 142 00:06:20,440 --> 00:06:25,730 >> Takže, prosím, že jsem více než rádi pomohou vy, ale vy tu se mnou setkat v 143 00:06:25,730 --> 00:06:27,230 prostřední. 144 00:06:27,230 --> 00:06:30,100 Máme spoustu zdrojů na vám k dispozici CS50. 145 00:06:30,100 --> 00:06:31,230 Jsem se zmínil některé z nich. 146 00:06:31,230 --> 00:06:32,960 Prosím, využít z nich. 147 00:06:32,960 --> 00:06:35,140 Pokud jste zmateni, že jsem více než šťastný které vám pomohou vysvětlit jim 148 00:06:35,140 --> 00:06:39,290 jiný způsob, ale není to fér, pokud Studenti ukáže v úředních hodinách, 149 00:06:39,290 --> 00:06:42,530 nezačali nic, a to je Ve čtvrtek v noci a oni očekávají 150 00:06:42,530 --> 00:06:45,880 TF projít skrze každý věc za problém nastaven z důvodu 151 00:06:45,880 --> 00:06:47,140 V poledne následujícího dne. 152 00:06:47,140 --> 00:06:48,300 Smysl? 153 00:06:48,300 --> 00:06:50,890 Opět, prosím, s námi setkat ve středu. 154 00:06:50,890 --> 00:06:53,230 >> A konečně, vysoká očekávání. 155 00:06:53,230 --> 00:06:58,010 Budu se třídění každý, kdo je v mém oddíle, nebo zaznamenávat vaše 156 00:06:58,010 --> 00:06:59,020 základní problémové okruhy. 157 00:06:59,020 --> 00:07:01,240 Jste se vrátili problém nastavit nulu nebo ještě jeden. 158 00:07:01,240 --> 00:07:02,250 Jsme líto. 159 00:07:02,250 --> 00:07:04,970 Trvalo nám nějakou dobu, aby konečně usadit sekce a nyní 160 00:07:04,970 --> 00:07:05,560 můžeme začít třídění. 161 00:07:05,560 --> 00:07:09,560 >> Dostanu zpátky k vám co nejdříve. 162 00:07:09,560 --> 00:07:11,890 To jsou některé z mých advisees venku. 163 00:07:11,890 --> 00:07:14,150 Dostanu zpátky k vám co nejdříve. 164 00:07:14,150 --> 00:07:18,046 A problém nastavit dva, budeme na plánovat a začneme dostat je 165 00:07:18,046 --> 00:07:20,440 pro vás velmi rychle po dáte jim palce 166 00:07:20,440 --> 00:07:24,130 >> Když se váš problém nastavit zpátky, budete dostanete skóre, jak víte z 167 00:07:24,130 --> 00:07:28,150 čtení osnovy - správnost, design, rozsah a styl skóre. 168 00:07:28,150 --> 00:07:29,760 Budete také získat připomínky. 169 00:07:29,760 --> 00:07:32,160 Komentáře jsou důležitější než skóre. 170 00:07:32,160 --> 00:07:33,780 Myslím, že to je bezpečné říkat, že. 171 00:07:33,780 --> 00:07:37,930 >> Výsledky jsou jen číslo od jedné do pěti. 172 00:07:37,930 --> 00:07:38,930 Je těžké si na ty. 173 00:07:38,930 --> 00:07:40,720 Je to těžké pro zlepšení od těch. 174 00:07:40,720 --> 00:07:44,460 Ale komentáře se poukázat na specifické co jsi udělal dobře, nebo oblasti 175 00:07:44,460 --> 00:07:48,360 můžete zlepšit a dát vám některé nápady pro budoucnost nebo alternativní 176 00:07:48,360 --> 00:07:49,160 způsoby, jak dělat věci. 177 00:07:49,160 --> 00:07:52,270 >> Takže, prosím, prosím, přečtěte si prostřednictvím připomínek. 178 00:07:52,270 --> 00:07:54,190 Dal jsem spoustu času na tyto připomínky. 179 00:07:54,190 --> 00:07:57,190 Přečtěte si skrze ně, a to nejen posunout dolů na dno 180 00:07:57,190 --> 00:08:01,890 PDF, podívejte se na své skóre, nebo on-line a najít své skóre, a pak ignorovat 181 00:08:01,890 --> 00:08:02,800 komentáře. 182 00:08:02,800 --> 00:08:03,910 To není, jak jste bude lepší. 183 00:08:03,910 --> 00:08:06,550 To není, jak budete zvyšovat vaše skóre nakonec stejně 184 00:08:06,550 --> 00:08:07,340 při pohledu na skóre. 185 00:08:07,340 --> 00:08:08,760 Podívejte se prosím na těchto připomínek. 186 00:08:08,760 --> 00:08:13,240 >> A po linii vysokým očekáváním, znovu, jak jsem řekl, si 187 00:08:13,240 --> 00:08:14,260 lze skóroval z jednoho až pěti let. 188 00:08:14,260 --> 00:08:17,120 Dvojky, trojky, čtyřky a jsou Drtivá většina skóre 189 00:08:17,120 --> 00:08:17,940 budete se dostat. 190 00:08:17,940 --> 00:08:20,180 Ty a pětky jsou oba velmi vzácné. 191 00:08:20,180 --> 00:08:21,720 Vždycky věci můžeme udělat lépe. 192 00:08:21,720 --> 00:08:23,490 Kdykoliv jsem kód programu, je tu vždy něco, co jsem 193 00:08:23,490 --> 00:08:24,800 mohl udělat lépe. 194 00:08:24,800 --> 00:08:28,740 >> Takže spíše než říkat dostanete pět pořád na všechno a udělal 195 00:08:28,740 --> 00:08:31,960 všechno perfektní, nemyslím si, že by z nás opravdu věří, že my - nebo 196 00:08:31,960 --> 00:08:34,830 doufejme, že neděláme všechno perfektní po celou dobu. 197 00:08:34,830 --> 00:08:37,010 Takže nemusíte mít strach, pokud nedostal pětku. 198 00:08:37,010 --> 00:08:40,470 Pět není mapovat na, čtyři není mapovat na B, tři se 199 00:08:40,470 --> 00:08:42,950 není mapa je na C. To není jak skóre fungovat. 200 00:08:42,950 --> 00:08:48,140 >> Stejně jako David mnohokrát řekl, na Semestr Konec všechny vaše skóre a 201 00:08:48,140 --> 00:08:53,390 Vstup ode mne, vaše TF, sejdou a určit výslednou známku pro vás. 202 00:08:53,390 --> 00:08:56,760 Ale znovu, to není pět, , Čtyři, B, a tak dále. 203 00:08:56,760 --> 00:09:01,150 Takže budu mít vysoká očekávání pro lidi. 204 00:09:01,150 --> 00:09:03,670 Budu očekávat dobrou problému soupravy a Jdu dát 205 00:09:03,670 --> 00:09:05,010 zpětnou vazbu jako takový. 206 00:09:05,010 --> 00:09:07,430 A nebude to znamenat, že jsi dostane horší známku. 207 00:09:07,430 --> 00:09:09,760 Ty jsou odstupňovány z hlediska váš postup z týdne 208 00:09:09,760 --> 00:09:11,260 nulu kursu je konec. 209 00:09:11,260 --> 00:09:17,190 >> A konečně, pokud jde o vysoce očekávání ve třídě, Miluju, když 210 00:09:17,190 --> 00:09:18,460 lidí podílet. 211 00:09:18,460 --> 00:09:23,180 Chápu, někteří lidé cítí více či méně pohodlné účastní. 212 00:09:23,180 --> 00:09:26,050 Ostatní lidé se účastní není zvednutím ruky a 213 00:09:26,050 --> 00:09:27,320 mluví po celou dobu. 214 00:09:27,320 --> 00:09:30,570 Ale my jsme v této třídě se bude dělá hodně malých problémů, hodně 215 00:09:30,570 --> 00:09:33,770 mini otázek, a ještě něco navíc větší problémy kódování. 216 00:09:33,770 --> 00:09:36,760 Takže určitě pracovat těchto cvičení se když jsme si je na počítači nebo na 217 00:09:36,760 --> 00:09:37,900 list papíru. 218 00:09:37,900 --> 00:09:40,933 >> Ale já také dát nějaký čas, než někdy někdo musí odpovědět na některé 219 00:09:40,933 --> 00:09:42,220 z otázek, které jsem se zeptat. 220 00:09:42,220 --> 00:09:44,930 Takže, protože jsem vám nějaký čas na o tom přemýšlet, protože jedeme 221 00:09:44,930 --> 00:09:49,380 dělat věci někdy partnery, Budu očekávat, že všichni 222 00:09:49,380 --> 00:09:52,150 se zabývá poněkud. 223 00:09:52,150 --> 00:09:56,030 A pro nedostatek lepšího termínu, je bude pravděpodobně cold calling, které 224 00:09:56,030 --> 00:09:59,045 je místo, kde každý bude mít šanci přemýšlet o odpověď, a pak 225 00:09:59,045 --> 00:10:01,150 Zavolám na vás, a pak řekneš odpověď. 226 00:10:01,150 --> 00:10:05,200 >> Neboj se, nebo se bát o to. 227 00:10:05,200 --> 00:10:08,610 Já jsem to udělal v minulosti, a zjistili jsme, že je mnohem úspěšnější, 228 00:10:08,610 --> 00:10:11,810 přečtěte si také pedagogický výzkum na to, aby určit, zda je, či není 229 00:10:11,810 --> 00:10:12,640 dobrá taktika. 230 00:10:12,640 --> 00:10:15,790 To je velmi užitečné, zvláště pokud dát studentům čas na přemýšlení o 231 00:10:15,790 --> 00:10:20,070 odpovědi a nedávají jim jen tak a řekne to hned bat. 232 00:10:20,070 --> 00:10:22,620 Ale pokud se necítíte pohodlně odpovědi, jsem také docela dobře 233 00:10:22,620 --> 00:10:25,370 vycítil, že ven, a my nebudeme tě na místě, zejména na 234 00:10:25,370 --> 00:10:28,240 fotoaparát, i když žádný z jste na kameře právě teď. 235 00:10:28,240 --> 00:10:32,250 >> Takže to jsou ty normy mám. 236 00:10:32,250 --> 00:10:34,670 Ještě jedna věc, v duchu splnit ve středu. 237 00:10:34,670 --> 00:10:36,490 Budu vám kluci hodně zpětné vazby. 238 00:10:36,490 --> 00:10:38,310 Prosím, dejte mi zpětnou vazbu, stejně. 239 00:10:38,310 --> 00:10:46,190 K dispozici je internetové stránky, sayat.me/cs50. 240 00:10:46,190 --> 00:10:48,380 Takže je to upřímná zpětná vazba. 241 00:10:48,380 --> 00:10:50,730 Chcete-li, aby to v průběhu části, Mám e-mail vždy, když se to stane. 242 00:10:50,730 --> 00:10:53,820 Dáme si přestávku v trochu, takže budu prohlédnout zpětné vazby poté. 243 00:10:53,820 --> 00:10:55,970 Pokud budete mít nějaké připomínky, prosím, dej mi ho tam. 244 00:10:55,970 --> 00:11:01,380 >> Dáte-li mi zpětnou vazbu o Q, to je nádherné, ale to je příručka 245 00:11:01,380 --> 00:11:02,570 že si na konci. 246 00:11:02,570 --> 00:11:05,690 Ale, že bude na konci semestru tak Nebudu moci vzít nic z toho 247 00:11:05,690 --> 00:11:08,620 zpětná vazba a otočte jej do výuky vy lépe. 248 00:11:08,620 --> 00:11:11,020 Takže prosím, pokud máte nějaké zpětná vazba, dej mi to. 249 00:11:11,020 --> 00:11:12,010 Miluji zpětnou vazbu. 250 00:11:12,010 --> 00:11:14,490 Zpět na FOP, dostaneme zpětnou vazbu po celou dobu. 251 00:11:14,490 --> 00:11:18,610 >> Můžete mi dát plusy, dobré věci, delty, věci mohu zlepšit na. 252 00:11:18,610 --> 00:11:20,600 Můžete komentovat na mém oblečení. 253 00:11:20,600 --> 00:11:24,170 To nebude tak užitečné, ale ty jsi vítejte komentovat jakékoliv 254 00:11:24,170 --> 00:11:24,570 všechno. 255 00:11:24,570 --> 00:11:26,280 Prosím, prosím, dej mi zpětnou vazbu. 256 00:11:26,280 --> 00:11:28,740 Vážím si ho hodně, a to znamená pro mě hodně. 257 00:11:28,740 --> 00:11:31,760 258 00:11:31,760 --> 00:11:33,280 >> Ještě jedna norma, legrace. 259 00:11:33,280 --> 00:11:34,530 Budeme mít spoustu legrace. 260 00:11:34,530 --> 00:11:36,930 Doufejme, že v tomto kurzu, budete mají spoustu legrace. 261 00:11:36,930 --> 00:11:38,780 Budeme mít cukroví na části. 262 00:11:38,780 --> 00:11:40,040 Budeme mít hudbu. 263 00:11:40,040 --> 00:11:45,510 Budeme snad poznávání se další poněkud dobře, takže chci, 264 00:11:45,510 --> 00:11:47,690 to být zábavné, poutavé zkušenosti. 265 00:11:47,690 --> 00:11:50,890 >> Vím, že někteří z vás usnul přednášky jste měli dneska, 266 00:11:50,890 --> 00:11:53,750 takže doufejme, že nebude je tomu nyní. 267 00:11:53,750 --> 00:11:55,960 A pokud je tomu teď, jen ne chrápat, protože to by mohlo 268 00:11:55,960 --> 00:11:57,580 se zachytil na kameru. 269 00:11:57,580 --> 00:11:58,770 Sladký. 270 00:11:58,770 --> 00:12:04,020 Jakékoliv dotazy, připomínky nebo obavy než jsem se dál o něčem máme 271 00:12:04,020 --> 00:12:05,270 mluvili? 272 00:12:05,270 --> 00:12:08,620 273 00:12:08,620 --> 00:12:11,350 Skvělé. 274 00:12:11,350 --> 00:12:14,830 >> Takže jsme jít do pole jako první. 275 00:12:14,830 --> 00:12:17,140 To je, jak si udělat pole. 276 00:12:17,140 --> 00:12:18,410 Viděli jsme to předtím. 277 00:12:18,410 --> 00:12:21,830 Máte datový typ, máte jméno, a pak máte velikost. 278 00:12:21,830 --> 00:12:24,430 Právě zde vytvořit dvě pole. 279 00:12:24,430 --> 00:12:30,360 První z nich je pole znaků, a má 26 míst. 280 00:12:30,360 --> 00:12:33,790 Druhá je pole skóre, a to má tři 281 00:12:33,790 --> 00:12:35,390 prostory pro tři celá čísla. 282 00:12:35,390 --> 00:12:35,827 Ano? 283 00:12:35,827 --> 00:12:38,200 >> Student: Jsou všechny tyto snímky někde k dispozici pro nás? 284 00:12:38,200 --> 00:12:38,850 >> JASON Hirschhorn: Velká otázka. 285 00:12:38,850 --> 00:12:40,650 Otázkou bylo, jsou všechny Tyto snímky k dispozici? 286 00:12:40,650 --> 00:12:40,920 Ano. 287 00:12:40,920 --> 00:12:43,420 Všechny tyto snímky budou k dispozici, a do budoucna budu poslat e-mailem 288 00:12:43,420 --> 00:12:44,640 jste předtím sekce. 289 00:12:44,640 --> 00:12:47,340 Ale dnes, protože se jedná o první týden jsme měli opožděný start. 290 00:12:47,340 --> 00:12:49,675 Takže obvykle, budete si tyto snímky, ale budou k dispozici online a 291 00:12:49,675 --> 00:12:52,420 Budu e-mail je pro vás hned po třídě. 292 00:12:52,420 --> 00:12:54,140 Nějaké další otázky? 293 00:12:54,140 --> 00:13:01,330 >> Takže znovu, pole jsou boxy pro nedostatek lepší slovo, které drží více 294 00:13:01,330 --> 00:13:06,420 prvky jednoho typu dat, a oni jsou vedle sebe v paměti. 295 00:13:06,420 --> 00:13:11,370 A tak opět, je to, jak můžete dělají dva druhy polí. 296 00:13:11,370 --> 00:13:15,090 >> Takže poté, co jste provedli pole s že první řádek - int skóre, držák 297 00:13:15,090 --> 00:13:17,430 tři, závorka - můžete Chcete ji inicializovat. 298 00:13:17,430 --> 00:13:19,050 Chcete-li dát nějaké hodnoty tam. 299 00:13:19,050 --> 00:13:24,660 A to je, jak se dát nějaké hodnoty tam, jen výběr Index a 300 00:13:24,660 --> 00:13:25,670 psaní číslo. 301 00:13:25,670 --> 00:13:27,130 Pojďme nakreslit to na tabuli. 302 00:13:27,130 --> 00:13:28,270 Každý může vidět? 303 00:13:28,270 --> 00:13:29,030 Každý může vidět. 304 00:13:29,030 --> 00:13:30,790 Sladký. 305 00:13:30,790 --> 00:13:36,550 >> Tak, že to bude můj Pole s názvem skóre. 306 00:13:36,550 --> 00:13:37,730 Jak vidíte, je to velikost tři. 307 00:13:37,730 --> 00:13:39,210 K dispozici jsou tři pole v tam. 308 00:13:39,210 --> 00:13:43,120 Každý z nich se vejde to, co Typ datového typu? 309 00:13:43,120 --> 00:13:43,790 >> STUDENT: Integer. 310 00:13:43,790 --> 00:13:45,250 >> JASON Hirschhorn: číslo v této jedné. 311 00:13:45,250 --> 00:13:48,790 Napsali jsme int skóre a první slovo je datový typ, který se bude 312 00:13:48,790 --> 00:13:50,910 jít do polí v tomto poli. 313 00:13:50,910 --> 00:13:52,160 Tak jsem se vejde tři. 314 00:13:52,160 --> 00:13:54,880 315 00:13:54,880 --> 00:13:57,000 Proč mám nula až tam na palubě? 316 00:13:57,000 --> 00:13:59,240 Proč se říká skóre nula rovná 1? 317 00:13:59,240 --> 00:14:02,090 318 00:14:02,090 --> 00:14:03,180 Připomeňte mi své jméno. 319 00:14:03,180 --> 00:14:03,470 >> STUDENT: Kurt. 320 00:14:03,470 --> 00:14:04,070 >> JASON Hirschhorn: Kurt. 321 00:14:04,070 --> 00:14:04,480 >> Žák: Ano. 322 00:14:04,480 --> 00:14:04,920 >> JASON Hirschhorn: Proč? 323 00:14:04,920 --> 00:14:07,230 >> Žák: Protože první index je nula, začneme počítat od nuly. 324 00:14:07,230 --> 00:14:08,480 >> JASON Hirschhorn: Takže začneme počítat od nuly. 325 00:14:08,480 --> 00:14:09,580 To je přesně to pravé. 326 00:14:09,580 --> 00:14:12,340 To je matoucí část a vůle výlet jste se, a to zejména, když jste 327 00:14:12,340 --> 00:14:14,900 snaží iterovat polí, které budeme dělat trochu. 328 00:14:14,900 --> 00:14:15,980 Začneme počítat od nuly. 329 00:14:15,980 --> 00:14:19,170 Takže pokud chci odkázat na první box, není to jeden box. 330 00:14:19,170 --> 00:14:22,290 Bohužel, je to pole nulová. 331 00:14:22,290 --> 00:14:26,460 Druhý z nich je jeden box, a v tomto případ, třetí je box dva. 332 00:14:26,460 --> 00:14:28,700 >> Co poli tři? 333 00:14:28,700 --> 00:14:30,670 Kde je box tři? 334 00:14:30,670 --> 00:14:34,750 Nebo když chci dělat výsledky, držák tři, závorka, co je to? 335 00:14:34,750 --> 00:14:37,650 336 00:14:37,650 --> 00:14:39,760 Takže jste řekl, že znak null. 337 00:14:39,760 --> 00:14:41,600 Jakékoliv jiné myšlenky? 338 00:14:41,600 --> 00:14:44,590 Co je to hodnocení držák držák tři? 339 00:14:44,590 --> 00:14:48,045 >> STUDENT: Je to ve skutečnosti neexistuje, protože jenom definována jako skóre, 340 00:14:48,045 --> 00:14:49,370 držák tři. 341 00:14:49,370 --> 00:14:51,400 >> JASON Hirschhorn: Takže říkáte, že ve skutečnosti neexistuje. 342 00:14:51,400 --> 00:14:54,230 V některých případech, kdy máme co do činění s struny, obvykle dáme null 343 00:14:54,230 --> 00:14:54,790 znak na konci. 344 00:14:54,790 --> 00:14:56,100 Dostaneme se k tomu v druhém. 345 00:14:56,100 --> 00:15:01,020 Ale v tomto případě žádná třetí okno tady. 346 00:15:01,020 --> 00:15:06,390 Takže poslední pole v každém poli je zmenšené 1. 347 00:15:06,390 --> 00:15:11,310 Takže pokud máme pole o velikosti n, První pole je na nule, poslední z nich je 348 00:15:11,310 --> 00:15:12,700 v n minus 1. 349 00:15:12,700 --> 00:15:14,970 A v tomto případě, že neexistuje. 350 00:15:14,970 --> 00:15:17,970 Existuje něco, co zde paměť, ale to není naše. 351 00:15:17,970 --> 00:15:18,460 Nemáme vlastní. 352 00:15:18,460 --> 00:15:19,570 Neměli jsme na něj zeptá. 353 00:15:19,570 --> 00:15:22,606 Takže když se snažíme o přístup, který my budeme udělat trochu, budeme pravděpodobně bude 354 00:15:22,606 --> 00:15:24,970 dostat do potíží. 355 00:15:24,970 --> 00:15:29,180 >> V tomto případě jsem inicializace moji duši pole s třemi proměnnými. 356 00:15:29,180 --> 00:15:36,195 Dáváme jeden v kolonce nula, dva v jeden box, a tři v poli dva. 357 00:15:36,195 --> 00:15:39,280 Má někdo nějaké otázky, o inicializaci pole? 358 00:15:39,280 --> 00:15:44,540 359 00:15:44,540 --> 00:15:46,970 >> Tak jsme šli na to právě teď. 360 00:15:46,970 --> 00:15:52,725 Skóre, držák tři, závorka, že neexistuje. 361 00:15:52,725 --> 00:15:58,130 Jsme nula indexovány v informatice, takže začneme počítat od nuly. 362 00:15:58,130 --> 00:16:01,860 Poslední políčko máme k dispozici, je Třetí pole, ale je to jen krabička 363 00:16:01,860 --> 00:16:03,110 číslo dvě. 364 00:16:03,110 --> 00:16:05,790 365 00:16:05,790 --> 00:16:09,710 >> Dole, to je alternativa způsob inicializace pole. 366 00:16:09,710 --> 00:16:13,410 Takže namísto vytváření pole na jedné linka, vyplňování prvního pole, pak 367 00:16:13,410 --> 00:16:17,070 druhý rámeček, pak třetí okno, můžete to udělat vše v jednom řádku. 368 00:16:17,070 --> 00:16:19,040 Takže v tomto řádku obě pole. 369 00:16:19,040 --> 00:16:23,460 Tím se vytvoří přesně stejný jako pole to, co jsme vytvořili tady, ale 370 00:16:23,460 --> 00:16:24,710 Jen se to v jedné linii. 371 00:16:24,710 --> 00:16:29,740 372 00:16:29,740 --> 00:16:31,360 >> Nyní jsme vytvořili naší nabídku. 373 00:16:31,360 --> 00:16:34,100 Zpravidla jednou vytvořit matici, můžete Chcete s tím něco udělat, ať už 374 00:16:34,100 --> 00:16:38,430 který je vyplnit, nebo si věci z ní a vytisknout je na obrazovce. 375 00:16:38,430 --> 00:16:42,270 V tomto případě, jdeme přes naše skóre pole, které inicializován 376 00:16:42,270 --> 00:16:44,740 první řádek tady v šedé barvě. 377 00:16:44,740 --> 00:16:49,600 A pak se na druhém řádku, začneme iterace pole. 378 00:16:49,600 --> 00:16:52,640 Má někdo nějaké dotazy týkající se Struktura pro smyčky? 379 00:16:52,640 --> 00:16:55,250 380 00:16:55,250 --> 00:16:56,400 >> Tak to je pro smyčce. 381 00:16:56,400 --> 00:16:59,530 Máme původního stavu, a pak naše poslední stav a pak jsme 382 00:16:59,530 --> 00:17:01,160 iteraci, já, každý smyčky. 383 00:17:01,160 --> 00:17:05,579 A ve složených závorkách v tomto pro smyčky, co se stane, kdybych spustit 384 00:17:05,579 --> 00:17:06,290 tento program? 385 00:17:06,290 --> 00:17:10,410 Může mi někdo říct, co bychom se dostali? 386 00:17:10,410 --> 00:17:11,589 [? Matu? ?] 387 00:17:11,589 --> 00:17:13,819 >> Matu: Tisk všech bodů na každém řádku. 388 00:17:13,819 --> 00:17:14,900 To by vytiskněte každý gól na samostatném řádku. 389 00:17:14,900 --> 00:17:16,300 >> JASON Hirschhorn: Co přesně by to vytisknout? 390 00:17:16,300 --> 00:17:19,790 >> Žák: To by jeden vytisknout, pak dva, pak tři. 391 00:17:19,790 --> 00:17:20,235 >> JASON Hirschhorn: Přesně tak. 392 00:17:20,235 --> 00:17:23,490 To by tisknout jeden, pak dva, pak tři, každý na samostatných řádcích, protože 393 00:17:23,490 --> 00:17:27,810 jdeme přes pole a budete vidět, že druhý, printf 394 00:17:27,810 --> 00:17:29,275 prohlášení, skóre i. 395 00:17:29,275 --> 00:17:32,880 Takže v prvním kole přes naše pro smyčky, i nulová, což znamená, že jsme 396 00:17:32,880 --> 00:17:34,640 získání hodnoty na NULU - 397 00:17:34,640 --> 00:17:36,900 které, pokud se vrátíme k Naše diagram, je - 398 00:17:36,900 --> 00:17:38,630 a vyplnění - 399 00:17:38,630 --> 00:17:39,700 oh, to říká, že c. 400 00:17:39,700 --> 00:17:41,680 To by mělo být% d. 401 00:17:41,680 --> 00:17:43,970 Budu opravit, že ve chvíli, kdy Jsem ruku, která se na vás. 402 00:17:43,970 --> 00:17:48,670 Ale my představuje celé číslo, takže to by měla být% d tady, ne% c. 403 00:17:48,670 --> 00:17:50,340 Co je% c pro? 404 00:17:50,340 --> 00:17:50,790 >> STUDENT: Character. 405 00:17:50,790 --> 00:17:52,680 >> JASON Hirschhorn: Znak, přesně tak. 406 00:17:52,680 --> 00:17:53,690 Co je ten druhý? 407 00:17:53,690 --> 00:17:56,260 Pokud nechcete dělat,% d pro integer, co jiného můžete dělat? 408 00:17:56,260 --> 00:17:57,000 >> Žák:. 409 00:17:57,000 --> 00:17:59,180 >> JASON Hirschhorn:% i, přesně tak. 410 00:17:59,180 --> 00:18:01,660 Takže nějaké otázky ohledně iterace přes pole? 411 00:18:01,660 --> 00:18:05,500 412 00:18:05,500 --> 00:18:07,800 Takže co se stane, když to uděláme? 413 00:18:07,800 --> 00:18:10,290 Místo toho, i je menší než tři, my i méně 414 00:18:10,290 --> 00:18:11,390 než nebo roven třem. 415 00:18:11,390 --> 00:18:13,420 Co se stane, když tento kód spustit? 416 00:18:13,420 --> 00:18:17,510 417 00:18:17,510 --> 00:18:18,940 Ano, Annie? 418 00:18:18,940 --> 00:18:22,030 >> STUDENT: Chystají se vytisknout divné věci na čtvrtém řádku. 419 00:18:22,030 --> 00:18:23,850 >> JASON Hirschhorn: Takže jste řekl, je bude tisknout divný věci na 420 00:18:23,850 --> 00:18:24,390 čtvrtý řádek? 421 00:18:24,390 --> 00:18:25,750 Má někdo odpověď na její otázku? 422 00:18:25,750 --> 00:18:28,940 423 00:18:28,940 --> 00:18:33,160 Takže je pravděpodobné, že pokud se dostaneme do - 424 00:18:33,160 --> 00:18:36,700 tak na čtvrtém kole přes náš pro smyčky, stejně jako jste si mysleli, Annie, 425 00:18:36,700 --> 00:18:39,430 to bude skóre držák tři, které už jsme zjistili, není 426 00:18:39,430 --> 00:18:41,990 existují, a budeme se snažit a přístup, aby ji vytisknout 427 00:18:41,990 --> 00:18:43,350 ven, použijte ji nějakým způsobem. 428 00:18:43,350 --> 00:18:46,060 Takže počítač bude pravděpodobně zlobit se na nás. 429 00:18:46,060 --> 00:18:46,760 Máš naprostou pravdu. 430 00:18:46,760 --> 00:18:48,830 >> To by mohlo ukončit program úplně. 431 00:18:48,830 --> 00:18:52,222 To by mohlo vytisknout něco opravdu divné. 432 00:18:52,222 --> 00:18:53,420 Nemůžete říci s jistotou. 433 00:18:53,420 --> 00:18:56,210 Kurzy jsou to nejspíš zlobit na vy a jen přestat hned. 434 00:18:56,210 --> 00:19:00,100 >> Ale to je častý omyl, budete muset , kde jste jen kousek od jednoho na 435 00:19:00,100 --> 00:19:05,110 konec, a to je chyba, která bude mor po celou dobu svého kódování. 436 00:19:05,110 --> 00:19:09,350 437 00:19:09,350 --> 00:19:14,150 Jeden způsob, jak bych chtěl udělat, je jen na tabule, projít každé iteraci 438 00:19:14,150 --> 00:19:18,190 ze smyčky na ruce nebo na papíře vidět co se děje, a pak 439 00:19:18,190 --> 00:19:20,440 obecně si uvědomit, oh počkat, já bych neměl šli do nižší nebo 440 00:19:20,440 --> 00:19:20,870 roven třem. 441 00:19:20,870 --> 00:19:24,730 Měl jsem se zastavil u dvou, což je co se stane, když se váš stav je méně 442 00:19:24,730 --> 00:19:26,206 než tři. 443 00:19:26,206 --> 00:19:29,120 Jakékoliv dotazy tak daleko? 444 00:19:29,120 --> 00:19:31,010 Sladký. 445 00:19:31,010 --> 00:19:33,360 >> Takže všichni máte váš počítač otevřený. 446 00:19:33,360 --> 00:19:36,760 Chystáme se dát dvě až tři minut napsat program, který 447 00:19:36,760 --> 00:19:40,460 vytvoří pole s celými čísly jedna přes pět a pak vytiskne každý 448 00:19:40,460 --> 00:19:41,720 číslo na nový řádek. 449 00:19:41,720 --> 00:19:44,330 450 00:19:44,330 --> 00:19:46,000 A pokud máte nějaké dotazy, zvedněte ruku. 451 00:19:46,000 --> 00:19:48,140 Jsem rád, že přijít. 452 00:19:48,140 --> 00:19:50,630 Jak jsem řekl, pojďme si vzít tři minut to napsat. 453 00:19:50,630 --> 00:20:41,300 454 00:20:41,300 --> 00:20:45,110 Jsou všichni v pořádku, pokud půjdu do nové okno a zavřete to? 455 00:20:45,110 --> 00:22:13,420 456 00:22:13,420 --> 00:22:15,520 >> Omlouvám se, jestli jste neměli šanci až do konce, ale budeme to dělat 457 00:22:15,520 --> 00:22:17,310 spolu právě teď. 458 00:22:17,310 --> 00:22:23,640 Takže na obrazovce, jsem # include cs50.h, # include stdio.h. 459 00:22:23,640 --> 00:22:26,090 Může mi někdo říct, co tyto dva řádky dělat? 460 00:22:26,090 --> 00:22:32,250 461 00:22:32,250 --> 00:22:33,155 Michael? 462 00:22:33,155 --> 00:22:40,030 >> STUDENT: Zahrnují knihovny že CS50 udělal a že má Steve 463 00:22:40,030 --> 00:22:44,210 uloženy pro vás k použití na aby váš život jednodušší. 464 00:22:44,210 --> 00:22:46,820 >> JASON Hirschhorn: Takže jste řekl, že patří knihovny, jednu CS50 465 00:22:46,820 --> 00:22:51,230 udělal, cs50.h, a ten, který je jen standard, je dodáván s 466 00:22:51,230 --> 00:22:53,510 Balíček C, stdio.h. 467 00:22:53,510 --> 00:22:54,890 Co tím myslíš patří knihovny, i když? 468 00:22:54,890 --> 00:22:55,770 Můžete být trochu konkrétnější? 469 00:22:55,770 --> 00:23:01,180 >> Žák: To je to tak, že můžete používat některé kódová slova mají 470 00:23:01,180 --> 00:23:05,710 fungovat stát, aniž by museli jít a aby funkce c sami. 471 00:23:05,710 --> 00:23:08,730 >> JASON Hirschhorn: Umíš mi dát příklad? 472 00:23:08,730 --> 00:23:11,160 >> STUDENT: Jako printf je můžete použít. 473 00:23:11,160 --> 00:23:11,860 >> JASON Hirschhorn: printf. 474 00:23:11,860 --> 00:23:14,680 Takže jste řekl printf je jedním z těch, funkce, kde spíše než 475 00:23:14,680 --> 00:23:19,840 napsat printf na vlastní pěst, je printf součástí skutečně stdio.h, takže 476 00:23:19,840 --> 00:23:22,010 stačí použít, a předpokládají, že to bude fungovat. 477 00:23:22,010 --> 00:23:28,270 V stdio.h, pokud jste otevřel tento soubor, by zahrnovala jak printf 478 00:23:28,270 --> 00:23:31,620 práce, veškerý kód pro printf? 479 00:23:31,620 --> 00:23:33,105 Proč se třese hlavou? 480 00:23:33,105 --> 00:23:35,710 >> STUDENT: Vzhledem k tomu, hlavičkový soubor jen obsahuje deklaraci funkce. 481 00:23:35,710 --> 00:23:36,400 >> JASON Hirschhorn: Přesně tak. 482 00:23:36,400 --> 00:23:39,680 Hlavičkový soubor obsahuje jen deklarace funkce. 483 00:23:39,680 --> 00:23:42,950 Takže v podstatě, při kompilaci to, kliknul na Make hrabě, který budeme dělat v 484 00:23:42,950 --> 00:23:48,070 Druhá, kompilátor ví, že pokud použít printf, printf existuje. 485 00:23:48,070 --> 00:23:49,370 Bude to být definován někde jinde. 486 00:23:49,370 --> 00:23:51,200 To není pro vás problém používat. 487 00:23:51,200 --> 00:23:55,490 A pak o něco později, bude obsahovat jedniček a nul, které skutečně obsahují 488 00:23:55,490 --> 00:23:58,360 printf je provádění a sloučit se svým kódem. 489 00:23:58,360 --> 00:24:01,935 Jak se ujistěte se, že obsahuje jedniček a nul, řekněme, se řetězec? 490 00:24:01,935 --> 00:24:05,670 491 00:24:05,670 --> 00:24:07,210 >> STUDENT: Získejte řetězec je cs50.h. 492 00:24:07,210 --> 00:24:07,830 >> JASON Hirschhorn: Správně. 493 00:24:07,830 --> 00:24:11,110 Tak, že se říká, že existuje řetězec, deklarace funkce. 494 00:24:11,110 --> 00:24:15,410 Ale pak jedniček a nul, binární soubor, který ve skutečnosti obsahuje 495 00:24:15,410 --> 00:24:17,370 realizace get string? 496 00:24:17,370 --> 00:24:19,310 Jak se ujistit, že jde s programem? 497 00:24:19,310 --> 00:24:23,220 >> STUDENT: Pass linker v argument příkazového řádku. 498 00:24:23,220 --> 00:24:25,430 >> JASON Hirschhorn: Pass linker na argument příkazového řádku. 499 00:24:25,430 --> 00:24:26,700 Jak to děláte, že? 500 00:24:26,700 --> 00:24:29,730 >> Žák: To je-l řádek v řinčením 501 00:24:29,730 --> 00:24:30,480 >> JASON Hirschhorn: Přesně tak. 502 00:24:30,480 --> 00:24:32,900 Říkáte-l CS50, že jo? 503 00:24:32,900 --> 00:24:34,940 To zahrnuje jedniček a nul. 504 00:24:34,940 --> 00:24:36,460 >> Žák: Ale Ujistěte se že pro vás, ne? 505 00:24:36,460 --> 00:24:37,010 >> JASON Hirschhorn: Přesně tak. 506 00:24:37,010 --> 00:24:40,390 Ujistěte se, že pro vás, ale nakonec, nebudete mít Make, nebo 507 00:24:40,390 --> 00:24:43,220 budete muset dělat Udělat na vlastní pěst, tak to je 508 00:24:43,220 --> 00:24:43,940 dobrá věc, mít na paměti. 509 00:24:43,940 --> 00:24:47,350 Pokud se chystáte použít jeden z těchto další knihovny, a to nejen máte 510 00:24:47,350 --> 00:24:49,490 psát # include a pak knihovna. 511 00:24:49,490 --> 00:24:51,420 Také je potřeba propojit ji dovnitř 512 00:24:51,420 --> 00:24:54,480 A tyto dvě věci jsou odlišné. L-CS50 je odlišný 513 00:24:54,480 --> 00:24:59,260 než # include cs50.h. 514 00:24:59,260 --> 00:25:02,870 >> Pak máme int main void složené závorky, a teď jedeme do kódu 515 00:25:02,870 --> 00:25:03,590 uvnitř hlavní. 516 00:25:03,590 --> 00:25:07,090 První řádek Mám tady je komentář , který říká, vytvořit pole 517 00:25:07,090 --> 00:25:08,820 s ints jedna až pět. 518 00:25:08,820 --> 00:25:12,600 Co je dobré slovo popisovat to, co jsem mají teď na obrazovce, jen 519 00:25:12,600 --> 00:25:14,170 komentáře uvnitř hlavní? 520 00:25:14,170 --> 00:25:15,722 Co říkáme, že? 521 00:25:15,722 --> 00:25:16,820 >> STUDENT: Pseudocode. 522 00:25:16,820 --> 00:25:17,840 >> JASON Hirschhorn: Pseudocode. 523 00:25:17,840 --> 00:25:18,420 Děkuji, Jeffrey. 524 00:25:18,420 --> 00:25:19,540 To je přesně to pravé. 525 00:25:19,540 --> 00:25:20,005 Pseudokódu. 526 00:25:20,005 --> 00:25:22,854 Už jste viděli pseudocode předtím? 527 00:25:22,854 --> 00:25:28,340 Zvedněte ruku, pokud jste použili pseudokódu před problém nastavit jeden. 528 00:25:28,340 --> 00:25:29,400 Asi polovina z vás. 529 00:25:29,400 --> 00:25:32,700 >> Já bych Velmi doporučuji používat pseudokódu rozebrat problémy do 530 00:25:32,700 --> 00:25:35,210 menší, snadno ukousnout kousky. 531 00:25:35,210 --> 00:25:38,630 Také, pokud budete dělat pseudocode, vy mít své připomínky již z velké části 532 00:25:38,630 --> 00:25:40,760 postavena v roce, takže nemusíte vrátit a pokusit se zjistit, 533 00:25:40,760 --> 00:25:42,450 co jste dělali. 534 00:25:42,450 --> 00:25:44,730 Takže může mi někdo dát tuto první linii vytvořit pole s jedním ints 535 00:25:44,730 --> 00:25:45,980 až pět? 536 00:25:45,980 --> 00:25:48,700 537 00:25:48,700 --> 00:25:49,130 Vy? 538 00:25:49,130 --> 00:25:53,350 >> STUDENT: Int a pak můžete volat bez ohledu na počet a poté náměstí 539 00:25:53,350 --> 00:25:54,830 držák pět. 540 00:25:54,830 --> 00:25:57,820 >> JASON Hirschhorn: Takže int čísla, hranatá závorka pět. 541 00:25:57,820 --> 00:25:59,160 >> STUDENT: Rovná a pak složené závorky. 542 00:25:59,160 --> 00:26:00,830 >> JASON Hirschhorn: Rovná, Složené závorky. 543 00:26:00,830 --> 00:26:01,830 >> STUDENT: Jeden, dva, tři, čtyři. 544 00:26:01,830 --> 00:26:05,566 >> JASON Hirschhorn: Jeden, dva, tři, čtyři, pět. 545 00:26:05,566 --> 00:26:07,390 >> Žák: A pak složené závorky a pak středník. 546 00:26:07,390 --> 00:26:09,240 >> JASON Hirschhorn: a kudrnaté šle a středníkem. 547 00:26:09,240 --> 00:26:10,330 Výborný. 548 00:26:10,330 --> 00:26:12,210 Vytiskněte si každý int na nový řádek. 549 00:26:12,210 --> 00:26:17,140 Může někdo dát mi ten kód, prosím? 550 00:26:17,140 --> 00:26:17,530 [? Matu? ?] 551 00:26:17,530 --> 00:26:18,560 Jen do toho. 552 00:26:18,560 --> 00:26:20,440 >> STUDENT: Pro ( 553 00:26:20,440 --> 00:26:21,750 >> JASON Hirschhorn: Pro ( 554 00:26:21,750 --> 00:26:23,740 >> STUDENT: int i = 0 555 00:26:23,740 --> 00:26:26,070 >> JASON Hirschhorn: int i = 0 556 00:26:26,070 --> 00:26:28,190 >> STUDENT: středník i méně než pět. 557 00:26:28,190 --> 00:26:31,680 >> JASON Hirschhorn: středník, i méně než pět. 558 00:26:31,680 --> 00:26:33,600 >> STUDENT: středník, i + +. 559 00:26:33,600 --> 00:26:35,140 >> JASON Hirschhorn: středník, i + +. 560 00:26:35,140 --> 00:26:37,720 >> STUDENT: Uzavřené závorky, pak otevřete rovnátka. 561 00:26:37,720 --> 00:26:39,410 >> JASON Hirschhorn: Uzavřené závorky a dvě šle. 562 00:26:39,410 --> 00:26:40,510 Uvnitř závorek? 563 00:26:40,510 --> 00:26:47,640 >> Žák: A pak printf "% d / n" 564 00:26:47,640 --> 00:26:48,695 >> JASON Hirschhorn: Omlouváme se, ale vydrž. 565 00:26:48,695 --> 00:26:52,330 Printf "% d / n, uzavřené citace. 566 00:26:52,330 --> 00:26:55,980 >> Žák: A pak uzavřený cituji, čárka, počítat, i držák. 567 00:26:55,980 --> 00:26:58,350 >> JASON Hirschhorn: Comma, počítat, i držák. 568 00:26:58,350 --> 00:26:59,970 >> STUDENT: Je nám líto, čísla i konzole. 569 00:26:59,970 --> 00:27:01,416 >> JASON Hirschhorn: Čísla, držák jsem. 570 00:27:01,416 --> 00:27:03,200 >> STUDENT: Omlouvám se. 571 00:27:03,200 --> 00:27:04,750 A pak zavřel závorky, středník. 572 00:27:04,750 --> 00:27:07,156 >> JASON Hirschhorn: Zavřeno závorky, středníky. 573 00:27:07,156 --> 00:27:08,680 Chystám se kromě toho, že. 574 00:27:08,680 --> 00:27:12,670 Chystáme se dělat počítat. 575 00:27:12,670 --> 00:27:14,742 A jak mám spustit počítat? 576 00:27:14,742 --> 00:27:16,470 >> STUDENT: Zpětné lomítko. 577 00:27:16,470 --> 00:27:17,180 >> STUDENT: Dot lomítko - 578 00:27:17,180 --> 00:27:18,050 >> JASON Hirschhorn:. / Spočítat, přesně tak. 579 00:27:18,050 --> 00:27:19,380 Děkuju. . / Počítat. 580 00:27:19,380 --> 00:27:21,060 Jedna, dvě, tři, čtyři, pět na nových tratích. 581 00:27:21,060 --> 00:27:22,110 Vypadá to, že to fungovalo. 582 00:27:22,110 --> 00:27:23,200 Ano, Noah? 583 00:27:23,200 --> 00:27:26,660 >> STUDENT: Můžete si také udělat menší nebo , rovná se čtyřem, jako i je menší než 584 00:27:26,660 --> 00:27:27,630 nebo rovná se čtyřem? 585 00:27:27,630 --> 00:27:31,190 Je nějaká výhoda dělá méně než pět, nebo jen jiný způsob 586 00:27:31,190 --> 00:27:31,610 psaní? 587 00:27:31,610 --> 00:27:35,280 >> JASON Hirschhorn: Takže otázka je, mohl udělat i je menší než nebo 588 00:27:35,280 --> 00:27:37,450 , rovná se čtyřem místo i je menší než pět. 589 00:27:37,450 --> 00:27:38,935 To by fungovalo stejně? 590 00:27:38,935 --> 00:27:39,760 >> STUDENT: Mělo by. 591 00:27:39,760 --> 00:27:39,860 >> JASON Hirschhorn: Ano. 592 00:27:39,860 --> 00:27:41,660 Úplně by to fungovat stejně. 593 00:27:41,660 --> 00:27:44,780 Stylisticky je to obvykle méně než a uvidíte v druhém, kdy 594 00:27:44,780 --> 00:27:48,160 my řetězce, můžete použít něco volal strlen, které jste viděli 595 00:27:48,160 --> 00:27:50,380 dříve, aby se délka z řetězce. 596 00:27:50,380 --> 00:27:54,090 A nemůžete dělat méně, než nebo rovno strlen. 597 00:27:54,090 --> 00:27:56,500 Dalo by se udělat menší nebo rovnat strlen mínus jedna. 598 00:27:56,500 --> 00:27:59,260 Takže je to hezčí dělat méně než strlen. 599 00:27:59,260 --> 00:28:00,240 Ano? 600 00:28:00,240 --> 00:28:03,270 >> STUDENT: A skutečná kvízy, proveďte musíme předložit připomínky k naší 601 00:28:03,270 --> 00:28:04,620 Kód stejně? 602 00:28:04,620 --> 00:28:06,130 >> JASON Hirschhorn: Otázka byl v kvízy, máte 603 00:28:06,130 --> 00:28:07,760 muset předložit připomínky? 604 00:28:07,760 --> 00:28:12,050 Takže budeme hovořit o kvízy, když oni přijdou, ale obecně, dobrou 605 00:28:12,050 --> 00:28:14,530 pravidlem je, když jste psaní kódu, předložit připomínky. 606 00:28:14,530 --> 00:28:18,130 Pokud máte kód špatně, ale komentář pravdu, můžete získat některé 607 00:28:18,130 --> 00:28:22,280 úvěr i ode mne, jestli jsem třídění Jste na problém souboru nebo na kvíz. 608 00:28:22,280 --> 00:28:24,660 Takže komentáře jsou vždy vhodné zajistit. 609 00:28:24,660 --> 00:28:25,040 Sladký. 610 00:28:25,040 --> 00:28:25,460 Počítejte. 611 00:28:25,460 --> 00:28:26,720 Vynikající práce. 612 00:28:26,720 --> 00:28:28,570 Pojďme dál. 613 00:28:28,570 --> 00:28:29,920 >> Řetězce. 614 00:28:29,920 --> 00:28:30,630 Řetězce. 615 00:28:30,630 --> 00:28:31,730 Viděli jsme to předtím na přednášce. 616 00:28:31,730 --> 00:28:33,390 To mi vyrazil dech, když jsem První to zjistila. 617 00:28:33,390 --> 00:28:37,240 To asi neměl vyhodit kohokoliv mysl tady, ale to je v pořádku. 618 00:28:37,240 --> 00:28:41,260 >> Řetězce jsou pole znaků a oni skončí s, jak jste řekl, 619 00:28:41,260 --> 00:28:45,710 null terminátor, který je to / 0 charakteru. 620 00:28:45,710 --> 00:28:47,740 Pokud budeme kreslit řetězec na deska, budeme kreslit to sem. 621 00:28:47,740 --> 00:28:53,080 622 00:28:53,080 --> 00:28:56,420 Tak jak dlouho je tento řetězec? 623 00:28:56,420 --> 00:28:56,680 Promiňte. 624 00:28:56,680 --> 00:28:57,660 Jak dlouho je tento řetězec? 625 00:28:57,660 --> 00:28:57,910 >> STUDENT: [neslyšitelné]. 626 00:28:57,910 --> 00:28:59,010 >> JASON Hirschhorn: Čtyři? 627 00:28:59,010 --> 00:28:59,880 Proč je to čtyři? 628 00:28:59,880 --> 00:29:02,240 >> STUDENT: Vzhledem k tomu, páté místo je pro nulový znak. 629 00:29:02,240 --> 00:29:04,070 >> JASON Hirschhorn: Takže páté místo je pro nulový znak. 630 00:29:04,070 --> 00:29:07,130 Takže pokud bych měl běžet na strlen to by se mi čtyři. 631 00:29:07,130 --> 00:29:07,850 Opravte. 632 00:29:07,850 --> 00:29:11,640 A pole, i když, pokud bych měl inicializovat pole, kolik místa 633 00:29:11,640 --> 00:29:13,444 budu muset žádat? 634 00:29:13,444 --> 00:29:13,821 >> STUDENT: Five. 635 00:29:13,821 --> 00:29:14,200 >> JASON Hirschhorn: Five. 636 00:29:14,200 --> 00:29:17,650 Chtěl bych se zeptat na pět, ale já dal jen čtyři znaky zde 637 00:29:17,650 --> 00:29:19,750 protože musím dát, že null zakončení na konci. 638 00:29:19,750 --> 00:29:25,260 Takže budeme psát "Ohai" a dal null zakončení v konci. 639 00:29:25,260 --> 00:29:31,820 640 00:29:31,820 --> 00:29:34,940 Řekneme, že je to řetězec s to se rovná. 641 00:29:34,940 --> 00:29:36,610 Co je to držák nula? 642 00:29:36,610 --> 00:29:40,210 643 00:29:40,210 --> 00:29:41,550 Držák je nula, Annie? 644 00:29:41,550 --> 00:29:41,950 >> STUDENT: O. 645 00:29:41,950 --> 00:29:45,400 >> JASON Hirschhorn: Ó, přesně tak. je držák jeden? 646 00:29:45,400 --> 00:29:48,200 je držák pět? 647 00:29:48,200 --> 00:29:52,670 648 00:29:52,670 --> 00:29:53,955 je držák pět? 649 00:29:53,955 --> 00:29:54,740 >> STUDENT: neexistuje. 650 00:29:54,740 --> 00:29:55,040 >> JASON Hirschhorn: neexistuje. 651 00:29:55,040 --> 00:29:57,050 Přesně tak. 652 00:29:57,050 --> 00:29:57,940 Skvělý. 653 00:29:57,940 --> 00:30:03,120 Máte otázky k pochopení řetězce jako pole postav? 654 00:30:03,120 --> 00:30:03,870 OK, pak. 655 00:30:03,870 --> 00:30:05,440 Ještě jeden program pro vás. 656 00:30:05,440 --> 00:30:09,190 Napište program, který vyzve uživatele pro řetězec a pak vytiskne každý 657 00:30:09,190 --> 00:30:11,880 znak na nový řádek. 658 00:30:11,880 --> 00:30:14,160 Takže pojďme se tři minuty psát tento program, a pak budeme kódovat jej 659 00:30:14,160 --> 00:30:15,410 jako skupina. 660 00:30:15,410 --> 00:31:04,730 661 00:31:04,730 --> 00:31:04,830 >> Promiňte. 662 00:31:04,830 --> 00:31:06,470 Věděli jste třeba vidět? 663 00:31:06,470 --> 00:31:07,410 >> STUDENT: Ne 664 00:31:07,410 --> 00:31:08,660 >> JASON Hirschhorn: OK. 665 00:31:08,660 --> 00:31:36,390 666 00:31:36,390 --> 00:31:40,605 Pojďme ještě jednu minutu kód tohoto nebo alespoň začít na něm. 667 00:31:40,605 --> 00:32:13,900 668 00:32:13,900 --> 00:32:17,020 >> Takže můžete pokračovat v práci, ale budu začít chodit přes něj. 669 00:32:17,020 --> 00:32:22,560 Tak jako předtím, mám na obrazovce # Include cs50.h, # include stdio.h. 670 00:32:22,560 --> 00:32:24,020 int main neplatné. 671 00:32:24,020 --> 00:32:28,880 Uvnitř složených závorek Hlavní je, mám dvě připomínky, pseudokód. 672 00:32:28,880 --> 00:32:30,980 Jedním z nich je požádat o řetězec od uživatele. 673 00:32:30,980 --> 00:32:33,900 Druhá je vytisknout každý znak na nový řádek. 674 00:32:33,900 --> 00:32:39,780 Takže Anna, můžete mi dát zeptat pro řetězec od uživatele? 675 00:32:39,780 --> 00:32:41,970 >> STUDENT: printf. 676 00:32:41,970 --> 00:32:42,720 >> JASON Hirschhorn: printf? 677 00:32:42,720 --> 00:32:45,050 >> Žák: Ano. 678 00:32:45,050 --> 00:32:46,165 ( 679 00:32:46,165 --> 00:32:47,610 >> JASON Hirschhorn: ( 680 00:32:47,610 --> 00:32:49,300 >> Student: "Dej mi řetězec. 681 00:32:49,300 --> 00:32:52,380 >> JASON Hirschhorn: "dát me str - pardon - 682 00:32:52,380 --> 00:32:53,710 string. 683 00:32:53,710 --> 00:32:59,980 >> STUDENT: / n ") středník. 684 00:32:59,980 --> 00:33:02,300 >> JASON Hirschhorn: Konec řetězec, uzavřené závorky, středníky. 685 00:33:02,300 --> 00:33:03,550 >> Žák: Ano. 686 00:33:03,550 --> 00:33:09,080 A pak další řádek, řetězec s = dostat řetězec. 687 00:33:09,080 --> 00:33:11,240 >> JASON Hirschhorn: String s = dostat řetězec. 688 00:33:11,240 --> 00:33:11,665 >> Žák: Ano. 689 00:33:11,665 --> 00:33:13,080 A pak () 690 00:33:13,080 --> 00:33:14,365 >> JASON Hirschhorn: () 691 00:33:14,365 --> 00:33:14,720 >> STUDENT: středník. 692 00:33:14,720 --> 00:33:15,540 >> JASON Hirschhorn: středník. 693 00:33:15,540 --> 00:33:16,890 Fantastic. 694 00:33:16,890 --> 00:33:19,000 Takže budu se dostat řetězec a Jdu uložit v čem? 695 00:33:19,000 --> 00:33:21,830 Co je to proměnná s názvem který jste vytvořili? 696 00:33:21,830 --> 00:33:23,290 >> STUDENT: String s. 697 00:33:23,290 --> 00:33:24,580 >> JASON Hirschhorn: Proměnná se nazývá s.. 698 00:33:24,580 --> 00:33:25,700 Je to typ string. 699 00:33:25,700 --> 00:33:27,200 Přesně tak. 700 00:33:27,200 --> 00:33:30,080 Další věc, kterou chceme, je vytisknout každá postava na nový řádek. 701 00:33:30,080 --> 00:33:31,710 Kdo mi může dát tento kód? 702 00:33:31,710 --> 00:33:32,110 [Neslyšitelný]? 703 00:33:32,110 --> 00:33:33,000 Můžeš mi to dát? 704 00:33:33,000 --> 00:33:33,580 >> STUDENT: Jasně. 705 00:33:33,580 --> 00:33:35,420 >> JASON Hirschhorn: Pojďme na to. 706 00:33:35,420 --> 00:33:36,080 A omlouvám se. 707 00:33:36,080 --> 00:33:38,896 Nemám rád opakovat to, co říkáte, protože jste jak na to, ale myslím, 708 00:33:38,896 --> 00:33:42,100 musí opakovat tak, že když se přepsat to, mohou se všechny 709 00:33:42,100 --> 00:33:44,870 text se na přepisů. 710 00:33:44,870 --> 00:33:47,180 Takže si můžete jen držet mluvit. 711 00:33:47,180 --> 00:33:48,590 Já mám bohužel to říci nad vámi. 712 00:33:48,590 --> 00:33:49,510 Je mi líto, ale - 713 00:33:49,510 --> 00:33:50,610 >> Student: To je v pořádku. 714 00:33:50,610 --> 00:33:53,010 Pro int i = 0 715 00:33:53,010 --> 00:33:54,170 >> JASON Hirschhorn: Pro int i = 0 716 00:33:54,170 --> 00:33:56,740 >> Žák: Myslím, méně než - 717 00:33:56,740 --> 00:33:58,206 >> JASON Hirschhorn: středník. 718 00:33:58,206 --> 00:34:00,650 >> STUDENT: Před tím můžeme dát proměnné tak dostanete pravý délky názvu? 719 00:34:00,650 --> 00:34:01,870 >> JASON Hirschhorn: Oh, to ne chcete umístit středník? 720 00:34:01,870 --> 00:34:02,310 OK. 721 00:34:02,310 --> 00:34:05,120 Tak co chceš dělat po nulu? 722 00:34:05,120 --> 00:34:09,340 >> STUDENT: Chci se dostat Délka řetězce a s 723 00:34:09,340 --> 00:34:10,410 nastavit, aby se do proměnné? 724 00:34:10,410 --> 00:34:11,760 >> JASON Hirschhorn: OK, tak jak to mám udělat, že? 725 00:34:11,760 --> 00:34:17,636 >> Žák: Takže vy int length = 726 00:34:17,636 --> 00:34:20,010 >> JASON Hirschhorn: int length = 727 00:34:20,010 --> 00:34:22,230 >> STUDENT: S-T-R-L-E-N. 728 00:34:22,230 --> 00:34:24,260 >> JASON Hirschhorn: S-T-R-L-E-N - 729 00:34:24,260 --> 00:34:25,380 >> STUDENT: S. 730 00:34:25,380 --> 00:34:25,790 Konzoly. 731 00:34:25,790 --> 00:34:27,920 >> JASON Hirschhorn: (y). 732 00:34:27,920 --> 00:34:33,040 >> Žák: A pak myslím, že budete muset dát středník mezi dvěma ints. 733 00:34:33,040 --> 00:34:34,590 >> JASON Hirschhorn: středník Po nastavení nuly? 734 00:34:34,590 --> 00:34:35,260 >> STUDENT: Jo. 735 00:34:35,260 --> 00:34:40,670 Pak dal středník po tom, a říkáte, i menší než délka. 736 00:34:40,670 --> 00:34:43,250 i menší než délka, která je variabilní. 737 00:34:43,250 --> 00:34:44,590 >> Žák: A pak středník. 738 00:34:44,590 --> 00:34:45,790 >> JASON Hirschhorn: středník. 739 00:34:45,790 --> 00:34:46,290 >> STUDENT: i + +. 740 00:34:46,290 --> 00:34:46,909 >> JASON Hirschhorn: i + +. 741 00:34:46,909 --> 00:34:47,530 Tady je náš cyklu for. 742 00:34:47,530 --> 00:34:48,860 OK, uvnitř smyčky for. 743 00:34:48,860 --> 00:34:51,670 >> Žák: A pak to printf. 744 00:34:51,670 --> 00:34:53,340 >> JASON Hirschhorn: printf. 745 00:34:53,340 --> 00:34:53,889 >> STUDENT: Závorky. 746 00:34:53,889 --> 00:34:55,130 >> JASON Hirschhorn: závorky, uvozovky. 747 00:34:55,130 --> 00:34:59,930 >> STUDENT: Závorky, citace,% c / n. 748 00:34:59,930 --> 00:35:00,760 >> JASON Hirschhorn:% c, OK. 749 00:35:00,760 --> 00:35:01,670 >> STUDENT: / n. 750 00:35:01,670 --> 00:35:03,470 >> JASON Hirschhorn: / n. 751 00:35:03,470 --> 00:35:04,410 >> STUDENT: Uzavřené citace. 752 00:35:04,410 --> 00:35:05,270 >> JASON Hirschhorn: Uzavřené citace. 753 00:35:05,270 --> 00:35:05,810 >> STUDENT: Comma. 754 00:35:05,810 --> 00:35:06,860 >> JASON Hirschhorn: Comma. 755 00:35:06,860 --> 00:35:07,800 >> STUDENT: S. 756 00:35:07,800 --> 00:35:08,070 >> JASON Hirschhorn: S. 757 00:35:08,070 --> 00:35:08,690 >> STUDENT: Konzola i. 758 00:35:08,690 --> 00:35:10,230 >> JASON Hirschhorn: Konzola i. 759 00:35:10,230 --> 00:35:11,520 >> Žák: A zavřel závorky. 760 00:35:11,520 --> 00:35:12,540 >> JASON Hirschhorn: Uzavřené závorky. 761 00:35:12,540 --> 00:35:13,660 >> Žák: A pak středník. 762 00:35:13,660 --> 00:35:13,770 >> JASON Hirschhorn: středník. 763 00:35:13,770 --> 00:35:14,380 Fantastic. 764 00:35:14,380 --> 00:35:16,890 Takže pojďme zachránit toto. 765 00:35:16,890 --> 00:35:19,770 Udělat kouzlo. 766 00:35:19,770 --> 00:35:20,040 Ach jo. 767 00:35:20,040 --> 00:35:22,275 Mám pár chyb. 768 00:35:22,275 --> 00:35:33,120 První chyba na řádku 11, říká, očekává, že výraz, a to dává 769 00:35:33,120 --> 00:35:36,910 me chyba, že druhý int, tam je chyba. 770 00:35:36,910 --> 00:35:38,430 Existuje nějaká chyba asi tam. 771 00:35:38,430 --> 00:35:41,060 Ví někdo, co to je chyba? 772 00:35:41,060 --> 00:35:41,640 Kurt? 773 00:35:41,640 --> 00:35:44,108 >> Žák: Myslím, že to má být čárka a ne středník. 774 00:35:44,108 --> 00:35:46,010 >> JASON Hirschhorn: OK, čárka místo středníkem. 775 00:35:46,010 --> 00:35:47,340 Tak je to, že vše, co je třeba opravit? 776 00:35:47,340 --> 00:35:47,655 >> STUDENT: Ne 777 00:35:47,655 --> 00:35:48,930 >> JASON Hirschhorn: Co jiného potřebujeme opravit? 778 00:35:48,930 --> 00:35:50,920 >> STUDENT: Musíme zahrnout string.h. 779 00:35:50,920 --> 00:35:51,680 >> JASON Hirschhorn: Zahrnout string.h. 780 00:35:51,680 --> 00:35:53,730 Kam musím patří, že? 781 00:35:53,730 --> 00:35:57,085 >> STUDENT: Stejné místo máte, včetně další věci, že jo 782 00:35:57,085 --> 00:35:59,560 po zahrnují stdio.h. 783 00:35:59,560 --> 00:36:01,610 >> JASON Hirschhorn: Uvidíme, jestli to běží první, protože obecně se mi líbí 784 00:36:01,610 --> 00:36:06,360 opravit jednu věc a teprve potom spustit to, a pak zjistit chyby, které dostáváme. 785 00:36:06,360 --> 00:36:11,620 Takže jdeme na vymazání terminálu s řídicím n, pojďme to udělat kouzlo. 786 00:36:11,620 --> 00:36:15,190 787 00:36:15,190 --> 00:36:18,770 Takže další chyba na řádku 11. 788 00:36:18,770 --> 00:36:20,540 Předpokládaný středník. 789 00:36:20,540 --> 00:36:22,640 A já jsem stále dostává chyby na tomto řádku. 790 00:36:22,640 --> 00:36:25,270 Tak to mi nedala chybová zpráva, že jej nechápe, co je strlen, 791 00:36:25,270 --> 00:36:28,980 ale je to, že mi chyby na tomto linka, takže co jiného je špatně? 792 00:36:28,980 --> 00:36:29,690 Označit? 793 00:36:29,690 --> 00:36:30,940 Marcusi. 794 00:36:30,940 --> 00:36:32,570 >> STUDENT: Máte na odstranění Druhý int prohlášení? 795 00:36:32,570 --> 00:36:34,990 >> JASON Hirschhorn: Odstranit druhý int. 796 00:36:34,990 --> 00:36:35,710 Zkusme to. 797 00:36:35,710 --> 00:36:37,600 Nyní vymazání terminálu. 798 00:36:37,600 --> 00:36:40,130 Udělat kouzlo. 799 00:36:40,130 --> 00:36:40,490 Chyba. 800 00:36:40,490 --> 00:36:42,890 Implicitně prohlásil knihovny Funkce strlen. 801 00:36:42,890 --> 00:36:44,270 Takže teď vidím, že chybu. 802 00:36:44,270 --> 00:36:45,760 Co je třeba zahrnout? 803 00:36:45,760 --> 00:36:46,660 >> STUDENT: string.h. 804 00:36:46,660 --> 00:36:51,880 >> JASON Hirschhorn: Include string.h, Uděláme # include string.h v horní 805 00:36:51,880 --> 00:36:52,920 na obrazovce. 806 00:36:52,920 --> 00:36:55,450 Zachraňme, aby kouzlo. 807 00:36:55,450 --> 00:36:56,970 Nyní sestavují. 808 00:36:56,970 --> 00:37:01,970 Takže znovu, co jsme potřebovali pamatovat linku 12 v našem pro smyčku 809 00:37:01,970 --> 00:37:08,010 jsme jeho zřízení, int i = 0, délka = strlen (s). 810 00:37:08,010 --> 00:37:09,350 >> To je fantastický strategie. 811 00:37:09,350 --> 00:37:12,590 Styl je to skvělé, Konstrukce je to skvělé. 812 00:37:12,590 --> 00:37:15,620 Můžeme jít do Z těchto důvodů později, ale takhle stačí zavolat 813 00:37:15,620 --> 00:37:19,040 strlen jednou namísto každý spuštění průchodu smyčkou. 814 00:37:19,040 --> 00:37:22,255 Nicméně, budete muset použít čárku tam a nemusíte int znovu. 815 00:37:22,255 --> 00:37:24,180 Pokud jste prohlásil jak těch proměnné dohromady, 816 00:37:24,180 --> 00:37:26,850 Nemusíte int znovu. 817 00:37:26,850 --> 00:37:29,820 A pak, pokud budete používat strlen, což je další knihovna 818 00:37:29,820 --> 00:37:33,560 Funkce není zahrnuta do stdio.h nebo cs50.h, aby 819 00:37:33,560 --> 00:37:35,310 nezapomeňte zahrnout string.h. 820 00:37:35,310 --> 00:37:35,900 Kurt? 821 00:37:35,900 --> 00:37:39,085 >> Žák: Takže pokud nepotřebujete říci, jaký typ délka, to dělá 822 00:37:39,085 --> 00:37:40,290 neznamená, že musí být int? 823 00:37:40,290 --> 00:37:41,930 Ty nemohl mít dva různé Typy tam? 824 00:37:41,930 --> 00:37:43,290 >> JASON Hirschhorn: Takže jste mohli mají dva různé typy. 825 00:37:43,290 --> 00:37:45,730 Délka je int tady, ačkoli. 826 00:37:45,730 --> 00:37:48,590 Délka je int, protože je to čárka a pak to samé. 827 00:37:48,590 --> 00:37:50,460 >> Žák: Takže to předpokládá, že to bude být stejný jako první? 828 00:37:50,460 --> 00:37:52,423 >> JASON Hirschhorn: Přesně tak. 829 00:37:52,423 --> 00:37:54,970 Nebudeme dělat teď, ale může obsahovat dvě proměnné na 830 00:37:54,970 --> 00:37:57,080 stejném řádku pomocí jednoho datového typu. 831 00:37:57,080 --> 00:38:01,415 Takže int x, y by vytvořit dvě proměnné. 832 00:38:01,415 --> 00:38:05,830 833 00:38:05,830 --> 00:38:10,770 Takže int x, y, pokud uděláme to, že dává me nepoužité proměnné x a y, protože 834 00:38:10,770 --> 00:38:12,020 nebudeme používat. 835 00:38:12,020 --> 00:38:17,950 836 00:38:17,950 --> 00:38:21,650 Takže uvedení neplatné, než je jen fantazie trik, pokud nechcete použít 837 00:38:21,650 --> 00:38:22,810 něco použít. 838 00:38:22,810 --> 00:38:26,300 Ale jak vidíte, já stvořím xay na stejném řádku s čárkou. 839 00:38:26,300 --> 00:38:28,450 Je to vytvoření dvou celých čísel právě tam. 840 00:38:28,450 --> 00:38:31,560 Takže ano, zcela možné vytvořit dvě věci na stejném řádku 841 00:38:31,560 --> 00:38:33,720 odděleny čárkou. 842 00:38:33,720 --> 00:38:35,470 Zbavme se těch, ačkoli. 843 00:38:35,470 --> 00:38:36,370 >> Takže to kouzlo. 844 00:38:36,370 --> 00:38:39,200 Děkuji vám kluci pro kódování to pro nás. 845 00:38:39,200 --> 00:38:43,040 Pojďme udělat to ještě jednou, spusťte jej. 846 00:38:43,040 --> 00:38:44,580 Dej mi řetězec. 847 00:38:44,580 --> 00:38:45,580 [Neslyšitelné], jsi nejvíc. 848 00:38:45,580 --> 00:38:47,910 Co je řetězec? 849 00:38:47,910 --> 00:38:48,250 >> STUDENT: Dobrý den. 850 00:38:48,250 --> 00:38:50,110 >> JASON Hirschhorn: Dobrý den. 851 00:38:50,110 --> 00:38:52,810 H-E-L-L-O, kde každý znak v jednom řádku. 852 00:38:52,810 --> 00:38:53,700 Vypadá skvěle. 853 00:38:53,700 --> 00:38:54,750 Pojďme znovu spusťte. 854 00:38:54,750 --> 00:38:56,050 Vždy jít na kontrolu pro rohové a případy. 855 00:38:56,050 --> 00:38:57,750 Co je dobré roh věc zkontrolovat? 856 00:38:57,750 --> 00:39:00,250 857 00:39:00,250 --> 00:39:00,890 >> STUDENT: číslo? 858 00:39:00,890 --> 00:39:02,240 >> JASON Hirschhorn: číslo. 859 00:39:02,240 --> 00:39:06,580 Tak jsem si dal v 1, a to vytiskne 1. 860 00:39:06,580 --> 00:39:08,970 Není to ptá na dopisy, takže Vypadá to, že čísla práci. 861 00:39:08,970 --> 00:39:09,890 Dobrý roh pouzdro pro kontrolu. 862 00:39:09,890 --> 00:39:11,740 Jaký je další dobrý roh pouzdro pro kontrolu? 863 00:39:11,740 --> 00:39:12,420 >> STUDENT: prázdný řetězec. 864 00:39:12,420 --> 00:39:12,910 >> JASON Hirschhorn: Hm? 865 00:39:12,910 --> 00:39:13,880 >> STUDENT: Stejně jako prázdný řetězec. 866 00:39:13,880 --> 00:39:14,400 >> JASON Hirschhorn: Prázdný řetězec. 867 00:39:14,400 --> 00:39:16,730 Takže pojďme se dát nic. 868 00:39:16,730 --> 00:39:18,660 A co se bude tisknout? 869 00:39:18,660 --> 00:39:19,090 >> STUDENT: Nic. 870 00:39:19,090 --> 00:39:19,870 >> JASON Hirschhorn: Nic. 871 00:39:19,870 --> 00:39:20,555 Vypadá to, že to funguje. 872 00:39:20,555 --> 00:39:23,790 Můžete zkusit více rohových případy, ale obecně čísla, odlišné údaje 873 00:39:23,790 --> 00:39:26,160 skvělé vyzkoušet, stejně nic není. 874 00:39:26,160 --> 00:39:29,180 Nic, nula, negativy jsou vždy velké věci vyzkoušet a věci, které 875 00:39:29,180 --> 00:39:33,140 by měl test, co určitě budeme testovat Zkontrolujte pro a 50 se bude testovat. 876 00:39:33,140 --> 00:39:34,720 Máte nějaké otázky ohledně spell.c? 877 00:39:34,720 --> 00:39:37,752 878 00:39:37,752 --> 00:39:39,310 >> OK, pojďme vrátíme. 879 00:39:39,310 --> 00:39:42,420 Mám ještě jeden program, pro vy psát. 880 00:39:42,420 --> 00:39:44,700 Říká se students.c. 881 00:39:44,700 --> 00:39:49,020 Jedná se o program, který požádá uživatele o pět jmen, pak se náhodně vybere 882 00:39:49,020 --> 00:39:51,600 a vytiskne jednu z jmen. 883 00:39:51,600 --> 00:39:54,840 Tento program je trochu víc zapojit, než poslední dva jsme již psali, 884 00:39:54,840 --> 00:39:58,080 tak proč jsme se pět minut, kód to individuálně, a pak budeme 885 00:39:58,080 --> 00:40:00,130 kód je společně. 886 00:40:00,130 --> 00:40:03,795 >> Tento program také zahrnuje některé věci nemusí neviděli, takže pokud 887 00:40:03,795 --> 00:40:06,390 Máte dotaz ohledně, jak se To udělám, zvedněte ruku. 888 00:40:06,390 --> 00:40:08,530 Přijdu a bod, který ve správném směru. 889 00:40:08,530 --> 00:40:10,820 Ale my jsme také dělá to, protože to bude dobrý způsob, jak představit některé 890 00:40:10,820 --> 00:40:12,070 témata, která jsou ošidné. 891 00:40:12,070 --> 00:44:14,600 892 00:44:14,600 --> 00:44:15,560 >> Tak to funguje, ne? 893 00:44:15,560 --> 00:44:17,580 >> STUDENT: Jo. 894 00:44:17,580 --> 00:44:19,180 >> JASON Hirschhorn: Když zapnete v Problém set, je tu mnoho způsobů, jak 895 00:44:19,180 --> 00:44:20,790 to, ale některé jsou elegantní než ostatní. 896 00:44:20,790 --> 00:44:29,000 897 00:44:29,000 --> 00:44:31,110 Pojďme se ponořit dovnitř 898 00:44:31,110 --> 00:44:32,880 # Include cs50.h. 899 00:44:32,880 --> 00:44:34,250 # Include stdio.h. 900 00:44:34,250 --> 00:44:37,240 int main void složené závorky. 901 00:44:37,240 --> 00:44:39,430 Uvnitř složených závorek, Mám dvě připomínky. 902 00:44:39,430 --> 00:44:41,500 První z nich je, zeptejte se Uživatel pět jmen. 903 00:44:41,500 --> 00:44:46,580 Druhý je, že náhodně vybere a vytisknout jeden z názvů. 904 00:44:46,580 --> 00:44:50,250 Takže pojďme udělat ten první, zeptejte se uživatel pro pět jmen. 905 00:44:50,250 --> 00:44:53,730 Kdo požádal uživatele na pět jmen a můžete mi říct, jak to udělat? 906 00:44:53,730 --> 00:44:56,760 907 00:44:56,760 --> 00:44:58,570 Jen dva lidé udělali první část. 908 00:44:58,570 --> 00:45:00,150 Tři lidé udělali první část. 909 00:45:00,150 --> 00:45:00,670 Čtyři, pět. 910 00:45:00,670 --> 00:45:03,140 Tome, jak to děláte? 911 00:45:03,140 --> 00:45:09,940 >> STUDENT: Ty by deklarovat řetězcovou a pak jméno, držák pět. 912 00:45:09,940 --> 00:45:12,070 >> JASON Hirschhorn: String jméno držák pět. 913 00:45:12,070 --> 00:45:15,350 Takže co je to linka dělá, Název řetězce držák pět? 914 00:45:15,350 --> 00:45:17,800 >> STUDENT: Ty by deklarovat Pole řetězců. 915 00:45:17,800 --> 00:45:19,000 >> JASON Hirschhorn: Toto je Pole řetězců. 916 00:45:19,000 --> 00:45:21,590 Kolik řetězce budou aby se sem vešel? 917 00:45:21,590 --> 00:45:22,010 >> STUDENT: Five. 918 00:45:22,010 --> 00:45:22,320 >> JASON Hirschhorn: Five. 919 00:45:22,320 --> 00:45:22,660 Výborný. 920 00:45:22,660 --> 00:45:26,360 Budeme říkat jména, protože budeme mít více ty. 921 00:45:26,360 --> 00:45:27,790 OK, další? 922 00:45:27,790 --> 00:45:29,270 >> Žák: A pak jste mají pro smyčce - 923 00:45:29,270 --> 00:45:30,060 >> JASON Hirschhorn: pro smyčce. 924 00:45:30,060 --> 00:45:33,035 >> Student: - pro i = 0. 925 00:45:33,035 --> 00:45:37,040 >> JASON Hirschhorn: for (int i = 0. 926 00:45:37,040 --> 00:45:38,270 >> STUDENT: středník. 927 00:45:38,270 --> 00:45:38,880 >> JASON Hirschhorn: středník. 928 00:45:38,880 --> 00:45:39,790 >> Žák: Myslím, méně než pět. 929 00:45:39,790 --> 00:45:41,310 >> JASON Hirschhorn: I nižší než pět. 930 00:45:41,310 --> 00:45:42,230 >> STUDENT: středník. 931 00:45:42,230 --> 00:45:42,560 >> JASON Hirschhorn: středník. 932 00:45:42,560 --> 00:45:43,380 >> STUDENT: i + +. 933 00:45:43,380 --> 00:45:46,050 >> JASON Hirschhorn: i + +. 934 00:45:46,050 --> 00:45:47,100 >> Žák: A zavřel závorky. 935 00:45:47,100 --> 00:45:48,600 >> JASON Hirschhorn: Uzavřené závorky, a pak některé složené závorky. 936 00:45:48,600 --> 00:45:50,050 Uvnitř složených závorek? 937 00:45:50,050 --> 00:45:51,423 >> Žák: A pak printf. 938 00:45:51,423 --> 00:45:52,535 >> JASON Hirschhorn: printf. 939 00:45:52,535 --> 00:45:56,200 >> STUDENT: Otevřené závorky name% d. 940 00:45:56,200 --> 00:45:57,090 >> JASON Hirschhorn: Je nám líto? 941 00:45:57,090 --> 00:45:57,660 >> STUDENT: Jméno. 942 00:45:57,660 --> 00:45:58,200 >> JASON Hirschhorn: Jméno. 943 00:45:58,200 --> 00:46:01,700 >> Žák: A pak mezeru a potom% d. 944 00:46:01,700 --> 00:46:02,950 >> JASON Hirschhorn: Jméno, prostor,% d. 945 00:46:02,950 --> 00:46:05,630 946 00:46:05,630 --> 00:46:10,820 >> STUDENT: A / n, a pak zavřel. 947 00:46:10,820 --> 00:46:15,070 >> JASON Hirschhorn: Takže název, místo, % D / n, uzavřené závorky. 948 00:46:15,070 --> 00:46:17,730 >> STUDENT: Čárka, i + 1. 949 00:46:17,730 --> 00:46:19,390 Omlouvám se. 950 00:46:19,390 --> 00:46:21,040 Uzavřený citace a pak čárka, i +1. 951 00:46:21,040 --> 00:46:24,400 >> JASON Hirschhorn: Zavřeno Nabídka, čárka, i +1. 952 00:46:24,400 --> 00:46:25,850 >> Žák: Ano. 953 00:46:25,850 --> 00:46:27,650 A pak další řádek - 954 00:46:27,650 --> 00:46:29,400 >> JASON Hirschhorn: i + 1. 955 00:46:29,400 --> 00:46:31,600 >> Žák: Ano. 956 00:46:31,600 --> 00:46:36,440 A pak další snímek jsou jména i držák. 957 00:46:36,440 --> 00:46:39,000 >> JASON Hirschhorn: Další řádek jsou jména i držák. 958 00:46:39,000 --> 00:46:41,360 >> STUDENT: = dostat řetězec. 959 00:46:41,360 --> 00:46:43,460 >> JASON Hirschhorn: = Get - 960 00:46:43,460 --> 00:46:44,510 kapitálu G-E-T - 961 00:46:44,510 --> 00:46:45,530 string. 962 00:46:45,530 --> 00:46:47,800 Jejda, omlouvám se. 963 00:46:47,800 --> 00:46:49,050 >> STUDENT: Otevřené, uzavřené závorky a pak - 964 00:46:49,050 --> 00:46:50,940 >> JASON Hirschhorn: Otevřená, uzavřená závorka. 965 00:46:50,940 --> 00:46:51,030 >> STUDENT: středník. 966 00:46:51,030 --> 00:46:52,500 >> JASON Hirschhorn: středník. 967 00:46:52,500 --> 00:46:57,545 OK, takže inicializaci pole řetězce, jména, a pak projít 968 00:46:57,545 --> 00:47:02,720 pro smyčce, a pětkrát vytiskněte některé výzvu pro uživatele a uložit 969 00:47:02,720 --> 00:47:03,360 pět řetězce. 970 00:47:03,360 --> 00:47:08,090 Má někdo nějaký úpravy to? 971 00:47:08,090 --> 00:47:10,030 Tome, myslím, že každý s vámi souhlasí. 972 00:47:10,030 --> 00:47:10,880 Vypadá to docela dobře. 973 00:47:10,880 --> 00:47:11,660 OK. 974 00:47:11,660 --> 00:47:14,830 Proč jsi to udělala i +1, i když? 975 00:47:14,830 --> 00:47:18,000 >> Žák: Myslím, že nemá být, ale i +1 tak, že je 976 00:47:18,000 --> 00:47:19,700 jméno, kdo jmenovali pět. 977 00:47:19,700 --> 00:47:21,930 V opačném případě by to bylo jméno nula pojmenovat čtyři. 978 00:47:21,930 --> 00:47:24,400 >> JASON Hirschhorn: Tak jste i 1 protože jinak by se 979 00:47:24,400 --> 00:47:27,060 vytisknout nula až čtyři, protože to, jak počítače přemýšlet, ale lidé 980 00:47:27,060 --> 00:47:28,530 není opravdu číst takhle. 981 00:47:28,530 --> 00:47:30,190 To je další věc, se kterými se setkáte. 982 00:47:30,190 --> 00:47:33,210 Někdy, když tisknete něco pro uživatele, budete chtít, aby se to 983 00:47:33,210 --> 00:47:35,733 trochu hezčí, a tím i +1 je v tomto případě 984 00:47:35,733 --> 00:47:37,430 způsob, jak to hezčí. 985 00:47:37,430 --> 00:47:41,380 >> Vidím také pět dvakrát, název řetězce je pět, i je menší než pět. 986 00:47:41,380 --> 00:47:42,430 Vím, kde máš pět. 987 00:47:42,430 --> 00:47:44,890 Máš to ode mě vyprávění si pět jmen. 988 00:47:44,890 --> 00:47:49,000 Ale pokud bychom chtěli, aby kód trochu robustnější, jedna věc, kterou bychom 989 00:47:49,000 --> 00:47:53,110 může udělat, je tady, mimo int, bychom mohli udělat něco takového, 990 00:47:53,110 --> 00:47:57,070 # Define, a my jsme mohli dělat jmen 5. 991 00:47:57,070 --> 00:48:01,580 992 00:48:01,580 --> 00:48:05,390 >> Takže v podstatě tam, kde píšu kapitál N, kapitál, kapitál M, kapitál E, 993 00:48:05,390 --> 00:48:08,890 S městem, že řetězec, nahradí že s 5 v kódu. 994 00:48:08,890 --> 00:48:11,530 995 00:48:11,530 --> 00:48:13,445 Nebo si prostě říkají - my budeme jen zavolat, že číslo. 996 00:48:13,445 --> 00:48:17,190 Takže jsem definovat všechny čepice ČÍSLO být 5. 997 00:48:17,190 --> 00:48:22,830 >> Takže teď tam, kde jsem číslo 5, jsem jej nahradit veškeré ČÍSLO čepice. 998 00:48:22,830 --> 00:48:26,880 A teď, když chci změnit číslo jmen, vše, co potřebujete udělat, je 999 00:48:26,880 --> 00:48:31,350 tento jeden řádek, řádek čtyři, kde mám # Define číslo 5, změnit na 10, 1000 00:48:31,350 --> 00:48:34,340 nebo změnit na 4. 1001 00:48:34,340 --> 00:48:37,400 Když kód dostane déle, nejste bude pamatovat všechny místa, které 1002 00:48:37,400 --> 00:48:41,630 dát, kolik jmen jste chtěli, a Aby pro vás nenechte ujít jeden, je to 1003 00:48:41,630 --> 00:48:45,490 dobrý způsob, jak to udělat, najít něco, nahoru nahoru a pak stačí použít tuto frázi 1004 00:48:45,490 --> 00:48:46,400 všude v celém svém kódu. 1005 00:48:46,400 --> 00:48:46,780 Marcus? 1006 00:48:46,780 --> 00:48:49,780 >> STUDENT: Je to stylisticky přednostní než globálně definovat 1007 00:48:49,780 --> 00:48:51,270 konstantní n? 1008 00:48:51,270 --> 00:48:53,760 >> JASON Hirschhorn: Takže je to, že stylisticky raději než na celém světě 1009 00:48:53,760 --> 00:48:54,980 stanovení konstantní n? 1010 00:48:54,980 --> 00:48:59,036 Takže říkáš, že by ano, int číslo = 5? 1011 00:48:59,036 --> 00:49:01,300 >> STUDENT: Mají souhlásky v C, nebo ne? 1012 00:49:01,300 --> 00:49:02,720 >> JASON Hirschhorn: Nebo const - v sobě rovni. 1013 00:49:02,720 --> 00:49:04,275 Takže říkáš, že právě globální proměnná? 1014 00:49:04,275 --> 00:49:04,990 >> STUDENT: Jo. 1015 00:49:04,990 --> 00:49:08,670 >> JASON Hirschhorn: Takže stylisticky není nutně jediný správný 1016 00:49:08,670 --> 00:49:12,050 odpovědět, ale oba z nich jsou lepší než jen házení těchto náhodných 1017 00:49:12,050 --> 00:49:12,960 čísel na celém svém kódu. 1018 00:49:12,960 --> 00:49:14,650 Říkáme jim magická čísla. 1019 00:49:14,650 --> 00:49:16,450 Když se podívám na váš kód, nebo když někdo čte přes to, že 1020 00:49:16,450 --> 00:49:18,790 Nechci právě tyto náhodných čísel které nemají smysl. 1021 00:49:18,790 --> 00:49:22,420 I číslo 26, který je obecně počet písmen v abecedě, 1022 00:49:22,420 --> 00:49:28,870 je lepší definovat abecedy do horní a uložit číslo 26 v tomto řetězci 1023 00:49:28,870 --> 00:49:29,550 pokud to dává smysl. 1024 00:49:29,550 --> 00:49:33,210 >> Nebo na problém nastavit jeden, spíše než - znovu, nemluvili jsme o tom na 1025 00:49:33,210 --> 00:49:37,020 čas, ale místo toho jen házení v 25 nebo 10 všude, můžete 1026 00:49:37,020 --> 00:49:41,860 uložit číslo 25 jako čtvrti a 10 jako DIME, a to usnadňuje 1027 00:49:41,860 --> 00:49:44,140 kdo čte přes váš kód pochopit, proč jste si vybrali tento počet. 1028 00:49:44,140 --> 00:49:46,540 A také pro vás, pokud jste někdy chtěli aktualizovat kód, ale je to trochu 1029 00:49:46,540 --> 00:49:47,290 více robustní. 1030 00:49:47,290 --> 00:49:48,070 Jo? 1031 00:49:48,070 --> 00:49:50,830 >> STUDENT: Tento kód je také bude k dispozici pro nás po? 1032 00:49:50,830 --> 00:49:52,453 >> JASON Hirschhorn: Všechny z těchto kódů co jsme napsali spolu se 1033 00:49:52,453 --> 00:49:54,620 bude zasláno kluci a jsou k dispozici. 1034 00:49:54,620 --> 00:49:55,740 Ano. 1035 00:49:55,740 --> 00:49:58,040 Takže ptát uživatele na pět jmen. 1036 00:49:58,040 --> 00:50:00,280 Náhodně vyberte a vytiskněte jeden z názvů. 1037 00:50:00,280 --> 00:50:00,940 Kdo to udělal čáru? 1038 00:50:00,940 --> 00:50:02,230 Toto je nejsložitější sázce. 1039 00:50:02,230 --> 00:50:02,450 Je nám líto, Tome. 1040 00:50:02,450 --> 00:50:05,510 Vy jste opravdu dobrou práci, ale to je trochu složitější. 1041 00:50:05,510 --> 00:50:06,600 Marcusi, jděte do toho. 1042 00:50:06,600 --> 00:50:10,180 >> Žák: No v první řadě, budete třeba zahrnout stdlib.h a time.h. 1043 00:50:10,180 --> 00:50:13,200 >> JASON Hirschhorn: Takže říkáš, že na nahoře, zahrnuje dvě další knihovny. 1044 00:50:13,200 --> 00:50:18,830 Chceš, abych patří S-T-D-L-I-B bod H, Standardní knihovna a co 1045 00:50:18,830 --> 00:50:19,760 byl druhý? 1046 00:50:19,760 --> 00:50:21,010 >> STUDENT: Time.h. 1047 00:50:21,010 --> 00:50:25,130 1048 00:50:25,130 --> 00:50:27,840 >> JASON Hirschhorn: # include time.h. 1049 00:50:27,840 --> 00:50:29,470 To jsou další dvě knihovny. 1050 00:50:29,470 --> 00:50:31,790 Předpokládám, že teď budeme používat funkce, které jsou obsaženy v těchto 1051 00:50:31,790 --> 00:50:34,240 dva, což je důvod, proč jste potřebovali zahrnout je? 1052 00:50:34,240 --> 00:50:36,980 >> Žák: Takže, ty jsi první bude chtít psát srand. 1053 00:50:36,980 --> 00:50:38,770 >> JASON Hirschhorn: srand. 1054 00:50:38,770 --> 00:50:42,070 >> STUDENT: (čas (0) 1055 00:50:42,070 --> 00:50:42,700 >> JASON Hirschhorn: Omlouvám se. 1056 00:50:42,700 --> 00:50:45,580 Srand (time ( 1057 00:50:45,580 --> 00:50:46,890 >> STUDENT: 0. 1058 00:50:46,890 --> 00:50:47,230 >> JASON Hirschhorn: 0. 1059 00:50:47,230 --> 00:50:49,990 >> Student:)), středník. 1060 00:50:49,990 --> 00:50:51,320 >> JASON Hirschhorn: Další uzavřená závorka? 1061 00:50:51,320 --> 00:50:51,650 Středník. 1062 00:50:51,650 --> 00:50:53,610 Jdu jen vyměnit Váš nula s NULL. 1063 00:50:53,610 --> 00:50:55,980 Bude to dělat stejnou věc, ale obecně, uvidíte NULL, což 1064 00:50:55,980 --> 00:50:57,720 budeme o tom mluvit řádek druhý. 1065 00:50:57,720 --> 00:50:58,580 >> STUDENT: Stylisticky lepší? 1066 00:50:58,580 --> 00:51:02,240 >> JASON Hirschhorn: Obecně platí, že lidé, právo NULL, ale je to totéž. 1067 00:51:02,240 --> 00:51:05,010 >> Žák: A potom int jméno. 1068 00:51:05,010 --> 00:51:06,490 >> JASON Hirschhorn: Int jméno. 1069 00:51:06,490 --> 00:51:07,280 >> STUDENT: = 1070 00:51:07,280 --> 00:51:07,780 >> JASON Hirschhorn: = 1071 00:51:07,780 --> 00:51:08,580 >> STUDENT: Rand. 1072 00:51:08,580 --> 00:51:09,340 >> JASON Hirschhorn: Rand. 1073 00:51:09,340 --> 00:51:10,420 >> STUDENT: () 1074 00:51:10,420 --> 00:51:11,500 >> JASON Hirschhorn: () 1075 00:51:11,500 --> 00:51:12,850 >> STUDENT: Modulo číslo. 1076 00:51:12,850 --> 00:51:14,310 >> JASON Hirschhorn: Co je modulo? 1077 00:51:14,310 --> 00:51:14,970 Postava? 1078 00:51:14,970 --> 00:51:16,000 Znak procenta? 1079 00:51:16,000 --> 00:51:17,790 >> STUDENT: znak procenta. 1080 00:51:17,790 --> 00:51:19,521 Modulo číslo, které jste definovali až nahoře. 1081 00:51:19,521 --> 00:51:22,030 >> JASON Hirschhorn: Modulo ČÍSLO. 1082 00:51:22,030 --> 00:51:24,052 >> Žák: A pak středník. 1083 00:51:24,052 --> 00:51:24,660 >> JASON Hirschhorn: středník. 1084 00:51:24,660 --> 00:51:27,820 >> Žák: A pak nová linka, printf. 1085 00:51:27,820 --> 00:51:28,460 >> JASON Hirschhorn: printf. 1086 00:51:28,460 --> 00:51:29,730 >> STUDENT: ( 1087 00:51:29,730 --> 00:51:30,620 >> JASON Hirschhorn: ( 1088 00:51:30,620 --> 00:51:31,650 >> Student: " 1089 00:51:31,650 --> 00:51:32,630 >> JASON Hirschhorn: " 1090 00:51:32,630 --> 00:51:35,320 >> STUDENT:% s / n 1091 00:51:35,320 --> 00:51:37,220 >> JASON Hirschhorn:% s / n 1092 00:51:37,220 --> 00:51:38,420 >> Student: " 1093 00:51:38,420 --> 00:51:40,640 >> JASON Hirschhorn:% s / n " 1094 00:51:40,640 --> 00:51:43,540 >> STUDENT: čárka, mezera jména. 1095 00:51:43,540 --> 00:51:44,350 >> JASON Hirschhorn: Space - 1096 00:51:44,350 --> 00:51:46,300 >> Žák: No, myslím, že to, co to říkáme tady? 1097 00:51:46,300 --> 00:51:48,640 >> JASON Hirschhorn: Říkali jsme, že jména. 1098 00:51:48,640 --> 00:51:52,360 >> STUDENT: Open držák jméno. 1099 00:51:52,360 --> 00:51:55,090 >> JASON Hirschhorn: Open držák jméno. 1100 00:51:55,090 --> 00:51:55,850 >> STUDENT: Uzavřený držák. 1101 00:51:55,850 --> 00:51:56,490 >> JASON Hirschhorn: Uzavřený držák. 1102 00:51:56,490 --> 00:51:57,460 >> STUDENT:) 1103 00:51:57,460 --> 00:51:58,800 >> JASON Hirschhorn:) 1104 00:51:58,800 --> 00:51:59,440 >> STUDENT: středník. 1105 00:51:59,440 --> 00:52:00,410 >> JASON Hirschhorn: středník. 1106 00:52:00,410 --> 00:52:01,500 OK, pojďme zachránit. 1107 00:52:01,500 --> 00:52:04,410 Pojďme udělat tento kód. 1108 00:52:04,410 --> 00:52:06,365 Studenti. 1109 00:52:06,365 --> 00:52:07,100 Pojďme spuštěním tohoto kódu. 1110 00:52:07,100 --> 00:52:08,480 Studenti. 1111 00:52:08,480 --> 00:52:11,630 Ne. / Studenta. . / Studentů. 1112 00:52:11,630 --> 00:52:12,870 Jmenuj jednoho. 1113 00:52:12,870 --> 00:52:15,490 Řekneme, že David. 1114 00:52:15,490 --> 00:52:18,070 Jméno dva, RJ. 1115 00:52:18,070 --> 00:52:20,561 Jméno tři, Rob. 1116 00:52:20,561 --> 00:52:22,490 Název čtyři, Lucasi. 1117 00:52:22,490 --> 00:52:26,060 Název pět, Joseph. 1118 00:52:26,060 --> 00:52:28,850 A pak se to vytiskne Joseph znovu. 1119 00:52:28,850 --> 00:52:31,730 >> Dovolte mi tedy běžet znovu. 1120 00:52:31,730 --> 00:52:32,460 Dovolte mi, abych to stejná jména. 1121 00:52:32,460 --> 00:52:39,760 David, RJ, Rob, Lucas, Josef. 1122 00:52:39,760 --> 00:52:41,070 A to mi dal David tentokrát. 1123 00:52:41,070 --> 00:52:43,030 Tak jsem udělal to samé, ale dal mě jiná věc, a to je 1124 00:52:43,030 --> 00:52:45,410 protože, samozřejmě, žádáme pro náhodné jméno. 1125 00:52:45,410 --> 00:52:50,950 Takže si myslím, založený mimo mě putování po místnosti, že většina lidí 1126 00:52:50,950 --> 00:52:55,960 pravděpodobně dostali první část vpravo, zřízení tohoto pole a pak se dostat 1127 00:52:55,960 --> 00:52:56,430 všechna jména. 1128 00:52:56,430 --> 00:52:59,320 Mluvím o tratích 10 až 16 let. 1129 00:52:59,320 --> 00:53:02,150 Ale řádky 18 až 21 jsou pravděpodobně některé věci, které jste ještě neviděli, 1130 00:53:02,150 --> 00:53:03,750 takže pojďme projít ty. 1131 00:53:03,750 --> 00:53:10,390 >> Tato linka, srand čas NULL je v podstatě - 1132 00:53:10,390 --> 00:53:14,300 Omlouvám se, pojďme přeskočit dolů linka, rand (). 1133 00:53:14,300 --> 00:53:17,320 To vám dává náhodné číslo, náhodné celé číslo. 1134 00:53:17,320 --> 00:53:19,630 A pokud jste nájemný vrah rand, která mnoho z vás udělali - 1135 00:53:19,630 --> 00:53:21,530 M-A-N prostor R-A-N-D - 1136 00:53:21,530 --> 00:53:25,910 v terminálu, jako je tento, M-A-N prostor R--N-D, stiskněte klávesu Enter. 1137 00:53:25,910 --> 00:53:30,490 Ty by přijít do návodu k obsluze a by měl být schopen číst, že rand 1138 00:53:30,490 --> 00:53:34,260 Příkaz výstupy num pseudo náhodných bajtů Po naočkování náhodné číslo 1139 00:53:34,260 --> 00:53:35,510 generátor jednou. 1140 00:53:35,510 --> 00:53:38,450 1141 00:53:38,450 --> 00:53:39,700 >> Takže je to popis. 1142 00:53:39,700 --> 00:53:43,860 1143 00:53:43,860 --> 00:53:46,800 To je to, co dělá rand, dává Jste náhodné číslo, pokud 1144 00:53:46,800 --> 00:53:48,610 budete volat tuto funkci. 1145 00:53:48,610 --> 00:53:53,140 Bohužel, to není opravdu náhodná protože když stačí zavolat náhodně 1146 00:53:53,140 --> 00:53:55,970 aniž by se to nějaký olej, některé počáteční bod, bude to vždy zvolit 1147 00:53:55,970 --> 00:53:59,100 stejný a používá vzorec určit další. 1148 00:53:59,100 --> 00:54:01,730 Takže, pokud řekneš rand, bude to jen vám totéž. 1149 00:54:01,730 --> 00:54:02,610 To bude velmi předvídatelný. 1150 00:54:02,610 --> 00:54:03,790 Ve skutečnosti se to být libovolné. 1151 00:54:03,790 --> 00:54:09,610 >> Takže to, co musíme udělat, na Marcuse Pokyny pro mě, byly semeno rand 1152 00:54:09,610 --> 00:54:13,810 s něčím jiným, což je to, co funkce srand dělá. 1153 00:54:13,810 --> 00:54:18,055 To semena Rand se něco trochu více náhodné, než totéž, a 1154 00:54:18,055 --> 00:54:23,360 on setí ji s časovým NULL, což je, stejně konvencí, aktuální 1155 00:54:23,360 --> 00:54:24,650 čas v sekundách. 1156 00:54:24,650 --> 00:54:29,790 >> Takže za předpokladu, že každý není chystá spustit kód na přesné 1157 00:54:29,790 --> 00:54:33,620 Stejný sekundu, takže je to sázka na jistotu, že Doba NULL bude jiný 1158 00:54:33,620 --> 00:54:35,250 pokaždé, když tento kód spuštěn. 1159 00:54:35,250 --> 00:54:39,020 Sázka na jistotu, že takto bude srand semeno rand s něčím jiným každém 1160 00:54:39,020 --> 00:54:39,990 jednotlivý čas. 1161 00:54:39,990 --> 00:54:44,110 Takže konvencí, když budeme dělat chtějí náhodné číslo, píšeme tento řádek, 1162 00:54:44,110 --> 00:54:50,540 srand čas NULL, aby nám moc více hnízda, a pak spustit 1163 00:54:50,540 --> 00:54:52,080 rand, což nám dává náhodné číslo. 1164 00:54:52,080 --> 00:54:52,840 Jo? 1165 00:54:52,840 --> 00:54:54,140 >> STUDENT: Můžete říci, co myslíš osivo? 1166 00:54:54,140 --> 00:54:55,630 >> JASON Hirschhorn: Semeno jako - 1167 00:54:55,630 --> 00:54:58,730 takže rand se chystá vybrat určitý počet a bude to používat některé 1168 00:54:58,730 --> 00:55:00,060 vzorec se tam dostat. 1169 00:55:00,060 --> 00:55:03,250 Takže to bude začít s něčím a pak zase do něčeho na základě 1170 00:55:03,250 --> 00:55:03,890 z tohoto vzorce. 1171 00:55:03,890 --> 00:55:06,090 Pokud jste vždy dát to samé, je to vždycky proměnit 1172 00:55:06,090 --> 00:55:06,790 totéž. 1173 00:55:06,790 --> 00:55:08,450 Tak, že první věc, kterou dát je semeno. 1174 00:55:08,450 --> 00:55:10,880 Takže chcete, aby to něco jinak začít s, a tak to 1175 00:55:10,880 --> 00:55:12,610 se proměnit v něco jiného. 1176 00:55:12,610 --> 00:55:15,840 >> A nakonec, řádek 20, toto se nazývá% 1177 00:55:15,840 --> 00:55:17,470 modulo, a to je matoucí. 1178 00:55:17,470 --> 00:55:19,850 To je něco, co je trochu jiný tady, že jste opravdu nemám 1179 00:55:19,850 --> 00:55:22,240 mají v reálném životě matematice. 1180 00:55:22,240 --> 00:55:27,430 Ale v podstatě, když budete mít obra číslo a rozdělit v C, co 1181 00:55:27,430 --> 00:55:29,482 se stane zbývající? 1182 00:55:29,482 --> 00:55:30,510 >> STUDENT: Dostane zkráceny. 1183 00:55:30,510 --> 00:55:31,220 >> JASON Hirschhorn: Dostane zkráceny. 1184 00:55:31,220 --> 00:55:35,200 Tak 20 děleno 3 je to, co? 1185 00:55:35,200 --> 00:55:37,950 Co to návrat do ty, 20 děleno 3. 1186 00:55:37,950 --> 00:55:39,260 Omlouváme se, 10 děleno 3. 1187 00:55:39,260 --> 00:55:41,062 Co to zpět k vám? 1188 00:55:41,062 --> 00:55:41,540 >> STUDENT: [neslyšitelné]. 1189 00:55:41,540 --> 00:55:45,170 >> JASON Hirschhorn: 10 děleno 3 pouze vrátí 3, ne 3 zbytek 1. 1190 00:55:45,170 --> 00:55:51,490 Takže to, co se vrací 10 modulo 3 je jen zbytek, 1. 1191 00:55:51,490 --> 00:55:54,020 Takže pokud byste chtěli vědět, co dělí 10 o 3 vlastně byl, že ne 1192 00:55:54,020 --> 00:55:58,950 do 10 děleno 3, měli byste dostat 3, a pak bych udělal 10 modulo 3, a 1193 00:55:58,950 --> 00:55:59,860 byste dostat jeden. 1194 00:55:59,860 --> 00:56:04,630 Takže byste si uvědomit, že 10 rozděleny o 3 je 3, zbytek 1. 1195 00:56:04,630 --> 00:56:07,990 >> A v této řadě, může být rand libovolné celé číslo, v podstatě. 1196 00:56:07,990 --> 00:56:12,660 Takže modulo říká, rozdělit ji číslo, které je v tomto případě 5.. 1197 00:56:12,660 --> 00:56:16,420 A pokud jste někdy vydělte číslem, číslo musí být vždy menší než 1198 00:56:16,420 --> 00:56:17,590 toto číslo. 1199 00:56:17,590 --> 00:56:22,200 Takže pokud jste dělení číslem 5, Zbytek se vždy bude 1200 00:56:22,200 --> 00:56:23,396 nula až čtyři. 1201 00:56:23,396 --> 00:56:25,520 Tak to prostě matematika funguje. 1202 00:56:25,520 --> 00:56:29,700 >> Takže velké množství moduloed by menší číslo bude vždy vrátit 1203 00:56:29,700 --> 00:56:33,530 zbytek a bude vždy vrátit některé číslo, které je menší než číslo, které 1204 00:56:33,530 --> 00:56:34,693 děleno. 1205 00:56:34,693 --> 00:56:37,920 Má někdo nějaké dotazy týkající se modulo, protože to přijde velmi, 1206 00:56:37,920 --> 00:56:41,450 velmi šikovný, takže chci, aby se ujistil, všem je to jasné? 1207 00:56:41,450 --> 00:56:43,710 Skvělý. 1208 00:56:43,710 --> 00:56:46,000 A viděli jsme, že tento program funguje. 1209 00:56:46,000 --> 00:56:50,280 OK, dál. 1210 00:56:50,280 --> 00:56:52,970 >> Takže příště, budeme jít do funkce, a my jsme jít 1211 00:56:52,970 --> 00:56:55,580 přes zbytek této věci dost rychle, protože chci dostat do 1212 00:56:55,580 --> 00:56:57,150 Argumenty příkazového řádku. 1213 00:56:57,150 --> 00:57:00,330 Takže funkce jsou v podstatě, Jak jste viděli, černé skříňky. 1214 00:57:00,330 --> 00:57:04,290 Berou věci zvané parametrů dělají něco pro ně, a to buď 1215 00:57:04,290 --> 00:57:06,990 změnit nebo vytvořit některé nežádoucí účinky, a konečně, že plivat 1216 00:57:06,990 --> 00:57:09,530 něco, co, který je návratová hodnota. 1217 00:57:09,530 --> 00:57:12,495 Může mi někdo dát jeden důvod Proto bychom použít funkce? 1218 00:57:12,495 --> 00:57:15,870 1219 00:57:15,870 --> 00:57:16,360 Někdo? 1220 00:57:16,360 --> 00:57:19,360 Jedním z důvodů, proč bychom použili funkci? 1221 00:57:19,360 --> 00:57:21,280 Každý, kdo? 1222 00:57:21,280 --> 00:57:22,700 Viděl jsem obě ruce. 1223 00:57:22,700 --> 00:57:23,590 Co je to dobrý důvod? 1224 00:57:23,590 --> 00:57:24,930 Marcus? 1225 00:57:24,930 --> 00:57:27,730 >> STUDENT: Pokud máte možnost volat stejné kus kódu vícekrát. 1226 00:57:27,730 --> 00:57:29,150 >> JASON Hirschhorn: OK, pokud potřebujete možnost volat stejné kus 1227 00:57:29,150 --> 00:57:30,040 kód vícekrát. 1228 00:57:30,040 --> 00:57:32,470 Jeffe, jsi měl jiný důvod? 1229 00:57:32,470 --> 00:57:34,230 >> STUDENT: Jen tak, aby můžete kód méně. 1230 00:57:34,230 --> 00:57:35,070 >> JASON Hirschhorn: Můžete kódovat méně. 1231 00:57:35,070 --> 00:57:35,320 Přesně tak. 1232 00:57:35,320 --> 00:57:38,720 Pokud chcete udělat něco hodně - 1233 00:57:38,720 --> 00:57:41,720 v předchozím kódu, mohl jsem mít napsal dostat řetězec, pětkrát, ale 1234 00:57:41,720 --> 00:57:44,620 pro smyčce dělá to vypadat hezčí a musíte napsat méně kódu. 1235 00:57:44,620 --> 00:57:45,760 Funkce jsou podobné nápad. 1236 00:57:45,760 --> 00:57:48,720 Pokud chci udělat totéž hodně, přesunout do funkce a volat, že 1237 00:57:48,720 --> 00:57:49,610 fungovat pokaždé. 1238 00:57:49,610 --> 00:57:51,190 To bude dělat to, co pro vás. 1239 00:57:51,190 --> 00:57:53,740 To je velký důvod používat funkce. 1240 00:57:53,740 --> 00:57:54,870 >> Tak anatomie funkce. 1241 00:57:54,870 --> 00:57:56,670 Funkce bude obecně vypadat takto. 1242 00:57:56,670 --> 00:57:59,280 Bude začínat návratový typ, pak budete mít jméno. 1243 00:57:59,280 --> 00:58:02,935 Zabere to argumenty, jinak známý jako parametry, a uvnitř 1244 00:58:02,935 --> 00:58:05,290 ty složené závorky, budete napsat svůj kód. 1245 00:58:05,290 --> 00:58:07,150 >> Viděli jsme jednu funkci hodně. 1246 00:58:07,150 --> 00:58:09,160 To je hlavní. 1247 00:58:09,160 --> 00:58:13,820 Zde je hlavní překrývá na že anatomie jsem měl dříve. 1248 00:58:13,820 --> 00:58:15,525 Co int tady znamenat? 1249 00:58:15,525 --> 00:58:18,534 1250 00:58:18,534 --> 00:58:19,450 Co int znamená? 1251 00:58:19,450 --> 00:58:21,026 Když píšu int main (void). 1252 00:58:21,026 --> 00:58:21,740 >> STUDENT: Návrat typ? 1253 00:58:21,740 --> 00:58:22,350 >> JASON Hirschhorn: Je nám líto? 1254 00:58:22,350 --> 00:58:23,170 >> STUDENT: Návratový typ. 1255 00:58:23,170 --> 00:58:24,820 >> JASON Hirschhorn: Int návratový typ, přesně tak. 1256 00:58:24,820 --> 00:58:25,870 Hlavní vrací int. 1257 00:58:25,870 --> 00:58:28,678 Co je hlavní? 1258 00:58:28,678 --> 00:58:29,510 >> Student: Název funkce. 1259 00:58:29,510 --> 00:58:30,800 >> JASON Hirschhorn: Hlavní je název funkce. 1260 00:58:30,800 --> 00:58:31,510 Přesně tak. 1261 00:58:31,510 --> 00:58:31,840 A neplatné? 1262 00:58:31,840 --> 00:58:33,190 Co je neplatná v závorkách? 1263 00:58:33,190 --> 00:58:36,650 1264 00:58:36,650 --> 00:58:42,030 >> STUDENT: Nebere žádné externí hodnoty. 1265 00:58:42,030 --> 00:58:42,930 >> JASON Hirschhorn: Takže void - 1266 00:58:42,930 --> 00:58:43,240 pravdu. 1267 00:58:43,240 --> 00:58:45,940 Uvnitř závorek, dáme parametry nebo argumenty, že 1268 00:58:45,940 --> 00:58:48,480 funkce má, co se děje uvnitř černé skříňky. 1269 00:58:48,480 --> 00:58:50,760 Při psaní neplatný, říkáš To nikterak palců 1270 00:58:50,760 --> 00:58:53,802 Takže int main void znamená, že hlavní je nebere nic palců 1271 00:58:53,802 --> 00:58:56,950 >> Uvnitř složených závorek, máme nějaké kód, a pak vidíme na konci 1272 00:58:56,950 --> 00:58:57,640 vrátí nulu. 1273 00:58:57,640 --> 00:59:01,220 Co znamená návrat nula znamená? 1274 00:59:01,220 --> 00:59:02,470 No, my jsme mluvili o návratový typ. 1275 00:59:02,470 --> 00:59:03,780 Hlavní potřebuje vrátit int. 1276 00:59:03,780 --> 00:59:04,960 To je to, co dělá tento řádek. 1277 00:59:04,960 --> 00:59:07,330 Vrací int, nula. 1278 00:59:07,330 --> 00:59:13,600 >> Samozřejmě, že jsme neviděli, že mnoho protože v programování děláme s 1279 00:59:13,600 --> 00:59:16,070 stroje, které děláme a překladače používáme dnes, vás 1280 00:59:16,070 --> 00:59:16,990 nemusí tento řádek. 1281 00:59:16,990 --> 00:59:20,070 Hlavní je dost zvláštní, že ví, když se dostanete na konec hlavní, jen 1282 00:59:20,070 --> 00:59:22,060 vrátí nulu, pokud vše dobře dopadlo. 1283 00:59:22,060 --> 00:59:25,560 Ve skutečnosti, pokud něco není dobře, Hlavním se často vrátí jiný 1284 00:59:25,560 --> 00:59:28,500 číslo znamenat, že něco se stalo s programem. 1285 00:59:28,500 --> 00:59:32,470 >> Takže většinou, když vidíte kód, nepište vrátí nulu, ale je to dobré 1286 00:59:32,470 --> 00:59:34,770 vědět, že se to děje za scény, protože když píšete 1287 00:59:34,770 --> 00:59:36,370 jiný typ funkce, budete muset 1288 00:59:36,370 --> 00:59:37,400 zahrnují vratné potrubí. 1289 00:59:37,400 --> 00:59:39,710 Pokud říkáš, že jdu vrátit int, musíte 1290 00:59:39,710 --> 00:59:41,250 napsat něco vracet. 1291 00:59:41,250 --> 00:59:45,160 Pokud řeknete void tady na začátek, void main void, pro 1292 00:59:45,160 --> 00:59:48,670 příklad, pak to není návratu cokoli - void znamená, že nic - 1293 00:59:48,670 --> 00:59:50,320 takže nemusíte že vratné potrubí. 1294 00:59:50,320 --> 00:59:53,610 Ale jste někdy napsat něco, co není neplatnost návratový typ, co potřebujete 1295 00:59:53,610 --> 00:59:55,950 řádek, který říká, že návratnost a vy je třeba dát tam něco 1296 00:59:55,950 --> 00:59:57,650 , které se shoduje s typem. 1297 00:59:57,650 --> 00:59:58,900 Máte nějaké otázky ohledně že? 1298 00:59:58,900 --> 01:00:03,110 1299 01:00:03,110 --> 01:00:04,680 Sladký. 1300 01:00:04,680 --> 01:00:05,930 >> Rozsah. 1301 01:00:05,930 --> 01:00:07,360 To je něco, co jsme dotkl také. 1302 01:00:07,360 --> 01:00:10,720 Každá proměnná, jak víme, má jistý rozsah, a to je v podstatě 1303 01:00:10,720 --> 01:00:14,160 mluví o tom, kde proměnná mohou nebo nemusí být odkazováno. 1304 01:00:14,160 --> 01:00:16,310 A líbí se mi říct, co se stane, do složených závorek pobyty 1305 01:00:16,310 --> 01:00:18,000 uvnitř složených závorek. 1306 01:00:18,000 --> 01:00:21,490 Tak například, pokud se podíváme na tohoto kódu, budeme definovat globální proměnné 1307 01:00:21,490 --> 01:00:24,510 mimo hlavní, int, tady nahoře. 1308 01:00:24,510 --> 01:00:27,380 Říkáme další int uvnitř hlavní. 1309 01:00:27,380 --> 01:00:29,760 Máme nějaké další složené závorky a říkáme další int. 1310 01:00:29,760 --> 01:00:31,690 >> Máme tři je v kódu. 1311 01:00:31,690 --> 01:00:32,550 Nejedná se o totéž. 1312 01:00:32,550 --> 01:00:34,880 Které jsem vytvořil tři různé proměnné. 1313 01:00:34,880 --> 01:00:39,370 Pak se uvnitř těchto vnitřních kudrnaté šle, říkám = 4. 1314 01:00:39,370 --> 01:00:44,130 Což je to, že mluvíš, První, druhý, 1315 01:00:44,130 --> 01:00:47,045 nebo třetí? 1316 01:00:47,045 --> 01:00:47,920 >> STUDENT: třetí. 1317 01:00:47,920 --> 01:00:49,320 >> JASON Hirschhorn: Je to mluví o třetího. 1318 01:00:49,320 --> 01:00:52,850 Všechny z nich je ve skutečnosti může být mluvil o této konkrétní 1319 01:00:52,850 --> 01:00:58,660 instance, protože jejich rozsah všechno jde do těchto nejniternějších složených závorek. 1320 01:00:58,660 --> 01:01:02,360 Nicméně, když budete volat věci samé jméno, je tu něco, co nazývá skrývá. 1321 01:01:02,360 --> 01:01:09,670 Takže jste se zabývají pouze nebo opravit, nebo použijte Poslední proměnná, nebo jeden 1322 01:01:09,670 --> 01:01:11,090 nejblíže k vám. 1323 01:01:11,090 --> 01:01:14,760 Takže tady uvnitř, je nejblíže tato třetí na této lince, a = 4, takže je 1324 01:01:14,760 --> 01:01:16,550 vliv na třetí. 1325 01:01:16,550 --> 01:01:19,890 A poslední řádek, a = 2, což je že mluví o, první, druhý, 1326 01:01:19,890 --> 01:01:20,805 nebo třetí? 1327 01:01:20,805 --> 01:01:22,530 >> STUDENT: Druhý. 1328 01:01:22,530 --> 01:01:24,430 >> JASON Hirschhorn: Je to mluví o druhý pohled. 1329 01:01:24,430 --> 01:01:27,970 Samozřejmě, třetí je nejblíže se v kódu, ale třetí 1330 01:01:27,970 --> 01:01:30,200 neexistuje mimo ty složené závorky. 1331 01:01:30,200 --> 01:01:32,650 Jakmile se dostanete do tohoto uzavřeného kudrnaté rovnátka, je to jako, že je pryč, 1332 01:01:32,650 --> 01:01:33,570 v podstatě. 1333 01:01:33,570 --> 01:01:36,150 Takže jen dva jste zbylo, jsou ty, První dva, a samozřejmě, nyní 1334 01:01:36,150 --> 01:01:37,960 je to blíže k druhé. 1335 01:01:37,960 --> 01:01:39,410 >> Takže je to dobrá věc pamatovat o rozsahu. 1336 01:01:39,410 --> 01:01:42,900 Například jsem si jistý, že jste se setkali To do while. 1337 01:01:42,900 --> 01:01:46,680 Pokud inicializovat proměnnou uvnitř se while a zkuste 1338 01:01:46,680 --> 01:01:50,360 přístup ven, budete pravděpodobně dostal nějaké varování, jako je tato 1339 01:01:50,360 --> 01:01:51,680 proměnná neexistuje. 1340 01:01:51,680 --> 01:01:54,370 To je z důvodu rozsahu nápad, že věci existují pouze 1341 01:01:54,370 --> 01:01:55,320 uvnitř těchto složených závorek. 1342 01:01:55,320 --> 01:01:59,320 Složené závorky jsou jako obří objetí, že dáváte do kódu, je další 1343 01:01:59,320 --> 01:02:01,380 způsob, jak se o tom přemýšlet. 1344 01:02:01,380 --> 01:02:05,280 >> Takže to je další funkce, něco pro vy do kódu hellofunction.c. 1345 01:02:05,280 --> 01:02:08,240 Budeme přeskočit, že pro tuto chvíli, ale je to něco, co jsem povzbudit, abyste 1346 01:02:08,240 --> 01:02:09,740 praxi na vlastní pěst. 1347 01:02:09,740 --> 01:02:12,510 Napište program, ve kterém hlavní hovory další funkci, která vytiskne 1348 01:02:12,510 --> 01:02:13,750 pozdrav pro uživatele. 1349 01:02:13,750 --> 01:02:17,750 Je to v podstatě s hello world a abstrahovat, že printf do 1350 01:02:17,750 --> 01:02:18,680 další funkce. 1351 01:02:18,680 --> 01:02:22,360 Ale my nebudeme dělat, že právě teď protože nemáme tolik času 1352 01:02:22,360 --> 01:02:23,350 vlevo, jak bych si přál. 1353 01:02:23,350 --> 01:02:26,250 >> Tak deklarace funkce. 1354 01:02:26,250 --> 01:02:28,080 Viděli jsme to předtím také. 1355 01:02:28,080 --> 01:02:31,180 Pokud chcete napsat jinou funkci, budete potřebovat, aby se počítač vědět a 1356 01:02:31,180 --> 01:02:32,600 Hlavní vím, že to existuje. 1357 01:02:32,600 --> 01:02:37,140 Takže to, co děláme, je nad hlavní, my píšeme návratový typ, název a 1358 01:02:37,140 --> 01:02:42,970 parametry, a pak dole hlavní, tady jsme vlastně zkopírovat linky 1359 01:02:42,970 --> 01:02:45,080 a pak napsat skutečný kód. 1360 01:02:45,080 --> 01:02:50,990 Takže tímto způsobem, pokud volání funkce v hlavním nahoře, ví, že hlavní 1361 01:02:50,990 --> 01:02:54,650 Dobrý den existuje, například, když se zavolat ahoj, a pak to vypadá, že 1362 01:02:54,650 --> 01:02:56,710 provádění dole. 1363 01:02:56,710 --> 01:02:59,680 Co se stane, když nebudu zahrnout line up nahoru, ztrátu ahoj (void)? 1364 01:02:59,680 --> 01:03:03,820 1365 01:03:03,820 --> 01:03:06,560 >> Pokud nemám obsahovat tento řádek a hlavní výzvy ahoj, já jsem 1366 01:03:06,560 --> 01:03:07,640 dostaneme chybu. 1367 01:03:07,640 --> 01:03:10,090 Chystám se dostanu chybu, protože kompilátor neví 1368 01:03:10,090 --> 01:03:13,070 že tato věc existuje. 1369 01:03:13,070 --> 01:03:16,680 To je důvod, proč se podobné to # include cs50.h. 1370 01:03:16,680 --> 01:03:21,390 Co je na tom v podstatě cs50.h je uvedení dostat řetězec tam. 1371 01:03:21,390 --> 01:03:23,120 Je to dávat si tam int. 1372 01:03:23,120 --> 01:03:26,570 Je to dávat všechny ty funkce Prototypy se před hlavní tak, že když 1373 01:03:26,570 --> 01:03:29,900 jim zavoláte na hlavní, hlavní ví že tyto věci existují. 1374 01:03:29,900 --> 01:03:31,630 To je to, co ty. H. soubory dělat. 1375 01:03:31,630 --> 01:03:33,850 A tak pokud se chystáte vytvořit svůj vlastní funkce, musíš se ujistit, 1376 01:03:33,850 --> 01:03:36,690 si dal, že prototyp tam. 1377 01:03:36,690 --> 01:03:38,380 Jakékoliv dotazy týkající se to tak daleko? 1378 01:03:38,380 --> 01:03:41,630 1379 01:03:41,630 --> 01:03:42,490 >> Argumenty příkazového řádku. 1380 01:03:42,490 --> 01:03:44,780 To je to, co budeme do konce , a pak snad budem 1381 01:03:44,780 --> 01:03:46,180 zmáčknout v některých Pset. 1382 01:03:46,180 --> 01:03:48,700 Já nevím, jestli budeme schopni zmáčknout že vzhledem k času, ale 1383 01:03:48,700 --> 01:03:51,560 s vámi, kteří jsou tady, a pokud kluci chci říci, po na chvíli jsme se 1384 01:03:51,560 --> 01:03:54,290 může jít přes něj ven. 1385 01:03:54,290 --> 01:03:56,020 Ale budeme na závěr Argumenty příkazového řádku 1386 01:03:56,020 --> 01:03:58,510 za posledních 15 minut. 1387 01:03:58,510 --> 01:03:59,930 Jsme vzhůru, Michaeli? 1388 01:03:59,930 --> 01:04:01,180 Jsi vzhůru? 1389 01:04:01,180 --> 01:04:01,660 Dobře. 1390 01:04:01,660 --> 01:04:03,760 Já nevím, jestli budete spát se zavřenýma očima. 1391 01:04:03,760 --> 01:04:05,800 To by bylo složité. 1392 01:04:05,800 --> 01:04:07,180 >> Argumenty příkazového řádku. 1393 01:04:07,180 --> 01:04:10,430 Jedná se o jediný způsob, jak předávat informace do programu. 1394 01:04:10,430 --> 01:04:12,780 Nakonec, budeme setkat s dalšími. 1395 01:04:12,780 --> 01:04:15,600 Ale v podstatě, budeme zastavit psaní int main (void), chceme-li 1396 01:04:15,600 --> 01:04:16,720 vzít nějaké argumenty příkazového řádku. 1397 01:04:16,720 --> 01:04:19,850 Chystáme se napsat tuto věc tzv. int main (int argc, 1398 01:04:19,850 --> 01:04:22,430 string argv, konzole. 1399 01:04:22,430 --> 01:04:23,710 To je matoucí. 1400 01:04:23,710 --> 01:04:26,070 To je hodně dopisů, které nejsou v člověk anglicky, takže budeme 1401 01:04:26,070 --> 01:04:27,680 rozbalit právě teď. 1402 01:04:27,680 --> 01:04:30,450 >> Argc je zkratka pro počet argumentů - 1403 01:04:30,450 --> 01:04:32,600 a znovu, budou všechny tyto k dispozici online - 1404 01:04:32,600 --> 01:04:34,280 a to je počet argumentů. 1405 01:04:34,280 --> 01:04:37,940 Argv znamená argument, vektoru, a to jsou argumenty samotných. 1406 01:04:37,940 --> 01:04:38,830 Je to pole řetězců. 1407 01:04:38,830 --> 01:04:40,880 Jsme vlastně viděli řadu řetězců před dnes. 1408 01:04:40,880 --> 01:04:44,390 Vytvořili jsme jednu v poslední program, který jsme kódovány. 1409 01:04:44,390 --> 01:04:45,720 >> Tak tady je jeden příklad. 1410 01:04:45,720 --> 01:04:50,230 Píšu. / Ohai CS50 sekce na mém příkazovém řádku. 1411 01:04:50,230 --> 01:04:54,090 Argc v tomto případě rovná 3. 1412 01:04:54,090 --> 01:05:01,170 Argv držák 0 je Ohai, argv držák 1 Je CS50, argv držák 2 je část. 1413 01:05:01,170 --> 01:05:05,160 Opět platí, že argc je počet argumentů, a výlet vás trochu 1414 01:05:05,160 --> 01:05:08,710 bit, jsme se vždy spolehnout na jméno funkce jako první argument. 1415 01:05:08,710 --> 01:05:12,350 Takže v tomto případě, že jsou tři argumenty, název funkce 1416 01:05:12,350 --> 01:05:14,590 a pak ti dva, které jsem napsal palců 1417 01:05:14,590 --> 01:05:18,900 >> Dále budeme kromě těch, argumenty se v argv. 1418 01:05:18,900 --> 01:05:22,690 A opět, stejně jako jsme viděli dříve, my jsme to v posledním programu jsme kódovány. 1419 01:05:22,690 --> 01:05:27,110 Můžete se pohybovat po poli argv a dostat ty řetězce. 1420 01:05:27,110 --> 01:05:28,830 To je v podstatě to, co jsme dělali v konec posledního programu. 1421 01:05:28,830 --> 01:05:33,190 Vybrali jsme náhodný název a pak šel do Jména držák cokoliv a vytisknout 1422 01:05:33,190 --> 01:05:34,580 z řetězce tam nachází. 1423 01:05:34,580 --> 01:05:39,870 1424 01:05:39,870 --> 01:05:43,670 >> V horní části pouze na jednom poli, neboť Řetězce jsou samy o sobě pole, jako 1425 01:05:43,670 --> 01:05:46,320 mluvil o, můžete mít pole polí, která je 1426 01:05:46,320 --> 01:05:48,530 v podstatě to, co je argv. 1427 01:05:48,530 --> 01:05:51,370 Jeden způsob, jak si můžete myslet To je řádky a sloupce. 1428 01:05:51,370 --> 01:05:54,750 Mohu čerpat, že právě teď. 1429 01:05:54,750 --> 01:05:57,370 Tak argv - 1430 01:05:57,370 --> 01:05:58,630 to není mazání. 1431 01:05:58,630 --> 01:05:59,880 Pojďme nakreslit pod Ohai. 1432 01:05:59,880 --> 01:06:09,320 1433 01:06:09,320 --> 01:06:12,490 >> Takže když jsem psal, Ohai části CS50, Chystám se zkrátit 1434 01:06:12,490 --> 01:06:14,520 sekce pro tento příklad. 1435 01:06:14,520 --> 01:06:29,026 Ale v podstatě, moje multi-dimenzionální pole, Ohai CS50, 1436 01:06:29,026 --> 01:06:32,200 budeme dělat sektu. 1437 01:06:32,200 --> 01:06:34,610 Tak tady, mám přístup - 1438 01:06:34,610 --> 01:06:40,930 1439 01:06:40,930 --> 01:06:45,710 když jsem jen dát argv jedno číslo - 1440 01:06:45,710 --> 01:06:46,390 To je špatně. 1441 01:06:46,390 --> 01:06:49,020 Co se děje v tomto diagramu? 1442 01:06:49,020 --> 01:06:49,690 >> STUDENT: Začněte na nulu. 1443 01:06:49,690 --> 01:06:50,350 >> JASON Hirschhorn: Mělo by se začít s nulou. 1444 01:06:50,350 --> 01:06:52,940 Asi bych měla také otočit, ale protože jsem již vypracovány to tak, jsem 1445 01:06:52,940 --> 01:06:54,120 nechám to tam do teď. 1446 01:06:54,120 --> 01:06:55,160 Ale to začíná na nule. 1447 01:06:55,160 --> 01:06:56,410 To je pravda. 1448 01:06:56,410 --> 01:06:58,980 1449 01:06:58,980 --> 01:07:00,120 Omlouvám se, jestli to je jen malá. 1450 01:07:00,120 --> 01:07:01,370 Může vás druh vidět? 1451 01:07:01,370 --> 01:07:03,620 1452 01:07:03,620 --> 01:07:06,670 Takže když jsem to argv 0, já dostat všechny Ohai. 1453 01:07:06,670 --> 01:07:08,555 Pokud se mi argv 1, dostanu všechny CS50. 1454 01:07:08,555 --> 01:07:10,720 Pokud se mi argv 2, dostanu všechny sekty. 1455 01:07:10,720 --> 01:07:13,370 >> Ale teď, jak jsme již řekli, struny jsou pole sami. 1456 01:07:13,370 --> 01:07:19,740 Takže to, co mohu udělat, je mohu léčit tuto jako multi-dimenzionální pole, a já 1457 01:07:19,740 --> 01:07:24,190 Můžete udělat něco v duchu argv 0, 0, což mi právě 1458 01:07:24,190 --> 01:07:25,400 znak 0. 1459 01:07:25,400 --> 01:07:28,760 Argv 0, 1, což mi dává jen hodiny. 1460 01:07:28,760 --> 01:07:33,960 Argv 1, 3, což mi dává jen Tento 0 tady dole CS50. 1461 01:07:33,960 --> 01:07:37,690 >> Takže, protože řetězce sami jsou pole, budeme dávat 1462 01:07:37,690 --> 01:07:38,540 že v jiném poli. 1463 01:07:38,540 --> 01:07:42,850 V současné době máme řadu polí, a my je index do našeho prvního pole a 1464 01:07:42,850 --> 01:07:44,840 pak index do našeho druhého pole. 1465 01:07:44,840 --> 01:07:48,650 A jak se dalo očekávat, že děláme jen o uvedení těch dvou - 1466 01:07:48,650 --> 01:07:51,760 uděláme hranaté závorky jen hned vedle sebe. 1467 01:07:51,760 --> 01:07:58,930 Takže v tomto případě, je argv 1 a CS50 argv 1, 2, jak jsme řekli, je pouhých 5. 1468 01:07:58,930 --> 01:08:02,120 Má někdo nějaké dotazy týkající se multi-dimenzionální pole? 1469 01:08:02,120 --> 01:08:05,090 1470 01:08:05,090 --> 01:08:06,380 Vy děláte úžasné. 1471 01:08:06,380 --> 01:08:07,750 Sladký. 1472 01:08:07,750 --> 01:08:11,980 >> Takže máme jiný program právě zde, a to je poslední věc, že ​​jsme 1473 01:08:11,980 --> 01:08:13,690 dělat právě teď. 1474 01:08:13,690 --> 01:08:18,160 Takže chci vám napsat program, který trvá celé jméno uživatele, dvě a pouze 1475 01:08:18,160 --> 01:08:21,649 dva argumenty příkazového řádku, a konečně, vytisknout na pozdrav 1476 01:08:21,649 --> 01:08:24,180 uživatel, který patří jejich křestní jméno. 1477 01:08:24,180 --> 01:08:27,800 Tak proč si nevezmeš tři nebo čtyři minut, jak to udělat, a pak půjdeme 1478 01:08:27,800 --> 01:08:29,870 nad ním jako skupina, a pak si zabalit? 1479 01:08:29,870 --> 01:09:44,189 1480 01:09:44,189 --> 01:09:48,084 >> A opět tady, když říkáme, že se plné jméno uživatele dle popisu 1481 01:09:48,084 --> 01:09:54,473 tohoto problému by mělo být příkaz argumentem, nepoužívají se řetězec. 1482 01:09:54,473 --> 01:09:55,450 Jo, Marcus? 1483 01:09:55,450 --> 01:09:58,260 >> Žák: Takže když říkáte, dvě řídící argumentem, je to, že kromě 1484 01:09:58,260 --> 01:10:00,000 . / běh, nebo - 1485 01:10:00,000 --> 01:10:02,980 >> JASON Hirschhorn: Dobrá otázka. 1486 01:10:02,980 --> 01:10:05,995 Do, včetně. / Běh, tři Argumenty příkazového řádku. 1487 01:10:05,995 --> 01:10:08,550 1488 01:10:08,550 --> 01:10:11,320 Nebo včetně. / Individuální, v V tomto případě, protože to je 1489 01:10:11,320 --> 01:10:12,360 Název tohoto souboru. 1490 01:10:12,360 --> 01:10:13,300 Takže argc by měly být tři. 1491 01:10:13,300 --> 01:10:19,480 Ale já chci jen dva argumenty vzhledem k programu. 1492 01:10:19,480 --> 01:10:20,400 Měl bych upřesnit, že. 1493 01:10:20,400 --> 01:10:23,380 Budu dělat, že změny, než jsem příspěvek Tyto a poslat je na vás. 1494 01:10:23,380 --> 01:10:32,747 1495 01:10:32,747 --> 01:10:34,740 >> Student: Co když mít prostřední jméno? 1496 01:10:34,740 --> 01:10:36,800 >> JASON Hirschhorn: Pokud máte střední jméno, jsi smůlu. 1497 01:10:36,800 --> 01:10:38,050 Omlouvám se. 1498 01:10:38,050 --> 01:10:40,320 1499 01:10:40,320 --> 01:10:43,744 Nebo pokud chcete jít jen o Shakira, jste také smůlu. 1500 01:10:43,744 --> 01:10:55,672 1501 01:10:55,672 --> 01:10:56,425 Jo? 1502 01:10:56,425 --> 01:11:00,760 >> Žák: Takže, když lidé nemají cs50.h, nedefinují argv 1503 01:11:00,760 --> 01:11:03,450 jako char argv hvězdy? 1504 01:11:03,450 --> 01:11:05,160 Nebo je to ještě volal řetězec argv? 1505 01:11:05,160 --> 01:11:07,430 >> JASON Hirschhorn: Ano. 1506 01:11:07,430 --> 01:11:10,480 Takže řetězce, opět jsme se maskovat z toho, co přesně se tam děje. 1507 01:11:10,480 --> 01:11:14,040 To bude možná bez obalu ve středu, ale brzy. 1508 01:11:14,040 --> 01:11:16,380 Je to jako koleček. 1509 01:11:16,380 --> 01:11:18,370 Vzhledem k tomu, v podstatě je to totéž. 1510 01:11:18,370 --> 01:11:37,040 1511 01:11:37,040 --> 01:11:42,560 >> Takže pojďme se další minutu na programu to, a pak půjdeme přes 1512 01:11:42,560 --> 01:11:45,130 se jako skupina, a pak jak jsem řekl, zabalit. 1513 01:11:45,130 --> 01:11:47,770 A myslím, že jsou stále další cukroví, takže vy by doufejme 1514 01:11:47,770 --> 01:11:49,790 to, nebo si vezmu. 1515 01:11:49,790 --> 01:12:20,380 1516 01:12:20,380 --> 01:12:22,560 >> Omlouváme se, pokud jste ještě psaní, ale chci se do toho ponořit a my 1517 01:12:22,560 --> 01:12:24,010 může skončit spolu. 1518 01:12:24,010 --> 01:12:30,470 Tak jsem napsal v roce, # include cs50.h, # include stdio.h. 1519 01:12:30,470 --> 01:12:33,970 int main (void), složená závorka, kudrnaté rovnátka, uvnitř tři řádky 1520 01:12:33,970 --> 01:12:38,760 pseudokódu, vezmeš celé jméno uživatele, právě dvě příkazového řádku 1521 01:12:38,760 --> 01:12:42,670 argumenty, vytisknout na pozdrav uživatel, který patří jejich křestní jméno. 1522 01:12:42,670 --> 01:12:45,810 >> Takže první, se uživatelova celé jméno. 1523 01:12:45,810 --> 01:12:47,290 Kdo mi může pomoci se uživatelova celé jméno? 1524 01:12:47,290 --> 01:12:50,882 1525 01:12:50,882 --> 01:12:52,780 Jak to mám udělat, že část? 1526 01:12:52,780 --> 01:12:57,685 1527 01:12:57,685 --> 01:12:59,500 Věděli jste, kluci, že první část? 1528 01:12:59,500 --> 01:13:02,587 1529 01:13:02,587 --> 01:13:03,894 Take celé jméno uživatele. 1530 01:13:03,894 --> 01:13:05,860 No, že jeden příkazový řádek Argument, co bych měl psát? 1531 01:13:05,860 --> 01:13:09,624 Co bych měl změnit na můj deklarace funkce? 1532 01:13:09,624 --> 01:13:11,140 >> STUDENT: Nechcete že je neplatné už. 1533 01:13:11,140 --> 01:13:11,410 >> JASON Hirschhorn: Přesně tak. 1534 01:13:11,410 --> 01:13:12,385 Nechci, aby to bylo neplatné. 1535 01:13:12,385 --> 01:13:13,630 Co chcete, aby se? 1536 01:13:13,630 --> 01:13:14,650 >> STUDENT: argc Int. 1537 01:13:14,650 --> 01:13:15,720 >> JASON Hirschhorn: argc Int. 1538 01:13:15,720 --> 01:13:17,430 >> STUDENT: String argv. 1539 01:13:17,430 --> 01:13:19,055 >> JASON Hirschhorn: String argv. 1540 01:13:19,055 --> 01:13:19,705 >> STUDENT: Bracket, držák. 1541 01:13:19,705 --> 01:13:20,070 >> JASON Hirschhorn: Bracket, držák. 1542 01:13:20,070 --> 01:13:21,780 To je přesně to pravé, a to ve skutečnosti, jak budu mít 1543 01:13:21,780 --> 01:13:22,820 uživatelova celé jméno. 1544 01:13:22,820 --> 01:13:24,070 Chystají se dát to tam. 1545 01:13:24,070 --> 01:13:27,720 1546 01:13:27,720 --> 01:13:28,780 Tak, že člověk udělal. 1547 01:13:28,780 --> 01:13:30,780 Takže teď chci právě dvě Argumenty příkazového řádku. 1548 01:13:30,780 --> 01:13:35,065 Noe tedy, co je jeden způsob, jak mohu kontrolovat počet příkazu 1549 01:13:35,065 --> 01:13:36,315 argumentem mám? 1550 01:13:36,315 --> 01:13:39,676 1551 01:13:39,676 --> 01:13:40,725 >> STUDENT: Děláte-li prohlášení. 1552 01:13:40,725 --> 01:13:42,270 >> JASON Hirschhorn: Je-li prohlášení, přesně tak. 1553 01:13:42,270 --> 01:13:44,830 Co chci jako podmínku? 1554 01:13:44,830 --> 01:13:48,370 >> STUDENT: Pokud argc vyšší než 3. 1555 01:13:48,370 --> 01:13:52,485 >> JASON Hirschhorn: Pokud argc je větší než 3. 1556 01:13:52,485 --> 01:13:58,430 Pokud argc vyšší než 3, co mám dělat? 1557 01:13:58,430 --> 01:13:59,400 >> STUDENT: Vrací 1. 1558 01:13:59,400 --> 01:14:01,856 >> JASON Hirschhorn: Vrací 1. 1559 01:14:01,856 --> 01:14:04,050 Bude to zajistit, mám právě dvě? 1560 01:14:04,050 --> 01:14:07,280 1561 01:14:07,280 --> 01:14:07,820 >> STUDENT: Ne 1562 01:14:07,820 --> 01:14:13,110 Pokud argc je větší než 3 a méně než 2. 1563 01:14:13,110 --> 01:14:17,770 >> JASON Hirschhorn: Pokud argc je větší než 3 a argc je menší než 2. 1564 01:14:17,770 --> 01:14:21,540 Co je jeden způsob, jak mohu napsat to v právě jeden řádek, nebo bez použití, které 1565 01:14:21,540 --> 01:14:23,890 a logický operátor? 1566 01:14:23,890 --> 01:14:25,942 >> Student: To není rovno 2. 1567 01:14:25,942 --> 01:14:28,790 >> JASON Hirschhorn: Pokud argc se nerovná 2. 1568 01:14:28,790 --> 01:14:29,260 Přesně tak. 1569 01:14:29,260 --> 01:14:34,890 Takže pokud argc není rovno 2, že bude mi tento program, 1570 01:14:34,890 --> 01:14:37,250 osobní, kdy jsem jej spustit a který vám dá mi, kolik 1571 01:14:37,250 --> 01:14:38,740 Argumenty příkazového řádku? 1572 01:14:38,740 --> 01:14:42,110 Kolik budu kontrolovat? 1573 01:14:42,110 --> 01:14:42,370 >> Promiňte. 1574 01:14:42,370 --> 01:14:43,400 Dovolte mi, abych přeformulovat to. 1575 01:14:43,400 --> 01:14:46,620 Pokud argc = 2, kolik věcí jsem uživatel zapsat do linky? 1576 01:14:46,620 --> 01:14:47,500 >> STUDENT: Jeden. 1577 01:14:47,500 --> 01:14:49,120 >> JASON Hirschhorn: Jen jeden. 1578 01:14:49,120 --> 01:14:50,430 Takže předtím, než jsi pravdu, Noah. 1579 01:14:50,430 --> 01:14:52,192 Co to vlastně je třeba dát tam? 1580 01:14:52,192 --> 01:14:53,640 >> STUDENT: To se rovná 3. 1581 01:14:53,640 --> 01:14:55,970 >> JASON Hirschhorn: argc není rovno 3. 1582 01:14:55,970 --> 01:15:00,250 Chci se rovná 3, protože chci osobní a další dva. 1583 01:15:00,250 --> 01:15:02,560 Takže pokud argc se nerovná 3, vraťte 1. 1584 01:15:02,560 --> 01:15:04,475 Proč říkáte návratu 1? 1585 01:15:04,475 --> 01:15:06,180 >> STUDENT: Vzhledem k tomu, že znamená, že je to špatné. 1586 01:15:06,180 --> 01:15:08,420 >> JASON Hirschhorn: To znamená, že je to špatně, A to je co dělat? 1587 01:15:08,420 --> 01:15:10,360 >> STUDENT: Znovu vyzve uživatele. 1588 01:15:10,360 --> 01:15:11,940 >> JASON Hirschhorn: Bude to skončit programu, tak to bude muset spustit 1589 01:15:11,940 --> 01:15:14,520 znovu, ale nemáme nic V sem a zeptejte se na ně znovu. 1590 01:15:14,520 --> 01:15:14,840 Neptal jsem se na to. 1591 01:15:14,840 --> 01:15:15,990 Tak to je přesně to pravé. 1592 01:15:15,990 --> 01:15:17,680 Vrací 1 jen ukončí program. 1593 01:15:17,680 --> 01:15:18,520 Skvělé. 1594 01:15:18,520 --> 01:15:21,600 >> A vytisknout na pozdrav uživatele který obsahuje jejich první jméno. 1595 01:15:21,600 --> 01:15:24,010 Jak to mohu udělat? 1596 01:15:24,010 --> 01:15:25,990 Anna? 1597 01:15:25,990 --> 01:15:26,580 >> STUDENT: printf. 1598 01:15:26,580 --> 01:15:27,785 >> JASON Hirschhorn: printf. 1599 01:15:27,785 --> 01:15:28,640 >> STUDENT: (" 1600 01:15:28,640 --> 01:15:30,460 >> JASON Hirschhorn: ( 1601 01:15:30,460 --> 01:15:31,600 >> Student: "ahoj 1602 01:15:31,600 --> 01:15:33,210 >> JASON Hirschhorn: "ahoj 1603 01:15:33,210 --> 01:15:34,800 >> STUDENT:% s 1604 01:15:34,800 --> 01:15:37,230 >> JASON Hirschhorn:% s 1605 01:15:37,230 --> 01:15:38,840 >> STUDENT: / n 1606 01:15:38,840 --> 01:15:41,030 >> JASON Hirschhorn: / n 1607 01:15:41,030 --> 01:15:43,120 >> Student: ", 1608 01:15:43,120 --> 01:15:45,130 >> JASON Hirschhorn: ", 1609 01:15:45,130 --> 01:15:46,620 >> STUDENT: argv 1610 01:15:46,620 --> 01:15:47,080 >> JASON Hirschhorn: Je nám líto? 1611 01:15:47,080 --> 01:15:47,750 >> STUDENT: argv 1612 01:15:47,750 --> 01:15:48,840 >> JASON Hirschhorn: argv 1613 01:15:48,840 --> 01:15:50,190 >> STUDENT: Hranaté závorky 1. 1614 01:15:50,190 --> 01:15:51,230 >> JASON Hirschhorn: Hranaté závorky? 1615 01:15:51,230 --> 01:15:51,870 >> STUDENT: 1. 1616 01:15:51,870 --> 01:15:54,050 >> JASON Hirschhorn: 1. 1617 01:15:54,050 --> 01:15:55,850 >> Žák: A) středník. 1618 01:15:55,850 --> 01:15:58,290 >> JASON Hirschhorn:) středník. 1619 01:15:58,290 --> 01:16:00,250 Pojďme tento příkaz. 1620 01:16:00,250 --> 01:16:03,730 Personalizované. 1621 01:16:03,730 --> 01:16:06,392 . / Osobní. 1622 01:16:06,392 --> 01:16:07,420 Je to prostě skončit. 1623 01:16:07,420 --> 01:16:10,390 Proč to skončit? 1624 01:16:10,390 --> 01:16:11,310 >> Žák: nedal žádné argumenty. 1625 01:16:11,310 --> 01:16:12,560 >> JASON Hirschhorn: já ne nepokládejte žádné argumenty palců 1626 01:16:12,560 --> 01:16:16,360 1627 01:16:16,360 --> 01:16:16,920 Vypadá skvěle. 1628 01:16:16,920 --> 01:16:18,130 Vy přibitý. 1629 01:16:18,130 --> 01:16:22,420 Takže znovu, šel do argv a vy kontrolovány na začátku argc. 1630 01:16:22,420 --> 01:16:24,390 To jsou dva důležité věci na paměti. 1631 01:16:24,390 --> 01:16:29,250 Takže naše poslední dvě minuty před tím, než odejít, nebudeme dostat do Pset dva, ale 1632 01:16:29,250 --> 01:16:33,585 jak jsem řekl, pokud chcete zůstat po po dobu 10 minut, já bych se rád jít 1633 01:16:33,585 --> 01:16:35,710 než se vy logikou Pro tyto základní problémové okruhy. 1634 01:16:35,710 --> 01:16:37,930 Měli jsme hodně na pokrytí dnes takže jsem se k nim dostat. 1635 01:16:37,930 --> 01:16:39,820 Obecně platí, že se mi líbí, aby zahrnovala že na konci. 1636 01:16:39,820 --> 01:16:42,150 Takže pokud chcete držet kolem, držet kolem 10 minut. 1637 01:16:42,150 --> 01:16:42,990 Uděláme to. 1638 01:16:42,990 --> 01:16:46,250 >> Potom, jak jsem se zmínil na začátku, pset nula a jedna, dostaneme, že 1639 01:16:46,250 --> 01:16:48,040 zpětná vazba k tobě jako co nejdříve. 1640 01:16:48,040 --> 01:16:51,260 Cílem je dostat Pset jeden zpětnou vazbu, Komentáře část, 1641 01:16:51,260 --> 01:16:52,850 před pset dva je splatná. 1642 01:16:52,850 --> 01:16:56,730 Takže pokud jste udělali nějaké chyby, nebo stylisticky by věci být lepší, 1643 01:16:56,730 --> 01:17:01,330 budete mít tyto informace, takže si nebude dělat stejné věci v Pset dva. 1644 01:17:01,330 --> 01:17:06,140 A pak se v budoucnu budete mít všechny vašeho Pset připomínky a komentáře 1645 01:17:06,140 --> 01:17:08,190 zpět před další je způsobeno. 1646 01:17:08,190 --> 01:17:12,695 >> A konečně, pokud bych mohl dát další konektor pro zpětnou vazbu. 1647 01:17:12,695 --> 01:17:13,935 Toto je váš první část. 1648 01:17:13,935 --> 01:17:15,920 Byl to můj první část vyučování v letošním roce. 1649 01:17:15,920 --> 01:17:16,930 Jděte tam. 1650 01:17:16,930 --> 01:17:19,800 Napište věci, dobré a špatné, a budu používat to, aby se 1651 01:17:19,800 --> 01:17:21,320 sekce lepší příště. 1652 01:17:21,320 --> 01:17:24,870 A nakonec, opět pokud potřebujete něco, dejte mi vědět. 1653 01:17:24,870 --> 01:17:26,410 Jsem více než šťastný, které vám pomohou kluci. 1654 01:17:26,410 --> 01:17:28,420 Pokud chcete jen sladkosti, jsem bude mít další sladkosti. 1655 01:17:28,420 --> 01:17:29,800 Jsem rád, aby to na vás. 1656 01:17:29,800 --> 01:17:31,190 >> To bude úžasný kurz. 1657 01:17:31,190 --> 01:17:34,900 To je jeden z, ne-li můj oblíbený Samozřejmě, že jsem si vzal v celém mém životě, 1658 01:17:34,900 --> 01:17:37,220 a doufám, že bude, že skvělé pro vás. 1659 01:17:37,220 --> 01:17:40,090 Tak jsem chtěl udělat vše, co bude v mých silách aby bylo úžasné, že pro vás. 1660 01:17:40,090 --> 01:17:46,590 Chystám se odeslat e-mail, pokud jste v mém oddíle nebo Noah, a 1661 01:17:46,590 --> 01:17:50,310 Pokusím a naplánovat každý z jste si čas na kontrolu v průběhu 1662 01:17:50,310 --> 01:17:53,820 příštích pár týdnů, abych se mohl Smysl pro to, co vaše CS pozadí, 1663 01:17:53,820 --> 01:17:58,170 a to také pomůže mi to na míru části, aby lépe vyhovoval vašim potřebám. 1664 01:17:58,170 --> 01:17:59,740 Takže to je to, co jsem dostal postavili. 1665 01:17:59,740 --> 01:18:02,260 Opět uvidíme mimo Pokud chcete být. 1666 01:18:02,260 --> 01:18:03,700 To byl týden dvě části. 1667 01:18:03,700 --> 01:18:04,950 Děkuji vám kluci moc. 1668 01:18:04,950 --> 01:18:09,067