1 00:00:00,000 --> 00:00:02,418 >> [Predvajanje glasbe] 2 00:00:02,418 --> 00:00:10,542 3 00:00:10,542 --> 00:00:12,000 ALLISON BUCHHOLTZ-AU: Hej vsem. 4 00:00:12,000 --> 00:00:15,640 Dobrodošli na vaš prvi Uradna oddelek CS50. 5 00:00:15,640 --> 00:00:19,507 Kot ste lahko videli da je to oddelek CS50-like, samo 6 00:00:19,507 --> 00:00:20,840 dvigni naš program za danes. 7 00:00:20,840 --> 00:00:23,990 Torej, kdo sem jaz, ker sem prepričan, ste vsi sprašujete. 8 00:00:23,990 --> 00:00:25,514 Jaz sem tvoj TF. 9 00:00:25,514 --> 00:00:27,930 Nisem samo random študent ki se lažno predstavlja svoj TF. 10 00:00:27,930 --> 00:00:31,190 >> In sem šel skozi vrsta odseke bo tok, 11 00:00:31,190 --> 00:00:34,900 pričakovanja, ki jih imamo, sredstva, tako naprej in tako naprej. 12 00:00:34,900 --> 00:00:39,190 Bomo govorili o nizi, ASCII funkcije, argumenti v ukazni vrstici 13 00:00:39,190 --> 00:00:42,020 in to ni tukaj, ampak I bo tudi pomagal 14 00:00:42,020 --> 00:00:45,054 si nekako mislim skozi vaš naslednji pset za ta teden. 15 00:00:45,054 --> 00:00:46,720 Katere sem prepričan, da bodo vsi cenili. 16 00:00:46,720 --> 00:00:48,190 17 00:00:48,190 --> 00:00:53,390 >> Torej, najprej question-- kdo sem jaz, poleg vašega bujno TF tukaj. 18 00:00:53,390 --> 00:00:55,390 Sem Alison Buchholtz-Au. 19 00:00:55,390 --> 00:00:57,970 To je moje drugo leto TFing CS50. 20 00:00:57,970 --> 00:01:00,570 Jaz tudi TF CS51 spomladi. 21 00:01:00,570 --> 00:01:03,930 Morda boste videli spet tam če se boste odločili, da ga vzamete. 22 00:01:03,930 --> 00:01:07,370 Jaz sem tudi PAF, zato bo vsaka Freshmen-- in če niste novinec, 23 00:01:07,370 --> 00:01:09,980 To je moje tretje leto kot svetovalna kolega. 24 00:01:09,980 --> 00:01:13,630 Jaz sem zelo dobro podkovanega v vam bo svetoval o življenju in tečajev 25 00:01:13,630 --> 00:01:16,549 v CS in ne v CS. 26 00:01:16,549 --> 00:01:18,090 Jaz sem Computer Science Koncentrator. 27 00:01:18,090 --> 00:01:20,800 Jaz sem višji v Adams House, najboljši hišo. 28 00:01:20,800 --> 00:01:22,430 29 00:01:22,430 --> 00:01:26,050 In preden sem se preklopi na CS my Letniku Spring, 30 00:01:26,050 --> 00:01:27,640 Pravzaprav sem biomedicinski inženir. 31 00:01:27,640 --> 00:01:29,020 Hotel sem iti na medicinsko šolo. 32 00:01:29,020 --> 00:01:30,530 Sem bil, da bo travma kirurg. 33 00:01:30,530 --> 00:01:33,000 In da je popolnoma spremenilo, odkar sem CS50. 34 00:01:33,000 --> 00:01:34,250 35 00:01:34,250 --> 00:01:36,310 Vzel sem seveda moj Letniku Fall. 36 00:01:36,310 --> 00:01:38,920 To je bil moj prvi uvod v CS doslej. 37 00:01:38,920 --> 00:01:44,104 Bil sem eden od 78% vas, ki je nič izkušenj prihaja, 38 00:01:44,104 --> 00:01:45,520 in je popolnoma spremenil moje življenje. 39 00:01:45,520 --> 00:01:49,820 In zdaj delam na Microsoft, in vaš ljubek TF. 40 00:01:49,820 --> 00:01:53,500 In CS50 je verjetno ena izmed najboljših izkušenj 41 00:01:53,500 --> 00:01:56,210 da sem tukaj, je imela na Harvard-- tako vzeli razred 42 00:01:56,210 --> 00:01:59,040 in da bi lahko pomagal Naučiti študente, kot si ti. 43 00:01:59,040 --> 00:02:01,410 >> Tako da sem res navdušen da ste vsi tukaj. 44 00:02:01,410 --> 00:02:04,270 V primeru, da ste prišli v pozno, je sladkarije, 45 00:02:04,270 --> 00:02:07,227 ki jih je treba občutek prosimo, da pridejo zgrabi, ali pošljite 46 00:02:07,227 --> 00:02:08,560 nekdo drug, da ga zgrabite za vas. 47 00:02:08,560 --> 00:02:09,399 da je v redu. 48 00:02:09,399 --> 00:02:10,440 Ne želim, da bi jedli, da. 49 00:02:10,440 --> 00:02:13,350 Moja soba je dovolj čokolade, tako y'all bi morali poskusiti in končati to. 50 00:02:13,350 --> 00:02:16,730 Vem, da obstaja 100 kosov, ampak kot, 4:00 v ponedeljek, 51 00:02:16,730 --> 00:02:19,000 Mislim, da vsakdo lahko uporabite nekaj sladkorja. 52 00:02:19,000 --> 00:02:21,750 >> Torej vsi, ki ste uradno v mojem oddelku 53 00:02:21,750 --> 00:02:24,700 naj bi gotten e-mail: od mene z mojo telefonsko številko, 54 00:02:24,700 --> 00:02:29,920 email address-- vas prosimo, da me dodate na Gchat, vas prosimo, da me dodate na Facebook, 55 00:02:29,920 --> 00:02:33,360 pa tudi za ostale, si lahko mi tukaj. 56 00:02:33,360 --> 00:02:34,450 Obstajata dve H-jev. 57 00:02:34,450 --> 00:02:37,090 Vsakdo vedno ne kot sta L's ali dva C-jev. 58 00:02:37,090 --> 00:02:38,260 Dve H v zadnjem imenom. 59 00:02:38,260 --> 00:02:41,800 V nasprotnem primeru se bo premetavati, in Ne grem, da bi dobili e-pošte. 60 00:02:41,800 --> 00:02:46,400 >> Zato vas prosimo, da email mi, da me pokličete kadarkoli. 61 00:02:46,400 --> 00:02:51,440 Mogoče ne bom dobil nazaj ste v 24 minutah, 62 00:02:51,440 --> 00:02:53,760 ampak obljubim, da se vrnem do vas v roku 24 ur. 63 00:02:53,760 --> 00:02:54,900 64 00:02:54,900 --> 00:02:58,067 Če me boš poklical pol ure pred Vaše pset je posledica, da si bil kot, 65 00:02:58,067 --> 00:02:59,650 Nimam pojma, kaj počnem Allison. 66 00:02:59,650 --> 00:03:00,160 Pomagaj mi. 67 00:03:00,160 --> 00:03:04,049 Bom vas pomiri, vendar ob koncu dneva, 68 00:03:04,049 --> 00:03:07,340 če ste me kliče pol ure pred Vaše pset je posledica z nič napisano, 69 00:03:07,340 --> 00:03:11,570 Bom všeč, no, morda je čas, da uporabite to pozno dan. 70 00:03:11,570 --> 00:03:15,215 Torej bom odgovoriti na vse vaše Zahteve v zelo pravočasno. 71 00:03:15,215 --> 00:03:16,482 72 00:03:16,482 --> 00:03:18,190 Moj telefon je ponavadi pritrjena na mojih rokah. 73 00:03:18,190 --> 00:03:21,530 Jaz običajno odzovejo veliko hitreje kot 24 ur, 74 00:03:21,530 --> 00:03:25,650 vendar sem lahko le garancija odgovor 24 ur. 75 00:03:25,650 --> 00:03:26,580 >> Vse je v redu. 76 00:03:26,580 --> 00:03:28,410 Torej, zakaj smo tukaj? 77 00:03:28,410 --> 00:03:32,160 Tudi, če imate vprašanja na vsak čas, prosim povej mi. 78 00:03:32,160 --> 00:03:32,780 Govorim veliko. 79 00:03:32,780 --> 00:03:35,320 Govorim hitro, vendar vas prosimo, vas prosimo, da me prekine. 80 00:03:35,320 --> 00:03:36,980 To mi daje dihanje sobo, kot tudi. 81 00:03:36,980 --> 00:03:38,159 82 00:03:38,159 --> 00:03:40,200 Torej odseki so čas za nas res samo dive 83 00:03:40,200 --> 00:03:44,270 leta, dobili nekaj hands-on izkušnje, da iti skozi teme, ki smo jih omenili 84 00:03:44,270 --> 00:03:49,760 v razredu ali v študijskih materialov, Priporočamo, da vaju na spletu. 85 00:03:49,760 --> 00:03:52,980 In bomo dejansko šel skozi nekateri od teh virov v bit. 86 00:03:52,980 --> 00:03:54,300 87 00:03:54,300 --> 00:03:57,400 >> Torej nekaj zapiski o podpori oddelka. 88 00:03:57,400 --> 00:04:00,250 CS50-- ena od stvari, ki jih naredi je ena izmed mojih najljubših razredov 89 00:04:00,250 --> 00:04:02,510 je občutek, da si nikoli sami. 90 00:04:02,510 --> 00:04:05,430 Imamo zaposlenih več kot 100 ljudje, ki so tukaj, da vam pomaga. 91 00:04:05,430 --> 00:04:08,080 Imamo uradnih ur Od ponedeljka do četrtka. 92 00:04:08,080 --> 00:04:13,230 Tako da obstaja toliko ljudi, ki ljubezen razred, prav tako kot jaz 93 00:04:13,230 --> 00:04:15,750 in ki so res tukaj ker želijo biti tukaj. 94 00:04:15,750 --> 00:04:19,390 Večina od nas so študentje, in to je kot petem razredu, poleg 95 00:04:19,390 --> 00:04:20,390 za preostanek našega dela. 96 00:04:20,390 --> 00:04:22,723 >> In to je veliko dela, vendar to počnemo, ker imamo radi, 97 00:04:22,723 --> 00:04:25,600 in res radi, da vas nauči in pomagal deliti našo razburjenje 98 00:04:25,600 --> 00:04:27,260 za to temo in ta razred. 99 00:04:27,260 --> 00:04:28,490 Zato vas prosimo, da izkoristijo. 100 00:04:28,490 --> 00:04:29,370 Pridi govoriti z nami. 101 00:04:29,370 --> 00:04:33,034 Sem osamljen, ko moji učenci Ne govori z mano, tako da, če hočeš, 102 00:04:33,034 --> 00:04:33,950 pridejo družiti z mano. 103 00:04:33,950 --> 00:04:35,200 To bo super. 104 00:04:35,200 --> 00:04:37,400 >> Torej oddelek je očitno eden od vaših največjih stvari. 105 00:04:37,400 --> 00:04:41,770 Šli bomo skozi stvari da ste se naučili v predavanju, 106 00:04:41,770 --> 00:04:44,100 narediti nekaj kratkih primerov ko imamo čas, 107 00:04:44,100 --> 00:04:46,187 in splošno vrsta dobili predstavo o stvareh 108 00:04:46,187 --> 00:04:48,270 si je treba razmišljati o za nastavitev vaš problem. 109 00:04:48,270 --> 00:04:49,540 110 00:04:49,540 --> 00:04:53,591 Shorts-- koliko ljudi dejansko gledal video iz vašega nič 111 00:04:53,591 --> 00:04:54,090 Skratka? 112 00:04:54,090 --> 00:04:55,460 113 00:04:55,460 --> 00:04:57,390 Me kdo prepozna? 114 00:04:57,390 --> 00:04:59,720 Torej tistih, ki so zelo velike. 115 00:04:59,720 --> 00:05:01,210 Si je vsekakor treba gledati tiste. 116 00:05:01,210 --> 00:05:02,880 Veliko dela je bila dana v njih. 117 00:05:02,880 --> 00:05:06,690 In oni so samo mišljeno, da bo ugriz velikosti zrna za vas, da samo gledajo 118 00:05:06,690 --> 00:05:09,760 za tri ali štiri minute in dobili boljše razumevanje koncepta. 119 00:05:09,760 --> 00:05:11,147 120 00:05:11,147 --> 00:05:12,980 Hodi throughs-- kako mnogi ljudje so si ogledali 121 00:05:12,980 --> 00:05:14,880 sprehod-kanale za prejšnje? 122 00:05:14,880 --> 00:05:16,240 Zamyla je neverjetno, kajne? 123 00:05:16,240 --> 00:05:18,100 Tako kot si želim, da so bili Zamyla včasih. 124 00:05:18,100 --> 00:05:19,650 125 00:05:19,650 --> 00:05:21,640 Torej vsekakor uporabite svoje sprehod kanale. 126 00:05:21,640 --> 00:05:25,070 Ona bo razčleniti na majhen ugriz velikosti kosov. 127 00:05:25,070 --> 00:05:28,079 In ko imaš ti velik specifikacije iz vaše sklopih problematike, 128 00:05:28,079 --> 00:05:30,870 to se dogaja, da je res pomembno da lahko le našli nekje 129 00:05:30,870 --> 00:05:32,600 začeti in delati počasi skozi to. 130 00:05:32,600 --> 00:05:33,610 131 00:05:33,610 --> 00:05:40,260 >> Vse je v redu, imamo tudi Study50, ki je study50.harvard.edu, verjamem. 132 00:05:40,260 --> 00:05:42,270 Lahko samo Google študij, in da bomo prišli do. 133 00:05:42,270 --> 00:05:45,750 To je ena izmed Najboljši viri imamo. 134 00:05:45,750 --> 00:05:49,800 To je Powerpointi s pojasnili in praksi težave za vas 135 00:05:49,800 --> 00:05:52,430 z rešitvami, ki jih lahko dejansko sprehod skozi. 136 00:05:52,430 --> 00:05:57,000 Torej, če si kdaj želeli več prakse, več, kot smo storili v oddelkih ali več 137 00:05:57,000 --> 00:06:00,700 od vaših sklopih problematike, to je res kraj, vas pozivam, da gredo. 138 00:06:00,700 --> 00:06:03,590 Zgrajena je bila lani poleti z nekaj mojih zelo dobrih prijateljev. 139 00:06:03,590 --> 00:06:04,480 In to je neverjetno. 140 00:06:04,480 --> 00:06:05,540 141 00:06:05,540 --> 00:06:08,670 Dejstvo je, veliko diapozitive da bom s pomočjo za oddelek 142 00:06:08,670 --> 00:06:10,190 bo prišel iz Study50. 143 00:06:10,190 --> 00:06:12,000 >> Torej, veliko je TF uporabljati. 144 00:06:12,000 --> 00:06:13,920 In končno, kot sem omenjeno, uradne ure. 145 00:06:13,920 --> 00:06:15,836 Če imate težave pri domačih nalogah, ste 146 00:06:15,836 --> 00:06:18,270 težave z koncept, pridemo do uradnih ur. 147 00:06:18,270 --> 00:06:20,190 Pojdi v začetku tedna, če lahko. 148 00:06:20,190 --> 00:06:23,130 Ven na quad, ker je vrsta sedaj. 149 00:06:23,130 --> 00:06:24,780 Nihče ne mara hoditi ven. 150 00:06:24,780 --> 00:06:27,090 Ampak to je v vašo korist, ker potem ste 151 00:06:27,090 --> 00:06:29,580 dogaja, da imajo vse te TFS, [Neslišno] vas obkrožajo. 152 00:06:29,580 --> 00:06:31,920 In še posebej zdaj, samo namig, četrtkih 153 00:06:31,920 --> 00:06:35,310 Zelo chill zdaj v Mather, ker vaše psets 154 00:06:35,310 --> 00:06:36,577 zapadejo ob četrtkih. 155 00:06:36,577 --> 00:06:38,410 In vedo, želi uporabiti še svoje pozne dni. 156 00:06:38,410 --> 00:06:40,030 >> Torej, če imate težave s koncepti, 157 00:06:40,030 --> 00:06:41,780 obstaja veliko TF, ki so tam, da vam pomaga. 158 00:06:41,780 --> 00:06:43,196 Tako da pridejo ven, da Mather v četrtek. 159 00:06:43,196 --> 00:06:45,280 Če želite, da me vidi, Jaz bom tam. 160 00:06:45,280 --> 00:06:48,870 Jaz ponavadi opravljam svojo domačo nalogo, saj nihče ne želi mojo pomoč. 161 00:06:48,870 --> 00:06:50,260 Torej, pridi nas vidijo. 162 00:06:50,260 --> 00:06:51,460 163 00:06:51,460 --> 00:06:52,440 >> Dobimo se na pol poti. 164 00:06:52,440 --> 00:06:55,400 Torej, koliko ljudi se je udeležilo predavanje ali pa gledal na spletu? 165 00:06:55,400 --> 00:06:56,570 166 00:06:56,570 --> 00:06:59,140 Koliko ljudi je šlo za super oddelek prejšnji teden? 167 00:06:59,140 --> 00:07:00,171 168 00:07:00,171 --> 00:07:00,670 Cool. 169 00:07:00,670 --> 00:07:02,190 To je pravzaprav pošteno število. 170 00:07:02,190 --> 00:07:05,425 Koliko vas Prebral vaš spec za ta teden, za vašo pset? 171 00:07:05,425 --> 00:07:07,081 172 00:07:07,081 --> 00:07:08,461 Oh, jaz sem ponosen na vaju! 173 00:07:08,461 --> 00:07:09,335 Več sladkarije za y'all. 174 00:07:09,335 --> 00:07:11,070 175 00:07:11,070 --> 00:07:13,280 >> Dobro, pa kaj mislimo "Izpolnjujejo nam na pol poti," je 176 00:07:13,280 --> 00:07:16,440 da odsek je res samo bo zelo koristno za vas 177 00:07:16,440 --> 00:07:19,810 če prideš v prebral vaš Specifikacija za vaš pset. 178 00:07:19,810 --> 00:07:23,859 Ker, ko sem šel skozi pregled stvari, ki jih je treba videti jasno zakaj, 179 00:07:23,859 --> 00:07:25,650 to ne dogaja, da bi toliko smisla, če vas 180 00:07:25,650 --> 00:07:28,358 Ne vem, kaj je tvoj problem nastaviti se dogaja, da se prosi, da narediš. 181 00:07:28,358 --> 00:07:29,020 182 00:07:29,020 --> 00:07:32,590 >> Če ne boste prišli do oddelka, očitno Ne morem biti, da je koristno za vas. 183 00:07:32,590 --> 00:07:36,600 Ne grem, da ga vzamete osebno, če ti ne pridejo v mojo oddelku zdaj, 184 00:07:36,600 --> 00:07:38,570 ampak vsekakor bi morali. 185 00:07:38,570 --> 00:07:40,090 Če ne morete, gledam jih na spletu. 186 00:07:40,090 --> 00:07:41,230 187 00:07:41,230 --> 00:07:42,519 Oni so tam z razlogom. 188 00:07:42,519 --> 00:07:43,560 Mine ne bo tam. 189 00:07:43,560 --> 00:07:44,187 190 00:07:44,187 --> 00:07:47,270 Kot ste opazili, smo se snema, tako bo pa tam za vas. 191 00:07:47,270 --> 00:07:49,110 192 00:07:49,110 --> 00:07:51,570 Kot je dobro, bo lectures--, ki je očitno 193 00:07:51,570 --> 00:07:53,790 kje ste dobili začetek vašega materiala tukaj. 194 00:07:53,790 --> 00:07:57,430 Tako da bom zagotovo poskusiti in pomaga toliko, kot sem lahko, 195 00:07:57,430 --> 00:07:58,840 vendar sem lahko srečate le tako daleč. 196 00:07:58,840 --> 00:08:01,220 Moraš nekako izpolnjujejo nam na pol poti tam. 197 00:08:01,220 --> 00:08:04,050 >> Grading-- tako, vse vas ki je dobil email od mene, 198 00:08:04,050 --> 00:08:05,445 ti si moj uradni oddelek. 199 00:08:05,445 --> 00:08:06,470 200 00:08:06,470 --> 00:08:08,120 Bom razvrščanje vaših psets. 201 00:08:08,120 --> 00:08:12,870 In jaz samo želim povedati, eno stvar, ki morate res pozorni na 202 00:08:12,870 --> 00:08:13,820 so pripombe. 203 00:08:13,820 --> 00:08:17,390 Komentarji so pogosto bolj uporaben od dejanskega rezultata vam dati. 204 00:08:17,390 --> 00:08:19,890 In komentarji so dejansko kjer sem preživela veliko svojega časa 205 00:08:19,890 --> 00:08:20,770 ko sem razvrščanje. 206 00:08:20,770 --> 00:08:22,700 Torej, jaz bi cenil pa če si jih preberete. 207 00:08:22,700 --> 00:08:26,990 In oni so dejansko, kako boste Če želite izvedeti več o obliko in stil 208 00:08:26,990 --> 00:08:29,860 in stvari, ki so Malo manj cut in suha. 209 00:08:29,860 --> 00:08:31,770 >> Torej res pozoren na te pripombe. 210 00:08:31,770 --> 00:08:34,720 Če imate vprašanja v zvezi z njimi, ali vprašanja o vaš rezultat, 211 00:08:34,720 --> 00:08:37,620 prosim pridi govoriti z mano bodisi pred oddelkom, 212 00:08:37,620 --> 00:08:41,039 Bom verjetno se družim v preddverju, ali pozneje. 213 00:08:41,039 --> 00:08:43,559 Če želite, da urnik ena-na-ena sestanki o tem, kako 214 00:08:43,559 --> 00:08:46,100 vam lahko pomaga izboljšati pozneje problem sklopov, mi povej. 215 00:08:46,100 --> 00:08:47,520 216 00:08:47,520 --> 00:08:49,750 >> In potem samo par nasvetov za vas. 217 00:08:49,750 --> 00:08:53,110 Torej eden izmed največjih stvari Vedno poudarjam, da moje oddelku 218 00:08:53,110 --> 00:08:57,700 Ko se učite, kako kodo je pisati stvari na papirju prvi. 219 00:08:57,700 --> 00:09:01,080 Če imate načrt igre za kjer kodo mora iti 220 00:09:01,080 --> 00:09:03,230 in kaj potrebuje, da storiti in je razčlenjena 221 00:09:03,230 --> 00:09:06,000 v majhne koščke psevdokoda Koda, ki ste jih izpisati, 222 00:09:06,000 --> 00:09:09,780 boš manj verjetno, da bi skladenjske napake 223 00:09:09,780 --> 00:09:12,355 ali ustvarite če zanko, ki nima drugega. 224 00:09:12,355 --> 00:09:14,064 225 00:09:14,064 --> 00:09:15,980 Če veste, kje ste Splošni dogaja, da ste 226 00:09:15,980 --> 00:09:19,764 manj verjetno, da bo ta majhen napake, ki bo včasih se vam 227 00:09:19,764 --> 00:09:22,555 ur, da se določi, ker si všeč, kjer sem manjka ta nosilec? 228 00:09:22,555 --> 00:09:23,580 229 00:09:23,580 --> 00:09:27,420 >> Na tej opombi, prosimo uporabite Style50. 230 00:09:27,420 --> 00:09:28,820 231 00:09:28,820 --> 00:09:31,590 Še posebej, če ste bo uradnih ur, 232 00:09:31,590 --> 00:09:34,850 če je vaša koda je vse prešli na eni strani, 233 00:09:34,850 --> 00:09:37,740 je seveda politika da lahko rečemo, da to popravimo 234 00:09:37,740 --> 00:09:41,990 tako, da je videti kot pravi Style50 bi moral, in potem vam bomo pomagali. 235 00:09:41,990 --> 00:09:43,830 Torej bo to bo vaše življenje lažje. 236 00:09:43,830 --> 00:09:45,030 Da bomo lahko naše življenje lažje. 237 00:09:45,030 --> 00:09:46,000 Vsakdo je srečnejši. 238 00:09:46,000 --> 00:09:47,290 Vsakdo dobi boljše ocene. 239 00:09:47,290 --> 00:09:48,760 Ali ni to tisto, kar si vsi želimo? 240 00:09:48,760 --> 00:09:50,420 241 00:09:50,420 --> 00:09:53,860 >> Tako pišejo na papir, preden Ste že kdaj dotikajte računalnik. 242 00:09:53,860 --> 00:09:57,540 Govoriti stvari na visoki ravni, in poskrbite, da boste vedeli, kam greste. 243 00:09:57,540 --> 00:09:59,940 In če ste prepričani, usesti z nekom 244 00:09:59,940 --> 00:10:03,340 in jim sprehod skozi korak za korakom kaj je tvoja koda naj naredim. 245 00:10:03,340 --> 00:10:07,940 In devetkrat od 10, boste kot so, oh, sem pozabil, če stanje 246 00:10:07,940 --> 00:10:12,420 ali pa sem pozabil podpičje tukaj ali Jaz sem posodabljanje tega spremenljivega narobe. 247 00:10:12,420 --> 00:10:15,740 Torej, to so moji nasveti za uspeh. 248 00:10:15,740 --> 00:10:19,820 >> Zato, ker približno polovica od vas pogled kot ste se udeležili super poglavje, 249 00:10:19,820 --> 00:10:24,080 Jaz sem le, da bo zelo Na kratko skozi zanke, 250 00:10:24,080 --> 00:10:26,650 ki niso bili na našem prvotnem dnevnem redu. 251 00:10:26,650 --> 00:10:28,190 Vendar pa so zelo pomembni. 252 00:10:28,190 --> 00:10:30,250 In tako bom vrste hitrosti skozi tiste 253 00:10:30,250 --> 00:10:32,860 preden smo prišli v naši dejanski oddelku. 254 00:10:32,860 --> 00:10:36,269 Preden sem naredil, da so tam vsaka questions-- logistično, 255 00:10:36,269 --> 00:10:38,060 osebno, je tam karkoli hočeš 256 00:10:38,060 --> 00:10:40,990 vedeti o meni ali o oddelek ali razred na splošno? 257 00:10:40,990 --> 00:10:43,195 258 00:10:43,195 --> 00:10:43,880 Vse dobro? 259 00:10:43,880 --> 00:10:45,300 OK, v redu. 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 >> Torej loops-- vi vsi bi morali priznanje teh kosov iz nič. 263 00:10:50,071 --> 00:10:51,310 264 00:10:51,310 --> 00:10:55,220 Torej zanke so v bistvu samo način za nas, da nekaj storiti 265 00:10:55,220 --> 00:10:58,900 nekatere večkrat, nekateri ponovi Tožba temelji na nekaterih pogojena. 266 00:10:58,900 --> 00:11:00,140 267 00:11:00,140 --> 00:11:02,090 Torej imamo tri različne vrste. 268 00:11:02,090 --> 00:11:04,860 Imamo zanko, medtem ko je, in ne-časa. 269 00:11:04,860 --> 00:11:06,430 270 00:11:06,430 --> 00:11:11,320 >> Torej za loops-- imamo samo zelo splošna postavitev Tu zanko. 271 00:11:11,320 --> 00:11:16,110 In to je super, ko veš, kako mnogokrat kaj potrebuje za izvedbo. 272 00:11:16,110 --> 00:11:17,040 273 00:11:17,040 --> 00:11:18,790 Ko govorimo o druge zanke, boste 274 00:11:18,790 --> 00:11:20,650 zakaj to je pomembna razlika. 275 00:11:20,650 --> 00:11:22,530 Ampak za zanke so za nekaj, set. 276 00:11:22,530 --> 00:11:24,590 Veš, da si lahko bodisi izračun števila 277 00:11:24,590 --> 00:11:29,230 ali veste, kolikokrat ste ponudbe to ponovi na začetku. 278 00:11:29,230 --> 00:11:32,220 >> Torej, če vidite tu, imajo le splošni vrste 279 00:11:32,220 --> 00:11:34,480 okostja okvira za zanko tukaj. 280 00:11:34,480 --> 00:11:38,080 Torej za inicializacijo, to je, če vaše spremenljivke vključila. 281 00:11:38,080 --> 00:11:41,915 Z Mario, sem prepričan, da fantje naredili nekaj takega int i enak 0. 282 00:11:41,915 --> 00:11:42,920 283 00:11:42,920 --> 00:11:44,710 To je, če bi se to zgodilo v modri barvi. 284 00:11:44,710 --> 00:11:48,290 Imate stanje, ki je tisto, kar se preverja vsakič. 285 00:11:48,290 --> 00:11:52,410 Če je ta pogoj izpolnjen, potem Preostanek kode izvrši. 286 00:11:52,410 --> 00:11:54,749 Potem bom teči again-- in vprašati. 287 00:11:54,749 --> 00:11:57,290 In potem imamo posodobitev, kjer ste modernizirati vaš spremenljivko. 288 00:11:57,290 --> 00:12:01,410 Torej, še enkrat, tako kot z Mario, sem prepričan, vidva storila kaj takega i plus plus. 289 00:12:01,410 --> 00:12:04,640 Torej, vsakič, zanka tekel, dobil sem tako posodobljen 290 00:12:04,640 --> 00:12:09,370 da, ko smo ga pred preverjanjem nekateri pogoj, je spreminjanje. 291 00:12:09,370 --> 00:12:12,570 >> Ker, če si pravkar imajo statično spremenljivko, 292 00:12:12,570 --> 00:12:15,567 če se izvaja prvič, je le, da bo neskončno izvršiti. 293 00:12:15,567 --> 00:12:18,025 Tako da boste morali poskrbite, da boste ustrezno posodobiti spremenljivke. 294 00:12:18,025 --> 00:12:19,350 295 00:12:19,350 --> 00:12:23,890 In imamo tudi samo Vizualna predstavitev tam. 296 00:12:23,890 --> 00:12:24,930 Vsi dobro? 297 00:12:24,930 --> 00:12:25,630 Za zank. 298 00:12:25,630 --> 00:12:27,540 Bi morali videti to v vašem pset. 299 00:12:27,540 --> 00:12:28,840 Cool. 300 00:12:28,840 --> 00:12:31,870 >> Torej, tukaj je samo preprost primer. 301 00:12:31,870 --> 00:12:32,860 Natisni To je CS50! 302 00:12:32,860 --> 00:12:33,360 10-krat. 303 00:12:33,360 --> 00:12:34,850 304 00:12:34,850 --> 00:12:37,906 In tako imamo inicializacijo, kot smo videli tam, z int i 305 00:12:37,906 --> 00:12:41,280 enak 0, za i je manj od 10, in jaz plus plus. 306 00:12:41,280 --> 00:12:43,090 307 00:12:43,090 --> 00:12:44,540 In da bomo natisniti, da se 10-krat. 308 00:12:44,540 --> 00:12:46,230 309 00:12:46,230 --> 00:12:56,781 >> Torej, medtem ko loops-- while zanke so super, ko vam ni nujno, 310 00:12:56,781 --> 00:12:59,530 morali vedeti, kolikokrat je bo posodobitev na začetku. 311 00:12:59,530 --> 00:13:00,640 312 00:13:00,640 --> 00:13:02,580 Moraš nekaj Pogoj, da se preveri. 313 00:13:02,580 --> 00:13:09,550 In to bi bilo nekaj podobnega while-- Vzemimo primer iz vašega pset. 314 00:13:09,550 --> 00:13:12,540 Če Mario, poskusite input negativno število. 315 00:13:12,540 --> 00:13:13,270 Kajne? 316 00:13:13,270 --> 00:13:15,460 Moral bi ponovni poziv svojega uporabnika. 317 00:13:15,460 --> 00:13:20,890 Tako da lahko rečem, dobro, če vhodov uporabnikov nekaj manj kot nič, re-takojšnji 318 00:13:20,890 --> 00:13:21,390 njih. 319 00:13:21,390 --> 00:13:23,890 In prepričan sem, da bi lahko je nekaj, kar nekateri od vas 320 00:13:23,890 --> 00:13:24,660 uporabljena v kodi. 321 00:13:24,660 --> 00:13:26,270 >> Torej, to je preprosta stvar. 322 00:13:26,270 --> 00:13:28,490 Imate medtem ko so nekateri pogojno, da se preveri 323 00:13:28,490 --> 00:13:30,460 vsakič koda gre za izvršitev. 324 00:13:30,460 --> 00:13:32,660 Če je ovrednoten kot resničen, ga zaženite. 325 00:13:32,660 --> 00:13:33,820 V nasprotnem primeru ne bomo. 326 00:13:33,820 --> 00:13:35,650 In kaj je res important-- nekaj I 327 00:13:35,650 --> 00:13:38,155 mislim, da je David govoril o v lecture-- so oporniki. 328 00:13:38,155 --> 00:13:40,760 329 00:13:40,760 --> 00:13:42,930 Karkoli je v oporniki je tisto, kar usmrčen. 330 00:13:42,930 --> 00:13:45,850 Če ste pozabili tiste naramnice, to je samo še 331 00:13:45,850 --> 00:13:48,800 da je vrv neposredno po tem, ko je bila medtem izvršena. 332 00:13:48,800 --> 00:13:51,040 >> Torej, če imate tri stvari, ki so mišljeni 333 00:13:51,040 --> 00:13:54,020 zgodilo, ko je ta pogoj ovrednoten kot resničen, 334 00:13:54,020 --> 00:13:58,040 in nimate te naramnice, samo Prva stvar, ki se bo zgodilo. 335 00:13:58,040 --> 00:14:01,510 Tako zelo zaveda kjer si dal svoje naramnice. 336 00:14:01,510 --> 00:14:04,880 Če se držite z Style50, To bo zagotovo vam pomagajo. 337 00:14:04,880 --> 00:14:06,220 338 00:14:06,220 --> 00:14:06,760 Cool. 339 00:14:06,760 --> 00:14:10,835 >> Torej je to odštevanje od 10 do nič. 340 00:14:10,835 --> 00:14:12,380 341 00:14:12,380 --> 00:14:16,210 In kot vidite tu, inicializacijo nekateri števec zunaj njega. 342 00:14:16,210 --> 00:14:19,250 Ena stvar, ki je drugačen, je nismo inicializacijo našo spremenljivko 343 00:14:19,250 --> 00:14:20,300 v naši while. 344 00:14:20,300 --> 00:14:22,150 To je inicializiran zunaj njega. 345 00:14:22,150 --> 00:14:25,480 Mi smo preprosto samo dajanje pogoj iz naše časa. 346 00:14:25,480 --> 00:14:28,630 Torej, v tem primeru, je medtem število je večje od nič. 347 00:14:28,630 --> 00:14:35,134 In mi izpiše, kaj naš grof je, in potem bomo pojemanje našo spremenljivko. 348 00:14:35,134 --> 00:14:36,800 In to je še ena stvar, ki jo opazite. 349 00:14:36,800 --> 00:14:40,440 Naša posodobitev ne zgodi v da prvi del while. 350 00:14:40,440 --> 00:14:44,255 To bo dejansko zgodilo v objemke, telo besedila. 351 00:14:44,255 --> 00:14:46,820 352 00:14:46,820 --> 00:14:51,860 >> Torej, medtem ko loops-- storiti, medtem ko zanke so super za potrditev uporabnika. 353 00:14:51,860 --> 00:14:54,820 Torej, nekateri od vas morda To se uporablja tudi v vašem pset. 354 00:14:54,820 --> 00:14:59,960 Lahko rečete, naredite, kot so, od uporabnika zahteva za vnos. 355 00:14:59,960 --> 00:15:04,690 Nato pa, kot so, vhod je manjša od neke števila. 356 00:15:04,690 --> 00:15:10,700 >> Torej za izrecne primeru z Mario, se bi naredil printf, vnesite celo število, 357 00:15:10,700 --> 00:15:13,820 in potem nekateri celo enaka getint. 358 00:15:13,820 --> 00:15:17,060 In potem se bom dejansko izvršiti to kodo prvič. 359 00:15:17,060 --> 00:15:19,120 Boste dejansko imajo neke vrste celo število. 360 00:15:19,120 --> 00:15:23,380 In potem bi lahko rekli, medtem da celo manjši od nič. 361 00:15:23,380 --> 00:15:26,120 Torej, kaj se dogaja, da storiti, je, da je tekoč izvršiti vsaj enkrat. 362 00:15:26,120 --> 00:15:27,536 To se dogaja, da preveri stanje. 363 00:15:27,536 --> 00:15:29,690 Če stanje Res, se bo ponovno zagnal. 364 00:15:29,690 --> 00:15:32,900 >> Stori, medtem ko zanke super za potrditev uporabnika, 365 00:15:32,900 --> 00:15:36,770 saj veš kodo bo vsaj izvršiti 366 00:15:36,770 --> 00:15:39,720 enkrat, medtem ko z medtem ko zanke, niste 367 00:15:39,720 --> 00:15:41,630 jamči, da je bo enkrat izvršiti. 368 00:15:41,630 --> 00:15:45,330 To se dogaja, da se preveri stanje prvi in ​​nato odloči, da ga bo izvršil, 369 00:15:45,330 --> 00:15:48,350 medtem ko je do-medtem ko bo najprej izvršiti kodo 370 00:15:48,350 --> 00:15:51,110 in nato preverite, ali je ga morate ponoviti. 371 00:15:51,110 --> 00:15:52,985 Ali to razlikovanje smisla za vsakogar? 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 Cool. 376 00:15:56,150 --> 00:15:57,380 377 00:15:57,380 --> 00:15:59,800 >> Torej v tem primeru, to je vrsta tega, kar sem govoril, 378 00:15:59,800 --> 00:16:02,210 To ponovno navodilom, dokler vas dobili pozitivno število. 379 00:16:02,210 --> 00:16:05,060 Torej vemo, da printf "Vnesite pozitivno število" 380 00:16:05,060 --> 00:16:08,720 in dejansko prosi za to Vhod se bo zgodilo vsaj enkrat. 381 00:16:08,720 --> 00:16:12,650 Če uporabnik zlo in ohranja vnesete negativno število, ki 382 00:16:12,650 --> 00:16:14,210 ve, kolikokrat bo to izvesti. 383 00:16:14,210 --> 00:16:17,500 Vendar je ta oznaka zagotovljena izvesti vsaj enkrat. 384 00:16:17,500 --> 00:16:20,040 In to je razlog, zakaj je super za potrditev vnosa. 385 00:16:20,040 --> 00:16:22,300 In boste uporabili, da je zelo malo. 386 00:16:22,300 --> 00:16:23,870 387 00:16:23,870 --> 00:16:25,830 >> Vse je v redu, na vsa vprašanja tako daleč? 388 00:16:25,830 --> 00:16:27,080 389 00:16:27,080 --> 00:16:28,030 Mi smo vse dobro? 390 00:16:28,030 --> 00:16:29,513 Govorim prehitro? 391 00:16:29,513 --> 00:16:30,520 392 00:16:30,520 --> 00:16:31,130 Mi smo dobri? 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 Awesome 396 00:16:33,800 --> 00:16:35,841 >> Zato smo šli naprej in govori o nizi. 397 00:16:35,841 --> 00:16:36,660 398 00:16:36,660 --> 00:16:37,600 Cool. 399 00:16:37,600 --> 00:16:40,700 Torej, nizi so v bistvu le podatkovne strukture 400 00:16:40,700 --> 00:16:43,260 ki nam omogočajo, da shranite stvari iste vrste. 401 00:16:43,260 --> 00:16:47,920 Torej, če ste že kdaj imeli niz, to je bodisi samo dogaja, da imajo ints 402 00:16:47,920 --> 00:16:51,590 ali pa je samo dogaja, da imajo plovce ali pa je le, da bo imel znakov. 403 00:16:51,590 --> 00:16:55,440 Ne boš, da imajo int z char s plovcem z dvojno. 404 00:16:55,440 --> 00:16:56,850 Ena stvar. 405 00:16:56,850 --> 00:17:00,810 Nizi so le ena velikost, ali pa si samo ena vrsta. 406 00:17:00,810 --> 00:17:05,679 >> Torej, tukaj imamo celo paleto velikosti tri s tremi celih njej. 407 00:17:05,679 --> 00:17:07,970 Ti bi lahko plava, vendar smo reči oni ints. 408 00:17:07,970 --> 00:17:09,310 409 00:17:09,310 --> 00:17:16,970 Torej, ena stvar, da zavedaš, da nizi so set velikost, ko inicializirati 410 00:17:16,970 --> 00:17:22,285 njih, in niso easily-- saj ste vsi so manj udoben, 411 00:17:22,285 --> 00:17:25,034 morate samo mislijo, da so ne bi mogli razširiti po velikosti. 412 00:17:25,034 --> 00:17:26,119 413 00:17:26,119 --> 00:17:28,740 Vendar velik podaš Vaše niz na začetku, 414 00:17:28,740 --> 00:17:31,070 da je velikost se dogaja ostati, ker nizi 415 00:17:31,070 --> 00:17:33,070 so stalno bloki pomnilnika. 416 00:17:33,070 --> 00:17:34,007 417 00:17:34,007 --> 00:17:35,840 In če vi zaslužiti v malo bolj 418 00:17:35,840 --> 00:17:40,820 o tem, kako je spomin dejansko določeno na diski in v kup in s sklada, 419 00:17:40,820 --> 00:17:42,220 da bom lahko malo bolj smiselno. 420 00:17:42,220 --> 00:17:48,310 >> Vendar lahko samo pomislite, kot, da je le vrsta prostorov na disku. 421 00:17:48,310 --> 00:17:52,540 In vam ne more zagotoviti, da obstaja bo dovolj prostora za njo. 422 00:17:52,540 --> 00:17:55,290 Lahko inicializirati array treh in potem morda 423 00:17:55,290 --> 00:17:59,190 zagnati drug niz petih kasneje, in to je prav po tem. 424 00:17:59,190 --> 00:18:04,000 Torej, če ste bili, da gredo mimo mesto trije v tej prvi niz, 425 00:18:04,000 --> 00:18:06,370 bi pisal čez nekaj drugega. 426 00:18:06,370 --> 00:18:10,390 Torej nizi are-- za vas, samo mislijo, da so fiksne velikosti. 427 00:18:10,390 --> 00:18:12,700 428 00:18:12,700 --> 00:18:16,890 >> Tako ustvarja array-- greš da je treba to storiti zelo malo. 429 00:18:16,890 --> 00:18:18,240 430 00:18:18,240 --> 00:18:22,080 Torej, na enak način, da imamo Splošna struktura naše za zanke, 431 00:18:22,080 --> 00:18:24,910 imamo lepo generala struktura za našo paleto. 432 00:18:24,910 --> 00:18:28,430 Ker so ene vrste, vse elementi v matriki so ene vrste, 433 00:18:28,430 --> 00:18:30,950 morate inicializirati kaj ta tip je. 434 00:18:30,950 --> 00:18:33,804 >> Torej, kot vidite, imamo lepo vrsto podatkov bracket. 435 00:18:33,804 --> 00:18:35,970 Torej, če smo ustvariti int matrika, ki bo int. 436 00:18:35,970 --> 00:18:38,830 Če bomo ustvarili char matrika, bo to znak. 437 00:18:38,830 --> 00:18:41,890 Če smo ustvariti niz matrika, to bo niz. 438 00:18:41,890 --> 00:18:45,140 In potem ime vašega polja, karkoli želite, da bo. 439 00:18:45,140 --> 00:18:51,750 Torej, morda je rezultati testov ali morda je študente, ali morda je sladkarije. 440 00:18:51,750 --> 00:18:54,440 Karkoli se boste odločili poimenovati matrika, da je tisto, kar bo pa bo. 441 00:18:54,440 --> 00:18:57,260 >> In nato v oklepaju, boste imajo velikost, ki jo želite. 442 00:18:57,260 --> 00:19:01,350 Torej, smo shranjevanje 10 študentov ali smo shranjevanje 15 vrst bonbonov? 443 00:19:01,350 --> 00:19:03,200 444 00:19:03,200 --> 00:19:03,920 Kaj ne. 445 00:19:03,920 --> 00:19:06,830 Torej v našem primeru tukaj, smo ustvariti niz 446 00:19:06,830 --> 00:19:10,100 velikosti treh, ki si ga fantje glej tukaj na desni. 447 00:19:10,100 --> 00:19:11,350 448 00:19:11,350 --> 00:19:15,990 In ko smo se prvič zažene to je vse nič. 449 00:19:15,990 --> 00:19:18,970 Torej, to je samo mislil od kot nepopisan list. 450 00:19:18,970 --> 00:19:22,550 Imamo vse te prostore, imamo vse te škatle, da bi lahko dal svoje podatke v, 451 00:19:22,550 --> 00:19:25,530 ampak oni so samo prazno zaenkrat. 452 00:19:25,530 --> 00:19:28,700 >> Torej, če želimo, da dejansko ki jih dodelijo te vrednosti, 453 00:19:28,700 --> 00:19:33,050 storimo tako, da tik pod tu kaže. 454 00:19:33,050 --> 00:19:39,170 Tako da boste morali, ne glede na ime vašega Niz je in kaj potem indeks hočeš. 455 00:19:39,170 --> 00:19:43,070 Torej indeks pravkar nanaša, všeč, kaj slot smo gledaš. 456 00:19:43,070 --> 00:19:47,830 In pomembna stvar, da obvestilo je, da so nizi nič indeksirajo. 457 00:19:47,830 --> 00:19:53,160 Torej, če želimo, prvi prostor v pomnilniku naše matrike, da se bo nič. 458 00:19:53,160 --> 00:19:54,740 Če želimo drugega, bo to eno. 459 00:19:54,740 --> 00:19:56,198 Če želimo tretjino, bo pa dva. 460 00:19:56,198 --> 00:19:57,820 Tako naprej in tako naprej. 461 00:19:57,820 --> 00:20:02,130 >> Kar je tudi razlog, konvencionalno, ko storimo za loops-- Prepričan sem, 462 00:20:02,130 --> 00:20:05,030 Vi ste se spraševali, zakaj začnemo pri 0 v primerjavi z 1? 463 00:20:05,030 --> 00:20:09,909 In da je zato, ker ko smo prehod v polja in jih preslika pravilno. 464 00:20:09,909 --> 00:20:11,700 Torej, če želite, da Ponovil v array, ga 465 00:20:11,700 --> 00:20:14,830 naredi veliko bolj smiselno, da storiti i enak 0, ker smo 466 00:20:14,830 --> 00:20:17,940 vemo, da bo ustrezala na prvo mesto v pomnilniku. 467 00:20:17,940 --> 00:20:18,990 468 00:20:18,990 --> 00:20:19,990 Vsakdo dobro s tem? 469 00:20:19,990 --> 00:20:21,060 470 00:20:21,060 --> 00:20:21,560 Cool. 471 00:20:21,560 --> 00:20:26,240 >> In nato je dno tukaj samo še en način, da bi začeli niz. 472 00:20:26,240 --> 00:20:29,590 Imate še vedno vaš podatkovni tip in ime, 473 00:20:29,590 --> 00:20:31,960 ampak dejansko dajanje velikost tam, 474 00:20:31,960 --> 00:20:33,830 lahko pač prazne nosilce. 475 00:20:33,830 --> 00:20:36,350 In nato z njimi kodrasti naramnice na dnu, 476 00:20:36,350 --> 00:20:40,270 Lahko samo vnos podatkov, ki jih želite ločene z vejicami. 477 00:20:40,270 --> 00:20:43,070 In da se bo samodejno reči, OK, vidim 478 00:20:43,070 --> 00:20:47,300 da imate tri stvari v teh naramnic. 479 00:20:47,300 --> 00:20:51,410 Zato vem, da moram dodeliti tri bloki pomnilnika in nato shranjevanje teh. 480 00:20:51,410 --> 00:20:55,300 481 00:20:55,300 --> 00:21:01,670 >> Torej prva različica, ki jo lahko uporabite če ste se posvetovali s svojim uporabnikom z vhodom 482 00:21:01,670 --> 00:21:04,770 vrednosti, tako da lahko Ponovil skozi paleto 483 00:21:04,770 --> 00:21:07,660 in ask-- dobili nekaj int za njimi vhod. 484 00:21:07,660 --> 00:21:10,500 Če boste vnaprej vedeli, vrednote, naredi veliko bolj smiselno 485 00:21:10,500 --> 00:21:12,110 uporabi drugo smer. 486 00:21:12,110 --> 00:21:17,270 Vendar v večini primerov, morda ne boste vedeli, kaj te vrednosti se bodo. 487 00:21:17,270 --> 00:21:19,060 488 00:21:19,060 --> 00:21:19,560 Cool. 489 00:21:19,560 --> 00:21:20,393 Katera koli druga vprašanja? 490 00:21:20,393 --> 00:21:21,206 491 00:21:21,206 --> 00:21:21,705 Dobro. 492 00:21:21,705 --> 00:21:25,960 493 00:21:25,960 --> 00:21:30,370 >> Tako dostop do elements-- tako eno od velikih stvari o nizi 494 00:21:30,370 --> 00:21:33,310 je, da so naključno dostop, kar pomeni, da vas 495 00:21:33,310 --> 00:21:36,010 ne bi bilo treba pogledati skozi vsak blok. 496 00:21:36,010 --> 00:21:38,150 Če veste, da vas želim, kaj je v bloku dva, 497 00:21:38,150 --> 00:21:40,820 lahko samo rečem, da mi blokira dva. 498 00:21:40,820 --> 00:21:44,160 In zato ti Indeksi so tako pomembni, 499 00:21:44,160 --> 00:21:46,220 in to je, kako smo dejansko dostop do njih. 500 00:21:46,220 --> 00:21:50,660 Torej, v tem primeru, kot smo videli prej, ko smo dodelili vrednost, v enem 501 00:21:50,660 --> 00:21:55,360 preden smo imeli ime in Indeks smo želeli dostop, kajne? 502 00:21:55,360 --> 00:21:59,370 Torej, na enak način, to je vse, kar smo storiti, da bi dejansko vleči, da so podatki out. 503 00:21:59,370 --> 00:22:02,940 Imamo ime in mi imajo indeks, ki jo želimo. 504 00:22:02,940 --> 00:22:06,710 >> Torej, v tem primeru, za zanko dol na dnu, kdo 505 00:22:06,710 --> 00:22:09,060 vem, kaj to počne, kaj bi to izpisal? 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 Točno tako. 510 00:22:18,520 --> 00:22:20,130 Torej, ja, to je samo s ponavljanjem. 511 00:22:20,130 --> 00:22:23,410 i je enaka zero-- se lahko sprehodimo s kodo samo hitro. 512 00:22:23,410 --> 00:22:26,680 i je enak nič, i manj kot tri na tej točki, kajne? 513 00:22:26,680 --> 00:22:27,780 Tako da preveri ven. 514 00:22:27,780 --> 00:22:33,370 In smo rekli, v redu, print f vse, kar je v temperaturi i. 515 00:22:33,370 --> 00:22:37,990 i je nič tukaj, ko smo se prvič Ponovil, da gremo na prvem mestu, 516 00:22:37,990 --> 00:22:40,840 in smo rekli, v redu, 65 je Število želimo natisniti. 517 00:22:40,840 --> 00:22:43,570 Torej bom natisnila 65 nato pa naredite novo linijo. 518 00:22:43,570 --> 00:22:46,550 i bo posodobil, tako da natisne 87. 519 00:22:46,550 --> 00:22:48,780 Spet posodablja, in ga bomo natisniti 30. 520 00:22:48,780 --> 00:22:49,810 521 00:22:49,810 --> 00:22:50,630 Vsi kul? 522 00:22:50,630 --> 00:22:51,630 523 00:22:51,630 --> 00:22:52,130 Super. 524 00:22:52,130 --> 00:22:54,340 525 00:22:54,340 --> 00:22:54,840 >> Vse je v redu. 526 00:22:54,840 --> 00:22:57,710 Torej, tukaj je nekako ena stvar sem rekel, kako 527 00:22:57,710 --> 00:23:00,020 lahko spremljate ocena nekoga in zakaj 528 00:23:00,020 --> 00:23:03,300 bi jih uporabili najprej način za inicializacijo 529 00:23:03,300 --> 00:23:04,890 Namesto tega drugega načina. 530 00:23:04,890 --> 00:23:06,620 In to samo gre skozi. 531 00:23:06,620 --> 00:23:08,945 In opazili, da imamo velikostnem razredu 30. 532 00:23:08,945 --> 00:23:10,690 533 00:23:10,690 --> 00:23:15,770 In smo inicializacijo to array ints, ki je velikosti 30. 534 00:23:15,770 --> 00:23:18,070 In potem smo se ponavljanjem skozi in smo 535 00:23:18,070 --> 00:23:20,910 prosi uporabnika na vhodu ocene za vsakega od njih 536 00:23:20,910 --> 00:23:23,700 in nato dodeljevanjem poseben prostor v pomnilniku 537 00:23:23,700 --> 00:23:24,860 nekje v tej matriki. 538 00:23:24,860 --> 00:23:26,700 539 00:23:26,700 --> 00:23:27,890 Cool? 540 00:23:27,890 --> 00:23:29,650 Ali to smiselno za vsakogar? 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 >> Torej hashtag določiti velikost razreda 30 je Direktiva Predprocesor, 544 00:23:40,360 --> 00:23:43,780 ki pomeni le to, da ima gets-- storiti kot proces, ki pripravlja podatke. 545 00:23:43,780 --> 00:23:47,595 Lahko si misliš o njem kot globalno spremenljivko. 546 00:23:47,595 --> 00:23:49,260 547 00:23:49,260 --> 00:23:53,030 Tako to počnemo, je typically-- omogoča kodo 548 00:23:53,030 --> 00:23:54,770 da se lažje spremeniti. 549 00:23:54,770 --> 00:23:59,480 Torej, recimo, da je naša velikostni razred nenadoma gre 30-15, 550 00:23:59,480 --> 00:24:03,930 če ne bi to definirana na ta način, bi jaz iti preko mojega celotnega programa 551 00:24:03,930 --> 00:24:07,420 in spremenite vsak primerek 30 do 15. 552 00:24:07,420 --> 00:24:11,590 Ampak s tem, sem dobil, da spremenite eno spot, in vse ostalo spremembe. 553 00:24:11,590 --> 00:24:14,930 >> Če si kdaj želeli storiti, hash določiti v primeru, 554 00:24:14,930 --> 00:24:19,020 kam ste sledenja nekateri določeno število točk za razred 555 00:24:19,020 --> 00:24:23,250 ali boste uporabljali več ki bo uporabljen, kot so, 556 00:24:23,250 --> 00:24:27,740 celotnem zelo dolgo programu, je bolje opredeliti, da na začetku 557 00:24:27,740 --> 00:24:34,440 tako da če kdaj ne spremeni, dobiš spremeniti eno mesto namesto 100. 558 00:24:34,440 --> 00:24:34,940 Ja? 559 00:24:34,940 --> 00:24:39,830 >> ŠTUDENT: Med tem, da je, in šele razglasitvi [neslišno] več na vrhu. 560 00:24:39,830 --> 00:24:42,470 >> ALLISON BUCHHOLTZ-AU: Torej ima opraviti z efficient-- 561 00:24:42,470 --> 00:24:45,460 to je nekako izven obsega kaj lahko pokrivajo v tem oddelku. 562 00:24:45,460 --> 00:24:49,236 Treba je narediti več z učinkovitostjo in kako stvari dejansko 563 00:24:49,236 --> 00:24:50,485 delo v procesu, ki pripravlja podatke. 564 00:24:50,485 --> 00:24:52,590 565 00:24:52,590 --> 00:24:55,006 Če želite res vedeti o tem, da sem vesel, da vam pošljemo 566 00:24:55,006 --> 00:24:56,450 email s sredstvi v zvezi z njo. 567 00:24:56,450 --> 00:24:57,810 568 00:24:57,810 --> 00:25:03,880 Hash opredeliti kaže, da je raje stvari. 569 00:25:03,880 --> 00:25:06,380 In kot ste kodo več, vrsta naučiti nianse 570 00:25:06,380 --> 00:25:09,135 kdaj morate uporabiti globalni primerjavi haše opredeliti. 571 00:25:09,135 --> 00:25:11,010 Vendar za zdaj, nimate res 572 00:25:11,010 --> 00:25:13,290 skrbeti, da je da kratek odgovor. 573 00:25:13,290 --> 00:25:15,360 574 00:25:15,360 --> 00:25:16,360 Vsakdo dobro s tem? 575 00:25:16,360 --> 00:25:18,151 In tudi, če hočeš za uporabo hash opredeliti, 576 00:25:18,151 --> 00:25:21,120 to je res pomembno, da obvestilo da bi moralo biti ime v vseh kape. 577 00:25:21,120 --> 00:25:22,210 578 00:25:22,210 --> 00:25:24,674 Nismo samo delaš RAZRED VELIKOSTI biti dramatičen. 579 00:25:24,674 --> 00:25:26,090 To bi bilo dejansko v vseh kape. 580 00:25:26,090 --> 00:25:27,880 581 00:25:27,880 --> 00:25:28,610 Cool. 582 00:25:28,610 --> 00:25:30,130 Karkoli drugega tam? 583 00:25:30,130 --> 00:25:31,190 Mi smo dobri? 584 00:25:31,190 --> 00:25:32,220 Lovely. 585 00:25:32,220 --> 00:25:32,720 Dobrodošli. 586 00:25:32,720 --> 00:25:34,240 587 00:25:34,240 --> 00:25:38,495 >> OK, zato želim vama, da si ogledate na to in videli, če lahko najdete hrošča. 588 00:25:38,495 --> 00:25:45,580 589 00:25:45,580 --> 00:25:46,507 Dam ti namig. 590 00:25:46,507 --> 00:25:47,840 To je nekje v tej za zanko. 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 >> ŠTUDENT: mora biti manjša od enako 2. 594 00:25:55,704 --> 00:25:56,920 595 00:25:56,920 --> 00:26:01,094 >> ALLISON: Torej bi lahko bilo manjše ali enaka 2, ali pa bi se manj kot 3. 596 00:26:01,094 --> 00:26:02,510 In kaj je razloge za to? 597 00:26:02,510 --> 00:26:05,135 >> ŠTUDENT: [neslišen], 0, 1, 2. 598 00:26:05,135 --> 00:26:06,080 >> ALLISON: Točno tako. 599 00:26:06,080 --> 00:26:12,180 Torej v paleto velikosti n, smo le indeksov n minus 1. 600 00:26:12,180 --> 00:26:13,700 601 00:26:13,700 --> 00:26:14,200 Cool. 602 00:26:14,200 --> 00:26:15,091 603 00:26:15,091 --> 00:26:17,840 In potem bomo lahko dobili res noro in dobili večdimenzionalne matrike. 604 00:26:17,840 --> 00:26:19,340 605 00:26:19,340 --> 00:26:23,960 Ena od težav, ko sem ga vzel v moji leto, ki se zahtevajo multi-dimenzionalni nizi 606 00:26:23,960 --> 00:26:28,720 in mislim, da eden od njih lahko zahteva je v letošnjem letu, tako da se udobno. 607 00:26:28,720 --> 00:26:30,140 Zaviti svojo glavo okoli njega zdaj. 608 00:26:30,140 --> 00:26:33,087 To bo prišel nazaj preganjalo vi, ampak na hladnem način. 609 00:26:33,087 --> 00:26:35,420 Tako da lahko res samo pomislite multi-dimenzionalni nizi 610 00:26:35,420 --> 00:26:36,870 kot nizi nizi. 611 00:26:36,870 --> 00:26:38,060 612 00:26:38,060 --> 00:26:43,809 Tako da lahko nekako mislijo o tem zgoraj vrstici kot prvi kos pomnilnika. 613 00:26:43,809 --> 00:26:45,600 In ta je Drugi kos pomnilnika, 614 00:26:45,600 --> 00:26:47,570 in zadnja vrstica Tretji kos pomnilnika. 615 00:26:47,570 --> 00:26:50,740 In znotraj, da obstaja niz. 616 00:26:50,740 --> 00:26:53,250 Ampak seveda, da je lažje upodobiti, kot je ta. 617 00:26:53,250 --> 00:26:55,610 >> Torej si ga inicializirati na enak način. 618 00:26:55,610 --> 00:26:57,290 619 00:26:57,290 --> 00:27:01,610 To je znak odbor izmed treh s tri. 620 00:27:01,610 --> 00:27:04,180 Torej imate tri vrstice in trije stolpci. 621 00:27:04,180 --> 00:27:06,760 Mi smo ga predstavlja ta način. 622 00:27:06,760 --> 00:27:11,800 In ti bi jo tudi dostop enak način, stolpec z zapored. 623 00:27:11,800 --> 00:27:14,840 In tako 1,1 kot vidimo tukaj. 624 00:27:14,840 --> 00:27:18,730 Mi dodeliti nič, nič tam. 625 00:27:18,730 --> 00:27:21,900 2,0 in 0,2. 626 00:27:21,900 --> 00:27:26,900 Torej bi samo dostop them-- če kdo je kdaj naredil linearno algebro, 627 00:27:26,900 --> 00:27:31,580 enak način lahko dostopate element v matrice, je ista ideja tukaj. 628 00:27:31,580 --> 00:27:33,030 Tako da lahko nanaša nazaj na matematiki. 629 00:27:33,030 --> 00:27:34,130 630 00:27:34,130 --> 00:27:36,380 Vam ni treba skrbeti preveč toliko o tem zdaj. 631 00:27:36,380 --> 00:27:38,671 To je dobro, da so izpostavljenosti, vedeti, da lahko to storite. 632 00:27:38,671 --> 00:27:42,700 Lahko ustvarite nekaj crazy number-- lahko 633 00:27:42,700 --> 00:27:44,750 ustvariti noro nizi se Vse bom povedal. 634 00:27:44,750 --> 00:27:45,250 [Neslišno] 635 00:27:45,250 --> 00:27:46,585 636 00:27:46,585 --> 00:27:48,460 To postane malce nor, ampak to je res kul. 637 00:27:48,460 --> 00:27:50,020 638 00:27:50,020 --> 00:27:50,670 Super. 639 00:27:50,670 --> 00:27:52,550 >> In potem, da imamo primer tukaj. 640 00:27:52,550 --> 00:27:54,165 Izračunava dolžino niza. 641 00:27:54,165 --> 00:27:55,210 642 00:27:55,210 --> 00:27:59,670 Torej, koliko ljudi je vedel, da strune, da ste z uporabo 643 00:27:59,670 --> 00:28:01,265 so le nizi znakov? 644 00:28:01,265 --> 00:28:03,670 645 00:28:03,670 --> 00:28:04,655 OK, ja. 646 00:28:04,655 --> 00:28:08,000 Torej vi lahko mislite, da niste Rabljeni nizi prej, vendar kadarkoli 647 00:28:08,000 --> 00:28:10,740 uporabljate getstring v CSView knjižnica, ste 648 00:28:10,740 --> 00:28:14,690 pravzaprav le prosi za nabor znakov. 649 00:28:14,690 --> 00:28:17,450 In smo skrb za vse da je v back-end za vas. 650 00:28:17,450 --> 00:28:20,184 Ampak ste bili z uporabo nizi, odkar ste začeli. 651 00:28:20,184 --> 00:28:21,350 Pravkar ste si ga še ne vem. 652 00:28:21,350 --> 00:28:22,420 653 00:28:22,420 --> 00:28:28,390 >> In ko ste niz znakov ali niz, ki je shranjevanje niz, 654 00:28:28,390 --> 00:28:32,050 Zadnja stvar, ki je vedno kaj imenovana ničelna terminator, ki 655 00:28:32,050 --> 00:28:33,830 je to prav tukaj. 656 00:28:33,830 --> 00:28:37,300 In da je na koncu vsaka beseda, ki ste shranjevanje. 657 00:28:37,300 --> 00:28:41,170 Torej, če želimo, da ugotovimo, dolžina niza, lahko rečemo, 658 00:28:41,170 --> 00:28:45,320 no, saj veš, vsebina tega bloka, 659 00:28:45,320 --> 00:28:46,867 ni enaka naši null terminator. 660 00:28:46,867 --> 00:28:49,450 To pomeni, da obstaja znak je, da smo dejansko 661 00:28:49,450 --> 00:28:51,540 skrbi, da je del besede. 662 00:28:51,540 --> 00:28:52,665 Boste povečali dolžino. 663 00:28:52,665 --> 00:28:55,540 In potem, ko smo dejansko prišli do konec besede, bo to prekine 664 00:28:55,540 --> 00:28:58,790 in da bomo vrnili našo dolžino za nas. 665 00:28:58,790 --> 00:29:00,098 Mmhmm? 666 00:29:00,098 --> 00:29:02,906 >> ŠTUDENT: Ali prostor štejeta kot null terminator? 667 00:29:02,906 --> 00:29:04,780 ALLISON: Torej, prostor je ni ničen terminator. 668 00:29:04,780 --> 00:29:10,590 Torej, če ste multiple-- imate prostor je dejansko poseben ASCII vrednost. 669 00:29:10,590 --> 00:29:11,719 670 00:29:11,719 --> 00:29:13,552 ŠTUDENT: Kaj je Klicaj spet enako? 671 00:29:13,552 --> 00:29:17,080 ALLISON: Torej, to je tisto, kar ste se nanašajo na. 672 00:29:17,080 --> 00:29:21,220 Če ste kdaj me slišiš v uradnih urah, Vedno sem ga poklical, kot, bang enaka. 673 00:29:21,220 --> 00:29:23,520 Torej, pok ni. 674 00:29:23,520 --> 00:29:25,370 Tako da to ni enako. 675 00:29:25,370 --> 00:29:28,480 676 00:29:28,480 --> 00:29:32,290 Torej, če ste poskušali vidim, če je nekaj false, 677 00:29:32,290 --> 00:29:35,915 veš vedno delati, bang karkoli spremenljivka, in če je napačna, 678 00:29:35,915 --> 00:29:38,540 je ovrednoten kot resničen in vam lahko narediš kul stvari s tem. 679 00:29:38,540 --> 00:29:39,830 680 00:29:39,830 --> 00:29:40,675 Več o tem kasneje. 681 00:29:40,675 --> 00:29:42,090 682 00:29:42,090 --> 00:29:42,590 Cool. 683 00:29:42,590 --> 00:29:44,260 Vse, kar je dobro? 684 00:29:44,260 --> 00:29:44,760 Super. 685 00:29:44,760 --> 00:29:48,045 >> Torej, zdaj je čas, vaše moškosti, da delo, saj sem že govoril. 686 00:29:48,045 --> 00:29:49,220 687 00:29:49,220 --> 00:29:53,200 Torej, želim si, da bi tudi ustvarili niz s števil ena, dva, tri, 688 00:29:53,200 --> 00:29:54,660 nato pa so jih natisne. 689 00:29:54,660 --> 00:29:58,050 Vam ni treba storiti, kot so, Glavno, bla, bla, bla, karkoli. 690 00:29:58,050 --> 00:30:00,840 Želim samo, da bi začeli niz in nato ustvarite 691 00:30:00,840 --> 00:30:04,790 zanko, da jih natisnete out-- ali while zanko, do vas. 692 00:30:04,790 --> 00:30:07,600 >> Bom dal par minut, da delajo na tem. 693 00:30:07,600 --> 00:30:09,320 Jaz grem na počitek moj glas. 694 00:30:09,320 --> 00:30:13,290 Če imate kakršnakoli vprašanja, sem srečen da pridejo okoli in govoriti z vami. 695 00:30:13,290 --> 00:30:15,290 Vas prosimo, da se pogovorite s seboj. 696 00:30:15,290 --> 00:30:16,125 Pridobite več sladkarij. 697 00:30:16,125 --> 00:30:17,181 698 00:30:17,181 --> 00:30:18,930 V resnici, bom samo hodi okoli z sladkarije. 699 00:30:18,930 --> 00:30:19,600 Kako pa je to? 700 00:30:19,600 --> 00:30:22,974 701 00:30:22,974 --> 00:30:23,938 >> Želite koli? 702 00:30:23,938 --> 00:30:34,703 703 00:30:34,703 --> 00:30:36,675 Kdorkoli v tej sobi rad sladkarije? 704 00:30:36,675 --> 00:30:47,030 705 00:30:47,030 --> 00:30:49,206 Prav tako lahko traja več kot eno, fantje. 706 00:30:49,206 --> 00:30:50,330 Vzemite pest, če želite. 707 00:30:50,330 --> 00:30:52,690 708 00:30:52,690 --> 00:30:53,190 Lahko pa tudi. 709 00:30:53,190 --> 00:30:54,929 710 00:30:54,929 --> 00:30:55,720 Vsi ostali so v redu? 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 >> Prav, bom ustvariti anonimni Google Form, 715 00:31:07,290 --> 00:31:09,830 in vi lahko samo predložijo povratne informacije po vsakem oddelku 716 00:31:09,830 --> 00:31:14,115 če obstaja nekaj, kar si želiš izboljšujejo ali kaj želite storiti. 717 00:31:14,115 --> 00:31:17,135 Če sem malo preveč peppy za vas, ga lahko omilijo. 718 00:31:17,135 --> 00:31:18,510 719 00:31:18,510 --> 00:31:20,885 Bom, da ustvarite in pošljete, da da se vam vsem tem. 720 00:31:20,885 --> 00:32:39,420 721 00:32:39,420 --> 00:32:40,020 >> Vse je v redu. 722 00:32:40,020 --> 00:32:41,050 Torej začnimo majhna. 723 00:32:41,050 --> 00:32:42,740 Kako bi inicializacijo našo paleto? 724 00:32:42,740 --> 00:32:49,690 725 00:32:49,690 --> 00:32:51,670 Kaj je tip našega paleto? 726 00:32:51,670 --> 00:32:52,410 Int, kajne? 727 00:32:52,410 --> 00:32:54,740 OK, pa kaj hočeš da pokličete svoj niz? 728 00:32:54,740 --> 00:32:57,880 729 00:32:57,880 --> 00:32:59,230 Int matrika, cool. 730 00:32:59,230 --> 00:33:04,200 Vse je v redu, tako da imamo int int niz enaka, in kaj imamo potem? 731 00:33:04,200 --> 00:33:07,009 732 00:33:07,009 --> 00:33:08,259 ŠTUDENT: [neslišno] oklepaji. 733 00:33:08,259 --> 00:33:09,140 ALLISON: Naramnice. 734 00:33:09,140 --> 00:33:10,330 735 00:33:10,330 --> 00:33:11,775 In nato znotraj oklepajev? 736 00:33:11,775 --> 00:33:14,360 737 00:33:14,360 --> 00:33:16,830 Ena vejica vejica dva tri. 738 00:33:16,830 --> 00:33:17,330 Cool. 739 00:33:17,330 --> 00:33:18,660 Tako, da je vse v redu. 740 00:33:18,660 --> 00:33:21,480 Torej, zdaj imamo zanko. 741 00:33:21,480 --> 00:33:24,180 Torej, v prvem delu našega zanke, kaj imamo? 742 00:33:24,180 --> 00:33:25,796 743 00:33:25,796 --> 00:33:27,420 >> ŠTUDENT: i je enak 0? 744 00:33:27,420 --> 00:33:31,400 >> ALLISON: Torej int i enak 0, in kaj potem je naše stanje? 745 00:33:31,400 --> 00:33:33,750 746 00:33:33,750 --> 00:33:36,120 Kaj je i bo manj kot? 747 00:33:36,120 --> 00:33:39,510 Manj kot tri, in kako se bomo posodobiti i? 748 00:33:39,510 --> 00:33:41,630 i plus plus, ga posodobiti po enega. 749 00:33:41,630 --> 00:33:46,150 In potem bomo imeli nekatere printf na celo število, 750 00:33:46,150 --> 00:33:49,530 in kaj je to zadnja Del, ki je dejansko 751 00:33:49,530 --> 00:33:51,370 reči, kaj bi bilo treba tiskati? 752 00:33:51,370 --> 00:33:55,610 753 00:33:55,610 --> 00:33:59,120 Bilo bi ime matrika, ki je int matrika, kajne? 754 00:33:59,120 --> 00:34:01,090 In kaj je v oklepajih int paleto? 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 [? Torej jaz?] Pozval my Na primer, vendar pa greste. 758 00:34:06,550 --> 00:34:07,939 759 00:34:07,939 --> 00:34:08,480 Ni tako slabo. 760 00:34:08,480 --> 00:34:09,250 Vsi dobro? 761 00:34:09,250 --> 00:34:10,220 762 00:34:10,220 --> 00:34:10,719 Cool. 763 00:34:10,719 --> 00:34:12,949 764 00:34:12,949 --> 00:34:14,340 >> Tako smo končali z nizi. 765 00:34:14,340 --> 00:34:15,190 Čestitke. 766 00:34:15,190 --> 00:34:18,274 Vam je uspelo ponoviti skozi vse the-- ja? 767 00:34:18,274 --> 00:34:19,705 >> ŠTUDENT: [neslišno] 768 00:34:19,705 --> 00:34:20,659 >> ALLISON: Da. 769 00:34:20,659 --> 00:34:26,383 770 00:34:26,383 --> 00:34:27,798 >> ŠTUDENT: Imam vprašanje. 771 00:34:27,798 --> 00:34:30,288 Se moraš zamakniti elastične trakove? 772 00:34:30,288 --> 00:34:34,150 >> ALLISON: Torej morajo oporniki line up s za zanko, nato pa vsem 773 00:34:34,150 --> 00:34:35,699 notri je treba oporniki zamaknjeni. 774 00:34:35,699 --> 00:34:37,824 >> ŠTUDENT: OK, naj za zanke zamaknjen? 775 00:34:37,824 --> 00:34:41,159 >> ALLISON: zanke ne Treba je zamaknjena na tej točki. 776 00:34:41,159 --> 00:34:46,750 Če ste bili v glavnem, če bomo dejansko še eno glavno funkcijo tod 777 00:34:46,750 --> 00:34:48,929 da bi zamaknjeni od glavnega. 778 00:34:48,929 --> 00:34:52,590 Toda v tem primeru, to je v redu. 779 00:34:52,590 --> 00:34:53,354 Ja, vprašanje. 780 00:34:53,354 --> 00:34:55,687 >> ŠTUDENT: Ali morate imeti oglatih oklepajih primer? 781 00:34:55,687 --> 00:34:59,050 782 00:34:59,050 --> 00:35:01,260 >> ALLISON: Da, če ste inicializacijo tako. 783 00:35:01,260 --> 00:35:03,430 784 00:35:03,430 --> 00:35:06,860 Torej zapomni, to je druga način inicializacijo paleto kjer 785 00:35:06,860 --> 00:35:10,680 imamo naramnice in nato naša dejanska Podatki so ločeni z vejicami znotraj. 786 00:35:10,680 --> 00:35:14,700 787 00:35:14,700 --> 00:35:17,281 >> ŠTUDENT: Mislil sem, da je bilo nosilci za ta primer. 788 00:35:17,281 --> 00:35:19,010 >> ALLISON: Ne, oni so naramnice. 789 00:35:19,010 --> 00:35:20,039 Oni naramnice. 790 00:35:20,039 --> 00:35:22,330 Če ste inicializacijo da je drugi način, da je zobni aparat. 791 00:35:22,330 --> 00:35:28,780 Če bi rekli, int example-- če smo samo želeli prazen niz za ints, 792 00:35:28,780 --> 00:35:32,270 bi bilo int primer nosilce tri. 793 00:35:32,270 --> 00:35:34,670 Oklepaji predstavljajo velikost. 794 00:35:34,670 --> 00:35:36,720 Ko imate naramnice, to je dejanski podatki 795 00:35:36,720 --> 00:35:39,244 ste dajanje v njej na ta način. 796 00:35:39,244 --> 00:35:40,535 Mi lahko pomikate nazaj zelo hitro. 797 00:35:40,535 --> 00:35:42,370 798 00:35:42,370 --> 00:35:48,010 >> Torej v tem enega, to je samo naše začetna matrika, inicializacija. 799 00:35:48,010 --> 00:35:51,640 In tukaj smo posamično dodeljevanje lise na njih, 800 00:35:51,640 --> 00:35:56,730 tako da to predstavlja indeks naše matrika, ki je, zakaj imamo nosilce. 801 00:35:56,730 --> 00:36:01,630 Ampak tukaj, če opazite, ki smo jih zapustil svoje oklepaje brez velikosti, 802 00:36:01,630 --> 00:36:05,969 in mi ga zažene z Dejanski podatki, vse-v-enem z naramnicami. 803 00:36:05,969 --> 00:36:08,260 ŠTUDENT: Torej, zakaj ne bomo imeli oklepaj v tem primeru? 804 00:36:08,260 --> 00:36:11,030 ALLISON: Torej, v katerem delu? 805 00:36:11,030 --> 00:36:14,645 ŠTUDENT: Ali ne bi mi Recimo, int primer nosilci 806 00:36:14,645 --> 00:36:19,710 je enaka naramnice [neslišno] nosilci za primer. 807 00:36:19,710 --> 00:36:20,900 >> ALLISON: Oh, oprostite. 808 00:36:20,900 --> 00:36:21,560 Prav imaš. 809 00:36:21,560 --> 00:36:22,690 Imamo oklepajev tam. 810 00:36:22,690 --> 00:36:23,486 Žal fantje, moja slaba. 811 00:36:23,486 --> 00:36:25,150 812 00:36:25,150 --> 00:36:27,560 Ja, morate imeti oklepajih npr. 813 00:36:27,560 --> 00:36:28,850 Vi ste popolnoma prav. 814 00:36:28,850 --> 00:36:29,750 >> ŠTUDENT: [neslišno] ne delam. 815 00:36:29,750 --> 00:36:31,270 >> ALLISON: Ne, moraš imeti nosilci, ker drugače nje je 816 00:36:31,270 --> 00:36:32,810 ne bo razglasila za niz. 817 00:36:32,810 --> 00:36:33,685 ŠTUDENT: [neslišno]. 818 00:36:33,685 --> 00:36:34,200 Žal mi je zaradi tega. 819 00:36:34,200 --> 00:36:36,200 >> ALLISON: Oprostite, morate oklepajih npr. 820 00:36:36,200 --> 00:36:36,620 821 00:36:36,620 --> 00:36:37,120 Slovnične napake. 822 00:36:37,120 --> 00:36:40,650 823 00:36:40,650 --> 00:36:43,160 Dober ulov, zlata zvezda za vas. 824 00:36:43,160 --> 00:36:47,730 Tudi, če se sprašujem, če je vidva bi mi samo povej svoje ime, 825 00:36:47,730 --> 00:36:48,570 Rad bi, da je. 826 00:36:48,570 --> 00:36:50,630 Rada bi, da bi lahko vedo vse svoje ime. 827 00:36:50,630 --> 00:36:53,187 Ne grem na mraz klicu, sem dejansko 828 00:36:53,187 --> 00:36:54,520 ne samo želim, da poznate svoje ime. 829 00:36:54,520 --> 00:36:57,530 Zato vas prosimo, pravzaprav mi povejte imena. 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, tako functions-- vem na kratko so se pogovarjali o tem med predavanjem. 833 00:37:03,960 --> 00:37:07,590 Torej funkcije so nekako le kot ti malo ugriz velikih stvari 834 00:37:07,590 --> 00:37:11,525 kjer se boste peljali v vložke, nekaj čarobna zgodi, in dobiš rezultate. 835 00:37:11,525 --> 00:37:12,680 836 00:37:12,680 --> 00:37:13,180 Cool. 837 00:37:13,180 --> 00:37:15,013 Torej si dejansko uporablja Veliko jih je že. 838 00:37:15,013 --> 00:37:15,970 839 00:37:15,970 --> 00:37:18,840 Get int, dobili niz, tiskanje f. 840 00:37:18,840 --> 00:37:21,790 To so vse funkcije kjer jih samo pokliči, 841 00:37:21,790 --> 00:37:24,370 tam je veliko čarobnih stvari dogaja v ozadju 842 00:37:24,370 --> 00:37:27,390 da ne boste vedno videli, in dobiš ven tisto, kar želite. 843 00:37:27,390 --> 00:37:30,280 Ali vsaj dobiš tisto, kar upam, da boste želeli. 844 00:37:30,280 --> 00:37:31,920 845 00:37:31,920 --> 00:37:35,620 >> In v bistvu točka funkcij, in ena od glavnih tem CS, 846 00:37:35,620 --> 00:37:38,700 je, da bi prekinil svojo kodo v obvladljive kose. 847 00:37:38,700 --> 00:37:41,520 Ko začnete pisati ti res dolge programe, 848 00:37:41,520 --> 00:37:44,970 ali v Scratch, ko ste imeli ta grand ideja za igro, 849 00:37:44,970 --> 00:37:48,070 morate biti mogla zlomiti navzdol, kot, OK, kako naj začnem? 850 00:37:48,070 --> 00:37:50,470 Kakšne so majhne kose, ki sem jih? 851 00:37:50,470 --> 00:37:53,320 Oh, moram vprašati si za nekaj. 852 00:37:53,320 --> 00:37:54,830 Zdaj moram natisniti nekaj. 853 00:37:54,830 --> 00:37:56,590 Oh, rabim za izračun te vrednosti. 854 00:37:56,590 --> 00:38:00,050 >> In se naučiti, kako se zlomijo vaš Koda in velika vas težave 855 00:38:00,050 --> 00:38:02,740 imajo v te majhne koščke in ustvarjanje funkcij 856 00:38:02,740 --> 00:38:05,330 je dejansko eden veliki stebri CS. 857 00:38:05,330 --> 00:38:06,440 858 00:38:06,440 --> 00:38:11,740 Torej si lahko zamislite funkcije, prav tako kot kot črno škatlo, čarobna black box, 859 00:38:11,740 --> 00:38:15,030 da si dal stvari v in boste dobili nekaj izhod. 860 00:38:15,030 --> 00:38:16,290 861 00:38:16,290 --> 00:38:19,460 In ostali program ni treba nujno vedeti 862 00:38:19,460 --> 00:38:21,150 kaj se dogaja v tej črni škatli. 863 00:38:21,150 --> 00:38:24,190 Vse to briga je kaj gre v in kaj pride ven. 864 00:38:24,190 --> 00:38:26,230 865 00:38:26,230 --> 00:38:26,730 Cool. 866 00:38:26,730 --> 00:38:27,820 >> Torej, zakaj deluje? 867 00:38:27,820 --> 00:38:33,240 Organization-- kot sem rekel, ko si ki se ukvarjajo z zelo velikimi kode baz, 868 00:38:33,240 --> 00:38:37,357 kako si organizirati kodo bo veliko lažje, če boste uporabili funkcije. 869 00:38:37,357 --> 00:38:39,190 Ker morda ne boste mogli da so, kot so, je to OK, 870 00:38:39,190 --> 00:38:41,849 je tisto, kar ta funkcija počne in Tukaj je tisto, kar še eden ne. 871 00:38:41,849 --> 00:38:43,890 In lahko enostavno videli kako so vsi fit skupaj. 872 00:38:43,890 --> 00:38:45,590 873 00:38:45,590 --> 00:38:48,210 Torej je razstavljanje v vse ti obvladljive poddela. 874 00:38:48,210 --> 00:38:51,860 >> Torej simplification-- Prepričan sem, da fantje vse to videl, kot sem rekel, z Scratch. 875 00:38:51,860 --> 00:38:53,230 876 00:38:53,230 --> 00:38:56,790 Imate to grand idejo, in ste všeč, kako se vse to delo? 877 00:38:56,790 --> 00:38:59,710 Toda, če je pristop kosih, ste rekli, v redu, 878 00:38:59,710 --> 00:39:03,650 kako narediti eno sprite plavajo po zaslonu? 879 00:39:03,650 --> 00:39:04,805 To je malo lažje. 880 00:39:04,805 --> 00:39:06,000 881 00:39:06,000 --> 00:39:09,590 Tako dobra, uporaba funkcijskih znamk kodo precej lažje brati. 882 00:39:09,590 --> 00:39:13,800 To je lažje za odpravljanje napak, ki kot boste dobili v vaših kasnejših problemskih sklopov, 883 00:39:13,800 --> 00:39:15,900 boš res želijo biti sposoben narediti. 884 00:39:15,900 --> 00:39:17,900 In oni so tudi lažje za načrtovanje in izvajanje. 885 00:39:17,900 --> 00:39:21,100 Lahko kodo up majhna deluje razmeroma hitro 886 00:39:21,100 --> 00:39:25,260 in se prepričajte, da deluje proti poskuša ustvariti vso to dolgo programa 887 00:39:25,260 --> 00:39:28,960 in potem nekako šel skozi in vidim, kaj je delo in kaj ne. 888 00:39:28,960 --> 00:39:30,300 >> In nato ponovno uporabnost. 889 00:39:30,300 --> 00:39:33,380 Torej funkcije potrebujejo le biti napisana enkrat, 890 00:39:33,380 --> 00:39:35,586 in potem jih lahko uporabite tolikokrat, kot je mogoče. 891 00:39:35,586 --> 00:39:37,210 Torej, to je, kot, okolju prijazno, v nekem smislu. 892 00:39:37,210 --> 00:39:39,660 893 00:39:39,660 --> 00:39:42,070 Če ste imeli stvari, kot so print f, kjer vas 894 00:39:42,070 --> 00:39:47,420 moral napisati ven čarobnost, ki gre od zadaj tiskanje f vsak čas 895 00:39:47,420 --> 00:39:51,040 ste želeli natisniti nekaj, vi bi bila zelo bolna in utrujena od tega 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 >> Ena od stvari, ki jih boste učijo na kasnejše CS razrede, 899 00:39:55,292 --> 00:39:57,000 ali je eden od najbolje nasvetov dobim 900 00:39:57,000 --> 00:40:00,870 je, če ste kopiranjem in lepljenjem Koda, bi bilo verjetno funkcija. 901 00:40:00,870 --> 00:40:01,880 902 00:40:01,880 --> 00:40:06,007 Če imate točno isto linije vse skozi svojo kodo, 903 00:40:06,007 --> 00:40:08,090 če jih vključeno ven, kodo bi verjetno 904 00:40:08,090 --> 00:40:11,860 biti, tako kot petkrat krajša in veliko bolj enostaven za branje. 905 00:40:11,860 --> 00:40:15,230 In namesto da bi poskušali odpraviti vsi ti različni kraji, kjer se stvari 906 00:40:15,230 --> 00:40:18,021 bi lahko šlo narobe, imate eno funkcijo da dobiš odpraviti. 907 00:40:18,021 --> 00:40:19,230 908 00:40:19,230 --> 00:40:21,890 In obljubim, veliko o tem Morda se zdi nekakšen abstrakten zdaj, 909 00:40:21,890 --> 00:40:24,620 ampak kot ste dobili v kasneje in kasneje problem določa, 910 00:40:24,620 --> 00:40:28,950 da bom lahko veliko bolj smiselno in se res vozi domov. 911 00:40:28,950 --> 00:40:31,775 Ali obstajajo vprašanja o funkcijah tako daleč? 912 00:40:31,775 --> 00:40:32,650 Zakaj smo jih uporabljate? 913 00:40:32,650 --> 00:40:34,775 Vem, da še ni prišel v gnjidama kašaste še. 914 00:40:34,775 --> 00:40:40,610 Tako opredeljuje function-- tako kot nizi, potrebujemo nekakšen of-- to 915 00:40:40,610 --> 00:40:41,860 je samo splošna izhod. 916 00:40:41,860 --> 00:40:45,110 Torej je to funkcija, ki je le, da bo kocko nekaj vhod. 917 00:40:45,110 --> 00:40:50,120 In na naslednji strani, pravzaprav imamo vsi ti super tukaj malo stvari. 918 00:40:50,120 --> 00:40:52,420 Tako da lahko vsakdo bere da, iz radovednosti? 919 00:40:52,420 --> 00:40:55,050 Vem, vijolični in črni barvi morda malo težko. 920 00:40:55,050 --> 00:41:00,730 >> Vendar velike stvari know-- tako prva ena tukaj je naša vrsta donos. 921 00:41:00,730 --> 00:41:05,270 Zato je ta govoril o izhodu te funkcije, kadar so v tem primeru, 922 00:41:05,270 --> 00:41:08,990 smo se v nekem številu, kaj smo dobili, da je število kubikov. 923 00:41:08,990 --> 00:41:11,090 Torej mora biti int v tem primeru. 924 00:41:11,090 --> 00:41:14,055 Mogoče bi bilo dvojno ali nekaj drugega kasneje, vendar v tem primeru, 925 00:41:14,055 --> 00:41:14,555 je int. 926 00:41:14,555 --> 00:41:15,620 927 00:41:15,620 --> 00:41:19,440 >> Sc, morate vedno vrsto donosa. 928 00:41:19,440 --> 00:41:20,267 To bo int. 929 00:41:20,267 --> 00:41:20,975 To bo float. 930 00:41:20,975 --> 00:41:22,180 To bo dvojno. 931 00:41:22,180 --> 00:41:25,370 Vendar morate navesti, kaj Ta funkcija se bo vrnil. 932 00:41:25,370 --> 00:41:26,480 933 00:41:26,480 --> 00:41:29,170 V nasprotnem primeru bo to vpij vi, in to ne bo sestavil. 934 00:41:29,170 --> 00:41:30,462 Boste žalostni, in bom žalosten. 935 00:41:30,462 --> 00:41:31,420 In to je samo ni dobro. 936 00:41:31,420 --> 00:41:31,940 OK. 937 00:41:31,940 --> 00:41:34,290 >> In potem imamo ime funkcije. 938 00:41:34,290 --> 00:41:38,440 In kot lahko vidite tukaj, sc tam je to zelo dosledna paradigma. 939 00:41:38,440 --> 00:41:42,630 Kakšen je tvoj tip, kaj je ime, in še nekaj drugih stvari konec. 940 00:41:42,630 --> 00:41:45,550 Tako imamo vrsto vrednosti, naše ime funkcije, in nato 941 00:41:45,550 --> 00:41:49,320 imamo glavo z naš seznam parametrov. 942 00:41:49,320 --> 00:41:52,080 >> Tako da seznam parametrov je, kaj je To funkcijo bo trajalo leta? 943 00:41:52,080 --> 00:41:56,360 Seznam parametrov je preprosto sinonim, kakšni so naši vložki? 944 00:41:56,360 --> 00:42:00,230 In na enak način, da smo definirati našo funkcijo 945 00:42:00,230 --> 00:42:03,210 in njeno vrnitev tip, vsak od naših vložkov 946 00:42:03,210 --> 00:42:05,350 mora imeti tip povezan z njo. 947 00:42:05,350 --> 00:42:08,850 Torej vemo, kaj je naša naloga lahko dejansko delati. 948 00:42:08,850 --> 00:42:11,290 >> Torej, v tem primeru imamo nekaj int vhod. 949 00:42:11,290 --> 00:42:14,660 Torej še enkrat, bo to tip in kaj ste ga kliče. 950 00:42:14,660 --> 00:42:16,500 951 00:42:16,500 --> 00:42:19,040 In potem, kot vidite Tukaj imamo naše telo. 952 00:42:19,040 --> 00:42:23,600 Torej imamo nekaj int izhod, da je le nekaj naših vhodnih sama krat 953 00:42:23,600 --> 00:42:25,810 krat sam, ki ga je pravkar kocke. 954 00:42:25,810 --> 00:42:27,610 In potem smo se vrnili, da je izhod. 955 00:42:27,610 --> 00:42:32,140 >> Torej, kot vidite, imamo int krat notr krat int, 956 00:42:32,140 --> 00:42:35,420 tako da vrne int, ki je bila tam razglašena. 957 00:42:35,420 --> 00:42:38,240 Torej vse, kar je kohezivna. 958 00:42:38,240 --> 00:42:39,210 Vse, kar je srečen. 959 00:42:39,210 --> 00:42:40,250 Tvoja naloga bo deloval. 960 00:42:40,250 --> 00:42:41,192 961 00:42:41,192 --> 00:42:42,650 In to je samo splošno stvar. 962 00:42:42,650 --> 00:42:46,750 Torej vedno imeti vrsto vrednosti, ime, in vaš seznam parametrov. 963 00:42:46,750 --> 00:42:48,830 Vsaka stvar v vašem seznam parametrov, ali vhod, 964 00:42:48,830 --> 00:42:51,410 mora imeti tip povezan z njo. 965 00:42:51,410 --> 00:42:54,210 In potem imate telo tukaj, z vsemi 966 00:42:54,210 --> 00:42:55,590 želite storiti s svojim vhodom. 967 00:42:55,590 --> 00:42:57,390 968 00:42:57,390 --> 00:43:00,410 >> In potem seveda vam želijo vrniti nekaj. 969 00:43:00,410 --> 00:43:02,630 Včasih deluje samo vrnitev. 970 00:43:02,630 --> 00:43:06,090 Dejansko ne vrnejo nekaj za vas, da uporabite. 971 00:43:06,090 --> 00:43:08,660 Vendar boste morali vrniti na nek način. 972 00:43:08,660 --> 00:43:12,900 In ko delaš lastne funkcije, 973 00:43:12,900 --> 00:43:15,430 bomo lahko dobili v to malo globlje. 974 00:43:15,430 --> 00:43:18,880 Osebno, če želite, obstaja veliko različnih stvari bi lahko naredil tam. 975 00:43:18,880 --> 00:43:21,350 976 00:43:21,350 --> 00:43:22,140 Vsi dobro? 977 00:43:22,140 --> 00:43:25,900 Kaj na tem seznamu, da si me želiš iti čez, da nisi razumel? 978 00:43:25,900 --> 00:43:27,204 979 00:43:27,204 --> 00:43:28,120 Vsakdo je dobro tam? 980 00:43:28,120 --> 00:43:29,071 981 00:43:29,071 --> 00:43:29,570 Cool. 982 00:43:29,570 --> 00:43:31,350 983 00:43:31,350 --> 00:43:32,120 Super. 984 00:43:32,120 --> 00:43:34,700 >> OK, tako da smo dajanje vse to skupaj zdaj. 985 00:43:34,700 --> 00:43:35,720 986 00:43:35,720 --> 00:43:41,201 Torej imamo nekaj vhod int kock, tako To je popoln program tukaj. 987 00:43:41,201 --> 00:43:42,950 Do sedaj sem imel nekako so vam daje 988 00:43:42,950 --> 00:43:45,699 fantje odrezke, ki bi lahko se bo v okviru programa. 989 00:43:45,699 --> 00:43:47,240 Smo pravkar gledaš funkcij. 990 00:43:47,240 --> 00:43:48,448 Ampak tukaj je celoten program. 991 00:43:48,448 --> 00:43:49,400 992 00:43:49,400 --> 00:43:53,690 Torej, koliko vas spomnim Beseda prototip iz predavanja? 993 00:43:53,690 --> 00:43:54,750 994 00:43:54,750 --> 00:43:55,300 Cool. 995 00:43:55,300 --> 00:43:55,890 Imamo enega. 996 00:43:55,890 --> 00:43:57,160 997 00:43:57,160 --> 00:43:58,110 Kako ti je ime? 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 Torej, se spomnite, kaj prototip? 1002 00:44:03,310 --> 00:44:04,651 1003 00:44:04,651 --> 00:44:10,230 >> ŠTUDENT: Pravite [neslišno] preden ste dejansko ukvarjajo z njim. 1004 00:44:10,230 --> 00:44:11,700 >> ALLISON: Se spomniš zakaj? 1005 00:44:11,700 --> 00:44:13,158 >> STUDENT: No. 1006 00:44:13,158 --> 00:44:14,620 >> ALLISON: OK. 1007 00:44:14,620 --> 00:44:16,090 Zlata zvezda. 1008 00:44:16,090 --> 00:44:19,470 Torej, ja, prototip imamo vnaprej, ker drugače, 1009 00:44:19,470 --> 00:44:21,260 naš prevajalnik bo kričati na nas. 1010 00:44:21,260 --> 00:44:24,294 To se dogaja, da se reči, OK, kaj je ta funkcija kocke? 1011 00:44:24,294 --> 00:44:26,460 Všeč mi je, imate dobesedno mi je povedal ničesar o tem. 1012 00:44:26,460 --> 00:44:28,110 To je tako, kot če vas hodi v razredu, 1013 00:44:28,110 --> 00:44:29,320 in kdo je kot, tam je kviza danes. 1014 00:44:29,320 --> 00:44:31,380 In si želite, Nikoli mi je povedal o tem. 1015 00:44:31,380 --> 00:44:32,930 Nisem zadovoljen z nami. 1016 00:44:32,930 --> 00:44:34,300 1017 00:44:34,300 --> 00:44:37,020 Prototip je v bistvu všeč svoj učni rekel, poglej. 1018 00:44:37,020 --> 00:44:37,900 Glave gor. 1019 00:44:37,900 --> 00:44:39,570 Tam se bo kviz na ta dan. 1020 00:44:39,570 --> 00:44:41,420 Ne znorel, ko prideš do njega. 1021 00:44:41,420 --> 00:44:42,690 Boš v redu. 1022 00:44:42,690 --> 00:44:48,170 >> Tako da vse prototip pa je povedal, Glavno, da bom uporabljati to funkcijo. 1023 00:44:48,170 --> 00:44:51,010 Obljubim, da jo bom opredelitvi kasneje. 1024 00:44:51,010 --> 00:44:52,260 Ne znorel vame. 1025 00:44:52,260 --> 00:44:54,750 Samo zbrati in to, kar sem vam povedal, da. 1026 00:44:54,750 --> 00:44:58,880 Torej imamo prototip tam samo zato, da bi naše prevajalnik srečna. 1027 00:44:58,880 --> 00:45:04,360 In to je v bistvu obljuba, da ki ste jo določili ta funkcija pozneje 1028 00:45:04,360 --> 00:45:07,960 in da ste ne samo kliče to random stvar, ki ji 1029 00:45:07,960 --> 00:45:10,070 ne vem, kaj ste da se delaš. 1030 00:45:10,070 --> 00:45:11,910 >> Torej, v tem primeru imamo glavni tukaj. 1031 00:45:11,910 --> 00:45:14,660 Mi inicializirati neko celo število x. 1032 00:45:14,660 --> 00:45:15,620 To je dva. 1033 00:45:15,620 --> 00:45:17,510 Bomo izpisal kaj je x. 1034 00:45:17,510 --> 00:45:18,800 Bomo kocko x. 1035 00:45:18,800 --> 00:45:21,520 Kot vidite, imamo Izjava funkcija 1036 00:45:21,520 --> 00:45:23,770 dol, da smo govorili že prej. 1037 00:45:23,770 --> 00:45:28,260 To bo kocko x, nato pa, če smo ne pozabite, dejansko funkcijo kocka 1038 00:45:28,260 --> 00:45:31,340 vrne celo število do nam, ki je shranjena 1039 00:45:31,340 --> 00:45:35,860 vx znova, tako da bomo lahko natisnete iz osmih ali kocke x prav zdaj. 1040 00:45:35,860 --> 00:45:37,170 1041 00:45:37,170 --> 00:45:38,920 Ali to smiselno za vsakogar? 1042 00:45:38,920 --> 00:45:40,360 Mi smo dobri? 1043 00:45:40,360 --> 00:45:41,160 Vse je v redu. 1044 00:45:41,160 --> 00:45:41,660 Super. 1045 00:45:41,660 --> 00:45:45,540 1046 00:45:45,540 --> 00:45:46,840 >> Vse je v redu. 1047 00:45:46,840 --> 00:45:50,879 Koliko od vas, fantje zapomni si to, da je to 1048 00:45:50,879 --> 00:45:52,670 je v bistvu samo vaša kup in vaš heap, 1049 00:45:52,670 --> 00:45:56,510 samo vizualizacija kako je pomnilnik tu shranjeni. 1050 00:45:56,510 --> 00:45:58,200 1051 00:45:58,200 --> 00:46:01,400 Torej, želimo le, da bi Prepričajte se, da ste razumeli 1052 00:46:01,400 --> 00:46:03,680 kako so ti zastopani v pomnilniku. 1053 00:46:03,680 --> 00:46:07,670 Če ste vzeli razrede, kot so CS61 in stvari kasneje, 1054 00:46:07,670 --> 00:46:10,570 boste dobili, da se naučijo to veliko bolj v globino, in to je res kul. 1055 00:46:10,570 --> 00:46:11,730 Jaz zelo priporočam. 1056 00:46:11,730 --> 00:46:12,740 1057 00:46:12,740 --> 00:46:14,720 Ampak za zdaj, bom dal vam širok pregled 1058 00:46:14,720 --> 00:46:16,950 tako da ne bi bilo treba veš gnjidama kašaste. 1059 00:46:16,950 --> 00:46:20,820 >> Torej, na vrhu le segmenta besedilo, ki vsebuje dejanske ničel in enic, 1060 00:46:20,820 --> 00:46:23,740 binarni za to. 1061 00:46:23,740 --> 00:46:27,510 In se ta uporablja za shranjevanje globalne spremenljivke, če imate. 1062 00:46:27,510 --> 00:46:28,870 1063 00:46:28,870 --> 00:46:32,240 Ko se premaknete navzdol, smo imajo, kot vidite tu, 1064 00:46:32,240 --> 00:46:34,670 inicializacijo podatkov, neinicializiranih podatkov, in nato kopice. 1065 00:46:34,670 --> 00:46:35,800 1066 00:46:35,800 --> 00:46:38,584 >> Torej mi ne govoriti o kupu zdaj. 1067 00:46:38,584 --> 00:46:39,500 Bomo prišli do nje pozneje. 1068 00:46:39,500 --> 00:46:40,762 1069 00:46:40,762 --> 00:46:42,970 Za zdaj sem le, da bo val moje roke in podobne, 1070 00:46:42,970 --> 00:46:44,553 vam ni treba vedeti o tem zdaj. 1071 00:46:44,553 --> 00:46:46,100 1072 00:46:46,100 --> 00:46:49,060 Ampak bomo govorili malo bit okoli dimnika. 1073 00:46:49,060 --> 00:46:53,050 Torej stack where-- imamo zoom. 1074 00:46:53,050 --> 00:46:58,590 To je dejansko kako program smo samo pogledal pride v spomin. 1075 00:46:58,590 --> 00:47:01,630 >> Torej, kaj se zgodi, je, vsak Tokrat smo pokličete funkcijo, 1076 00:47:01,630 --> 00:47:04,180 smo dobili tisto, kar se imenuje sveženj okvir, ki je ena od teh. 1077 00:47:04,180 --> 00:47:05,870 Parametri tako glavni je. 1078 00:47:05,870 --> 00:47:07,944 Torej, to so stvari, da se peljemo v vod. 1079 00:47:07,944 --> 00:47:11,110 Tako da si tukaj na dnu, ker je to prva stvar, ki jo imenujemo. 1080 00:47:11,110 --> 00:47:13,401 In potem pridemo do glavne ih domačini, in ko smo rekli, da 1081 00:47:13,401 --> 00:47:15,970 mislimo lokalne spremenljivke ki so shranjeni v glavni. 1082 00:47:15,970 --> 00:47:19,950 1083 00:47:19,950 --> 00:47:23,620 Tako domačini tukaj bi, kot so, x je enak dvema v tem primeru. 1084 00:47:23,620 --> 00:47:26,350 Ker, ki je lokaliziran na glavno. 1085 00:47:26,350 --> 00:47:29,745 Ali vsi spomnite področje, šel čez, da je v predavanju? 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 Torej, le spremenljivke, ki inicializirata v glavni. 1089 00:47:36,110 --> 00:47:38,550 Torej, to je, zakaj imamo glavno [? vokal. ?] 1090 00:47:38,550 --> 00:47:40,390 >> In nato v glavnem pravimo kocko. 1091 00:47:40,390 --> 00:47:41,000 Kajne? 1092 00:47:41,000 --> 00:47:44,510 Tako smo dobili novo ogrodje s parametri kocka je. 1093 00:47:44,510 --> 00:47:47,050 Torej, v tem primeru, kocka je parametri so sedaj 1094 00:47:47,050 --> 00:47:50,800 x, ki smo jih opravili v, dva, ki smo jih opravili v. 1095 00:47:50,800 --> 00:47:55,320 In potem domačini kocka je, kar je kjer dejansko cubing zgodi. 1096 00:47:55,320 --> 00:47:56,450 In potem se vrne. 1097 00:47:56,450 --> 00:48:02,120 >> Torej, kaj se zgodi, je, kot je kocka pravzaprav počne kaj pa naj naredim, da se vrne. 1098 00:48:02,120 --> 00:48:07,020 Ko se vrne, ta okvir dopušča, in njena vrnil dol na glavno. 1099 00:48:07,020 --> 00:48:09,160 In nato v glavnem smo pravzaprav ga lahko natisnete. 1100 00:48:09,160 --> 00:48:10,840 1101 00:48:10,840 --> 00:48:14,500 Torej, če ste se vračajo nekaj, ko vaša funkcija vrne, 1102 00:48:14,500 --> 00:48:19,900 To je kot, ki poteka na teh vrednot okvir pod njo in nato zapusti. 1103 00:48:19,900 --> 00:48:22,200 In stvari, ki morajo izvršiti v redu. 1104 00:48:22,200 --> 00:48:25,550 >> In ko prideš do večjih programov, lahko naredimo hladnejši in bolj zapletena 1105 00:48:25,550 --> 00:48:26,470 diagrami. 1106 00:48:26,470 --> 00:48:29,070 Toda za zdaj, to je samo splošni pregled 1107 00:48:29,070 --> 00:48:31,110 tako da boste imeli nekakšno razumevanje, kaj 1108 00:48:31,110 --> 00:48:35,160 se zgodi, ko kličeš funkcijo in kako to dejansko izgleda v spominu. 1109 00:48:35,160 --> 00:48:37,230 1110 00:48:37,230 --> 00:48:37,770 Cool? 1111 00:48:37,770 --> 00:48:38,353 Vsi dobro? 1112 00:48:38,353 --> 00:48:39,920 1113 00:48:39,920 --> 00:48:40,420 Super. 1114 00:48:40,420 --> 00:48:42,070 1115 00:48:42,070 --> 00:48:50,575 >> Torej, to je tista, ki je samo poskušam, da bi zamenjali stvari. 1116 00:48:50,575 --> 00:48:52,260 1117 00:48:52,260 --> 00:48:54,930 Kot vidimo, imamo naša funkcija prototip 1118 00:48:54,930 --> 00:48:56,900 tako da je naš prevajalnik ne kričijo na nas. 1119 00:48:56,900 --> 00:48:59,220 Imamo nekaj glavnih, in smo želite preklopiti x in y. 1120 00:48:59,220 --> 00:49:00,320 1121 00:49:00,320 --> 00:49:04,129 Še niso storile ta demo V predavanju še imajo oni? 1122 00:49:04,129 --> 00:49:04,670 Imajo pa ne? 1123 00:49:04,670 --> 00:49:05,900 OK. 1124 00:49:05,900 --> 00:49:08,450 Tako smo šli nad tem zelo na kratko. 1125 00:49:08,450 --> 00:49:12,210 Boste dobili v tem primeru več v globino, mislim, ta teden. 1126 00:49:12,210 --> 00:49:15,680 In potem naslednji teden, bomo lahko resnično potopite zakaj to ne deluje. 1127 00:49:15,680 --> 00:49:18,810 >> Torej imamo to praznino Funkcija here-- swap. 1128 00:49:18,810 --> 00:49:20,720 Zato nična samo pomeni, da nič ne vrne. 1129 00:49:20,720 --> 00:49:22,000 1130 00:49:22,000 --> 00:49:24,110 In imamo swap int a in int b. 1131 00:49:24,110 --> 00:49:27,046 In imamo nekateri začasni spremenljivka, ki je. 1132 00:49:27,046 --> 00:49:30,050 gets dodeljena b, nato pa b gets dodeljena temp 1133 00:49:30,050 --> 00:49:32,235 tako da, in je B- Vrednosti so sedaj vklopljena. 1134 00:49:32,235 --> 00:49:33,510 1135 00:49:33,510 --> 00:49:36,030 >> Ampak, parcela zasuk, to ne deluje. 1136 00:49:36,030 --> 00:49:37,390 1137 00:49:37,390 --> 00:49:42,380 Del pa ima dejansko opraviti z dejstvom, da 1138 00:49:42,380 --> 00:49:48,800 in b tukaj, tisti, ki so se opravili v tod so pravzaprav kopije x in y. 1139 00:49:48,800 --> 00:49:53,220 Torej, ko funkcija dejansko vrne, preklopi kopij, vendar ne 1140 00:49:53,220 --> 00:49:55,960 dejanska x in y je. 1141 00:49:55,960 --> 00:50:02,370 Torej en način, da razmišljajo o tem, da je that-- pretvarjamo, to so swap. 1142 00:50:02,370 --> 00:50:03,130 OK? 1143 00:50:03,130 --> 00:50:05,390 Torej, v glavnem imamo x in y inicializiran. 1144 00:50:05,390 --> 00:50:06,530 1145 00:50:06,530 --> 00:50:10,760 Toda, ko smo dejansko šel gor teh okvirjev z zamenjavo, 1146 00:50:10,760 --> 00:50:15,740 smo mimo vrednosti preko z njim, in oni inicializiran. 1147 00:50:15,740 --> 00:50:18,570 >> In le kdaj živeli tukaj. 1148 00:50:18,570 --> 00:50:19,796 Tako in b živijo tukaj. 1149 00:50:19,796 --> 00:50:20,670 In se do njihove zamenjave. 1150 00:50:20,670 --> 00:50:21,870 1151 00:50:21,870 --> 00:50:26,190 Toda, ko se bomo vrnili, ne bomo storiti ničesar, s in b. 1152 00:50:26,190 --> 00:50:28,980 in b dopust z našo funkcijo. 1153 00:50:28,980 --> 00:50:30,850 In tako sta x in y ostanejo enake. 1154 00:50:30,850 --> 00:50:31,960 1155 00:50:31,960 --> 00:50:39,665 Boste dobili več o tem, kako popraviti to in kako se dejansko ukvarjajo s tem kasneje. 1156 00:50:39,665 --> 00:50:40,750 1157 00:50:40,750 --> 00:50:43,740 >> Ampak to je samo ena stvar, da nekako v mislih. 1158 00:50:43,740 --> 00:50:45,270 Uporabite ga za prihodnost. 1159 00:50:45,270 --> 00:50:48,050 Ne skrbite, če to ni uspelo vsi občutek na svetu. 1160 00:50:48,050 --> 00:50:49,510 1161 00:50:49,510 --> 00:50:51,440 So kopije je največja stvar. 1162 00:50:51,440 --> 00:50:54,580 Če ste tekoč, da bi karkoli stran od tega, ste opravili v kopijah. 1163 00:50:54,580 --> 00:50:56,410 Torej izvirniki ostanejo nespremenjene. 1164 00:50:56,410 --> 00:50:58,170 1165 00:50:58,170 --> 00:50:58,770 Vsi dobro? 1166 00:50:58,770 --> 00:51:00,280 1167 00:51:00,280 --> 00:51:00,930 Cool. 1168 00:51:00,930 --> 00:51:02,295 >> Tako da argumenti v ukazni vrstici. 1169 00:51:02,295 --> 00:51:03,520 1170 00:51:03,520 --> 00:51:07,630 Prepričan sem, da je v začetku vidva vse imeli tiste velike, kot, int glavne praznine. 1171 00:51:07,630 --> 00:51:09,517 In ste kot, OK kul. 1172 00:51:09,517 --> 00:51:10,350 Res ne skrbi. 1173 00:51:10,350 --> 00:51:12,360 To je samo tisto, kar sem moral napisati. 1174 00:51:12,360 --> 00:51:16,349 Vendar v vaših novih programov, še posebej v tem pset, 1175 00:51:16,349 --> 00:51:17,890 in zakaj je tam kredo na tleh? 1176 00:51:17,890 --> 00:51:19,640 1177 00:51:19,640 --> 00:51:22,680 >> Vaš naslednji pset, ste dogaja, da se to videl. 1178 00:51:22,680 --> 00:51:26,130 Int glavni int arg c, Niz arc v, nosilci. 1179 00:51:26,130 --> 00:51:28,770 Torej, od kar smo pravkar danes naučil, kaj 1180 00:51:28,770 --> 00:51:32,190 mislimo, da je drugi parameter ali da drugi element je tu? 1181 00:51:32,190 --> 00:51:34,830 1182 00:51:34,830 --> 00:51:35,824 To je niz. 1183 00:51:35,824 --> 00:51:36,615 Kakšen tip matrike? 1184 00:51:36,615 --> 00:51:38,430 1185 00:51:38,430 --> 00:51:40,690 Nizov, ja. 1186 00:51:40,690 --> 00:51:41,980 Cool. 1187 00:51:41,980 --> 00:51:45,320 Torej, to je, kako boste se razglasi ti zdaj. 1188 00:51:45,320 --> 00:51:48,570 >> Ali kdo spomnite kaj to stati? 1189 00:51:48,570 --> 00:51:52,551 1190 00:51:52,551 --> 00:51:53,050 Ne? 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 >> ŠTUDENT: arg c. 1194 00:51:55,640 --> 00:51:56,961 1195 00:51:56,961 --> 00:51:58,950 >> ALLISON: So arg c ohranja števec. 1196 00:51:58,950 --> 00:51:59,450 To je int. 1197 00:51:59,450 --> 00:52:00,615 To je številka, kajne? 1198 00:52:00,615 --> 00:52:02,240 Torej, kaj menite, da je število? 1199 00:52:02,240 --> 00:52:08,260 1200 00:52:08,260 --> 00:52:08,760 Ja. 1201 00:52:08,760 --> 00:52:11,450 Torej arg c je število nizov ki tvorijo ukazno vrstico. 1202 00:52:11,450 --> 00:52:12,560 1203 00:52:12,560 --> 00:52:18,499 Torej, če bi dejansko do--, obstajajo primeri po tem, 1204 00:52:18,499 --> 00:52:19,790 tako da ne boste dobili pred sebe. 1205 00:52:19,790 --> 00:52:21,299 1206 00:52:21,299 --> 00:52:23,840 To število nizov, ki samo da vaš ukazno vrstico. 1207 00:52:23,840 --> 00:52:35,080 >> Torej, ko boste to storili, kot so, dot poševnica Mario, to je en niz, ki omogoča jo sestavljajo. 1208 00:52:35,080 --> 00:52:38,520 V tem delu boste dejansko hranjenje stvari v ukazni vrstici, 1209 00:52:38,520 --> 00:52:41,750 saj sem prepričan, da fantje, ki Prebral spec žago. 1210 00:52:41,750 --> 00:52:44,470 Torej v teh primerih morda boste imajo dva ali tri argumente. 1211 00:52:44,470 --> 00:52:45,652 1212 00:52:45,652 --> 00:52:48,360 To se dogaja, da je koristna stvar za uporabo. 1213 00:52:48,360 --> 00:52:51,500 >> In potem arg v, kot smo rekli, je samo nizov. 1214 00:52:51,500 --> 00:52:57,000 Tako da dejansko shranjuje kaj vnesete v ukazno vrstico. 1215 00:52:57,000 --> 00:52:59,960 Tako da imamo te. 1216 00:52:59,960 --> 00:53:02,850 Imate nekaj dot poševnica kopirati infile IZHODNA. 1217 00:53:02,850 --> 00:53:06,670 Torej, če arg c je število nizov da smo prehajanje v ukazu 1218 00:53:06,670 --> 00:53:09,080 linija, kaj je naša arg c v tem primeru? 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 Točno tako. 1222 00:53:16,690 --> 00:53:20,086 >> Torej, kaj je arg v nič? 1223 00:53:20,086 --> 00:53:21,710 Torej, kaj je prva stvar, ki smo jo shranjeno? 1224 00:53:21,710 --> 00:53:24,640 1225 00:53:24,640 --> 00:53:26,290 Dot poševnica kopijo, točno. 1226 00:53:26,290 --> 00:53:28,065 In potem bi drugi lahko infile. 1227 00:53:28,065 --> 00:53:29,290 1228 00:53:29,290 --> 00:53:30,930 Tretji bi outfile. 1229 00:53:30,930 --> 00:53:32,390 Torej, kaj pa arg proti tri? 1230 00:53:32,390 --> 00:53:35,810 1231 00:53:35,810 --> 00:53:39,370 To bi bilo za nično, ker je to konec našega paleto, kajne? 1232 00:53:39,370 --> 00:53:40,600 1233 00:53:40,600 --> 00:53:41,460 Cool. 1234 00:53:41,460 --> 00:53:44,500 >> In kaj potem o šestem enega? 1235 00:53:44,500 --> 00:53:45,900 To je neke vrste trik vprašanje. 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 Ali vemo, kaj je to? 1239 00:53:49,943 --> 00:53:50,960 1240 00:53:50,960 --> 00:53:51,690 To je nedefinirana. 1241 00:53:51,690 --> 00:53:53,170 Nimamo pojma, kaj bi to lahko bilo. 1242 00:53:53,170 --> 00:53:57,000 To je vse, kar je prav po matriki v spominu, 1243 00:53:57,000 --> 00:54:00,220 in nimamo pojma, kaj to je. 1244 00:54:00,220 --> 00:54:03,500 In to je nevarno dotikati stvari, ker za vse veste, 1245 00:54:03,500 --> 00:54:07,080 to je nek del spomina, ki vas ne sme biti dostop ali nična. 1246 00:54:07,080 --> 00:54:09,000 In lahko naredi nore stvari. 1247 00:54:09,000 --> 00:54:11,690 To je imenovano over-indeksiranje vaš vezan na svojo paleto. 1248 00:54:11,690 --> 00:54:14,785 Ne gredo izven meja vaše matrika, ali slabe stvari se lahko zgodi. 1249 00:54:14,785 --> 00:54:16,274 1250 00:54:16,274 --> 00:54:18,940 Prideš nazaj in podobno, zakoni fizike so bile uničene 1251 00:54:18,940 --> 00:54:19,481 ali kaj podobnega. 1252 00:54:19,481 --> 00:54:21,021 1253 00:54:21,021 --> 00:54:21,520 Cool. 1254 00:54:21,520 --> 00:54:22,895 Ali to smiselno za vsakogar? 1255 00:54:22,895 --> 00:54:23,810 1256 00:54:23,810 --> 00:54:25,025 Ni preveč slabo. 1257 00:54:25,025 --> 00:54:28,926 >> Torej sedaj, vsi so najljubši del, pregled pset. 1258 00:54:28,926 --> 00:54:29,426 Bravo! 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 Torej za tiste, ki ste niste prebrali pset spec, 1262 00:54:33,830 --> 00:54:36,790 delaš nekaj res cool stuff s kriptografijo. 1263 00:54:36,790 --> 00:54:39,360 Boste ustvarili Ceasar Šifra in Vigenere Cipher. 1264 00:54:39,360 --> 00:54:42,000 1265 00:54:42,000 --> 00:54:45,480 Si je vsekakor treba prebrati spec, da vidite, kako tiste delo. 1266 00:54:45,480 --> 00:54:49,650 In če imate kakršne koli težave glede kaj bi bilo dejansko počne, 1267 00:54:49,650 --> 00:54:52,920 prosim pridi govoriti z mano, email mi ali besedilo me. 1268 00:54:52,920 --> 00:54:53,420 Jaz sem okoli. 1269 00:54:53,420 --> 00:54:54,780 1270 00:54:54,780 --> 00:54:57,070 >> Torej obstajajo trije glavni stvari tukaj, da smo 1271 00:54:57,070 --> 00:55:00,440 želijo govoriti about-- le nekako podaljšanja predavanja. 1272 00:55:00,440 --> 00:55:03,645 Stvari, ki jih morda ne poznate O, koristnih nasvetov in orodij. 1273 00:55:03,645 --> 00:55:05,520 Tako bomo storili Hiter pregled ASCII, 1274 00:55:05,520 --> 00:55:10,420 ker to se dogaja, da je super pomembno za Vigenere je Cipher. 1275 00:55:10,420 --> 00:55:11,809 1276 00:55:11,809 --> 00:55:14,100 Bomo pretvorbo vhodi ukazni vrstici, ki 1277 00:55:14,100 --> 00:55:17,160 bi bilo zelo koristno za Cezarjeva šifra. 1278 00:55:17,160 --> 00:55:18,133 In potem modulo. 1279 00:55:18,133 --> 00:55:20,220 1280 00:55:20,220 --> 00:55:21,210 Cool. 1281 00:55:21,210 --> 00:55:24,005 >> Torej, ASCII znakov preslika na številke. 1282 00:55:24,005 --> 00:55:25,270 1283 00:55:25,270 --> 00:55:26,365 To je velik zemljevid. 1284 00:55:26,365 --> 00:55:28,115 Moral bi imeti to zaznamek nekje. 1285 00:55:28,115 --> 00:55:29,310 1286 00:55:29,310 --> 00:55:33,250 Si ga boste želeli za vaš prvi vmesni. 1287 00:55:33,250 --> 00:55:36,320 Prepričan sem, da ima vsakdo to Grafikon vmesno stanja. 1288 00:55:36,320 --> 00:55:37,810 Tako da se ga učijo. 1289 00:55:37,810 --> 00:55:38,410 Je všeč. 1290 00:55:38,410 --> 00:55:39,740 Skrbite, da bo prav. 1291 00:55:39,740 --> 00:55:41,210 To bo koristno. 1292 00:55:41,210 --> 00:55:45,630 >> In vse to se je kodiranje ki preslika abecedna, številčna, 1293 00:55:45,630 --> 00:55:47,740 in drugi znaki za številke za naš računalnik. 1294 00:55:47,740 --> 00:55:49,947 Ker seveda v end, vse hranimo 1295 00:55:49,947 --> 00:55:52,030 bo dobil pretvorjena do ničel in enic, 1296 00:55:52,030 --> 00:55:55,200 zato moramo na nek način za zastopanje besedilo in znaki, da smo vsi 1297 00:55:55,200 --> 00:55:59,105 vajeni kot neke vrste številko. 1298 00:55:59,105 --> 00:56:00,370 1299 00:56:00,370 --> 00:56:05,880 >> Torej, kot smo videli, imamo velikimi črkami, kar je tam. 1300 00:56:05,880 --> 00:56:06,555 To je 65. 1301 00:56:06,555 --> 00:56:07,570 1302 00:56:07,570 --> 00:56:09,660 In male črke je 97. 1303 00:56:09,660 --> 00:56:13,170 Tako lahko ugotovimo out-- kot sem že prej dejal, 1304 00:56:13,170 --> 00:56:16,532 če ste imeli paleto večkratnik strune, kaj vsak od njih 1305 00:56:16,532 --> 00:56:17,490 imajo null terminator. 1306 00:56:17,490 --> 00:56:18,480 Bilo bi prostor. 1307 00:56:18,480 --> 00:56:22,581 Prostor ima svoj special-- Pozabil sem, kje je tukaj. 1308 00:56:22,581 --> 00:56:23,080 Ah. 1309 00:56:23,080 --> 00:56:24,700 32 je prostor. 1310 00:56:24,700 --> 00:56:27,090 Torej je vse karte na njem. 1311 00:56:27,090 --> 00:56:28,680 1312 00:56:28,680 --> 00:56:29,740 >> Torej imamo ASCII matematike. 1313 00:56:29,740 --> 00:56:31,080 1314 00:56:31,080 --> 00:56:34,290 Pro tip-- v Vigenere je, vas bo morda zamikalo 1315 00:56:34,290 --> 00:56:39,480 za pretvorbo številk na cela števila, ampak to je dejansko boljša praksa 1316 00:56:39,480 --> 00:56:43,860 da bi lahko uporabila znakov, kot je ta 1317 00:56:43,860 --> 00:56:45,820 ko ste jih dejansko manipulirajo. 1318 00:56:45,820 --> 00:56:48,950 Torej, če želite uporabljati številke, lahko. 1319 00:56:48,950 --> 00:56:55,260 Vendar je boljši način, ali tako, da smo nagnjeni, da vam je všeč fantje, da to storite, 1320 00:56:55,260 --> 00:56:57,830 je na ta način, ko ste dejansko odšteje znakov. 1321 00:56:57,830 --> 00:56:58,840 1322 00:56:58,840 --> 00:57:02,830 >> Zato vam želim fantje vrsta ugotovimo ti ven. 1323 00:57:02,830 --> 00:57:05,070 Zakaj ne poskusite vsak drugi eno? 1324 00:57:05,070 --> 00:57:07,580 1325 00:57:07,580 --> 00:57:09,830 Stori prvo, na tretja in peta. 1326 00:57:09,830 --> 00:57:11,160 1327 00:57:11,160 --> 00:57:15,000 Ker želim, da poskrbite, da govorimo O vsem se moramo pogovoriti. 1328 00:57:15,000 --> 00:57:17,410 1329 00:57:17,410 --> 00:57:20,259 Jaz sem samo reči, eno pomembne stvari to-- oh počakaj, 1330 00:57:20,259 --> 00:57:21,550 fantje niso videli tega. 1331 00:57:21,550 --> 00:57:23,710 OK, to prve tri. 1332 00:57:23,710 --> 00:57:24,430 Naredimo to. 1333 00:57:24,430 --> 00:57:25,971 Ker moramo govoriti o modulu. 1334 00:57:25,971 --> 00:57:27,810 1335 00:57:27,810 --> 00:57:28,310 Vem. 1336 00:57:28,310 --> 00:57:28,851 Math je težko. 1337 00:57:28,851 --> 00:57:29,870 1338 00:57:29,870 --> 00:57:30,980 Lahko uporabite kalkulator. 1339 00:57:30,980 --> 00:57:31,580 To je OK. 1340 00:57:31,580 --> 00:57:37,464 1341 00:57:37,464 --> 00:57:40,380 Ali dvigni z ASCII tabelo, ker ste verjetno želeli, da je. 1342 00:57:40,380 --> 00:58:03,660 1343 00:58:03,660 --> 00:58:04,820 >> Cool. 1344 00:58:04,820 --> 00:58:07,960 Tako da bom hitro hoditi vi skozi njih. 1345 00:58:07,960 --> 00:58:11,120 Torej, ljudje so tabele ASCII potegnil gor? 1346 00:58:11,120 --> 00:58:15,645 Kakšna je naša številčna številka za male črke A? 1347 00:58:15,645 --> 00:58:16,270 ŠTUDENT: Seven. 1348 00:58:16,270 --> 00:58:19,420 1349 00:58:19,420 --> 00:58:24,550 >> ALLISON: Torej, male je 97 in velikimi črkami, je 65. 1350 00:58:24,550 --> 00:58:26,390 Torej 97 minus 65? 1351 00:58:26,390 --> 00:58:27,782 1352 00:58:27,782 --> 00:58:28,570 >> OBČINSTVO: 32? 1353 00:58:28,570 --> 00:58:33,260 1354 00:58:33,260 --> 00:58:35,630 >> ALLISON: 62, ja. 1355 00:58:35,630 --> 00:58:38,675 Torej, v tem primeru, kaj bi se izpisal? 1356 00:58:38,675 --> 00:58:40,360 Da je prvi? 1357 00:58:40,360 --> 00:58:43,830 Če imamo odstotni d, kaj bi to kaže? 1358 00:58:43,830 --> 00:58:45,980 1359 00:58:45,980 --> 00:58:46,730 ŠTUDENT: številka. 1360 00:58:46,730 --> 00:58:48,604 ALLISON: Mi tiskanje od dejanskega števila. 1361 00:58:48,604 --> 00:58:50,770 Tako da smo dejansko dogaja natisniti 32 tukaj. 1362 00:58:50,770 --> 00:58:56,360 In če bi bilo to odstotka c, 32 bi nam prostor. 1363 00:58:56,360 --> 00:58:57,700 1364 00:58:57,700 --> 00:59:01,670 Tako razume, da znaki se lahko natisnejo 1365 00:59:01,670 --> 00:59:06,140 tako kot številke in kot dejanski znaki 1366 00:59:06,140 --> 00:59:11,080 je zelo pomembno, in plačevanje pozornost na dejanske vrste 1367 00:59:11,080 --> 00:59:12,040 da delamo tukaj. 1368 00:59:12,040 --> 00:59:14,520 1369 00:59:14,520 --> 00:59:15,020 Cool. 1370 00:59:15,020 --> 00:59:18,862 Torej za vsak drugi od teh, kaj bomo, da se tiskanje? 1371 00:59:18,862 --> 00:59:19,825 >> ŠTUDENT: znak. 1372 00:59:19,825 --> 00:59:20,830 >> ALLISON: znak. 1373 00:59:20,830 --> 00:59:21,330 Cool. 1374 00:59:21,330 --> 00:59:24,260 Torej, če hočete vedeti, vam lahko delajo ti ven na svoje. 1375 00:59:24,260 --> 00:59:25,900 Če imate težave, email mi. 1376 00:59:25,900 --> 00:59:28,950 Toda drugi pa bo natisnete z malo začetnico b. 1377 00:59:28,950 --> 00:59:32,910 Tretja bo izpisal velikimi B. četrti bo natisnil 1378 00:59:32,910 --> 00:59:36,410 ven z velikimi črkami C, in zadnja bo male A. 1379 00:59:36,410 --> 00:59:42,530 In nazadnje one-- smo dejansko dogaja priti v kaj to noro odstotkov 1380 00:59:42,530 --> 00:59:45,020 znamenje tudi pomeni nekaj diapozitivov. 1381 00:59:45,020 --> 00:59:46,667 Torej, poskusite s tistimi na svoje. 1382 00:59:46,667 --> 00:59:48,500 Če imate težave, prosim pridi govoriti z mano. 1383 00:59:48,500 --> 00:59:49,655 1384 00:59:49,655 --> 00:59:53,290 Če ste običajno v Adams D dvorani, me boš verjetno našli okoli. 1385 00:59:53,290 --> 00:59:54,760 1386 00:59:54,760 --> 00:59:55,760 >> Torej, atoi. 1387 00:59:55,760 --> 00:59:59,660 Koliko od vas je videl to funkcija ali slišali zanj sploh? 1388 00:59:59,660 --> 01:00:00,380 1389 01:00:00,380 --> 01:00:00,880 Kdorkoli? 1390 01:00:00,880 --> 01:00:02,100 1391 01:00:02,100 --> 01:00:02,600 Cool. 1392 01:00:02,600 --> 01:00:06,250 Torej, kaj dejansko pomeni za je ASCII celoštevilčnemu. 1393 01:00:06,250 --> 01:00:13,150 Torej, kaj lahko naredite, je, s Cezarjem, za tiste, ki se glasi spec, 1394 01:00:13,150 --> 01:00:16,460 boš naredil dot slash Cezarja po tem, ko ste napisali svoj program, 1395 01:00:16,460 --> 01:00:18,690 in potem boš input nekaj številko, ki jo 1396 01:00:18,690 --> 01:00:24,780 želijo kodirati svojo skrivno sporočilo z. 1397 01:00:24,780 --> 01:00:30,700 >> Ampak, če se spomnimo, vsi naši vhodi so shranjeni kot strune. 1398 01:00:30,700 --> 01:00:31,390 Kajne? 1399 01:00:31,390 --> 01:00:35,160 Imamo ARG proti niz da je vse tip niz. 1400 01:00:35,160 --> 01:00:37,870 Torej, če si poskusite potegnite, da je eden, da bi 1401 01:00:37,870 --> 01:00:43,240 mislim, da je, da je ena ali karkoli številka ki ste ga uporabili, je pravzaprav znak. 1402 01:00:43,240 --> 01:00:45,490 Tako boste dobili nekateri nore rezultate. 1403 01:00:45,490 --> 01:00:48,200 Torej, če ste dejansko želijo obrniti to v celo število 1404 01:00:48,200 --> 01:00:52,060 ki jih lahko uporabite, da manipulira tvoja beseda ali vaše sporočilo, 1405 01:00:52,060 --> 01:00:53,366 boste želeli uporabiti atoi. 1406 01:00:53,366 --> 01:00:56,320 atoi samo pretvarja vaš niz v celo število. 1407 01:00:56,320 --> 01:01:04,530 >> Torej, če imamo niz 12, če pravimo atoi 12., ali karkoli, da vhod, 1408 01:01:04,530 --> 01:01:07,370 bo dejansko vrnil za vas celo število. 1409 01:01:07,370 --> 01:01:10,610 Ni znak ali niz 12. 1410 01:01:10,610 --> 01:01:14,230 Ki je, ko začnete dodati, da na številke, 1411 01:01:14,230 --> 01:01:17,710 bo zelo drugačna, ker je niz 12 1412 01:01:17,710 --> 01:01:21,210 nekaj noro številka v ASCII, ampak celo 12 1413 01:01:21,210 --> 01:01:23,390 je pravzaprav 12, kar je tisto, kar želite. 1414 01:01:23,390 --> 01:01:25,630 Tako da boste želeli, da poskrbite, da uporabite atoi. 1415 01:01:25,630 --> 01:01:29,203 >> Boste želeli to pri cesarju, ker vas 1416 01:01:29,203 --> 01:01:32,520 Potrebujemo int, ki jih uporabnik v ukazni vrstici. 1417 01:01:32,520 --> 01:01:35,230 Toda, ko so ga dali v ukazu linija, je shranjena kot niz 1418 01:01:35,230 --> 01:01:35,813 za začetek. 1419 01:01:35,813 --> 01:01:36,950 1420 01:01:36,950 --> 01:01:38,210 Ali to smiselno? 1421 01:01:38,210 --> 01:01:40,590 Vam ni nujno, to potrebujete za Vigenere. 1422 01:01:40,590 --> 01:01:43,180 Z Vigenere, kot sem rekel pred, morate poskusiti in uporabo 1423 01:01:43,180 --> 01:01:46,600 ASCII math, da izgleda bolj kot to, kje ste pravzaprav 1424 01:01:46,600 --> 01:01:49,320 uporabo znakov, da smo dane za vas. 1425 01:01:49,320 --> 01:01:50,970 1426 01:01:50,970 --> 01:01:51,470 Cool. 1427 01:01:51,470 --> 01:01:52,970 1428 01:01:52,970 --> 01:01:54,170 Vsi dobro tam? 1429 01:01:54,170 --> 01:01:56,530 1430 01:01:56,530 --> 01:01:57,480 Super. 1431 01:01:57,480 --> 01:01:59,030 >> Torej modulo. 1432 01:01:59,030 --> 01:02:01,950 Torej, kaj, če si dal To ogromno število za Cezarja? 1433 01:02:01,950 --> 01:02:03,720 1434 01:02:03,720 --> 01:02:07,970 Imate to idejo, da če ste na Z in si 1435 01:02:07,970 --> 01:02:11,020 dobijo številko dve, to pomeni, da need-- 1436 01:02:11,020 --> 01:02:15,130 Z postane drugi pismo po sebi, kajne? 1437 01:02:15,130 --> 01:02:20,800 Tako da boste morali nekako ovijte okoli, in modulo je način za to. 1438 01:02:20,800 --> 01:02:23,310 Torej, vse kar naredi je, da vam preostanek 1439 01:02:23,310 --> 01:02:25,660 delitve Prva številka na sekundo. 1440 01:02:25,660 --> 01:02:28,660 In imamo nekaj primerov na da to malo več betona. 1441 01:02:28,660 --> 01:02:34,390 Ampak v bistvu, da uporabljate modulu, ko ste želite nekaj zaviti okoli. 1442 01:02:34,390 --> 01:02:36,950 >> Torej, če želite številke od ena do osem, 1443 01:02:36,950 --> 01:02:39,670 lahko uporabite modulo na kateri koli drug število, da bo vedno 1444 01:02:39,670 --> 01:02:42,960 vrne število od nič do osem. 1445 01:02:42,960 --> 01:02:48,750 Tako da nekateri examples-- če imamo 55 modulo 10, 1446 01:02:48,750 --> 01:02:55,350 vam samo daje preostanek 55 deljeno z 10, kar bi bilo 5. 1447 01:02:55,350 --> 01:02:56,440 1448 01:02:56,440 --> 01:03:02,470 In potem tri modulo pet, kdo ugibati, kaj bi to bilo? 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 >> Torej, če imate manjše število pred modulo, da ne more iti v enakomerno. 1453 01:03:10,910 --> 01:03:11,520 To je nič. 1454 01:03:11,520 --> 01:03:14,090 Tako da samo vrne število sam. 1455 01:03:14,090 --> 01:03:15,920 Torej bi osem modulo osem bilo? 1456 01:03:15,920 --> 01:03:16,603 >> ŠTUDENT: Zero. 1457 01:03:16,603 --> 01:03:18,350 >> ALLISON: Zero. 1458 01:03:18,350 --> 01:03:20,160 Ker gre v enakomerno. 1459 01:03:20,160 --> 01:03:22,095 16 modulo 15? 1460 01:03:22,095 --> 01:03:23,660 >> OBČINSTVO: One. 1461 01:03:23,660 --> 01:03:24,700 >> ALLISON: Cool. 1462 01:03:24,700 --> 01:03:29,280 In potem je to zadnja je le, da kažejo you-- boste morda sprašujete, OK, 1463 01:03:29,280 --> 01:03:31,800 kaj je vrstni red operacij tukaj? 1464 01:03:31,800 --> 01:03:33,100 Storiti delimo prvi? 1465 01:03:33,100 --> 01:03:34,570 Ali modulo prvi? 1466 01:03:34,570 --> 01:03:38,730 Torej modulo ima enako prednost kot deljenja ali množenja, 1467 01:03:38,730 --> 01:03:39,940 in njeno levo asociativna. 1468 01:03:39,940 --> 01:03:41,730 Torej je na enak način. 1469 01:03:41,730 --> 01:03:46,520 Ti bi vedno vse oklepaje, potem množenje, delitev, 1470 01:03:46,520 --> 01:03:49,570 in modulo v vrstnem redu od leve proti desni. 1471 01:03:49,570 --> 01:03:51,050 Torej standardna pravila. 1472 01:03:51,050 --> 01:03:55,260 Daj ga v isti kategoriji kot delitev in razmnoževanje. 1473 01:03:55,260 --> 01:03:59,040 >> Torej, v tem primeru, bi mi imajo 1 plus 2 nam daje 3. 1474 01:03:59,040 --> 01:04:02,210 Množimo, da za 2, tako da smo dobili 6. 1475 01:04:02,210 --> 01:04:05,050 Mi modulo, ki jih 2, ki nam daje? 1476 01:04:05,050 --> 01:04:06,042 >> ŠTUDENT: 0. 1477 01:04:06,042 --> 01:04:07,430 >> ALLISON: 0. 1478 01:04:07,430 --> 01:04:10,270 In potem smo dodali 2, zato smo dobili 2 v tem zadnjem primeru. 1479 01:04:10,270 --> 01:04:12,080 1480 01:04:12,080 --> 01:04:16,360 Torej modulo-- ste definitivno bo treba razmišljati o načinih za vključitev 1481 01:04:16,360 --> 01:04:19,520 da, ko ste zavijanje po abecedi. 1482 01:04:19,520 --> 01:04:24,210 Če ste na Z in morate premakniti naj tri prostore, da bi dobili na C, 1483 01:04:24,210 --> 01:04:26,230 tam je, da je celoten koncept ovijanja okoli. 1484 01:04:26,230 --> 01:04:28,790 Tako da bom moral prepustiti vi, da ugotovimo, 1485 01:04:28,790 --> 01:04:31,940 kako točno boste jo uporabijo. 1486 01:04:31,940 --> 01:04:35,660 Ampak vsekakor koristno orodje Za vašo pset ta teden. 1487 01:04:35,660 --> 01:04:36,910 1488 01:04:36,910 --> 01:04:37,730 Res mi je všeč. 1489 01:04:37,730 --> 01:04:39,480 To je ena izmed mojih najljubših psets. 1490 01:04:39,480 --> 01:04:41,230 Potem, ko si to naredil, Če imate prijatelje, 1491 01:04:41,230 --> 01:04:44,146 lahko, tako kot medsebojno izmenjujejo skrivnost sporočila in se prepričajte, da deluje. 1492 01:04:44,146 --> 01:04:45,695 Ker ga bo pa ali karkoli dešifrirati. 1493 01:04:45,695 --> 01:04:46,710 1494 01:04:46,710 --> 01:04:47,390 Veliko zabave. 1495 01:04:47,390 --> 01:04:48,840 1496 01:04:48,840 --> 01:04:51,220 >> In da je konec odseka. 1497 01:04:51,220 --> 01:04:52,430 1498 01:04:52,430 --> 01:04:54,040 Sem končal predčasno. 1499 01:04:54,040 --> 01:04:57,540 Še vedno imam 15 minut z fantje, tako da, če je kaj 1500 01:04:57,540 --> 01:05:02,180 da bi radi, da gredo čez nadalje, sem lahko srečen, da to storim. 1501 01:05:02,180 --> 01:05:04,340 Katera koli druga vprašanja o Vaše pset za tiste med vami 1502 01:05:04,340 --> 01:05:06,355 ki so se začeli ali brati spec. 1503 01:05:06,355 --> 01:05:07,870 1504 01:05:07,870 --> 01:05:12,060 Vse, kar smo se pogovarjali prišlo v zadnji uri 1505 01:05:12,060 --> 01:05:16,880 in 15 minut, da bi me rad na vrsto replikah, bom z veseljem. 1506 01:05:16,880 --> 01:05:20,790 Ali lahko rečemo, da zapre in lahko vsi zapustijo in vzeli večji sladkarije z vami 1507 01:05:20,790 --> 01:05:21,650 kot greš. 1508 01:05:21,650 --> 01:05:23,719 1509 01:05:23,719 --> 01:05:26,260 Ampak, če obstajajo dolgotrajne vprašanja, prosim povej mi. 1510 01:05:26,260 --> 01:05:28,467 Prav tako lahko prišel gor in govoriti z mano potem. 1511 01:05:28,467 --> 01:05:29,425 Obljubim, da ne grizejo. 1512 01:05:29,425 --> 01:05:32,140 1513 01:05:32,140 --> 01:05:32,795 Kaj drugega? 1514 01:05:32,795 --> 01:05:33,890 1515 01:05:33,890 --> 01:05:35,240 Vsakdo je dobro? 1516 01:05:35,240 --> 01:05:37,540 Občutek Vsakdo je všeč da zmorem to pset? 1517 01:05:37,540 --> 01:05:38,820 1518 01:05:38,820 --> 01:05:42,405 Boš biti fini fantje. 1519 01:05:42,405 --> 01:05:43,905 Uradne ure so tam z razlogom. 1520 01:05:43,905 --> 01:05:45,930 1521 01:05:45,930 --> 01:05:46,460 Cool. 1522 01:05:46,460 --> 01:05:47,020 Dobro. 1523 01:05:47,020 --> 01:05:49,680 >> No, v tem primeru, hvala ste vsi toliko za prihod. 1524 01:05:49,680 --> 01:05:50,940 Upam, da se vidimo naslednji teden. 1525 01:05:50,940 --> 01:05:52,120 Ne bo več sladkarij. 1526 01:05:52,120 --> 01:05:53,495 Obstajajo lahko druge kul stvari. 1527 01:05:53,495 --> 01:05:55,010 1528 01:05:55,010 --> 01:05:59,090 In se veselim, da dobim letos vedeti vse vas. 1529 01:05:59,090 --> 01:06:00,320