1 00:00:00,000 --> 00:00:02,418 >> [Prehrávanie hudby] 2 00:00:02,418 --> 00:00:10,542 3 00:00:10,542 --> 00:00:12,000 ALLISON Buchholtz-AU: Ahoj všetci. 4 00:00:12,000 --> 00:00:15,640 Vitajte na váš prvý oficiálna CS50 časť. 5 00:00:15,640 --> 00:00:19,507 Ako môžete, vidieť to je Sekcia CS50-like, len 6 00:00:19,507 --> 00:00:20,840 vytiahnuť náš program na dnešok. 7 00:00:20,840 --> 00:00:23,990 Takže, kto som ja, pretože som si istý, ste všetci zvedaví. 8 00:00:23,990 --> 00:00:25,514 Som tvoj TF. 9 00:00:25,514 --> 00:00:27,930 Nie som len náhodný študentka kto sa vydáva za svojou TF. 10 00:00:27,930 --> 00:00:31,190 >> A ja idem cez druh má sekcií potečie, 11 00:00:31,190 --> 00:00:34,900 očakávania máme, zdroje, tak ďalej a tak ďalej. 12 00:00:34,900 --> 00:00:39,190 Budeme hovoriť o pole, ASCII funkcie, argumenty príkazového riadku, 13 00:00:39,190 --> 00:00:42,020 a to nie je tu, ale Aj budú tiež pomáhať 14 00:00:42,020 --> 00:00:45,054 tak nejako premyslieť Vaše ďalšie pset pre tento týždeň. 15 00:00:45,054 --> 00:00:46,720 Čo som si istý, že všetci ocenia. 16 00:00:46,720 --> 00:00:48,190 17 00:00:48,190 --> 00:00:53,390 >> Takže, prvý question-- kto som ja, okrem svojho rozjarení TF tu. 18 00:00:53,390 --> 00:00:55,390 Som Alison Buchholtz-Au. 19 00:00:55,390 --> 00:00:57,970 Toto je môj druhý rok TFing CS50. 20 00:00:57,970 --> 00:01:00,570 Tiež som TF CS51 na jar. 21 00:01:00,570 --> 00:01:03,930 Môžete vidieť zase tam ak sa rozhodnete vziať. 22 00:01:03,930 --> 00:01:07,370 Som tiež PAF, takže každý Freshmen-- a ak nie ste nováčik, 23 00:01:07,370 --> 00:01:09,980 toto je môj tretí rok ako radí kolega. 24 00:01:09,980 --> 00:01:13,630 Som veľmi dobre-zbehlý v poradenstvo vás na život a kurzy 25 00:01:13,630 --> 00:01:16,549 v SK a nie do SK. 26 00:01:16,549 --> 00:01:18,090 Som Computer Science koncentrátor. 27 00:01:18,090 --> 00:01:20,800 Som senior na Adams House, najlepší dom. 28 00:01:20,800 --> 00:01:22,430 29 00:01:22,430 --> 00:01:26,050 A ako som prešiel na SK môj druhák jar, 30 00:01:26,050 --> 00:01:27,640 Vlastne som bol biomedicínsky inžinier. 31 00:01:27,640 --> 00:01:29,020 Chystal som sa ísť na medicínu. 32 00:01:29,020 --> 00:01:30,530 Chcel som byť trauma chirurg. 33 00:01:30,530 --> 00:01:33,000 A to úplne má zmenil od tej doby som sa CS50. 34 00:01:33,000 --> 00:01:34,250 35 00:01:34,250 --> 00:01:36,310 Vzal som si kurz môj druhák Fall. 36 00:01:36,310 --> 00:01:38,920 Bola to moja prvá zoznámenie s CS vôbec. 37 00:01:38,920 --> 00:01:44,104 Bol som jedným z 78% z vás, ktorí bol nulový skúsenosti prichádza, 38 00:01:44,104 --> 00:01:45,520 a to úplne zmenilo môj život. 39 00:01:45,520 --> 00:01:49,820 A teraz som pracoval na Microsoft, a vaše krásne TF. 40 00:01:49,820 --> 00:01:53,500 A CS50 je pravdepodobne jedným z najlepších zážitkov 41 00:01:53,500 --> 00:01:56,210 že som tu mal na Harvard-- ako brať triedu 42 00:01:56,210 --> 00:01:59,040 a sú schopní pomôcť naučiť študentov, ako ste vy. 43 00:01:59,040 --> 00:02:01,410 >> Takže som naozaj nadšený že ste tu všetci. 44 00:02:01,410 --> 00:02:04,270 V prípade, že ste prišli neskoro, je cukroví, 45 00:02:04,270 --> 00:02:07,227 ktoré by ste mali pocit, voľne prichádzať chytiť, alebo poslať 46 00:02:07,227 --> 00:02:08,560 niekto chytiť za vás. 47 00:02:08,560 --> 00:02:09,399 to je v poriadku. 48 00:02:09,399 --> 00:02:10,440 Nechcem jesť to. 49 00:02:10,440 --> 00:02:13,350 Môj izba má dosť čokolády, tak vám všetkým by sa mali snažiť a dokončiť to. 50 00:02:13,350 --> 00:02:16,730 Viem, že tam sú 100 kusov, ale ako, 4 hod v pondelok, 51 00:02:16,730 --> 00:02:19,000 Myslím, že každý mohol použiť nejaký cukor. 52 00:02:19,000 --> 00:02:21,750 >> Takže vy všetci, ktorí sú oficiálne v mojom oddiele 53 00:02:21,750 --> 00:02:24,700 by sa dostali e-mail odo mňa s mojím telefónnym číslom, 54 00:02:24,700 --> 00:02:29,920 Napísať address-- neváhajte a pridajte si ma na Gchat, neváhajte ma pridať na Facebooku, 55 00:02:29,920 --> 00:02:33,360 aj pre vás ostatných, môžete mi e-mail práve tu. 56 00:02:33,360 --> 00:02:34,450 K dispozícii sú dve H. 57 00:02:34,450 --> 00:02:37,090 Každý robí vždycky ako dva L's alebo dve C je. 58 00:02:37,090 --> 00:02:38,260 Dve H v priezviska. 59 00:02:38,260 --> 00:02:41,800 V opačnom prípade to bude odraziť, a Nebudem sa dostať e-mail. 60 00:02:41,800 --> 00:02:46,400 >> Tak neváhajte a napíšte mi, kontaktujte ma kedykoľvek. 61 00:02:46,400 --> 00:02:51,440 Aj nesmie dostať späť do ste do 24 minút 62 00:02:51,440 --> 00:02:53,760 ale sľubujem, že sa vrátim do 24 hodín. 63 00:02:53,760 --> 00:02:54,900 64 00:02:54,900 --> 00:02:58,067 Ak mi zavolať pol hodiny pred Váš pset je spôsobené, môžete byť rád, 65 00:02:58,067 --> 00:02:59,650 Nemám potuchy, čo robím Allison. 66 00:02:59,650 --> 00:03:00,160 Pomôžte mi. 67 00:03:00,160 --> 00:03:04,049 Budem ťa upokojiť, ale na konci dňa, 68 00:03:04,049 --> 00:03:07,340 ak ste ma volať pol hodiny pred Váš pset je splatná nič písomné, 69 00:03:07,340 --> 00:03:11,570 Ja budem rád, dobre, možno je čas použiť túto neskorú deň. 70 00:03:11,570 --> 00:03:15,215 Tak som sa reagovať na všetky vaše požiadavky vo veľmi včas. 71 00:03:15,215 --> 00:03:16,482 72 00:03:16,482 --> 00:03:18,190 Môj telefón je zvyčajne pripojené k mojej ruke. 73 00:03:18,190 --> 00:03:21,530 Aj typicky reagovať oveľa rýchlejšie ako 24 hodín, 74 00:03:21,530 --> 00:03:25,650 ale môžem len záruka odpoveď 24 hodín. 75 00:03:25,650 --> 00:03:26,580 >> Dobrá. 76 00:03:26,580 --> 00:03:28,410 Tak prečo sme tu? 77 00:03:28,410 --> 00:03:32,160 Tiež, ak máte nejaké otázky na kedykoľvek, dajte mi prosím vedieť. 78 00:03:32,160 --> 00:03:32,780 Aj veľa hovoriť. 79 00:03:32,780 --> 00:03:35,320 Hovorím rýchlo, ale prosím neváhajte ma prerušiť. 80 00:03:35,320 --> 00:03:36,980 To mi dáva voľný priestor rovnako. 81 00:03:36,980 --> 00:03:38,159 82 00:03:38,159 --> 00:03:40,200 Takže sekcie sú časovo pre nás naozaj len skok 83 00:03:40,200 --> 00:03:44,270 v, získať nejaké praktické skúsenosti, aby prejsť témy, ktoré sme spomenuli 84 00:03:44,270 --> 00:03:49,760 v triede alebo v študijných materiálov, ktoré odporúčame vami on-line. 85 00:03:49,760 --> 00:03:52,980 A my vlastne prejsť Niektoré z týchto zdrojov v trochu. 86 00:03:52,980 --> 00:03:54,300 87 00:03:54,300 --> 00:03:57,400 >> Takže niekoľko poznámok o podpore časti. 88 00:03:57,400 --> 00:04:00,250 CS50-- jedna z vecí, ktoré robí je to jeden z mojich obľúbených skupín 89 00:04:00,250 --> 00:04:02,510 je pocit, že nie ste nikdy sami. 90 00:04:02,510 --> 00:04:05,430 Máme zamestnancov viac ako 100 ľudia, ktorí sú tu, aby vám pomohol. 91 00:04:05,430 --> 00:04:08,080 Máme úradné hodiny Od pondelka do štvrtka. 92 00:04:08,080 --> 00:04:13,230 Takže je tu veľa ľudí, ktorí láska triedu rovnako tak ako ja 93 00:04:13,230 --> 00:04:15,750 a ktorí sú naozaj tu preto, že chcú byť tu. 94 00:04:15,750 --> 00:04:19,390 Väčšina z nás sú študenti, a to je ako piatej triede naviac 95 00:04:19,390 --> 00:04:20,390 na zvyšok našej práce. 96 00:04:20,390 --> 00:04:22,723 >> A je to veľa práce, ale robíme to preto, že sme ho radi, 97 00:04:22,723 --> 00:04:25,600 a naozaj milujeme vás naučí, a pomôže zdieľať naše nadšenie 98 00:04:25,600 --> 00:04:27,260 k tejto téme a tejto triedy. 99 00:04:27,260 --> 00:04:28,490 Takže prosím, využiť. 100 00:04:28,490 --> 00:04:29,370 Príďte si s nami porozprávať. 101 00:04:29,370 --> 00:04:33,034 Som si sám, keď moji študenti nehovor na mňa, takže ak chcete, 102 00:04:33,034 --> 00:04:33,950 prísť zavesiť von so mnou. 103 00:04:33,950 --> 00:04:35,200 Bude to skvelé. 104 00:04:35,200 --> 00:04:37,400 >> Takže časť je samozrejme jeden z vašich najväčších vecí. 105 00:04:37,400 --> 00:04:41,770 Prejdeme veci ktoré ste sa naučili v prednáške, 106 00:04:41,770 --> 00:04:44,100 urobiť nejaké krátke príklady keď máme čas, 107 00:04:44,100 --> 00:04:46,187 a všeobecne druh získať predstavu o veciach, 108 00:04:46,187 --> 00:04:48,270 mali by ste myslieť o Pre nastavenie váš problém. 109 00:04:48,270 --> 00:04:49,540 110 00:04:49,540 --> 00:04:53,591 Shorts-- koľko ľudí v skutočnosti sledoval video z nuly 111 00:04:53,591 --> 00:04:54,090 krátke? 112 00:04:54,090 --> 00:04:55,460 113 00:04:55,460 --> 00:04:57,390 Každý, kto ma pozná? 114 00:04:57,390 --> 00:04:59,720 To sú veľmi vysoké. 115 00:04:59,720 --> 00:05:01,210 Určite by ste mali sledovať tie. 116 00:05:01,210 --> 00:05:02,880 Veľa práce bolo do nich. 117 00:05:02,880 --> 00:05:06,690 A sú to len chcel byť bite-size kúsky pre vás len pozerať 118 00:05:06,690 --> 00:05:09,760 tri alebo štyri minúty a získajte lepšie pochopenie konceptu. 119 00:05:09,760 --> 00:05:11,147 120 00:05:11,147 --> 00:05:12,980 Prechádzka throughs-- ako mnoho ľudí sa pozerali 121 00:05:12,980 --> 00:05:14,880 Walk-priechodky pre tie predchádzajúce? 122 00:05:14,880 --> 00:05:16,240 Zamyla je úžasné, nie? 123 00:05:16,240 --> 00:05:18,100 Rovnako ako som si želal, aby som bol Zamyla niekedy. 124 00:05:18,100 --> 00:05:19,650 125 00:05:19,650 --> 00:05:21,640 Takže určite používať prechádzka-priechodky. 126 00:05:21,640 --> 00:05:25,070 Ona ho rozloží do malý, bite-size kúsky. 127 00:05:25,070 --> 00:05:28,079 A keď máte tieto obrovské špecifikácia z vašich problémových sád, 128 00:05:28,079 --> 00:05:30,870 to bude naozaj dôležité aby bolo možné nájsť len niekde 129 00:05:30,870 --> 00:05:32,600 začať pracovať a pomaly sa cez to. 130 00:05:32,600 --> 00:05:33,610 131 00:05:33,610 --> 00:05:40,260 >> Dobre, máme tiež Study50, ktorý je study50.harvard.edu, verím. 132 00:05:40,260 --> 00:05:42,270 Stačí si len Google študovať, a bude to prísť. 133 00:05:42,270 --> 00:05:45,750 To je jeden z Najlepšie zdroje máme. 134 00:05:45,750 --> 00:05:49,800 Je powerpoints s poznámkami a praxi problémy pre vás 135 00:05:49,800 --> 00:05:52,430 sa riešenie, ktoré vám môže skutočne prejsť. 136 00:05:52,430 --> 00:05:57,000 Takže ak ste niekedy chceli viac praxe, viac ako my v oddieloch alebo viac 137 00:05:57,000 --> 00:06:00,700 ako váš problém sád, to je naozaj miesto, kde som povzbudiť, aby ste šli. 138 00:06:00,700 --> 00:06:03,590 Bola postavená vlani v lete niektoré z mojich veľmi dobrých priateľov. 139 00:06:03,590 --> 00:06:04,480 A je to úžasné. 140 00:06:04,480 --> 00:06:05,540 141 00:06:05,540 --> 00:06:08,670 V skutočnosti, mnoho z diapozitívov že budem používať pre oddiel 142 00:06:08,670 --> 00:06:10,190 bude pochádzať z Study50. 143 00:06:10,190 --> 00:06:12,000 >> Takže veľa TFS používať. 144 00:06:12,000 --> 00:06:13,920 A napokon, ako som bolo uvedené, úradné hodiny. 145 00:06:13,920 --> 00:06:15,836 Ak máte problémy s s domácimi úlohami, ty si 146 00:06:15,836 --> 00:06:18,270 ťažkosti s koncepcia, prišiel úradné hodiny. 147 00:06:18,270 --> 00:06:20,190 Prejdite na začiatku týždňa, ak môžete. 148 00:06:20,190 --> 00:06:23,130 Vystúpte na štvorkolky, pretože je to trochu ďaleko. 149 00:06:23,130 --> 00:06:24,780 Nikto nemá rád chodiť vonku. 150 00:06:24,780 --> 00:06:27,090 Ale to je vo svoj prospech, pretože potom ste 151 00:06:27,090 --> 00:06:29,580 bude mať všetky tieto TFS, [Nepočuteľné] vás obklopujú. 152 00:06:29,580 --> 00:06:31,920 A zvlášť teraz, len tip, štvrtok 153 00:06:31,920 --> 00:06:35,310 sú veľmi chill práve teraz Mather, pretože vaše psets 154 00:06:35,310 --> 00:06:36,577 sú splatné vo štvrtok. 155 00:06:36,577 --> 00:06:38,410 A vedieť, chce použitie, ale svoje neskoré dni. 156 00:06:38,410 --> 00:06:40,030 >> Takže ak máte ťažkosti s pojmami, 157 00:06:40,030 --> 00:06:41,780 existuje veľa TFS, ktorý sú tu, aby vám pomohol. 158 00:06:41,780 --> 00:06:43,196 Tak poď von Mather vo štvrtok. 159 00:06:43,196 --> 00:06:45,280 Ak chcete ma vidieť, Budem tam. 160 00:06:45,280 --> 00:06:48,870 Ja som zvyčajne robiť svoje vlastné úlohy, pretože nikto nechce moju pomoc. 161 00:06:48,870 --> 00:06:50,260 Tak príďte sa na nás pozrieť. 162 00:06:50,260 --> 00:06:51,460 163 00:06:51,460 --> 00:06:52,440 >> Stretneme sa v polovici cesty. 164 00:06:52,440 --> 00:06:55,400 Tak koľko ľudí sa zúčastnilo prednáška a sledoval, ako on-line? 165 00:06:55,400 --> 00:06:56,570 166 00:06:56,570 --> 00:06:59,140 Koľko ľudí išiel do Super časť minulý týždeň? 167 00:06:59,140 --> 00:07:00,171 168 00:07:00,171 --> 00:07:00,670 V pohode. 169 00:07:00,670 --> 00:07:02,190 To je naozaj značný počet. 170 00:07:02,190 --> 00:07:05,425 Koľko z vás si prečítať spec pre tento týždeň, pre pset? 171 00:07:05,425 --> 00:07:07,081 172 00:07:07,081 --> 00:07:08,461 Ooh, Som hrdý na vás chlapci! 173 00:07:08,461 --> 00:07:09,335 Viac cukroví pre vám všetkým. 174 00:07:09,335 --> 00:07:11,070 175 00:07:11,070 --> 00:07:13,280 >> Dobre, takže to, čo máme na mysli, "Zídeme na polceste", je 176 00:07:13,280 --> 00:07:16,440 že časť je naozaj len bude mimoriadne užitočné pre vás 177 00:07:16,440 --> 00:07:19,810 ak prídete v po prečítaní vašich Špecifikácia pre pset. 178 00:07:19,810 --> 00:07:23,859 Pretože keď som sa prejsť prehľad vecí, ktoré by mali byť díval sa na, 179 00:07:23,859 --> 00:07:25,650 že to nebude robiť ako moc zmysel, ak 180 00:07:25,650 --> 00:07:28,358 Neviem, čo je tvoj problém nastaviť bude sa pýtať, budete robiť. 181 00:07:28,358 --> 00:07:29,020 182 00:07:29,020 --> 00:07:32,590 >> Ak nechcete prísť do sekcie, samozrejme Nemôžem byť tak užitočné pre vás. 183 00:07:32,590 --> 00:07:36,600 Nebudem brať osobne, ak nechcete prísť do môjho časti práve teraz, 184 00:07:36,600 --> 00:07:38,570 ale rozhodne by ste mali. 185 00:07:38,570 --> 00:07:40,090 Ak nemôžete, pozerať sa na ne online. 186 00:07:40,090 --> 00:07:41,230 187 00:07:41,230 --> 00:07:42,519 Sú tam z nejakého dôvodu. 188 00:07:42,519 --> 00:07:43,560 Mine bude práve tam. 189 00:07:43,560 --> 00:07:44,187 190 00:07:44,187 --> 00:07:47,270 Ako si všimnete, že sme sa zaznamenáva, takže to bude tu pre vás. 191 00:07:47,270 --> 00:07:49,110 192 00:07:49,110 --> 00:07:51,570 Rovnako tak, bude lectures-- to je samozrejme 193 00:07:51,570 --> 00:07:53,790 kam dostať štart vášho materiálu tu. 194 00:07:53,790 --> 00:07:57,430 Tak som sa určite snažiť pomôžu čo môžem, 195 00:07:57,430 --> 00:07:58,840 ale môžem stretnúť sa s tebou len tak ďaleko. 196 00:07:58,840 --> 00:08:01,220 Musíte druh stretnúť sa s nami v polovici cesty. 197 00:08:01,220 --> 00:08:04,050 >> Grading-- tak, vy všetci kto dostal e-mail odo mňa, 198 00:08:04,050 --> 00:08:05,445 ty si môj oficiálna časť. 199 00:08:05,445 --> 00:08:06,470 200 00:08:06,470 --> 00:08:08,120 Budem triedenie svoje psets. 201 00:08:08,120 --> 00:08:12,870 A len chcem povedať, jedna vec, ktorá mali by ste naozaj venovať pozornosť 202 00:08:12,870 --> 00:08:13,820 sú komentáre. 203 00:08:13,820 --> 00:08:17,390 Komentáre sú často užitočnejšie než skutočné skóre dáme vám. 204 00:08:17,390 --> 00:08:19,890 A pripomienky sú v skutočnosti kde trávim veľa času 205 00:08:19,890 --> 00:08:20,770 keď som triedenia. 206 00:08:20,770 --> 00:08:22,700 Takže by som ocenil že ak ste si ich. 207 00:08:22,700 --> 00:08:26,990 A oni sú v skutočnosti, ako budete dozvedieť sa viac o dizajne a štýle 208 00:08:26,990 --> 00:08:29,860 a veci, ktoré sú trochu menej rezu a suché. 209 00:08:29,860 --> 00:08:31,770 >> Takže naozaj venovať pozornosť na tieto pripomienky. 210 00:08:31,770 --> 00:08:34,720 Ak máte otázky o tom, alebo otázky týkajúce sa vášho skóre, 211 00:08:34,720 --> 00:08:37,620 príďte so mnou hovoriť buď pred oddielu, 212 00:08:37,620 --> 00:08:41,039 Budem pravdepodobne visí von v hale, alebo neskôr. 213 00:08:41,039 --> 00:08:43,559 Ak chcete naplánovať one-on-one stretnutia o tom, ako 214 00:08:43,559 --> 00:08:46,100 môžete pomôcť zlepšiť neskôr problémové súpravy, dajte mi vedieť. 215 00:08:46,100 --> 00:08:47,520 216 00:08:47,520 --> 00:08:49,750 >> A potom už len pár tipov pre vás. 217 00:08:49,750 --> 00:08:53,110 Takže jeden z najväčších vecí, Vždy som zdôrazniť, môj sekcie 218 00:08:53,110 --> 00:08:57,700 keď sa učíte, ako sa kód je písať veci na papier. 219 00:08:57,700 --> 00:09:01,080 Ak máte herný plán kde sa váš kód musí ísť 220 00:09:01,080 --> 00:09:03,230 a to, čo je potrebné, aby robiť, a to v členení 221 00:09:03,230 --> 00:09:06,000 na malé kúsky pseudokódu kód, ktorý ste napísali von, 222 00:09:06,000 --> 00:09:09,780 budete mať menej pravdepodobné, aby sa chyby syntaxe 223 00:09:09,780 --> 00:09:12,355 alebo vytvoriť slučku, ktorá v prípade, nemá iného. 224 00:09:12,355 --> 00:09:14,064 225 00:09:14,064 --> 00:09:15,980 Ak viete, kde ste bude celkovo, že ste 226 00:09:15,980 --> 00:09:19,764 menej pravdepodobné, aby sa tieto malé chyby, ktoré sa niekedy môže trvať vás 227 00:09:19,764 --> 00:09:22,555 hodín opraviť, pretože ste ako, kde som chýba tento držiak? 228 00:09:22,555 --> 00:09:23,580 229 00:09:23,580 --> 00:09:27,420 >> V takom prípade, prosím, použite Style50. 230 00:09:27,420 --> 00:09:28,820 231 00:09:28,820 --> 00:09:31,590 Zvlášť, keď ste ísť na úradných hodinách, 232 00:09:31,590 --> 00:09:34,850 ak váš kód je všetko prešiel k jednej strane, 233 00:09:34,850 --> 00:09:37,740 to je samozrejme politika že môžeme povedať, opraviť 234 00:09:37,740 --> 00:09:41,990 takže to vyzerá, že Style50 hovorí by mal, a potom tí pomôžem. 235 00:09:41,990 --> 00:09:43,830 Takže to, aby váš život jednoduchší. 236 00:09:43,830 --> 00:09:45,030 Bude to náš život jednoduchší. 237 00:09:45,030 --> 00:09:46,000 Každý, kto je šťastnejší. 238 00:09:46,000 --> 00:09:47,290 Každý dostane lepšie známky. 239 00:09:47,290 --> 00:09:48,760 Nie je to, čo všetci chceme? 240 00:09:48,760 --> 00:09:50,420 241 00:09:50,420 --> 00:09:53,860 >> Takže písať veci, na papier pred ste sa niekedy dotknúť počítača. 242 00:09:53,860 --> 00:09:57,540 Porozprávajte si veci na vysokej úrovni, a uistite sa, že viete, kam idete. 243 00:09:57,540 --> 00:09:59,940 A ak si nie ste istí, sadnúť si s niekým 244 00:09:59,940 --> 00:10:03,340 a pešo je cez krok za krokom čo váš kód má robiť. 245 00:10:03,340 --> 00:10:07,940 A deväťkrát z 10, budete mať ako, oh, zabudol som, ak podmienky 246 00:10:07,940 --> 00:10:12,420 alebo Zabudol som tu bodkočiarku alebo Ja som aktualizáciu tejto premennej zle. 247 00:10:12,420 --> 00:10:15,740 Tak to sú moje tipy pre úspech. 248 00:10:15,740 --> 00:10:19,820 >> Takže od tej doby asi polovica z vás vyzerajú ako ste sa zúčastnili Super časť, 249 00:10:19,820 --> 00:10:24,080 Ja som jednoducho ísť veľmi krátko prejsť slučky, 250 00:10:24,080 --> 00:10:26,650 ktoré neboli na našom pôvodnom programe. 251 00:10:26,650 --> 00:10:28,190 Ale sú naozaj dôležité. 252 00:10:28,190 --> 00:10:30,250 A tak budem druhu rýchlosti cez tie 253 00:10:30,250 --> 00:10:32,860 predtým, než sa dostaneme do našej aktuálnej sekcie. 254 00:10:32,860 --> 00:10:36,269 Ako som to urobiť, sú tam akýkoľvek questions-- logisticky, 255 00:10:36,269 --> 00:10:38,060 osobne, je tu všetko ostatné, čo chcete 256 00:10:38,060 --> 00:10:40,990 vedieť o mňa, alebo o časť alebo trieda všeobecne? 257 00:10:40,990 --> 00:10:43,195 258 00:10:43,195 --> 00:10:43,880 Všetky dobré? 259 00:10:43,880 --> 00:10:45,300 OK, v pohode. 260 00:10:45,300 --> 00:10:46,781 261 00:10:46,781 --> 00:10:47,280 Lovely. 262 00:10:47,280 --> 00:10:50,071 >> Takže loops-- vy mali všetci rozpoznať tieto kúsky od nuly. 263 00:10:50,071 --> 00:10:51,310 264 00:10:51,310 --> 00:10:55,220 Takže slučky sú v podstate len spôsob, ako pre nás niečo urobiť 265 00:10:55,220 --> 00:10:58,900 niektoré počet časov, niektoré opakované činnosť na základe niektorej podmienené. 266 00:10:58,900 --> 00:11:00,140 267 00:11:00,140 --> 00:11:02,090 Takže máme tri rôzne typy. 268 00:11:02,090 --> 00:11:04,860 Máme pre sláčiky, zatiaľ čo, a do-while. 269 00:11:04,860 --> 00:11:06,430 270 00:11:06,430 --> 00:11:11,320 >> Takže loops-- musíme len veľmi celkové usporiadanie tu cykle for. 271 00:11:11,320 --> 00:11:16,110 A to je skvelé, keď viete, ako koľkokrát je potreba niečo vykonať. 272 00:11:16,110 --> 00:11:17,040 273 00:11:17,040 --> 00:11:18,790 Keď hovoríme o ďalšie slučky, budete 274 00:11:18,790 --> 00:11:20,650 prečo to je dôležitý rozdiel. 275 00:11:20,650 --> 00:11:22,530 Ale slučky sú na niečo set. 276 00:11:22,530 --> 00:11:24,590 Viete, že môžete buď výpočet počtu 277 00:11:24,590 --> 00:11:29,230 alebo viete, koľkokrát ste chcem to opakuje od začiatku. 278 00:11:29,230 --> 00:11:32,220 >> Takže ak uvidíte tú sme majú len všeobecný druh 279 00:11:32,220 --> 00:11:34,480 skeletu rámca pre pre sláčiky tu. 280 00:11:34,480 --> 00:11:38,080 Takže pre-inicializácii, to je miesto, kde vaše premenné sú inicializované. 281 00:11:38,080 --> 00:11:41,915 S Mariom, som si istý, že chlapci urobili niečo ako int i = 0. 282 00:11:41,915 --> 00:11:42,920 283 00:11:42,920 --> 00:11:44,710 To je miesto, kde že sa to stane v modrej farbe. 284 00:11:44,710 --> 00:11:48,290 Máte Váš zdravotný stav, ktorý je to, čo skontrolovať zakaždým. 285 00:11:48,290 --> 00:11:52,410 Ak je táto podmienka pravdivá, potom zvyšok kódu vykoná. 286 00:11:52,410 --> 00:11:54,749 Potom to bude bežať again-- a opýtajte sa. 287 00:11:54,749 --> 00:11:57,290 A potom tu máme aktualizáciu, kde ste aktualizáciu premenné. 288 00:11:57,290 --> 00:12:01,410 Takže znovu, s ako Mario, som si istý, vy ste urobil niečo ako ja a naviac plus. 289 00:12:01,410 --> 00:12:04,640 Takže zakaždým, keď slučky bežal som dostal aktualizované tak, 290 00:12:04,640 --> 00:12:09,370 že keď sme kontrolovali proti niektorí podmienka, že sa menil. 291 00:12:09,370 --> 00:12:12,570 >> Vzhľadom k tomu, ak ste práve majú statickú premennú, 292 00:12:12,570 --> 00:12:15,567 ak sa vykonáva prvýkrát, je to práve chystá vykonať nekonečne. 293 00:12:15,567 --> 00:12:18,025 Takže musíte sa uistiť, že náležite aktualizovať svoje premenné. 294 00:12:18,025 --> 00:12:19,350 295 00:12:19,350 --> 00:12:23,890 A máme tiež len vizuálnej reprezentácie tam. 296 00:12:23,890 --> 00:12:24,930 Každý dobrý? 297 00:12:24,930 --> 00:12:25,630 Pre slučiek. 298 00:12:25,630 --> 00:12:27,540 Mali by ste vidieť tie v pset. 299 00:12:27,540 --> 00:12:28,840 V pohode. 300 00:12:28,840 --> 00:12:31,870 >> Tak tu je len jednoduchý príklad. 301 00:12:31,870 --> 00:12:32,860 Vytlačiť To je CS50! 302 00:12:32,860 --> 00:12:33,360 10 krát. 303 00:12:33,360 --> 00:12:34,850 304 00:12:34,850 --> 00:12:37,906 A tak máme inicializácii, ako vidíme tam, s int i 305 00:12:37,906 --> 00:12:41,280 = 0 pre i menej ako 10, a ja som navyše plus. 306 00:12:41,280 --> 00:12:43,090 307 00:12:43,090 --> 00:12:44,540 A to bude tlačiť, že 10 krát. 308 00:12:44,540 --> 00:12:46,230 309 00:12:46,230 --> 00:12:56,781 >> Takže zatiaľ čo loops-- zatiaľ čo slučky sú skvelé, keď nie nevyhnutne 310 00:12:56,781 --> 00:12:59,530 vedieť, koľkokrát je to bude aktualizovať na začiatku. 311 00:12:59,530 --> 00:13:00,640 312 00:13:00,640 --> 00:13:02,580 Len máte nejaké podmienka, ktorá je kontrolovaná. 313 00:13:02,580 --> 00:13:09,550 A to by mohlo byť niečo ako while-- poďme vziať príklad z pset. 314 00:13:09,550 --> 00:13:12,540 Ak Mario, skúste vstup záporné číslo. 315 00:13:12,540 --> 00:13:13,270 Je to tak? 316 00:13:13,270 --> 00:13:15,460 Mal si znovu vyzve svojich užívateľov. 317 00:13:15,460 --> 00:13:20,890 Takže môžete povedať, dobre, ak užívateľských vstupov o niečo menšia ako nula, re-riadku 318 00:13:20,890 --> 00:13:21,390 je. 319 00:13:21,390 --> 00:13:23,890 A som si istý, že by mohli mať bolo niečo, že niektorí z vás 320 00:13:23,890 --> 00:13:24,660 použité v kóde. 321 00:13:24,660 --> 00:13:26,270 >> Takže je to jednoduchá vec. 322 00:13:26,270 --> 00:13:28,490 Máte kým niektoré podmienené, že je zaškrtnutá 323 00:13:28,490 --> 00:13:30,460 zakaždým kód ide spustiť. 324 00:13:30,460 --> 00:13:32,660 Ak sa vyhodnotí ako pravda, my ho spustiť. 325 00:13:32,660 --> 00:13:33,820 Inak nie. 326 00:13:33,820 --> 00:13:35,650 A čo je naozaj DÔLEŽITÉ niečo, čo som 327 00:13:35,650 --> 00:13:38,155 myslím, že David hovoril o v lecture-- sú rovnátka. 328 00:13:38,155 --> 00:13:40,760 329 00:13:40,760 --> 00:13:42,930 Či už je v rámci traky je to, čo je popravený. 330 00:13:42,930 --> 00:13:45,850 Ak zabudnete tie, traky, je to len bude 331 00:13:45,850 --> 00:13:48,800 byť linku priamo po tú dobu bol popravený. 332 00:13:48,800 --> 00:13:51,040 >> Takže ak máte tri veci, ktoré by mali 333 00:13:51,040 --> 00:13:54,020 sa stane, keď to podmienka vyhodnotená ako true, 334 00:13:54,020 --> 00:13:58,040 a nemáte tie rovnátka, iba Prvá vec, ktorú sa bude diať. 335 00:13:58,040 --> 00:14:01,510 Takže veľmi vedomí kam dať svoje rovnátka. 336 00:14:01,510 --> 00:14:04,880 Ak sa budete držať s Style50, to vám určite pomôže. 337 00:14:04,880 --> 00:14:06,220 338 00:14:06,220 --> 00:14:06,760 V pohode. 339 00:14:06,760 --> 00:14:10,835 >> Takže je odpočítavanie od 10 do nuly. 340 00:14:10,835 --> 00:14:12,380 341 00:14:12,380 --> 00:14:16,210 A ako vidíte tu, my inicializovať niektoré čítača mimo neho. 342 00:14:16,210 --> 00:14:19,250 Jedna vec, ktorá je odlišná je nie sme inicializácia našu premennú 343 00:14:19,250 --> 00:14:20,300 v rámci nášho cyklu while. 344 00:14:20,300 --> 00:14:22,150 Je inicializovaný mimo neho. 345 00:14:22,150 --> 00:14:25,480 Sme proste len uvedenie stave, v našej dobe. 346 00:14:25,480 --> 00:14:28,630 Takže v tomto prípade, je to zároveň počet je väčší ako nula. 347 00:14:28,630 --> 00:14:35,134 A my vytlačiť to, čo náš počet je, a potom sme decrement našu premennú. 348 00:14:35,134 --> 00:14:36,800 A to je tiež ďalšia vec, ktorú si toho nevšimol. 349 00:14:36,800 --> 00:14:40,440 Naše aktualizácie neprebehne v rámci že prvá časť cyklu while. 350 00:14:40,440 --> 00:14:44,255 To sa skutočne stane v zátvorky, telo textu. 351 00:14:44,255 --> 00:14:46,820 352 00:14:46,820 --> 00:14:51,860 >> Takže sa, zatiaľ čo loops-- do-while sú skvelé pre overenie užívateľa. 353 00:14:51,860 --> 00:14:54,820 Takže niektorí z vás môžu mať tiež používal toto v pset. 354 00:14:54,820 --> 00:14:59,960 Môžete povedať, áno, ako, požiadať užívateľa pre vstup. 355 00:14:59,960 --> 00:15:04,690 A potom, keď, ako, vstup je menšie ako určité číslo. 356 00:15:04,690 --> 00:15:10,700 >> Takže pre explicitné prípade sa Mario, ale bude robiť printf, zadajte celé číslo, 357 00:15:10,700 --> 00:15:13,820 a potom nejaké celé číslo rovná getint. 358 00:15:13,820 --> 00:15:17,060 A potom to bude v skutočnosti spustený ako prvý tento kód. 359 00:15:17,060 --> 00:15:19,120 Budete skutočne nejaké číslo. 360 00:15:19,120 --> 00:15:23,380 A potom by sa dalo povedať, zatiaľ čo že celé číslo je menšie ako nula. 361 00:15:23,380 --> 00:15:26,120 Tak čo to bude robiť, je, že je to bude vykonávať aspoň raz. 362 00:15:26,120 --> 00:15:27,536 Bude to skontrolovať stav. 363 00:15:27,536 --> 00:15:29,690 V prípade, že je podmienka pravda, bude to znova spustiť. 364 00:15:29,690 --> 00:15:32,900 >> Takže do-while slučky sú skvelé pre overenie užívateľa, 365 00:15:32,900 --> 00:15:36,770 pretože viete, že kód sa bude vykonávať aspoň 366 00:15:36,770 --> 00:15:39,720 raz, zatiaľ čo sa while, nie ste 367 00:15:39,720 --> 00:15:41,630 zaručené, že je to bude vykonávať raz. 368 00:15:41,630 --> 00:15:45,330 Bude to skontrolovať stav prvý a potom sa rozhodnúť pre jeho výkon 369 00:15:45,330 --> 00:15:48,350 zatiaľ čo do-while bude spustiť kód ako prvý 370 00:15:48,350 --> 00:15:51,110 a skontrolujte, či je potrebné ho opakovať. 371 00:15:51,110 --> 00:15:52,985 Znamená to, že rozdiel zmysel pre každého? 372 00:15:52,985 --> 00:15:53,680 373 00:15:53,680 --> 00:15:54,180 OK. 374 00:15:54,180 --> 00:15:55,651 375 00:15:55,651 --> 00:15:56,150 V pohode. 376 00:15:56,150 --> 00:15:57,380 377 00:15:57,380 --> 00:15:59,800 >> Takže v tomto prípade, je to druh z toho, čo som hovoril o tom, 378 00:15:59,800 --> 00:16:02,210 Toto nové pokynov, kým nebudete dostať kladné číslo. 379 00:16:02,210 --> 00:16:05,060 Takže vieme, že printf "Zadajte kladné číslo" 380 00:16:05,060 --> 00:16:08,720 a vlastne žiadajú, aby Vstup sa stane aspoň raz. 381 00:16:08,720 --> 00:16:12,650 V prípade, že používateľ je zlo a udržiava zadanie záporného čísla, ktoré 382 00:16:12,650 --> 00:16:14,210 vie, koľkokrát sa to bude realizovať. 383 00:16:14,210 --> 00:16:17,500 Ale tento kód je zaručená vykonať aspoň raz. 384 00:16:17,500 --> 00:16:20,040 A to je dôvod, prečo je to skvelé pre validáciu vstupu. 385 00:16:20,040 --> 00:16:22,300 A budete používať, že celkom dosť. 386 00:16:22,300 --> 00:16:23,870 387 00:16:23,870 --> 00:16:25,830 >> Dobre, nejaké otázky tak ďaleko? 388 00:16:25,830 --> 00:16:27,080 389 00:16:27,080 --> 00:16:28,030 Sme všetci dobre? 390 00:16:28,030 --> 00:16:29,513 Hovorím príliš rýchlo? 391 00:16:29,513 --> 00:16:30,520 392 00:16:30,520 --> 00:16:31,130 Sme dobrí? 393 00:16:31,130 --> 00:16:31,630 OK. 394 00:16:31,630 --> 00:16:32,960 395 00:16:32,960 --> 00:16:33,800 Desivý 396 00:16:33,800 --> 00:16:35,841 >> Takže budeme pokračovať a hovoriť o polia. 397 00:16:35,841 --> 00:16:36,660 398 00:16:36,660 --> 00:16:37,600 V pohode. 399 00:16:37,600 --> 00:16:40,700 Takže polia sú v podstate len dátové štruktúry 400 00:16:40,700 --> 00:16:43,260 ktoré nám umožňujú ukladať veci rovnakého druhu. 401 00:16:43,260 --> 00:16:47,920 Takže ak budete mať celý rad, je to Buď jednoducho musieť celých čísel 402 00:16:47,920 --> 00:16:51,590 alebo je to len bude mať plaváky alebo je to len bude mať znaky. 403 00:16:51,590 --> 00:16:55,440 Nebudeš mať int s char s plavákom s double. 404 00:16:55,440 --> 00:16:56,850 Jedna vec. 405 00:16:56,850 --> 00:17:00,810 Pole je len jedna veľkosť, alebo sú to len jeden typ. 406 00:17:00,810 --> 00:17:05,679 >> Takže tu máme celý rad veľkostí tri tri celé čísla v ňom. 407 00:17:05,679 --> 00:17:07,970 Mohli pláva, ale my sme chcel povedať, že sú celých čísel. 408 00:17:07,970 --> 00:17:09,310 409 00:17:09,310 --> 00:17:16,970 Takže jedna vec je si uvedomiť, že pole je veľkosť súboru pri inicializácii 410 00:17:16,970 --> 00:17:22,285 im, a oni nie sú easily-- pretože všetci sú menej pohodlné, 411 00:17:22,285 --> 00:17:25,034 mali by ste si myslím, že z nich ako nie je schopný rozšíriť veľkosť. 412 00:17:25,034 --> 00:17:26,119 413 00:17:26,119 --> 00:17:28,740 Avšak veľký vydáte vaše polia na začiatku, 414 00:17:28,740 --> 00:17:31,070 To je veľkosť, že to bude zostať, pretože pole 415 00:17:31,070 --> 00:17:33,070 sú spojité bloky pamäte. 416 00:17:33,070 --> 00:17:34,007 417 00:17:34,007 --> 00:17:35,840 A keď vy dostanete do trochu viac 418 00:17:35,840 --> 00:17:40,820 o tom, ako pamäť je v skutočnosti stanovené na disky a v halde a zásobníka, 419 00:17:40,820 --> 00:17:42,220 to bude robiť trochu väčší zmysel. 420 00:17:42,220 --> 00:17:48,310 >> Ale vy ste mohol myslieť, ako je to len rad miest na disku. 421 00:17:48,310 --> 00:17:52,540 A nemôžete zaručiť, že je bude voľné miesto po ňom. 422 00:17:52,540 --> 00:17:55,290 Dalo by sa inicializovať pole tri a potom možno by ste 423 00:17:55,290 --> 00:17:59,190 inicializovať ďalšie rad piatich neskôr, a to hneď po tom. 424 00:17:59,190 --> 00:18:04,000 Takže ak ste mali ísť okolo miesto tri v tom prvom poli, 425 00:18:04,000 --> 00:18:06,370 by ste sa písať cez niečo iné. 426 00:18:06,370 --> 00:18:10,390 Takže pole are-- pre vás, len premýšľať o nich ako o pevnej veľkosti. 427 00:18:10,390 --> 00:18:12,700 428 00:18:12,700 --> 00:18:16,890 >> Takže vytvorenie array-- ideš musieť urobiť docela dost. 429 00:18:16,890 --> 00:18:18,240 430 00:18:18,240 --> 00:18:22,080 Takže rovnakým spôsobom, že máme všeobecná štruktúra pre naše pre slučky, 431 00:18:22,080 --> 00:18:24,910 máme pekný generál Štruktúra pre naše polia. 432 00:18:24,910 --> 00:18:28,430 Vzhľadom k tomu, že sú z jedného typu, všetko prvky v poli sú jedného typu, 433 00:18:28,430 --> 00:18:30,950 musíte inicializovať čo to je typ. 434 00:18:30,950 --> 00:18:33,804 >> Takže, ako vidíte tu, máme pekný malý držiak dátový typ. 435 00:18:33,804 --> 00:18:35,970 Takže ak budeme vytvárať int pole, ktoré bude int. 436 00:18:35,970 --> 00:18:38,830 Ak máme vytvoriť char pole, bude to char. 437 00:18:38,830 --> 00:18:41,890 Ak máme vytvoriť reťazec pole, bude to reťazec. 438 00:18:41,890 --> 00:18:45,140 A potom sa názov poľa, čo by ste chceli, aby to bolo. 439 00:18:45,140 --> 00:18:51,750 Takže možno je to výsledky testov alebo možno je to študentmi alebo možno je to pečivo. 440 00:18:51,750 --> 00:18:54,440 Či už sa rozhodnete na meno pole, to je to, čo to bude. 441 00:18:54,440 --> 00:18:57,260 >> A potom sa v zátvorkách, budete majú veľkosť, ktorú chcete. 442 00:18:57,260 --> 00:19:01,350 Takže sme skladovanie 10 študentov alebo sme skladovanie 15 druhov koláčov? 443 00:19:01,350 --> 00:19:03,200 444 00:19:03,200 --> 00:19:03,920 Čo nie. 445 00:19:03,920 --> 00:19:06,830 Takže v našom príklade, sme vytvorenie poľa 446 00:19:06,830 --> 00:19:10,100 veľkosti tri, ktoré si chlapci pozri tu vpravo. 447 00:19:10,100 --> 00:19:11,350 448 00:19:11,350 --> 00:19:15,990 A keď sme sa prvýkrát inicializuje to všetko sa nastaví na nulu. 449 00:19:15,990 --> 00:19:18,970 Takže je to len myšlienka ako sa nepopsaným listom. 450 00:19:18,970 --> 00:19:22,550 Máme všetky tieto priestory, máme všetci tieto krabice môžeme dať naše dáta do, 451 00:19:22,550 --> 00:19:25,530 ale sú to len prázdne v súčasnej dobe. 452 00:19:25,530 --> 00:19:28,700 >> Takže ak chceme skutočne priradiť tieto hodnoty, 453 00:19:28,700 --> 00:19:33,050 robíme tak, aby priamo pod tú ukáže. 454 00:19:33,050 --> 00:19:39,170 Takže budete musieť bez ohľadu na názov vášho Pole je a potom to, čo index chcete. 455 00:19:39,170 --> 00:19:43,070 Takže index len odkazuje, ako to, čo slot pozeráme. 456 00:19:43,070 --> 00:19:47,830 A dôležité všímať je to, že polia sú nulové indexované. 457 00:19:47,830 --> 00:19:53,160 Ak teda chceme prvé miesto v pamäti naše polia, to bude nula. 458 00:19:53,160 --> 00:19:54,740 Ak chceme druhý, bude to jedno. 459 00:19:54,740 --> 00:19:56,198 Ak chceme, aby tretinu, bude to dva. 460 00:19:56,198 --> 00:19:57,820 Tak ďalej a tak ďalej. 461 00:19:57,820 --> 00:20:02,130 >> Čo je tiež dôvod, prečo konvenčne, keď robíme pre loops-- som si istý, 462 00:20:02,130 --> 00:20:05,030 Vy ste boli zvedaví, prečo začneme na 0 proti 1? 463 00:20:05,030 --> 00:20:09,909 A to preto, že keď sme prechod pomocou polí, mapuje správne. 464 00:20:09,909 --> 00:20:11,700 Takže ak chcete, aby iterácii do poľa, je 465 00:20:11,700 --> 00:20:14,830 robí oveľa väčší zmysel robiť i = 0, pretože sme 466 00:20:14,830 --> 00:20:17,940 vedia, že budú zodpovedať na prvé miesto v pamäti. 467 00:20:17,940 --> 00:20:18,990 468 00:20:18,990 --> 00:20:19,990 Všetci dobre s tým? 469 00:20:19,990 --> 00:20:21,060 470 00:20:21,060 --> 00:20:21,560 V pohode. 471 00:20:21,560 --> 00:20:26,240 >> A potom na dno je tu len Ďalším spôsobom, ako inicializáciu poľa. 472 00:20:26,240 --> 00:20:29,590 Stále máte svoj dátový typ a meno, 473 00:20:29,590 --> 00:20:31,960 ale miesto skutočne uvedenie veľkosti tam, 474 00:20:31,960 --> 00:20:33,830 môžete jednoducho prázdne zátvorky. 475 00:20:33,830 --> 00:20:36,350 A potom sa tieto vlnité traky na dne, 476 00:20:36,350 --> 00:20:40,270 Stačí si len vstup dát, ktorá ktoré chcete oddelené čiarkami. 477 00:20:40,270 --> 00:20:43,070 A to automaticky hovoria, OK, vidím, 478 00:20:43,070 --> 00:20:47,300 že máte tri veci v týchto zátvoriek. 479 00:20:47,300 --> 00:20:51,410 Takže viem, že musím prideliť tri bloky pamäte a uložiť ty. 480 00:20:51,410 --> 00:20:55,300 481 00:20:55,300 --> 00:21:01,670 >> Takže prvá verzia môžete použiť ak sa pýtate užívateľa do vstupu 482 00:21:01,670 --> 00:21:04,770 hodnoty, takže môžete iterovat pole 483 00:21:04,770 --> 00:21:07,660 a ask-- trochu int vstup je. 484 00:21:07,660 --> 00:21:10,500 Ak poznáte hodnoty vopred, to robí oveľa väčší zmysel 485 00:21:10,500 --> 00:21:12,110 použiť druhý spôsob. 486 00:21:12,110 --> 00:21:17,270 Ale vo väčšine prípadov možno neviete čo tieto hodnoty sa bude. 487 00:21:17,270 --> 00:21:19,060 488 00:21:19,060 --> 00:21:19,560 V pohode. 489 00:21:19,560 --> 00:21:20,393 Nejaké ďalšie otázky? 490 00:21:20,393 --> 00:21:21,206 491 00:21:21,206 --> 00:21:21,705 V poriadku. 492 00:21:21,705 --> 00:21:25,960 493 00:21:25,960 --> 00:21:30,370 >> Takže prístup elements-- tak jeden z veľkých vecí, o poliach 494 00:21:30,370 --> 00:21:33,310 je, že sú náhodné prístup, čo znamená, že vás 495 00:21:33,310 --> 00:21:36,010 Nemusíte sa pozerať skrz každom bloku. 496 00:21:36,010 --> 00:21:38,150 Ak viete, že vás chcú to, čo je v bloku dvoch, 497 00:21:38,150 --> 00:21:40,820 stačí povedať, daj mi blokovať dva. 498 00:21:40,820 --> 00:21:44,160 A to je dôvod, prečo tieto indexy sú tak dôležité, 499 00:21:44,160 --> 00:21:46,220 a to je to, ako sme vlastne prístup k nim. 500 00:21:46,220 --> 00:21:50,660 Takže v tomto prípade, ako sme videli skôr, keď sme priradenie hodnoty, v jednom 501 00:21:50,660 --> 00:21:55,360 než sme mali názov a index sme chceli prístup, nie? 502 00:21:55,360 --> 00:21:59,370 Takže rovnakým spôsobom, to je všetko, čo urobiť, aby skutočne vytiahnuť, že dáta odchodu. 503 00:21:59,370 --> 00:22:02,940 Máme meno a my má index, ktorý chceme. 504 00:22:02,940 --> 00:22:06,710 >> Takže v tomto prípade, pre sláčiky tu dole, niekto 505 00:22:06,710 --> 00:22:09,060 vedieť, čo to robí, Čo by to vytlačiť? 506 00:22:09,060 --> 00:22:13,771 507 00:22:13,771 --> 00:22:14,270 Mmhmm? 508 00:22:14,270 --> 00:22:17,790 509 00:22:17,790 --> 00:22:18,520 Presne tak. 510 00:22:18,520 --> 00:22:20,130 Tak jo, je to len iterácie. 511 00:22:20,130 --> 00:22:23,410 i je rovné zero-- môžeme chodiť prostredníctvom kódu práve rýchlo. 512 00:22:23,410 --> 00:22:26,680 i sa rovná nule, aj je nižšia ako tri na tomto mieste, že jo? 513 00:22:26,680 --> 00:22:27,780 Tak to preveruje. 514 00:22:27,780 --> 00:22:33,370 A my hovoríme, OK, tlač f čo je v teplote i. 515 00:22:33,370 --> 00:22:37,990 i je tu nulová, keď sme sa prvýkrát opakovať, a tak sme išli do prvého bodu, 516 00:22:37,990 --> 00:22:40,840 a hovoríme, OK, 65 je Číslo chceme vytlačiť. 517 00:22:40,840 --> 00:22:43,570 Takže to bude tlačiť 65 a vykonajte nový riadok. 518 00:22:43,570 --> 00:22:46,550 budem aktualizovať, takže sa vytlačí 87. 519 00:22:46,550 --> 00:22:48,780 Znovu aktualizuje, a to bude tlačiť 30. 520 00:22:48,780 --> 00:22:49,810 521 00:22:49,810 --> 00:22:50,630 Všetci v pohode? 522 00:22:50,630 --> 00:22:51,630 523 00:22:51,630 --> 00:22:52,130 Úžasné. 524 00:22:52,130 --> 00:22:54,340 525 00:22:54,340 --> 00:22:54,840 >> Dobrá. 526 00:22:54,840 --> 00:22:57,710 Tak tu je druh jedného vec, ktorú som hovoril, ako 527 00:22:57,710 --> 00:23:00,020 môžete sledovať niečí skóre a prečo 528 00:23:00,020 --> 00:23:03,300 mali by ste použiť prvý spôsob jeho inicializácii 529 00:23:03,300 --> 00:23:04,890 Namiesto tejto druhej cesty. 530 00:23:04,890 --> 00:23:06,620 A to práve prechádza. 531 00:23:06,620 --> 00:23:08,945 A všimnite si máme veľkostnej triedy 30. 532 00:23:08,945 --> 00:23:10,690 533 00:23:10,690 --> 00:23:15,770 A my inicializácia to Pole ints, že je o veľkosti 30. 534 00:23:15,770 --> 00:23:18,070 A potom sme iterácie vďaka a my sme 535 00:23:18,070 --> 00:23:20,910 pýta užívateľa na vstup skóre pre každú z nich 536 00:23:20,910 --> 00:23:23,700 a potom zaradí do určitého miesta v pamäti 537 00:23:23,700 --> 00:23:24,860 niekde v tomto poli. 538 00:23:24,860 --> 00:23:26,700 539 00:23:26,700 --> 00:23:27,890 V pohode? 540 00:23:27,890 --> 00:23:29,650 Znamená to, že zmysel pre každého? 541 00:23:29,650 --> 00:23:30,150 Mmhmm? 542 00:23:30,150 --> 00:23:32,910 543 00:23:32,910 --> 00:23:40,360 >> Takže hashtag definovať veľkosť triedy 30 smernice preprocesor, 544 00:23:40,360 --> 00:23:43,780 čo práve znamená, že gets-- má robiť ako proces preklady. 545 00:23:43,780 --> 00:23:47,595 Môžete si ju ako globálny premennú. 546 00:23:47,595 --> 00:23:49,260 547 00:23:49,260 --> 00:23:53,030 Spôsob, akým to robíme, je typically-- umožňuje kód 548 00:23:53,030 --> 00:23:54,770 sa ľahšie zmeniť. 549 00:23:54,770 --> 00:23:59,480 Takže povedzme, že naša veľkosť triedy Zrazu jede 30-15, 550 00:23:59,480 --> 00:24:03,930 keby som nie je definované to takto, ja by som musí prejsť celý môj program 551 00:24:03,930 --> 00:24:07,420 a zmeniť všetky stupne z 30. až 15. 552 00:24:07,420 --> 00:24:11,590 Ale s tým som si zmeniť niektorú mieste, a inde sa všetko zmení. 553 00:24:11,590 --> 00:24:14,930 >> Ak ste niekedy chceli urobiť hash definovať v prípade, 554 00:24:14,930 --> 00:24:19,020 kam sledovanie niektorých nastaviť počet skóre pre triedu 555 00:24:19,020 --> 00:24:23,250 alebo používate čísla ktoré budú použité, rovnako ako, 556 00:24:23,250 --> 00:24:27,740 po celú dobu veľmi dlhú programu, to je lepšie definovať, že na začiatku 557 00:24:27,740 --> 00:24:34,440 tak, aby v prípade, keď sa zmení, dostanete zmeniť jeden bod miesto 100. 558 00:24:34,440 --> 00:24:34,940 Áno? 559 00:24:34,940 --> 00:24:39,830 >> STUDENT: Medzi tým, že a len vyhlásil [nepočuteľné] cez hore. 560 00:24:39,830 --> 00:24:42,470 >> ALLISON Buchholtz-AU: Tak to má čo do činenia s efficient-- 561 00:24:42,470 --> 00:24:45,460 je to trochu mimo oblasť pôsobnosti čo môžeme pokryť v tejto sekcii. 562 00:24:45,460 --> 00:24:49,236 To má čo do činenia viac s účinnosťou a ako sa veci v skutočnosti 563 00:24:49,236 --> 00:24:50,485 práce v procese preklady. 564 00:24:50,485 --> 00:24:52,590 565 00:24:52,590 --> 00:24:55,006 Ak chcete naozaj vedieť, o tom, že som rád, že ťa poslať 566 00:24:55,006 --> 00:24:56,450 e-mail s prostriedkami o tom. 567 00:24:56,450 --> 00:24:57,810 568 00:24:57,810 --> 00:25:03,880 HASH definovať tendenciu byť prednostné pre veci. 569 00:25:03,880 --> 00:25:06,380 A ako ste kód ešte, vy druh učiť nuansy 570 00:25:06,380 --> 00:25:09,135 kedy by ste mali použiť Globálne verzus hash definovať. 571 00:25:09,135 --> 00:25:11,010 Ale v súčasnej dobe, nemáte naozaj 572 00:25:11,010 --> 00:25:13,290 sa obávať, že je že krátke odpoveď. 573 00:25:13,290 --> 00:25:15,360 574 00:25:15,360 --> 00:25:16,360 Všetci dobre s tým? 575 00:25:16,360 --> 00:25:18,151 A tiež, ak chcete použiť hash definovať, 576 00:25:18,151 --> 00:25:21,120 je to naozaj dôležité si uvedomiť, že názov by mal byť vo všetkých čiapky. 577 00:25:21,120 --> 00:25:22,210 578 00:25:22,210 --> 00:25:24,674 Nie sme len to, CLASS VEĽKOSŤ byť dramatický. 579 00:25:24,674 --> 00:25:26,090 To by malo byť v skutočnosti vo všetkých veľkých písmenách. 580 00:25:26,090 --> 00:25:27,880 581 00:25:27,880 --> 00:25:28,610 V pohode. 582 00:25:28,610 --> 00:25:30,130 Ešte niečo? 583 00:25:30,130 --> 00:25:31,190 Sme dobrí? 584 00:25:31,190 --> 00:25:32,220 Lovely. 585 00:25:32,220 --> 00:25:32,720 Vitajte u nás. 586 00:25:32,720 --> 00:25:34,240 587 00:25:34,240 --> 00:25:38,495 >> OK, takže chcem, vy sa pozrieť na to a uvidíme, či môžete nájsť chybu. 588 00:25:38,495 --> 00:25:45,580 589 00:25:45,580 --> 00:25:46,507 Dám vám nápovedu. 590 00:25:46,507 --> 00:25:47,840 Je to niekde v tomto pre-slučky. 591 00:25:47,840 --> 00:25:53,070 592 00:25:53,070 --> 00:25:53,665 Mmhmm? 593 00:25:53,665 --> 00:25:55,704 >> STUDENT: Mal by byť menšia alebo rovná 2. 594 00:25:55,704 --> 00:25:56,920 595 00:25:56,920 --> 00:26:01,094 >> ALLISON: Tak to môže byť menšia než alebo rovná 2, alebo môže byť nižšia ako 3. 596 00:26:01,094 --> 00:26:02,510 A čo je úvaha, že? 597 00:26:02,510 --> 00:26:05,135 >> STUDENT: [nepočuteľné], 0, 1, 2. 598 00:26:05,135 --> 00:26:06,080 >> ALLISON: Presne tak. 599 00:26:06,080 --> 00:26:12,180 Takže v poli veľkosti n, sme iba indexy n mínus 1. 600 00:26:12,180 --> 00:26:13,700 601 00:26:13,700 --> 00:26:14,200 V pohode. 602 00:26:14,200 --> 00:26:15,091 603 00:26:15,091 --> 00:26:17,840 A potom sa môžeme dostať naozaj šialené a získať multi-dimenzionální pole. 604 00:26:17,840 --> 00:26:19,340 605 00:26:19,340 --> 00:26:23,960 Jedným z problémov, keď som sa to v mojom rok požadované viacrozmerné polia, 606 00:26:23,960 --> 00:26:28,720 a myslím, že jeden z nich môže vyžadovať že v tomto roku, takže sa pohodlne. 607 00:26:28,720 --> 00:26:30,140 Zabaliť hlavu okolo neho teraz. 608 00:26:30,140 --> 00:26:33,087 To príde späť do obľúbeného miesta vy, ale v chladnom spôsobom. 609 00:26:33,087 --> 00:26:35,420 Takže si môžete naozaj si myslím, že multi-dimenzionální pole 610 00:26:35,420 --> 00:26:36,870 ako pole polí. 611 00:26:36,870 --> 00:26:38,060 612 00:26:38,060 --> 00:26:43,809 Takže môžete trochu myslíte o tomto vrchole riadku ako prvý kus pamäte. 613 00:26:43,809 --> 00:26:45,600 A toto je Druhý kus pamäti, 614 00:26:45,600 --> 00:26:47,570 a posledný riadok je Tretí kus pamäte. 615 00:26:47,570 --> 00:26:50,740 A v to, že tam je pole. 616 00:26:50,740 --> 00:26:53,250 Ale samozrejme, je to jednoduchšie líčiť takhle. 617 00:26:53,250 --> 00:26:55,610 >> Takže si to inicializovať rovnakým spôsobom. 618 00:26:55,610 --> 00:26:57,290 619 00:26:57,290 --> 00:27:01,610 To je znak doska z troch tromi. 620 00:27:01,610 --> 00:27:04,180 Takže máte tri riadky a tri stĺpce. 621 00:27:04,180 --> 00:27:06,760 Sme to predstavuje takto. 622 00:27:06,760 --> 00:27:11,800 A vy by ste to na prístup Rovnakým spôsobom, stĺpik riadok. 623 00:27:11,800 --> 00:27:14,840 A tak 1,1, ako vidíme tu. 624 00:27:14,840 --> 00:27:18,730 Priradíme nula, nula tam. 625 00:27:18,730 --> 00:27:21,900 2,0 a 0,2. 626 00:27:21,900 --> 00:27:26,900 Takže by ste them-- len prístup, ak kto to kedy urobil lineárnej algebry, 627 00:27:26,900 --> 00:27:31,580 rovnakým spôsobom pristupovať k prvku v Matrice, je to rovnaký nápad tu. 628 00:27:31,580 --> 00:27:33,030 Takže si môže týkať späť do matematiky. 629 00:27:33,030 --> 00:27:34,130 630 00:27:34,130 --> 00:27:36,380 Nemusíte sa báť príliš moc o tom teraz. 631 00:27:36,380 --> 00:27:38,671 Je dobré mať expozíciu, vedieť, že to možno urobiť. 632 00:27:38,671 --> 00:27:42,700 Môžete vytvárať niektoré blázon number-- môžete 633 00:27:42,700 --> 00:27:44,750 vytvárať šialené poľa je všetko, čo som chcel povedať. 634 00:27:44,750 --> 00:27:45,250 [Nepočuteľné] 635 00:27:45,250 --> 00:27:46,585 636 00:27:46,585 --> 00:27:48,460 To je trochu blázon, ale je to naozaj cool. 637 00:27:48,460 --> 00:27:50,020 638 00:27:50,020 --> 00:27:50,670 Úžasné. 639 00:27:50,670 --> 00:27:52,550 >> A potom, takže máme príklad tu. 640 00:27:52,550 --> 00:27:54,165 Je vypočíta dĺžku reťazca. 641 00:27:54,165 --> 00:27:55,210 642 00:27:55,210 --> 00:27:59,670 Tak koľko ľudí vie, že reťazca, ktoré ste pomocou 643 00:27:59,670 --> 00:28:01,265 sú len pole znakov? 644 00:28:01,265 --> 00:28:03,670 645 00:28:03,670 --> 00:28:04,655 OK, jo. 646 00:28:04,655 --> 00:28:08,000 Takže si chlapci môžu myslieť, že nemáte použité pole skôr, ale kedykoľvek 647 00:28:08,000 --> 00:28:10,740 Používate getString v CSView knižnica, ste 648 00:28:10,740 --> 00:28:14,690 vlastne len žiadať o pole znakov. 649 00:28:14,690 --> 00:28:17,450 A my sme starostlivosť o všetky že v back-end pre vás. 650 00:28:17,450 --> 00:28:20,184 Ale vy ste používali poľa od spustenia. 651 00:28:20,184 --> 00:28:21,350 Práve ste to nevedel ešte. 652 00:28:21,350 --> 00:28:22,420 653 00:28:22,420 --> 00:28:28,390 >> A vždy, keď máte pole znakov alebo pole, ktoré je ukladanie reťazec, 654 00:28:28,390 --> 00:28:32,050 Posledná vec, ktorú je vždy to, čo je volal null terminátor, ktorý 655 00:28:32,050 --> 00:28:33,830 je to tu. 656 00:28:33,830 --> 00:28:37,300 A to je na konci Každé slovo, ktoré ste skladovania. 657 00:28:37,300 --> 00:28:41,170 Ak teda chceme zistiť, Dĺžka reťazca, môžeme povedať, 658 00:28:41,170 --> 00:28:45,320 no, vieš, Obsah tohto bloku 659 00:28:45,320 --> 00:28:46,867 nie je zhodný s našou null zakončenie. 660 00:28:46,867 --> 00:28:49,450 To znamená, že existuje určitá znak tam, že sme vlastne 661 00:28:49,450 --> 00:28:51,540 starostlivosť o to časť slova. 662 00:28:51,540 --> 00:28:52,665 Zvýšite svoju dĺžku. 663 00:28:52,665 --> 00:28:55,540 A potom, keď sme sa vlastne dostať koniec slova, bude to ukončiť 664 00:28:55,540 --> 00:28:58,790 a to vrátim našu dĺžku pre nás. 665 00:28:58,790 --> 00:29:00,098 Mmhmm? 666 00:29:00,098 --> 00:29:02,906 >> STUDENT: Má priestor počítať ako null zakončenie? 667 00:29:02,906 --> 00:29:04,780 ALLISON: Takže priestor je nemá nulový znakom. 668 00:29:04,780 --> 00:29:10,590 Takže ak máte multiple-- priestor je vlastne špecifická hodnota ASCII. 669 00:29:10,590 --> 00:29:11,719 670 00:29:11,719 --> 00:29:13,552 STUDENT: Čo je to zvolanie opäť v rovnováhe? 671 00:29:13,552 --> 00:29:17,080 ALLISON: Takže, to je to, čo nájdete. 672 00:29:17,080 --> 00:29:21,220 Ak ste niekedy počujete ma úradných hodinách, Vždy hovorím, že niečo ako rana rovná. 673 00:29:21,220 --> 00:29:23,520 Takže bang nie je. 674 00:29:23,520 --> 00:29:25,370 Takže to nie je rovná. 675 00:29:25,370 --> 00:29:28,480 676 00:29:28,480 --> 00:29:32,290 Takže ak sa snažíte zistiť, či je niečo nepravdivé, 677 00:29:32,290 --> 00:29:35,915 viete vždy, bang, čo premenná, a ak je to nepravdivé, 678 00:29:35,915 --> 00:29:38,540 vyhodnotí na true a vás môžete robiť super veci s tým. 679 00:29:38,540 --> 00:29:39,830 680 00:29:39,830 --> 00:29:40,675 Viac o tom neskôr. 681 00:29:40,675 --> 00:29:42,090 682 00:29:42,090 --> 00:29:42,590 V pohode. 683 00:29:42,590 --> 00:29:44,260 Všetko, čo tam dobre? 684 00:29:44,260 --> 00:29:44,760 Úžasné. 685 00:29:44,760 --> 00:29:48,045 >> Takže teraz je čas vašich obchodíky so pracovať, pretože som hovoril. 686 00:29:48,045 --> 00:29:49,220 687 00:29:49,220 --> 00:29:53,200 Takže chcem vám len vytvoriť pole s celými číslami jeden, dva, tri, 688 00:29:53,200 --> 00:29:54,660 a potom nechať vytlačiť. 689 00:29:54,660 --> 00:29:58,050 Nemusíte robiť, ako, hlavné, bla, bla, bla, čokoľvek. 690 00:29:58,050 --> 00:30:00,840 Len chcem, aby si inicializovať pole a potom vytvoriť 691 00:30:00,840 --> 00:30:04,790 pre sláčiky vytlačiť out-- alebo while, záleží na vás. 692 00:30:04,790 --> 00:30:07,600 >> Budem vám pár minút, aby sa na tom pracovať. 693 00:30:07,600 --> 00:30:09,320 Chystám sa odpočívať môj hlas. 694 00:30:09,320 --> 00:30:13,290 Ak máte nejaké otázky, som rád, aby sa okolo a hovoriť s vami. 695 00:30:13,290 --> 00:30:15,290 Neváhajte a hovoriť s každým iný. 696 00:30:15,290 --> 00:30:16,125 Získajte viac cukroví. 697 00:30:16,125 --> 00:30:17,181 698 00:30:17,181 --> 00:30:18,930 V skutočnosti, ja len chodiť s cukrovinkami. 699 00:30:18,930 --> 00:30:19,600 Ako to? 700 00:30:19,600 --> 00:30:22,974 701 00:30:22,974 --> 00:30:23,938 >> Chceš nejaké? 702 00:30:23,938 --> 00:30:34,703 703 00:30:34,703 --> 00:30:36,675 Niekto iný v tejto miestnosti chcete cukrovinky? 704 00:30:36,675 --> 00:30:47,030 705 00:30:47,030 --> 00:30:49,206 Môžete si tiež vziať viac ako jednu, chlapci. 706 00:30:49,206 --> 00:30:50,330 Vezmite hrsť, ak chcete. 707 00:30:50,330 --> 00:30:52,690 708 00:30:52,690 --> 00:30:53,190 Môže rovnako. 709 00:30:53,190 --> 00:30:54,929 710 00:30:54,929 --> 00:30:55,720 Všetci ostatní dobré? 711 00:30:55,720 --> 00:30:57,561 712 00:30:57,561 --> 00:30:58,060 OK. 713 00:30:58,060 --> 00:31:02,750 714 00:31:02,750 --> 00:31:07,290 >> Tiež, budem vytvárať anonymný Google Form, 715 00:31:07,290 --> 00:31:09,830 a vy môžete len predložiť spätná väzba po každom oddieli 716 00:31:09,830 --> 00:31:14,115 v prípade, že je to niečo, čo chcete vylepšiť, alebo niečo, čo chcete hotovo. 717 00:31:14,115 --> 00:31:17,135 Ak som príliš peppy pre vás, môžete mi tón nadol. 718 00:31:17,135 --> 00:31:18,510 719 00:31:18,510 --> 00:31:20,885 Budem vytvárať a odosielať, že to sa vám všetkým neskôr. 720 00:31:20,885 --> 00:32:39,420 721 00:32:39,420 --> 00:32:40,020 >> Dobrá. 722 00:32:40,020 --> 00:32:41,050 Takže poďme začať v malom. 723 00:32:41,050 --> 00:32:42,740 Ako by sme inicializovať našu ponuku? 724 00:32:42,740 --> 00:32:49,690 725 00:32:49,690 --> 00:32:51,670 Aký je typ našej ponuku? 726 00:32:51,670 --> 00:32:52,410 Int, že jo? 727 00:32:52,410 --> 00:32:54,740 OK, tak čo chceš volať svoje pole? 728 00:32:54,740 --> 00:32:57,880 729 00:32:57,880 --> 00:32:59,230 Int pole, v pohode. 730 00:32:59,230 --> 00:33:04,200 Dobre, takže máme int int pole rovná, a čo máme po tom? 731 00:33:04,200 --> 00:33:07,009 732 00:33:07,009 --> 00:33:08,259 STUDENT: [nepočuteľné] hranaté zátvorky. 733 00:33:08,259 --> 00:33:09,140 ALLISON: Traky. 734 00:33:09,140 --> 00:33:10,330 735 00:33:10,330 --> 00:33:11,775 A potom vnútri zátvoriek? 736 00:33:11,775 --> 00:33:14,360 737 00:33:14,360 --> 00:33:16,830 Jedna čiarka čiarka dva tri. 738 00:33:16,830 --> 00:33:17,330 V pohode. 739 00:33:17,330 --> 00:33:18,660 Tak to je v poriadku. 740 00:33:18,660 --> 00:33:21,480 Takže teraz máme pre slučke. 741 00:33:21,480 --> 00:33:24,180 Takže v prvej časti nášho slučky for, čo máme? 742 00:33:24,180 --> 00:33:25,796 743 00:33:25,796 --> 00:33:27,420 >> STUDENT: i = 0? 744 00:33:27,420 --> 00:33:31,400 >> ALLISON: Takže int i = 0, a potom to, čo je naša podmienka? 745 00:33:31,400 --> 00:33:33,750 746 00:33:33,750 --> 00:33:36,120 Čo sa to aj bude menšia ako? 747 00:33:36,120 --> 00:33:39,510 Menej ako tri, a Ako to robíme my aktualizovať aj? 748 00:33:39,510 --> 00:33:41,630 i a plus, je aktualizácia raz. 749 00:33:41,630 --> 00:33:46,150 A potom budeme mať niektoré printf na celé číslo, 750 00:33:46,150 --> 00:33:49,530 a čo je to, že posledný časť, ktorá je v skutočnosti 751 00:33:49,530 --> 00:33:51,370 bude hovoriť, čo by sme mali tlačiť? 752 00:33:51,370 --> 00:33:55,610 753 00:33:55,610 --> 00:33:59,120 Bolo by meno pole, čo je int array, že jo? 754 00:33:59,120 --> 00:34:01,090 A čo je v zátvorke v poli int? 755 00:34:01,090 --> 00:34:02,540 756 00:34:02,540 --> 00:34:03,640 i. 757 00:34:03,640 --> 00:34:06,550 [? Tak som?] Volal mojej príklad, ale je to tu. 758 00:34:06,550 --> 00:34:07,939 759 00:34:07,939 --> 00:34:08,480 Nie je tak zlé. 760 00:34:08,480 --> 00:34:09,250 Každý dobrý? 761 00:34:09,250 --> 00:34:10,220 762 00:34:10,220 --> 00:34:10,719 V pohode. 763 00:34:10,719 --> 00:34:12,949 764 00:34:12,949 --> 00:34:14,340 >> Takže sme hotoví s poľami. 765 00:34:14,340 --> 00:34:15,190 Gratulujeme. 766 00:34:15,190 --> 00:34:18,274 Podarilo iteráciu cez všetky the-- áno? 767 00:34:18,274 --> 00:34:19,705 >> STUDENT: [nepočuteľné] 768 00:34:19,705 --> 00:34:20,659 >> ALLISON: Áno. 769 00:34:20,659 --> 00:34:26,383 770 00:34:26,383 --> 00:34:27,798 >> STUDENT: Mám dotaz. 771 00:34:27,798 --> 00:34:30,288 Si mal odsadiť zátvorky? 772 00:34:30,288 --> 00:34:34,150 >> ALLISON: Takže rovnátka sa musí kryť s pre slučky, a potom všetko 773 00:34:34,150 --> 00:34:35,699 vnútri zátvorky by mali byť odsadené. 774 00:34:35,699 --> 00:34:37,824 >> STUDENT: OK, ak by slučky for odsadiť? 775 00:34:37,824 --> 00:34:41,159 >> ALLISON: pre sláčiky nie je musí byť odsadený v tomto bode. 776 00:34:41,159 --> 00:34:46,750 Ak ste boli v hlavnej, keby sme vlastne mal hlavnú funkciu tu, 777 00:34:46,750 --> 00:34:48,929 to by bolo odsadiť od hlavnej. 778 00:34:48,929 --> 00:34:52,590 Ale v tomto prípade, je to v poriadku. 779 00:34:52,590 --> 00:34:53,354 Áno, otázka. 780 00:34:53,354 --> 00:34:55,687 >> STUDENT: Potrebujete mať držiaky po príklade? 781 00:34:55,687 --> 00:34:59,050 782 00:34:59,050 --> 00:35:01,260 >> ALLISON: Áno, ak ste inicializácia to tak. 783 00:35:01,260 --> 00:35:03,430 784 00:35:03,430 --> 00:35:06,860 Takže pamätať, to je druhý spôsob inicializácie poľa kde 785 00:35:06,860 --> 00:35:10,680 máme traky a potom je naša skutočná Údaje oddelené čiarkami vnútri. 786 00:35:10,680 --> 00:35:14,700 787 00:35:14,700 --> 00:35:17,281 >> STUDENT: Myslel som, že tam boli držiaky pre tento príklad. 788 00:35:17,281 --> 00:35:19,010 >> ALLISON: Nie, oni sú rovnátka. 789 00:35:19,010 --> 00:35:20,039 Sú rovnátka. 790 00:35:20,039 --> 00:35:22,330 Ak ste ju inicializácia že druhý spôsob, je to rovnátka. 791 00:35:22,330 --> 00:35:28,780 Ak by sme mali povedať, int example-- ak sme len chceli prázdne pole pre ints, 792 00:35:28,780 --> 00:35:32,270 že by bolo int príklad držiaky tri. 793 00:35:32,270 --> 00:35:34,670 Držiaky predstavujú veľkosť. 794 00:35:34,670 --> 00:35:36,720 Keď máte rovnátka, je to skutočná dáta 795 00:35:36,720 --> 00:35:39,244 dávate do nej týmto spôsobom. 796 00:35:39,244 --> 00:35:40,535 Môžeme sa posunúť späť naozaj rýchlo. 797 00:35:40,535 --> 00:35:42,370 798 00:35:42,370 --> 00:35:48,010 >> Takže v tomto jednom, je to len náš Počiatočná polia, inicializácia. 799 00:35:48,010 --> 00:35:51,640 A tu sme jednotlivo priradenie škvrny na ne, 800 00:35:51,640 --> 00:35:56,730 tak to predstavuje index našej pole, čo je dôvod, prečo máme držiaky. 801 00:35:56,730 --> 00:36:01,630 Ale tu, ak si všimnete, máme opustil svoje konzoly bez veľkosti, 802 00:36:01,630 --> 00:36:05,969 a my sme ju inicializovať skutočné údaje all-in-one s rovnátka. 803 00:36:05,969 --> 00:36:08,260 Žiak: Takže prečo máme zátvorky v tomto príklade? 804 00:36:08,260 --> 00:36:11,030 ALLISON: Takže, v ktorej časti? 805 00:36:11,030 --> 00:36:14,645 STUDENT: By nie povedzme, príklad int držiaky 806 00:36:14,645 --> 00:36:19,710 rovná traky [nepočuteľné] držiaky napr. 807 00:36:19,710 --> 00:36:20,900 >> ALLISON: Oh, ospravedlňujem sa. 808 00:36:20,900 --> 00:36:21,560 Máš pravdu. 809 00:36:21,560 --> 00:36:22,690 Máme zátvorkách. 810 00:36:22,690 --> 00:36:23,486 Prepáčte chlapci, my bad. 811 00:36:23,486 --> 00:36:25,150 812 00:36:25,150 --> 00:36:27,560 Áno, mali by ste mať zátvorky napr. 813 00:36:27,560 --> 00:36:28,850 Máte úplnú pravdu. 814 00:36:28,850 --> 00:36:29,750 >> STUDENT: [nepočuteľné] nerobí. 815 00:36:29,750 --> 00:36:31,270 >> ALLISON: Nie, musíte mať zátvorky, pretože inak je to 816 00:36:31,270 --> 00:36:32,810 nebude deklarovať pole. 817 00:36:32,810 --> 00:36:33,685 STUDENT: [nepočuteľné]. 818 00:36:33,685 --> 00:36:34,200 Ospravedlňujeme sa. 819 00:36:34,200 --> 00:36:36,200 >> ALLISON: Je nám ľúto, musíte zátvorky napr. 820 00:36:36,200 --> 00:36:36,620 821 00:36:36,620 --> 00:36:37,120 Typo. 822 00:36:37,120 --> 00:36:40,650 823 00:36:40,650 --> 00:36:43,160 Dobrý úlovok, zlatá hviezda pre vás. 824 00:36:43,160 --> 00:36:47,730 Tiež, ak sa pýtate na otázku, ak je vy by len mi povedz svoje meno, 825 00:36:47,730 --> 00:36:48,570 Som rád, že. 826 00:36:48,570 --> 00:36:50,630 Rád by som, aby bolo možné poznať všetky vaše mená. 827 00:36:50,630 --> 00:36:53,187 Nebudem na chlad vlastne hovoria vám, že 828 00:36:53,187 --> 00:36:54,520 si len chcú poznať vaše mená. 829 00:36:54,520 --> 00:36:57,530 Tak prosím, vlastne mi povedať svoje meno. 830 00:36:57,530 --> 00:36:58,426 >> LEAH: Leah. 831 00:36:58,426 --> 00:36:59,340 >> ALLISON: Leah. 832 00:36:59,340 --> 00:37:03,960 OK, takže functions-- viem, že v skratke hovorili o tom v priebehu prednášky. 833 00:37:03,960 --> 00:37:07,590 Takže funkcie sú trochu len ako sú tieto malé bite-size vecí 834 00:37:07,590 --> 00:37:11,525 kde sa odovzdať vstupmi, niečo magického sa deje, a dostanete výstupy. 835 00:37:11,525 --> 00:37:12,680 836 00:37:12,680 --> 00:37:13,180 V pohode. 837 00:37:13,180 --> 00:37:15,013 Takže ste vlastne používa Mnoho z nich už. 838 00:37:15,013 --> 00:37:15,970 839 00:37:15,970 --> 00:37:18,840 Get int, dostať reťazec, tlačové f. 840 00:37:18,840 --> 00:37:21,790 To sú všetky funkcie kde stačí zavolať, 841 00:37:21,790 --> 00:37:24,370 je tu veľa čarovných vecí sa deje v pozadí 842 00:37:24,370 --> 00:37:27,390 že nemusíte nutne vidieť, a dostanete, čo chcete. 843 00:37:27,390 --> 00:37:30,280 Alebo aspoň dostanete to, čo dúfam, že chcete. 844 00:37:30,280 --> 00:37:31,920 845 00:37:31,920 --> 00:37:35,620 >> A v podstate bod funkcií, a je jedným z hlavných tém SK, 846 00:37:35,620 --> 00:37:38,700 je prelomiť kód na zvládnuteľné kúsky. 847 00:37:38,700 --> 00:37:41,520 Keď začnete písať Tieto naozaj dlhé programy, 848 00:37:41,520 --> 00:37:44,970 alebo Scratch, keď ste mali tento veľký nápad na hru, 849 00:37:44,970 --> 00:37:48,070 musíte byť schopní to zlomiť dole, ako, OK, ako mám začať? 850 00:37:48,070 --> 00:37:50,470 Aké sú malé kúsky, ktoré potrebujem? 851 00:37:50,470 --> 00:37:53,320 Oh, musím sa opýtať používateľ na niečo. 852 00:37:53,320 --> 00:37:54,830 Teraz už potrebujete vytlačiť niečo. 853 00:37:54,830 --> 00:37:56,590 Oh, musím túto hodnotu vypočítať. 854 00:37:56,590 --> 00:38:00,050 >> A naučiť sa, ako sa rozísť vaše kód a veľké problémy, ktoré sa 855 00:38:00,050 --> 00:38:02,740 majú na týchto malé kúsky a vytvorenie funkcie 856 00:38:02,740 --> 00:38:05,330 je v skutočnosti jednou z veľké kamene SK. 857 00:38:05,330 --> 00:38:06,440 858 00:38:06,440 --> 00:38:11,740 Takže si môžete myslieť, funkcie, rovnako ako ako čierne skrinky, magické čierne skrinky, 859 00:38:11,740 --> 00:38:15,030 že ste dal veci do a máte výstup. 860 00:38:15,030 --> 00:38:16,290 861 00:38:16,290 --> 00:38:19,460 A zvyšok programu nemusí nutne vedieť, 862 00:38:19,460 --> 00:38:21,150 čo sa deje v tej čiernej krabici. 863 00:38:21,150 --> 00:38:24,190 Všetko, čo sa stará o to, čo je ide a čo vyjde. 864 00:38:24,190 --> 00:38:26,230 865 00:38:26,230 --> 00:38:26,730 V pohode. 866 00:38:26,730 --> 00:38:27,820 >> Tak prečo funguje? 867 00:38:27,820 --> 00:38:33,240 Organization-- ako som povedal, keď ste rokovania s veľmi veľkými bázou kódu, 868 00:38:33,240 --> 00:38:37,357 ako organizovať váš kód bude oveľa ľahšie, ak budete používať funkcie. 869 00:38:37,357 --> 00:38:39,190 Vzhľadom k tomu, budete mať možnosť byť, rovnako ako, v poriadku to, 870 00:38:39,190 --> 00:38:41,849 je to, čo táto funkcia robí a Tu je to, čo iný človek robí. 871 00:38:41,849 --> 00:38:43,890 A môžete ľahko zistiť, ako sa všetci do seba zapadajú. 872 00:38:43,890 --> 00:38:45,590 873 00:38:45,590 --> 00:38:48,210 Tak lámanie to do všetkých Tieto zvládnuteľné čiastkové časti. 874 00:38:48,210 --> 00:38:51,860 >> Takže simplification-- som si istý, že chlapci všetko videl, ako som povedal, s Scratch. 875 00:38:51,860 --> 00:38:53,230 876 00:38:53,230 --> 00:38:56,790 Máte tento veľkolepý nápad, a ste ako, ako to všetko funguje? 877 00:38:56,790 --> 00:38:59,710 Ale ak sa k nemu pristupovať kúsok po kúsku, hovoríte, OK, 878 00:38:59,710 --> 00:39:03,650 ako mám urobiť jednu sprite vznášať sa cez celú obrazovku? 879 00:39:03,650 --> 00:39:04,805 To je trochu jednoduchšie. 880 00:39:04,805 --> 00:39:06,000 881 00:39:06,000 --> 00:39:09,590 Tak dobré využitie funkcie umožňuje kód oveľa čitateľnejší. 882 00:39:09,590 --> 00:39:13,800 To uľahčuje ladenie, ktoré ako sa dostanete do svojich neskorších problémov sád, 883 00:39:13,800 --> 00:39:15,900 budete naozaj chcú byť schopní robiť. 884 00:39:15,900 --> 00:39:17,900 A sú tiež jednoduchšie navrhnúť a realizovať. 885 00:39:17,900 --> 00:39:21,100 Môžete kód do malej fungujú pomerne rýchlo 886 00:39:21,100 --> 00:39:25,260 a uistite sa, že funguje proti pokusu vytvoriť celý tento dlhý program 887 00:39:25,260 --> 00:39:28,960 a potom sa trochu prejsť a vidieť, čo je práca a čo nie. 888 00:39:28,960 --> 00:39:30,300 >> A potom znovupoužitelnost. 889 00:39:30,300 --> 00:39:33,380 Takže iba funkcie potrebujú byť napísaný raz, 890 00:39:33,380 --> 00:39:35,586 a potom môžete použiť toľkokrát, koľkokrát je to možné. 891 00:39:35,586 --> 00:39:37,210 Takže je to ako, šetrné k životnému prostrediu v istom zmysle. 892 00:39:37,210 --> 00:39:39,660 893 00:39:39,660 --> 00:39:42,070 Ak ste mali veci, ako je print f, kde na vás 894 00:39:42,070 --> 00:39:47,420 musel vypísať kúzlo, že ide na pozadí vytlačiť f každom jednom okamihu 895 00:39:47,420 --> 00:39:51,040 ste chceli niečo vytlačiť, môžete by bolo dosť chorý a unavený z toho 896 00:39:51,040 --> 00:39:51,650 do konca. 897 00:39:51,650 --> 00:39:52,660 898 00:39:52,660 --> 00:39:55,292 >> Jedna z vecí, ktoré budete učiť sa v neskoršej tried SK, 899 00:39:55,292 --> 00:39:57,000 alebo jeden z najlepších rád by som dostať 900 00:39:57,000 --> 00:40:00,870 znamená, že ak sa kopírovanie a vkladanie kód, mal by pravdepodobne funkciu. 901 00:40:00,870 --> 00:40:01,880 902 00:40:01,880 --> 00:40:06,007 Ak máte presne rovnaké vedenie v priebehu celého kódu, 903 00:40:06,007 --> 00:40:08,090 ak zapracované von, Váš kód by pravdepodobne 904 00:40:08,090 --> 00:40:11,860 byť, rovnako ako päťkrát kratšia a oveľa viac ľahko čitateľné. 905 00:40:11,860 --> 00:40:15,230 A namiesto toho sa snaží riešiť Všetky tieto rôzne miesta, kde sa veci 906 00:40:15,230 --> 00:40:18,021 môže ísť zle, budete mať jednu funkciu že sa dostanete do ťažkostí. 907 00:40:18,021 --> 00:40:19,230 908 00:40:19,230 --> 00:40:21,890 A sľubujem, veľa to Mohlo by sa zdať druh abstraktné teraz, 909 00:40:21,890 --> 00:40:24,620 ale ako sa dostanete do neskôr a neskôr problém stanovuje, 910 00:40:24,620 --> 00:40:28,950 Bude to oveľa väčší zmysel a naozaj jazdiť domov. 911 00:40:28,950 --> 00:40:31,775 Sú nejaké otázky o funkciách tak ďaleko? 912 00:40:31,775 --> 00:40:32,650 Prečo sme ich používate? 913 00:40:32,650 --> 00:40:34,775 Viem, že sme sa dostali do natvrdlý kostrbata ešte. 914 00:40:34,775 --> 00:40:40,610 Takže definovanie function-- len ako pole, potrebujeme nejaký of-- to 915 00:40:40,610 --> 00:40:41,860 je len všeobecný výstup. 916 00:40:41,860 --> 00:40:45,110 Tak toto je funkcia, ktorá je len tak Cube nejaký vstup. 917 00:40:45,110 --> 00:40:50,120 A na nasledujúcej stránke, vlastne máme všetky tieto úžasné maličkosti tu. 918 00:40:50,120 --> 00:40:52,420 Takže si každý môže prečítať že zo zvedavosti? 919 00:40:52,420 --> 00:40:55,050 Viem, fialovej a čiernej by mohlo byť trochu ťažké. 920 00:40:55,050 --> 00:41:00,730 >> Ale veľké veci víš-- takže prvý jeden tu je náš návratový typ. 921 00:41:00,730 --> 00:41:05,270 Takže to hovorí o výstupe tejto funkcie, keď v tomto prípade, 922 00:41:05,270 --> 00:41:08,990 sme sa dať do nejakej číslo, to, čo sme dostať je, že číslo kocky. 923 00:41:08,990 --> 00:41:11,090 Tak to by malo byť int v tomto prípade. 924 00:41:11,090 --> 00:41:14,055 Možno, že by bolo dvojité alebo niečo neskôr, ale v tomto prípade, 925 00:41:14,055 --> 00:41:14,555 je to int. 926 00:41:14,555 --> 00:41:15,620 927 00:41:15,620 --> 00:41:19,440 >> S c, potrebujete vždy návratový typ. 928 00:41:19,440 --> 00:41:20,267 Bude int. 929 00:41:20,267 --> 00:41:20,975 Bude to float. 930 00:41:20,975 --> 00:41:22,180 Bude to double. 931 00:41:22,180 --> 00:41:25,370 Ale musíte určiť, čo Táto funkcia bude vracať. 932 00:41:25,370 --> 00:41:26,480 933 00:41:26,480 --> 00:41:29,170 V opačnom prípade bude kričať na vy, a to nebude kompilovať. 934 00:41:29,170 --> 00:41:30,462 Budeš smutný, a ja budem smutný. 935 00:41:30,462 --> 00:41:31,420 A to jednoducho nie je dobré. 936 00:41:31,420 --> 00:41:31,940 OK. 937 00:41:31,940 --> 00:41:34,290 >> A potom máme názov funkcie. 938 00:41:34,290 --> 00:41:38,440 A ako môžete vidieť tu, s c že je to veľmi konzistentné vzor. 939 00:41:38,440 --> 00:41:42,630 Aký je váš typ, aký je názov, a potom nejaká iná vec na konci. 940 00:41:42,630 --> 00:41:45,550 Takže máme návratový typ, naše funkcie názov, a potom 941 00:41:45,550 --> 00:41:49,320 máme hlavičku s náš zoznam parametrov. 942 00:41:49,320 --> 00:41:52,080 >> Takže Zoznam parametrov je to, čo je táto funkcia bude trvať do? 943 00:41:52,080 --> 00:41:56,360 Zoznam parametrov je jednoducho synonymum pre, aké sú naše vstupy? 944 00:41:56,360 --> 00:42:00,230 A rovnakým spôsobom, že sme definovať našu funkciu 945 00:42:00,230 --> 00:42:03,210 a dať mu návrat typu, každý z našich vstupov 946 00:42:03,210 --> 00:42:05,350 musí mať typ s ním spojené. 947 00:42:05,350 --> 00:42:08,850 Takže vieme, čo naše funkcie môže skutočne pracovať. 948 00:42:08,850 --> 00:42:11,290 >> Takže v tomto prípade máme nejaké int vstup. 949 00:42:11,290 --> 00:42:14,660 Takže znovu, bude to typ a to, čo voláte ho. 950 00:42:14,660 --> 00:42:16,500 951 00:42:16,500 --> 00:42:19,040 A potom, ako vidíte tu máme naše telo. 952 00:42:19,040 --> 00:42:23,600 Takže máme nejaké int výstup, ktorý je len naša vstupná krát sám 953 00:42:23,600 --> 00:42:25,810 doba sama o sebe, ktorá sa práve kocky ju. 954 00:42:25,810 --> 00:42:27,610 A potom sme sa vrátiť, že výstup. 955 00:42:27,610 --> 00:42:32,140 >> Takže ako vidíte tu, máme int, koľkokrát sa doba int int, 956 00:42:32,140 --> 00:42:35,420 tak vráti int, ktorý bol tam vyhlásil. 957 00:42:35,420 --> 00:42:38,240 Takže všetko je súdržná. 958 00:42:38,240 --> 00:42:39,210 Všetko je šťastný. 959 00:42:39,210 --> 00:42:40,250 Vaša funkcia spustí. 960 00:42:40,250 --> 00:42:41,192 961 00:42:41,192 --> 00:42:42,650 A to je len obyčajná vec. 962 00:42:42,650 --> 00:42:46,750 Takže vždy návratový typ, názov, a váš zoznam parametrov. 963 00:42:46,750 --> 00:42:48,830 Každá vec vo vašom Zoznam parametrov, alebo vstup, 964 00:42:48,830 --> 00:42:51,410 musí mať typ s ním spojené. 965 00:42:51,410 --> 00:42:54,210 A potom budete mať svoj Telo tu s tým, čo 966 00:42:54,210 --> 00:42:55,590 Ak chcete so svojím vstupom. 967 00:42:55,590 --> 00:42:57,390 968 00:42:57,390 --> 00:43:00,410 >> A potom samozrejme vám chcete vrátiť niečo. 969 00:43:00,410 --> 00:43:02,630 Niekedy funkcie bude len vráti. 970 00:43:02,630 --> 00:43:06,090 Nemajú vlastne návrat niečo pre vás na použitie. 971 00:43:06,090 --> 00:43:08,660 Ale musíte sa vrátiť nejakým spôsobom. 972 00:43:08,660 --> 00:43:12,900 A keď robíš svoje vlastné funkcie, 973 00:43:12,900 --> 00:43:15,430 môžeme dostať do toho trochu hlbšie. 974 00:43:15,430 --> 00:43:18,880 Osobne, ak chcete, je ich tam veľa rôznych vecí, ktoré by ste mohli urobiť tam. 975 00:43:18,880 --> 00:43:21,350 976 00:43:21,350 --> 00:43:22,140 Každý dobrý? 977 00:43:22,140 --> 00:43:25,900 Čokoľvek na tomto zozname, že ma chcete prejsť, že ste nepochopil? 978 00:43:25,900 --> 00:43:27,204 979 00:43:27,204 --> 00:43:28,120 Každý, kto to tam dobré? 980 00:43:28,120 --> 00:43:29,071 981 00:43:29,071 --> 00:43:29,570 V pohode. 982 00:43:29,570 --> 00:43:31,350 983 00:43:31,350 --> 00:43:32,120 Úžasné. 984 00:43:32,120 --> 00:43:34,700 >> OK, takže sme uvedenie to všetko spolu. 985 00:43:34,700 --> 00:43:35,720 986 00:43:35,720 --> 00:43:41,201 Takže máme nejaký int kocka vstup, tak To je kompletný program tu. 987 00:43:41,201 --> 00:43:42,950 Až do teraz, som druh dával vás 988 00:43:42,950 --> 00:43:45,699 chlapci úryvky, ktoré by mohli ísť v rámci programu. 989 00:43:45,699 --> 00:43:47,240 Práve sme sa pri pohľade na funkcie. 990 00:43:47,240 --> 00:43:48,448 Ale tu je to celý program. 991 00:43:48,448 --> 00:43:49,400 992 00:43:49,400 --> 00:43:53,690 Tak koľko z vás pamätať Prototyp slovo z prednášky? 993 00:43:53,690 --> 00:43:54,750 994 00:43:54,750 --> 00:43:55,300 V pohode. 995 00:43:55,300 --> 00:43:55,890 Máme jeden. 996 00:43:55,890 --> 00:43:57,160 997 00:43:57,160 --> 00:43:58,110 Ako sa voláte? 998 00:43:58,110 --> 00:43:58,850 >> Steph: Steph. 999 00:43:58,850 --> 00:43:59,475 >> ALLISON: Steph? 1000 00:43:59,475 --> 00:44:01,030 OK, super. 1001 00:44:01,030 --> 00:44:03,310 Takže si spomenúť, čo je prototyp? 1002 00:44:03,310 --> 00:44:04,651 1003 00:44:04,651 --> 00:44:10,230 >> STUDENT: Hovoríte, že [nepočuteľné] ako je skutočne sa s tým vysporiadať. 1004 00:44:10,230 --> 00:44:11,700 >> ALLISON: Pamätáte si, prečo? 1005 00:44:11,700 --> 00:44:13,158 >> STUDENT: Nie 1006 00:44:13,158 --> 00:44:14,620 >> ALLISON: OK. 1007 00:44:14,620 --> 00:44:16,090 Zlatá hviezda. 1008 00:44:16,090 --> 00:44:19,470 Takže áno, prototyp máme vopred, pretože inak, 1009 00:44:19,470 --> 00:44:21,260 náš prekladač bude revať na nás. 1010 00:44:21,260 --> 00:44:24,294 Bude to povedať, OK, Čo je to funkcia kocka? 1011 00:44:24,294 --> 00:44:26,460 Rovnako ako môžete mať doslova Povedal mi o tom nič. 1012 00:44:26,460 --> 00:44:28,110 Je to ako keď vás chodiť do triedy, 1013 00:44:28,110 --> 00:44:29,320 a niekto je rád, je tu kvíz dnes. 1014 00:44:29,320 --> 00:44:31,380 A ty si ako, vy Nikdy mi o tom povedal. 1015 00:44:31,380 --> 00:44:32,930 Nie som spokojný s nami. 1016 00:44:32,930 --> 00:44:34,300 1017 00:44:34,300 --> 00:44:37,020 Prototyp je v podstate ako Váš sylabus hovorí, pozrite sa. 1018 00:44:37,020 --> 00:44:37,900 Hlavy hore. 1019 00:44:37,900 --> 00:44:39,570 Tam to bude kvíz na tento deň. 1020 00:44:39,570 --> 00:44:41,420 Nepoužívajte šalieť, keď sa k nej dostanete. 1021 00:44:41,420 --> 00:44:42,690 Budeš v poriadku. 1022 00:44:42,690 --> 00:44:48,170 >> Takže všetko, čo robí, je prototyp povedať hlavné, budem používať túto funkciu. 1023 00:44:48,170 --> 00:44:51,010 Sľubujem, že ti ju definovať neskôr. 1024 00:44:51,010 --> 00:44:52,260 Nepoužívajte šalieť na mňa. 1025 00:44:52,260 --> 00:44:54,750 Stačí zostaviť a robiť to, čo ti poviem. 1026 00:44:54,750 --> 00:44:58,880 Takže máme prototyp tu len preto, aby náš prekladač šťastný. 1027 00:44:58,880 --> 00:45:04,360 A to je v podstate sľub, že ste definovali túto funkciu neskôr 1028 00:45:04,360 --> 00:45:07,960 a že nie sú len volanie to náhoda, že to 1029 00:45:07,960 --> 00:45:10,070 nevie, čo ste bude robiť. 1030 00:45:10,070 --> 00:45:11,910 >> Takže v tomto prípade, máme tú hlavnú. 1031 00:45:11,910 --> 00:45:14,660 Sme inicializovať nejakú čísla x. 1032 00:45:14,660 --> 00:45:15,620 To sú dva. 1033 00:45:15,620 --> 00:45:17,510 Chystáme sa vytlačiť to, čo je x. 1034 00:45:17,510 --> 00:45:18,800 Budeme Cube x. 1035 00:45:18,800 --> 00:45:21,520 Ako vidíte, máme deklarácia funkcie 1036 00:45:21,520 --> 00:45:23,770 tu dole, že my hovoril o minulosti. 1037 00:45:23,770 --> 00:45:28,260 Je to kocka x, a potom, keď sme pamätajte, že funkciu kocky v skutočnosti 1038 00:45:28,260 --> 00:45:31,340 vráti celé číslo k USA, ktorý je uložený 1039 00:45:31,340 --> 00:45:35,860 v x znova, takže môžeme tlačiť z ôsmich, alebo kocky x práve teraz. 1040 00:45:35,860 --> 00:45:37,170 1041 00:45:37,170 --> 00:45:38,920 Znamená to, že zmysel pre každého? 1042 00:45:38,920 --> 00:45:40,360 Sme dobrí? 1043 00:45:40,360 --> 00:45:41,160 Dobrá. 1044 00:45:41,160 --> 00:45:41,660 Úžasné. 1045 00:45:41,660 --> 00:45:45,540 1046 00:45:45,540 --> 00:45:46,840 >> Dobrá. 1047 00:45:46,840 --> 00:45:50,879 Koľko z vás pamätať Tento takže to 1048 00:45:50,879 --> 00:45:52,670 je v podstate len vaše stack a vaše haldy, 1049 00:45:52,670 --> 00:45:56,510 len vizualizácia ako je pamäť uložená tu. 1050 00:45:56,510 --> 00:45:58,200 1051 00:45:58,200 --> 00:46:01,400 Tak sme sa len chcem, aby Uistite sa, že ste pochopili 1052 00:46:01,400 --> 00:46:03,680 ako sú tieto zastúpené v pamäti. 1053 00:46:03,680 --> 00:46:07,670 Ak budete mať triedy, ako je CS61 a tak ďalej, 1054 00:46:07,670 --> 00:46:10,570 dostanete sa naučiť oveľa viac do hĺbky, a je to naozaj cool. 1055 00:46:10,570 --> 00:46:11,730 Veľmi odporúčam. 1056 00:46:11,730 --> 00:46:12,740 1057 00:46:12,740 --> 00:46:14,720 Ale teraz, dám vám široký prehľad 1058 00:46:14,720 --> 00:46:16,950 takže sa nemusíte vedieť natvrdlý odvážny. 1059 00:46:16,950 --> 00:46:20,820 >> Takže hore len textový segment, ktorý obsahuje aktuálne núl a jednotiek, 1060 00:46:20,820 --> 00:46:23,740 binárne za to. 1061 00:46:23,740 --> 00:46:27,510 A to sa používa pre ukladanie globálne premenné, ak máte nejaké. 1062 00:46:27,510 --> 00:46:28,870 1063 00:46:28,870 --> 00:46:32,240 Ako budete postupovať nadol, sme sa majú, ako vidíte tu, 1064 00:46:32,240 --> 00:46:34,670 inicializované údaje, neinicializovaný dát a potom haldy. 1065 00:46:34,670 --> 00:46:35,800 1066 00:46:35,800 --> 00:46:38,584 >> Tak sme to naozaj hovoriť o hromadu práve teraz. 1067 00:46:38,584 --> 00:46:39,500 Dostaneme sa k nemu neskôr. 1068 00:46:39,500 --> 00:46:40,762 1069 00:46:40,762 --> 00:46:42,970 Pre túto chvíľu som len tak vlna na moje ruky a byť rád, 1070 00:46:42,970 --> 00:46:44,553 nemusíte vedieť o tom teraz. 1071 00:46:44,553 --> 00:46:46,100 1072 00:46:46,100 --> 00:46:49,060 Ale budeme hovoriť trochu Niečo o zásobníka. 1073 00:46:49,060 --> 00:46:53,050 Takže stack je where-- máme priblížiť. 1074 00:46:53,050 --> 00:46:58,590 To je v skutočnosti, ako program sme sa len pozrel na sa vyskytuje v pamäti. 1075 00:46:58,590 --> 00:47:01,630 >> Takže to, čo sa stane, je, každý Tentoraz sme volanie funkcie, 1076 00:47:01,630 --> 00:47:04,180 dostaneme to, čo sa nazýva zásobník rám, ktorý je jedným z nich. 1077 00:47:04,180 --> 00:47:05,870 Tak je hlavné parametre. 1078 00:47:05,870 --> 00:47:07,944 Takže to sú veci, že sme sa prejsť do main. 1079 00:47:07,944 --> 00:47:11,110 Takže sú tu dole, pretože to je prvá vec, ktorú hovoríme. 1080 00:47:11,110 --> 00:47:13,401 A potom sa dostávame k hlavnej rokov miestni obyvatelia, a keď povieme, že 1081 00:47:13,401 --> 00:47:15,970 máme na mysli lokálne premenné ktoré sú uložené v hlavnej. 1082 00:47:15,970 --> 00:47:19,950 1083 00:47:19,950 --> 00:47:23,620 Takže miestni by tu bolo, ako, x sa rovná dvom v tomto prípade. 1084 00:47:23,620 --> 00:47:26,350 Vzhľadom k tomu, že je lokalizovaný na hlavnej. 1085 00:47:26,350 --> 00:47:29,745 Má každý pamätať si rozsah, ísť cez to v prednáške? 1086 00:47:29,745 --> 00:47:31,517 1087 00:47:31,517 --> 00:47:32,017 OK. 1088 00:47:32,017 --> 00:47:36,110 Takže, len premenné, ktoré sú inicializované v main. 1089 00:47:36,110 --> 00:47:38,550 Takže to je dôvod, prečo máme hlavné [? spev. ?] 1090 00:47:38,550 --> 00:47:40,390 >> A potom v hlavnej, nazývame kocky. 1091 00:47:40,390 --> 00:47:41,000 Je to tak? 1092 00:47:41,000 --> 00:47:44,510 Tak sme sa získať ďalšiu snímku s parametrami Cube. 1093 00:47:44,510 --> 00:47:47,050 Takže v tomto prípade, kocky je parametre sú teraz 1094 00:47:47,050 --> 00:47:50,800 x, ktoré sme absolvovali v, dva, ktoré sme absolvovali v. 1095 00:47:50,800 --> 00:47:55,320 A potom miestnej kocky, ktorá je ak je skutočný cubing stane. 1096 00:47:55,320 --> 00:47:56,450 A potom sa to vráti. 1097 00:47:56,450 --> 00:48:02,120 >> Takže to, čo sa stane, je, ako kocka vlastne robí to, čo má robiť, to vráti. 1098 00:48:02,120 --> 00:48:07,020 Keď sa vráti, tento rám listy, a jeho vrátil sa na hlavnú. 1099 00:48:07,020 --> 00:48:09,160 A potom v hlavnej sme môže skutočne vytlačiť. 1100 00:48:09,160 --> 00:48:10,840 1101 00:48:10,840 --> 00:48:14,500 Takže keď budete vracať niečo, keď vaše funkcia vracia, 1102 00:48:14,500 --> 00:48:19,900 Je to ako odovzdávanie týchto hodnôt do rám pod ním a potom odíde. 1103 00:48:19,900 --> 00:48:22,200 A čo majú vykonať v poriadku. 1104 00:48:22,200 --> 00:48:25,550 >> A keď sa dostanete do väčších programov, môžeme chladnejšie a zložitejšie 1105 00:48:25,550 --> 00:48:26,470 diagramy. 1106 00:48:26,470 --> 00:48:29,070 Ale teraz je to len všeobecný prehľad 1107 00:48:29,070 --> 00:48:31,110 takže máte druh pochopenie toho, čo 1108 00:48:31,110 --> 00:48:35,160 sa stane, keď voláte funkciu a ako to vlastne vyzerá v pamäti. 1109 00:48:35,160 --> 00:48:37,230 1110 00:48:37,230 --> 00:48:37,770 V pohode? 1111 00:48:37,770 --> 00:48:38,353 Každý dobrý? 1112 00:48:38,353 --> 00:48:39,920 1113 00:48:39,920 --> 00:48:40,420 Úžasné. 1114 00:48:40,420 --> 00:48:42,070 1115 00:48:42,070 --> 00:48:50,575 >> Tak to je ten, ktorý je Len sa snažím prehodiť veci. 1116 00:48:50,575 --> 00:48:52,260 1117 00:48:52,260 --> 00:48:54,930 Ako tu vidíme, máme naše funkcie prototyp 1118 00:48:54,930 --> 00:48:56,900 aby naše kompilátor nemá kričať na nás. 1119 00:48:56,900 --> 00:48:59,220 Máme niektoré hlavné, a my chcete prepnúť x a y. 1120 00:48:59,220 --> 00:49:00,320 1121 00:49:00,320 --> 00:49:04,129 Oni neurobili demo ešte v prednáške, majú oni? 1122 00:49:04,129 --> 00:49:04,670 Majú nie? 1123 00:49:04,670 --> 00:49:05,900 OK. 1124 00:49:05,900 --> 00:49:08,450 Takže sme ísť nad touto veľmi stručne. 1125 00:49:08,450 --> 00:49:12,210 Dostanete do tohto príkladu viac do hĺbky, myslím, že tento týždeň. 1126 00:49:12,210 --> 00:49:15,680 A budúci týždeň môžeme skutočne ponoriť sa do, prečo to nefunguje. 1127 00:49:15,680 --> 00:49:18,810 >> Takže máme toto prázdno Funkcie here-- swap. 1128 00:49:18,810 --> 00:49:20,720 Takže void jednoducho znamená, že nič je vrátená. 1129 00:49:20,720 --> 00:49:22,000 1130 00:49:22,000 --> 00:49:24,110 A máme odkladacia INT a int b. 1131 00:49:24,110 --> 00:49:27,046 A máme nejaké dočasné premenná, ktorá je. 1132 00:49:27,046 --> 00:49:30,050 dostane pridelený k B, a potom b dostane pridelený na teplotu 1133 00:49:30,050 --> 00:49:32,235 tak, že A a B je hodnoty sú zapnuté. 1134 00:49:32,235 --> 00:49:33,510 1135 00:49:33,510 --> 00:49:36,030 >> Ale sprisahanecké krútenie, to nefunguje. 1136 00:49:36,030 --> 00:49:37,390 1137 00:49:37,390 --> 00:49:42,380 A časť z toho vlastne má čo do činenia s tým, že 1138 00:49:42,380 --> 00:49:48,800 a b tu, tie, ktoré si prešli v Tu sú vlastne kópie x a y. 1139 00:49:48,800 --> 00:49:53,220 Takže keď funkcia skutočne vracia, prepne kópia, ale nie 1140 00:49:53,220 --> 00:49:55,960 Skutočná x a y je. 1141 00:49:55,960 --> 00:50:02,370 Takže jediný spôsob, ako premýšľať o tom, že je that-- predstierať, že sa jedná o swap. 1142 00:50:02,370 --> 00:50:03,130 OK? 1143 00:50:03,130 --> 00:50:05,390 Takže hlavné, máme x a y inicializovaný. 1144 00:50:05,390 --> 00:50:06,530 1145 00:50:06,530 --> 00:50:10,760 Ale keď sme vlastne ísť hore týchto rámov s odkladací priestor, 1146 00:50:10,760 --> 00:50:15,740 sme okolo hodnoty nad na to, a oni inicializovaný. 1147 00:50:15,740 --> 00:50:18,570 >> A len niekedy žiť tu. 1148 00:50:18,570 --> 00:50:19,796 Tak a b žiť. 1149 00:50:19,796 --> 00:50:20,670 A oni si vymenili. 1150 00:50:20,670 --> 00:50:21,870 1151 00:50:21,870 --> 00:50:26,190 Ale keď sa vrátime, my nie robiť niečo s a a b. 1152 00:50:26,190 --> 00:50:28,980 a b dovolenku s našou funkciou. 1153 00:50:28,980 --> 00:50:30,850 A tak X a Y zostávajú rovnaké. 1154 00:50:30,850 --> 00:50:31,960 1155 00:50:31,960 --> 00:50:39,665 Získate viac o tom, ako napraviť a ako vlastne sa s tým vysporiadať neskôr. 1156 00:50:39,665 --> 00:50:40,750 1157 00:50:40,750 --> 00:50:43,740 >> Ale je to len jedna vec na druh, majte na pamäti. 1158 00:50:43,740 --> 00:50:45,270 Použite ju pre budúcnosť. 1159 00:50:45,270 --> 00:50:48,050 Nebojte sa, ak to nedávalo všetky zmysel na svete. 1160 00:50:48,050 --> 00:50:49,510 1161 00:50:49,510 --> 00:50:51,440 Sú to kópie je najväčšia vec. 1162 00:50:51,440 --> 00:50:54,580 Ak sa chystáte vziať niečo od toho, ste prešiel v kópiách. 1163 00:50:54,580 --> 00:50:56,410 Takže originály zostanú rovnaké. 1164 00:50:56,410 --> 00:50:58,170 1165 00:50:58,170 --> 00:50:58,770 Každý dobrý? 1166 00:50:58,770 --> 00:51:00,280 1167 00:51:00,280 --> 00:51:00,930 V pohode. 1168 00:51:00,930 --> 00:51:02,295 >> Takže argumenty príkazového riadku. 1169 00:51:02,295 --> 00:51:03,520 1170 00:51:03,520 --> 00:51:07,630 Som si istý, na začiatku vy všetci mal tie veľké, ako, int main priestor. 1171 00:51:07,630 --> 00:51:09,517 A ty si ako, OK pohode. 1172 00:51:09,517 --> 00:51:10,350 Ja naozaj nestarám. 1173 00:51:10,350 --> 00:51:12,360 To je práve to, čo mám napísať. 1174 00:51:12,360 --> 00:51:16,349 Ale vo svojich nových programov, najmä v tejto pset, 1175 00:51:16,349 --> 00:51:17,890 a prečo je tam kriedou na zemi? 1176 00:51:17,890 --> 00:51:19,640 1177 00:51:19,640 --> 00:51:22,680 >> S ďalšou pset, že ste bude vidieť to. 1178 00:51:22,680 --> 00:51:26,130 Int main, int arg c, string oblúk v, zátvorky. 1179 00:51:26,130 --> 00:51:28,770 Takže z toho, čo sme práve sa dnes dozvedel, čo 1180 00:51:28,770 --> 00:51:32,190 si myslíme, že druhý parameter alebo že druhý prvok je tu? 1181 00:51:32,190 --> 00:51:34,830 1182 00:51:34,830 --> 00:51:35,824 Je to pole. 1183 00:51:35,824 --> 00:51:36,615 Aký typ poľa? 1184 00:51:36,615 --> 00:51:38,430 1185 00:51:38,430 --> 00:51:40,690 String polia, áno. 1186 00:51:40,690 --> 00:51:41,980 V pohode. 1187 00:51:41,980 --> 00:51:45,320 Tak to je, ako budete k vyhláseniu týchto teraz. 1188 00:51:45,320 --> 00:51:48,570 >> Pamätá si niekto, čo to znamená? 1189 00:51:48,570 --> 00:51:52,551 1190 00:51:52,551 --> 00:51:53,050 Nie? 1191 00:51:53,050 --> 00:51:54,020 1192 00:51:54,020 --> 00:51:54,520 Hmm? 1193 00:51:54,520 --> 00:51:55,640 >> STUDENT: arg c. 1194 00:51:55,640 --> 00:51:56,961 1195 00:51:56,961 --> 00:51:58,950 >> ALLISON: Takže arg c udržiava čítač. 1196 00:51:58,950 --> 00:51:59,450 Je to int. 1197 00:51:59,450 --> 00:52:00,615 Je to číslo, nie? 1198 00:52:00,615 --> 00:52:02,240 Takže to, čo si myslíte, že toto číslo je? 1199 00:52:02,240 --> 00:52:08,260 1200 00:52:08,260 --> 00:52:08,760 Jo. 1201 00:52:08,760 --> 00:52:11,450 Takže arg c je počet reťazcov ktoré tvoria príkazového riadku. 1202 00:52:11,450 --> 00:52:12,560 1203 00:52:12,560 --> 00:52:18,499 Takže ak by sme mali do-- skutočnosti, existujú príklady po tomto, 1204 00:52:18,499 --> 00:52:19,790 tak som sa nedostal pred seba. 1205 00:52:19,790 --> 00:52:21,299 1206 00:52:21,299 --> 00:52:23,840 Je to celá rada reťazcov, ktoré len aby sa vaše príkazového riadku. 1207 00:52:23,840 --> 00:52:35,080 >> Takže, keď to urobíte, rovnako ako, bodka lomítko Mario, to je jeden reťazec, ktorý ho tvorí. 1208 00:52:35,080 --> 00:52:38,520 V tomto kúsku budete skutočne kŕmenie veci do príkazového riadku, 1209 00:52:38,520 --> 00:52:41,750 ako som si istý, že ľudí, ktorí Prečítal spec píly. 1210 00:52:41,750 --> 00:52:44,470 Takže v týchto prípadoch možno budete majú dve alebo tri argumenty. 1211 00:52:44,470 --> 00:52:45,652 1212 00:52:45,652 --> 00:52:48,360 Je to bude užitočná vec použiť. 1213 00:52:48,360 --> 00:52:51,500 >> A potom arg V, ako sme povedali, je len pole reťazcov. 1214 00:52:51,500 --> 00:52:57,000 Takže to vlastne ukladá to, čo zadáte do príkazového riadku. 1215 00:52:57,000 --> 00:52:59,960 Takže máme tieto. 1216 00:52:59,960 --> 00:53:02,850 Máte nejaký bodka lomítko kopírovať Infil outfile. 1217 00:53:02,850 --> 00:53:06,670 Takže, ak arg c je počet reťazcov že sme prechádza do príkazu 1218 00:53:06,670 --> 00:53:09,080 line, čo je naším arg c v tomto prípade? 1219 00:53:09,080 --> 00:53:14,520 1220 00:53:14,520 --> 00:53:15,850 Tri. 1221 00:53:15,850 --> 00:53:16,690 Presne tak. 1222 00:53:16,690 --> 00:53:20,086 >> Takže to, čo je v arg nula? 1223 00:53:20,086 --> 00:53:21,710 Takže to, čo je prvá vec, ktorú sme skladovať? 1224 00:53:21,710 --> 00:53:24,640 1225 00:53:24,640 --> 00:53:26,290 Dot lomka kópiu, presne tak. 1226 00:53:26,290 --> 00:53:28,065 A potom druhý bude Infil. 1227 00:53:28,065 --> 00:53:29,290 1228 00:53:29,290 --> 00:53:30,930 Tretí by outfile. 1229 00:53:30,930 --> 00:53:32,390 A čo arg V tri? 1230 00:53:32,390 --> 00:53:35,810 1231 00:53:35,810 --> 00:53:39,370 Bolo by null, pretože to je koniec nášho poľa, nie? 1232 00:53:39,370 --> 00:53:40,600 1233 00:53:40,600 --> 00:53:41,460 V pohode. 1234 00:53:41,460 --> 00:53:44,500 >> A potom to, čo o šiestu? 1235 00:53:44,500 --> 00:53:45,900 Je to tak trochu chyták. 1236 00:53:45,900 --> 00:53:46,400 Ish. 1237 00:53:46,400 --> 00:53:49,027 1238 00:53:49,027 --> 00:53:49,943 Vieme, čo to je? 1239 00:53:49,943 --> 00:53:50,960 1240 00:53:50,960 --> 00:53:51,690 To je undefined. 1241 00:53:51,690 --> 00:53:53,170 Nemáme tušenie, čo by to mohlo byť. 1242 00:53:53,170 --> 00:53:57,000 Je to, čo je správne po pole v pamäti, 1243 00:53:57,000 --> 00:54:00,220 a my nemáme poňatia, čo to je. 1244 00:54:00,220 --> 00:54:03,500 A to je nebezpečné dotýkať tých, veci, pretože pre všetky viete, 1245 00:54:03,500 --> 00:54:07,080 to je nejaká časť pamäte, ktorá vám by nemal byť prístup alebo null. 1246 00:54:07,080 --> 00:54:09,000 A to môže robiť šialené veci. 1247 00:54:09,000 --> 00:54:11,690 Je to tzv over-indexovanie zviazaného do svojho poľa. 1248 00:54:11,690 --> 00:54:14,785 Nechoďte mimo hranice svojho pole, alebo zlé veci sa môže stať. 1249 00:54:14,785 --> 00:54:16,274 1250 00:54:16,274 --> 00:54:18,940 Môžete sa vrátiť a podobne, zákony fyziky boli zničené 1251 00:54:18,940 --> 00:54:19,481 alebo tak niečo. 1252 00:54:19,481 --> 00:54:21,021 1253 00:54:21,021 --> 00:54:21,520 V pohode. 1254 00:54:21,520 --> 00:54:22,895 Znamená to, že zmysel pre každého? 1255 00:54:22,895 --> 00:54:23,810 1256 00:54:23,810 --> 00:54:25,025 Nie je to tak zlé. 1257 00:54:25,025 --> 00:54:28,926 >> Takže teraz, každý je obľúbená časť, pset recenziu. 1258 00:54:28,926 --> 00:54:29,426 Yay! 1259 00:54:29,426 --> 00:54:30,530 1260 00:54:30,530 --> 00:54:31,030 OK. 1261 00:54:31,030 --> 00:54:33,830 Takže pre tých z vás, ktorí Nečítal pset spec, 1262 00:54:33,830 --> 00:54:36,790 robíte nejaké naozaj cool veci s kryptografiu. 1263 00:54:36,790 --> 00:54:39,360 Budeš vytvoriť Caesara Cipher a Vigener Cipher. 1264 00:54:39,360 --> 00:54:42,000 1265 00:54:42,000 --> 00:54:45,480 Určite by ste mali čítať spec vidieť, ako tie práce. 1266 00:54:45,480 --> 00:54:49,650 A ak máte nejaké problémy, o čo by malo byť v skutočnosti robí, 1267 00:54:49,650 --> 00:54:52,920 príďte so mnou hovoriť, napíšte mi alebo textu ma. 1268 00:54:52,920 --> 00:54:53,420 Ja som sa okolo seba. 1269 00:54:53,420 --> 00:54:54,780 1270 00:54:54,780 --> 00:54:57,070 >> Takže tam sú tri hlavné veci, ktoré tu my 1271 00:54:57,070 --> 00:55:00,440 chceš hovoriť about-- len tak o rozšírení prednášky. 1272 00:55:00,440 --> 00:55:03,645 Veci, ktoré možno neviete o, užitočné tipy a nástroje. 1273 00:55:03,645 --> 00:55:05,520 Takže budeme robiť rýchly prehľad o ASCII, 1274 00:55:05,520 --> 00:55:10,420 preto, že to bude super dôležité pre Vigener šifra. 1275 00:55:10,420 --> 00:55:11,809 1276 00:55:11,809 --> 00:55:14,100 Budeme konverzie príkazového riadku vstupy, ktoré 1277 00:55:14,100 --> 00:55:17,160 bude veľmi užitočné pre Caesara. 1278 00:55:17,160 --> 00:55:18,133 A potom modulo. 1279 00:55:18,133 --> 00:55:20,220 1280 00:55:20,220 --> 00:55:21,210 V pohode. 1281 00:55:21,210 --> 00:55:24,005 >> Takže ASCII mapuje znaky čísiel. 1282 00:55:24,005 --> 00:55:25,270 1283 00:55:25,270 --> 00:55:26,365 To je veľký graf. 1284 00:55:26,365 --> 00:55:28,115 Mali by ste mať tento záložkou niekde. 1285 00:55:28,115 --> 00:55:29,310 1286 00:55:29,310 --> 00:55:33,250 Budete chcieť ju váš prvý polovici obdobia. 1287 00:55:33,250 --> 00:55:36,320 Som si istý, že každý má to graf na ich strednodobé liste. 1288 00:55:36,320 --> 00:55:37,810 Tak sa to naučiť. 1289 00:55:37,810 --> 00:55:38,410 Milovať. 1290 00:55:38,410 --> 00:55:39,740 Majte ju po ruke. 1291 00:55:39,740 --> 00:55:41,210 Bude to užitočné. 1292 00:55:41,210 --> 00:55:45,630 >> A všetko je to je kódovanie ktorá mapuje písmená, čísla, 1293 00:55:45,630 --> 00:55:47,740 a ďalšie znaky do Čísla na našom počítači. 1294 00:55:47,740 --> 00:55:49,947 Vzhľadom k tomu, samozrejme, v koniec, všetko ukladáme 1295 00:55:49,947 --> 00:55:52,030 dostane zariadená až do nuly a tie, 1296 00:55:52,030 --> 00:55:55,200 takže musíme nejakým spôsobom reprezentovať textu a znaky, ktoré sme všetci 1297 00:55:55,200 --> 00:55:59,105 zvyknutí vídať ako akési číslo. 1298 00:55:59,105 --> 00:56:00,370 1299 00:56:00,370 --> 00:56:05,880 >> Takže, ako vidíme tu, máme veľké písmená, čo je tu. 1300 00:56:05,880 --> 00:56:06,555 Je to 65. 1301 00:56:06,555 --> 00:56:07,570 1302 00:56:07,570 --> 00:56:09,660 A malé je 97. 1303 00:56:09,660 --> 00:56:13,170 Takže môžete prísť out-- ako som už povedal, 1304 00:56:13,170 --> 00:56:16,532 ak by ste mali rad násobku reťazca, čo každý z nich 1305 00:56:16,532 --> 00:56:17,490 zakončený nulovým znakom. 1306 00:56:17,490 --> 00:56:18,480 Jednalo by sa o priestor. 1307 00:56:18,480 --> 00:56:22,581 Priestor má vlastné special-- Zabudol som, kde je to tu. 1308 00:56:22,581 --> 00:56:23,080 Ah. 1309 00:56:23,080 --> 00:56:24,700 32 miesto. 1310 00:56:24,700 --> 00:56:27,090 Takže všetko mapuje to. 1311 00:56:27,090 --> 00:56:28,680 1312 00:56:28,680 --> 00:56:29,740 >> Takže máme ASCII matematiky. 1313 00:56:29,740 --> 00:56:31,080 1314 00:56:31,080 --> 00:56:34,290 Pre tip-- v Vigener je, môžete byť v pokušení 1315 00:56:34,290 --> 00:56:39,480 previesť čísla na celé čísla, ale v skutočnosti je to lepšie prax 1316 00:56:39,480 --> 00:56:43,860 aby bolo možné používať znaky, ako je táto 1317 00:56:43,860 --> 00:56:45,820 keď ste ich v skutočnosti manipulácia. 1318 00:56:45,820 --> 00:56:48,950 Takže ak budete chcieť použiť čísla, môžete. 1319 00:56:48,950 --> 00:56:55,260 Ale lepší spôsob, alebo spôsob, ako máme tendenciu sa vám páči chalani, ako to urobiť, 1320 00:56:55,260 --> 00:56:57,830 Je to spôsob, kde ste vlastne odpočítaním znaky. 1321 00:56:57,830 --> 00:56:58,840 1322 00:56:58,840 --> 00:57:02,830 >> Takže chcem vám chlapci na druh prísť na to von. 1323 00:57:02,830 --> 00:57:05,070 Prečo sa snažiť každý druhý? 1324 00:57:05,070 --> 00:57:07,580 1325 00:57:07,580 --> 00:57:09,830 Tak to je prvý, na tretí a piaty. 1326 00:57:09,830 --> 00:57:11,160 1327 00:57:11,160 --> 00:57:15,000 Pretože chcem, aby sa uistil, že hovoríme o všetkom, čo musíme hovoriť. 1328 00:57:15,000 --> 00:57:17,410 1329 00:57:17,410 --> 00:57:20,259 Len som chcel povedať, jeden z dôležité veci to-- oh počkať, 1330 00:57:20,259 --> 00:57:21,550 vy ste nevidel tento. 1331 00:57:21,550 --> 00:57:23,710 OK tak sa prvé tri. 1332 00:57:23,710 --> 00:57:24,430 Poďme to urobiť. 1333 00:57:24,430 --> 00:57:25,971 Pretože máme hovoriť o modulo. 1334 00:57:25,971 --> 00:57:27,810 1335 00:57:27,810 --> 00:57:28,310 Ja viem. 1336 00:57:28,310 --> 00:57:28,851 Matematika je ťažké. 1337 00:57:28,851 --> 00:57:29,870 1338 00:57:29,870 --> 00:57:30,980 Môžete použiť kalkulačku. 1339 00:57:30,980 --> 00:57:31,580 To je v poriadku. 1340 00:57:31,580 --> 00:57:37,464 1341 00:57:37,464 --> 00:57:40,380 Alebo vytiahnuť tabuľku ASCII, pretože budete pravdepodobne chcieť, že. 1342 00:57:40,380 --> 00:58:03,660 1343 00:58:03,660 --> 00:58:04,820 >> V pohode. 1344 00:58:04,820 --> 00:58:07,960 Tak som sa rýchlo prejsť vy cez to. 1345 00:58:07,960 --> 00:58:11,120 Takže ľudia tabuľky ASCII vytiahol? 1346 00:58:11,120 --> 00:58:15,645 Aká je naša číselná číslo pre malé písmo A? 1347 00:58:15,645 --> 00:58:16,270 STUDENT: Sedem. 1348 00:58:16,270 --> 00:58:19,420 1349 00:58:19,420 --> 00:58:24,550 >> ALLISON: Tak malé je 97 a veľké písmená je 65. 1350 00:58:24,550 --> 00:58:26,390 Takže 97 mínus 65? 1351 00:58:26,390 --> 00:58:27,782 1352 00:58:27,782 --> 00:58:28,570 >> Divákov: 32? 1353 00:58:28,570 --> 00:58:33,260 1354 00:58:33,260 --> 00:58:35,630 >> ALLISON: 62, jo. 1355 00:58:35,630 --> 00:58:38,675 Takže v tomto prípade, čo by to vytlačiť? 1356 00:58:38,675 --> 00:58:40,360 To prvé? 1357 00:58:40,360 --> 00:58:43,830 Ak máme percentuálne d, čo by to ukazovať? 1358 00:58:43,830 --> 00:58:45,980 1359 00:58:45,980 --> 00:58:46,730 STUDENT: číslo. 1360 00:58:46,730 --> 00:58:48,604 ALLISON: Sme tlače sa skutočné číslo. 1361 00:58:48,604 --> 00:58:50,770 Takže sme vlastne deje vytlačiť 32 tu. 1362 00:58:50,770 --> 00:58:56,360 A keby to bola percenta c, 32 by nám priestor. 1363 00:58:56,360 --> 00:58:57,700 1364 00:58:57,700 --> 00:59:01,670 Tak pochopenie, že znaky môžu byť vytlačené 1365 00:59:01,670 --> 00:59:06,140 ako hodnotách a ako skutočné znaky 1366 00:59:06,140 --> 00:59:11,080 je naozaj dôležité, a platenie pozornosť skutočnej typy 1367 00:59:11,080 --> 00:59:12,040 že tu robíme. 1368 00:59:12,040 --> 00:59:14,520 1369 00:59:14,520 --> 00:59:15,020 V pohode. 1370 00:59:15,020 --> 00:59:18,862 Takže pre každý druhý z nich, čo budeme tlačiť? 1371 00:59:18,862 --> 00:59:19,825 >> STUDENT: znak. 1372 00:59:19,825 --> 00:59:20,830 >> ALLISON: znak. 1373 00:59:20,830 --> 00:59:21,330 V pohode. 1374 00:59:21,330 --> 00:59:24,260 Takže ak vy chcete vedieť, tie môžu pracovať tie na vlastnú päsť. 1375 00:59:24,260 --> 00:59:25,900 Ak máte problémy, napíšte mi. 1376 00:59:25,900 --> 00:59:28,950 Ale druhý bude vytlačiť malé písmená b. 1377 00:59:28,950 --> 00:59:32,910 Tretí z nich bude tlačiť veľká B. Štvrtá bude tlačiť 1378 00:59:32,910 --> 00:59:36,410 z veľké písmeno C, a Posledný z nich bude malé písmená A. 1379 00:59:36,410 --> 00:59:42,530 A posledná one-- sme vlastne deje sa dostať do toho, čo ten bláznivý percent 1380 00:59:42,530 --> 00:59:45,020 znamenie dokonca znamená pár snímok. 1381 00:59:45,020 --> 00:59:46,667 Tak skúste tie na vlastnú päsť. 1382 00:59:46,667 --> 00:59:48,500 Ak máte problémy, príďte so mnou hovoriť. 1383 00:59:48,500 --> 00:59:49,655 1384 00:59:49,655 --> 00:59:53,290 Ak ste zvyčajne vo Adams D hale, budete pravdepodobne zistíte, okolo mňa. 1385 00:59:53,290 --> 00:59:54,760 1386 00:59:54,760 --> 00:59:55,760 >> Takže, atoi. 1387 00:59:55,760 --> 00:59:59,660 Ako mnohí z vás videli toto funkcie alebo počuli o tom vôbec? 1388 00:59:59,660 --> 01:00:00,380 1389 01:00:00,380 --> 01:00:00,880 Každý, kto? 1390 01:00:00,880 --> 01:00:02,100 1391 01:00:02,100 --> 01:00:02,600 V pohode. 1392 01:00:02,600 --> 01:00:06,250 Takže, čo to vlastne znamená pre ASCII na celé číslo. 1393 01:00:06,250 --> 01:00:13,150 Takže to, čo môžete urobiť, je, s Caesar, pre tých, ktorí čítajú spec, 1394 01:00:13,150 --> 01:00:16,460 budete robiť bodka lomítko Caesar potom, čo napísať program, 1395 01:00:16,460 --> 01:00:18,690 a potom budete Vstup nejaké číslo, ktoré ste 1396 01:00:18,690 --> 01:00:24,780 chcete zakódovať tajnú správu s. 1397 01:00:24,780 --> 01:00:30,700 >> Ale ak si spomenieme, všetky naše Vstupy sú uložené ako reťazce. 1398 01:00:30,700 --> 01:00:31,390 Je to tak? 1399 01:00:31,390 --> 01:00:35,160 Máme arg obj pole to je všetko, typ string. 1400 01:00:35,160 --> 01:00:37,870 Takže ak ste sa len snažím vytiahnuť, že jeden, bolo by 1401 01:00:37,870 --> 01:00:43,240 si myslím, že jedna alebo čokoľvek číslo ktorú ste použili je vlastne charakter. 1402 01:00:43,240 --> 01:00:45,490 Takže budete mať niektoré šialené výsledky. 1403 01:00:45,490 --> 01:00:48,200 Takže ak sa skutočne chcú otočiť to na celé číslo 1404 01:00:48,200 --> 01:00:52,060 ktoré môžete použiť na manipuláciu tvoje slovo, alebo vaša správa, 1405 01:00:52,060 --> 01:00:53,366 budete chcieť použiť atoi. 1406 01:00:53,366 --> 01:00:56,320 atoi len prevádza Váš string na int. 1407 01:00:56,320 --> 01:01:04,530 >> Takže ak máme reťazec 12, keď zavoláme atoi na 12, alebo čo to je vstup, 1408 01:01:04,530 --> 01:01:07,370 to bude skutočne vráti vám číslo. 1409 01:01:07,370 --> 01:01:10,610 Nie je znak alebo reťazec 12. 1410 01:01:10,610 --> 01:01:14,230 Čo, keď začnete dodať, že na čísla, 1411 01:01:14,230 --> 01:01:17,710 bude veľmi líšiť, preto, že reťazec je 12 1412 01:01:17,710 --> 01:01:21,210 nejaké šialené číslo ASCII, ale číslo 12 1413 01:01:21,210 --> 01:01:23,390 je v skutočnosti 12, čo je to, čo chcete. 1414 01:01:23,390 --> 01:01:25,630 Takže chcete, aby sa ubezpečil, používať atoi. 1415 01:01:25,630 --> 01:01:29,203 >> Budeš chcieť tento v Caesar, pretože vás 1416 01:01:29,203 --> 01:01:32,520 Potrebujete int dodané používateľ v príkazovom riadku. 1417 01:01:32,520 --> 01:01:35,230 Ale keď dali ho do príkazu linka, je to uložené ako reťazec 1418 01:01:35,230 --> 01:01:35,813 začať. 1419 01:01:35,813 --> 01:01:36,950 1420 01:01:36,950 --> 01:01:38,210 Dáva to zmysel? 1421 01:01:38,210 --> 01:01:40,590 Nemusíte nutne Potrebujem to pre Vigener. 1422 01:01:40,590 --> 01:01:43,180 S Vigener, ako som povedal, pred, mali by ste vyskúšať a používať 1423 01:01:43,180 --> 01:01:46,600 ASCII matematika, ktorá vyzerá skôr ako to, kde ste vlastne 1424 01:01:46,600 --> 01:01:49,320 pomocou znakov, ktoré sme, ktoré ste dostali. 1425 01:01:49,320 --> 01:01:50,970 1426 01:01:50,970 --> 01:01:51,470 V pohode. 1427 01:01:51,470 --> 01:01:52,970 1428 01:01:52,970 --> 01:01:54,170 Každý, kto tam dobre? 1429 01:01:54,170 --> 01:01:56,530 1430 01:01:56,530 --> 01:01:57,480 Úžasné. 1431 01:01:57,480 --> 01:01:59,030 >> Tak modulo. 1432 01:01:59,030 --> 01:02:01,950 Tak čo, ak ste daný toto obrovské množstvo cisárovi? 1433 01:02:01,950 --> 01:02:03,720 1434 01:02:03,720 --> 01:02:07,970 Máte myšlienku, že ak ste na Z a ty si 1435 01:02:07,970 --> 01:02:11,020 pridelené číslo dve, to znamená, že need-- 1436 01:02:11,020 --> 01:02:15,130 Z sa stáva druhou List po sebe, že jo? 1437 01:02:15,130 --> 01:02:20,800 Takže je potrebné nejakým spôsobom zabaliť okolo, a modulo je spôsob, ako to urobiť. 1438 01:02:20,800 --> 01:02:23,310 Takže všetko, čo robí, je to vám dáva zvyšok 1439 01:02:23,310 --> 01:02:25,660 o rozdelení Prvé číslo od druhého. 1440 01:02:25,660 --> 01:02:28,660 A máme niekoľko príkladov aby to trochu konkrétnejší. 1441 01:02:28,660 --> 01:02:34,390 Ale v podstate, môžete použiť modulo, keď sa chcú, aby sa niečo zábal okolo. 1442 01:02:34,390 --> 01:02:36,950 >> Takže ak si chcete iba čísla jedna až osem, 1443 01:02:36,950 --> 01:02:39,670 môžete použiť modulo na akýkoľvek iný číslo, a to bude vždy 1444 01:02:39,670 --> 01:02:42,960 vráti číslo od nuly do ôsmich. 1445 01:02:42,960 --> 01:02:48,750 Takže niektorí examples-- ak máme 55 modulo 10, 1446 01:02:48,750 --> 01:02:55,350 to len vám dáva zvyšok 55 deleno 10, čo by bolo 5. 1447 01:02:55,350 --> 01:02:56,440 1448 01:02:56,440 --> 01:03:02,470 A potom tri modulo päť, niekto hádať, čo by to bolo? 1449 01:03:02,470 --> 01:03:03,800 1450 01:03:03,800 --> 01:03:04,300 Tri. 1451 01:03:04,300 --> 01:03:05,570 1452 01:03:05,570 --> 01:03:10,910 >> Takže ak máte menší počet, než modulo, nemôže ísť rovnomerne. 1453 01:03:10,910 --> 01:03:11,520 Je to nula. 1454 01:03:11,520 --> 01:03:14,090 Tak to proste vráti číslo sám. 1455 01:03:14,090 --> 01:03:15,920 Tak osem modulo osem by bolo? 1456 01:03:15,920 --> 01:03:16,603 >> STUDENT: Zero. 1457 01:03:16,603 --> 01:03:18,350 >> ALLISON: Zero. 1458 01:03:18,350 --> 01:03:20,160 Vzhľadom k tomu, že ide v rovnomerne. 1459 01:03:20,160 --> 01:03:22,095 16 modulo 15? 1460 01:03:22,095 --> 01:03:23,660 >> Divákov: One. 1461 01:03:23,660 --> 01:03:24,700 >> ALLISON: cool. 1462 01:03:24,700 --> 01:03:29,280 A potom to posledné, je len ukázať you-- môžete sa opýtať, OK, 1463 01:03:29,280 --> 01:03:31,800 čo je poradie operácií tu? 1464 01:03:31,800 --> 01:03:33,100 Páči sa delíme prvý? 1465 01:03:33,100 --> 01:03:34,570 Máme modulo prvý? 1466 01:03:34,570 --> 01:03:38,730 Takže modulo má rovnakú prioritu ako rozdelenie alebo násobenie, 1467 01:03:38,730 --> 01:03:39,940 a jej ľavý asociatívne. 1468 01:03:39,940 --> 01:03:41,730 Takže je to rovnakým spôsobom. 1469 01:03:41,730 --> 01:03:46,520 Tie by vždycky zátvorky, potom násobenie, delenie, 1470 01:03:46,520 --> 01:03:49,570 a modulo v poradí zľava doprava. 1471 01:03:49,570 --> 01:03:51,050 Takže štandardné pravidlá. 1472 01:03:51,050 --> 01:03:55,260 Proste to dať do rovnakej kategórie ako delenie a násobenie. 1473 01:03:55,260 --> 01:03:59,040 >> Takže v tomto prípade, že by sme majú 1 plus 2 nám dáva 3. 1474 01:03:59,040 --> 01:04:02,210 Vynásobíme to o 2, a tak sme si 6. 1475 01:04:02,210 --> 01:04:05,050 Sme modulo, že 2, čo nám dáva? 1476 01:04:05,050 --> 01:04:06,042 >> STUDENT: 0. 1477 01:04:06,042 --> 01:04:07,430 >> ALLISON: 0. 1478 01:04:07,430 --> 01:04:10,270 A potom pridáme 2, a tak sme 2 sa v tomto poslednom prípade. 1479 01:04:10,270 --> 01:04:12,080 1480 01:04:12,080 --> 01:04:16,360 Takže modulo-- budete určite myslieť na spôsoby, ako začleniť 1481 01:04:16,360 --> 01:04:19,520 že keď ste balenia okolo abecedy. 1482 01:04:19,520 --> 01:04:24,210 Ak ste na Z a budete musieť presunúť odovzdal tri medzery sa dostať do C, 1483 01:04:24,210 --> 01:04:26,230 tam je, že celý koncept na obal okolo. 1484 01:04:26,230 --> 01:04:28,790 Tak som sa nechať na vy prísť na to, 1485 01:04:28,790 --> 01:04:31,940 ako presne budete používať ju. 1486 01:04:31,940 --> 01:04:35,660 Ale rozhodne užitočným nástrojom pre pset tento týždeň. 1487 01:04:35,660 --> 01:04:36,910 1488 01:04:36,910 --> 01:04:37,730 Moc sa mi páči toto. 1489 01:04:37,730 --> 01:04:39,480 To je jeden z mojich najobľúbenejších psets. 1490 01:04:39,480 --> 01:04:41,230 Potom potom, čo robiť, Ak máte priateľov, 1491 01:04:41,230 --> 01:04:44,146 môžete, rovnako ako, posielať si navzájom tajomstvo Správy a uistite sa, že to funguje. 1492 01:04:44,146 --> 01:04:45,695 Vzhľadom k tomu, že to bude dešifrovať alebo čokoľvek. 1493 01:04:45,695 --> 01:04:46,710 1494 01:04:46,710 --> 01:04:47,390 Veľa zábavy. 1495 01:04:47,390 --> 01:04:48,840 1496 01:04:48,840 --> 01:04:51,220 >> A to je koniec sekcie. 1497 01:04:51,220 --> 01:04:52,430 1498 01:04:52,430 --> 01:04:54,040 Som skončil skoro. 1499 01:04:54,040 --> 01:04:57,540 Mám ešte 15 minút vy, takže ak tam je niečo, čo 1500 01:04:57,540 --> 01:05:02,180 že by ste chceli ísť cez ďalej, bol by som rád, aby to urobil. 1501 01:05:02,180 --> 01:05:04,340 Akékoľvek ďalšie otázky týkajúce sa Váš pset pre tých z vás, 1502 01:05:04,340 --> 01:05:06,355 ktorí začali alebo si prečítajte špec. 1503 01:05:06,355 --> 01:05:07,870 1504 01:05:07,870 --> 01:05:12,060 Čokoľvek, čo sme hovorili o poslednú hodinu 1505 01:05:12,060 --> 01:05:16,880 15 minút, ktoré by ste mi páčia na druhu odvar, by som rád. 1506 01:05:16,880 --> 01:05:20,790 Alebo môžeme hovoriť, že to skončí, a môžete všetko opustiť a vziať viac cukríky so sebou 1507 01:05:20,790 --> 01:05:21,650 as you go. 1508 01:05:21,650 --> 01:05:23,719 1509 01:05:23,719 --> 01:05:26,260 Ale ak sú nejaké pretrvávajúce otázky, prosím, dajte mi vedieť. 1510 01:05:26,260 --> 01:05:28,467 Môžete tiež prísť a so mnou hovoriť neskôr. 1511 01:05:28,467 --> 01:05:29,425 Sľubujem, že nehryzú. 1512 01:05:29,425 --> 01:05:32,140 1513 01:05:32,140 --> 01:05:32,795 Ešte niečo? 1514 01:05:32,795 --> 01:05:33,890 1515 01:05:33,890 --> 01:05:35,240 Každý, kto je dobrý? 1516 01:05:35,240 --> 01:05:37,540 Pocit každého z nás, ako oni môžu zvládnuť tento pset? 1517 01:05:37,540 --> 01:05:38,820 1518 01:05:38,820 --> 01:05:42,405 Budeš v poriadku chlapci. 1519 01:05:42,405 --> 01:05:43,905 Úradné hodiny sú tam z nejakého dôvodu. 1520 01:05:43,905 --> 01:05:45,930 1521 01:05:45,930 --> 01:05:46,460 V pohode. 1522 01:05:46,460 --> 01:05:47,020 V poriadku. 1523 01:05:47,020 --> 01:05:49,680 >> No, v tom prípade, ďakujem vám všetkým moc za účasť. 1524 01:05:49,680 --> 01:05:50,940 Dúfam, že sa budúci týždeň. 1525 01:05:50,940 --> 01:05:52,120 K dispozícii bude viac cukroví. 1526 01:05:52,120 --> 01:05:53,495 Tam by mohlo byť aj iné veci v pohode. 1527 01:05:53,495 --> 01:05:55,010 1528 01:05:55,010 --> 01:05:59,090 A teším sa na získanie poznať všetky z vás v tomto roku. 1529 01:05:59,090 --> 01:06:00,320