1 00:00:00,000 --> 00:00:02,418 >> [Speel van musiek] 2 00:00:02,418 --> 00:00:10,542 3 00:00:10,542 --> 00:00:12,000 ALLISON Buchholtz-AU: Hey almal. 4 00:00:12,000 --> 00:00:15,640 Welkom by jou eerste amptelike CS50 afdeling. 5 00:00:15,640 --> 00:00:19,507 Soos jy kan sien is dit artikel CS50-agtige, net 6 00:00:19,507 --> 00:00:20,840 te trek ons ​​agenda vir vandag. 7 00:00:20,840 --> 00:00:23,990 So, wie is ek, want ek is seker jy al gewonder. 8 00:00:23,990 --> 00:00:25,514 Ek is jou TF. 9 00:00:25,514 --> 00:00:27,930 Ek is nie net 'n ewekansige student wie hom voordoen as jou TF. 10 00:00:27,930 --> 00:00:31,190 >> En ek gaan om te gaan deur soort het afdelings sal vloei, 11 00:00:31,190 --> 00:00:34,900 verwagtinge wat ons het, hulpbronne, so aan en so voort. 12 00:00:34,900 --> 00:00:39,190 Ons gaan om te praat oor skikkings, ASCII funksies, opdrag-lyn argumente, 13 00:00:39,190 --> 00:00:42,020 en dit is nie hier nie, maar Ek sal ook help om 14 00:00:42,020 --> 00:00:45,054 jy soort van dink deur middel van jou volgende pset vir hierdie week. 15 00:00:45,054 --> 00:00:46,720 Wat ek is seker jy sal waardeer. 16 00:00:46,720 --> 00:00:48,190 17 00:00:48,190 --> 00:00:53,390 >> So, in die eerste question-- wie is ek, behalwe jou uitbundige TF hier. 18 00:00:53,390 --> 00:00:55,390 Ek is Alison Buchholtz-Au. 19 00:00:55,390 --> 00:00:57,970 Dit is my tweede jaar TFing CS50. 20 00:00:57,970 --> 00:01:00,570 Ek het ook TF CS51 in die lente. 21 00:01:00,570 --> 00:01:03,930 Jy kan daar weer te sien As jy besluit om dit te neem. 22 00:01:03,930 --> 00:01:07,370 Ek is ook 'n PAF, so enige Freshmen-- en as jy nie 'n groentjie, 23 00:01:07,370 --> 00:01:09,980 dit is my derde jaar as 'n mede-adviseer. 24 00:01:09,980 --> 00:01:13,630 Ek is baie goed vertroud met adviseer jy op die lewe en kursusse 25 00:01:13,630 --> 00:01:16,549 binne CS en nie binne CS. 26 00:01:16,549 --> 00:01:18,090 Ek is 'n Rekenaarwetenskap Concentrator. 27 00:01:18,090 --> 00:01:20,800 Ek is 'n senior in Adams House, die beste huis. 28 00:01:20,800 --> 00:01:22,430 29 00:01:22,430 --> 00:01:26,050 En voor ek oorgeskakel na CS my stage Spring, 30 00:01:26,050 --> 00:01:27,640 Ek was eintlik 'n biomediese ingenieur. 31 00:01:27,640 --> 00:01:29,020 Ek gaan om te gaan na Med skool. 32 00:01:29,020 --> 00:01:30,530 Ek gaan 'n trauma chirurg te wees. 33 00:01:30,530 --> 00:01:33,000 En dit het heeltemal verander sedert ek het CS50. 34 00:01:33,000 --> 00:01:34,250 35 00:01:34,250 --> 00:01:36,310 Ek het die kursus my stage herfs. 36 00:01:36,310 --> 00:01:38,920 Dit was my eerste kennismaking met CS ooit. 37 00:01:38,920 --> 00:01:44,104 Ek was een van die 78% van julle wat het zero ervaring kom, 38 00:01:44,104 --> 00:01:45,520 en dit heeltemal my lewe verander. 39 00:01:45,520 --> 00:01:49,820 En nou is ek besig om te Microsoft, en jou pragtige TF. 40 00:01:49,820 --> 00:01:53,500 En CS50 is waarskynlik een van die beste ervarings 41 00:01:53,500 --> 00:01:56,210 dat ek hier gehad het op Harvard-- beide die neem van die klas 42 00:01:56,210 --> 00:01:59,040 en in staat is om te help studente soos jy leer. 43 00:01:59,040 --> 00:02:01,410 >> So ek is baie opgewonde dat jy almal hier. 44 00:02:01,410 --> 00:02:04,270 In die geval dat jy het gekom in laat, is daar lekkergoed, 45 00:02:04,270 --> 00:02:07,227 wat jy moet voel gratis gryp om te kom, of stuur 46 00:02:07,227 --> 00:02:08,560 iemand anders dit aan te gryp vir jou. 47 00:02:08,560 --> 00:02:09,399 dit is OK. 48 00:02:09,399 --> 00:02:10,440 Ek wil nie dat om te eet. 49 00:02:10,440 --> 00:02:13,350 My kamer het genoeg sjokolade, so y'all moet probeer en voltooi dit. 50 00:02:13,350 --> 00:02:16,730 Ek weet daar is 100 stukke, maar soos, 04:00 op 'n Maandag, 51 00:02:16,730 --> 00:02:19,000 Ek dink almal kon suiker gebruik. 52 00:02:19,000 --> 00:02:21,750 >> So almal van julle wat amptelik in my artikel 53 00:02:21,750 --> 00:02:24,700 moet 'n e-pos gekry het van my met my selfoon nommer, 54 00:02:24,700 --> 00:02:29,920 e-pos address-- voel vry om my te voeg op Gchat, voel vry om my te voeg op Facebook, 55 00:02:29,920 --> 00:02:33,360 en ook vir die res van julle, jy kan my e-pos hier. 56 00:02:33,360 --> 00:02:34,450 Daar is twee H's. 57 00:02:34,450 --> 00:02:37,090 Almal altyd doen soos twee L's of twee C's. 58 00:02:37,090 --> 00:02:38,260 Twee H se in die laaste naam. 59 00:02:38,260 --> 00:02:41,800 Anders gaan dit te weiering, en Ek gaan nie jou e-pos te kry. 60 00:02:41,800 --> 00:02:46,400 >> So voel vry om my te e-pos, om my te kontak op enige tyd. 61 00:02:46,400 --> 00:02:51,440 Ek kan nie terug te keer na jy binne 24 minute, 62 00:02:51,440 --> 00:02:53,760 maar ek belowe om terug te kry aan jou binne 24 uur. 63 00:02:53,760 --> 00:02:54,900 64 00:02:54,900 --> 00:02:58,067 As jy my bel 'n halfuur voor jou pset verskuldig is, jy word soos, 65 00:02:58,067 --> 00:02:59,650 Ek het geen idee wat ek doen Allison. 66 00:02:59,650 --> 00:03:00,160 Help my. 67 00:03:00,160 --> 00:03:04,049 Ek gaan om jou te kalmeer, maar aan die einde van die dag, 68 00:03:04,049 --> 00:03:07,340 As jy my roep 'n halfuur voor jou pset is as gevolg met niks geskryf, 69 00:03:07,340 --> 00:03:11,570 Ek gaan om te wees soos, wel, miskien dit is tyd om wat laat dag gebruik. 70 00:03:11,570 --> 00:03:15,215 So ek sal reageer op al jou versoeke in 'n baie tydige wyse. 71 00:03:15,215 --> 00:03:16,482 72 00:03:16,482 --> 00:03:18,190 My selfoon is gewoonlik verbonde aan my hande. 73 00:03:18,190 --> 00:03:21,530 Ek het gewoonlik reageer veel vinniger as 24 uur, 74 00:03:21,530 --> 00:03:25,650 Maar ek kan net waarborg 'n 24 uur antwoord. 75 00:03:25,650 --> 00:03:26,580 >> Alle regte. 76 00:03:26,580 --> 00:03:28,410 So hoekom is ons hier? 77 00:03:28,410 --> 00:03:32,160 Ook, as jy enige vrae te enige tyd, laat weet my asseblief. 78 00:03:32,160 --> 00:03:32,780 Ek praat baie. 79 00:03:32,780 --> 00:03:35,320 Ek praat vinnig, maar asseblief voel vry om my te onderbreek. 80 00:03:35,320 --> 00:03:36,980 Dit gee my asemhaling kamer as well. 81 00:03:36,980 --> 00:03:38,159 82 00:03:38,159 --> 00:03:40,200 So afdelings is 'n tyd vir ons om regtig net duik 83 00:03:40,200 --> 00:03:44,270 in, kry 'n paar praktiese ervaring, te gaan deur onderwerpe wat ons genoem 84 00:03:44,270 --> 00:03:49,760 in die klas of in studie materiaal wat Ons beveel aan dat julle ouens online. 85 00:03:49,760 --> 00:03:52,980 En ons sal eintlik gaan deur sommige van hierdie hulpbronne in 'n bietjie. 86 00:03:52,980 --> 00:03:54,300 87 00:03:54,300 --> 00:03:57,400 >> So 'n paar notas oor artikel ondersteuning. 88 00:03:57,400 --> 00:04:00,250 CS50-- een van die dinge wat maak dit een van my gunsteling-klasse 89 00:04:00,250 --> 00:04:02,510 is die gevoel dat jy nooit alleen nie. 90 00:04:02,510 --> 00:04:05,430 Ons het 'n personeel van meer as 100 mense wat hier om jou te help. 91 00:04:05,430 --> 00:04:08,080 Ons het kantoorure Maandag tot Donderdag. 92 00:04:08,080 --> 00:04:13,230 So daar is so baie mense wat lief vir die klas net soveel as wat ek doen 93 00:04:13,230 --> 00:04:15,750 en wat werklik hier want hulle wil om hier te wees. 94 00:04:15,750 --> 00:04:19,390 Die meeste van ons is studente, en dit is soos 'n vyfde klas benewens 95 00:04:19,390 --> 00:04:20,390 na die res van ons werk. 96 00:04:20,390 --> 00:04:22,723 >> En dit is 'n baie werk, maar Ons doen dit omdat ons lief is, 97 00:04:22,723 --> 00:04:25,600 en ons is regtig baie lief om jou te leer en help om deel ons opgewondenheid 98 00:04:25,600 --> 00:04:27,260 vir hierdie onderwerp en hierdie klas. 99 00:04:27,260 --> 00:04:28,490 So asseblief neem voordeel. 100 00:04:28,490 --> 00:04:29,370 Kom praat met ons. 101 00:04:29,370 --> 00:04:33,034 Ek kry eensaam wanneer my studente praat nie met my, so as jy wil, 102 00:04:33,034 --> 00:04:33,950 kom saam met my uithang. 103 00:04:33,950 --> 00:04:35,200 Dit sal wonderlik wees. 104 00:04:35,200 --> 00:04:37,400 >> So artikel is natuurlik een van jou grootste dinge. 105 00:04:37,400 --> 00:04:41,770 Ons gaan deur dinge dat jy in lesing geleer het, 106 00:04:41,770 --> 00:04:44,100 doen 'n paar kort voorbeelde wanneer ons tyd, 107 00:04:44,100 --> 00:04:46,187 en in die algemeen soort 'n idee kry oor dinge 108 00:04:46,187 --> 00:04:48,270 jy moet dink oor vir jou probleem stel. 109 00:04:48,270 --> 00:04:49,540 110 00:04:49,540 --> 00:04:53,591 Shorts-- hoe baie mense eintlik kyk na die video van jou krap 111 00:04:53,591 --> 00:04:54,090 kort? 112 00:04:54,090 --> 00:04:55,460 113 00:04:55,460 --> 00:04:57,390 Enigiemand my herken? 114 00:04:57,390 --> 00:04:59,720 So dit is baie groot. 115 00:04:59,720 --> 00:05:01,210 Jy moet beslis kyk hulle. 116 00:05:01,210 --> 00:05:02,880 Baie van die werk is in hulle. 117 00:05:02,880 --> 00:05:06,690 En hulle is net bedoel om te wees byt-grootte stukke vir jou om net te kyk 118 00:05:06,690 --> 00:05:09,760 vir drie of vier minute en kry 'n beter begrip van 'n konsep. 119 00:05:09,760 --> 00:05:11,147 120 00:05:11,147 --> 00:05:12,980 Loop throughs-- hoe baie mense het gekyk 121 00:05:12,980 --> 00:05:14,880 die loop-throughs vir voriges? 122 00:05:14,880 --> 00:05:16,240 Zamyla is amazing, reg? 123 00:05:16,240 --> 00:05:18,100 Soos, ek wens ek was Zamyla soms. 124 00:05:18,100 --> 00:05:19,650 125 00:05:19,650 --> 00:05:21,640 So beslis gebruik om jou loop-throughs. 126 00:05:21,640 --> 00:05:25,070 Sy sal breek dit af in klein, byt-grootte stukke. 127 00:05:25,070 --> 00:05:28,079 En wanneer jy hierdie groot spesifikasies van jou probleem stelle, 128 00:05:28,079 --> 00:05:30,870 dit gaan regtig belangrik in staat te wees om net iewers vind 129 00:05:30,870 --> 00:05:32,600 om te begin en werk stadig deur. 130 00:05:32,600 --> 00:05:33,610 131 00:05:33,610 --> 00:05:40,260 >> Alle reg, ons het ook Study50, wat is study50.harvard.edu, ek glo nie. 132 00:05:40,260 --> 00:05:42,270 Jy kan net Google bestudeer, en dit sal kom. 133 00:05:42,270 --> 00:05:45,750 Dit is een van die beste hulpbronne wat ons het. 134 00:05:45,750 --> 00:05:49,800 Dit is kragpunte met notas en oefen probleme vir jou 135 00:05:49,800 --> 00:05:52,430 met oplossings wat jy kan eintlik loop deur. 136 00:05:52,430 --> 00:05:57,000 So as jy ooit wil meer oefening, meer as wat ons doen in afdelings of meer 137 00:05:57,000 --> 00:06:00,700 as jou probleem stelle, dit is regtig 'n plek waar ek u aanmoedig om te gaan. 138 00:06:00,700 --> 00:06:03,590 Dit is gebou verlede somer deur sommige van my baie goeie vriende. 139 00:06:03,590 --> 00:06:04,480 En dit is ongelooflik. 140 00:06:04,480 --> 00:06:05,540 141 00:06:05,540 --> 00:06:08,670 In werklikheid, 'n baie van die skyfies wat ek sal gebruik word vir Afdeling 142 00:06:08,670 --> 00:06:10,190 sal kom van Study50. 143 00:06:10,190 --> 00:06:12,000 >> So 'n groot deel van die TFS dit gebruik. 144 00:06:12,000 --> 00:06:13,920 En uiteindelik, as ek genoem kantoorure. 145 00:06:13,920 --> 00:06:15,836 As jy sukkel met huiswerk, is jy 146 00:06:15,836 --> 00:06:18,270 sukkel met 'n konsep, kom na kantoorure. 147 00:06:18,270 --> 00:06:20,190 Gaan vroeg in die week as jy kan. 148 00:06:20,190 --> 00:06:23,130 Kry uit die quad, want dit is 'n soort van ver. 149 00:06:23,130 --> 00:06:24,780 Niemand hou daarvan om daar uit te loop. 150 00:06:24,780 --> 00:06:27,090 Maar dit is tot jou voordeel, want dan is jy 151 00:06:27,090 --> 00:06:29,580 gaan al hierdie TFS te hê, [Onhoorbaar] omsingel. 152 00:06:29,580 --> 00:06:31,920 En veral nou, net 'n wenk, Donderdae 153 00:06:31,920 --> 00:06:35,310 is baie chill nou in Mather omdat jou psets 154 00:06:35,310 --> 00:06:36,577 is as gevolg op Donderdae. 155 00:06:36,577 --> 00:06:38,410 En die wete wil gebruik jou laat dae nog. 156 00:06:38,410 --> 00:06:40,030 >> So as jy met probleme met konsepte, 157 00:06:40,030 --> 00:06:41,780 daar is baie van TFS wat is daar om jou te help. 158 00:06:41,780 --> 00:06:43,196 So kom om uit te Mather op Donderdag. 159 00:06:43,196 --> 00:06:45,280 As jy wil om my te sien, Ek gaan om daar te wees. 160 00:06:45,280 --> 00:06:48,870 Ek is tipies doen my eie huiswerk, want niemand wil my help. 161 00:06:48,870 --> 00:06:50,260 So kom ons sien. 162 00:06:50,260 --> 00:06:51,460 163 00:06:51,460 --> 00:06:52,440 >> Ontmoet ons halfpad. 164 00:06:52,440 --> 00:06:55,400 So hoeveel mense bygewoon lesing of gekyk het dit aanlyn? 165 00:06:55,400 --> 00:06:56,570 166 00:06:56,570 --> 00:06:59,140 Hoeveel mense het na super artikel verlede week? 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 Dit is eintlik 'n redelike aantal. 170 00:07:02,190 --> 00:07:05,425 Hoeveel van julle het gelees van jou spec vir hierdie week vir jou pset? 171 00:07:05,425 --> 00:07:07,081 172 00:07:07,081 --> 00:07:08,461 Ooh, ek is trots op julle! 173 00:07:08,461 --> 00:07:09,335 Meer lekkergoed vir y'all. 174 00:07:09,335 --> 00:07:11,070 175 00:07:11,070 --> 00:07:13,280 >> Goed, so wat ons bedoel "Ontmoet ons halfpad," is 176 00:07:13,280 --> 00:07:16,440 daardie artikel is eintlik net gaan super nuttig vir jou wees 177 00:07:16,440 --> 00:07:19,810 As jy kom in nadat lees jou spesifikasie vir jou pset. 178 00:07:19,810 --> 00:07:23,859 Want as ek gaan deur 'n oorsig van die dinge wat jy moet soek vir, 179 00:07:23,859 --> 00:07:25,650 dit is nie van plan om soveel sin as jy 180 00:07:25,650 --> 00:07:28,358 Ek weet nie wat jou probleem stel gaan gevra word om te doen. 181 00:07:28,358 --> 00:07:29,020 182 00:07:29,020 --> 00:07:32,590 >> As jy kom nie aan artikel, natuurlik Ek kan nie so nuttig vir jou. 183 00:07:32,590 --> 00:07:36,600 Ek is nie van plan om dit te persoonlik as neem jy kom nie na my artikel op die oomblik, 184 00:07:36,600 --> 00:07:38,570 maar beslis moet jy. 185 00:07:38,570 --> 00:07:40,090 As jy nie kan nie, kyk hoe hulle aanlyn. 186 00:07:40,090 --> 00:07:41,230 187 00:07:41,230 --> 00:07:42,519 Hulle is daar vir 'n rede. 188 00:07:42,519 --> 00:07:43,560 Myne sal net daar wees. 189 00:07:43,560 --> 00:07:44,187 190 00:07:44,187 --> 00:07:47,270 As jy sien, ons word aangeteken, so dit sal net daar wees vir julle. 191 00:07:47,270 --> 00:07:49,110 192 00:07:49,110 --> 00:07:51,570 Sowel, gaan lectures-- dit is duidelik 193 00:07:51,570 --> 00:07:53,790 waar kry jy die begin van jou materiaal hier. 194 00:07:53,790 --> 00:07:57,430 So ek sal beslis probeer help om so veel as wat ek kan, 195 00:07:57,430 --> 00:07:58,840 Maar ek kan net ontmoet jy so ver. 196 00:07:58,840 --> 00:08:01,220 Jy moet soort ontmoet ons halfpad daar. 197 00:08:01,220 --> 00:08:04,050 >> Grading-- so, almal van julle wat 'n e-pos gekry van my, 198 00:08:04,050 --> 00:08:05,445 jy is my amptelike afdeling. 199 00:08:05,445 --> 00:08:06,470 200 00:08:06,470 --> 00:08:08,120 Ek sal die gradering word om jou psets. 201 00:08:08,120 --> 00:08:12,870 En ek wil net sê, een ding wat jy moet regtig aandag te gee aan 202 00:08:12,870 --> 00:08:13,820 is die kommentaar. 203 00:08:13,820 --> 00:08:17,390 Die kommentaar is dikwels meer nuttig as die werklike telling gee ons jou. 204 00:08:17,390 --> 00:08:19,890 En die kommentaar is eintlik waar ek spandeer baie van my tyd 205 00:08:19,890 --> 00:08:20,770 wanneer ek gradering. 206 00:08:20,770 --> 00:08:22,700 So ek sal dit waardeer as jy dit lees. 207 00:08:22,700 --> 00:08:26,990 En hulle is eintlik hoe jy gaan meer oor die ontwerp en styl te leer 208 00:08:26,990 --> 00:08:29,860 en die dinge wat 'n bietjie minder sny en droog. 209 00:08:29,860 --> 00:08:31,770 >> So regtig aandag op die kommentaar. 210 00:08:31,770 --> 00:08:34,720 As jy vrae het oor hulle, of vrae oor jou telling, 211 00:08:34,720 --> 00:08:37,620 kom gesels gerus met my hetsy voor afdeling 212 00:08:37,620 --> 00:08:41,039 Ek sal waarskynlik hang uit in die voorportaal, of daarna. 213 00:08:41,039 --> 00:08:43,559 As jy wil om te skeduleer een-tot-een-vergaderings oor hoe 214 00:08:43,559 --> 00:08:46,100 jy kan help later verbeter probleem stelle, laat my net weet. 215 00:08:46,100 --> 00:08:47,520 216 00:08:47,520 --> 00:08:49,750 >> En dan net 'n paar wenke vir julle. 217 00:08:49,750 --> 00:08:53,110 So een van die grootste dinge Ek het altyd beklemtoon om my artikel 218 00:08:53,110 --> 00:08:57,700 wanneer jy leer hoe om te kode is dinge om eerste te skryf op papier. 219 00:08:57,700 --> 00:09:01,080 As jy 'n wedstryd plan vir waar jou kode moet gaan 220 00:09:01,080 --> 00:09:03,230 en wat dit nodig het om te doen en dit is afgebreek 221 00:09:03,230 --> 00:09:06,000 in klein stukkies van pseudokode kode wat jy geskryf het, 222 00:09:06,000 --> 00:09:09,780 jy gaan minder wees waarskynlik sintaksfoute te maak 223 00:09:09,780 --> 00:09:12,355 of skep 'n lus wat as nie 'n ander nie. 224 00:09:12,355 --> 00:09:14,064 225 00:09:14,064 --> 00:09:15,980 As jy weet waar jy is algehele gaan, is jy 226 00:09:15,980 --> 00:09:19,764 minder geneig om hierdie klein te maak foute wat soms sal jy 227 00:09:19,764 --> 00:09:22,555 uur op te los, omdat jy wil, waar ek ontbreek hierdie bracket? 228 00:09:22,555 --> 00:09:23,580 229 00:09:23,580 --> 00:09:27,420 >> Op daardie noot, gebruik asseblief Style50. 230 00:09:27,420 --> 00:09:28,820 231 00:09:28,820 --> 00:09:31,590 Veral wanneer jy gaan kantoorure, 232 00:09:31,590 --> 00:09:34,850 As jou kode is al oorgeskakel na die een kant, 233 00:09:34,850 --> 00:09:37,740 Dit is natuurlik beleid dat ons kan sê, los dit 234 00:09:37,740 --> 00:09:41,990 sodat dit lyk soos Style50 sê dit moet, en dan sal ons jou help. 235 00:09:41,990 --> 00:09:43,830 So dit sal jou lewe makliker te maak. 236 00:09:43,830 --> 00:09:45,030 Dit sal ons lewens makliker te maak. 237 00:09:45,030 --> 00:09:46,000 Almal is gelukkiger. 238 00:09:46,000 --> 00:09:47,290 Almal kry 'n beter grade. 239 00:09:47,290 --> 00:09:48,760 Is dit nie wat ons almal wil hê? 240 00:09:48,760 --> 00:09:50,420 241 00:09:50,420 --> 00:09:53,860 >> So skryf dinge op papier voor jy al ooit raak jou rekenaar. 242 00:09:53,860 --> 00:09:57,540 Praat dinge uit op 'n hoë vlak, en maak seker dat jy weet waar jy gaan. 243 00:09:57,540 --> 00:09:59,940 En as jy onseker is, sit met iemand 244 00:09:59,940 --> 00:10:03,340 en loop hulle deur stap vir stap wat jou kode is veronderstel om te doen. 245 00:10:03,340 --> 00:10:07,940 En nege keer uit 10, sal jy soos, ag, ek het vergeet 'n as voorwaarde 246 00:10:07,940 --> 00:10:12,420 of ek 'n kommapunt vergeet hier of Ek is die opdatering van hierdie veranderlike verkeerd. 247 00:10:12,420 --> 00:10:15,740 So dit is my wenke vir sukses. 248 00:10:15,740 --> 00:10:19,820 >> So sedert ongeveer die helfte van julle kyk soos jy super artikel bygewoon het, 249 00:10:19,820 --> 00:10:24,080 Ek gaan net baie gaan kortliks deur loops, 250 00:10:24,080 --> 00:10:26,650 wat nie was op die oorspronklike agenda. 251 00:10:26,650 --> 00:10:28,190 Maar hulle is baie belangrik. 252 00:10:28,190 --> 00:10:30,250 En so gaan ek soort spoed deur diegene 253 00:10:30,250 --> 00:10:32,860 Voordat ons in ons werklike artikel. 254 00:10:32,860 --> 00:10:36,269 Voordat ek dit doen, is daar enige questions-- logistieke, 255 00:10:36,269 --> 00:10:38,060 persoonlik, is daar enigiets anders wat jy wil hê 256 00:10:38,060 --> 00:10:40,990 om te weet oor my of oor artikel of klas in die algemeen? 257 00:10:40,990 --> 00:10:43,195 258 00:10:43,195 --> 00:10:43,880 Alle goeie? 259 00:10:43,880 --> 00:10:45,300 OK, cool. 260 00:10:45,300 --> 00:10:46,781 261 00:10:46,781 --> 00:10:47,280 Pragtige. 262 00:10:47,280 --> 00:10:50,071 >> So loops-- Julle moet almal hierdie stukke herken van nuuts af. 263 00:10:50,071 --> 00:10:51,310 264 00:10:51,310 --> 00:10:55,220 So loops is basies net 'n manier vir ons om iets te doen 265 00:10:55,220 --> 00:10:58,900 sommige paar keer, sommige herhaal aksie, gebaseer op sommige voorwaardelik. 266 00:10:58,900 --> 00:11:00,140 267 00:11:00,140 --> 00:11:02,090 So het ons drie verskillende tipes. 268 00:11:02,090 --> 00:11:04,860 Ons het lus, terwyl, en doen-tyd. 269 00:11:04,860 --> 00:11:06,430 270 00:11:06,430 --> 00:11:11,320 >> So vir loops-- ons moet net 'n baie algemene uitleg hier van 'n lus. 271 00:11:11,320 --> 00:11:16,110 En dit is 'n groot vir wanneer jy weet hoe baie keer iets nodig om uit te voer. 272 00:11:16,110 --> 00:11:17,040 273 00:11:17,040 --> 00:11:18,790 Wanneer ons praat oor die ander lusse, sal jy 274 00:11:18,790 --> 00:11:20,650 sien waarom dit is 'n belangrike onderskeid. 275 00:11:20,650 --> 00:11:22,530 Maar vir sirkelroetes is vir iets stel. 276 00:11:22,530 --> 00:11:24,590 Jy weet jy kan óf bereken die aantal 277 00:11:24,590 --> 00:11:29,230 of jy weet wat die aantal kere wat jy wil hierdie herhaal aan die begin. 278 00:11:29,230 --> 00:11:32,220 >> So as jy hier sien, is ons het net 'n algemene soort 279 00:11:32,220 --> 00:11:34,480 geraamte raamwerk vir 'n lus vir hier. 280 00:11:34,480 --> 00:11:38,080 So vir-inisialisering, dit is waar jou veranderlikes geïnisialiseer. 281 00:11:38,080 --> 00:11:41,915 Met Mario, ek is seker julle het iets soos int i gelyk aan 0. 282 00:11:41,915 --> 00:11:42,920 283 00:11:42,920 --> 00:11:44,710 Dit is waar dat sou gebeur in blou. 284 00:11:44,710 --> 00:11:48,290 Jy het jou toestand, wat is wat nagegaan elke keer. 285 00:11:48,290 --> 00:11:52,410 Indien hierdie toestand is waar, dan die res van die kode voer. 286 00:11:52,410 --> 00:11:54,749 Dan sal dit loop again-- en vra. 287 00:11:54,749 --> 00:11:57,290 En dan moet ons werk, waar jy opdatering van jou veranderlike. 288 00:11:57,290 --> 00:12:01,410 So, weer, met soos Mario, ek is seker julle ouens het iets soos ek plus plus. 289 00:12:01,410 --> 00:12:04,640 So elke keer as die lus hardloop, het ek so opgedateer 290 00:12:04,640 --> 00:12:09,370 dat wanneer ons die nagaan dit teen sommige toestand is, is dit te verander. 291 00:12:09,370 --> 00:12:12,570 >> Want as jy net het 'n statiese veranderlike, 292 00:12:12,570 --> 00:12:15,567 As dit voer die eerste keer, is dit net gaan oneindig voer. 293 00:12:15,567 --> 00:12:18,025 So jy het om seker te maak jy maak jou veranderlike behoorlik werk. 294 00:12:18,025 --> 00:12:19,350 295 00:12:19,350 --> 00:12:23,890 En ons het ook net 'n visuele voorstelling is daar. 296 00:12:23,890 --> 00:12:24,930 Almal goeie? 297 00:12:24,930 --> 00:12:25,630 Vir loops. 298 00:12:25,630 --> 00:12:27,540 Moet gesien het dit in jou pset. 299 00:12:27,540 --> 00:12:28,840 Cool. 300 00:12:28,840 --> 00:12:31,870 >> So hier is net 'n maklike voorbeeld. 301 00:12:31,870 --> 00:12:32,860 Druk Dit is CS50! 302 00:12:32,860 --> 00:12:33,360 10 keer. 303 00:12:33,360 --> 00:12:34,850 304 00:12:34,850 --> 00:12:37,906 En so het ons ons inisialisering, as ons sien dat daar, met int i 305 00:12:37,906 --> 00:12:41,280 gelyk 0, want ek is minder as 10, en ek plus plus. 306 00:12:41,280 --> 00:12:43,090 307 00:12:43,090 --> 00:12:44,540 En dit sal druk wat 10 keer. 308 00:12:44,540 --> 00:12:46,230 309 00:12:46,230 --> 00:12:56,781 >> Dus, terwyl loops-- terwyl loops is groot wanneer jy dit nie doen nie noodwendig 310 00:12:56,781 --> 00:12:59,530 het om te weet hoeveel keer is dit gaan om te werk in die begin. 311 00:12:59,530 --> 00:13:00,640 312 00:13:00,640 --> 00:13:02,580 Jy hoef net 'n paar voorwaarde dat is nagegaan. 313 00:13:02,580 --> 00:13:09,550 En dit kan iets soos while-- wees Kom ons neem 'n voorbeeld van jou pset. 314 00:13:09,550 --> 00:13:12,540 As Mario, probeer om jou te insette 'n negatiewe getal. 315 00:13:12,540 --> 00:13:13,270 Reg? 316 00:13:13,270 --> 00:13:15,460 Jy is veronderstel om te weer gevra die gebruiker. 317 00:13:15,460 --> 00:13:20,890 Sodat jy kan sê, goed, as die gebruiker insette iets minder as nul, re-vinnige 318 00:13:20,890 --> 00:13:21,390 hulle. 319 00:13:21,390 --> 00:13:23,890 En ek is seker dat mag hê was iets wat sommige van julle 320 00:13:23,890 --> 00:13:24,660 gebruik in jou kode. 321 00:13:24,660 --> 00:13:26,270 >> So dit is 'n eenvoudige ding. 322 00:13:26,270 --> 00:13:28,490 Jy het terwyl sommige voorwaardelike wat nagegaan 323 00:13:28,490 --> 00:13:30,460 elke keer die kode gaan om uit te voer. 324 00:13:30,460 --> 00:13:32,660 As dit evalueer waar, ons voer dit uit. 325 00:13:32,660 --> 00:13:33,820 Anders wat ons doen nie. 326 00:13:33,820 --> 00:13:35,650 En wat is regtig important-- iets wat ek 327 00:13:35,650 --> 00:13:38,155 dink dat Dawid gepraat oor in lecture-- is die draadjies. 328 00:13:38,155 --> 00:13:40,760 329 00:13:40,760 --> 00:13:42,930 Wat ook al se binne die draadjies is wat uitgevoer word. 330 00:13:42,930 --> 00:13:45,850 As jy vergeet diegene draadjies, dit gaan slegs 331 00:13:45,850 --> 00:13:48,800 die lyn direk wees ná die tyd is uitgevoer. 332 00:13:48,800 --> 00:13:51,040 >> So as jy drie dinge wat veronderstel is om 333 00:13:51,040 --> 00:13:54,020 wanneer dit gebeur toestand evalueer tot ware, 334 00:13:54,020 --> 00:13:58,040 en jy nie die draadjies, net Die eerste ding wat gaan gebeur. 335 00:13:58,040 --> 00:14:01,510 So baie bewus van waar jy jou draadjies. 336 00:14:01,510 --> 00:14:04,880 As jy vashou aan Style50, Dit sal beslis help. 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 >> So, dit is 'n aftelling van 10 tot nul. 340 00:14:10,835 --> 00:14:12,380 341 00:14:12,380 --> 00:14:16,210 En as jy hier sien, het ons inisialiseer sommige counter buite dit. 342 00:14:16,210 --> 00:14:19,250 Een ding wat anders is ons is nie initializing ons veranderlike 343 00:14:19,250 --> 00:14:20,300 binne ons, terwyl loop. 344 00:14:20,300 --> 00:14:22,150 Dit is geïnisialiseer buite dit. 345 00:14:22,150 --> 00:14:25,480 Ons is eenvoudig net om die kondisioneer in vir ons tyd. 346 00:14:25,480 --> 00:14:28,630 So in hierdie geval, dit is, terwyl telling groter as nul is. 347 00:14:28,630 --> 00:14:35,134 En ons druk wat ons telling is, en dan het ons decrement ons veranderlike. 348 00:14:35,134 --> 00:14:36,800 En dit is ook 'n ander ding om op te let. 349 00:14:36,800 --> 00:14:40,440 Ons werk nie binne gebeur dat die eerste deel van die while lus. 350 00:14:40,440 --> 00:14:44,255 Dit sal eintlik binne gebeur die draadjies, die liggaam van jou teks. 351 00:14:44,255 --> 00:14:46,820 352 00:14:46,820 --> 00:14:51,860 >> So moenie-terwyl loops-- doen-terwyl loops is 'n groot vir die gebruiker bevestiging. 353 00:14:51,860 --> 00:14:54,820 So 'n paar van wat jy mag hê ook gebruik dit in jou pset. 354 00:14:54,820 --> 00:14:59,960 Jy kan sê, doen, soos, vra die gebruiker om insette te lewer. 355 00:14:59,960 --> 00:15:04,690 En dan, terwyl, soos die insette is minder as 'n paar nommer. 356 00:15:04,690 --> 00:15:10,700 >> So vir 'n eksplisiete geval met Mario, is dit sou wees nie printf, gaan 'n heelgetal, 357 00:15:10,700 --> 00:15:13,820 en dan 'n paar heelgetal gelyk getint. 358 00:15:13,820 --> 00:15:17,060 En dan sal dit eintlik voer wat die kode eerste. 359 00:15:17,060 --> 00:15:19,120 Jy sal eintlik 'n soort van heelgetal. 360 00:15:19,120 --> 00:15:23,380 En dan kan jy sê, terwyl dat heelgetal is minder as nul. 361 00:15:23,380 --> 00:15:26,120 So, wat dit gaan doen, is dit gaan ten minste een keer uit te voer. 362 00:15:26,120 --> 00:15:27,536 Dit gaan om die toestand te monitor. 363 00:15:27,536 --> 00:15:29,690 As die toestand waar, sal dit weer hardloop. 364 00:15:29,690 --> 00:15:32,900 >> Doen-terwyl loops is groot vir die gebruiker bevestiging, 365 00:15:32,900 --> 00:15:36,770 want jy weet die kode gaan ten minste uit te voer 366 00:15:36,770 --> 00:15:39,720 keer, terwyl met terwyl loops, jy is nie 367 00:15:39,720 --> 00:15:41,630 gewaarborg dat dit gaan weer uit te voer. 368 00:15:41,630 --> 00:15:45,330 Dit gaan die toestand te monitor eerste en dan besluit om dit uit te voer, 369 00:15:45,330 --> 00:15:48,350 terwyl 'n do-while sal die kode uit te voer eerste 370 00:15:48,350 --> 00:15:51,110 en dan kyk om te sien of wat jy nodig het om dit te herhaal. 371 00:15:51,110 --> 00:15:52,985 Is dit onderskeid sin maak vir almal? 372 00:15:52,985 --> 00:15:53,680 373 00:15:53,680 --> 00:15:54,180 OK. 374 00:15:54,180 --> 00:15:55,651 375 00:15:55,651 --> 00:15:56,150 Cool. 376 00:15:56,150 --> 00:15:57,380 377 00:15:57,380 --> 00:15:59,800 >> So in hierdie geval, dit is 'n soort van wat ek praat, 378 00:15:59,800 --> 00:16:02,210 hierdie re-aanwysings totdat jy kry 'n positiewe getal. 379 00:16:02,210 --> 00:16:05,060 So ons weet dat printf "Gee 'n positiewe getal" 380 00:16:05,060 --> 00:16:08,720 en eintlik vra vir daardie insette sal ten minste een keer gebeur. 381 00:16:08,720 --> 00:16:12,650 As die gebruiker is kwaad en hou begin van 'n negatiewe getal wat 382 00:16:12,650 --> 00:16:14,210 weet hoeveel keer sal dit uit te voer. 383 00:16:14,210 --> 00:16:17,500 Maar hierdie kode is gewaarborg ten minste een keer uit te voer. 384 00:16:17,500 --> 00:16:20,040 En dit is die rede waarom dit is 'n groot vir die validering van insette. 385 00:16:20,040 --> 00:16:22,300 En jy sal gebruik om dit nogal 'n bietjie. 386 00:16:22,300 --> 00:16:23,870 387 00:16:23,870 --> 00:16:25,830 >> Alle reg, enige vrae so ver? 388 00:16:25,830 --> 00:16:27,080 389 00:16:27,080 --> 00:16:28,030 Ons is almal goed? 390 00:16:28,030 --> 00:16:29,513 Ek praat te vinnig? 391 00:16:29,513 --> 00:16:30,520 392 00:16:30,520 --> 00:16:31,130 Ons is goed? 393 00:16:31,130 --> 00:16:31,630 OK. 394 00:16:31,630 --> 00:16:32,960 395 00:16:32,960 --> 00:16:33,800 Awesome 396 00:16:33,800 --> 00:16:35,841 >> So ons gaan om voort te gaan en praat oor skikkings. 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 So skikkings is basies net data strukture 400 00:16:40,700 --> 00:16:43,260 wat ons toelaat om te stoor dinge van dieselfde soort. 401 00:16:43,260 --> 00:16:47,920 So as jy ooit 'n skikking, dit is óf net gaan SY te hê 402 00:16:47,920 --> 00:16:51,590 of is dit net gaan dryf te hê of is dit net gaan karakters te hê. 403 00:16:51,590 --> 00:16:55,440 Jy gaan nie 'n int te hê 'n kar met 'n float met 'n dubbel. 404 00:16:55,440 --> 00:16:56,850 Een ding. 405 00:16:56,850 --> 00:17:00,810 Skikkings is net een grootte, of hulle is net een soort. 406 00:17:00,810 --> 00:17:05,679 >> So hier het ons 'n verskeidenheid van grootte drie met drie heelgetalle in dit. 407 00:17:05,679 --> 00:17:07,970 Hulle kon dryf, maar ons is gaan hulle is SY te sê. 408 00:17:07,970 --> 00:17:09,310 409 00:17:09,310 --> 00:17:16,970 So een ding om te besef is dat skikkings is 'n stel grootte wanneer jy inisialiseer 410 00:17:16,970 --> 00:17:22,285 hulle, en hulle nie easily-- word aangesien julle almal is minder gemaklik, 411 00:17:22,285 --> 00:17:25,034 jy moet net aan hulle dink as nie in staat is om uit te brei in grootte. 412 00:17:25,034 --> 00:17:26,119 413 00:17:26,119 --> 00:17:28,740 Maar groot jy uiteengesit jou skikking in die begin, 414 00:17:28,740 --> 00:17:31,070 dit is die grootte dit gaan om te bly, want skikkings 415 00:17:31,070 --> 00:17:33,070 is deurlopende blokke van die geheue. 416 00:17:33,070 --> 00:17:34,007 417 00:17:34,007 --> 00:17:35,840 En wanneer jy ouens kry in 'n bietjie meer 418 00:17:35,840 --> 00:17:40,820 hoe geheue is eintlik uitgelê op skywe en in die hoop en die stapel, 419 00:17:40,820 --> 00:17:42,220 dit sal 'n bietjie meer sin maak nie. 420 00:17:42,220 --> 00:17:48,310 >> Maar jy kan net dink soos dit is net 'n ry van ruimtes op jou hardeskyf. 421 00:17:48,310 --> 00:17:52,540 En jy kan nie waarborg dat daar gaan vrye ruimte te wees nadat dit. 422 00:17:52,540 --> 00:17:55,290 Jy kan 'n verskeidenheid inisialiseer drie en dan is jy dalk 423 00:17:55,290 --> 00:17:59,190 inisialiseer 'n skikking van vyf later, en dit is reg nadat dit. 424 00:17:59,190 --> 00:18:04,000 So as jy verby plek om te gaan drie in die eerste reeks, 425 00:18:04,000 --> 00:18:06,370 jy sou skryf oor iets anders. 426 00:18:06,370 --> 00:18:10,390 So skikkings are-- vir julle, net dink aan hulle as 'n vaste grootte. 427 00:18:10,390 --> 00:18:12,700 428 00:18:12,700 --> 00:18:16,890 >> So skep van 'n array-- jy gaan nodig om dit te doen nogal 'n bietjie. 429 00:18:16,890 --> 00:18:18,240 430 00:18:18,240 --> 00:18:22,080 So in die dieselfde manier dat ons 'n algemene struktuur vir ons vir loops, 431 00:18:22,080 --> 00:18:24,910 Ons het 'n mooi algemene struktuur vir ons skikking. 432 00:18:24,910 --> 00:18:28,430 Want hulle is van een soort, al die elemente in 'n skikking is van een soort, 433 00:18:28,430 --> 00:18:30,950 wat jy nodig het om te inisialiseer wat daardie tipe is. 434 00:18:30,950 --> 00:18:33,804 >> So, as jy hier sien, het ons 'n mooi klein bracket data tipe. 435 00:18:33,804 --> 00:18:35,970 So as ons 'n int is die skep skikking, sal dit int wees. 436 00:18:35,970 --> 00:18:38,830 As ons die skep van 'n kar skikking, sal dit kar wees. 437 00:18:38,830 --> 00:18:41,890 As ons die skep van 'n string skikking, sal dit string wees. 438 00:18:41,890 --> 00:18:45,140 En dan is die naam van jou skikking, alles wat jy wil hê dit moet wees. 439 00:18:45,140 --> 00:18:51,750 So miskien is dit toets tellings of miskien dit is studente of miskien is dit lekkergoed. 440 00:18:51,750 --> 00:18:54,440 Wat jy besluit om die naam van jou skikking, dit is wat dit sal wees. 441 00:18:54,440 --> 00:18:57,260 >> En dan in hakies, sal jy die grootte wat jy wil. 442 00:18:57,260 --> 00:19:01,350 So, is ons stoor 10 studente of ons stoor 15 soorte lekkergoed? 443 00:19:01,350 --> 00:19:03,200 444 00:19:03,200 --> 00:19:03,920 Wat nie. 445 00:19:03,920 --> 00:19:06,830 So in ons voorbeeld hier, ons 'n skikking is die skep 446 00:19:06,830 --> 00:19:10,100 grootte van drie, wat julle sien reg hier aan die regterkant. 447 00:19:10,100 --> 00:19:11,350 448 00:19:11,350 --> 00:19:15,990 En wanneer ons die eerste inisialiseer dit is alles ingestel op nul. 449 00:19:15,990 --> 00:19:18,970 So dit is net gedink soos 'n skoon lei. 450 00:19:18,970 --> 00:19:22,550 Ons het al hierdie ruimtes, ons het al hierdie bokse ons data kan sit in, 451 00:19:22,550 --> 00:19:25,530 maar hulle is net leeg vir die oomblik. 452 00:19:25,530 --> 00:19:28,700 >> So as ons wil eintlik ken hulle hierdie waardes, 453 00:19:28,700 --> 00:19:33,050 doen ons dit as reg hier onder toon. 454 00:19:33,050 --> 00:19:39,170 So jy het ook al die naam van jou skikking is en wat dan indeks wat jy wil. 455 00:19:39,170 --> 00:19:43,070 So het die indeks net verwys na, Soos wat slot ons is op soek na. 456 00:19:43,070 --> 00:19:47,830 En 'n belangrike ding om op te let is dat skikkings nul-kruip. 457 00:19:47,830 --> 00:19:53,160 So as ons wil hê dat die eerste plek in die geheue van ons reeks, is dit gaan wees nul. 458 00:19:53,160 --> 00:19:54,740 As ons wil hê dat die tweede, sal dit een wees. 459 00:19:54,740 --> 00:19:56,198 As ons wil hê die derde, sal dit twee. 460 00:19:56,198 --> 00:19:57,820 So aan en so voort. 461 00:19:57,820 --> 00:20:02,130 >> Dit is ook die rede waarom, konvensioneel, wanneer ons dit doen vir loops-- Ek is seker 462 00:20:02,130 --> 00:20:05,030 julle wonder hoekom ons begin by 0 versus 1? 463 00:20:05,030 --> 00:20:09,909 En dit is omdat wanneer ons oorgang in die gebruik van skikkings, dit kaarte korrek. 464 00:20:09,909 --> 00:20:11,700 So as jy wil Itereer in 'n skikking, is dit 465 00:20:11,700 --> 00:20:14,830 maak 'n baie meer sin doen ek aan 0, want ons 466 00:20:14,830 --> 00:20:17,940 weet wat ooreenstem om die eerste plek in die geheue. 467 00:20:17,940 --> 00:20:18,990 468 00:20:18,990 --> 00:20:19,990 Almal goed met dit? 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 >> En dan op die bodem hier is net 'n ander manier om 'n skikking te inisialiseer. 472 00:20:26,240 --> 00:20:29,590 Jy nog jou data tipe en die naam, 473 00:20:29,590 --> 00:20:31,960 maar in plaas van werklik om 'n grootte in daar, 474 00:20:31,960 --> 00:20:33,830 jy kan net nie met leë hakies. 475 00:20:33,830 --> 00:20:36,350 En dan met hierdie krullerige draadjies aan die onderkant, 476 00:20:36,350 --> 00:20:40,270 jy kan net die invoer van die data wat jy wil deur kommas geskei. 477 00:20:40,270 --> 00:20:43,070 En dit sal outomaties sê, OK, ek sien 478 00:20:43,070 --> 00:20:47,300 dat jy drie dinge in hierdie draadjies. 479 00:20:47,300 --> 00:20:51,410 So ek weet wat ek nodig het drie toe te ken blokke van die geheue en dan slaan hulle. 480 00:20:51,410 --> 00:20:55,300 481 00:20:55,300 --> 00:21:01,670 >> Dus is die eerste weergawe wat jy kan gebruik As jy jou gebruikers om insette te vra 482 00:21:01,670 --> 00:21:04,770 waardes, sodat jy kan Itereer deur die skikking 483 00:21:04,770 --> 00:21:07,660 en ask-- kry 'n paar int hulle insette. 484 00:21:07,660 --> 00:21:10,500 As jy vooraf weet wat die waardes, dit maak 'n baie meer sin 485 00:21:10,500 --> 00:21:12,110 Die tweede manier om te gebruik. 486 00:21:12,110 --> 00:21:17,270 Maar in die meeste gevalle, kan jy nie weet wat die waardes gaan wees. 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 Enige ander vrae? 490 00:21:20,393 --> 00:21:21,206 491 00:21:21,206 --> 00:21:21,705 Goed. 492 00:21:21,705 --> 00:21:25,960 493 00:21:25,960 --> 00:21:30,370 >> So toegang elements-- so een van die groot dinge oor skikkings 494 00:21:30,370 --> 00:21:33,310 is dat hulle lukraak toegang, wat beteken dat jy 495 00:21:33,310 --> 00:21:36,010 hoef nie te kyk deur elke blok. 496 00:21:36,010 --> 00:21:38,150 As jy weet dat jy wil wat in blok twee, 497 00:21:38,150 --> 00:21:40,820 jy kan net sê, gee my blok twee. 498 00:21:40,820 --> 00:21:44,160 En dit is die rede waarom hierdie indekse is so belangrik, 499 00:21:44,160 --> 00:21:46,220 en dit is hoe ons eintlik toegang tot hulle. 500 00:21:46,220 --> 00:21:50,660 So in hierdie geval, soos ons gesien het voor wanneer ons toeken waardes, in die een 501 00:21:50,660 --> 00:21:55,360 voor, het ons die naam en die indeks ons wou toegang, reg? 502 00:21:55,360 --> 00:21:59,370 So in die dieselfde manier, dit is al wat ons doen om werklik te trek dat die data nie. 503 00:21:59,370 --> 00:22:02,940 Ons het die naam en ons het die indeks wat ons wil hê. 504 00:22:02,940 --> 00:22:06,710 >> So in hierdie geval, die lus hier aan die onderkant, iemand 505 00:22:06,710 --> 00:22:09,060 weet wat dit doen, wat dit sou druk? 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 Presies. 510 00:22:18,520 --> 00:22:20,130 So ja, dit is net iterating deur. 511 00:22:20,130 --> 00:22:23,410 Ek is gelyk aan zero-- ons kan loop deur die kode net vinnig. 512 00:22:23,410 --> 00:22:26,680 Ek is gelyk aan nul, ek is minder as drie op hierdie punt, reg? 513 00:22:26,680 --> 00:22:27,780 Sodat tjeks uit. 514 00:22:27,780 --> 00:22:33,370 En ons sê, OK, druk f alles wat in temperatuur i. 515 00:22:33,370 --> 00:22:37,990 Ek is nul reg hier toe ons die eerste Itereer, so ons gaan na die eerste plek, 516 00:22:37,990 --> 00:22:40,840 en ons sê, OK, 65 is die getal wat ons wil uit te druk. 517 00:22:40,840 --> 00:22:43,570 So dit sal druk 65 en dan doen 'n nuwe reël. 518 00:22:43,570 --> 00:22:46,550 Ek sal werk, so dit druk 87. 519 00:22:46,550 --> 00:22:48,780 Dit updates weer en dit sal druk 30. 520 00:22:48,780 --> 00:22:49,810 521 00:22:49,810 --> 00:22:50,630 Almal koel? 522 00:22:50,630 --> 00:22:51,630 523 00:22:51,630 --> 00:22:52,130 Awesome. 524 00:22:52,130 --> 00:22:54,340 525 00:22:54,340 --> 00:22:54,840 >> Alle regte. 526 00:22:54,840 --> 00:22:57,710 So hier is soort van 'n ding wat ek kon sê hoe 527 00:22:57,710 --> 00:23:00,020 jy kan tred hou iemand se telling en waarom 528 00:23:00,020 --> 00:23:03,300 jy sal gebruik om die eerste manier initializing dit 529 00:23:03,300 --> 00:23:04,890 in plaas van die tweede manier. 530 00:23:04,890 --> 00:23:06,620 En dit gaan net deur. 531 00:23:06,620 --> 00:23:08,945 En kennis van ons het 'n klas grootte van 30. 532 00:23:08,945 --> 00:23:10,690 533 00:23:10,690 --> 00:23:15,770 En ons is initializing hierdie verskeidenheid van SY wat van grootte 30. 534 00:23:15,770 --> 00:23:18,070 En dan is ons iterating deur en ons is 535 00:23:18,070 --> 00:23:20,910 vra die gebruiker om insette tellings vir elk van hierdie 536 00:23:20,910 --> 00:23:23,700 en dan toeken om dit te 'n spesifieke plek in die geheue 537 00:23:23,700 --> 00:23:24,860 iewers in die skikking. 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 Maak dit sin maak vir almal? 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 >> So hashtag definieer klasgrootte 30 is 'n voorverwerker richtlijn 544 00:23:40,360 --> 00:23:43,780 wat beteken dit net gets-- dit om te doen, soos die samestelling proses. 545 00:23:43,780 --> 00:23:47,595 Jy kan dink dit as 'n globale veranderlike. 546 00:23:47,595 --> 00:23:49,260 547 00:23:49,260 --> 00:23:53,030 Die manier waarop ons dit doen, is typically-- dit laat jou kode 548 00:23:53,030 --> 00:23:54,770 te word om meer maklik verander. 549 00:23:54,770 --> 00:23:59,480 So laat ons sê dat ons klas grootte skielik gaan 30-15, 550 00:23:59,480 --> 00:24:03,930 as ek nie gedefinieer dit op hierdie manier, sou ek het om te gaan deur my hele program 551 00:24:03,930 --> 00:24:07,420 en verander elke geval van 30-15. 552 00:24:07,420 --> 00:24:11,590 Maar met hierdie, ek kry een te verander plek, en alles anders verander. 553 00:24:11,590 --> 00:24:14,930 >> As jy ooit wil doen 'n gemors te definieer in 'n geval 554 00:24:14,930 --> 00:24:19,020 waar jy die dop van 'n paar stel aantal tellings vir 'n klas 555 00:24:19,020 --> 00:24:23,250 of jy met behulp van 'n aantal wat gebruik sal word, soos, 556 00:24:23,250 --> 00:24:27,740 regdeur 'n baie lang program, is dit beter om dit te definieer aan die begin 557 00:24:27,740 --> 00:24:34,440 sodat as ooit dit verander, jy een plek in plaas van 100 te verander. 558 00:24:34,440 --> 00:24:34,940 Ja? 559 00:24:34,940 --> 00:24:39,830 >> STUDENT: Tussen doen en net verklaar [onhoorbaar] oor die top. 560 00:24:39,830 --> 00:24:42,470 >> ALLISON Buchholtz-AU: So is dit het te doen met efficient-- 561 00:24:42,470 --> 00:24:45,460 dit is soort van buite die bestek van wat ons kan dek in hierdie afdeling. 562 00:24:45,460 --> 00:24:49,236 Dit het meer te doen met doeltreffendheid en hoe dinge eintlik 563 00:24:49,236 --> 00:24:50,485 werk in die opstel proses. 564 00:24:50,485 --> 00:24:52,590 565 00:24:52,590 --> 00:24:55,006 As jy wil regtig weet oor dit, ek is bly om jou te stuur 566 00:24:55,006 --> 00:24:56,450 'n e-pos met hulpbronne daaroor. 567 00:24:56,450 --> 00:24:57,810 568 00:24:57,810 --> 00:25:03,880 Hash definieer geneig is om te wees verkies vir dinge. 569 00:25:03,880 --> 00:25:06,380 En as jy meer Code, jy soort leer die nuanses 570 00:25:06,380 --> 00:25:09,135 wanneer jy moet gebruik om 'n globale teenoor die hash te definieer. 571 00:25:09,135 --> 00:25:11,010 Maar vir die oomblik, jy het nie regtig 572 00:25:11,010 --> 00:25:13,290 bekommerd te wees oor dit dat die kort antwoord. 573 00:25:13,290 --> 00:25:15,360 574 00:25:15,360 --> 00:25:16,360 Almal goed met dit? 575 00:25:16,360 --> 00:25:18,151 En ook, as jy wil gebruik om 'n gemors te definieer, 576 00:25:18,151 --> 00:25:21,120 dit is baie belangrik om op te let dat die naam moet in hoofletters wees. 577 00:25:21,120 --> 00:25:22,210 578 00:25:22,210 --> 00:25:24,674 Ons is nie net te doen Klasgrootte om dramaties te wees. 579 00:25:24,674 --> 00:25:26,090 Dit moet eintlik in hoofletters. 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 Enigiets anders is daar? 583 00:25:30,130 --> 00:25:31,190 Ons is goed? 584 00:25:31,190 --> 00:25:32,220 Pragtige. 585 00:25:32,220 --> 00:25:32,720 Welkom. 586 00:25:32,720 --> 00:25:34,240 587 00:25:34,240 --> 00:25:38,495 >> OK, so ek wil julle 'n blik te neem aan hierdie en kyk of jy kan die fout vind. 588 00:25:38,495 --> 00:25:45,580 589 00:25:45,580 --> 00:25:46,507 Ek gee jou 'n wenk. 590 00:25:46,507 --> 00:25:47,840 Dit is iewers in die for-lus. 591 00:25:47,840 --> 00:25:53,070 592 00:25:53,070 --> 00:25:53,665 Mmhmm? 593 00:25:53,665 --> 00:25:55,704 >> STUDENT: Indien minder as gelykstaande aan 2 wees. 594 00:25:55,704 --> 00:25:56,920 595 00:25:56,920 --> 00:26:01,094 >> ALLISON: So is dit minder kan wees as of gelyk is aan 2, of dit kan minder as 3 wees. 596 00:26:01,094 --> 00:26:02,510 En wat is die redenasie vir wat? 597 00:26:02,510 --> 00:26:05,135 >> STUDENT: Die [onhoorbaar], 0, 1, 2. 598 00:26:05,135 --> 00:26:06,080 >> ALLISON: Presies. 599 00:26:06,080 --> 00:26:12,180 So in 'n verskeidenheid van grootte n, ons net indekse van 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 En dan kan ons regtig gek en kry 'n multi-dimensionele skikkings. 604 00:26:17,840 --> 00:26:19,340 605 00:26:19,340 --> 00:26:23,960 Een van die probleme wanneer ek het dit in my jaar vereis 'n multi-dimensionele skikkings, 606 00:26:23,960 --> 00:26:28,720 en ek dink een van hulle dalk nodig dit hierdie jaar, so gemaklik wees. 607 00:26:28,720 --> 00:26:30,140 Draai jou kop rondom dit nou. 608 00:26:30,140 --> 00:26:33,087 Dit sal terug kom spook nie, maar in 'n koel manier. 609 00:26:33,087 --> 00:26:35,420 So jy kan nie regtig dink net van 'n multi-dimensionele skikkings 610 00:26:35,420 --> 00:26:36,870 as skikkings van skikkings. 611 00:26:36,870 --> 00:26:38,060 612 00:26:38,060 --> 00:26:43,809 Sodat jy kan soort van dink van hierdie top ry as die eerste deel van die geheue. 613 00:26:43,809 --> 00:26:45,600 En hierdie een is die tweede deel van die geheue, 614 00:26:45,600 --> 00:26:47,570 en die laaste ry is die derde deel van die geheue. 615 00:26:47,570 --> 00:26:50,740 En binne daardie, is daar 'n skikking. 616 00:26:50,740 --> 00:26:53,250 Maar natuurlik, is dit makliker uit te beeld soos hierdie. 617 00:26:53,250 --> 00:26:55,610 >> So jy inisialiseer dit op dieselfde manier. 618 00:26:55,610 --> 00:26:57,290 619 00:26:57,290 --> 00:27:01,610 Dit is 'n karakter raad van drie deur drie. 620 00:27:01,610 --> 00:27:04,180 So jy het drie rye en drie kolomme. 621 00:27:04,180 --> 00:27:06,760 Ons verteenwoordig dit op hierdie manier. 622 00:27:06,760 --> 00:27:11,800 En jy sal dit die toegang tot dieselfde manier, kolom deur ry. 623 00:27:11,800 --> 00:27:14,840 En so 1,1 soos ons hier sien. 624 00:27:14,840 --> 00:27:18,730 Ons ken 'n nul, nul tot daar. 625 00:27:18,730 --> 00:27:21,900 2,0 en 0,2. 626 00:27:21,900 --> 00:27:26,900 So sal jy net toegang them-- indien enigiemand ooit gedoen lineêre algebra, 627 00:27:26,900 --> 00:27:31,580 dieselfde manier wat jy toegang tot 'n element in 'n matrice, dit is dieselfde idee hier. 628 00:27:31,580 --> 00:27:33,030 So jy kan dit in verband terug na wiskunde. 629 00:27:33,030 --> 00:27:34,130 630 00:27:34,130 --> 00:27:36,380 Jy hoef nie te veel bekommerd wees veel oor hierdie reg nou. 631 00:27:36,380 --> 00:27:38,671 Dit is goeie blootstelling te hê, om te weet dat jy dit kan doen. 632 00:27:38,671 --> 00:27:42,700 Jy kan 'n paar gek number-- jy kan 633 00:27:42,700 --> 00:27:44,750 skep gek skikkings word al wat ek gaan sê. 634 00:27:44,750 --> 00:27:45,250 [Onhoorbaar] 635 00:27:45,250 --> 00:27:46,585 636 00:27:46,585 --> 00:27:48,460 Dit raak 'n bietjie mal, maar dit is regtig cool. 637 00:27:48,460 --> 00:27:50,020 638 00:27:50,020 --> 00:27:50,670 Awesome. 639 00:27:50,670 --> 00:27:52,550 >> En dan, so ons het 'n voorbeeld hier. 640 00:27:52,550 --> 00:27:54,165 Dit bereken 'n string lengte. 641 00:27:54,165 --> 00:27:55,210 642 00:27:55,210 --> 00:27:59,670 So, hoe baie mense het geweet dat die snare wat jy gebruik 643 00:27:59,670 --> 00:28:01,265 is net skikkings van die karakters? 644 00:28:01,265 --> 00:28:03,670 645 00:28:03,670 --> 00:28:04,655 OK, ja. 646 00:28:04,655 --> 00:28:08,000 So julle ouens dalk dink dat jy nie gebruik skikkings voor, maar enige tyd 647 00:28:08,000 --> 00:28:10,740 jy gebruik getstring in die CSView biblioteek, jy 648 00:28:10,740 --> 00:28:14,690 eintlik net te vra vir 'n verskeidenheid van die karakters. 649 00:28:14,690 --> 00:28:17,450 En ons is die sorg van alle wat in die back-end vir jou. 650 00:28:17,450 --> 00:28:20,184 Maar jy het al met behulp van skikkings sedert jy begin het. 651 00:28:20,184 --> 00:28:21,350 Jy het net nie weet dit nog nie. 652 00:28:21,350 --> 00:28:22,420 653 00:28:22,420 --> 00:28:28,390 >> En wanneer jy 'n karakter skikking of 'n skikking wat is die stoor van 'n string, 654 00:28:28,390 --> 00:28:32,050 die laaste ding is altyd wat is bekend as 'n nul terminator, wat 655 00:28:32,050 --> 00:28:33,830 is dit hier. 656 00:28:33,830 --> 00:28:37,300 En dit is aan die einde van elke woord wat jy stoor. 657 00:28:37,300 --> 00:28:41,170 So as ons wil om uit te vind die lengte van 'n string, kan ons sê, 658 00:28:41,170 --> 00:28:45,320 Wel, jy weet, die inhoud van die blok 659 00:28:45,320 --> 00:28:46,867 is nie gelyk aan ons nul Terminator. 660 00:28:46,867 --> 00:28:49,450 Dit beteken dat daar 'n karakter is daar dat ons eintlik 661 00:28:49,450 --> 00:28:51,540 omgee wat deel is van die woord. 662 00:28:51,540 --> 00:28:52,665 Jy verhoog jou lengte. 663 00:28:52,665 --> 00:28:55,540 En dan wanneer ons eintlik kry om te die einde van die woord, sal dit beëindig 664 00:28:55,540 --> 00:28:58,790 en dit sal ons lank terug vir ons. 665 00:28:58,790 --> 00:29:00,098 Mmhmm? 666 00:29:00,098 --> 00:29:02,906 >> STUDENT: Is die ruimte tel as die nul terminator? 667 00:29:02,906 --> 00:29:04,780 ALLISON: So 'n ruimte is nie 'n nul Terminator. 668 00:29:04,780 --> 00:29:10,590 So as jy 'multiple-- 'n ruimte is eintlik 'n spesifieke ASCII waarde. 669 00:29:10,590 --> 00:29:11,719 670 00:29:11,719 --> 00:29:13,552 STUDENT: Wat is die uitroep gelyke weer? 671 00:29:13,552 --> 00:29:17,080 ALLISON: So, dit is wat jy verwys. 672 00:29:17,080 --> 00:29:21,220 As jy al ooit gehoor my in kantoorure, Ek het altyd noem dit, soos, bang gelyk. 673 00:29:21,220 --> 00:29:23,520 So bang is nie. 674 00:29:23,520 --> 00:29:25,370 Dit is dus nie gelyk. 675 00:29:25,370 --> 00:29:28,480 676 00:29:28,480 --> 00:29:32,290 So as jy probeer om te kyk of daar iets is vals, 677 00:29:32,290 --> 00:29:35,915 U weet altyd doen, bang wat die veranderlike is, en as dit vals is, 678 00:29:35,915 --> 00:29:38,540 dit evalueer waar en jy kan koel dinge doen nie. 679 00:29:38,540 --> 00:29:39,830 680 00:29:39,830 --> 00:29:40,675 Meer oor dit later. 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 Alles goed daar? 684 00:29:44,260 --> 00:29:44,760 Awesome. 685 00:29:44,760 --> 00:29:48,045 >> So nou is dit jou ouens se tyd werk, want ek het gepraat. 686 00:29:48,045 --> 00:29:49,220 687 00:29:49,220 --> 00:29:53,200 So ek wil hê jy moet net 'n skikking met die heelgetalle een, twee, en drie, 688 00:29:53,200 --> 00:29:54,660 en dan het hulle gedruk. 689 00:29:54,660 --> 00:29:58,050 Jy hoef nie te doen nie, soos, hoof, blah, blah, blah, wat ook al. 690 00:29:58,050 --> 00:30:00,840 Ek wil net vir julle inisialiseer die skikking en dan skep 691 00:30:00,840 --> 00:30:04,790 'n lus vir hulle te druk out-- of 'n while lus, aan jou. 692 00:30:04,790 --> 00:30:07,600 >> Ek sal net gee jou 'n paar minute om te werk aan dit. 693 00:30:07,600 --> 00:30:09,320 Ek gaan my stem te rus. 694 00:30:09,320 --> 00:30:13,290 As jy enige vrae, ek is gelukkig om rond te kom en te praat met julle. 695 00:30:13,290 --> 00:30:15,290 Voel vry om te praat met mekaar. 696 00:30:15,290 --> 00:30:16,125 Kry meer lekkergoed. 697 00:30:16,125 --> 00:30:17,181 698 00:30:17,181 --> 00:30:18,930 Trouens, ek sal net loop rond met lekkergoed. 699 00:30:18,930 --> 00:30:19,600 Hoe is dit? 700 00:30:19,600 --> 00:30:22,974 701 00:30:22,974 --> 00:30:23,938 >> Jy enige hê? 702 00:30:23,938 --> 00:30:34,703 703 00:30:34,703 --> 00:30:36,675 Iemand anders in hierdie kamer wil lekkergoed? 704 00:30:36,675 --> 00:30:47,030 705 00:30:47,030 --> 00:30:49,206 Jy kan ook meer as een, ouens. 706 00:30:49,206 --> 00:30:50,330 Neem 'n handvol as jy wil. 707 00:30:50,330 --> 00:30:52,690 708 00:30:52,690 --> 00:30:53,190 Kan so goed. 709 00:30:53,190 --> 00:30:54,929 710 00:30:54,929 --> 00:30:55,720 Almal goed? 711 00:30:55,720 --> 00:30:57,561 712 00:30:57,561 --> 00:30:58,060 OK. 713 00:30:58,060 --> 00:31:02,750 714 00:31:02,750 --> 00:31:07,290 >> Ook, ek gaan om te skep 'n anonieme Google vorm, 715 00:31:07,290 --> 00:31:09,830 en julle kan net dien terugvoer na elke afdeling 716 00:31:09,830 --> 00:31:14,115 As daar is iets wat jy wil verbeter op of iets wat jy gedoen wil hê. 717 00:31:14,115 --> 00:31:17,135 As ek 'n bietjie te vurig vir jou, kan ek toon dit neer. 718 00:31:17,135 --> 00:31:18,510 719 00:31:18,510 --> 00:31:20,885 Ek sal skep wat en stuur dit uit na julle al die tyd. 720 00:31:20,885 --> 00:32:39,420 721 00:32:39,420 --> 00:32:40,020 >> Alle regte. 722 00:32:40,020 --> 00:32:41,050 So laat ons begin klein. 723 00:32:41,050 --> 00:32:42,740 Hoe sal ons inisialiseer ons reeks? 724 00:32:42,740 --> 00:32:49,690 725 00:32:49,690 --> 00:32:51,670 Wat is die tipe van ons reeks? 726 00:32:51,670 --> 00:32:52,410 'N int, reg? 727 00:32:52,410 --> 00:32:54,740 OK, so wat doen jy wil hê jou skikking te noem? 728 00:32:54,740 --> 00:32:57,880 729 00:32:57,880 --> 00:32:59,230 Int skikking, cool. 730 00:32:59,230 --> 00:33:04,200 Alle reg, sodat ons 'n int int skikking gelyk, en wat het ons daarna? 731 00:33:04,200 --> 00:33:07,009 732 00:33:07,009 --> 00:33:08,259 STUDENT: [onhoorbaar] hakies. 733 00:33:08,259 --> 00:33:09,140 ALLISON: draadjies. 734 00:33:09,140 --> 00:33:10,330 735 00:33:10,330 --> 00:33:11,775 En dan in die draadjies? 736 00:33:11,775 --> 00:33:14,360 737 00:33:14,360 --> 00:33:16,830 Een komma twee komma drie. 738 00:33:16,830 --> 00:33:17,330 Cool. 739 00:33:17,330 --> 00:33:18,660 So dit is alles reg. 740 00:33:18,660 --> 00:33:21,480 So nou het ons ons lus. 741 00:33:21,480 --> 00:33:24,180 So in die eerste deel van ons lus, wat het ons? 742 00:33:24,180 --> 00:33:25,796 743 00:33:25,796 --> 00:33:27,420 >> STUDENT: i gelyk aan 0? 744 00:33:27,420 --> 00:33:31,400 >> ALLISON: So int i gelyk aan 0, en dan wat is ons toestand? 745 00:33:31,400 --> 00:33:33,750 746 00:33:33,750 --> 00:33:36,120 Wat ek gaan minder wees as? 747 00:33:36,120 --> 00:33:39,510 Minder as drie, en hoe ons werk wat ons doen ek? 748 00:33:39,510 --> 00:33:41,630 i plus plus, opdatering een. 749 00:33:41,630 --> 00:33:46,150 En dan gaan ons te hê sommige printf van die heelgetal, 750 00:33:46,150 --> 00:33:49,530 en wat is die laaste deel dit is eintlik 751 00:33:49,530 --> 00:33:51,370 gaan om te sê wat ons moet druk word? 752 00:33:51,370 --> 00:33:55,610 753 00:33:55,610 --> 00:33:59,120 Dit sou die naam van die wees skikking, wat is int skikking, reg? 754 00:33:59,120 --> 00:34:01,090 En wat is in die hakies van int skikking? 755 00:34:01,090 --> 00:34:02,540 756 00:34:02,540 --> 00:34:03,640 i. 757 00:34:03,640 --> 00:34:06,550 [? So ek?] Het my voorbeeld, maar daar gaan jy. 758 00:34:06,550 --> 00:34:07,939 759 00:34:07,939 --> 00:34:08,480 Nie so sleg nie. 760 00:34:08,480 --> 00:34:09,250 Almal goeie? 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 >> So het ons klaar is met die skikkings. 765 00:34:14,340 --> 00:34:15,190 Geluk. 766 00:34:15,190 --> 00:34:18,274 Jy het dit reggekry om Itereer deur al the-- ja? 767 00:34:18,274 --> 00:34:19,705 >> STUDENT: [onhoorbaar] 768 00:34:19,705 --> 00:34:20,659 >> ALLISON: Ja. 769 00:34:20,659 --> 00:34:26,383 770 00:34:26,383 --> 00:34:27,798 >> STUDENT: Ek het 'n vraag. 771 00:34:27,798 --> 00:34:30,288 Is jy veronderstel om die draadjies ingekeep? 772 00:34:30,288 --> 00:34:34,150 >> ALLISON: So het die draadjies moet line-up met die lus, en dan is alles 773 00:34:34,150 --> 00:34:35,699 binne-in die draadjies moet ingekeep word. 774 00:34:35,699 --> 00:34:37,824 >> STUDENT: OK, moet die lus ingekeep word? 775 00:34:37,824 --> 00:34:41,159 >> ALLISON: Die lus nie moet ingekeep word op hierdie punt. 776 00:34:41,159 --> 00:34:46,750 As jy in die belangrikste, as ons eintlik 'n hoof funksie hier, 777 00:34:46,750 --> 00:34:48,929 dit sou ingekeep word uit die hoof. 778 00:34:48,929 --> 00:34:52,590 Maar in hierdie geval, dit is goed. 779 00:34:52,590 --> 00:34:53,354 Ja, die vraag. 780 00:34:53,354 --> 00:34:55,687 >> STUDENT: het jy nodig om 'n die hakies na voorbeeld? 781 00:34:55,687 --> 00:34:59,050 782 00:34:59,050 --> 00:35:01,260 >> ALLISON: Ja, as jy initializing dit so. 783 00:35:01,260 --> 00:35:03,430 784 00:35:03,430 --> 00:35:06,860 So onthou, is dit die tweede manier initializing 'n skikking waar 785 00:35:06,860 --> 00:35:10,680 ons het die draadjies en dan ons werklike data deur kommas geskei binne. 786 00:35:10,680 --> 00:35:14,700 787 00:35:14,700 --> 00:35:17,281 >> STUDENT: Ek het gedink daar was hakies vir daardie voorbeeld. 788 00:35:17,281 --> 00:35:19,010 >> ALLISON: Nee, hulle is draadjies. 789 00:35:19,010 --> 00:35:20,039 Hulle is draadjies. 790 00:35:20,039 --> 00:35:22,330 As jy initializing dit dat die tweede geval, dit is draadjies. 791 00:35:22,330 --> 00:35:28,780 As ons om te sê, int example-- indien Ons wou net 'n leë skikking vir SY, 792 00:35:28,780 --> 00:35:32,270 dit sou wees int byvoorbeeld inperk drie. 793 00:35:32,270 --> 00:35:34,670 Die hakies verteenwoordig die grootte. 794 00:35:34,670 --> 00:35:36,720 Wanneer jy draadjies, dit is die werklike data 795 00:35:36,720 --> 00:35:39,244 jy sit in dit op hierdie manier. 796 00:35:39,244 --> 00:35:40,535 Ons kan blaai terug baie vinnig. 797 00:35:40,535 --> 00:35:42,370 798 00:35:42,370 --> 00:35:48,010 >> So in hierdie een, dit is net ons aanvanklike skikking, inisialisering. 799 00:35:48,010 --> 00:35:51,640 En hier is ons individueel toeken kolle aan hulle, 800 00:35:51,640 --> 00:35:56,730 sodat hierdie verteenwoordig die indeks van ons skikking, wat is die rede waarom ons het hakies. 801 00:35:56,730 --> 00:36:01,630 Maar hier, as jy sien, ons het verlaat ons hakies sonder 'n grote, 802 00:36:01,630 --> 00:36:05,969 en ons inisialiseer met die werklike data alles-in-een met draadjies. 803 00:36:05,969 --> 00:36:08,260 STUDENT: So hoekom het ons nie 'n tussen hakies in hierdie voorbeeld? 804 00:36:08,260 --> 00:36:11,030 ALLISON: So, in watter deel? 805 00:36:11,030 --> 00:36:14,645 STUDENT: sou ons nie sê, int byvoorbeeld tussen hakies 806 00:36:14,645 --> 00:36:19,710 gelyk hakkies [onhoorbaar] hakies byvoorbeeld. 807 00:36:19,710 --> 00:36:20,900 >> ALLISON: Ag, jammer. 808 00:36:20,900 --> 00:36:21,560 Jy is reg. 809 00:36:21,560 --> 00:36:22,690 Ons het hakies daar. 810 00:36:22,690 --> 00:36:23,486 Jammer ouens, my sleg. 811 00:36:23,486 --> 00:36:25,150 812 00:36:25,150 --> 00:36:27,560 Ja, moet jy hakies na voorbeeld. 813 00:36:27,560 --> 00:36:28,850 Jy is absoluut reg. 814 00:36:28,850 --> 00:36:29,750 >> STUDENT: [onhoorbaar] doen dit nie. 815 00:36:29,750 --> 00:36:31,270 >> ALLISON: Nee, jy moet hê hakies, want anders is dit 816 00:36:31,270 --> 00:36:32,810 gaan nie 'n skikking te verklaar. 817 00:36:32,810 --> 00:36:33,685 STUDENT: [onhoorbaar]. 818 00:36:33,685 --> 00:36:34,200 Jammer oor dit. 819 00:36:34,200 --> 00:36:36,200 >> ALLISON: Jammer, jy moet hakies na voorbeeld. 820 00:36:36,200 --> 00:36:36,620 821 00:36:36,620 --> 00:36:37,120 Typo. 822 00:36:37,120 --> 00:36:40,650 823 00:36:40,650 --> 00:36:43,160 Goeie vangs, goue ster vir jou. 824 00:36:43,160 --> 00:36:47,730 Ook, as jy vra 'n vraag, as julle wil net vertel my jou naam, 825 00:36:47,730 --> 00:36:48,570 Ek sou graag dat. 826 00:36:48,570 --> 00:36:50,630 Ek wil graag in staat wees om ken al jou name. 827 00:36:50,630 --> 00:36:53,187 Ek is nie van plan om die koue bel jou, het ek eintlik 828 00:36:53,187 --> 00:36:54,520 wil net jou naam te leer ken. 829 00:36:54,520 --> 00:36:57,530 So asseblief eintlik vir my sê julle name. 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 OK, so functions-- Ek weet in die kort hulle gepraat oor dit tydens lesing. 833 00:37:03,960 --> 00:37:07,590 So funksies is soort van net soos hierdie bietjie byt-grootte dinge 834 00:37:07,590 --> 00:37:11,525 waar jy in insette slaag, iets magiese gebeur, en jy uitgange. 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 So wat jy eintlik gebruik om 'n Baie van hierdie reeds. 838 00:37:15,013 --> 00:37:15,970 839 00:37:15,970 --> 00:37:18,840 Kry int, kry string, druk f. 840 00:37:18,840 --> 00:37:21,790 Dit is al die funksies waar jy net noem, 841 00:37:21,790 --> 00:37:24,370 daar is baie van die magiese dinge gaan aan in die agtergrond 842 00:37:24,370 --> 00:37:27,390 dat jy nie noodwendig sien nie, en jy kry wat jy wil. 843 00:37:27,390 --> 00:37:30,280 Of ten minste jy wat jy hoop jy wil. 844 00:37:30,280 --> 00:37:31,920 845 00:37:31,920 --> 00:37:35,620 >> En basies die punt van funksies, en een van die belangrikste temas van CS, 846 00:37:35,620 --> 00:37:38,700 is om jou kode te breek in hanteerbare stukke. 847 00:37:38,700 --> 00:37:41,520 Wanneer jy begin skryf hierdie baie lang programme, 848 00:37:41,520 --> 00:37:44,970 of in Scratch toe jy moes hierdie groot idee vir 'n wedstryd, 849 00:37:44,970 --> 00:37:48,070 jy moet in staat wees om dit te breek af te, soos, OK, hoe begin ek? 850 00:37:48,070 --> 00:37:50,470 Wat is die klein stukkies wat ek nodig het? 851 00:37:50,470 --> 00:37:53,320 O, ek moet die vra gebruiker vir iets. 852 00:37:53,320 --> 00:37:54,830 Nou moet ek iets te druk. 853 00:37:54,830 --> 00:37:56,590 O ja, ek moet hierdie waarde te bereken. 854 00:37:56,590 --> 00:38:00,050 >> En om te leer hoe om te breek jou kode en die groot probleme wat jy 855 00:38:00,050 --> 00:38:02,740 het in hierdie klein stukkies en die skep van funksies 856 00:38:02,740 --> 00:38:05,330 is eintlik een van die groot hoeksteen van CS. 857 00:38:05,330 --> 00:38:06,440 858 00:38:06,440 --> 00:38:11,740 So jy kan dink van 'n funksie, net soos soos 'n swart boks, 'n magiese swart boks, 859 00:38:11,740 --> 00:38:15,030 dat jy dinge in en jy kry 'n uitset. 860 00:38:15,030 --> 00:38:16,290 861 00:38:16,290 --> 00:38:19,460 En die res van die program hoef nie noodwendig weet 862 00:38:19,460 --> 00:38:21,150 wat gaan aan in daardie swart boks. 863 00:38:21,150 --> 00:38:24,190 Al wat dit omgee is wat gaan in en wat kom uit. 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 >> So hoekom funksies? 867 00:38:27,820 --> 00:38:33,240 Organization-- soos ek gesê het, wanneer jy hantering van baie groot kode basisse, 868 00:38:33,240 --> 00:38:37,357 hoe jy organiseer jou kode sal wees baie makliker as jy funksies te gebruik. 869 00:38:37,357 --> 00:38:39,190 Want jy sal in staat wees om te wees, soos, OK, dit 870 00:38:39,190 --> 00:38:41,849 is wat hierdie funksie verrig en hier is wat 'n ander een nie. 871 00:38:41,849 --> 00:38:43,890 En jy kan maklik sien hoe hulle almal in mekaar pas. 872 00:38:43,890 --> 00:38:45,590 873 00:38:45,590 --> 00:38:48,210 So breek dit in alle hierdie hanteerbare onderdele. 874 00:38:48,210 --> 00:38:51,860 >> So simplification-- Ek is seker dat jy ouens al gesien het, soos ek gesê het, met krap. 875 00:38:51,860 --> 00:38:53,230 876 00:38:53,230 --> 00:38:56,790 Jy het hierdie groot idee, en jy soos, hoe dit alles werk? 877 00:38:56,790 --> 00:38:59,710 Maar as jy dit nader sporadies, sê jy, OK, 878 00:38:59,710 --> 00:39:03,650 Hoe maak ek 'n sprite dryf oor die skerm? 879 00:39:03,650 --> 00:39:04,805 Dit is 'n bietjie makliker te maak. 880 00:39:04,805 --> 00:39:06,000 881 00:39:06,000 --> 00:39:09,590 So 'n goeie gebruik van funksie maak jou kode veel makliker om te lees. 882 00:39:09,590 --> 00:39:13,800 Dit maak dit makliker om te ontfout wat as jy in jou later probleem stelle, 883 00:39:13,800 --> 00:39:15,900 jy gaan regtig wil in staat wees om te doen. 884 00:39:15,900 --> 00:39:17,900 En dit is ook makliker te ontwerp en te implementeer. 885 00:39:17,900 --> 00:39:21,100 Jy kan kode 'n klein funksioneer relatief vinnig 886 00:39:21,100 --> 00:39:25,260 en maak seker dit werk versus probeer hierdie hele lange program te skep 887 00:39:25,260 --> 00:39:28,960 en dan soort van gaan deur en sien wat werk en wat nie. 888 00:39:28,960 --> 00:39:30,300 >> En dan herbruikbaarheid. 889 00:39:30,300 --> 00:39:33,380 So funksies net nodig word sodra geskryf, 890 00:39:33,380 --> 00:39:35,586 en dan kan jy dit gebruik soveel keer as moontlik te maak. 891 00:39:35,586 --> 00:39:37,210 So is dit, soos, eko-vriendelike in 'n sin. 892 00:39:37,210 --> 00:39:39,660 893 00:39:39,660 --> 00:39:42,070 As jy het dinge soos Druk f, waar jy 894 00:39:42,070 --> 00:39:47,420 het die magic wat gaan uit om te skryf agter druk f elke keer 895 00:39:47,420 --> 00:39:51,040 jy wou iets te druk, het jy sou mooi siek en sat van dit 896 00:39:51,040 --> 00:39:51,650 teen die einde. 897 00:39:51,650 --> 00:39:52,660 898 00:39:52,660 --> 00:39:55,292 >> Een van die dinge wat jy sal leer in later CS klasse, 899 00:39:55,292 --> 00:39:57,000 of een van die beste stukke van die raad wat ek kry 900 00:39:57,000 --> 00:40:00,870 is, as jy kopieer en plak kode, is dit waarskynlik 'n funksie. 901 00:40:00,870 --> 00:40:01,880 902 00:40:01,880 --> 00:40:06,007 As jy het presies dieselfde lyne dwarsdeur jou kode, 903 00:40:06,007 --> 00:40:08,090 As jy faktor hulle uit, jou kode sal waarskynlik 904 00:40:08,090 --> 00:40:11,860 wees, soos, vyf keer korter en nog baie meer maklik om te lees. 905 00:40:11,860 --> 00:40:15,230 En in plaas van om op te los al die verskillende plekke waar dinge 906 00:40:15,230 --> 00:40:18,021 verkeerd kan gaan, moet jy een funksie wat jy op te los. 907 00:40:18,021 --> 00:40:19,230 908 00:40:19,230 --> 00:40:21,890 En ek belowe, 'n baie van hierdie lyk soort van abstrakte nou, 909 00:40:21,890 --> 00:40:24,620 maar as jy in later en later die probleem stel, 910 00:40:24,620 --> 00:40:28,950 dit sal 'n baie meer sin maak en regtig huis toe gery. 911 00:40:28,950 --> 00:40:31,775 Is daar enige vrae oor funksies so ver? 912 00:40:31,775 --> 00:40:32,650 Hoekom ons gebruik hulle? 913 00:40:32,650 --> 00:40:34,775 Ek weet ons het nie gekry in die fyner kunsies nie. 914 00:40:34,775 --> 00:40:40,610 So definisie van 'n function-- net soos skikkings, moet ons 'n soort of-- hierdie 915 00:40:40,610 --> 00:40:41,860 is net die algemene uitset. 916 00:40:41,860 --> 00:40:45,110 So, dit is 'n funksie wat net gaan 'n paar insette te kubus. 917 00:40:45,110 --> 00:40:50,120 En op die volgende bladsy, eintlik, ons het al hierdie wonderlike klein dingetjies hier. 918 00:40:50,120 --> 00:40:52,420 So, almal kan lees dat uit nuuskierigheid? 919 00:40:52,420 --> 00:40:55,050 Ek weet dat die pers en swart dalk 'n bietjie hard. 920 00:40:55,050 --> 00:41:00,730 >> Maar groot dinge so die eerste know-- een hier is ons terugkeer tipe. 921 00:41:00,730 --> 00:41:05,270 So dit is 'n gesprek oor die uitset van hierdie funksie wanneer, in hierdie geval, 922 00:41:05,270 --> 00:41:08,990 Ons sit in 'n nommer, wat ons is kry is dat die getal blokkies. 923 00:41:08,990 --> 00:41:11,090 So dit moet 'n int in hierdie geval wees. 924 00:41:11,090 --> 00:41:14,055 Miskien sal dit 'n dubbele of iets anders later, maar in hierdie geval, 925 00:41:14,055 --> 00:41:14,555 dit is 'n int. 926 00:41:14,555 --> 00:41:15,620 927 00:41:15,620 --> 00:41:19,440 >> Met c, moet jy altyd 'n terugkeer tipe. 928 00:41:19,440 --> 00:41:20,267 Dit sal 'n int wees. 929 00:41:20,267 --> 00:41:20,975 Dit sal 'n float wees. 930 00:41:20,975 --> 00:41:22,180 Dit sal 'n dubbel. 931 00:41:22,180 --> 00:41:25,370 Maar jy het om te spesifiseer watter hierdie funksie gaan om terug te keer. 932 00:41:25,370 --> 00:41:26,480 933 00:41:26,480 --> 00:41:29,170 Anders sal dit skree jy, en dit sal nie stel. 934 00:41:29,170 --> 00:41:30,462 Jy sal hartseer wees, en Ek sal hartseer wees. 935 00:41:30,462 --> 00:41:31,420 En dit is net nie goed nie. 936 00:41:31,420 --> 00:41:31,940 OK. 937 00:41:31,940 --> 00:41:34,290 >> En dan moet ons ons funksie naam. 938 00:41:34,290 --> 00:41:38,440 En as jy hier kan sien, met c is daar hierdie baie konsekwent paradigma. 939 00:41:38,440 --> 00:41:42,630 Wat is jou tipe, wat is die naam, en dan 'n paar ander ding aan die einde. 940 00:41:42,630 --> 00:41:45,550 So het ons ons terugkeer tipe, ons funksie naam, en dan 941 00:41:45,550 --> 00:41:49,320 ons het ons kop met ons parameter lys. 942 00:41:49,320 --> 00:41:52,080 >> So het die parameter lys is, wat hierdie funksie gaan neem in? 943 00:41:52,080 --> 00:41:56,360 'N parameter lys is bloot 'n sinoniem vir wat is ons insette? 944 00:41:56,360 --> 00:42:00,230 En in dieselfde manier waarop ons het ons funksie te definieer 945 00:42:00,230 --> 00:42:03,210 en gee dit 'n terugkeer tik, elkeen van ons insette 946 00:42:03,210 --> 00:42:05,350 moet 'n tipe wat verband hou met dit te hê. 947 00:42:05,350 --> 00:42:08,850 So ons weet wat ons funksie eintlik kan werk. 948 00:42:08,850 --> 00:42:11,290 >> So in hierdie geval, ons het 'n paar int insette. 949 00:42:11,290 --> 00:42:14,660 So weer, sal dit die tipe wees en wat jy noem dit. 950 00:42:14,660 --> 00:42:16,500 951 00:42:16,500 --> 00:42:19,040 En dan, as jy sien hier, ons het ons liggaam. 952 00:42:19,040 --> 00:42:23,600 So ons het 'n paar int uitset, wat is net ons insette keer self 953 00:42:23,600 --> 00:42:25,810 keer self, wat net blokkies nie. 954 00:42:25,810 --> 00:42:27,610 En dan moet ons terugkeer wat uitloop. 955 00:42:27,610 --> 00:42:32,140 >> So as jy hier sien, het ons 'n int keer 'n int keer 'n int, 956 00:42:32,140 --> 00:42:35,420 so dit gee 'n int, wat is daar verklaar. 957 00:42:35,420 --> 00:42:38,240 So alles is hangende. 958 00:42:38,240 --> 00:42:39,210 Alles is gelukkig. 959 00:42:39,210 --> 00:42:40,250 Jou funksie sal loop. 960 00:42:40,250 --> 00:42:41,192 961 00:42:41,192 --> 00:42:42,650 En dit is net die algemene ding. 962 00:42:42,650 --> 00:42:46,750 So het altyd terugkeer tipe, naam, en jou parameter lys. 963 00:42:46,750 --> 00:42:48,830 Elke ding in jou parameter lys, of insette, 964 00:42:48,830 --> 00:42:51,410 moet 'n tipe wat verband hou met dit te hê. 965 00:42:51,410 --> 00:42:54,210 En dan moet jy jou liggaam hier met alles wat 966 00:42:54,210 --> 00:42:55,590 wat jy wil doen met jou insette. 967 00:42:55,590 --> 00:42:57,390 968 00:42:57,390 --> 00:43:00,410 >> En dan natuurlik jy wil iets om terug te keer. 969 00:43:00,410 --> 00:43:02,630 Soms funksies sal net terug te keer. 970 00:43:02,630 --> 00:43:06,090 Hulle het nie werklik terug nie iets vir jou om te gebruik. 971 00:43:06,090 --> 00:43:08,660 Maar jy het om terug te keer in een of ander manier. 972 00:43:08,660 --> 00:43:12,900 En wanneer jy maak jou eie funksies, 973 00:43:12,900 --> 00:43:15,430 ons kan kry in 'n bietjie dieper. 974 00:43:15,430 --> 00:43:18,880 Persoonlik, as jy wil, daar is 'n baie van verskillende dinge wat jy daar kan doen. 975 00:43:18,880 --> 00:43:21,350 976 00:43:21,350 --> 00:43:22,140 Almal goeie? 977 00:43:22,140 --> 00:43:25,900 Enigiets op hierdie lys wat jy wil hê om oor te gaan, dat jy nie verstaan ​​nie? 978 00:43:25,900 --> 00:43:27,204 979 00:43:27,204 --> 00:43:28,120 Almal is goed daar? 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 Awesome. 984 00:43:32,120 --> 00:43:34,700 >> OK, so ons is om dit alles saam nou. 985 00:43:34,700 --> 00:43:35,720 986 00:43:35,720 --> 00:43:41,201 So ons het 'n paar int kubus insette, so Dit is 'n volledige program hier. 987 00:43:41,201 --> 00:43:42,950 Tot nou toe, ek het soort is wat jou 988 00:43:42,950 --> 00:43:45,699 ouens brokkies wat dalk word gaan binne 'n program. 989 00:43:45,699 --> 00:43:47,240 Ons het nou net op soek na funksies. 990 00:43:47,240 --> 00:43:48,448 Maar hier is 'n hele program. 991 00:43:48,448 --> 00:43:49,400 992 00:43:49,400 --> 00:43:53,690 So hoeveel van julle onthou die woord prototipe van lesing? 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 Ons het een. 996 00:43:55,890 --> 00:43:57,160 997 00:43:57,160 --> 00:43:58,110 Wat is jou naam? 998 00:43:58,110 --> 00:43:58,850 >> Steph: Steph. 999 00:43:58,850 --> 00:43:59,475 >> ALLISON: Steph? 1000 00:43:59,475 --> 00:44:01,030 OK, awesome. 1001 00:44:01,030 --> 00:44:03,310 So, onthou jy wat 'n prototipe is? 1002 00:44:03,310 --> 00:44:04,651 1003 00:44:04,651 --> 00:44:10,230 >> STUDENT: Jy sê [onhoorbaar] voordat jy dit hanteer. 1004 00:44:10,230 --> 00:44:11,700 >> ALLISON: Onthou jy hoekom? 1005 00:44:11,700 --> 00:44:13,158 >> STUDENT: No. 1006 00:44:13,158 --> 00:44:14,620 >> ALLISON: OK. 1007 00:44:14,620 --> 00:44:16,090 Goue ster. 1008 00:44:16,090 --> 00:44:19,470 So ja, 'n prototipe ons het vooraf, want anders, 1009 00:44:19,470 --> 00:44:21,260 ons samesteller gaan gil op ons. 1010 00:44:21,260 --> 00:44:24,294 Dit gaan om te sê, OK, Wat is hierdie kubus funksie? 1011 00:44:24,294 --> 00:44:26,460 Soos jy letterlik het vir my gesê niks. 1012 00:44:26,460 --> 00:44:28,110 Dit is soos wanneer jy loop in 'n klaskamer, 1013 00:44:28,110 --> 00:44:29,320 en iemand is soos, daar is 'n quiz vandag. 1014 00:44:29,320 --> 00:44:31,380 En jy is soos jy nooit het my vertel oor hierdie. 1015 00:44:31,380 --> 00:44:32,930 Ek is nie gelukkig met ons. 1016 00:44:32,930 --> 00:44:34,300 1017 00:44:34,300 --> 00:44:37,020 Die prototipe is basies soos jou leerplan sê, kyk. 1018 00:44:37,020 --> 00:44:37,900 Koppe. 1019 00:44:37,900 --> 00:44:39,570 Daar gaan 'n quiz op hierdie dag te wees. 1020 00:44:39,570 --> 00:44:41,420 Moenie freak nie uit wanneer jy om dit te. 1021 00:44:41,420 --> 00:44:42,690 Jy gaan goed wees. 1022 00:44:42,690 --> 00:44:48,170 >> So al die prototipe doen is vertel belangrikste, ek gaan hierdie funksie te gebruik. 1023 00:44:48,170 --> 00:44:51,010 Ek belowe ek definieer dit later. 1024 00:44:51,010 --> 00:44:52,260 Moenie freak nie uit na my. 1025 00:44:52,260 --> 00:44:54,750 Net stel en te doen wat ek jou sê om te. 1026 00:44:54,750 --> 00:44:58,880 So ons het die prototipe daar net om ons samesteller gelukkig. 1027 00:44:58,880 --> 00:45:04,360 En dit is basies 'n belofte dat jy het hierdie funksie later omskryf 1028 00:45:04,360 --> 00:45:07,960 en dat jy nie net 'n beroep hierdie ewekansige ding dat dit 1029 00:45:07,960 --> 00:45:10,070 weet nie wat jy gaan doen. 1030 00:45:10,070 --> 00:45:11,910 >> So in hierdie geval, ons het hier belangrikste. 1031 00:45:11,910 --> 00:45:14,660 Ons inisialiseer 'n heelgetal x. 1032 00:45:14,660 --> 00:45:15,620 Dit is twee. 1033 00:45:15,620 --> 00:45:17,510 Ons gaan om uit te druk wat x is. 1034 00:45:17,510 --> 00:45:18,800 Ons gaan x kubus. 1035 00:45:18,800 --> 00:45:21,520 Soos jy sien, ons het ons funksie verklaring 1036 00:45:21,520 --> 00:45:23,770 hier dat ons gepraat oor vroeër. 1037 00:45:23,770 --> 00:45:28,260 Dit sal kubus x, en dan, as ons Onthou, die kubus funksie eintlik 1038 00:45:28,260 --> 00:45:31,340 gee 'n heelgetal te ons, wat gestoor word 1039 00:45:31,340 --> 00:45:35,860 in x weer sodat ons kan druk uit agt of kubus x nou. 1040 00:45:35,860 --> 00:45:37,170 1041 00:45:37,170 --> 00:45:38,920 Maak dit sin maak vir almal? 1042 00:45:38,920 --> 00:45:40,360 Ons is goed? 1043 00:45:40,360 --> 00:45:41,160 Alle regte. 1044 00:45:41,160 --> 00:45:41,660 Awesome. 1045 00:45:41,660 --> 00:45:45,540 1046 00:45:45,540 --> 00:45:46,840 >> Alle regte. 1047 00:45:46,840 --> 00:45:50,879 Hoeveel van julle ouens Onthou Dit so dit 1048 00:45:50,879 --> 00:45:52,670 is basies net jou stapel en jou hoop, 1049 00:45:52,670 --> 00:45:56,510 net 'n visualisering van hoe geheue word hier gestoor word. 1050 00:45:56,510 --> 00:45:58,200 1051 00:45:58,200 --> 00:46:01,400 So ons wil net te maak seker dat jy verstaan 1052 00:46:01,400 --> 00:46:03,680 hoe dit in die geheue verteenwoordig. 1053 00:46:03,680 --> 00:46:07,670 As jy klasse soos neem CS61 en dinge later, 1054 00:46:07,670 --> 00:46:10,570 jy so ver om meer te leer in diepte, en dit is regtig cool. 1055 00:46:10,570 --> 00:46:11,730 Ek raai dit. 1056 00:46:11,730 --> 00:46:12,740 1057 00:46:12,740 --> 00:46:14,720 Maar vir nou, sal ek gee jy die breë oorsig 1058 00:46:14,720 --> 00:46:16,950 sodat jy nie hoef te weet wat die fyner kunsies. 1059 00:46:16,950 --> 00:46:20,820 >> So het die top net 'n teks segment wat bevat die werklike nulle en ene, 1060 00:46:20,820 --> 00:46:23,740 die binêre vir daardie. 1061 00:46:23,740 --> 00:46:27,510 En dit is wat gebruik word vir die stoor globale veranderlikes as jy enige. 1062 00:46:27,510 --> 00:46:28,870 1063 00:46:28,870 --> 00:46:32,240 As jy beweeg af, ons het, soos wat jy hier sien, 1064 00:46:32,240 --> 00:46:34,670 geïnisialiseer data, geïnitialiseerd data, en dan hoop. 1065 00:46:34,670 --> 00:46:35,800 1066 00:46:35,800 --> 00:46:38,584 >> Sodat ons nie regtig praat nie oor die hoop op die oomblik. 1067 00:46:38,584 --> 00:46:39,500 Ons sal later kry om dit te. 1068 00:46:39,500 --> 00:46:40,762 1069 00:46:40,762 --> 00:46:42,970 Vir nou, is ek net gaan waai my hande en wees soos, 1070 00:46:42,970 --> 00:46:44,553 jy hoef nie te weet nou hieroor. 1071 00:46:44,553 --> 00:46:46,100 1072 00:46:46,100 --> 00:46:49,060 Maar ons sal 'n bietjie praat bietjie oor die stapel. 1073 00:46:49,060 --> 00:46:53,050 So die stapel where-- ons het zoom in. 1074 00:46:53,050 --> 00:46:58,590 Dit is eintlik hoe die program Ons het net gekyk na kom in die geheue. 1075 00:46:58,590 --> 00:47:01,630 >> So, wat gebeur is, elke tyd wat ons noem 'n funksie, 1076 00:47:01,630 --> 00:47:04,180 ons kry wat genoem 'n stapel raam, wat een van hulle nie. 1077 00:47:04,180 --> 00:47:05,870 So hoof se parameters. 1078 00:47:05,870 --> 00:47:07,944 So dit is die dinge dat ons slaag in Hoofstraat. 1079 00:47:07,944 --> 00:47:11,110 So hulle is reg hier op die bodem, want dit is die eerste ding wat ons noem. 1080 00:47:11,110 --> 00:47:13,401 En dan kry ons na die hoof se inwoners, en wanneer ons sê dat, 1081 00:47:13,401 --> 00:47:15,970 beteken dat ons die plaaslike veranderlikes wat binne belangrikste gestoor word. 1082 00:47:15,970 --> 00:47:19,950 1083 00:47:19,950 --> 00:47:23,620 So locals hier sou wees, soos, x is gelyk aan twee in hierdie geval. 1084 00:47:23,620 --> 00:47:26,350 Want dit is gelokaliseerde na. 1085 00:47:26,350 --> 00:47:29,745 Nie almal onthou omvang, gaan oor wat in lesing? 1086 00:47:29,745 --> 00:47:31,517 1087 00:47:31,517 --> 00:47:32,017 OK. 1088 00:47:32,017 --> 00:47:36,110 Dus, net die veranderlikes wat is geïnisialiseer binne belangrikste. 1089 00:47:36,110 --> 00:47:38,550 So dit is waarom ons 'n hoof [? koor. ?] 1090 00:47:38,550 --> 00:47:40,390 >> En dan binne belangrikste, ons noem kubus. 1091 00:47:40,390 --> 00:47:41,000 Reg? 1092 00:47:41,000 --> 00:47:44,510 So kry ons 'n ander raam kubus se parameters. 1093 00:47:44,510 --> 00:47:47,050 So in hierdie geval, kubus se parameters is nou 1094 00:47:47,050 --> 00:47:50,800 die x dat ons oorgegaan in, die twee wat ons geslaag in. 1095 00:47:50,800 --> 00:47:55,320 En dan kubus se inwoners, wat waar die werklike cubing gebeur. 1096 00:47:55,320 --> 00:47:56,450 En dan is dit terug. 1097 00:47:56,450 --> 00:48:02,120 >> So, wat gebeur is as kubus eintlik nie wat dit veronderstel is om te doen, is dit terug. 1098 00:48:02,120 --> 00:48:07,020 Wanneer dit terugkeer, dit raam laat, en sy teruggekeer af na die hoof. 1099 00:48:07,020 --> 00:48:09,160 En dan binne belangrikste, ons eintlik kan druk. 1100 00:48:09,160 --> 00:48:10,840 1101 00:48:10,840 --> 00:48:14,500 So wanneer jy iets terug, wanneer jou funksie gee terug, 1102 00:48:14,500 --> 00:48:19,900 dit is soos om op die waardes die raampie en dan verlaat. 1103 00:48:19,900 --> 00:48:22,200 En dinge uit te voer ten einde. 1104 00:48:22,200 --> 00:48:25,550 >> En wanneer jy na groter programme, ons koeler en meer ingewikkeld kan maak 1105 00:48:25,550 --> 00:48:26,470 diagramme. 1106 00:48:26,470 --> 00:48:29,070 Maar vir nou, is dit net 'n algemene oorsig 1107 00:48:29,070 --> 00:48:31,110 sodat jy het soort van 'n begrip van wat 1108 00:48:31,110 --> 00:48:35,160 gebeur wanneer jy bel 'n funksie en hoe dit lyk eintlik in die geheue. 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 Almal goeie? 1112 00:48:38,353 --> 00:48:39,920 1113 00:48:39,920 --> 00:48:40,420 Awesome. 1114 00:48:40,420 --> 00:48:42,070 1115 00:48:42,070 --> 00:48:50,575 >> So, dit is die een wat net probeer om dinge te ruil. 1116 00:48:50,575 --> 00:48:52,260 1117 00:48:52,260 --> 00:48:54,930 Soos ons hier sien, het ons ' ons funksie prototipe 1118 00:48:54,930 --> 00:48:56,900 sodat ons samesteller nie skreeu nie by ons. 1119 00:48:56,900 --> 00:48:59,220 Ons het 'n paar groot, en ons wil x en y te skakel. 1120 00:48:59,220 --> 00:49:00,320 1121 00:49:00,320 --> 00:49:04,129 Hulle het nie gedoen demo in lesing nie, het hulle? 1122 00:49:04,129 --> 00:49:04,670 Hulle het nie? 1123 00:49:04,670 --> 00:49:05,900 OK. 1124 00:49:05,900 --> 00:49:08,450 So ons gaan om te gaan oor hierdie baie kortliks. 1125 00:49:08,450 --> 00:49:12,210 Jy kry in hierdie voorbeeld meer in diepte, dink ek, is hierdie week. 1126 00:49:12,210 --> 00:49:15,680 En dan kan ons regtig volgende week duik in waarom dit nie werk nie. 1127 00:49:15,680 --> 00:49:18,810 >> So ons het hierdie leemte funksie here-- ruil. 1128 00:49:18,810 --> 00:49:20,720 So nietig beteken net dat niks terug nie. 1129 00:49:20,720 --> 00:49:22,000 1130 00:49:22,000 --> 00:49:24,110 En ons het 'n ruil int en int b. 1131 00:49:24,110 --> 00:49:27,046 En ons het 'n paar tydelike veranderlike wat 'n. 1132 00:49:27,046 --> 00:49:30,050 'n kry wat aan B, en dan b kry om die tydelike opgedra 1133 00:49:30,050 --> 00:49:32,235 sodat A en B se waardes is nou aangeskakel. 1134 00:49:32,235 --> 00:49:33,510 1135 00:49:33,510 --> 00:49:36,030 >> Maar, plot draai, dit nie werk nie. 1136 00:49:36,030 --> 00:49:37,390 1137 00:49:37,390 --> 00:49:42,380 En 'n deel van dit eintlik ' te doen met die feit dat 'n 1138 00:49:42,380 --> 00:49:48,800 en B hier, die een wat kry geslaag in Hier is eintlik afskrifte van x en y. 1139 00:49:48,800 --> 00:49:53,220 So wanneer die funksie eintlik terugkeer, dit skakel die afskrifte maar nie 1140 00:49:53,220 --> 00:49:55,960 die werklike x en y se. 1141 00:49:55,960 --> 00:50:02,370 So 'n manier om te dink oor dit that-- voorgee dit is ruil. 1142 00:50:02,370 --> 00:50:03,130 OK? 1143 00:50:03,130 --> 00:50:05,390 So in die belangrikste, ons het x en y geïnisialiseer. 1144 00:50:05,390 --> 00:50:06,530 1145 00:50:06,530 --> 00:50:10,760 Maar wanneer ons eintlik gaan hierdie rame met omruil, 1146 00:50:10,760 --> 00:50:15,740 ons verby die waardes oor om dit, en hulle is geïnisialiseer. 1147 00:50:15,740 --> 00:50:18,570 >> En hulle het net ooit reg hier woon. 1148 00:50:18,570 --> 00:50:19,796 So A en B hier woon. 1149 00:50:19,796 --> 00:50:20,670 En hulle kry verruil. 1150 00:50:20,670 --> 00:50:21,870 1151 00:50:21,870 --> 00:50:26,190 Maar wanneer ons terugkeer, het ons dit nie doen nie enigiets doen met 'n en b. 'n 1152 00:50:26,190 --> 00:50:28,980 en b verlof met ons funksie. 1153 00:50:28,980 --> 00:50:30,850 En so x en y bly dieselfde. 1154 00:50:30,850 --> 00:50:31,960 1155 00:50:31,960 --> 00:50:39,665 Jy kry meer in hoe om dit te los en hoe ons eintlik gaan met dit later. 1156 00:50:39,665 --> 00:50:40,750 1157 00:50:40,750 --> 00:50:43,740 >> Maar dit is net een ding soort in gedagte hou. 1158 00:50:43,740 --> 00:50:45,270 Gebruik dit vir die toekoms. 1159 00:50:45,270 --> 00:50:48,050 Moenie bekommerd wees as dit het nie al die gevoel in die wêreld. 1160 00:50:48,050 --> 00:50:49,510 1161 00:50:49,510 --> 00:50:51,440 Hulle is afskrifte is die grootste ding. 1162 00:50:51,440 --> 00:50:54,580 As jy gaan om iets te neem weg van wat jy geslaag het in die kopie. 1163 00:50:54,580 --> 00:50:56,410 So het die oorspronklike bly dieselfde. 1164 00:50:56,410 --> 00:50:58,170 1165 00:50:58,170 --> 00:50:58,770 Almal goeie? 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 >> So opdrag-lyn argumente. 1169 00:51:02,295 --> 00:51:03,520 1170 00:51:03,520 --> 00:51:07,630 Ek is seker dat in die begin julle almal het die groot, soos, int main ruimtes. 1171 00:51:07,630 --> 00:51:09,517 En jy soos, OK cool. 1172 00:51:09,517 --> 00:51:10,350 Ek het nie regtig omgee. 1173 00:51:10,350 --> 00:51:12,360 Dit is net wat ek het om te skryf. 1174 00:51:12,360 --> 00:51:16,349 Maar in jou nuwe programme, veral in hierdie pset, 1175 00:51:16,349 --> 00:51:17,890 en waarom is daar kryt op die grond? 1176 00:51:17,890 --> 00:51:19,640 1177 00:51:19,640 --> 00:51:22,680 >> Met jou volgende pset, is jy gaan word aangesien dit. 1178 00:51:22,680 --> 00:51:26,130 Int hoof, int arg c, string boog v, hakies. 1179 00:51:26,130 --> 00:51:28,770 So, uit wat ons net geleer vandag, wat 1180 00:51:28,770 --> 00:51:32,190 dink ons ​​dat die tweede parameter of dat die tweede element is hier? 1181 00:51:32,190 --> 00:51:34,830 1182 00:51:34,830 --> 00:51:35,824 Dit is 'n skikking. 1183 00:51:35,824 --> 00:51:36,615 Watter tipe skikking? 1184 00:51:36,615 --> 00:51:38,430 1185 00:51:38,430 --> 00:51:40,690 String skikking, ja. 1186 00:51:40,690 --> 00:51:41,980 Cool. 1187 00:51:41,980 --> 00:51:45,320 So dit is hoe jy gaan te word om hierdie nou verklaar. 1188 00:51:45,320 --> 00:51:48,570 >> Is daar iemand onthou wat hierdie staan ​​vir? 1189 00:51:48,570 --> 00:51:52,551 1190 00:51:52,551 --> 00:51:53,050 Geen? 1191 00:51:53,050 --> 00:51:54,020 1192 00:51:54,020 --> 00:51:54,520 Hmm? 1193 00:51:54,520 --> 00:51:55,640 >> STUDENT: arg c. 1194 00:51:55,640 --> 00:51:56,961 1195 00:51:56,961 --> 00:51:58,950 >> ALLISON: So arg c hou 'n toonbank. 1196 00:51:58,950 --> 00:51:59,450 Dit is 'n int. 1197 00:51:59,450 --> 00:52:00,615 Dit is 'n nommer, reg? 1198 00:52:00,615 --> 00:52:02,240 So, wat dink jy dat die getal is? 1199 00:52:02,240 --> 00:52:08,260 1200 00:52:08,260 --> 00:52:08,760 Ja. 1201 00:52:08,760 --> 00:52:11,450 So arg c is die getal van die snare wat die opdrag lyn. 1202 00:52:11,450 --> 00:52:12,560 1203 00:52:12,560 --> 00:52:18,499 So as ons eintlik do--, Daar is voorbeelde na hierdie, 1204 00:52:18,499 --> 00:52:19,790 so ek sal nie voor my kry. 1205 00:52:19,790 --> 00:52:21,299 1206 00:52:21,299 --> 00:52:23,840 Dit is 'n aantal van die snare wat maak net jou opdrag lyn. 1207 00:52:23,840 --> 00:52:35,080 >> So wanneer jy dit doen, soos, dot streep Mario, dit is een string wat maak dit op. 1208 00:52:35,080 --> 00:52:38,520 In hierdie stuk, sal jy eintlik dinge te voed in die command line, 1209 00:52:38,520 --> 00:52:41,750 want ek is seker dat jy ouens wat het die spec saag lees. 1210 00:52:41,750 --> 00:52:44,470 So in sulke gevalle, sal jy dalk twee of drie argumente. 1211 00:52:44,470 --> 00:52:45,652 1212 00:52:45,652 --> 00:52:48,360 Dit gaan 'n nuttige ding om te gebruik. 1213 00:52:48,360 --> 00:52:51,500 >> En dan arg v, soos ons sê, is net 'n string skikking. 1214 00:52:51,500 --> 00:52:57,000 So wat eintlik winkels wat jy insette in die command line. 1215 00:52:57,000 --> 00:52:59,960 So ons het hierdie. 1216 00:52:59,960 --> 00:53:02,850 Jy het 'n paar dot streep kopieer infile outfile. 1217 00:53:02,850 --> 00:53:06,670 Dus, as arg c is die getal van die snare dat ons verby in die opdrag 1218 00:53:06,670 --> 00:53:09,080 lyn, wat is ons arg c in hierdie geval? 1219 00:53:09,080 --> 00:53:14,520 1220 00:53:14,520 --> 00:53:15,850 Drie. 1221 00:53:15,850 --> 00:53:16,690 Presies. 1222 00:53:16,690 --> 00:53:20,086 >> So, wat is arg v van nul? 1223 00:53:20,086 --> 00:53:21,710 So, wat is die eerste ding wat ons het gestoor? 1224 00:53:21,710 --> 00:53:24,640 1225 00:53:24,640 --> 00:53:26,290 Dot streep kopie, presies. 1226 00:53:26,290 --> 00:53:28,065 En dan sal die tweede infile wees. 1227 00:53:28,065 --> 00:53:29,290 1228 00:53:29,290 --> 00:53:30,930 Die derde sou outfile wees. 1229 00:53:30,930 --> 00:53:32,390 So, wat oor arg v drie? 1230 00:53:32,390 --> 00:53:35,810 1231 00:53:35,810 --> 00:53:39,370 Dit sal nul wees nie, want dit is die einde van ons reeks, reg? 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 >> En wat dan van die sesde een? 1235 00:53:44,500 --> 00:53:45,900 Dit is soort van 'n truuk vraag. 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 Weet ons wat dit is? 1239 00:53:49,943 --> 00:53:50,960 1240 00:53:50,960 --> 00:53:51,690 Dit is ongedefinieerd. 1241 00:53:51,690 --> 00:53:53,170 Ons het geen idee wat dit kan wees. 1242 00:53:53,170 --> 00:53:57,000 Dit is alles wat reg is nadat die skikking in die geheue, 1243 00:53:57,000 --> 00:54:00,220 en ons het geen idee wat dit is. 1244 00:54:00,220 --> 00:54:03,500 En dit is gevaarlik diegene aan te raak dinge nie, want vir al wat jy weet, 1245 00:54:03,500 --> 00:54:07,080 dit is 'n deel van die geheue wat jy moet nie toegang tot of nul. 1246 00:54:07,080 --> 00:54:09,000 En dit kan gek dinge doen. 1247 00:54:09,000 --> 00:54:11,690 Dit is bekend oor-kruip jou gebind aan jou skikking. 1248 00:54:11,690 --> 00:54:14,785 Moenie buite die grense van gaan nie jou skikking, of slegte dinge kan gebeur. 1249 00:54:14,785 --> 00:54:16,274 1250 00:54:16,274 --> 00:54:18,940 Jy kom terug en soos die wette van fisika is vernietig 1251 00:54:18,940 --> 00:54:19,481 of iets. 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 Maak dit sin maak vir almal? 1255 00:54:22,895 --> 00:54:23,810 1256 00:54:23,810 --> 00:54:25,025 Nie te sleg nie. 1257 00:54:25,025 --> 00:54:28,926 >> So nou, almal is gunsteling deel, pset oorsig. 1258 00:54:28,926 --> 00:54:29,426 Yay! 1259 00:54:29,426 --> 00:54:30,530 1260 00:54:30,530 --> 00:54:31,030 OK. 1261 00:54:31,030 --> 00:54:33,830 So vir die van julle wat lees nie die pset spec, 1262 00:54:33,830 --> 00:54:36,790 jy doen 'n paar baie koel dinge met kriptografie. 1263 00:54:36,790 --> 00:54:39,360 Jy gaan 'n Ceasar te skep Cipher en 'n Vigenere Cipher. 1264 00:54:39,360 --> 00:54:42,000 1265 00:54:42,000 --> 00:54:45,480 Jy moet beslis lees die spec om te sien hoe dié werk. 1266 00:54:45,480 --> 00:54:49,650 En as jy met enige probleme oor wat dit eintlik moet doen, 1267 00:54:49,650 --> 00:54:52,920 kom gesels gerus met my, E-pos my of die teks vir my. 1268 00:54:52,920 --> 00:54:53,420 Ek is rond. 1269 00:54:53,420 --> 00:54:54,780 1270 00:54:54,780 --> 00:54:57,070 >> So is daar drie hoof dinge hier dat ons 1271 00:54:57,070 --> 00:55:00,440 wil praat about-- net soort van 'n uitbreiding van lesing. 1272 00:55:00,440 --> 00:55:03,645 Dinge wat jy dalk nie weet oor, wenke en gereedskap. 1273 00:55:03,645 --> 00:55:05,520 So ons gaan 'n om te doen vinnige oorsig van ASCII, 1274 00:55:05,520 --> 00:55:10,420 want dit gaan super wees belangrik vir Vigenere se Cipher. 1275 00:55:10,420 --> 00:55:11,809 1276 00:55:11,809 --> 00:55:14,100 Ons gaan omskakeling van command line insette, wat 1277 00:55:14,100 --> 00:55:17,160 sal baie nuttig wees vir die keiser Cipher. 1278 00:55:17,160 --> 00:55:18,133 En dan modulo. 1279 00:55:18,133 --> 00:55:20,220 1280 00:55:20,220 --> 00:55:21,210 Cool. 1281 00:55:21,210 --> 00:55:24,005 >> So, ASCII kaarte karakters getalle. 1282 00:55:24,005 --> 00:55:25,270 1283 00:55:25,270 --> 00:55:26,365 Dit is 'n groot grafiek. 1284 00:55:26,365 --> 00:55:28,115 Jy moet dit hê geboekmerk iewers. 1285 00:55:28,115 --> 00:55:29,310 1286 00:55:29,310 --> 00:55:33,250 Jy sal dit wil hê vir jou eerste mid-term. 1287 00:55:33,250 --> 00:55:36,320 Ek is redelik seker almal het hierdie grafiek op hul mid-term neer. 1288 00:55:36,320 --> 00:55:37,810 So leer. 1289 00:55:37,810 --> 00:55:38,410 Mal daaroor. 1290 00:55:38,410 --> 00:55:39,740 Hou dit byderhand. 1291 00:55:39,740 --> 00:55:41,210 Dit sal nuttig wees. 1292 00:55:41,210 --> 00:55:45,630 >> En al is dit is 'n enkodering wat kaarte alfabetiese, numeriese, 1293 00:55:45,630 --> 00:55:47,740 en ander karakters te nommers vir ons rekenaar. 1294 00:55:47,740 --> 00:55:49,947 As gevolg van die kursus, in die einde, alles wat ons stoor 1295 00:55:49,947 --> 00:55:52,030 gaan bekeerde te kry af te nulle en ene, 1296 00:55:52,030 --> 00:55:55,200 so ons moet 'n manier om die te verteenwoordig teks en karakters wat ons almal 1297 00:55:55,200 --> 00:55:59,105 gebruik om te sien as 'n soort van getal. 1298 00:55:59,105 --> 00:56:00,370 1299 00:56:00,370 --> 00:56:05,880 >> So as ons hier sien, het ons ' hoofletters A, wat is reg daar. 1300 00:56:05,880 --> 00:56:06,555 Dit is 65. 1301 00:56:06,555 --> 00:56:07,570 1302 00:56:07,570 --> 00:56:09,660 En klein A is 97. 1303 00:56:09,660 --> 00:56:13,170 Sodat jy kan uitvind out-- soos ek vroeër gesê het, 1304 00:56:13,170 --> 00:56:16,532 as jy het n verskeidenheid van veelvuldige snare, wat elkeen van hulle 1305 00:56:16,532 --> 00:56:17,490 'n nul Terminator. 1306 00:56:17,490 --> 00:56:18,480 Dit sou 'n ruimte wees. 1307 00:56:18,480 --> 00:56:22,581 Ruimte het sy eie special-- Ek het vergeet waar dit is hier. 1308 00:56:22,581 --> 00:56:23,080 Ag. 1309 00:56:23,080 --> 00:56:24,700 32 is die ruimte. 1310 00:56:24,700 --> 00:56:27,090 So alles kaarte om dit te. 1311 00:56:27,090 --> 00:56:28,680 1312 00:56:28,680 --> 00:56:29,740 >> So het ons 'n ASCII wiskunde. 1313 00:56:29,740 --> 00:56:31,080 1314 00:56:31,080 --> 00:56:34,290 Pro tip-- in Vigenere se, jy kan versoek word 1315 00:56:34,290 --> 00:56:39,480 jou nommers om te skakel na heelgetalle, maar dit is eintlik 'n beter praktyk 1316 00:56:39,480 --> 00:56:43,860 in staat wees om die te gebruik karakters soos hierdie 1317 00:56:43,860 --> 00:56:45,820 wanneer jy hulle eintlik manipuleer. 1318 00:56:45,820 --> 00:56:48,950 So as jy wil om getalle te gebruik, kan jy. 1319 00:56:48,950 --> 00:56:55,260 Maar 'n beter manier, of 'n manier wat Ons is geneig om jou te hou ouens om dit te doen, 1320 00:56:55,260 --> 00:56:57,830 is op hierdie manier waar jy eintlik trek karakters. 1321 00:56:57,830 --> 00:56:58,840 1322 00:56:58,840 --> 00:57:02,830 >> So ek wil julle ouens soort van figuur dit uit. 1323 00:57:02,830 --> 00:57:05,070 Hoekom het jy nie probeer elke ander een? 1324 00:57:05,070 --> 00:57:07,580 1325 00:57:07,580 --> 00:57:09,830 So doen die eerste een, die derde en die vyfde een. 1326 00:57:09,830 --> 00:57:11,160 1327 00:57:11,160 --> 00:57:15,000 Want ek wil om seker te maak dat ons praat maak oor alles wat ons nodig het om te praat. 1328 00:57:15,000 --> 00:57:17,410 1329 00:57:17,410 --> 00:57:20,259 Ek is net gaan om te sê, het een van die belangrike dinge aan- O wag, 1330 00:57:20,259 --> 00:57:21,550 julle nie gesien het nie hierdie een. 1331 00:57:21,550 --> 00:57:23,710 OK so doen die eerste drie. 1332 00:57:23,710 --> 00:57:24,430 Kom ons doen dit. 1333 00:57:24,430 --> 00:57:25,971 Want ons het om te praat oor modulo. 1334 00:57:25,971 --> 00:57:27,810 1335 00:57:27,810 --> 00:57:28,310 Ek weet nie. 1336 00:57:28,310 --> 00:57:28,851 Wiskunde is hard. 1337 00:57:28,851 --> 00:57:29,870 1338 00:57:29,870 --> 00:57:30,980 Jy kan 'n sakrekenaar gebruik. 1339 00:57:30,980 --> 00:57:31,580 Dit is OK. 1340 00:57:31,580 --> 00:57:37,464 1341 00:57:37,464 --> 00:57:40,380 Of trek 'n ASCII tafel, want jy waarskynlik gaan om te wil. 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 So ek sal vinnig loop julle deur hierdie. 1345 00:58:07,960 --> 00:58:11,120 So mense het ASCII tafels opgetrek? 1346 00:58:11,120 --> 00:58:15,645 Wat is ons numeriese nommer vir klein A? 1347 00:58:15,645 --> 00:58:16,270 STUDENT: Sewe. 1348 00:58:16,270 --> 00:58:19,420 1349 00:58:19,420 --> 00:58:24,550 >> ALLISON: So klein A 97 en hoofletters A is 65. 1350 00:58:24,550 --> 00:58:26,390 So 97 minus 65? 1351 00:58:26,390 --> 00:58:27,782 1352 00:58:27,782 --> 00:58:28,570 >> Publiek: 32? 1353 00:58:28,570 --> 00:58:33,260 1354 00:58:33,260 --> 00:58:35,630 >> ALLISON: 62, ja. 1355 00:58:35,630 --> 00:58:38,675 So in hierdie geval, wat sou dit uit te druk? 1356 00:58:38,675 --> 00:58:40,360 Dat die eerste een? 1357 00:58:40,360 --> 00:58:43,830 As ons persent d, wat sou dit dui? 1358 00:58:43,830 --> 00:58:45,980 1359 00:58:45,980 --> 00:58:46,730 STUDENT: 'n nommer. 1360 00:58:46,730 --> 00:58:48,604 ALLISON: Ons is druk uit 'n werklike nommer. 1361 00:58:48,604 --> 00:58:50,770 So ons is eintlik gaan uit te druk 32 hier. 1362 00:58:50,770 --> 00:58:56,360 En as dit was persent c, 32 gee ons 'n ruimte. 1363 00:58:56,360 --> 00:58:57,700 1364 00:58:57,700 --> 00:59:01,670 So verstaan ​​dat karakters gedruk kan word 1365 00:59:01,670 --> 00:59:06,140 sowel as getalle en as die werklike karakters 1366 00:59:06,140 --> 00:59:11,080 is baie belangrik, en die betaling aandag aan die werklike tipes 1367 00:59:11,080 --> 00:59:12,040 wat ons hier doen. 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 So vir elke ander een van hierdie, wat gaan ons te word druk? 1371 00:59:18,862 --> 00:59:19,825 >> Student: a karakter. 1372 00:59:19,825 --> 00:59:20,830 >> ALLISON: 'n karakter. 1373 00:59:20,830 --> 00:59:21,330 Cool. 1374 00:59:21,330 --> 00:59:24,260 So as julle wil hê, jy moet weet kan dit uit te werk op jou eie. 1375 00:59:24,260 --> 00:59:25,900 As jy probleme het, e-pos my. 1376 00:59:25,900 --> 00:59:28,950 Maar die tweede een druk 'n klein b. 1377 00:59:28,950 --> 00:59:32,910 Die derde een sal druk 'n hoofletters B. Die vierde een sal druk 1378 00:59:32,910 --> 00:59:36,410 uit 'n hoofletter C en die laaste een sal 'n klein A. 1379 00:59:36,410 --> 00:59:42,530 En die laaste one-- ons eintlik gaan te kry in wat dit gek persent 1380 00:59:42,530 --> 00:59:45,020 teken beteken dat selfs in 'n paar skyfies. 1381 00:59:45,020 --> 00:59:46,667 So probeer om diegene op jou eie. 1382 00:59:46,667 --> 00:59:48,500 As jy probleme het, kom asseblief met my praat. 1383 00:59:48,500 --> 00:59:49,655 1384 00:59:49,655 --> 00:59:53,290 As jy tipies in Adams D saal, jy sal waarskynlik vind my rond. 1385 00:59:53,290 --> 00:59:54,760 1386 00:59:54,760 --> 00:59:55,760 >> So, atoi. 1387 00:59:55,760 --> 00:59:59,660 Hoeveel van julle het dit gesien funksie of dit hoor nie? 1388 00:59:59,660 --> 01:00:00,380 1389 01:00:00,380 --> 01:00:00,880 Iemand? 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 So wat dit eintlik staan vir is ASCII te heelgetal. 1393 01:00:06,250 --> 01:00:13,150 So, wat jy kan doen, is om met die keiser vir diegene wat die spec te lees, 1394 01:00:13,150 --> 01:00:16,460 jy gaan dot streep op die keiser te doen nadat jy jou program te skryf, 1395 01:00:16,460 --> 01:00:18,690 en dan gaan jy insette sommige nommer wat jy 1396 01:00:18,690 --> 01:00:24,780 wil jou geheime boodskap te enkodeer met. 1397 01:00:24,780 --> 01:00:30,700 >> Maar, as ons onthou, almal van ons insette gestoor word as stringe. 1398 01:00:30,700 --> 01:00:31,390 Reg? 1399 01:00:31,390 --> 01:00:35,160 Ons het 'n arg v skikking dit is al die tipe string. 1400 01:00:35,160 --> 01:00:37,870 So as jy net probeer om te trek dat die een, sou dit 1401 01:00:37,870 --> 01:00:43,240 dink dat dit een of wat ook al nommer jy gebruik is eintlik 'n karakter. 1402 01:00:43,240 --> 01:00:45,490 So jy gaan kry 'n paar mal resultate. 1403 01:00:45,490 --> 01:00:48,200 So as jy eintlik wil draai dit in 'n heelgetal 1404 01:00:48,200 --> 01:00:52,060 wat jy kan gebruik om te manipuleer jou woord of jou boodskap, 1405 01:00:52,060 --> 01:00:53,366 jy wil atoi te gebruik. 1406 01:00:53,366 --> 01:00:56,320 atoi net vat jou string na 'n int. 1407 01:00:56,320 --> 01:01:04,530 >> So as ons 'n string van 12, as ons 'n beroep atoi op 12, of wat ook al wat insette is, 1408 01:01:04,530 --> 01:01:07,370 dit sal eintlik terug aan julle die heelgetal. 1409 01:01:07,370 --> 01:01:10,610 Nie die karakter of die string 12. 1410 01:01:10,610 --> 01:01:14,230 Wat, wanneer jy begin dat toe te voeg tot getalle, 1411 01:01:14,230 --> 01:01:17,710 sal baie anders wees, omdat die string 12 is 1412 01:01:17,710 --> 01:01:21,210 'n paar mal nommer in ASCII, maar die heelgetal 12 1413 01:01:21,210 --> 01:01:23,390 is eintlik 12, en dit is wat jy wil. 1414 01:01:23,390 --> 01:01:25,630 So jy wil om seker te maak atoi gebruik maak. 1415 01:01:25,630 --> 01:01:29,203 >> Jy gaan om dit te wil in Caesar, omdat jy 1416 01:01:29,203 --> 01:01:32,520 nodig het om die int verskaf deur die gebruiker in die opdrag lyn. 1417 01:01:32,520 --> 01:01:35,230 Maar toe hulle dit in die opdrag lyn, is dit gestoor as 'n string 1418 01:01:35,230 --> 01:01:35,813 om mee te begin. 1419 01:01:35,813 --> 01:01:36,950 1420 01:01:36,950 --> 01:01:38,210 Maak dit sin maak? 1421 01:01:38,210 --> 01:01:40,590 Jy doen nie noodwendig moet dit vir Vigenere. 1422 01:01:40,590 --> 01:01:43,180 Met Vigenere, soos ek gesê het voor, moet jy probeer en gebruik 1423 01:01:43,180 --> 01:01:46,600 ASCII wiskunde wat lyk meer soos hierdie, waar jy eintlik 1424 01:01:46,600 --> 01:01:49,320 gebruik van die karakters wat ons aan jou gegee. 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 Almal goeie daar? 1429 01:01:54,170 --> 01:01:56,530 1430 01:01:56,530 --> 01:01:57,480 Awesome. 1431 01:01:57,480 --> 01:01:59,030 >> So modulo. 1432 01:01:59,030 --> 01:02:01,950 So, wat as jy gegee hierdie groot aantal vir die keiser? 1433 01:02:01,950 --> 01:02:03,720 1434 01:02:03,720 --> 01:02:07,970 Jy het hierdie idee dat As jy op Z en jy 1435 01:02:07,970 --> 01:02:11,020 'n nommer twee, Dit beteken dat jy need-- 1436 01:02:11,020 --> 01:02:15,130 Z word die tweede brief na homself, reg? 1437 01:02:15,130 --> 01:02:20,800 So moet jy een of ander manier draai om, en modulo is die manier om dit te doen nie. 1438 01:02:20,800 --> 01:02:23,310 So al wat dit doen is dit gee jou die res 1439 01:02:23,310 --> 01:02:25,660 van die afdeling van die eerste getal in die tweede. 1440 01:02:25,660 --> 01:02:28,660 En ons het 'n paar voorbeelde te maak dat 'n bietjie meer beton. 1441 01:02:28,660 --> 01:02:34,390 Maar basies, jy modulo wanneer jy gebruik wil iets wrap om rond te maak. 1442 01:02:34,390 --> 01:02:36,950 >> So as jy wil net die getalle van een tot agt, 1443 01:02:36,950 --> 01:02:39,670 jy kan gebruik om modulo op enige ander nommer, en dit sal altyd 1444 01:02:39,670 --> 01:02:42,960 terugkeer 'n aantal van nul tot agt. 1445 01:02:42,960 --> 01:02:48,750 So 'n paar examples-- indien Ons het 55 modulo 10, 1446 01:02:48,750 --> 01:02:55,350 is dit net gee jou die res van 55 gedeel deur 10, wat sou wees 5. 1447 01:02:55,350 --> 01:02:56,440 1448 01:02:56,440 --> 01:03:02,470 En dan drie modulo vyf, iemand raai wat dit sou wees? 1449 01:03:02,470 --> 01:03:03,800 1450 01:03:03,800 --> 01:03:04,300 Drie. 1451 01:03:04,300 --> 01:03:05,570 1452 01:03:05,570 --> 01:03:10,910 >> So as jy 'n kleiner aantal voor die modulo, kan dit nie gaan nie in eweredig. 1453 01:03:10,910 --> 01:03:11,520 Dit is nul. 1454 01:03:11,520 --> 01:03:14,090 So dit gee net die getal self. 1455 01:03:14,090 --> 01:03:15,920 So agt modulo agt sou wees? 1456 01:03:15,920 --> 01:03:16,603 >> STUDENT: Zero. 1457 01:03:16,603 --> 01:03:18,350 >> ALLISON: Zero. 1458 01:03:18,350 --> 01:03:20,160 Want dit gaan in egalig. 1459 01:03:20,160 --> 01:03:22,095 16 modulo 15? 1460 01:03:22,095 --> 01:03:23,660 >> Publiek: Een. 1461 01:03:23,660 --> 01:03:24,700 >> ALLISON: Cool. 1462 01:03:24,700 --> 01:03:29,280 En dan is dit die laaste een is net te wys you-- jy dalk wonder, OK, 1463 01:03:29,280 --> 01:03:31,800 Wat is aan die orde van bedrywighede hier? 1464 01:03:31,800 --> 01:03:33,100 Het ons eerste deel? 1465 01:03:33,100 --> 01:03:34,570 Het ons modulo eerste? 1466 01:03:34,570 --> 01:03:38,730 So modulo hou dieselfde voorrang as afdeling of vermenigvuldiging, 1467 01:03:38,730 --> 01:03:39,940 en sy linker assosiatiewe. 1468 01:03:39,940 --> 01:03:41,730 So is dit in die dieselfde manier. 1469 01:03:41,730 --> 01:03:46,520 Jy sal altyd hakies doen, dan vermenigvuldiging, afdeling, 1470 01:03:46,520 --> 01:03:49,570 en modulo in volgorde van links na regs. 1471 01:03:49,570 --> 01:03:51,050 So standaard reëls. 1472 01:03:51,050 --> 01:03:55,260 Net sit dit in dieselfde kategorie as verdeling en vermenigvuldiging. 1473 01:03:55,260 --> 01:03:59,040 >> So in hierdie geval, sou ons het 1 plus 2 gee ons 3. 1474 01:03:59,040 --> 01:04:02,210 Ons vermenigvuldig met 2, so ons kry 6. 1475 01:04:02,210 --> 01:04:05,050 Ons modulo wat deur 2, wat vir ons gee? 1476 01:04:05,050 --> 01:04:06,042 >> STUDENT: 0. 1477 01:04:06,042 --> 01:04:07,430 >> ALLISON: 0. 1478 01:04:07,430 --> 01:04:10,270 En dan voeg ons 2, so ons kry 2 in hierdie laaste geval. 1479 01:04:10,270 --> 01:04:12,080 1480 01:04:12,080 --> 01:04:16,360 So modulo-- jy beslis gaan dink oor maniere om te inkorporeer 1481 01:04:16,360 --> 01:04:19,520 dat wanneer jy wikkel rondom die alfabet. 1482 01:04:19,520 --> 01:04:24,210 As jy by Z en jy nodig het om te beweeg stuur drie ruimtes te kry om C, 1483 01:04:24,210 --> 01:04:26,230 daar is dat die hele konsep wikkel rond. 1484 01:04:26,230 --> 01:04:28,790 So ek sal dit laat julle om uit te vind 1485 01:04:28,790 --> 01:04:31,940 presies hoe jy gaan word om dit te gebruik. 1486 01:04:31,940 --> 01:04:35,660 Maar beslis 'n nuttige instrument vir jou pset hierdie week. 1487 01:04:35,660 --> 01:04:36,910 1488 01:04:36,910 --> 01:04:37,730 Ek hou dit regtig. 1489 01:04:37,730 --> 01:04:39,480 Dit is een van my gunsteling psets. 1490 01:04:39,480 --> 01:04:41,230 Dan na jy dit doen, As jy vriende, 1491 01:04:41,230 --> 01:04:44,146 jy kan, soos, stuur mekaar geheime boodskappe en maak seker dat dit werk. 1492 01:04:44,146 --> 01:04:45,695 Want dit sal dit of wat ook al dekripteer. 1493 01:04:45,695 --> 01:04:46,710 1494 01:04:46,710 --> 01:04:47,390 Baie van die pret. 1495 01:04:47,390 --> 01:04:48,840 1496 01:04:48,840 --> 01:04:51,220 >> En dit is die einde van afdeling. 1497 01:04:51,220 --> 01:04:52,430 1498 01:04:52,430 --> 01:04:54,040 Ek is vroeg klaar. 1499 01:04:54,040 --> 01:04:57,540 Ek het nog 15 minute met julle ouens, so as daar enigiets 1500 01:04:57,540 --> 01:05:02,180 wat jy graag oor te gaan verder, sou ek gelukkig om dit te doen. 1501 01:05:02,180 --> 01:05:04,340 Enige ander vrae oor jou pset Vir dié van julle 1502 01:05:04,340 --> 01:05:06,355 wat begin of lees die spec. 1503 01:05:06,355 --> 01:05:07,870 1504 01:05:07,870 --> 01:05:12,060 Enigiets wat ons het gepraat oor in die laaste uur 1505 01:05:12,060 --> 01:05:16,880 en 15 minute wat jy wil my soort rehash, sou ek gelukkig wees. 1506 01:05:16,880 --> 01:05:20,790 Of ons kan noem dit gesluit, en jy kan al verlaat en meer lekkergoed met jou 1507 01:05:20,790 --> 01:05:21,650 as jy gaan. 1508 01:05:21,650 --> 01:05:23,719 1509 01:05:23,719 --> 01:05:26,260 Maar as daar enige voortslepende vrae, laat weet my asseblief. 1510 01:05:26,260 --> 01:05:28,467 Jy kan ook kom en praat met my agterna. 1511 01:05:28,467 --> 01:05:29,425 Ek belowe ek byt nie. 1512 01:05:29,425 --> 01:05:32,140 1513 01:05:32,140 --> 01:05:32,795 Enigiets anders? 1514 01:05:32,795 --> 01:05:33,890 1515 01:05:33,890 --> 01:05:35,240 Almal is goed? 1516 01:05:35,240 --> 01:05:37,540 Almal se gevoel soos hulle kan hierdie pset hanteer? 1517 01:05:37,540 --> 01:05:38,820 1518 01:05:38,820 --> 01:05:42,405 Jy gaan goed wees ouens. 1519 01:05:42,405 --> 01:05:43,905 Kantoor ure is daar vir 'n rede. 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 Goed. 1523 01:05:47,020 --> 01:05:49,680 >> Wel, in daardie geval, dankie julle almal so baie vir die komende. 1524 01:05:49,680 --> 01:05:50,940 Ek hoop dat jy die volgende week te sien. 1525 01:05:50,940 --> 01:05:52,120 Daar sal meer lekkergoed. 1526 01:05:52,120 --> 01:05:53,495 Daar is dalk ander cool dinge. 1527 01:05:53,495 --> 01:05:55,010 1528 01:05:55,010 --> 01:05:59,090 En ek sien uit daarna om al wat jy hierdie jaar te leer ken. 1529 01:05:59,090 --> 01:06:00,320