1 00:00:00,000 --> 00:00:02,418 >> [Glazbom] 2 00:00:02,418 --> 00:00:10,542 3 00:00:10,542 --> 00:00:12,000 ALLISON BUCHHOLTZ-AU: Hej svima. 4 00:00:12,000 --> 00:00:15,640 Dobro došli u svoj prvi Službena CS50 poglavlje. 5 00:00:15,640 --> 00:00:19,507 Kao što možete, vidjeti je Dio CS50 nalik, samo 6 00:00:19,507 --> 00:00:20,840 podići naš plan za danas. 7 00:00:20,840 --> 00:00:23,990 Dakle, tko sam ja, kao što sam siguran vi ste svi pitate. 8 00:00:23,990 --> 00:00:25,514 Ja sam tvoj TF. 9 00:00:25,514 --> 00:00:27,930 Ja nisam samo slučajni učenik tko oponaša svoj TF. 10 00:00:27,930 --> 00:00:31,190 >> I ja ću proći vrsta ima sekcije će teći, 11 00:00:31,190 --> 00:00:34,900 očekivanja imamo, resursi, tako dalje i tako dalje. 12 00:00:34,900 --> 00:00:39,190 Idemo razgovarati o polja, ASCII funkcije, naredbenog retka argumenata, 13 00:00:39,190 --> 00:00:42,020 a to nije ovdje, ali Također ću se pomaže 14 00:00:42,020 --> 00:00:45,054 što vrsta razmisliti Vaš sljedeći pset za ovaj tjedan. 15 00:00:45,054 --> 00:00:46,720 Koji sam siguran da će svi poštovati. 16 00:00:46,720 --> 00:00:48,190 17 00:00:48,190 --> 00:00:53,390 >> Dakle, prva question-- tko sam ja, osim vašeg bujna TF ovdje. 18 00:00:53,390 --> 00:00:55,390 Ja sam Alison Buchholtz-Au. 19 00:00:55,390 --> 00:00:57,970 Ovo je moja druga godina TFing CS50. 20 00:00:57,970 --> 00:01:00,570 Također sam TF CS51 u proljeće. 21 00:01:00,570 --> 00:01:03,930 Možda ćete vidjeti opet tu Ako se odlučite da ga uzme. 22 00:01:03,930 --> 00:01:07,370 Ja sam također PAF, tako da bilo Freshmen-- a ako nisi brucoš, 23 00:01:07,370 --> 00:01:09,980 ovo je moja treća godina kao savjetovanje kolegama. 24 00:01:09,980 --> 00:01:13,630 Ja sam vrlo dobro upućen u te savjetovanje o životu i tečajevima 25 00:01:13,630 --> 00:01:16,549 u CS, a ne u CS. 26 00:01:16,549 --> 00:01:18,090 Ja sam Computer Science usmjerivac. 27 00:01:18,090 --> 00:01:20,800 Ja sam viši u Adams House, najbolji kuće. 28 00:01:20,800 --> 00:01:22,430 29 00:01:22,430 --> 00:01:26,050 I prije nego što sam se prebacio na CS moj student Proljeće, 30 00:01:26,050 --> 00:01:27,640 Bio sam zapravo biomedicinski inženjer. 31 00:01:27,640 --> 00:01:29,020 Htio sam ići u školu Med. 32 00:01:29,020 --> 00:01:30,530 Htjela sam biti kirurg traume. 33 00:01:30,530 --> 00:01:33,000 I to je posve promijenila otkad sam uzeo CS50. 34 00:01:33,000 --> 00:01:34,250 35 00:01:34,250 --> 00:01:36,310 Uzeo sam tečaj moj student pada. 36 00:01:36,310 --> 00:01:38,920 To je bio moj prvi uvod u CS ikad. 37 00:01:38,920 --> 00:01:44,104 Bio sam jedan od 78% od vas koji je nula iskustva dolaze u, 38 00:01:44,104 --> 00:01:45,520 i to je potpuno promijenio moj život. 39 00:01:45,520 --> 00:01:49,820 I sada radim u Microsoft, i vaš lijep TF. 40 00:01:49,820 --> 00:01:53,500 I CS50 je vjerojatno jedan od najboljih iskustava 41 00:01:53,500 --> 00:01:56,210 da sam imao ovdje na Harvard-- i uzimanje klase 42 00:01:56,210 --> 00:01:59,040 i biti u mogućnosti pomoći naučiti studente poput tebe. 43 00:01:59,040 --> 00:02:01,410 >> Dakle, ja sam jako uzbuđen da ste svi ovdje. 44 00:02:01,410 --> 00:02:04,270 U slučaju da ste došli u kasno, nema slatkiša, 45 00:02:04,270 --> 00:02:07,227 koji bi trebali osjećati slobodno dolaze zgrabiti, ili pošaljite 46 00:02:07,227 --> 00:02:08,560 netko ga zgrabite za vas. 47 00:02:08,560 --> 00:02:09,399 to je u redu. 48 00:02:09,399 --> 00:02:10,440 Ne želim jesti to. 49 00:02:10,440 --> 00:02:13,350 Moja soba ima dovoljno čokoladu, pa svi vi trebali pokušati dovršiti. 50 00:02:13,350 --> 00:02:16,730 Znam da postoje 100 komada, ali kao, 04:00 u ponedjeljak, 51 00:02:16,730 --> 00:02:19,000 Mislim da je svatko mogao koristiti neke šećer. 52 00:02:19,000 --> 00:02:21,750 >> Dakle, svi vi koji ste službeno u mom dijelu 53 00:02:21,750 --> 00:02:24,700 trebala imati stečen e-mail od mene s mojim telefonskim brojem, 54 00:02:24,700 --> 00:02:29,920 e address-- slobodno me dodaj na Gchat, slobodno me dodajte na Facebooku, 55 00:02:29,920 --> 00:02:33,360 i za ostatak vas, možete mi e-mail ovdje. 56 00:02:33,360 --> 00:02:34,450 Dva su H a. 57 00:02:34,450 --> 00:02:37,090 Svatko uvijek radi kao i dvije L'poštom ili dva C-a. 58 00:02:37,090 --> 00:02:38,260 Dva H u posljednje ime. 59 00:02:38,260 --> 00:02:41,800 Inače će to odbijaju, i Neću dobiti svoj e-mail. 60 00:02:41,800 --> 00:02:46,400 >> Dakle, slobodno me e-mail, me kontaktirajte u bilo koje vrijeme. 61 00:02:46,400 --> 00:02:51,440 Ja ne mogu dobiti natrag li u roku od 24 minuta, 62 00:02:51,440 --> 00:02:53,760 ali obećavam da ću se vratiti u roku od 24 sata. 63 00:02:53,760 --> 00:02:54,900 64 00:02:54,900 --> 00:02:58,067 Ako me zvati pola sata prije Vaš pset je zbog, što se kao, 65 00:02:58,067 --> 00:02:59,650 Nemam pojma što radim Allison. 66 00:02:59,650 --> 00:03:00,160 Pomozi mi. 67 00:03:00,160 --> 00:03:04,049 Ja ću vas smiriti, ali na kraju dana, 68 00:03:04,049 --> 00:03:07,340 ako me zovete pola sata prije Vaš pset je zbog ništa pisanom, 69 00:03:07,340 --> 00:03:11,570 Ja ću biti kao, dobro, možda vrijeme je da koristi taj kasni dan. 70 00:03:11,570 --> 00:03:15,215 Dakle, ja ću odgovoriti na sve vaše Zahtjevi u vrlo pravodobno. 71 00:03:15,215 --> 00:03:16,482 72 00:03:16,482 --> 00:03:18,190 Moj telefon je obično priključen na mojim rukama. 73 00:03:18,190 --> 00:03:21,530 Ja obično reagiraju puno brže od 24 sata, 74 00:03:21,530 --> 00:03:25,650 ali ja mogu samo jamstvo Odgovor 24 sata. 75 00:03:25,650 --> 00:03:26,580 >> U redu. 76 00:03:26,580 --> 00:03:28,410 Pa zašto smo ovdje? 77 00:03:28,410 --> 00:03:32,160 Također, ako imate pitanja na bilo koje vrijeme, javite mi. 78 00:03:32,160 --> 00:03:32,780 Razgovaram puno. 79 00:03:32,780 --> 00:03:35,320 Govorim brzo, ali molim vas slobodno me prekidati. 80 00:03:35,320 --> 00:03:36,980 To mi daje disanje sobu kao dobro. 81 00:03:36,980 --> 00:03:38,159 82 00:03:38,159 --> 00:03:40,200 Dakle, dijelovi su vrijeme za nas zapravo samo roniti 83 00:03:40,200 --> 00:03:44,270 u, dobili neke hands-on iskustvo, da se proći kroz teme koje smo spomenuli 84 00:03:44,270 --> 00:03:49,760 u razredu ili materijale koji preporučamo da vama na internetu. 85 00:03:49,760 --> 00:03:52,980 A mi ćemo zapravo ići kroz neke od tih sredstava u malo. 86 00:03:52,980 --> 00:03:54,300 87 00:03:54,300 --> 00:03:57,400 >> Tako neke bilješke na stranicama za podršku. 88 00:03:57,400 --> 00:04:00,250 CS50-- jedna od stvari koja čini to je jedan od mojih omiljenih klase 89 00:04:00,250 --> 00:04:02,510 je osjećaj da nikad nisi sam. 90 00:04:02,510 --> 00:04:05,430 Imamo osoblje od preko 100 ljudi koji su tu da vam pomognemo. 91 00:04:05,430 --> 00:04:08,080 Imamo radno vrijeme Od ponedjeljka do četvrtka. 92 00:04:08,080 --> 00:04:13,230 Dakle, ima toliko ljudi koji ljubav razred, jednako kao i ja 93 00:04:13,230 --> 00:04:15,750 i tko su zapravo ovdje jer želim biti ovdje. 94 00:04:15,750 --> 00:04:19,390 Većina od nas su studenti, i to je kao peti razred uz 95 00:04:19,390 --> 00:04:20,390 na ostatak našeg rada. 96 00:04:20,390 --> 00:04:22,723 >> I to je puno posla, ali to radimo jer smo ga vole, 97 00:04:22,723 --> 00:04:25,600 i mi stvarno vole vas naučiti i pomoći podijeliti naše uzbuđenje 98 00:04:25,600 --> 00:04:27,260 za ovu temu i ovu klasu. 99 00:04:27,260 --> 00:04:28,490 Zato je iskoristite. 100 00:04:28,490 --> 00:04:29,370 Dođite razgovarati s nama. 101 00:04:29,370 --> 00:04:33,034 JA dobiti usamljen kad moji studenti nemojte razgovarati sa mnom, pa ako želite, 102 00:04:33,034 --> 00:04:33,950 dolaze družiti sa mnom. 103 00:04:33,950 --> 00:04:35,200 To će biti velik. 104 00:04:35,200 --> 00:04:37,400 >> Dakle, dio je očito jedan od vaših najvećih stvari. 105 00:04:37,400 --> 00:04:41,770 Mi ćemo proći kroz stvari koje ste naučili na predavanju, 106 00:04:41,770 --> 00:04:44,100 napraviti neke kratke primjere kad smo imali vremena, 107 00:04:44,100 --> 00:04:46,187 i općenito vrsta dobili ideju o stvarima 108 00:04:46,187 --> 00:04:48,270 mora se misliti o za postavljanje tvoj problem. 109 00:04:48,270 --> 00:04:49,540 110 00:04:49,540 --> 00:04:53,591 Shorts-- koliko ljudi zapravo gledao video iz vašeg nule 111 00:04:53,591 --> 00:04:54,090 Ukratko? 112 00:04:54,090 --> 00:04:55,460 113 00:04:55,460 --> 00:04:57,390 Svatko prepoznaju me? 114 00:04:57,390 --> 00:04:59,720 Dakle, oni su vrlo velike. 115 00:04:59,720 --> 00:05:01,210 Svakako treba gledati one. 116 00:05:01,210 --> 00:05:02,880 Puno posla je stavio u njih. 117 00:05:02,880 --> 00:05:06,690 I oni su samo trebali biti bite-size komada za vas samo gledati 118 00:05:06,690 --> 00:05:09,760 za tri ili četiri minute i dobiti bolje razumijevanje koncepta. 119 00:05:09,760 --> 00:05:11,147 120 00:05:11,147 --> 00:05:12,980 Šetnja throughs-- kako mnogi ljudi su gledali 121 00:05:12,980 --> 00:05:14,880 Šetnja throughs za prijašnjih? 122 00:05:14,880 --> 00:05:16,240 Zamyla je nevjerojatna, zar ne? 123 00:05:16,240 --> 00:05:18,100 Kao, ja bih da sam Zamyla ponekad. 124 00:05:18,100 --> 00:05:19,650 125 00:05:19,650 --> 00:05:21,640 Dakle, svakako koristite walk-provodnike. 126 00:05:21,640 --> 00:05:25,070 Ona će ga razbiti u male, ugristi-size komada. 127 00:05:25,070 --> 00:05:28,079 A kad ste to ogromna Specifikacije iz svojih problema seta, 128 00:05:28,079 --> 00:05:30,870 to će biti jako važno da bi mogli jednostavno naći negdje 129 00:05:30,870 --> 00:05:32,600 početi i raditi polako kroz njega. 130 00:05:32,600 --> 00:05:33,610 131 00:05:33,610 --> 00:05:40,260 >> U redu, imamo i Study50, koji je study50.harvard.edu, vjerujem. 132 00:05:40,260 --> 00:05:42,270 Možete jednostavno Google studija, i to će doći. 133 00:05:42,270 --> 00:05:45,750 To je jedna od Najbolji izvori imamo. 134 00:05:45,750 --> 00:05:49,800 To je PowerPoints s bilješkama i praksi probleme za vas 135 00:05:49,800 --> 00:05:52,430 uz rješenja koja ste zapravo može prošetati. 136 00:05:52,430 --> 00:05:57,000 Dakle, ako ste ikada željeli više prakse, više nego mi u odjeljcima ili više 137 00:05:57,000 --> 00:06:00,700 od vaših problema setovima, ovo je stvarno mjesto vas potaknuti da ide. 138 00:06:00,700 --> 00:06:03,590 Izgrađena je prošlog ljeta od strane neki od mojih jako dobrih prijatelja. 139 00:06:03,590 --> 00:06:04,480 I to je nevjerojatno. 140 00:06:04,480 --> 00:06:05,540 141 00:06:05,540 --> 00:06:08,670 U stvari, puno slajdova da ću biti koristeći Odjela 142 00:06:08,670 --> 00:06:10,190 će doći iz Study50. 143 00:06:10,190 --> 00:06:12,000 >> Dakle, puno je TFS ga koristiti. 144 00:06:12,000 --> 00:06:13,920 I na kraju, kao što sam spomenuti, radno vrijeme. 145 00:06:13,920 --> 00:06:15,836 Ako imate problema s s domaću zadaću, ti si 146 00:06:15,836 --> 00:06:18,270 ima problema s Koncept, dolaze u uredovno vrijeme. 147 00:06:18,270 --> 00:06:20,190 Idi početkom tjedna, ako možete. 148 00:06:20,190 --> 00:06:23,130 Izaći na quad, jer je vrsta daleko. 149 00:06:23,130 --> 00:06:24,780 Nitko ne voli hodati vani. 150 00:06:24,780 --> 00:06:27,090 Ali, to je na svoju korist, jer tada ste 151 00:06:27,090 --> 00:06:29,580 će imati sve te TFS, [Nečujan] okružuju vas. 152 00:06:29,580 --> 00:06:31,920 A pogotovo sada, Samo savjet, četvrtkom 153 00:06:31,920 --> 00:06:35,310 Vrlo odmarati upravo sada u Mather zbog svoje psets 154 00:06:35,310 --> 00:06:36,577 su zbog četvrtkom. 155 00:06:36,577 --> 00:06:38,410 A znajući želi koristiti svoje kasne dana još. 156 00:06:38,410 --> 00:06:40,030 >> Dakle, ako imate Problem s konceptima, 157 00:06:40,030 --> 00:06:41,780 ima puno TFS koji su tu da vam pomoći. 158 00:06:41,780 --> 00:06:43,196 Stoga dođite na Mather u četvrtak. 159 00:06:43,196 --> 00:06:45,280 Ako želite me vidjeti, Ja ću biti tamo. 160 00:06:45,280 --> 00:06:48,870 Ja sam obično rade svoj domaću zadaću, jer nitko ne želi moju pomoć. 161 00:06:48,870 --> 00:06:50,260 Dakle, doći vidjeti nas. 162 00:06:50,260 --> 00:06:51,460 163 00:06:51,460 --> 00:06:52,440 >> Upoznajte nas na pola puta. 164 00:06:52,440 --> 00:06:55,400 Pa kako mnogi ljudi su prisustvovali predavanje ili je gledao na internetu? 165 00:06:55,400 --> 00:06:56,570 166 00:06:56,570 --> 00:06:59,140 Koliko ljudi je otišao u super poglavlje prošli tjedan? 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 zapravo priličan broj. 170 00:07:02,190 --> 00:07:05,425 Kako mnogi od vas su čitali svoje spec za ovaj tjedan, za svoju pset? 171 00:07:05,425 --> 00:07:07,081 172 00:07:07,081 --> 00:07:08,461 Ooh, ja sam ponosan na vas dečki! 173 00:07:08,461 --> 00:07:09,335 Više bombona za y'all. 174 00:07:09,335 --> 00:07:11,070 175 00:07:11,070 --> 00:07:13,280 >> Dobro, pa što mislimo "Susret nas na pola puta" je 176 00:07:13,280 --> 00:07:16,440 koji dio je zapravo samo će biti super korisna za vas 177 00:07:16,440 --> 00:07:19,810 Ako dođete u što je pročitao svoj Specifikacija za svoj pset. 178 00:07:19,810 --> 00:07:23,859 Jer kad idem kroz pregled stvari koje bi trebali biti u potrazi za, 179 00:07:23,859 --> 00:07:25,650 to neće napraviti koliko smisla ako vas 180 00:07:25,650 --> 00:07:28,358 ne znam koji je tvoj problem postavljen će se pitate što učiniti. 181 00:07:28,358 --> 00:07:29,020 182 00:07:29,020 --> 00:07:32,590 >> Ako ne dođe do odjeljku, očito Ne može biti da je korisno za vas. 183 00:07:32,590 --> 00:07:36,600 Neću ga uzeti osobno, ako ne dolaze u moj odjeljak upravo sada, 184 00:07:36,600 --> 00:07:38,570 ali svakako biste trebali. 185 00:07:38,570 --> 00:07:40,090 Ako ne možete, gledati ih online. 186 00:07:40,090 --> 00:07:41,230 187 00:07:41,230 --> 00:07:42,519 Oni su tu s razlogom. 188 00:07:42,519 --> 00:07:43,560 Rudnik će biti tamo. 189 00:07:43,560 --> 00:07:44,187 190 00:07:44,187 --> 00:07:47,270 Kao što ste primijetili, mi smo se snima, tako da ću biti tu za vas dečki. 191 00:07:47,270 --> 00:07:49,110 192 00:07:49,110 --> 00:07:51,570 Kao što je dobro, ide na lectures-- to je očito 193 00:07:51,570 --> 00:07:53,790 gdje ste uzimajući početak vašeg materijala ovdje. 194 00:07:53,790 --> 00:07:57,430 Dakle, ja ću svakako pokušati vam pomoći koliko god mogu, 195 00:07:57,430 --> 00:07:58,840 ali ja samo mogu sresti do sada. 196 00:07:58,840 --> 00:08:01,220 Morate vrsta upoznajte nas na pola puta. 197 00:08:01,220 --> 00:08:04,050 >> Grading-- tako, sve vas koji je dobio e-mail od mene, 198 00:08:04,050 --> 00:08:05,445 ti si moja službena poglavlje. 199 00:08:05,445 --> 00:08:06,470 200 00:08:06,470 --> 00:08:08,120 Ja ću biti gradiranje svoje psets. 201 00:08:08,120 --> 00:08:12,870 A ja samo želim reći jednu stvar da je ti stvarno treba obratiti pozornost na 202 00:08:12,870 --> 00:08:13,820 su komentari. 203 00:08:13,820 --> 00:08:17,390 Komentari su često korisna od stvarnog rezultata smo vam dati. 204 00:08:17,390 --> 00:08:19,890 A komentari su zapravo gdje sam potrošiti puno svog vremena 205 00:08:19,890 --> 00:08:20,770 kad sam ocjenjivanje. 206 00:08:20,770 --> 00:08:22,700 Dakle, ja bih zahvalan što ako ih pročitali. 207 00:08:22,700 --> 00:08:26,990 I oni su zapravo kako ćete kako bi saznali više o dizajnu i stilu 208 00:08:26,990 --> 00:08:29,860 i stvari koje su malo manje izrezati i suha. 209 00:08:29,860 --> 00:08:31,770 >> Pa stvarno obratiti pažnju tim komentarima. 210 00:08:31,770 --> 00:08:34,720 Ako imate pitanja o njima, ili pitanja o svoj rezultat, 211 00:08:34,720 --> 00:08:37,620 molim te dođi sa mnom razgovarati bilo prije sekciji, 212 00:08:37,620 --> 00:08:41,039 Vjerojatno ću biti druženje U predvorju ili poslije. 213 00:08:41,039 --> 00:08:43,559 Ako želite zakazati jedan-na-jedan sastanaka o tome 214 00:08:43,559 --> 00:08:46,100 možete poboljšati kasnije problema setovi, samo javite mi. 215 00:08:46,100 --> 00:08:47,520 216 00:08:47,520 --> 00:08:49,750 >> A onda samo par savjeta za vas dečki. 217 00:08:49,750 --> 00:08:53,110 Dakle, jedna od najvećih stvari Uvijek naglašavam da moj odjeljak 218 00:08:53,110 --> 00:08:57,700 kada ste učenje kako kod je pisati stvari na papiru prvi. 219 00:08:57,700 --> 00:09:01,080 Ako imate plan igre za gdje je vaš broj treba ići 220 00:09:01,080 --> 00:09:03,230 a ono što treba učiniti i to je oborio 221 00:09:03,230 --> 00:09:06,000 u malim komadićima Pseudokod Kod ste napisana, 222 00:09:06,000 --> 00:09:09,780 ti ćeš biti manje vjerojatno da bi pogreške u sintaksi 223 00:09:09,780 --> 00:09:12,355 ili stvoriti ako petlju da nema se što drugo. 224 00:09:12,355 --> 00:09:14,064 225 00:09:14,064 --> 00:09:15,980 Ako znate gdje ste ide u ukupnom poretku, ti si 226 00:09:15,980 --> 00:09:19,764 manje je vjerojatno da bi to sitna pogreške koje ponekad će vas odvesti 227 00:09:19,764 --> 00:09:22,555 vrijeme popraviti, jer si kao, gdje sam ja nedostaje ovu konzolu? 228 00:09:22,555 --> 00:09:23,580 229 00:09:23,580 --> 00:09:27,420 >> Na toj bilješci, molimo vas da koristite Style50. 230 00:09:27,420 --> 00:09:28,820 231 00:09:28,820 --> 00:09:31,590 Pogotovo kad si ide radnog vremena, 232 00:09:31,590 --> 00:09:34,850 ako je vaš broj je sve prebacio na jednu stranu, 233 00:09:34,850 --> 00:09:37,740 Naravno da je politika da možemo reći, to popraviti 234 00:09:37,740 --> 00:09:41,990 tako da izgleda kao Style50 kaže što bi trebao, a onda ćemo vam pomoći. 235 00:09:41,990 --> 00:09:43,830 Dakle, to će učiniti vaš život lakšim. 236 00:09:43,830 --> 00:09:45,030 To će učiniti naš život lakšim. 237 00:09:45,030 --> 00:09:46,000 Svatko je sretniji. 238 00:09:46,000 --> 00:09:47,290 Svatko dobiva bolje ocjene. 239 00:09:47,290 --> 00:09:48,760 Nije li to ono što svi želimo? 240 00:09:48,760 --> 00:09:50,420 241 00:09:50,420 --> 00:09:53,860 >> Dakle, pisati stvari na papiru prije li ikada dodir vaše računalo. 242 00:09:53,860 --> 00:09:57,540 Razgovarajte stvari na visokoj razini, a budite sigurni da znate kamo idete. 243 00:09:57,540 --> 00:09:59,940 A ako niste sigurni, sjesti s nekim 244 00:09:59,940 --> 00:10:03,340 te ih provesti kroz korak po korak što je vaš broj je trebalo učiniti. 245 00:10:03,340 --> 00:10:07,940 I devet puta od 10, vi ćete biti kao što su, oh, zaboravio sam ako stanje 246 00:10:07,940 --> 00:10:12,420 ili sam zaboravio zarez ovdje ili Ja sam ovo ažuriranje varijabilnog krivo. 247 00:10:12,420 --> 00:10:15,740 Dakle, to su moji savjeti za uspjeh. 248 00:10:15,740 --> 00:10:19,820 >> Dakle, budući da je oko pola od vas tražiti kao što ste sudjelovali super sekciju, 249 00:10:19,820 --> 00:10:24,080 Samo ću se vrlo ukratko proći kroz petlje, 250 00:10:24,080 --> 00:10:26,650 koji nisu bili na našem izvornom planu. 251 00:10:26,650 --> 00:10:28,190 No, oni su jako važni. 252 00:10:28,190 --> 00:10:30,250 I tako ću vrste brzine preko onih 253 00:10:30,250 --> 00:10:32,860 prije nego što smo dobili u naš stvarni dijelu. 254 00:10:32,860 --> 00:10:36,269 Prije nego što sam to učinio, postoje bilo questions-- logistički, 255 00:10:36,269 --> 00:10:38,060 Osobno, postoji bilo što drugo što želite 256 00:10:38,060 --> 00:10:40,990 znati o meni ili oko poglavlje ili klase u cjelini? 257 00:10:40,990 --> 00:10:43,195 258 00:10:43,195 --> 00:10:43,880 Sve dobro? 259 00:10:43,880 --> 00:10:45,300 U redu, u redu. 260 00:10:45,300 --> 00:10:46,781 261 00:10:46,781 --> 00:10:47,280 Lijepa. 262 00:10:47,280 --> 00:10:50,071 >> Dakle loops-- ti dečki trebali svi prepoznaju tih komada od nule. 263 00:10:50,071 --> 00:10:51,310 264 00:10:51,310 --> 00:10:55,220 Dakle petlje su zapravo samo način da učinite nešto 265 00:10:55,220 --> 00:10:58,900 neki broj puta, neka ponovi Akcija se temelji na nekim uvjetna. 266 00:10:58,900 --> 00:11:00,140 267 00:11:00,140 --> 00:11:02,090 Dakle, imamo tri različite vrste. 268 00:11:02,090 --> 00:11:04,860 Imamo za petlju, dok je, i ne-vrijeme. 269 00:11:04,860 --> 00:11:06,430 270 00:11:06,430 --> 00:11:11,320 >> Tako je za loops-- smo samo jako opći izgled ovdje od for petlje. 271 00:11:11,320 --> 00:11:16,110 I to je super kad znaš kako je mnogo puta nešto treba izvršiti. 272 00:11:16,110 --> 00:11:17,040 273 00:11:17,040 --> 00:11:18,790 Kada govorimo o druge petlje, vi ćete 274 00:11:18,790 --> 00:11:20,650 vidjeti zašto je to važna razlika. 275 00:11:20,650 --> 00:11:22,530 No, za petlje su za nešto set. 276 00:11:22,530 --> 00:11:24,590 Vi znate da možete ili izračunati broj 277 00:11:24,590 --> 00:11:29,230 ili znate koliko puta ste želim to ponoviti na početku. 278 00:11:29,230 --> 00:11:32,220 >> Dakle, ako vidite ovdje, mi imaju samo opću vrstu 279 00:11:32,220 --> 00:11:34,480 od kostura okvira za za petlju ovdje. 280 00:11:34,480 --> 00:11:38,080 Tako je za-inicijalizacije, ovo je mjesto gdje Vaši varijable pokrenut. 281 00:11:38,080 --> 00:11:41,915 S Mario, siguran sam da dečki učinio nešto poput int i jednak 0. 282 00:11:41,915 --> 00:11:42,920 283 00:11:42,920 --> 00:11:44,710 To je mjesto gdje će se to dogoditi u plavom. 284 00:11:44,710 --> 00:11:48,290 Imate vaše stanje, koje je ono što se provjerava svaki put. 285 00:11:48,290 --> 00:11:52,410 Ako ovaj uvjet je istina, onda Ostatak koda izvršava. 286 00:11:52,410 --> 00:11:54,749 Onda to će pokrenuti again-- i pitati. 287 00:11:54,749 --> 00:11:57,290 I onda imamo ažuriranje, gdje ti si ažuriranju varijablu. 288 00:11:57,290 --> 00:12:01,410 Dakle, opet, sa sličnim Mario, siguran sam vi učinili nešto kao da sam plus plus. 289 00:12:01,410 --> 00:12:04,640 Dakle, svaki put petlje ran, ja dobio ažurira tako 290 00:12:04,640 --> 00:12:09,370 da kad smo ga provjeru protiv neki uvjet, to se mijenjalo. 291 00:12:09,370 --> 00:12:12,570 >> Jer ako vas baš imaju statičku varijablu, 292 00:12:12,570 --> 00:12:15,567 ako se izvršava prvi put, to je Upravo će izvršiti beskonačno. 293 00:12:15,567 --> 00:12:18,025 Dakle, morate biti sigurni da ažurirati svoj varijablu ispravno. 294 00:12:18,025 --> 00:12:19,350 295 00:12:19,350 --> 00:12:23,890 I mi također imamo samo Vizualni prikaz postoji. 296 00:12:23,890 --> 00:12:24,930 Svi su dobro? 297 00:12:24,930 --> 00:12:25,630 Za petlje. 298 00:12:25,630 --> 00:12:27,540 Ukoliko ste vidjeli ove u vašem pset. 299 00:12:27,540 --> 00:12:28,840 Cool. 300 00:12:28,840 --> 00:12:31,870 >> Dakle, ovdje je samo jednostavan primjer. 301 00:12:31,870 --> 00:12:32,860 Ispis Ovo je CS50! 302 00:12:32,860 --> 00:12:33,360 10 puta. 303 00:12:33,360 --> 00:12:34,850 304 00:12:34,850 --> 00:12:37,906 I tako imamo inicijalizacije, kao što smo vidjeli tamo, s int i 305 00:12:37,906 --> 00:12:41,280 jednaka 0, jer je i manje od 10, a ja plus plus. 306 00:12:41,280 --> 00:12:43,090 307 00:12:43,090 --> 00:12:44,540 I to će ispisati da je 10 puta. 308 00:12:44,540 --> 00:12:46,230 309 00:12:46,230 --> 00:12:56,781 >> Dakle, dok loops-- dok su petlje super kada to nije nužno 310 00:12:56,781 --> 00:12:59,530 moraju znati koliko puta je to će se ažurirati u početku. 311 00:12:59,530 --> 00:13:00,640 312 00:13:00,640 --> 00:13:02,580 Vi samo imaju neke stanje koje je označeno. 313 00:13:02,580 --> 00:13:09,550 A to bi moglo biti nešto poput while-- uzmimo primjer iz svog pset. 314 00:13:09,550 --> 00:13:12,540 Ako Mario, pokušate ulazna negativan broj. 315 00:13:12,540 --> 00:13:13,270 Pravo? 316 00:13:13,270 --> 00:13:15,460 Trebao si ponovno zatražiti vašu korisnika. 317 00:13:15,460 --> 00:13:20,890 Tako da mogu reći, dobro, ako korisnik ulaza nešto manje od nule, ponovno brz 318 00:13:20,890 --> 00:13:21,390 ih. 319 00:13:21,390 --> 00:13:23,890 A siguran sam da bi mogli imati je nešto što neki od vas 320 00:13:23,890 --> 00:13:24,660 koristiti u kodu. 321 00:13:24,660 --> 00:13:26,270 >> Dakle, to je jednostavna stvar. 322 00:13:26,270 --> 00:13:28,490 Imate dok su neki uvjetna da se provjerava 323 00:13:28,490 --> 00:13:30,460 svaki put kod ide na izvršavanje. 324 00:13:30,460 --> 00:13:32,660 Ako je to true, možemo ga pokrenuti. 325 00:13:32,660 --> 00:13:33,820 Inače mi ne. 326 00:13:33,820 --> 00:13:35,650 A ono što je stvarno important-- nešto što sam 327 00:13:35,650 --> 00:13:38,155 mislim da je David govorio o U lecture-- su aparatić. 328 00:13:38,155 --> 00:13:40,760 329 00:13:40,760 --> 00:13:42,930 Što god je u roku aparatić je ono što je pogubljen. 330 00:13:42,930 --> 00:13:45,850 Ako ste zaboravili one aparatić, to samo ide 331 00:13:45,850 --> 00:13:48,800 biti liniju izravno nakon što je dok je bio pogubljen. 332 00:13:48,800 --> 00:13:51,040 >> Dakle, ako imate tri stvari koje bi trebalo 333 00:13:51,040 --> 00:13:54,020 dogoditi kada se to uvjeta true, 334 00:13:54,020 --> 00:13:58,040 a vi nemate one aparatić, samo Prvo što će se dogoditi. 335 00:13:58,040 --> 00:14:01,510 Dakle, biti vrlo svjesni gdje ste stavili svoje aparatić. 336 00:14:01,510 --> 00:14:04,880 Ako stick s Style50, To definitivno će vam pomoći. 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 >> Dakle, ovo je odbrojavanje od 10 do nule. 340 00:14:10,835 --> 00:14:12,380 341 00:14:12,380 --> 00:14:16,210 I kao što vidite ovdje, mi inicijalizirati neki brojač izvan nje. 342 00:14:16,210 --> 00:14:19,250 Jedna stvar koja je drugačija je nismo inicijalizacije našu varijablu 343 00:14:19,250 --> 00:14:20,300 unutar naše while petlje. 344 00:14:20,300 --> 00:14:22,150 To je inicijalizacije izvan nje. 345 00:14:22,150 --> 00:14:25,480 Mi smo jednostavno samo stavljajući stanje u našem vrijeme. 346 00:14:25,480 --> 00:14:28,630 Dakle, u ovom slučaju, to je dok je broj veći od nule. 347 00:14:28,630 --> 00:14:35,134 A mi ispisati ono što je naš kut je, a onda smo umanjuje našu varijablu. 348 00:14:35,134 --> 00:14:36,800 I to je također još jedna stvar za primijetiti. 349 00:14:36,800 --> 00:14:40,440 Naš ažuriranje ne događa unutar da je prvi dio while petlje. 350 00:14:40,440 --> 00:14:44,255 To će se zapravo dogoditi u roku braces, tijelo vašeg teksta. 351 00:14:44,255 --> 00:14:46,820 352 00:14:46,820 --> 00:14:51,860 >> Dakle, nemojte-a loops-- učiniti-a petlji su veliki za korisnika validacije. 353 00:14:51,860 --> 00:14:54,820 Dakle, neki od vas možda Također se koristi u svoj pset. 354 00:14:54,820 --> 00:14:59,960 Možete reći, učiniti, kao što je, pitati korisnika za ulaz. 355 00:14:59,960 --> 00:15:04,690 A onda, dok, kao što su, ulaz je manji od nekog broja. 356 00:15:04,690 --> 00:15:10,700 >> Tako je za izričitog slučaj s Mariom, to bi to printf, unesite cijeli broj, 357 00:15:10,700 --> 00:15:13,820 a onda neki broj jednak getint. 358 00:15:13,820 --> 00:15:17,060 A onda ću zapravo izvršavati taj kod prvog. 359 00:15:17,060 --> 00:15:19,120 Vi zapravo ćete imati neka vrsta cijeli broj. 360 00:15:19,120 --> 00:15:23,380 A onda bi se moglo reći, dok je da je broj manji od nule. 361 00:15:23,380 --> 00:15:26,120 Dakle, ono što će učiniti je da je će se izvršiti najmanje jednom. 362 00:15:26,120 --> 00:15:27,536 To će provjeriti stanje. 363 00:15:27,536 --> 00:15:29,690 Ako je uvjet Istina, to će ponovno pokrenuti. 364 00:15:29,690 --> 00:15:32,900 >> Dakle, ne-while petlje su super za korisnika valjanosti, 365 00:15:32,900 --> 00:15:36,770 jer znate šifru će se izvršiti najmanje 366 00:15:36,770 --> 00:15:39,720 jednom, dok je s dok petlje, niste 367 00:15:39,720 --> 00:15:41,630 jamči da je će se izvršiti jednom. 368 00:15:41,630 --> 00:15:45,330 To će provjeriti stanje prvi i onda odlučiti za njezino izvršenje, 369 00:15:45,330 --> 00:15:48,350 dok je učiniti-a će izvršiti kod prvog 370 00:15:48,350 --> 00:15:51,110 a zatim provjerite da li morate ga ponoviti. 371 00:15:51,110 --> 00:15:52,985 Ima li tu razliku smisla svima? 372 00:15:52,985 --> 00:15:53,680 373 00:15:53,680 --> 00:15:54,180 U redu. 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 >> Dakle, u ovom slučaju, to je vrsta onoga što sam govorio, 378 00:15:59,800 --> 00:16:02,210 Ovo ponovno upite sve dok niste dobili pozitivan broj. 379 00:16:02,210 --> 00:16:05,060 Dakle, mi znamo da printf "Unesite pozitivan broj" 380 00:16:05,060 --> 00:16:08,720 i zapravo traži da se ulaz će se dogoditi barem jednom. 381 00:16:08,720 --> 00:16:12,650 Ako korisnik zla i čuva ulaska negativan niz, koji je 382 00:16:12,650 --> 00:16:14,210 zna koliko puta to će izvršavati. 383 00:16:14,210 --> 00:16:17,500 Ali to kod zajamčena izvršiti barem jednom. 384 00:16:17,500 --> 00:16:20,040 I to je razlog zašto je super za vrednovanje ulaz. 385 00:16:20,040 --> 00:16:22,300 A što će se koristiti da se vrlo malo. 386 00:16:22,300 --> 00:16:23,870 387 00:16:23,870 --> 00:16:25,830 >> U redu, bilo kakva pitanja do sada? 388 00:16:25,830 --> 00:16:27,080 389 00:16:27,080 --> 00:16:28,030 Svi smo dobri? 390 00:16:28,030 --> 00:16:29,513 Jesam li govori prebrzo? 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 U redu. 394 00:16:31,630 --> 00:16:32,960 395 00:16:32,960 --> 00:16:33,800 Strašan 396 00:16:33,800 --> 00:16:35,841 >> Tako ćemo ići naprijed i razgovarati o polja. 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 Dakle, polja su u osnovi samo strukture podataka 400 00:16:40,700 --> 00:16:43,260 da nam omogućiti da pohraniti stvari iste vrste. 401 00:16:43,260 --> 00:16:47,920 Dakle, ako ste ikada imati niz, to je bilo samo će imati Ints 402 00:16:47,920 --> 00:16:51,590 ili to samo će imati splavi ili to samo će imati znakova. 403 00:16:51,590 --> 00:16:55,440 Nećeš imati int s char s float s bračnim. 404 00:16:55,440 --> 00:16:56,850 Jedno. 405 00:16:56,850 --> 00:17:00,810 Nizovi su samo jedna veličina, ili su samo jedna vrsta. 406 00:17:00,810 --> 00:17:05,679 >> Dakle, ovdje imamo niz veličine tri sa tri brojeva u njemu. 407 00:17:05,679 --> 00:17:07,970 Mogli pluta, ali smo reći da su Ints. 408 00:17:07,970 --> 00:17:09,310 409 00:17:09,310 --> 00:17:16,970 Dakle, jedna stvar za shvatiti je da nizovi su set veličine kada inicijalizirati 410 00:17:16,970 --> 00:17:22,285 ih, a oni nisu easily-- budući da su sve manje ugodno, 411 00:17:22,285 --> 00:17:25,034 samo treba misliti na njih kao Ne bude u mogućnosti proširiti u veličini. 412 00:17:25,034 --> 00:17:26,119 413 00:17:26,119 --> 00:17:28,740 Međutim velika krenete Vaš polje u početku, 414 00:17:28,740 --> 00:17:31,070 to je veličina što se događa ostati, jer polja 415 00:17:31,070 --> 00:17:33,070 su kontinuirano blokovi memorije. 416 00:17:33,070 --> 00:17:34,007 417 00:17:34,007 --> 00:17:35,840 A kad vi dobijete u malo više 418 00:17:35,840 --> 00:17:40,820 koliko memorije zapravo rasprostire se na diskova i na hrpi i stog, 419 00:17:40,820 --> 00:17:42,220 to će učiniti malo više smisla. 420 00:17:42,220 --> 00:17:48,310 >> Ali ti samo mogao misliti kao, to je Samo red prostora na disku. 421 00:17:48,310 --> 00:17:52,540 I ne može jamčiti da postoji će biti slobodnog prostora nakon njega. 422 00:17:52,540 --> 00:17:55,290 Ti bi mogao inicijalizirati niz tri, a onda možda 423 00:17:55,290 --> 00:17:59,190 inicijalizirati još jedan niz od pet kasnije, i to je odmah nakon toga. 424 00:17:59,190 --> 00:18:04,000 Dakle, ako ste bili da ide prošlosti mjesto tri u tom prvom nizu, 425 00:18:04,000 --> 00:18:06,370 što će biti pismeno više nešto drugo. 426 00:18:06,370 --> 00:18:10,390 Tako polja are-- za vas momci, samo misliti o njima kao fiksne veličine. 427 00:18:10,390 --> 00:18:12,700 428 00:18:12,700 --> 00:18:16,890 >> Dakle, stvaranje array-- idete da je potrebno učiniti vrlo malo. 429 00:18:16,890 --> 00:18:18,240 430 00:18:18,240 --> 00:18:22,080 Dakle, na isti način na koji smo Opća struktura za naše za petlje, 431 00:18:22,080 --> 00:18:24,910 imamo lijep generala Struktura za naš niz. 432 00:18:24,910 --> 00:18:28,430 Budući da su jedne vrste, sve elementi u nizu su od jedne vrste, 433 00:18:28,430 --> 00:18:30,950 morate inicijalizirati što je to tip je. 434 00:18:30,950 --> 00:18:33,804 >> Dakle, kao što vidite ovdje, imamo lijepo malo vrsta podataka nosač. 435 00:18:33,804 --> 00:18:35,970 Dakle, ako smo stvaranja int polje, koje će biti int. 436 00:18:35,970 --> 00:18:38,830 Ako smo stvaranje char polje, to će biti char. 437 00:18:38,830 --> 00:18:41,890 Ako smo stvaranje niza polje, to će biti niz. 438 00:18:41,890 --> 00:18:45,140 A onda naziv vašeg polja, što god želite da bude. 439 00:18:45,140 --> 00:18:51,750 Dakle, možda je test rezultate ili možda to studenti ili možda je slatkiša. 440 00:18:51,750 --> 00:18:54,440 Što god da se odlučite za ime svoje polje, to je ono što će biti. 441 00:18:54,440 --> 00:18:57,260 >> A onda u zagradi, vi ćete ima veličinu koju želite. 442 00:18:57,260 --> 00:19:01,350 Dakle, mi smo pohranjivanje 10 učenika ili smo pohranjivanje 15 vrsta slatkiša? 443 00:19:01,350 --> 00:19:03,200 444 00:19:03,200 --> 00:19:03,920 Ono što ne. 445 00:19:03,920 --> 00:19:06,830 Dakle, ovdje našem primjeru, mi stvaramo niz 446 00:19:06,830 --> 00:19:10,100 veličine tri, što vam momci vidim ovdje na desnoj strani. 447 00:19:10,100 --> 00:19:11,350 448 00:19:11,350 --> 00:19:15,990 A kad smo prvi inicijalizirati da, sve je postavljena na nulu. 449 00:19:15,990 --> 00:19:18,970 Dakle, to je samo mislio o kao prazna ploča. 450 00:19:18,970 --> 00:19:22,550 Imamo sve te prostore, imamo sve ove kutije mogli staviti svoje podatke u, 451 00:19:22,550 --> 00:19:25,530 ali oni su samo prazna za sada. 452 00:19:25,530 --> 00:19:28,700 >> Dakle, ako želimo da se zapravo dodijeliti im te vrijednosti, 453 00:19:28,700 --> 00:19:33,050 činimo kako točno ispod ovdje pokazuje. 454 00:19:33,050 --> 00:19:39,170 Dakle, imate bez obzira na ime svoje Niz je i ono indeks želite. 455 00:19:39,170 --> 00:19:43,070 Tako je indeks samo odnosi, kao, ono utor gledamo. 456 00:19:43,070 --> 00:19:47,830 A važna stvar za primijetiti je da su nizovi nula-indeksirane. 457 00:19:47,830 --> 00:19:53,160 Dakle, ako želimo prvo mjesto u memoriji naše ponude, to će biti nula. 458 00:19:53,160 --> 00:19:54,740 Ako želimo drugo, to će biti jedan. 459 00:19:54,740 --> 00:19:56,198 Ako želimo trećinu, to će biti dva. 460 00:19:56,198 --> 00:19:57,820 Tako dalje i tako dalje. 461 00:19:57,820 --> 00:20:02,130 >> Koji je razlog zašto, uobičajeno, kada radimo za loops-- sam siguran 462 00:20:02,130 --> 00:20:05,030 ti dečki su se pitali, zašto Ne možemo početi na 0 u odnosu na 1? 463 00:20:05,030 --> 00:20:09,909 A to je zato što kad smo tranziciju u korištenju polja, to preslikava ispravno. 464 00:20:09,909 --> 00:20:11,700 Dakle, ako želite ponoviti u nizu, to 465 00:20:11,700 --> 00:20:14,830 čini puno više smisla za Moram jednaka 0, jer mi 466 00:20:14,830 --> 00:20:17,940 znam da će odgovarati na prvo mjesto u memoriji. 467 00:20:17,940 --> 00:20:18,990 468 00:20:18,990 --> 00:20:19,990 Svatko dobro s tim? 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 >> A onda se na je dno ovdje samo još jedan način za započeti niz. 472 00:20:26,240 --> 00:20:29,590 Još uvijek imate svoj Vrsta podataka i ime, 473 00:20:29,590 --> 00:20:31,960 ali umjesto da se zapravo stavljajući veličinu tamo, 474 00:20:31,960 --> 00:20:33,830 možete jednostavno napraviti prazne nosače. 475 00:20:33,830 --> 00:20:36,350 A onda s tim kovrčava proteza na dnu, 476 00:20:36,350 --> 00:20:40,270 možete samo unos podataka koji koje želite odvojene zarezima. 477 00:20:40,270 --> 00:20:43,070 I to će automatski kažu, u redu, vidim 478 00:20:43,070 --> 00:20:47,300 da imate tri stvari u tim protezama. 479 00:20:47,300 --> 00:20:51,410 Dakle, znam da moram izdvojiti tri blokovi memorije, a zatim pohraniti one. 480 00:20:51,410 --> 00:20:55,300 481 00:20:55,300 --> 00:21:01,670 >> Dakle, prva verzija mogla koristite ako tražiš svoj korisniku da ulaz 482 00:21:01,670 --> 00:21:04,770 vrijednosti, tako da možete ponoviti kroz niz 483 00:21:04,770 --> 00:21:07,660 i ask-- dobiti neki int da ih ulaz. 484 00:21:07,660 --> 00:21:10,500 Ako znate vrijednosti unaprijed, čini puno više smisla 485 00:21:10,500 --> 00:21:12,110 koristiti drugi način. 486 00:21:12,110 --> 00:21:17,270 No, u većini slučajeva, možda ne znate ono što su te vrijednosti će biti. 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 Ima li još pitanja? 490 00:21:20,393 --> 00:21:21,206 491 00:21:21,206 --> 00:21:21,705 U redu. 492 00:21:21,705 --> 00:21:25,960 493 00:21:25,960 --> 00:21:30,370 >> Dakle, pristup elements-- tako jedan od velikih stvari o polja 494 00:21:30,370 --> 00:21:33,310 da su nasumično pristupa, što znači da vas 495 00:21:33,310 --> 00:21:36,010 Ne morate gledati kroz svaki blok. 496 00:21:36,010 --> 00:21:38,150 Ako znate da vas Želite što je u bloku dva, 497 00:21:38,150 --> 00:21:40,820 ti samo mogu reći, dajte mi blokirali dva. 498 00:21:40,820 --> 00:21:44,160 I to je razlog zašto oni Indeksi su tako važni, 499 00:21:44,160 --> 00:21:46,220 a to je kako smo zapravo im pristupiti. 500 00:21:46,220 --> 00:21:50,660 Dakle, u ovom slučaju, kao što smo vidjeli prije, kada bili smo dodjeljivanje vrijednosti, u jednom 501 00:21:50,660 --> 00:21:55,360 prije, imali smo ime i Indeks htjeli smo pristup, zar ne? 502 00:21:55,360 --> 00:21:59,370 Dakle, na isti način, to je sve što to zapravo povući taj podataka out. 503 00:21:59,370 --> 00:22:02,940 Imamo ime i mi imaju indeks koji želimo. 504 00:22:02,940 --> 00:22:06,710 >> Dakle, u ovom slučaju, za petlju ovdje dolje na dnu, svatko 505 00:22:06,710 --> 00:22:09,060 zna što radi, Što bi isprintati? 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. 510 00:22:18,520 --> 00:22:20,130 Pa da, to je samo iterating putem. 511 00:22:20,130 --> 00:22:23,410 ja je jednak zero-- možemo hodati kroz kod samo brzo. 512 00:22:23,410 --> 00:22:26,680 i je nula, i manje od tri u ovom trenutku, zar ne? 513 00:22:26,680 --> 00:22:27,780 Tako da provjerava. 514 00:22:27,780 --> 00:22:33,370 A mi kažemo, u redu, print f sve što je u temperaturi ja. 515 00:22:33,370 --> 00:22:37,990 i je nula upravo ovdje, kada smo prvi put ponoviti, pa idemo na ovom prvom licu, 516 00:22:37,990 --> 00:22:40,840 a mi reći, u redu, 65 Broj želimo ispisati. 517 00:22:40,840 --> 00:22:43,570 Dakle, to će ispisati 65 a zatim napraviti novu liniju. 518 00:22:43,570 --> 00:22:46,550 ja ću ažurirati, tako da ispisuje 87. 519 00:22:46,550 --> 00:22:48,780 To ažurira opet, i to će ispisati 30. 520 00:22:48,780 --> 00:22:49,810 521 00:22:49,810 --> 00:22:50,630 Svi su cool? 522 00:22:50,630 --> 00:22:51,630 523 00:22:51,630 --> 00:22:52,130 Strašan. 524 00:22:52,130 --> 00:22:54,340 525 00:22:54,340 --> 00:22:54,840 >> U redu. 526 00:22:54,840 --> 00:22:57,710 Dakle, ovdje je vrsta jednog što sam govorio kako je 527 00:22:57,710 --> 00:23:00,020 možete pratiti nečiji rezultat i zašto 528 00:23:00,020 --> 00:23:03,300 biste koristili prvi način ga inicijalizacije 529 00:23:03,300 --> 00:23:04,890 umjesto da taj drugi način. 530 00:23:04,890 --> 00:23:06,620 I to samo prolazi kroz. 531 00:23:06,620 --> 00:23:08,945 I primijetiti imamo veličinu klase od 30. 532 00:23:08,945 --> 00:23:10,690 533 00:23:10,690 --> 00:23:15,770 I mi smo to inicijalizacije Niz Ints koja je veličine 30. 534 00:23:15,770 --> 00:23:18,070 A onda smo se iterating putem, a mi smo 535 00:23:18,070 --> 00:23:20,910 traži od korisnika da unese rezultati za svaku od njih 536 00:23:20,910 --> 00:23:23,700 a zatim ga dodjeljivanje specifično mjesto u memoriji 537 00:23:23,700 --> 00:23:24,860 negdje u tom nizu. 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 Je li to smisla svima? 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 >> Dakle hashtag definirati veličinu klase 30 preprocesor direktiva, 544 00:23:40,360 --> 00:23:43,780 što samo znači da gets-- ima raditi kao proces prikupljanja. 545 00:23:43,780 --> 00:23:47,595 Možete misliti na njega kao globalna varijabla. 546 00:23:47,595 --> 00:23:49,260 547 00:23:49,260 --> 00:23:53,030 Način na koji to je typically-- to omogućuje svoj kod 548 00:23:53,030 --> 00:23:54,770 da se lakše mijenjati. 549 00:23:54,770 --> 00:23:59,480 Pa recimo da je naša veličina razreda Odjednom ide 30-15, 550 00:23:59,480 --> 00:24:03,930 da nisam to definira na ovaj način, ja bih moraju proći kroz cijeli moj programa 551 00:24:03,930 --> 00:24:07,420 i promijeniti svaki primjerak 30-15. 552 00:24:07,420 --> 00:24:11,590 Ali s tim, ja se promijeniti jedno mjesto, a sve ostalo se mijenja. 553 00:24:11,590 --> 00:24:14,930 >> Ako ste ikada željeli učiniti hash definirati u slučaju 554 00:24:14,930 --> 00:24:19,020 gdje ste praćenje nekih postaviti broj bodova za klasu 555 00:24:19,020 --> 00:24:23,250 ili da koristite broj koja će se koristiti, kao što su, 556 00:24:23,250 --> 00:24:27,740 tijekom vrlo dugog programa, to je bolje definirati da je na početku 557 00:24:27,740 --> 00:24:34,440 tako da ako se sve to promijeni, te dobiti za promjenu prvo mjesto umjesto 100. 558 00:24:34,440 --> 00:24:34,940 Da? 559 00:24:34,940 --> 00:24:39,830 >> UČENIK: Između taj događaj i jednostavno izjavljujući [nečujan] preko na vrhu. 560 00:24:39,830 --> 00:24:42,470 >> ALLISON BUCHHOLTZ-AU: Tako ima veze s efficient-- 561 00:24:42,470 --> 00:24:45,460 to je vrsta izvan opsega što možemo pokriti u ovom poglavlju. 562 00:24:45,460 --> 00:24:49,236 To mora učiniti više s učinkovitosti i kako stvari zapravo 563 00:24:49,236 --> 00:24:50,485 raditi u procesu sastavljanja. 564 00:24:50,485 --> 00:24:52,590 565 00:24:52,590 --> 00:24:55,006 Ako želite da znam o tome, ja sam sretna što vas poslati 566 00:24:55,006 --> 00:24:56,450 e-mail s resurse o tome. 567 00:24:56,450 --> 00:24:57,810 568 00:24:57,810 --> 00:25:03,880 Hash definirati teži da bude poželjna za stvari. 569 00:25:03,880 --> 00:25:06,380 I kao što kodirati više, vrsta naučiti nijanse 570 00:25:06,380 --> 00:25:09,135 kada ste trebali koristiti Globalna odnosu na mljeveno meso definirati. 571 00:25:09,135 --> 00:25:11,010 No, za sada, vi stvarno nemate 572 00:25:11,010 --> 00:25:13,290 brinuti o tome je da je kratki odgovor. 573 00:25:13,290 --> 00:25:15,360 574 00:25:15,360 --> 00:25:16,360 Svatko dobro s tim? 575 00:25:16,360 --> 00:25:18,151 I također, ako želite koristiti ljestve definirati, 576 00:25:18,151 --> 00:25:21,120 to je stvarno važno primijetiti da ime treba biti u svim kape. 577 00:25:21,120 --> 00:25:22,210 578 00:25:22,210 --> 00:25:24,674 Mi ne samo da rade KLASA VELIČINA biti dramatična. 579 00:25:24,674 --> 00:25:26,090 To bi zapravo trebao biti u svim 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 Sve drugo bilo? 583 00:25:30,130 --> 00:25:31,190 Mi smo dobri? 584 00:25:31,190 --> 00:25:32,220 Lijepa. 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 >> U redu, tako da želim ti dečki pogledati ovo i vidjeti ako možete pronaći grešku. 588 00:25:38,495 --> 00:25:45,580 589 00:25:45,580 --> 00:25:46,507 Ja ću vam dati savjet. 590 00:25:46,507 --> 00:25:47,840 To je negdje u tom za petlje. 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 >> UČENIK: Treba biti manji od jednak 2. 594 00:25:55,704 --> 00:25:56,920 595 00:25:56,920 --> 00:26:01,094 >> ALLISON: Dakle, to može biti manja ili jednaka 2, ili to može biti manji od 3. 596 00:26:01,094 --> 00:26:02,510 A što je obrazloženje za to? 597 00:26:02,510 --> 00:26:05,135 >> UČENIK: [nečujan], 0, 1, 2. 598 00:26:05,135 --> 00:26:06,080 >> ALLISON: Točno. 599 00:26:06,080 --> 00:26:12,180 Dakle, u niz veličine n, mi samo indekse 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 A onda možemo dobiti stvarno lud i dobiti višedimenzionalne polja. 604 00:26:17,840 --> 00:26:19,340 605 00:26:19,340 --> 00:26:23,960 Jedan od problema kad sam ga uzeo u mom godine potrebne Višedimenzijski polja, 606 00:26:23,960 --> 00:26:28,720 i mislim da je jedan od njih može zahtijevati je ove godine, pa se ugodno. 607 00:26:28,720 --> 00:26:30,140 Zamotajte glavu oko njega sada. 608 00:26:30,140 --> 00:26:33,087 To će se vratiti na pohađati ti, ali na hladnom način. 609 00:26:33,087 --> 00:26:35,420 Dakle zaista možete samo misliti multi-dimenzionalnih polja 610 00:26:35,420 --> 00:26:36,870 kao polja od polja. 611 00:26:36,870 --> 00:26:38,060 612 00:26:38,060 --> 00:26:43,809 Na taj način možete vrsta mislite o ovom vrh red kao prvi komad memorije. 613 00:26:43,809 --> 00:26:45,600 I ovo je jedna Drugi komad memorije, 614 00:26:45,600 --> 00:26:47,570 i zadnji red je Treći komad memorije. 615 00:26:47,570 --> 00:26:50,740 A unutar toga, postoji niz. 616 00:26:50,740 --> 00:26:53,250 Ali, naravno, to je lakše prikazati ovako. 617 00:26:53,250 --> 00:26:55,610 >> Znači li to inicijalizirati na isti način. 618 00:26:55,610 --> 00:26:57,290 619 00:26:57,290 --> 00:27:01,610 To je lik odbor od tri do tri. 620 00:27:01,610 --> 00:27:04,180 Dakle, imate tri reda i tri stupca. 621 00:27:04,180 --> 00:27:06,760 Mi smo ga zastupa na ovaj način. 622 00:27:06,760 --> 00:27:11,800 I ti bi ga se pristupiti Isto tako, kolona po redu. 623 00:27:11,800 --> 00:27:14,840 I tako 1,1 kao što vidimo ovdje. 624 00:27:14,840 --> 00:27:18,730 Mi dodijeliti nula, nula tamo gore. 625 00:27:18,730 --> 00:27:21,900 2,0 i 0,2. 626 00:27:21,900 --> 00:27:26,900 Tako da bi samo them-- pristupiti ako itko ikada učinio linearna algebra, 627 00:27:26,900 --> 00:27:31,580 isti način pristupiti element u UPC, to je ista ideja ovdje. 628 00:27:31,580 --> 00:27:33,030 Dakle, možete ga povezati natrag u matematici. 629 00:27:33,030 --> 00:27:34,130 630 00:27:34,130 --> 00:27:36,380 Vi ne morate brinuti previše toliko o tome sada. 631 00:27:36,380 --> 00:27:38,671 To je dobro imati izlaganje, znati da to možete učiniti. 632 00:27:38,671 --> 00:27:42,700 Možete stvoriti neke luda number-- možete 633 00:27:42,700 --> 00:27:44,750 stvaraju lude polja se sve što ću reći. 634 00:27:44,750 --> 00:27:45,250 [Nečujan] 635 00:27:45,250 --> 00:27:46,585 636 00:27:46,585 --> 00:27:48,460 Ona dobiva malo luda, ali to je stvarno cool. 637 00:27:48,460 --> 00:27:50,020 638 00:27:50,020 --> 00:27:50,670 Strašan. 639 00:27:50,670 --> 00:27:52,550 >> A onda, pa imamo primjer ovdje. 640 00:27:52,550 --> 00:27:54,165 To izračunava duljinu string. 641 00:27:54,165 --> 00:27:55,210 642 00:27:55,210 --> 00:27:59,670 Pa koliko ljudi znali da žice koje koristite 643 00:27:59,670 --> 00:28:01,265 samo su nizovi znakova? 644 00:28:01,265 --> 00:28:03,670 645 00:28:03,670 --> 00:28:04,655 U redu, da. 646 00:28:04,655 --> 00:28:08,000 Dakle, vi možda mislite da niste Korištene polja i prije, ali bilo koje vrijeme 647 00:28:08,000 --> 00:28:10,740 koristite getstring u CSView knjižnica, ti si 648 00:28:10,740 --> 00:28:14,690 zapravo samo traži niz znakova. 649 00:28:14,690 --> 00:28:17,450 I mi smo brigu o svemu da je u back-end za vas. 650 00:28:17,450 --> 00:28:20,184 Ali ste koristeći nizovi od početka. 651 00:28:20,184 --> 00:28:21,350 Vi samo to još nisu znali. 652 00:28:21,350 --> 00:28:22,420 653 00:28:22,420 --> 00:28:28,390 >> I kad god imate niz znakova ili niz koji je spremanje niz, 654 00:28:28,390 --> 00:28:32,050 Posljednja stvar je uvijek ono što je nazvao null terminator, koji 655 00:28:32,050 --> 00:28:33,830 je to upravo ovdje. 656 00:28:33,830 --> 00:28:37,300 I da se na kraju svaka riječ koju ste spremanje. 657 00:28:37,300 --> 00:28:41,170 Dakle, ako želimo shvatiti duljina niza, možemo reći, 658 00:28:41,170 --> 00:28:45,320 dobro, znate, Sadržaj tog bloka 659 00:28:45,320 --> 00:28:46,867 nije jednako našem null terminator. 660 00:28:46,867 --> 00:28:49,450 To znači da postoji neka lik tamo da smo zapravo 661 00:28:49,450 --> 00:28:51,540 stalo to je dio riječi. 662 00:28:51,540 --> 00:28:52,665 Možete povećati svoju duljinu. 663 00:28:52,665 --> 00:28:55,540 I onda, kada smo zapravo dobili kraj riječi, to će prekinuti 664 00:28:55,540 --> 00:28:58,790 i to će vratiti našu duljinu za nas. 665 00:28:58,790 --> 00:29:00,098 Mmhmm? 666 00:29:00,098 --> 00:29:02,906 >> STUDENT: Ima li prostora računati kao null terminator? 667 00:29:02,906 --> 00:29:04,780 ALLISON: Dakle, prostor je Ne null terminator. 668 00:29:04,780 --> 00:29:10,590 Dakle, ako imate multiple-- prostor je zapravo specifična ASCII vrijednost. 669 00:29:10,590 --> 00:29:11,719 670 00:29:11,719 --> 00:29:13,552 UČENIK: Što je uzvik opet jednaki? 671 00:29:13,552 --> 00:29:17,080 ALLISON: Dakle, to je ono što se odnosi na. 672 00:29:17,080 --> 00:29:21,220 Ako ste ikada me čuti u radno vrijeme, Uvijek sam ga nazvati, kao što je, bang jednak. 673 00:29:21,220 --> 00:29:23,520 Dakle bang nije. 674 00:29:23,520 --> 00:29:25,370 Dakle, ovo nije jednak. 675 00:29:25,370 --> 00:29:28,480 676 00:29:28,480 --> 00:29:32,290 Dakle, ako pokušavate vidjeti ako je nešto netočno, 677 00:29:32,290 --> 00:29:35,915 znaš uvijek činiti, prasak god varijabla, a ako je lažna, 678 00:29:35,915 --> 00:29:38,540 to true i vama može učiniti kul stvari s tim. 679 00:29:38,540 --> 00:29:39,830 680 00:29:39,830 --> 00:29:40,675 Više o tome kasnije. 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 Sve dobro tamo? 684 00:29:44,260 --> 00:29:44,760 Strašan. 685 00:29:44,760 --> 00:29:48,045 >> Dakle, sada je vrijeme svojih dečki 's raditi, jer sam razgovarao. 686 00:29:48,045 --> 00:29:49,220 687 00:29:49,220 --> 00:29:53,200 Dakle, želim ti samo stvoriti niz s je cijeli brojevi jedan, dva, tri, 688 00:29:53,200 --> 00:29:54,660 a zatim su ih isprintati. 689 00:29:54,660 --> 00:29:58,050 Vi ne morate učiniti, kao što je, Glavni, bla, bla, bla, što god. 690 00:29:58,050 --> 00:30:00,840 Ja samo želim da inicijalizirati polje, a zatim stvoriti 691 00:30:00,840 --> 00:30:04,790 za petlje da ih ispisati out-- ili dok petlje, do vas. 692 00:30:04,790 --> 00:30:07,600 >> Samo ću vam dati par minuta da rade na tome. 693 00:30:07,600 --> 00:30:09,320 Idem na odmor moj glas. 694 00:30:09,320 --> 00:30:13,290 Ako imate bilo kakvih pitanja, ja sam sretna navratiti i razgovarati s vama. 695 00:30:13,290 --> 00:30:15,290 Slobodno razgovaraju jedni s drugima. 696 00:30:15,290 --> 00:30:16,125 Dobiti više slatkiša. 697 00:30:16,125 --> 00:30:17,181 698 00:30:17,181 --> 00:30:18,930 U stvari, ja ću samo hodaju okolo s bombonima. 699 00:30:18,930 --> 00:30:19,600 Kako je to? 700 00:30:19,600 --> 00:30:22,974 701 00:30:22,974 --> 00:30:23,938 >> Želite li bilo? 702 00:30:23,938 --> 00:30:34,703 703 00:30:34,703 --> 00:30:36,675 Bilo tko drugi u ovoj sobi žele bombona? 704 00:30:36,675 --> 00:30:47,030 705 00:30:47,030 --> 00:30:49,206 Također možete uzeti više od jedne, momci. 706 00:30:49,206 --> 00:30:50,330 Uzmi šaku ako želite. 707 00:30:50,330 --> 00:30:52,690 708 00:30:52,690 --> 00:30:53,190 Neka kao dobro. 709 00:30:53,190 --> 00:30:54,929 710 00:30:54,929 --> 00:30:55,720 Svi ostali dobri? 711 00:30:55,720 --> 00:30:57,561 712 00:30:57,561 --> 00:30:58,060 U redu. 713 00:30:58,060 --> 00:31:02,750 714 00:31:02,750 --> 00:31:07,290 >> Isto tako, ja ću stvoriti anonimni Google obrazac, 715 00:31:07,290 --> 00:31:09,830 a vi možete samo predati feedback nakon svake sekcije 716 00:31:09,830 --> 00:31:14,115 Ako postoji nešto što želite poboljšati ili nešto što želite učiniti. 717 00:31:14,115 --> 00:31:17,135 Ako sam malo previše energičan za vas, ja mogu ublažiti. 718 00:31:17,135 --> 00:31:18,510 719 00:31:18,510 --> 00:31:20,885 Ja ću izraditi i poslati da to na sve vas nakon toga. 720 00:31:20,885 --> 00:32:39,420 721 00:32:39,420 --> 00:32:40,020 >> U redu. 722 00:32:40,020 --> 00:32:41,050 Pa krenimo mali. 723 00:32:41,050 --> 00:32:42,740 Kako bismo resetirali naš niz? 724 00:32:42,740 --> 00:32:49,690 725 00:32:49,690 --> 00:32:51,670 Što je vrsta našeg niza? 726 00:32:51,670 --> 00:32:52,410 Int, zar ne? 727 00:32:52,410 --> 00:32:54,740 U redu, pa što želiš nazvati svoj niz? 728 00:32:54,740 --> 00:32:57,880 729 00:32:57,880 --> 00:32:59,230 Int niz, super. 730 00:32:59,230 --> 00:33:04,200 U redu, tako da imamo int int niz jednako, i što smo nakon toga? 731 00:33:04,200 --> 00:33:07,009 732 00:33:07,009 --> 00:33:08,259 UČENIK: [nečujan] zagrade. 733 00:33:08,259 --> 00:33:09,140 ALLISON: Braces. 734 00:33:09,140 --> 00:33:10,330 735 00:33:10,330 --> 00:33:11,775 A onda unutar aparatić? 736 00:33:11,775 --> 00:33:14,360 737 00:33:14,360 --> 00:33:16,830 Jedan zarez dva zarez tri. 738 00:33:16,830 --> 00:33:17,330 Cool. 739 00:33:17,330 --> 00:33:18,660 Tako da je sve u redu. 740 00:33:18,660 --> 00:33:21,480 Dakle, sada mi imamo za petlju. 741 00:33:21,480 --> 00:33:24,180 Tako je u prvom dijelu naše za petlju, što imamo? 742 00:33:24,180 --> 00:33:25,796 743 00:33:25,796 --> 00:33:27,420 >> UČENIK: ja jednak 0? 744 00:33:27,420 --> 00:33:31,400 >> ALLISON: Pa int i = 0, a onda ono što je naše stanje? 745 00:33:31,400 --> 00:33:33,750 746 00:33:33,750 --> 00:33:36,120 Što ja ću biti manje od? 747 00:33:36,120 --> 00:33:39,510 Manje od tri, a kako smo mi ažurirati? 748 00:33:39,510 --> 00:33:41,630 I plus plus, to ažuriranje po jedan. 749 00:33:41,630 --> 00:33:46,150 A onda ćemo imati neki cijeli broj od printf, 750 00:33:46,150 --> 00:33:49,530 a što je ono posljednje Dio koji je zapravo 751 00:33:49,530 --> 00:33:51,370 reći ono što bismo trebali biti tiskanje? 752 00:33:51,370 --> 00:33:55,610 753 00:33:55,610 --> 00:33:59,120 Bilo bi naziv polje, što je int niz, zar ne? 754 00:33:59,120 --> 00:34:01,090 A ono što je u zagradi od int niz? 755 00:34:01,090 --> 00:34:02,540 756 00:34:02,540 --> 00:34:03,640 ja. 757 00:34:03,640 --> 00:34:06,550 [? Tako sam?] Nazvao moj Primjer, ali idete. 758 00:34:06,550 --> 00:34:07,939 759 00:34:07,939 --> 00:34:08,480 Nije to loše. 760 00:34:08,480 --> 00:34:09,250 Svi su 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 učinili s polja. 765 00:34:14,340 --> 00:34:15,190 Čestitamo. 766 00:34:15,190 --> 00:34:18,274 Vi uspio ponoviti kroz sve the-- da? 767 00:34:18,274 --> 00:34:19,705 >> UČENIK: [nečujan] 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 >> UČENIK: Imam pitanje. 771 00:34:27,798 --> 00:34:30,288 Jeste li trebao uvući u aparatić? 772 00:34:30,288 --> 00:34:34,150 >> ALLISON: Tako aparatić moraju se podudarati sa za petlje, a zatim sve 773 00:34:34,150 --> 00:34:35,699 unutra se aparatić treba biti uvučen. 774 00:34:35,699 --> 00:34:37,824 >> UČENIK: U redu, trebao za petlju biti razvedena? 775 00:34:37,824 --> 00:34:41,159 >> ALLISON: for petlja ne trebaju biti uvučen u ovom trenutku. 776 00:34:41,159 --> 00:34:46,750 Ako ste bili u glavni, ako mi zapravo je imao glavnu ulogu ovdje, 777 00:34:46,750 --> 00:34:48,929 to će biti razvedena od glavnih. 778 00:34:48,929 --> 00:34:52,590 No, u ovom slučaju, to je u redu. 779 00:34:52,590 --> 00:34:53,354 Da, pitanje je. 780 00:34:53,354 --> 00:34:55,687 >> UČENIK: Da li je potrebno imati zagrade nakon primjer? 781 00:34:55,687 --> 00:34:59,050 782 00:34:59,050 --> 00:35:01,260 >> ALLISON: Da, ako ste resetiranja ga na taj način. 783 00:35:01,260 --> 00:35:03,430 784 00:35:03,430 --> 00:35:06,860 Dakle, zapamtite, ovo je drugi način resetiranja niz gdje 785 00:35:06,860 --> 00:35:10,680 imamo aparatić, a zatim naša stvarna Podaci odvojene zarezom u. 786 00:35:10,680 --> 00:35:14,700 787 00:35:14,700 --> 00:35:17,281 >> UČENIK: Mislio sam da je bilo nosači za taj primjer. 788 00:35:17,281 --> 00:35:19,010 >> ALLISON: Ne, oni su aparatić. 789 00:35:19,010 --> 00:35:20,039 Oni aparatić. 790 00:35:20,039 --> 00:35:22,330 Ako ste ga inicijalizacije koji drugi način, to je aparatić. 791 00:35:22,330 --> 00:35:28,780 Ako bismo reći, int example-- ako samo smo htjeli prazan niz za Ints, 792 00:35:28,780 --> 00:35:32,270 bilo bi int primjer nosači tri. 793 00:35:32,270 --> 00:35:34,670 Nosači predstavljaju veličinu. 794 00:35:34,670 --> 00:35:36,720 Kada imate aparatić, to je stvarni podaci 795 00:35:36,720 --> 00:35:39,244 ste staviti u nju na ovaj način. 796 00:35:39,244 --> 00:35:40,535 Možemo dođite natrag jako brzo. 797 00:35:40,535 --> 00:35:42,370 798 00:35:42,370 --> 00:35:48,010 >> Tako je u tom jednom, to je samo naše početno polje, pokrenuo. 799 00:35:48,010 --> 00:35:51,640 I ovdje, mi smo pojedinačno dodjeljivanje mjesta za njih, 800 00:35:51,640 --> 00:35:56,730 pa to predstavlja indeks naše polje, što je razlog zašto smo nosače. 801 00:35:56,730 --> 00:36:01,630 Ali ovdje, ako primijetite, mi smo ostavili nosače bez veličine, 802 00:36:01,630 --> 00:36:05,969 a mi ga inicijalizirati s stvarni podaci sve-u-jednom s aparatić. 803 00:36:05,969 --> 00:36:08,260 UČENIK: Pa zašto ne možemo imati nosači u ovom primjeru? 804 00:36:08,260 --> 00:36:11,030 ALLISON: Dakle, u kojem dijelu? 805 00:36:11,030 --> 00:36:14,645 UČENIK: Ne bismo recimo, int primjer zagrade 806 00:36:14,645 --> 00:36:19,710 jednaka aparatić [nečujan] nosači za primjer. 807 00:36:19,710 --> 00:36:20,900 >> ALLISON: Oh, ispričavam se. 808 00:36:20,900 --> 00:36:21,560 U pravu si. 809 00:36:21,560 --> 00:36:22,690 Mi nemamo zagrade tamo. 810 00:36:22,690 --> 00:36:23,486 Sorry dečki, moja loša. 811 00:36:23,486 --> 00:36:25,150 812 00:36:25,150 --> 00:36:27,560 Da, trebali ste zagrade nakon primjer. 813 00:36:27,560 --> 00:36:28,850 Apsolutno si u pravu. 814 00:36:28,850 --> 00:36:29,750 >> UČENIK: [nečujan] ne radi. 815 00:36:29,750 --> 00:36:31,270 >> ALLISON: Ne, morate imati zagrade, jer bi u suprotnom to je 816 00:36:31,270 --> 00:36:32,810 neće proglasiti niz. 817 00:36:32,810 --> 00:36:33,685 UČENIK: [nečujan]. 818 00:36:33,685 --> 00:36:34,200 Žao nam je zbog toga. 819 00:36:34,200 --> 00:36:36,200 >> ALLISON: Nažalost, trebate zagrade nakon primjer. 820 00:36:36,200 --> 00:36:36,620 821 00:36:36,620 --> 00:36:37,120 Pri upisu. 822 00:36:37,120 --> 00:36:40,650 823 00:36:40,650 --> 00:36:43,160 Dobar ulov, zlato zvijezda za vas. 824 00:36:43,160 --> 00:36:47,730 Isto tako, ako pitate pitanje, ako je ti dečki bi mi samo reći svoje ime, 825 00:36:47,730 --> 00:36:48,570 Volio bih to. 826 00:36:48,570 --> 00:36:50,630 Volio bih biti u mogućnosti Znaš sve svoje nazive. 827 00:36:50,630 --> 00:36:53,187 Neću na hladno Pozivam vas, ja zapravo 828 00:36:53,187 --> 00:36:54,520 Ne samo želim znati vaše ime. 829 00:36:54,520 --> 00:36:57,530 Zato vas molim da zapravo reći mi svoje ime. 830 00:36:57,530 --> 00:36:58,426 >> Lea: Lea. 831 00:36:58,426 --> 00:36:59,340 >> ALLISON: Lea. 832 00:36:59,340 --> 00:37:03,960 U redu, tako da functions-- znam ukratko oni razgovarali o tome tijekom predavanja. 833 00:37:03,960 --> 00:37:07,590 Dakle funkcije su vrsta samo poput ovih malih zalogaja veličine stvari 834 00:37:07,590 --> 00:37:11,525 gdje prolaze ulaza, nešto čarobno se događa, a vi dobiti izlaza. 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 Tako da zapravo koristi Mnogi od njih već. 838 00:37:15,013 --> 00:37:15,970 839 00:37:15,970 --> 00:37:18,840 Nabavite int, dobili niz, ispis f. 840 00:37:18,840 --> 00:37:21,790 To su sve funkcije gdje ih samo nazvati, 841 00:37:21,790 --> 00:37:24,370 postoji puno čarobne stvari događa u pozadini 842 00:37:24,370 --> 00:37:27,390 da ne mora nužno vidjeti, a vi dobijete ono što želite. 843 00:37:27,390 --> 00:37:30,280 Ili barem da dobijete ono što se nadam što želite. 844 00:37:30,280 --> 00:37:31,920 845 00:37:31,920 --> 00:37:35,620 >> A u osnovi točka funkcija, a jedna od glavnih tema CS, 846 00:37:35,620 --> 00:37:38,700 je razbiti svoj kod u upravljivu komada. 847 00:37:38,700 --> 00:37:41,520 Kada počnete pisati ti stvarno dugo programe, 848 00:37:41,520 --> 00:37:44,970 ili nule, kada ste imali ova velika ideja za igru, 849 00:37:44,970 --> 00:37:48,070 morate biti u mogućnosti da ga razbiti dolje, kao, u redu, kako mogu početi? 850 00:37:48,070 --> 00:37:50,470 Koji su mali komadi koje trebam? 851 00:37:50,470 --> 00:37:53,320 Oh, moram pitati Korisnik za nešto. 852 00:37:53,320 --> 00:37:54,830 Sada moram ispisati nešto. 853 00:37:54,830 --> 00:37:56,590 Oh, moram izračunati tu vrijednost. 854 00:37:56,590 --> 00:38:00,050 >> A učenje kako razbiti svoj kod i velike probleme vas 855 00:38:00,050 --> 00:38:02,740 imaju u ove male komadiće te stvaranje funkcije 856 00:38:02,740 --> 00:38:05,330 je zapravo jedan od velike Temelja CS. 857 00:38:05,330 --> 00:38:06,440 858 00:38:06,440 --> 00:38:11,740 Dakle, možete misliti funkcije samo kao poput crne kutije, čarobno crna kutija, 859 00:38:11,740 --> 00:38:15,030 da ste stavili stvari u a vi dobiti neki izlaz. 860 00:38:15,030 --> 00:38:16,290 861 00:38:16,290 --> 00:38:19,460 A ostatak programa ne treba nužno znati 862 00:38:19,460 --> 00:38:21,150 što se događa u toj crnoj kutiji. 863 00:38:21,150 --> 00:38:24,190 Sve to stalo je što ulazi i što izlazi. 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 >> Pa zašto funkcionira? 867 00:38:27,820 --> 00:38:33,240 Organization-- kao što sam rekao, kad si koja se bavi vrlo velikim bazama koda, 868 00:38:33,240 --> 00:38:37,357 Kako organizirati vaš broj će biti mnogo lakše ako koristite funkcije. 869 00:38:37,357 --> 00:38:39,190 Budući da ćete biti u mogućnosti da se, kao, u redu to, 870 00:38:39,190 --> 00:38:41,849 je ono što ova funkcija radi i Evo što drugi ne. 871 00:38:41,849 --> 00:38:43,890 A što se lako može vidjeti kako su svi zajedno. 872 00:38:43,890 --> 00:38:45,590 873 00:38:45,590 --> 00:38:48,210 Tako je razbijanje u sve ove rukovanje subparts. 874 00:38:48,210 --> 00:38:51,860 >> Tako simplification-- Siguran sam da dečki Svi su to vidjeli, kao što sam rekao, s nule. 875 00:38:51,860 --> 00:38:53,230 876 00:38:53,230 --> 00:38:56,790 Imate tu veliku ideju, a ti si kao, kako se sve to radi? 877 00:38:56,790 --> 00:38:59,710 Ali ako joj prići parče, kažeš, u redu, 878 00:38:59,710 --> 00:39:03,650 Kako sam napraviti jedan sprite plutaju po ekranu? 879 00:39:03,650 --> 00:39:04,805 To je malo lakše. 880 00:39:04,805 --> 00:39:06,000 881 00:39:06,000 --> 00:39:09,590 Pa dobro iskoristiti funkcijom Vaš kod mnogo lakše za čitanje. 882 00:39:09,590 --> 00:39:13,800 To ga čini lakšim za ispravljanje koji je kao ste dobili u svojim kasnijim problematičnim seta, 883 00:39:13,800 --> 00:39:15,900 idete stvarno želite biti u mogućnosti to učiniti. 884 00:39:15,900 --> 00:39:17,900 I oni su također lakše osmisliti i provesti. 885 00:39:17,900 --> 00:39:21,100 Možete kodirati do male funkcionirati relativno brzo 886 00:39:21,100 --> 00:39:25,260 i pobrinite se to radi u odnosu na težak stvoriti cijeli ovaj dugi programa 887 00:39:25,260 --> 00:39:28,960 a zatim vrsta proći i vidjeti što je raditi, a što nije. 888 00:39:28,960 --> 00:39:30,300 >> A onda višekratnog korištenja. 889 00:39:30,300 --> 00:39:33,380 Tako funkcionira samo trebate biti napisan jednom, 890 00:39:33,380 --> 00:39:35,586 i onda možete ih koristiti onoliko puta koliko je to moguće. 891 00:39:35,586 --> 00:39:37,210 Dakle, to je, kao, eko-friendly u smislu. 892 00:39:37,210 --> 00:39:39,660 893 00:39:39,660 --> 00:39:42,070 Ako ste imali takve stvari print f, gdje vas 894 00:39:42,070 --> 00:39:47,420 morao napisati čaroliju koja ide iza ispis f svaki put 895 00:39:47,420 --> 00:39:51,040 ste htjeli ispisati nešto, što bi biti prilično bolestan i umoran od toga 896 00:39:51,040 --> 00:39:51,650 na kraju. 897 00:39:51,650 --> 00:39:52,660 898 00:39:52,660 --> 00:39:55,292 >> Jedna od stvari koje ćete učiti u kasnijim CS nastavu, 899 00:39:55,292 --> 00:39:57,000 ili jedan od najboljih savjeta sam dobiti 900 00:39:57,000 --> 00:40:00,870 je, ako kopiranje i lijepljenje broj, to bi trebao vjerojatno biti funkcija. 901 00:40:00,870 --> 00:40:01,880 902 00:40:01,880 --> 00:40:06,007 Ako imate isti linije tijekom cijelog kodu, 903 00:40:06,007 --> 00:40:08,090 ako ih uračunata van, Vaš broj bi vjerojatno 904 00:40:08,090 --> 00:40:11,860 biti, kao, pet puta kraći i biti puno lakše za čitanje. 905 00:40:11,860 --> 00:40:15,230 I umjesto da pokušavate riješiti sva ta različita mjesta gdje se stvari 906 00:40:15,230 --> 00:40:18,021 može poći po krivu, imate jednu funkciju da ste dobili otkloniti. 907 00:40:18,021 --> 00:40:19,230 908 00:40:19,230 --> 00:40:21,890 I obećajem, puno toga može činiti takve apstraktne sada, 909 00:40:21,890 --> 00:40:24,620 ali kao što ste dobili u kasnije a kasnije je problem postavlja, 910 00:40:24,620 --> 00:40:28,950 to će učiniti puno više smisla i stvarno se odvezao kući. 911 00:40:28,950 --> 00:40:31,775 Ima li kakvih pitanja o funkcijama do sada? 912 00:40:31,775 --> 00:40:32,650 Zašto smo ih koristite? 913 00:40:32,650 --> 00:40:34,775 Znam da nismo stečen u gnjidama istrajan još. 914 00:40:34,775 --> 00:40:40,610 Dakle definiranje function-- baš kao polja, trebamo nekakav of-- to 915 00:40:40,610 --> 00:40:41,860 je samo opći izlaz. 916 00:40:41,860 --> 00:40:45,110 Dakle, to je funkcija koja je Upravo će kocke neki ulaz. 917 00:40:45,110 --> 00:40:50,120 I na sljedećoj stranici, zapravo, imamo sve ove strašan sitnice ovdje. 918 00:40:50,120 --> 00:40:52,420 Dakle, svatko može pročitati da, iz znatiželje? 919 00:40:52,420 --> 00:40:55,050 Znam ljubičasta i crna moglo biti malo teško. 920 00:40:55,050 --> 00:41:00,730 >> No, velike stvari za know-- tako prva jedan ovdje je naša vrsta povrata. 921 00:41:00,730 --> 00:41:05,270 Dakle, to govori o izlazu ove funkcije kada je, u ovom slučaju, 922 00:41:05,270 --> 00:41:08,990 stavimo u nekom broju, što smo uzimajući je taj broj kubu. 923 00:41:08,990 --> 00:41:11,090 Dakle, to bi trebao biti int u ovom slučaju. 924 00:41:11,090 --> 00:41:14,055 Možda će to biti bračni ili nešto kasnije, ali se u ovom slučaju, 925 00:41:14,055 --> 00:41:14,555 to int. 926 00:41:14,555 --> 00:41:15,620 927 00:41:15,620 --> 00:41:19,440 >> Sa c, uvijek je potreban povratak vrstu. 928 00:41:19,440 --> 00:41:20,267 To će biti int. 929 00:41:20,267 --> 00:41:20,975 To će biti plovak. 930 00:41:20,975 --> 00:41:22,180 To će biti dvostruka. 931 00:41:22,180 --> 00:41:25,370 Ali, morate odrediti što ova funkcija će se vratiti. 932 00:41:25,370 --> 00:41:26,480 933 00:41:26,480 --> 00:41:29,170 Inače će vikati na ti, a to se neće sastaviti. 934 00:41:29,170 --> 00:41:30,462 Vi ćete biti tužna, a ja ću biti tužan. 935 00:41:30,462 --> 00:41:31,420 A to jednostavno nije dobro. 936 00:41:31,420 --> 00:41:31,940 U redu. 937 00:41:31,940 --> 00:41:34,290 >> I onda mi imamo funkciju ime. 938 00:41:34,290 --> 00:41:38,440 I kao što možete vidjeti ovdje, s c postoji to vrlo dosljedan paradigma. 939 00:41:38,440 --> 00:41:42,630 Koji je tvoj tip, što je ime, a onda neka druga stvar na kraju. 940 00:41:42,630 --> 00:41:45,550 Dakle, mi imamo vrstu povrata, naše ime funkciju, a zatim 941 00:41:45,550 --> 00:41:49,320 mi imamo glavom s naša lista parametara. 942 00:41:49,320 --> 00:41:52,080 >> Tako Popis parametara, što je ova funkcija će poduzeti? 943 00:41:52,080 --> 00:41:56,360 Popis parametara jednostavno sinonim za ono što su naši ulazi? 944 00:41:56,360 --> 00:42:00,230 A na isti način na koji mi moraju definirati naše funkcije 945 00:42:00,230 --> 00:42:03,210 i dati mu povratak tipa, svaki od naših ulaznih 946 00:42:03,210 --> 00:42:05,350 Potrebno je imati vrstu povezane s njom. 947 00:42:05,350 --> 00:42:08,850 Dakle, mi znamo što je naša funkcija zapravo može raditi. 948 00:42:08,850 --> 00:42:11,290 >> Dakle, u ovom slučaju, imamo neke int ulaz. 949 00:42:11,290 --> 00:42:14,660 Pa opet, to će biti tipa i što ste ga zovete. 950 00:42:14,660 --> 00:42:16,500 951 00:42:16,500 --> 00:42:19,040 A onda, kao što vidite Ovdje, mi imamo tijelo. 952 00:42:19,040 --> 00:42:23,600 Dakle, imamo neke int izlaz, da je samo naše ulazne puta sama 953 00:42:23,600 --> 00:42:25,810 Sama puta, koji je upravo to kocke. 954 00:42:25,810 --> 00:42:27,610 A onda smo se vratili taj izlaz. 955 00:42:27,610 --> 00:42:32,140 >> Dakle, kao što vidite ovdje, imamo int puta int puta int, 956 00:42:32,140 --> 00:42:35,420 pa se vraća int, koji je tamo proglašen. 957 00:42:35,420 --> 00:42:38,240 Dakle, sve je kohezivna. 958 00:42:38,240 --> 00:42:39,210 Sve je sretna. 959 00:42:39,210 --> 00:42:40,250 Vaš funkcija će se izvoditi. 960 00:42:40,250 --> 00:42:41,192 961 00:42:41,192 --> 00:42:42,650 A ovo je samo opći stvar. 962 00:42:42,650 --> 00:42:46,750 Dakle, uvijek imaju vrstu povrata, ime, i vaš lista parametara. 963 00:42:46,750 --> 00:42:48,830 Svaka stvar u svoje Popis parametara, ili ulaz, 964 00:42:48,830 --> 00:42:51,410 Potrebno je imati vrstu povezane s njom. 965 00:42:51,410 --> 00:42:54,210 I onda imate svoj Tijelo ovdje s bilo 966 00:42:54,210 --> 00:42:55,590 želite učiniti sa svojim ulazom. 967 00:42:55,590 --> 00:42:57,390 968 00:42:57,390 --> 00:43:00,410 >> A onda očito ti žele vratiti nešto. 969 00:43:00,410 --> 00:43:02,630 Ponekad djeluje samo će se vratiti. 970 00:43:02,630 --> 00:43:06,090 Oni zapravo ne vrati za korištenje nešto. 971 00:43:06,090 --> 00:43:08,660 Ali, morate se vratiti na neki način. 972 00:43:08,660 --> 00:43:12,900 A kad radite vlastite funkcije, 973 00:43:12,900 --> 00:43:15,430 možemo ući da malo dublje. 974 00:43:15,430 --> 00:43:18,880 Osobno, ako želite, postoji mnogo različitih stvari koje možete učiniti tamo. 975 00:43:18,880 --> 00:43:21,350 976 00:43:21,350 --> 00:43:22,140 Svi su dobro? 977 00:43:22,140 --> 00:43:25,900 Sve se na ovom popisu da me želite ići više, da niste razumjeli? 978 00:43:25,900 --> 00:43:27,204 979 00:43:27,204 --> 00:43:28,120 Svatko je dobro tamo? 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 Strašan. 984 00:43:32,120 --> 00:43:34,700 >> U redu, tako da smo stavljajući sve to zajedno. 985 00:43:34,700 --> 00:43:35,720 986 00:43:35,720 --> 00:43:41,201 Dakle, imamo neke int kocka ulaz, tako To je kompletan program ovdje. 987 00:43:41,201 --> 00:43:42,950 Do sada, ja sam vrsta je dajući vam 988 00:43:42,950 --> 00:43:45,699 dečki isječke koje bi mogle se događa unutar programa. 989 00:43:45,699 --> 00:43:47,240 Upravo smo bili u potrazi na funkcijama. 990 00:43:47,240 --> 00:43:48,448 No, ovdje je cijeli program. 991 00:43:48,448 --> 00:43:49,400 992 00:43:49,400 --> 00:43:53,690 Pa koliko vas se sjetiti Riječ prototip od 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 jednu. 996 00:43:55,890 --> 00:43:57,160 997 00:43:57,160 --> 00:43:58,110 Koje je tvoje 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 U redu, strašan. 1001 00:44:01,030 --> 00:44:03,310 Dakle, sjećaš li se ono što je prototip? 1002 00:44:03,310 --> 00:44:04,651 1003 00:44:04,651 --> 00:44:10,230 >> UČENIK: Kažete [nečujan] prije nego što zapravo nositi s time. 1004 00:44:10,230 --> 00:44:11,700 >> ALLISON: Sjećate li se zašto? 1005 00:44:11,700 --> 00:44:13,158 >> UČENIK: Ne. 1006 00:44:13,158 --> 00:44:14,620 >> ALLISON: U redu. 1007 00:44:14,620 --> 00:44:16,090 Zlato zvijezda. 1008 00:44:16,090 --> 00:44:19,470 Tako da, prototip imamo unaprijed, jer u suprotnom, 1009 00:44:19,470 --> 00:44:21,260 naš prevodilac će vikati na nas. 1010 00:44:21,260 --> 00:44:24,294 To će reći, u redu, Što je ova funkcija kocka? 1011 00:44:24,294 --> 00:44:26,460 Kao, što doslovno nemaju Rekao mi ništa o tome. 1012 00:44:26,460 --> 00:44:28,110 To je kao kad vas hodati u učionici, 1013 00:44:28,110 --> 00:44:29,320 i netko je kao, postoji kvizovima i danas. 1014 00:44:29,320 --> 00:44:31,380 A ti si kao, vama Nikada mi je rekao o tome. 1015 00:44:31,380 --> 00:44:32,930 Nisam sretan s nama. 1016 00:44:32,930 --> 00:44:34,300 1017 00:44:34,300 --> 00:44:37,020 Prototip je u osnovi kao što je Vaš nastavni plan govoreći, izgleda. 1018 00:44:37,020 --> 00:44:37,900 Glave gore. 1019 00:44:37,900 --> 00:44:39,570 Tu će biti kviz na ovaj dan. 1020 00:44:39,570 --> 00:44:41,420 Nemojte se izbezumila kada se na njega. 1021 00:44:41,420 --> 00:44:42,690 Ti ćeš biti u redu. 1022 00:44:42,690 --> 00:44:48,170 >> Dakle, sve je prototip ne kažem Glavni, ja ću koristiti ovu funkciju. 1023 00:44:48,170 --> 00:44:51,010 Obećavam da ću ga definira kasnije. 1024 00:44:51,010 --> 00:44:52,260 Nemojte šiziti na mene. 1025 00:44:52,260 --> 00:44:54,750 Samo sastaviti i učiniti ono što ti kažem. 1026 00:44:54,750 --> 00:44:58,880 Dakle, imamo prototip postoji samo da bi naš prevodilac sretni. 1027 00:44:58,880 --> 00:45:04,360 I to je u osnovi obećanje ste definirali ova funkcija kasnije 1028 00:45:04,360 --> 00:45:07,960 a da se ne samo poziv ovo slučajna stvar koja to 1029 00:45:07,960 --> 00:45:10,070 ne znam što ste će biti događaj. 1030 00:45:10,070 --> 00:45:11,910 >> Dakle, u ovom slučaju, imamo glavna ovdje. 1031 00:45:11,910 --> 00:45:14,660 Mi inicijalizirati neki cijeli broj x. 1032 00:45:14,660 --> 00:45:15,620 To je dva. 1033 00:45:15,620 --> 00:45:17,510 Mi ćemo ispisati što je x. 1034 00:45:17,510 --> 00:45:18,800 Idemo kocke x. 1035 00:45:18,800 --> 00:45:21,520 Kao što vidite, mi imamo Funkcija izjava 1036 00:45:21,520 --> 00:45:23,770 ovdje da mi razgovarali o tome prije. 1037 00:45:23,770 --> 00:45:28,260 To će kocke x, a onda, ako smo zapamtite, funkciju kocka zapravo 1038 00:45:28,260 --> 00:45:31,340 vraća cijeli broj na nas, koja je pohranjena 1039 00:45:31,340 --> 00:45:35,860 U x opet, tako da možemo ispisati iz osam ili kocke x upravo sada. 1040 00:45:35,860 --> 00:45:37,170 1041 00:45:37,170 --> 00:45:38,920 Je li to smisla svima? 1042 00:45:38,920 --> 00:45:40,360 Mi smo dobri? 1043 00:45:40,360 --> 00:45:41,160 U redu. 1044 00:45:41,160 --> 00:45:41,660 Strašan. 1045 00:45:41,660 --> 00:45:45,540 1046 00:45:45,540 --> 00:45:46,840 >> U redu. 1047 00:45:46,840 --> 00:45:50,879 Koliko od vas zapamtite to tako da je ovo 1048 00:45:50,879 --> 00:45:52,670 je u osnovi samo vaš stog i vaše gomila, 1049 00:45:52,670 --> 00:45:56,510 Samo vizualizacija kako se memorija pohranjuje ovdje. 1050 00:45:56,510 --> 00:45:58,200 1051 00:45:58,200 --> 00:46:01,400 Dakle, mi samo želimo napraviti sigurni da ste razumjeli 1052 00:46:01,400 --> 00:46:03,680 kako su oni zastupljeni u memoriji. 1053 00:46:03,680 --> 00:46:07,670 Ako se nastava kao CS61 i stvari kasnije, 1054 00:46:07,670 --> 00:46:10,570 ste dobili na to naučiti daleko više u dubinu, i to je stvarno cool. 1055 00:46:10,570 --> 00:46:11,730 JA visoko preporučiti to. 1056 00:46:11,730 --> 00:46:12,740 1057 00:46:12,740 --> 00:46:14,720 Ali za sada, ja ću dati što široki pregled 1058 00:46:14,720 --> 00:46:16,950 tako da ne morate Znaš gnjidama istrajan. 1059 00:46:16,950 --> 00:46:20,820 >> Dakle, na vrhu samo tekst segmenta koji sadrži stvarne nule i one, 1060 00:46:20,820 --> 00:46:23,740 binarni za to. 1061 00:46:23,740 --> 00:46:27,510 A to se koristi za pohranjivanje globalne varijable, ako ih imate. 1062 00:46:27,510 --> 00:46:28,870 1063 00:46:28,870 --> 00:46:32,240 Dok se krećete prema dolje, mi ima, kao što vidite ovdje, 1064 00:46:32,240 --> 00:46:34,670 inicijalizacije podataka, nepokrenute podataka, a zatim gomila. 1065 00:46:34,670 --> 00:46:35,800 1066 00:46:35,800 --> 00:46:38,584 >> Dakle, mi stvarno ne razgovaraju o gomili upravo sada. 1067 00:46:38,584 --> 00:46:39,500 Mi ćemo doći na to kasnije. 1068 00:46:39,500 --> 00:46:40,762 1069 00:46:40,762 --> 00:46:42,970 Za sada, samo ću val moje ruke i biti poput, 1070 00:46:42,970 --> 00:46:44,553 ne morate znati o tome sada. 1071 00:46:44,553 --> 00:46:46,100 1072 00:46:46,100 --> 00:46:49,060 No, mi ćemo govoriti malo malo o dimnjaku. 1073 00:46:49,060 --> 00:46:53,050 Dakle snop where-- imamo zoom u. 1074 00:46:53,050 --> 00:46:58,590 To je zapravo kako je program mi samo pogledao događa u memoriji. 1075 00:46:58,590 --> 00:47:01,630 >> Pa što se događa, svaka Vrijeme zovemo funkciju, 1076 00:47:01,630 --> 00:47:04,180 dobili smo ono što se zove snop Okvir, koji je jedan od njih. 1077 00:47:04,180 --> 00:47:05,870 Dakle, glavni je parametre. 1078 00:47:05,870 --> 00:47:07,944 Dakle, to su stvari da ćemo proći u glavnu. 1079 00:47:07,944 --> 00:47:11,110 Dakle, oni su upravo ovdje na dnu, jer to je prvo što mi zovemo. 1080 00:47:11,110 --> 00:47:13,401 I onda dođemo do glavne godina Mještani, a kad kažemo da, 1081 00:47:13,401 --> 00:47:15,970 mislimo lokalne varijable koje su pohranjene u glavni. 1082 00:47:15,970 --> 00:47:19,950 1083 00:47:19,950 --> 00:47:23,620 Dakle mještanima ovdje bi se, kao što je, X je u ovom slučaju dva. 1084 00:47:23,620 --> 00:47:26,350 Budući da je lokaliziran na glavni. 1085 00:47:26,350 --> 00:47:29,745 Da li su svi zapamtite opseg, prelaženju da je u predavanju? 1086 00:47:29,745 --> 00:47:31,517 1087 00:47:31,517 --> 00:47:32,017 U redu. 1088 00:47:32,017 --> 00:47:36,110 Dakle, samo varijable koje su inicijalizacije u glavni. 1089 00:47:36,110 --> 00:47:38,550 Dakle, to je razlog zašto smo glavni [? vokal. ?] 1090 00:47:38,550 --> 00:47:40,390 >> A onda u glavnom, zovemo kocku. 1091 00:47:40,390 --> 00:47:41,000 Pravo? 1092 00:47:41,000 --> 00:47:44,510 Tako smo dobili još jedan okvir s parametrima kocke. 1093 00:47:44,510 --> 00:47:47,050 Dakle, u ovom slučaju, kocka je Parametri su sada 1094 00:47:47,050 --> 00:47:50,800 x da smo prošli u, dvije koje smo prošli u. 1095 00:47:50,800 --> 00:47:55,320 A onda kocke mještani, što je gdje je stvarna rotacije događa. 1096 00:47:55,320 --> 00:47:56,450 A onda se vrati. 1097 00:47:56,450 --> 00:48:02,120 >> Dakle, ono što se događa je kao kocka zapravo radi ono što je trebao učiniti, to vraća. 1098 00:48:02,120 --> 00:48:07,020 Kad se vrati, to ostavlja okvir, a njegova se vratio do glavnog. 1099 00:48:07,020 --> 00:48:09,160 A onda u glavni smo može zapravo ispisati. 1100 00:48:09,160 --> 00:48:10,840 1101 00:48:10,840 --> 00:48:14,500 Dakle, kada ste povratku nešto, kad ti funkcija vraća, 1102 00:48:14,500 --> 00:48:19,900 to je kao da prolazi na tim vrijednostima na okvir ispod nje, a zatim odlaze. 1103 00:48:19,900 --> 00:48:22,200 A stvari moraju izvršiti u redu. 1104 00:48:22,200 --> 00:48:25,550 >> A kad ste dobili na većim programima, možemo napraviti hladnije i složeniji 1105 00:48:25,550 --> 00:48:26,470 dijagrama. 1106 00:48:26,470 --> 00:48:29,070 Ali za sada, ovo je samo opći pregled 1107 00:48:29,070 --> 00:48:31,110 tako da imate kakav razumijevanje onoga 1108 00:48:31,110 --> 00:48:35,160 se događa kada ste pozivom na funkciju i kako to zapravo izgleda u memoriji. 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 Svi su dobro? 1112 00:48:38,353 --> 00:48:39,920 1113 00:48:39,920 --> 00:48:40,420 Strašan. 1114 00:48:40,420 --> 00:48:42,070 1115 00:48:42,070 --> 00:48:50,575 >> Dakle, to je onaj koji je samo pokušava mijenjati stvari. 1116 00:48:50,575 --> 00:48:52,260 1117 00:48:52,260 --> 00:48:54,930 Kao što vidimo ovdje, imamo naša funkcija prototip 1118 00:48:54,930 --> 00:48:56,900 tako da naš prevodilac ne vikati na nas. 1119 00:48:56,900 --> 00:48:59,220 Imamo neke glavne, a mi želite prebaciti X i Y. 1120 00:48:59,220 --> 00:49:00,320 1121 00:49:00,320 --> 00:49:04,129 Oni nisu učinili ovaj demo U predavanju još, imaju oni? 1122 00:49:04,129 --> 00:49:04,670 Oni nisu? 1123 00:49:04,670 --> 00:49:05,900 U redu. 1124 00:49:05,900 --> 00:49:08,450 Tako ćemo ići nad ovom veoma kratko. 1125 00:49:08,450 --> 00:49:12,210 Vi ćete dobiti u ovom primjeru više U dubini, mislim, ovaj tjedan. 1126 00:49:12,210 --> 00:49:15,680 A onda sljedeći tjedan možemo uistinu zaroniti zašto se to ne radi. 1127 00:49:15,680 --> 00:49:18,810 >> Dakle, imamo tu prazninu Funkcija here-- zamjena. 1128 00:49:18,810 --> 00:49:20,720 Dakle praznina samo znači da ništa se ne vrati. 1129 00:49:20,720 --> 00:49:22,000 1130 00:49:22,000 --> 00:49:24,110 I mi imamo swap int A i int b. 1131 00:49:24,110 --> 00:49:27,046 I mi imamo neki privremeni varijabla koja je. 1132 00:49:27,046 --> 00:49:30,050 dobiva dodijeljen b, a zatim b dobiva dodijeljen temp 1133 00:49:30,050 --> 00:49:32,235 tako da A i B je Vrijednosti su sada uključen. 1134 00:49:32,235 --> 00:49:33,510 1135 00:49:33,510 --> 00:49:36,030 >> No, zemljište obrat, to ne rade. 1136 00:49:36,030 --> 00:49:37,390 1137 00:49:37,390 --> 00:49:42,380 I dio toga zapravo ima učiniti s činjenicom da 1138 00:49:42,380 --> 00:49:48,800 ib ovdje, one koje se donose u ovdje su zapravo kopije x i y. 1139 00:49:48,800 --> 00:49:53,220 Dakle, kada je funkcija zapravo vraća, prebacuje kopije, ali ne 1140 00:49:53,220 --> 00:49:55,960 stvarni x i y je. 1141 00:49:55,960 --> 00:50:02,370 Dakle, jedan od načina da misle o tome je that-- pretvarati su zamjena. 1142 00:50:02,370 --> 00:50:03,130 OK? 1143 00:50:03,130 --> 00:50:05,390 Tako je u glavnom, imamo x i y inicijalizacije. 1144 00:50:05,390 --> 00:50:06,530 1145 00:50:06,530 --> 00:50:10,760 No, kad smo zapravo ići gore tim okvirima s swapa, 1146 00:50:10,760 --> 00:50:15,740 mi smo prolazeći vrijednosti iznad na njega, a oni inicijalizacije. 1147 00:50:15,740 --> 00:50:18,570 >> I oni su samo ikada živjeli ovdje. 1148 00:50:18,570 --> 00:50:19,796 Tako i b živi ovdje. 1149 00:50:19,796 --> 00:50:20,670 I oni bi zamijenili. 1150 00:50:20,670 --> 00:50:21,870 1151 00:50:21,870 --> 00:50:26,190 No, kad smo se vratili, mi ne ništa učiniti s i b. 1152 00:50:26,190 --> 00:50:28,980 b dopust s našim funkciji. 1153 00:50:28,980 --> 00:50:30,850 I tako x i y ostati ista. 1154 00:50:30,850 --> 00:50:31,960 1155 00:50:31,960 --> 00:50:39,665 Vi ćete dobiti više u tome kako popraviti i koliko smo zapravo nositi s tim kasnije. 1156 00:50:39,665 --> 00:50:40,750 1157 00:50:40,750 --> 00:50:43,740 >> Ali to je samo jedna stvar na neki način imati na umu. 1158 00:50:43,740 --> 00:50:45,270 Koristite ga za budućnost. 1159 00:50:45,270 --> 00:50:48,050 Ne brinite ako to ne čine Sve smisla u svijetu. 1160 00:50:48,050 --> 00:50:49,510 1161 00:50:49,510 --> 00:50:51,440 Oni su kopije je najveća stvar. 1162 00:50:51,440 --> 00:50:54,580 Ako ćete poduzeti ništa daleko od toga, donesen u primjeraka. 1163 00:50:54,580 --> 00:50:56,410 Tako originali ostaju isti. 1164 00:50:56,410 --> 00:50:58,170 1165 00:50:58,170 --> 00:50:58,770 Svi su 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 naredbenog retka argumenata. 1169 00:51:02,295 --> 00:51:03,520 1170 00:51:03,520 --> 00:51:07,630 Siguran sam da u početku ti dečki sve imala one velike, poput, Int glavne šupljine. 1171 00:51:07,630 --> 00:51:09,517 A ti si kao, OK cool. 1172 00:51:09,517 --> 00:51:10,350 Ja stvarno ne briga. 1173 00:51:10,350 --> 00:51:12,360 To je upravo ono što moram napisati. 1174 00:51:12,360 --> 00:51:16,349 No, u svojim novim programima, pogotovo u ovom pset, 1175 00:51:16,349 --> 00:51:17,890 i zašto je tu krede na terenu? 1176 00:51:17,890 --> 00:51:19,640 1177 00:51:19,640 --> 00:51:22,680 >> Uz vaš sljedeći pset, ti si će se vidjeti ovo. 1178 00:51:22,680 --> 00:51:26,130 Int glavna, int arg c, string luk v, zagrade. 1179 00:51:26,130 --> 00:51:28,770 Dakle, iz onoga što smo upravo saznaje danas, što 1180 00:51:28,770 --> 00:51:32,190 mislimo da je drugi parametar ili da je drugi element je ovdje? 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 Koji tip niza? 1184 00:51:36,615 --> 00:51:38,430 1185 00:51:38,430 --> 00:51:40,690 Gudački polje, da. 1186 00:51:40,690 --> 00:51:41,980 Cool. 1187 00:51:41,980 --> 00:51:45,320 Dakle, to je kako idete se izjavljuje ovih sada. 1188 00:51:45,320 --> 00:51:48,570 >> Se bilo tko sjetiti što to znači? 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 >> UČENIK: arg c. 1194 00:51:55,640 --> 00:51:56,961 1195 00:51:56,961 --> 00:51:58,950 >> ALLISON: Pa arg c čuva brojač. 1196 00:51:58,950 --> 00:51:59,450 To je int. 1197 00:51:59,450 --> 00:52:00,615 To je broj, zar ne? 1198 00:52:00,615 --> 00:52:02,240 Pa što misliš da je broj mjesta? 1199 00:52:02,240 --> 00:52:08,260 1200 00:52:08,260 --> 00:52:08,760 Da. 1201 00:52:08,760 --> 00:52:11,450 Dakle, arg c je broj žica koje čine naredbenog retka. 1202 00:52:11,450 --> 00:52:12,560 1203 00:52:12,560 --> 00:52:18,499 Dakle, ako bismo do-- zapravo, postoje primjeri nakon toga, 1204 00:52:18,499 --> 00:52:19,790 pa neću doći ispred sebe. 1205 00:52:19,790 --> 00:52:21,299 1206 00:52:21,299 --> 00:52:23,840 To je broj nizova koji samo napraviti svoj naredbenog retka. 1207 00:52:23,840 --> 00:52:35,080 >> Dakle, kada ste učinili, kao što je, dot slash Mario, to je jedan niz koji ga čini. 1208 00:52:35,080 --> 00:52:38,520 U ovom komadu, zapravo ćete biti hranjenja stvari u naredbenog retka, 1209 00:52:38,520 --> 00:52:41,750 kao što sam siguran da dečki koji Pročitao spec pilu. 1210 00:52:41,750 --> 00:52:44,470 Dakle, u tim slučajevima, možda ćete imaju dva ili tri argumente. 1211 00:52:44,470 --> 00:52:45,652 1212 00:52:45,652 --> 00:52:48,360 To će biti korisna stvar za korištenje. 1213 00:52:48,360 --> 00:52:51,500 >> A onda arg protiv, kao što smo rekli, je samo niz polja. 1214 00:52:51,500 --> 00:52:57,000 Tako da zapravo sprema što unesete u zapovjednoj liniji. 1215 00:52:57,000 --> 00:52:59,960 Dakle, imamo ovo. 1216 00:52:59,960 --> 00:53:02,850 Imate neki točkica crta kopirati infile outfile. 1217 00:53:02,850 --> 00:53:06,670 Dakle, ako je Arg c je broj žica da smo prolazak u zapovjedništvo 1218 00:53:06,670 --> 00:53:09,080 Linija, koja je naša arg c u ovom slučaju? 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. 1222 00:53:16,690 --> 00:53:20,086 >> Zato što je arg v nule? 1223 00:53:20,086 --> 00:53:21,710 Dakle, što je prva stvar koju smo pohranjene? 1224 00:53:21,710 --> 00:53:24,640 1225 00:53:24,640 --> 00:53:26,290 Dot slash kopiju, točno. 1226 00:53:26,290 --> 00:53:28,065 A onda drugi će biti infile. 1227 00:53:28,065 --> 00:53:29,290 1228 00:53:29,290 --> 00:53:30,930 Treći bi outfile. 1229 00:53:30,930 --> 00:53:32,390 Pa što je s Arg protiv tri? 1230 00:53:32,390 --> 00:53:35,810 1231 00:53:35,810 --> 00:53:39,370 To će biti nula, jer to je kraj naše ponude, zar ne? 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 >> I onda što je šesti jedan? 1235 00:53:44,500 --> 00:53:45,900 To je vrsta trik pitanje. 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 Znamo li što je to? 1239 00:53:49,943 --> 00:53:50,960 1240 00:53:50,960 --> 00:53:51,690 To je nedefinirano. 1241 00:53:51,690 --> 00:53:53,170 Nemamo pojma što bi to moglo biti. 1242 00:53:53,170 --> 00:53:57,000 To je ono što je ispravno Nakon niza u memoriji, 1243 00:53:57,000 --> 00:54:00,220 a mi nemamo pojma što je to. 1244 00:54:00,220 --> 00:54:03,500 I to je opasna na dodir onima stvari, jer za sve što znate, 1245 00:54:03,500 --> 00:54:07,080 to je neki dio memorije koja vas Ne bi trebalo biti pristupa ili nula. 1246 00:54:07,080 --> 00:54:09,000 I to može učiniti lude stvari. 1247 00:54:09,000 --> 00:54:11,690 To se zove pretjerano indeksiranje Vaš dužan na svoj niz. 1248 00:54:11,690 --> 00:54:14,785 Nemojte ići izvan granica svoje polje, ili se loše stvari mogu dogoditi. 1249 00:54:14,785 --> 00:54:16,274 1250 00:54:16,274 --> 00:54:18,940 Možete se vratiti i, kao, zakonima fizike su uništeni 1251 00:54:18,940 --> 00:54:19,481 ili nešto. 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 Je li to smisla svima? 1255 00:54:22,895 --> 00:54:23,810 1256 00:54:23,810 --> 00:54:25,025 Nije loše. 1257 00:54:25,025 --> 00:54:28,926 >> Tako sada, svatko je omiljeni dio, pset pregled. 1258 00:54:28,926 --> 00:54:29,426 Jupi! 1259 00:54:29,426 --> 00:54:30,530 1260 00:54:30,530 --> 00:54:31,030 U redu. 1261 00:54:31,030 --> 00:54:33,830 Dakle, za one od vas koji nisu pročitali pset spec, 1262 00:54:33,830 --> 00:54:36,790 radite neke stvarno kul stvari s kriptografije. 1263 00:54:36,790 --> 00:54:39,360 Ti ćeš stvoriti Cezar Šifra i Vigenèreova šifra. 1264 00:54:39,360 --> 00:54:42,000 1265 00:54:42,000 --> 00:54:45,480 Svakako treba pročitati spec vidjeti kako one rade. 1266 00:54:45,480 --> 00:54:49,650 A ako vi imate bilo kakvih problema oko Što to zapravo treba raditi, 1267 00:54:49,650 --> 00:54:52,920 molim te dođi sa mnom razgovarati, me e-mail ili SMS mene. 1268 00:54:52,920 --> 00:54:53,420 Ja sam okolo. 1269 00:54:53,420 --> 00:54:54,780 1270 00:54:54,780 --> 00:54:57,070 >> Dakle, postoje tri glavna stvari ovdje da mi 1271 00:54:57,070 --> 00:55:00,440 želite about-- razgovarati samo vrsta za proširenje predavanja. 1272 00:55:00,440 --> 00:55:03,645 Stvari koje možda ne znate o, korisne savjete i alate. 1273 00:55:03,645 --> 00:55:05,520 Tako ćemo učiniti brzi pregled ASCII, 1274 00:55:05,520 --> 00:55:10,420 jer to će biti super važno za Vigenere je šifra. 1275 00:55:10,420 --> 00:55:11,809 1276 00:55:11,809 --> 00:55:14,100 Idemo na obraćenje naredbenog retka ulaza, koji se 1277 00:55:14,100 --> 00:55:17,160 će biti vrlo korisno za Cezarova šifra. 1278 00:55:17,160 --> 00:55:18,133 I onda ostatak pri djeljenju. 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 >> Dakle, ASCII znakova preslikava na brojeve. 1282 00:55:24,005 --> 00:55:25,270 1283 00:55:25,270 --> 00:55:26,365 To je veliki grafikon. 1284 00:55:26,365 --> 00:55:28,115 Trebali bi imati ovo označenim negdje. 1285 00:55:28,115 --> 00:55:29,310 1286 00:55:29,310 --> 00:55:33,250 Vi ćete ga želite za Vaš prvi srednjoročna. 1287 00:55:33,250 --> 00:55:36,320 Prilično sam siguran da svatko ima ovo grafikon na njihovom srednjoročnom list. 1288 00:55:36,320 --> 00:55:37,810 Tako ga naučiti. 1289 00:55:37,810 --> 00:55:38,410 Ljubav je. 1290 00:55:38,410 --> 00:55:39,740 Držite ga pri ruci. 1291 00:55:39,740 --> 00:55:41,210 To će biti korisno. 1292 00:55:41,210 --> 00:55:45,630 >> I sve je to je kodiranje koji preslikava traka, numerička, 1293 00:55:45,630 --> 00:55:47,740 i ostali likovi u Brojevi za naše računalo. 1294 00:55:47,740 --> 00:55:49,947 Jer naravno, u kraj, sve što smo pohraniti 1295 00:55:49,947 --> 00:55:52,030 će dobiti pretvaraju do nule i one, 1296 00:55:52,030 --> 00:55:55,200 tako da moramo na neki način predstavlja tekst i likovi koje smo svi 1297 00:55:55,200 --> 00:55:59,105 navikli vidjeti kao neku vrstu broja. 1298 00:55:59,105 --> 00:56:00,370 1299 00:56:00,370 --> 00:56:05,880 >> Dakle, kao što vidimo ovdje, imamo velikim slovima, što je upravo tamo. 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 I mala je 97. 1303 00:56:09,660 --> 00:56:13,170 Na taj način možete shvatiti out-- kao što sam rekao ranije, 1304 00:56:13,170 --> 00:56:16,532 ako ste imali niz višestrukih žice, što je svaki od njih 1305 00:56:16,532 --> 00:56:17,490 imaju 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 vlastiti special-- Zaboravio sam gdje je ovdje. 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 Dakle, sve karte za njega. 1311 00:56:27,090 --> 00:56:28,680 1312 00:56:28,680 --> 00:56:29,740 >> Dakle, imamo ASCII matematiku. 1313 00:56:29,740 --> 00:56:31,080 1314 00:56:31,080 --> 00:56:34,290 Pro tip-- u Vigenere-a, možda ćete biti u iskušenju 1315 00:56:34,290 --> 00:56:39,480 pretvoriti svoje brojeve na cijele brojeve, ali to je zapravo bolje praksa 1316 00:56:39,480 --> 00:56:43,860 da bi mogli koristiti likovi kao što je ovaj 1317 00:56:43,860 --> 00:56:45,820 kada ste ih zapravo manipulira. 1318 00:56:45,820 --> 00:56:48,950 Dakle, ako želite koristiti brojeve, možete. 1319 00:56:48,950 --> 00:56:55,260 No, bolji način, ili način na koji skloni smo da vam se sviđa dečki to učiniti, 1320 00:56:55,260 --> 00:56:57,830 je na ovaj način, gdje ste zapravo oduzimanjem znakova. 1321 00:56:57,830 --> 00:56:58,840 1322 00:56:58,840 --> 00:57:02,830 >> Dakle, želim vam dečki na vrsta lik ove out. 1323 00:57:02,830 --> 00:57:05,070 Zašto ne probati svaki onaj drugi? 1324 00:57:05,070 --> 00:57:07,580 1325 00:57:07,580 --> 00:57:09,830 Dakle, ne prvi, na treći i peti. 1326 00:57:09,830 --> 00:57:11,160 1327 00:57:11,160 --> 00:57:15,000 Zato želim da biste bili sigurni da ćemo razgovarati o svemu moramo razgovarati o tome. 1328 00:57:15,000 --> 00:57:17,410 1329 00:57:17,410 --> 00:57:20,259 Samo ću reći, jedan od važne stvari to-- oh čekati, 1330 00:57:20,259 --> 00:57:21,550 vi niste vidjeli ovaj jedan. 1331 00:57:21,550 --> 00:57:23,710 U redu, tako se prva tri. 1332 00:57:23,710 --> 00:57:24,430 Učinimo to. 1333 00:57:24,430 --> 00:57:25,971 Zato moramo govoriti o modulom. 1334 00:57:25,971 --> 00:57:27,810 1335 00:57:27,810 --> 00:57:28,310 Znam. 1336 00:57:28,310 --> 00:57:28,851 Matematika je teško. 1337 00:57:28,851 --> 00:57:29,870 1338 00:57:29,870 --> 00:57:30,980 Možete koristiti kalkulator. 1339 00:57:30,980 --> 00:57:31,580 To je u redu. 1340 00:57:31,580 --> 00:57:37,464 1341 00:57:37,464 --> 00:57:40,380 Ili podići ASCII tablicu, jer je ste vjerojatno idući u ištanje to. 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 ću brzo hodati vi kroz njih. 1345 00:58:07,960 --> 00:58:11,120 Dakle, ljudi su ASCII tablice izvukao? 1346 00:58:11,120 --> 00:58:15,645 Što je naš numerička broj za malih slova A? 1347 00:58:15,645 --> 00:58:16,270 UČENIK: Sedam. 1348 00:58:16,270 --> 00:58:19,420 1349 00:58:19,420 --> 00:58:24,550 >> ALLISON: Dakle, mala je 97 i veliko je 65. 1350 00:58:24,550 --> 00:58:26,390 Dakle, 97 minus 65? 1351 00:58:26,390 --> 00:58:27,782 1352 00:58:27,782 --> 00:58:28,570 >> PUBLIKA: 32? 1353 00:58:28,570 --> 00:58:33,260 1354 00:58:33,260 --> 00:58:35,630 >> ALLISON: 62, da. 1355 00:58:35,630 --> 00:58:38,675 Dakle, u ovom slučaju, ono što će se ispisati? 1356 00:58:38,675 --> 00:58:40,360 To je prvi? 1357 00:58:40,360 --> 00:58:43,830 Ako imamo posto d, što bi to ukazuju? 1358 00:58:43,830 --> 00:58:45,980 1359 00:58:45,980 --> 00:58:46,730 UČENIK: Broj. 1360 00:58:46,730 --> 00:58:48,604 ALLISON: Mi smo ispis iz stvarnog broja. 1361 00:58:48,604 --> 00:58:50,770 Tako smo zapravo događa otisnuti 32 ovdje. 1362 00:58:50,770 --> 00:58:56,360 A kad bi to bilo posto c, 32 će nam dati prostora. 1363 00:58:56,360 --> 00:58:57,700 1364 00:58:57,700 --> 00:59:01,670 Dakle, razumijevanje da Likovi se mogu ispisati 1365 00:59:01,670 --> 00:59:06,140 i kao broj i kao stvarni likovi 1366 00:59:06,140 --> 00:59:11,080 je jako važno, i plaćati pozornost na stvarne vrste 1367 00:59:11,080 --> 00:59:12,040 kako radimo ovdje. 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 Tako za svaki drugi od njih, ono što ćemo biti tiskanje? 1371 00:59:18,862 --> 00:59:19,825 >> UČENIK: 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 Dakle, ako vi želite znati, te može raditi to na svoju vlastitu. 1375 00:59:24,260 --> 00:59:25,900 Ako imate problema, pošaljite email me. 1376 00:59:25,900 --> 00:59:28,950 No, drugi će otisnuti malim slovom b. 1377 00:59:28,950 --> 00:59:32,910 Treći će ispisati velikim slovom B. četvrti će se ispisati 1378 00:59:32,910 --> 00:59:36,410 se nalaziti veliko C, i Posljednji će biti malo slovo A. 1379 00:59:36,410 --> 00:59:42,530 I posljednja one-- mi zapravo događa da se u što to luda posto 1380 00:59:42,530 --> 00:59:45,020 Znak čak znači u par slajdova. 1381 00:59:45,020 --> 00:59:46,667 Na taj način pokušati onima na svoju vlastitu. 1382 00:59:46,667 --> 00:59:48,500 Ako imate problema, molim te dođi sa mnom razgovarati. 1383 00:59:48,500 --> 00:59:49,655 1384 00:59:49,655 --> 00:59:53,290 Ako ste obično u Adams D dvorani, vjerojatno ćete me okolo. 1385 00:59:53,290 --> 00:59:54,760 1386 00:59:54,760 --> 00:59:55,760 >> Dakle, atoi. 1387 00:59:55,760 --> 00:59:59,660 Kako mnogi od vas su vidjeli funkcija ili čuo za njega uopće? 1388 00:59:59,660 --> 01:00:00,380 1389 01:00:00,380 --> 01:00:00,880 Svatko? 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 Dakle, što to zapravo stoji je ASCII na cijeli broj. 1393 01:00:06,250 --> 01:00:13,150 Pa što možete učiniti je, uz Cezara, za one koji su pročitali spec, 1394 01:00:13,150 --> 01:00:16,460 idete raditi dot kose crte Cezara Nakon što napisati svoj program, 1395 01:00:16,460 --> 01:00:18,690 a onda idete ulazna neki broj koji ste 1396 01:00:18,690 --> 01:00:24,780 želite kodirati svoju tajnu poruku. 1397 01:00:24,780 --> 01:00:30,700 >> Ali, ako se sjećate, sve naše Ulazi se pohranjuju kao žice. 1398 01:00:30,700 --> 01:00:31,390 Pravo? 1399 01:00:31,390 --> 01:00:35,160 Imamo arg v niz to je sve tipa string. 1400 01:00:35,160 --> 01:00:37,870 Dakle, ako ste samo pokušati povući taj jedan, to bi 1401 01:00:37,870 --> 01:00:43,240 mislim da je to jedan ili bez obzira na broj što koristi je zapravo znak. 1402 01:00:43,240 --> 01:00:45,490 Dakle, ti si idući u dobiti neki ludi rezultata. 1403 01:00:45,490 --> 01:00:48,200 Dakle, ako zaista želite pretvoriti ovo u cijeli broj 1404 01:00:48,200 --> 01:00:52,060 koje možete koristiti da manipuliraju tvoja riječ ili vaša poruka, 1405 01:00:52,060 --> 01:00:53,366 ćete želite koristiti atoi. 1406 01:00:53,366 --> 01:00:56,320 atoi jednostavno pretvara Vaš string int. 1407 01:00:56,320 --> 01:01:04,530 >> Dakle, ako imamo niz od 12, ako mi zovemo atoi 12., ili što god da je ulaz, 1408 01:01:04,530 --> 01:01:07,370 što će se zapravo vratiti vama cijeli broj. 1409 01:01:07,370 --> 01:01:10,610 Ne znak ili niz 12. 1410 01:01:10,610 --> 01:01:14,230 Koji, kada počnete dodati da se brojevima, 1411 01:01:14,230 --> 01:01:17,710 će biti vrlo različite, jer je niz 12 1412 01:01:17,710 --> 01:01:21,210 neki ludi broj u ASCII, ali broj 12 1413 01:01:21,210 --> 01:01:23,390 je zapravo 12, što je ono što želite. 1414 01:01:23,390 --> 01:01:25,630 Dakle, želite biti sigurni da koristite atoi. 1415 01:01:25,630 --> 01:01:29,203 >> Ti ćeš htjeti ovo U Cezara, jer vas 1416 01:01:29,203 --> 01:01:32,520 potrebna int isporučuje Korisnik u zapovjednoj liniji. 1417 01:01:32,520 --> 01:01:35,230 Ali kad su ga stavili u naredbu linije, to je pohranjena kao niz 1418 01:01:35,230 --> 01:01:35,813 za početak. 1419 01:01:35,813 --> 01:01:36,950 1420 01:01:36,950 --> 01:01:38,210 Znači li to smisla? 1421 01:01:38,210 --> 01:01:40,590 Vi ne moraju nužno potrebno to za Vigenere. 1422 01:01:40,590 --> 01:01:43,180 S Vigenere, kao što sam rekao prije, trebali biste probati i iskoristiti 1423 01:01:43,180 --> 01:01:46,600 ASCII matematike koja izgleda više kao ovo, gdje ste zapravo 1424 01:01:46,600 --> 01:01:49,320 pomoću znakova koje smo dali 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 Svatko dobro tamo? 1429 01:01:54,170 --> 01:01:56,530 1430 01:01:56,530 --> 01:01:57,480 Strašan. 1431 01:01:57,480 --> 01:01:59,030 >> Tako modulu. 1432 01:01:59,030 --> 01:02:01,950 Pa što ako si dao ovaj veliki broj za cara? 1433 01:02:01,950 --> 01:02:03,720 1434 01:02:03,720 --> 01:02:07,970 Imate ideju da ako ste na Z i da ste 1435 01:02:07,970 --> 01:02:11,020 dao broj dva, to znači da need-- 1436 01:02:11,020 --> 01:02:15,130 Z postaje drugi Pismo nakon sebi, zar ne? 1437 01:02:15,130 --> 01:02:20,800 Dakle, morate nekako omotati oko, a po modulu je način za to. 1438 01:02:20,800 --> 01:02:23,310 Dakle, sve to je to vam daje ostatak 1439 01:02:23,310 --> 01:02:25,660 podjele Prvi broj od sekunde. 1440 01:02:25,660 --> 01:02:28,660 I mi imamo neke primjere na napraviti da se malo više betona. 1441 01:02:28,660 --> 01:02:34,390 Ali u osnovi, koristite modulo kada vas želite napraviti nešto zaokrenuti. 1442 01:02:34,390 --> 01:02:36,950 >> Dakle, ako želite samo brojevi jedan do osam, 1443 01:02:36,950 --> 01:02:39,670 možete koristiti Modulo na bilo koji drugi broj, i to će uvijek 1444 01:02:39,670 --> 01:02:42,960 povratak na broj od nula do osam. 1445 01:02:42,960 --> 01:02:48,750 Dakle, ako neki examples-- imamo 55 modulo 10, 1446 01:02:48,750 --> 01:02:55,350 to samo vam daje ostatak 55 podijeljeno s 10, što bi bilo 5. 1447 01:02:55,350 --> 01:02:56,440 1448 01:02:56,440 --> 01:03:02,470 A onda tri modulu pet, tko pogodi što 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 >> Dakle, ako imate manji broj prije modulu, to ne može ići u ravnomjerno. 1453 01:03:10,910 --> 01:03:11,520 To je nula. 1454 01:03:11,520 --> 01:03:14,090 Pa to samo vraća samu broj. 1455 01:03:14,090 --> 01:03:15,920 Dakle, osam modulu osam će biti? 1456 01:03:15,920 --> 01:03:16,603 >> UČENIK: Zero. 1457 01:03:16,603 --> 01:03:18,350 >> ALLISON: Zero. 1458 01:03:18,350 --> 01:03:20,160 Jer to ide ravnomjerno. 1459 01:03:20,160 --> 01:03:22,095 16 ostatak pri djeljenju 15? 1460 01:03:22,095 --> 01:03:23,660 >> PUBLIKA: Jedan. 1461 01:03:23,660 --> 01:03:24,700 >> ALLISON: Cool. 1462 01:03:24,700 --> 01:03:29,280 A onda je to posljednja je samo pokazati you-- možda se pitate, OK, 1463 01:03:29,280 --> 01:03:31,800 što je redoslijed operacija ovdje? 1464 01:03:31,800 --> 01:03:33,100 Da li ćemo podijeliti prvo? 1465 01:03:33,100 --> 01:03:34,570 Da li smo ostatak pri djeljenju prvi? 1466 01:03:34,570 --> 01:03:38,730 Dakle modulu drži istu prednost kao što je podjela ili množenja, 1467 01:03:38,730 --> 01:03:39,940 i njegova lijeva asocijativni. 1468 01:03:39,940 --> 01:03:41,730 Tako da je na isti način. 1469 01:03:41,730 --> 01:03:46,520 Ti bi uvijek činiti zagrade, onda množenja, dijeljenja, 1470 01:03:46,520 --> 01:03:49,570 i modulu kako s lijeva na desno. 1471 01:03:49,570 --> 01:03:51,050 Dakle, standardna pravila. 1472 01:03:51,050 --> 01:03:55,260 Samo ga stavi u istu kategoriju kao što je podjela i množenja. 1473 01:03:55,260 --> 01:03:59,040 >> Dakle, u ovom slučaju, mi bi ima 1 plus 2 daje nam 3. 1474 01:03:59,040 --> 01:04:02,210 Mi pomnožite to s 2, pa smo dobili 6. 1475 01:04:02,210 --> 01:04:05,050 Mi ostatak pri djeljenju da je 2, što nam daje? 1476 01:04:05,050 --> 01:04:06,042 >> UČENIK: 0. 1477 01:04:06,042 --> 01:04:07,430 >> ALLISON: 0. 1478 01:04:07,430 --> 01:04:10,270 A onda smo dodali 2, pa smo dobili 2 u ovom posljednjem slučaju. 1479 01:04:10,270 --> 01:04:12,080 1480 01:04:12,080 --> 01:04:16,360 Dakle modulo-- ste definitivno idući u treba razmišljati o načinima da se uključi 1481 01:04:16,360 --> 01:04:19,520 da kada ste omatanje oko abecede. 1482 01:04:19,520 --> 01:04:24,210 Ako ste na Z i morate premjestiti proslijediti tri mjesta doći do C, 1483 01:04:24,210 --> 01:04:26,230 tu je da cijeli koncept za omatanje oko. 1484 01:04:26,230 --> 01:04:28,790 Tako ću ga ostaviti vi shvatiti 1485 01:04:28,790 --> 01:04:31,940 kako je točno da ćeš biti koristeći ga. 1486 01:04:31,940 --> 01:04:35,660 No, svakako koristan alat za svoj pset ovaj tjedan. 1487 01:04:35,660 --> 01:04:36,910 1488 01:04:36,910 --> 01:04:37,730 Stvarno mi se sviđa ovo. 1489 01:04:37,730 --> 01:04:39,480 Ovo je jedan od mojih omiljenih psets. 1490 01:04:39,480 --> 01:04:41,230 Onda nakon što ste to učiniti, ako imate prijatelje, 1491 01:04:41,230 --> 01:04:44,146 možete, kao što su, slati jedni druge u tajnosti poruke i pobrinite se to radi. 1492 01:04:44,146 --> 01:04:45,695 Budući da ću to ili bilo što dešifrirati. 1493 01:04:45,695 --> 01:04:46,710 1494 01:04:46,710 --> 01:04:47,390 Mnogo zabave. 1495 01:04:47,390 --> 01:04:48,840 1496 01:04:48,840 --> 01:04:51,220 >> I to je kraj sekcije. 1497 01:04:51,220 --> 01:04:52,430 1498 01:04:52,430 --> 01:04:54,040 Završio sam rano. 1499 01:04:54,040 --> 01:04:57,540 Imam još 15 minuta s ti dečki, pa ako postoji išta 1500 01:04:57,540 --> 01:05:02,180 da želite ići preko dalje, ja bih se rado učiniti. 1501 01:05:02,180 --> 01:05:04,340 Ima li još pitanja o Vaš pset za one od vas 1502 01:05:04,340 --> 01:05:06,355 koji su započeli ili čitati spec. 1503 01:05:06,355 --> 01:05:07,870 1504 01:05:07,870 --> 01:05:12,060 Sve što smo razgovarali o je u posljednjih sat vremena 1505 01:05:12,060 --> 01:05:16,880 i 15 minuta da bi mi se sviđa vrsti ponoviti, ja bih rado. 1506 01:05:16,880 --> 01:05:20,790 Ili možemo odustati, a možete sve ostaviti i uzeti više slatkiša sa sobom 1507 01:05:20,790 --> 01:05:21,650 kao i ti ići. 1508 01:05:21,650 --> 01:05:23,719 1509 01:05:23,719 --> 01:05:26,260 No, ako postoje bilo odugovlačeći pitanja, molimo vas javite mi. 1510 01:05:26,260 --> 01:05:28,467 Također možete doći i razgovarati sa mnom poslije. 1511 01:05:28,467 --> 01:05:29,425 Obećavam da ne grizu. 1512 01:05:29,425 --> 01:05:32,140 1513 01:05:32,140 --> 01:05:32,795 Bilo što drugo? 1514 01:05:32,795 --> 01:05:33,890 1515 01:05:33,890 --> 01:05:35,240 Svatko je dobro? 1516 01:05:35,240 --> 01:05:37,540 Svatko je osjećaj kao oni mogu nositi ovaj pset? 1517 01:05:37,540 --> 01:05:38,820 1518 01:05:38,820 --> 01:05:42,405 Ti ćeš biti fini dečki. 1519 01:05:42,405 --> 01:05:43,905 Radno vrijeme su tu s 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 U redu. 1523 01:05:47,020 --> 01:05:49,680 >> Pa, u tom slučaju, hvala svi toliko za dolazak. 1524 01:05:49,680 --> 01:05:50,940 Nadam se da ću vas vidjeti sljedeći tjedan. 1525 01:05:50,940 --> 01:05:52,120 Tu će biti više slatkiša. 1526 01:05:52,120 --> 01:05:53,495 Tu bi moglo biti i drugih cool stvari. 1527 01:05:53,495 --> 01:05:55,010 1528 01:05:55,010 --> 01:05:59,090 I ja gledati prema naprijed za dobivanje znati sve vas ove godine. 1529 01:05:59,090 --> 01:06:00,320