1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [Artikulua 4] [Less erosoa] 2 00:00:02,000 --> 00:00:04,000 [Nate Hardison] [Harvardeko Unibertsitateko] 3 00:00:04,000 --> 00:00:07,000 [Hau da CS50.] [CS50.TV] 4 00:00:07,000 --> 00:00:10,000 >> Ondo da, ongi etorria itzuli atala. 5 00:00:10,000 --> 00:00:13,000 Aste honetan atalean, gauza pare bat egin dugu. 6 00:00:13,000 --> 00:00:17,000 Lehen laburpena Arazoa Set 2 goaz, 7 00:00:17,000 --> 00:00:20,000 Caesar eta Vigenère arazo multzo bat da. 8 00:00:20,000 --> 00:00:23,000 Eta gero Quiz 0 berrikuspena murgiltzea goaz 9 00:00:23,000 --> 00:00:26,000 eta denbora pixka zer hitz egin dugu recapping 10 00:00:26,000 --> 00:00:30,000 hitzaldi bakoitzean orain arte, eta, gainera, dugu arazo gutxi 11 00:00:30,000 --> 00:00:32,000 aurreko urteko galdetegiak. 12 00:00:32,000 --> 00:00:36,000 Horrela, you guys modu ona da hori prestatzeko. 13 00:00:36,000 --> 00:00:40,000 >> Hasteko, irtenbide ona pare bat abiaraziko dut 14 00:00:40,000 --> 00:00:45,000 aurreko arazo multzo, Problem Ezarri 2, gune honetan sartu. 15 00:00:45,000 --> 00:00:48,000 You guys guztiak hit bada, esteka honetan, 16 00:00:48,000 --> 00:00:53,000 eta klik eginez gero, nire izena bada, eta egin klik nire lehen berrikuspena 17 00:00:53,000 --> 00:00:56,000 caesar.c, hau da, zehazki zer bilatzen dut ikusiko duzu. 18 00:00:56,000 --> 00:01:00,000 Dezagun benetan azkar honi buruz hitz egiteko. 19 00:01:00,000 --> 00:01:02,000 Hau besterik ez da, lagin irtenbide bat. 20 00:01:02,000 --> 00:01:05,000 Hau da, ez da perfektua konponbidea egotea. 21 00:01:05,000 --> 00:01:08,000 Daude hainbat modu hau idazteko, 22 00:01:08,000 --> 00:01:10,000 baina badaude zenbait gauza nabarmendu nahi duten I 23 00:01:10,000 --> 00:01:13,000 ikusi nuen nik bezala kalifikatzean, ohikoa akatsak uste dut 24 00:01:13,000 --> 00:01:18,000 irtenbide hau manipulazio oso lan ona egiten da. 25 00:01:18,000 --> 00:01:22,000 >> Lehen goiburua comment nolabaiteko izaten ari da, goialdean. 26 00:01:22,000 --> 00:01:25,000 1 lineak On 7 xehetasunak ikusteko, 27 00:01:25,000 --> 00:01:28,000 programa hau zer egiten ari da. 28 00:01:28,000 --> 00:01:32,000 A praktika onak estandarra C kodea idazten ari zaren 29 00:01:32,000 --> 00:01:35,000 kontuan hartu gabe zure programa fitxategi bakar bat edo barruan 30 00:01:35,000 --> 00:01:38,000 du hainbat fitxategi baino gehiago zatitu ala ez da nolabaiteko 31 00:01:38,000 --> 00:01:40,000 goialdean comment orientatzea. 32 00:01:40,000 --> 00:01:43,000 Duten pertsonen joan eta mundu errealean kodea idatzi ere. 33 00:01:43,000 --> 00:01:47,000 Hau da, non copyright informazioa jarriko dute. 34 00:01:47,000 --> 00:01:50,000 Jarraian # barne hartzen du. 35 00:01:50,000 --> 00:01:55,000 Line 16 On da hau # define, itzuli gara pixka bat. 36 00:01:55,000 --> 00:01:59,000 Eta gero, behin funtzioa hasten da, hasten behin nagusia, 37 00:01:59,000 --> 00:02:03,000 Programa hau izan delako funtzio bakar batean jasotako 38 00:02:03,000 --> 00:02:09,000 Oso lehenengo gauza gertatzen da-eta, hau da, oso hizkuntza eta C programa bat ohiko 39 00:02:09,000 --> 00:02:14,000 komando lerroan argumenturik hartzen da berehala dela egiaztatzen 40 00:02:14,000 --> 00:02:18,000 >> argumentu Aldaketa, argc. 41 00:02:18,000 --> 00:02:24,000 Eskuin hemen programa hori 2 argumentu espero zehazki, ikusiko dugu. 42 00:02:24,000 --> 00:02:27,000 Gogoratu lehen argumentua berezi bat 43 00:02:27,000 --> 00:02:29,000 beti ari diren programa exekutatu izena, 44 00:02:29,000 --> 00:02:31,000 fitxategi exekutagarria izena. 45 00:02:31,000 --> 00:02:36,000 Eta beraz, zer honek erabiltzaileari eragozten programa exekutatzen ari 46 00:02:36,000 --> 00:02:42,000 argumentuak gehiago edo gutxiago. 47 00:02:42,000 --> 00:02:44,000 Eskubide hori egiaztatu kanpoan nahi dugu arrazoia delako 48 00:02:44,000 --> 00:02:52,000 ezin dugu benetan eskubide hau sartzeko argv array hemen fidagarrian 49 00:02:52,000 --> 00:02:55,000 dugu hautatuta arte ikusi nola big da. 50 00:02:55,000 --> 00:02:58,000 >> Ikusi nuen akatsak komun bat izan zen pertsona litzateke berehala joateko 51 00:02:58,000 --> 00:03:01,000 eta grab argv [1]. 52 00:03:01,000 --> 00:03:06,000 Funtsezko argumentua array grab litzaidake dute eta ez egiaztatzeko on i 53 00:03:06,000 --> 00:03:11,000 eta, ondoren, test ez litzaidake dute argc baita hurrengo proba gisa, 54 00:03:11,000 --> 00:03:16,000 ala ez da lehen argumentua zenbaki oso bat izan zen, hain zuzen ere, eta, aldi berean, 55 00:03:16,000 --> 00:03:20,000 eta hori ez da lan kasua delako daudela argumentuak ez hornitu 56 00:03:20,000 --> 00:03:26,000 grabbing behar duzu argumentu bat da, ez, edo bat da, ez hartzen saiatzen ari da. 57 00:03:26,000 --> 00:03:29,000 >> Beste gauza egin behar duzula big nabarituko da 58 00:03:29,000 --> 00:03:32,000 beti nahi duzun error lagungarria mezua nolabaiteko inprimatu 59 00:03:32,000 --> 00:03:34,000 to erabiltzaileak orientatzeko horiek. 60 00:03:34,000 --> 00:03:37,000 Ziurtatu guztiak run programak, non Bat-batean kraskatzen duzun naiz, 61 00:03:37,000 --> 00:03:41,000 eta txiki hau barregarria elkarrizketa-koadroa azalduko da eta dio 62 00:03:41,000 --> 00:03:44,000 horribly críptica eta, agian, zerbait ematen dizu errore kode bat edo horrelako zerbait 63 00:03:44,000 --> 00:03:47,000 ez du zentzurik. 64 00:03:47,000 --> 00:03:50,000 Hau da, non nahi duzu zerbait lagungarria eskaintzeko 65 00:03:50,000 --> 00:03:54,000 eta beraz, erabiltzaileari zuzendutako denean exekutatu dute "Oh," aurpegia palmondo joan ziren. 66 00:03:54,000 --> 00:03:58,000 "Zehazki zer egin jakin dut. Dakit hau nola konpondu". 67 00:03:58,000 --> 00:04:01,000 >> Mezu bat inprimatu ez baduzu, eta gero azkenean benetan 68 00:04:01,000 --> 00:04:04,000 Erabiltzaileak joan utziz aztertu zure iturburu-kodea 69 00:04:04,000 --> 00:04:07,000 figuraren txarto joan. 70 00:04:07,000 --> 00:04:11,000 Badira ere, batzuetan error kodeak desberdinak erabili ahal izango duzu. 71 00:04:11,000 --> 00:04:14,000 Hemen dugu errorea gertatu da esatea, 72 00:04:14,000 --> 00:04:16,000 Errore bat gertatu da, errorea gertatu da. 73 00:04:16,000 --> 00:04:20,000 Bigger programak, sarritan diren programak izeneko programak beste, 74 00:04:20,000 --> 00:04:25,000 error berezia kodeak nolabaiteko itzuliko da eszenatoki desberdinetan 75 00:04:25,000 --> 00:04:28,000 programazioaren komunikatzeko zer bestela egiten duzun 76 00:04:28,000 --> 00:04:32,000 erabili English mezu polit bat. 77 00:04:32,000 --> 00:04:35,000 Cool. 78 00:04:35,000 --> 00:04:37,000 Lan egiten dugu behera, ikus dezakezu gako out tira dugu. 79 00:04:37,000 --> 00:04:40,000 Tekla egokitzen ikusteko probatu dugu. 80 00:04:40,000 --> 00:04:42,000 Erabiltzaileak mezu bat lortu dugu. 81 00:04:42,000 --> 00:04:46,000 Arrazoia honetan egiten dugu begizta-eta hau, berriz, zerbait egingo dugula estaltzeko 82 00:04:46,000 --> 00:04:50,000 apur bat bit-baina bihurtzen da idatzi control D 83 00:04:50,000 --> 00:04:54,000 GetString hori terminalean gonbita lortuko duzu 84 00:04:54,000 --> 00:04:59,000 benetan ez da karaktere berezi bat bidaltzen du 85 00:04:59,000 --> 00:05:01,000 programa. 86 00:05:01,000 --> 00:05:05,000 Izeneko fitxategi pertsonaia ELF edo amaieran. 87 00:05:05,000 --> 00:05:08,000 Eta kasu horretan, gure mezua katea null izango da, 88 00:05:08,000 --> 00:05:14,000 beraz, hau ez zen zerbait berrikusi dugu arazoa ezartzen du bere burua. 89 00:05:14,000 --> 00:05:17,000 >> Baina joan gara, gaur egun ditudan hasi ginen erakusleak buruz hitz 90 00:05:17,000 --> 00:05:21,000 eta zeure buruzko memoria dinamikoa esleipena, 91 00:05:21,000 --> 00:05:25,000 null, betiere funtzio bat might duzu egiaztapena 92 00:05:25,000 --> 00:05:30,000 itzuli null balio bat egiteko ohitura lortu duzu nahi izango duzu zerbait. 93 00:05:30,000 --> 00:05:33,000 Hau da, hemen batez ere ilustrazioa. 94 00:05:33,000 --> 00:05:36,000 Baina ikus etorkizunean GetString 95 00:05:36,000 --> 00:05:41,000 Arazoa Ezarri 4, hau mantentzeko kontuan hartu nahi duzu. 96 00:05:41,000 --> 00:05:44,000 Berriz ere, hau ez da Problem Ezarri 3 bai izan dugu, ez baita estalita oraindik arazo bat. 97 00:05:44,000 --> 00:05:53,000 Azkenik, lortzen dugu non enkriptatze begizta nagusia zati honetan, 98 00:05:53,000 --> 00:05:57,000 daude eta pare bat gauza gertatzen da hemen. 99 00:05:57,000 --> 00:06:02,000 Lehenik eta behin, batetik bestera joateko mezu kate osoa bera baino gehiago dugu. 100 00:06:02,000 --> 00:06:07,000 Hemen mantenduko dugu baldintza dei strlen, 101 00:06:07,000 --> 00:06:12,000 zenbaki bat nabarmendu dute, ez da modu handi bat joan. 102 00:06:12,000 --> 00:06:15,000 Bihurtzen da, kasu honetan ere ez da handia, 103 00:06:15,000 --> 00:06:20,000 partzialki delako mezua beraren edukia ari gara aldatzea 104 00:06:20,000 --> 00:06:27,000 loop, barruan beti dugu 10 karakterekoa izan da mezu bat izanez gero, 105 00:06:27,000 --> 00:06:32,000 loop strlen zer itzuliko da lehen aldiz hasten gara? 106 00:06:32,000 --> 00:06:35,000 10. 107 00:06:35,000 --> 00:06:40,000 >> Baina gero, mezua aldatu dugu, bere 5 izaera aldatu esaten dugu, 108 00:06:40,000 --> 00:06:46,000 eta bota \ 0 karakterea posizio 5ean, 109 00:06:46,000 --> 00:06:49,000 strlen (mezua), ondorengo iterazio ez itzultzeko zer egin 110 00:06:49,000 --> 00:06:52,000 Oso lehen aldiz iterated 111 00:06:52,000 --> 00:06:56,000 baizik eta itzuli egingo du 5 null amaierako horretan bota delako, 112 00:06:56,000 --> 00:06:59,000 eta katea luzera definitzen da 113 00:06:59,000 --> 00:07:03,000 \ 0 posizioa. 114 00:07:03,000 --> 00:07:09,000 Kasu honetan, hau ari gara delako aldatzea leku joateko modu handi bat da. 115 00:07:09,000 --> 00:07:13,000 Baina hori da, benetan harrigarriro simple enkriptatzeko nabarituko duzu 116 00:07:13,000 --> 00:07:16,000 math zuzena bazara. 117 00:07:16,000 --> 00:07:19,000 Behar den ala ez gutun ikusteko begira ari zaren 118 00:07:19,000 --> 00:07:21,000 maiuskulaz edo minuskulaz. 119 00:07:21,000 --> 00:07:24,000 >> Arrazoia besterik ez dela egiaztatu dugu eta ez dugu egiaztatu 120 00:07:24,000 --> 00:07:27,000 da alfa kasu delako 121 00:07:27,000 --> 00:07:30,000 pertsonaia bat da maiuskulaz edo bada minuskulaz da 122 00:07:30,000 --> 00:07:33,000 ondoren, behin betiko hizki bat da, 123 00:07:33,000 --> 00:07:38,000 dugu ez duelako maiuskulaz eta minuskulaz digituak. 124 00:07:38,000 --> 00:07:41,000 Beste gauza egiten dugu, eta pixka bat delikatua da- 125 00:07:41,000 --> 00:07:45,000 aldatu dugu Zesarrek zifratze formula estandar 126 00:07:45,000 --> 00:07:49,000 , arazo multzo zehaztapen eman dugun. 127 00:07:49,000 --> 00:07:52,000 Zer da hainbat Hemen da kendu dugun 128 00:07:52,000 --> 00:07:58,000 Kasu maiuskulaz hiriburuan, eta, ondoren, kapital-A gehitu ditugu 129 00:07:58,000 --> 00:08:02,000 kopiak amaieran. 130 00:08:02,000 --> 00:08:05,000 >> Batzuk egin hau zure kodea ezagutzen dut. 131 00:08:05,000 --> 00:08:09,000 Ba al edozein zure bidalketak? 132 00:08:09,000 --> 00:08:13,000 Hau egin duzu. Ezin, zer honek azaldu, Sahb? 133 00:08:13,000 --> 00:08:18,000 Kenduz out, eskuinera ondoren egin mod bat delako, 134 00:08:18,000 --> 00:08:21,000 ateratzea, eta, beraz, modu horretan [eztula] lortuko duzu posizioa duzu. 135 00:08:21,000 --> 00:08:25,000 Eta ondoren, gehituz itzuli geroago aldatu duzula nahi baino gehiago. 136 00:08:25,000 --> 00:08:27,000 Bai, hain zuzen. 137 00:08:27,000 --> 00:08:32,000 Zer Sahb zuen gehitu nahi dugu 138 00:08:32,000 --> 00:08:36,000 gure mezua eta gure gakoa elkarrekin 139 00:08:36,000 --> 00:08:42,000 eta, ondoren, mod, mod NUM_LETTERS 140 00:08:42,000 --> 00:08:50,000 gure mezua egokiak 0 eta 25 barruti eskalatzeko ez badugu lehenik eta behin, 141 00:08:50,000 --> 00:08:54,000 ondoren, azkenean dugu agian benetan bitxi zenbaki bat eskuratzerakoan 142 00:08:54,000 --> 00:08:59,000 balioak mezua [i] begira ari delako, 143 00:08:59,000 --> 00:09:03,000 begiratzen dugu, gure plain-text message Ith pertsonaia 144 00:09:03,000 --> 00:09:08,000 balio bat da nonbait 65 122 sorta honetan 145 00:09:08,000 --> 00:09:13,000 maiuskulaz A z minuskulaz bidez ASCII balioak oinarritzen da. 146 00:09:13,000 --> 00:09:18,000 Eta, beraz, 26 edo NUM_LETTERS by mod dugu, 147 00:09:18,000 --> 00:09:23,000 geroztik izan da gure # goiko eskuineko definitu hemen, 148 00:09:23,000 --> 00:09:28,000 digute balio bat 0 eta 25 sorta 149 00:09:28,000 --> 00:09:30,000 eta ondoren, eskalatzeko back up behar dugu 150 00:09:30,000 --> 00:09:32,000 eta ASCII sorta egokia. 151 00:09:32,000 --> 00:09:36,000 Horretarako modurik errazena da eskalatzeko guztia behera 152 00:09:36,000 --> 00:09:39,000 0 eta 25 barruti sartzen hasteko, 153 00:09:39,000 --> 00:09:43,000 eta, ondoren, guztia atzera mugitzeko amaieran. 154 00:09:43,000 --> 00:09:46,000 >> Beste komun error ikusi nuen pertsona exekutatu sartu dela 155 00:09:46,000 --> 00:09:50,000 ez baduzu benetan egiten eskalatzea hau berehala 156 00:09:50,000 --> 00:09:53,000 eta mezu eta gakoa gehitu zaituzte elkarrekin eta gehi duzu, adibidez, 157 00:09:53,000 --> 00:09:58,000 char aldagaia batean, hori arazoa 158 00:09:58,000 --> 00:10:01,000 Mezu geroztik [i] Hasteko, kopurua handi samarra da- 159 00:10:01,000 --> 00:10:05,000 gogoratu gutxienez 65 da maiuskulaz bat izanez gero, karaktere- 160 00:10:05,000 --> 00:10:09,000 duzu gako handi bat, esan genezake, 100 bezalako zerbait bada, 161 00:10:09,000 --> 00:10:13,000 eta horiek 2 gehitu zaituzte elkarrekin char bat sinatu, gainezkatzea bat lortzeko ari zaren. 162 00:10:13,000 --> 00:10:17,000 Balioa 127 baino handiagoa eskuratzen ari zara, 163 00:10:17,000 --> 00:10:22,000 balio handiena char aldagai bat sakatuta mantendu ahal izango da. 164 00:10:22,000 --> 00:10:26,000 Berriz ere, zergatik hasteko gauza sort hori egin nahi duzun. 165 00:10:26,000 --> 00:10:29,000 Kasu horretan inguruan pertsona batzuk got bat bestela, egiten eta probatzen 166 00:10:29,000 --> 00:10:33,000 gainezkatzea egiten bada ikusten hasi aurretik egiten dela, 167 00:10:33,000 --> 00:10:36,000 baina modu hori inguru izaten jarraitzen du. 168 00:10:36,000 --> 00:10:40,000 Eta gero, irtenbide hau inprimatutakoak dugu kate osoa oso amaieran. 169 00:10:40,000 --> 00:10:45,000 Beste pertsona inprimatutako pertsonaia bat aldi berean. Biak dira awesome. 170 00:10:45,000 --> 00:10:51,000 Une honetan, ez duzu guys edozein galdera, iruzkinak edozein honi buruz? 171 00:10:51,000 --> 00:10:56,000 Gauzak nahi duzun, ez duzu gustatzen gauzak? 172 00:10:56,000 --> 00:10:58,000 >> Galdera bat izan nuen. 173 00:10:58,000 --> 00:11:01,000 Agian galdu dut zure azalpen zehar, baina programa honek 174 00:11:01,000 --> 00:11:07,000 saltatzeko espazio gakoa testuaren luzera konektatzeko? 175 00:11:07,000 --> 00:11:10,000 Hau besterik ez da Zesarrek zifratze. >> Oh, barkatu, bai. 176 00:11:10,000 --> 00:11:13,000 Bai, hori ikusiko dugu. 177 00:11:13,000 --> 00:11:16,000 Zesarrek zifratze lortu dugu inguruan delako 178 00:11:16,000 --> 00:11:18,000 iraulitako besterik ez dugu karaktereak. 179 00:11:18,000 --> 00:11:27,000 Jartzen ditugu ziren maiuskulaz edo minuskulaz bada. 180 00:11:27,000 --> 00:11:32,000 Zaudete honi buruz nahiko ondo sentitu naiz? 181 00:11:32,000 --> 00:11:34,000 Sentitzen free home kopiatu, hartu du, 182 00:11:34,000 --> 00:11:37,000 konparatu duzuna guys idatzi. 183 00:11:37,000 --> 00:11:42,000 Definitely sentitzen free buruzko galderak bidaltzeko ere. 184 00:11:42,000 --> 00:11:46,000 Eta berriro ere, konturatzen helburua hemen zure arazoa ezartzen du 185 00:11:46,000 --> 00:11:50,000 ez duzu guys zure arazoa multzo kodea perfektua idazteko. 186 00:11:50,000 --> 00:11:57,000 Ikasteko esperientzia bat da. Bai. 187 00:11:57,000 --> 00:12:01,000 >> Itzuli do loop, berdinen bada null, berriz, 188 00:12:01,000 --> 00:12:06,000 beraz, null besterik ez du ezer esan nahi, sakatu besterik ez dute sartu? 189 00:12:06,000 --> 00:12:12,000 Null berezi bat balio erakuslea da, 190 00:12:12,000 --> 00:12:17,000 eta null erabiltzen ditugu, esan nahi dugu 191 00:12:17,000 --> 00:12:23,000 erakuslea aldagai bat izan dugu, hori ez da ezer seinalatuz. 192 00:12:23,000 --> 00:12:28,000 Eta, beraz, normalean esan nahi du aldagai hau, mezu aldagai hau 193 00:12:28,000 --> 00:12:35,000 hutsik dago, eta hemen ari gara CS50 kate berezia mota erabiltzen delako, 194 00:12:35,000 --> 00:12:37,000 zer CS50 kate mota da? 195 00:12:37,000 --> 00:12:42,000 Have David bota atzera kanpaia hitzaldia da ikusi al duzu? 196 00:12:42,000 --> 00:12:44,000 Funky-it bat da erakuslea da, ezta? 197 00:12:44,000 --> 00:12:48,000 Ados, bai. >> Char * da. 198 00:12:48,000 --> 00:12:52,000 Eta beraz, oso ordezkatu izan dugu 199 00:12:52,000 --> 00:12:56,000 hementxe * char mezua, 200 00:12:56,000 --> 00:13:04,000 eta, beraz, GetString funtzioa, ez bada behar bezala kate bat erabili, 201 00:13:04,000 --> 00:13:08,000 kate analizatu ezin du, eta kasu horretan ezin da kate bat analizatu 202 00:13:08,000 --> 00:13:11,000 Erabiltzaile mota fitxategia pertsonaia, kontrol D amaiera bada, 203 00:13:11,000 --> 00:13:17,000 ez den zerbait egiten normalean, baina bada gertatzen 204 00:13:17,000 --> 00:13:20,000 gero funtzioa null balioa itzuliko da esaten modu gisa 205 00:13:20,000 --> 00:13:23,000 "Hey, ez dut kate bat." 206 00:13:23,000 --> 00:13:27,000 Zer gertatuko litzateke jartzen ez badugu, mezua = null 207 00:13:27,000 --> 00:13:30,000 zerbait behar dugu oraindik ez da egiten den? 208 00:13:30,000 --> 00:13:32,000 Zergatik arazo bat egongo da hemen? 209 00:13:32,000 --> 00:13:38,000 Ezagutzen dut pixka bat hitz egiten dugun memoria filtrazioen buruzko hitzaldia delako. 210 00:13:38,000 --> 00:13:42,000 Bai, utzi egin, eta zer gertatzen den ikus dezagun. 211 00:13:42,000 --> 00:13:44,000 >> Basil bere galdera izan zen zer gertatzen den benetan ez badugu izan 212 00:13:44,000 --> 00:13:48,000 Mezu hau = null proba? 213 00:13:48,000 --> 00:13:51,000 Dezagun joan goian. 214 00:13:51,000 --> 00:13:53,000 Zaudete hau komentatu daiteke. 215 00:13:53,000 --> 00:13:55,000 Egia esan, gorde dut berrikuspena batean. 216 00:13:55,000 --> 00:13:58,000 Berrikusketa, ordua: 3 izango da. 217 00:13:58,000 --> 00:14:02,000 Zer izan duzu programa hau exekutatzeko egin da engranaje ikono hau sakatu hemen duzu, 218 00:14:02,000 --> 00:14:04,000 eta argumentu bat gehitzeko duzu. 219 00:14:04,000 --> 00:14:10,000 Eman behar diote funtsezko argumentua duzu komando-lerroko argumentu bat pasa nahi dugu geroztik. 220 00:14:10,000 --> 00:14:13,000 3 zenbakia eman dut. 3 gustatzen zait. 221 00:14:13,000 --> 00:14:19,000 Orain atzera zoom-out, programa martxan. 222 00:14:19,000 --> 00:14:24,000 Da, exekutatzen ari konpilatzean, eraikitzeko. 223 00:14:24,000 --> 00:14:27,000 Hemen goaz. Galdetzea zain. 224 00:14:27,000 --> 00:14:33,000 Zerbait idatzi kaixo-non atsegin ez bada? 225 00:14:33,000 --> 00:14:38,000 Oh, nire programa hartu luzeegia exekutatu. Luzeegia jawing nintzen. 226 00:14:38,000 --> 00:14:40,000 Hemen doa. 227 00:14:40,000 --> 00:14:43,000 Orain idatzi kaixo dut. 228 00:14:43,000 --> 00:14:46,000 Enkriptatzen dela egokia ikusi dugu. 229 00:14:46,000 --> 00:14:52,000 Orain zer gertatzen den gonbita egiten dugu GetString bada null itzultzeko? 230 00:14:52,000 --> 00:14:57,000 Gogoan izan, ez dugu esan I, kontrol D sakatuz aldi berean. 231 00:14:57,000 --> 00:14:59,000 Korrituko dut hemen. Exekutatu dugu berriro. 232 00:14:59,000 --> 00:15:01,000 Eraikina. Hor doa. 233 00:15:01,000 --> 00:15:04,000 Orain control D hit I 234 00:15:04,000 --> 00:15:12,000 Lerro hau dioen opt/sandbox50/bin/run.sh, segmentaziuo hutsegitea dut. 235 00:15:12,000 --> 00:15:15,000 Have you guys ikusi baino lehen? 236 00:15:15,000 --> 00:15:17,000 >> [Student] Zergatik ez dago ez >> Sentitzen dugu? 237 00:15:17,000 --> 00:15:20,000 [Student] Zergatik ez dago, kasu honetan core dump ez? 238 00:15:20,000 --> 00:15:26,000 Core dump-galdera da, zergatik ez dago core dump ez hona? 239 00:15:26,000 --> 00:15:29,000 Galdera ez dagoela izan daiteke, baina core dump fitxategi bat da 240 00:15:29,000 --> 00:15:31,000 lortzen disko gogorrean gordetzen dira. 241 00:15:31,000 --> 00:15:34,000 Desgaitu dugu kasu honetan core zabortegiak 242 00:15:34,000 --> 00:15:37,000 run zerbitzariak, beraz, ez dugu pertsona faulting seg 243 00:15:37,000 --> 00:15:40,000 eta eraikitzeko core zabortegiak tona. 244 00:15:40,000 --> 00:15:46,000 Baina bat jaso ahal izango duzu. 245 00:15:46,000 --> 00:15:48,000 Core zabortegiak askotan desgaitu ditzakezun gauza sort dira, 246 00:15:48,000 --> 00:15:52,000 eta batzuetan ez. 247 00:15:52,000 --> 00:15:55,000 Segmentaziuo hutsegitea, zure galderari erantzuteko, Basil, 248 00:15:55,000 --> 00:16:00,000 erakuslea sartzeko saiatu garela esaten 249 00:16:00,000 --> 00:16:05,000 ez zela ezer seinalatu. 250 00:16:05,000 --> 00:16:09,000 Gogoratu Binky bideoa Binky saiatzen 251 00:16:09,000 --> 00:16:12,000 joan erakuslea ez den ezer seinalatuz sartzeko? 252 00:16:12,000 --> 00:16:16,000 Kasu honetan uste dut, teknikoki erakuslea da zerbait seinalatuz. 253 00:16:16,000 --> 00:16:20,000 Null, hau da, teknikoki 0 seinalatuz, 254 00:16:20,000 --> 00:16:25,000 baina hori definitutako segmentu bat ez da eskuragarria 255 00:16:25,000 --> 00:16:28,000 programa, eta, beraz, segmentaziuo hutsegitea bat lortuko duzu 256 00:16:28,000 --> 00:16:31,000 ez delako ari zaren memoria sartzeko baliozko segmentuan 257 00:16:31,000 --> 00:16:38,000 zeure segmentu edo pila segmentu edo datuak segmentu atsegin dute. 258 00:16:38,000 --> 00:16:40,000 Cool. 259 00:16:40,000 --> 00:16:48,000 Caesar buruzko galdera gehiago? 260 00:16:48,000 --> 00:16:51,000 >> Dezagun aurrera. Dezagun benetan azkar begiratu berrikusketa, ordua: 2. 261 00:16:51,000 --> 00:17:00,000 Hori Vigenère. 262 00:17:00,000 --> 00:17:04,000 Hemen Vigenère 263 00:17:04,000 --> 00:17:06,000 ko honen bidez dugu oinez nahiko azkar, izan ere, berriro ere, 264 00:17:06,000 --> 00:17:10,000 Vigenère eta Caesar antzekoak dira. 265 00:17:10,000 --> 00:17:12,000 Header comment aurretik, 266 00:17:12,000 --> 00:17:17,000 # Define magia zenbakiak hauek erabiliz saihesteko aurretik. 267 00:17:17,000 --> 00:17:21,000 Gauza polita da esaten mugitu nahi izan dugu 268 00:17:21,000 --> 00:17:23,000 alfabeto desberdin bat edo horrelako zerbait. 269 00:17:23,000 --> 00:17:26,000 Baizik eta, eskuz aldatu 26 kodea guztiak joan beharrik baino 270 00:17:26,000 --> 00:17:30,000 hau aldatu izan dugu 27 edo jaregin behera 271 00:17:30,000 --> 00:17:34,000 ginen hainbat alfabeto, hizkuntza ezberdinak erabiliz gero. 272 00:17:34,000 --> 00:17:38,000 Berriz ere, lortu dugu argumentu Aldaketa egiaztapen hau, 273 00:17:38,000 --> 00:17:42,000 eta benetan ia dezakezu hartu txantiloi gisa. 274 00:17:42,000 --> 00:17:46,000 Programa Pretty askoz ere idazten bakoitzean izan behar du 275 00:17:46,000 --> 00:17:50,000 hartzen du komando-lerroan bada argumentuak-lerro sekuentzia bat 276 00:17:50,000 --> 00:17:55,000 atsegin dute hau irakurtzen oso hasiera-hasieratik. 277 00:17:55,000 --> 00:17:59,000 Hori behatu lehenengo probak egin nahi duzu. 278 00:17:59,000 --> 00:18:03,000 >> Hemen duguna ez zaitez egin genuen 279 00:18:03,000 --> 00:18:06,000 keyword baliozko izan zen, eta hori ez dugu bigarren kontrol. 280 00:18:06,000 --> 00:18:11,000 Iragarki berriro bereizten dugun hau argc eta 2. 281 00:18:11,000 --> 00:18:14,000 Kontuan izan kasu honetan gauza bat egin behar izan dugu izan ordez 282 00:18:14,000 --> 00:18:18,000 bat erabiliz i kate osoa egiaztatu nahi izan dugu, 283 00:18:18,000 --> 00:18:21,000 eta ordena benetan duzula karaktere karaktere joan 284 00:18:21,000 --> 00:18:23,000 kate osoan zehar. 285 00:18:23,000 --> 00:18:29,000 Ez dago modu ona da zerbait deitu 286 00:18:29,000 --> 00:18:31,000 ere, adibidez, delako, eta 0 itzuliko da i 287 00:18:31,000 --> 00:18:37,000 da zenbaki oso bat ez bada, horrek ez du, nahiz eta lan egin. 288 00:18:37,000 --> 00:18:42,000 Berriz ere, mezu nice diezu zehazki zer gertatu zen. 289 00:18:42,000 --> 00:18:45,000 Gero, hemen, berriz, kudeatzeko ere kasuan, non 290 00:18:45,000 --> 00:18:50,000 user control D ausazko karaktere mota. 291 00:18:50,000 --> 00:18:54,000 >> Eta gero Charlotte izan galdera bat lehenago, nola espazio saltatzeko kudeatzen dugu 292 00:18:54,000 --> 00:18:57,000 gure katea hemen. 293 00:18:57,000 --> 00:19:00,000 Mota honek zer egin dugu Myspace programa antzekoa izan zen 294 00:19:00,000 --> 00:19:04,000 atalean egin genuen, eta modu honetan lan egin 295 00:19:04,000 --> 00:19:08,000 arloak litzaidake ikusi dugun letrak kopurua. 296 00:19:08,000 --> 00:19:13,000 Mezuaren kate baino gehiago dugun bezala ibili, pertsonaia baino gehiago ibili karaktere 297 00:19:13,000 --> 00:19:16,000 indizearen jarraipena egin dugu gure parte begizta gisa, eta, gero, jarraipena egin ere egiten dugu 298 00:19:16,000 --> 00:19:21,000 letren kopurua, beraz, ez karaktere berezirik, ez zenbakiak, ez zuri-espazioa 299 00:19:21,000 --> 00:19:27,000 bereizi aldagai ikusi dugu litzaidake. 300 00:19:27,000 --> 00:19:33,000 Eta gero, irtenbide hau gakoa aldatu 301 00:19:33,000 --> 00:19:41,000 benetako gako zenbaki oso bat, eta hori ez da hegan, 302 00:19:41,000 --> 00:19:47,000 eskuineko aurretik doa gero mezu benetako pertsonaia enkriptatzeko. 303 00:19:47,000 --> 00:19:50,000 Primeran handia izan ziren ere zenbait irtenbide daude 304 00:19:50,000 --> 00:19:58,000 gakoa aldatzeko litzateke gakoa baliotasunerako probatzeko. 305 00:19:58,000 --> 00:20:01,000 Ziur eginez gain pertsonaia eta keyword 306 00:20:01,000 --> 00:20:05,000 zenbaki oso bat sartzen zen hizki ere aktibatuta 307 00:20:05,000 --> 00:20:13,000 0 eta 25 sorta gero, saltatzeko beranduago honetan on begizta beharrik. 308 00:20:13,000 --> 00:20:18,000 Berriz ere, hemen ikusten duzun hau da, benetan zehatza kode bera 309 00:20:18,000 --> 00:20:22,000 Caesar erabiltzen dugun puntu honetan. 310 00:20:22,000 --> 00:20:25,000 Zehatza gauza bera egiten ari zarenean eta, beraz, benetako tranpa da kalkulatzen 311 00:20:25,000 --> 00:20:30,000 keyword zenbaki oso bat sartu aktibatzeko. 312 00:20:30,000 --> 00:20:35,000 >> Gauza bat egin dugu hemen apur bat trinko 313 00:20:35,000 --> 00:20:39,000 Esaldi hau da, behin eta berriz errepikatzen dugu, deitu ahal izango duzu uste dut, 314 00:20:39,000 --> 00:20:45,000 3 lineak 58, 59, eta 61 aldiz bereizita. 315 00:20:45,000 --> 00:20:52,000 Can norbait azaldu zer esaldi honek? 316 00:20:52,000 --> 00:20:55,000 Karaktere bat sartzeko, esan nahi duzu. 317 00:20:55,000 --> 00:20:59,000 Bai, [inaudible] hitzarekin pertsonaia bat da, 318 00:20:59,000 --> 00:21:04,000 eta beraz gutunak ikus kopurua zaren soilik batera mugitzen 319 00:21:04,000 --> 00:21:06,000 keyword gutun ikusi dugu behin, 320 00:21:06,000 --> 00:21:10,000 den espazio eta horrelako gauzak modu eraginkorrean saltatzeko. 321 00:21:10,000 --> 00:21:12,000 Bai, hain zuzen. 322 00:21:12,000 --> 00:21:16,000 Eta gero, behin ikusi duzun keyword hutsik mod besterik ez duzu mugitzen atzera inguruan. 323 00:21:16,000 --> 00:21:18,000 Hain zuzen ere. Azalpen bat da perfektua. 324 00:21:18,000 --> 00:21:23,000 Zer Kevin esan nahi dugun keyword sartu indizea. 325 00:21:23,000 --> 00:21:28,000 Pertsonaia num_letters_seen lortu nahi dugu, bada, 326 00:21:28,000 --> 00:21:32,000 baina num_letters_seen gako-luzera gainditzen badu, 327 00:21:32,000 --> 00:21:37,000 gama egokiak sartu bueltan da mod eragilea erabiltzen dugu 328 00:21:37,000 --> 00:21:40,000 eraginkortasunez itzulbiratu inguruan. 329 00:21:40,000 --> 00:21:43,000 Esate baterako, labur bezala, gure keyword hirugiharra, 330 00:21:43,000 --> 00:21:46,000 eta 5 letrak luzea da. 331 00:21:46,000 --> 00:21:50,000 Baina ikusi dugu gure testu arrunteko 6 hizkiak Puntu honetan 332 00:21:50,000 --> 00:21:52,000 eta enkriptatutako 6. 333 00:21:52,000 --> 00:21:57,000 Azkenean egingo dugu sartzeko num_letters_seen, 334 00:21:57,000 --> 00:22:00,000 6, mod gako-luzera, 5, 335 00:22:00,000 --> 00:22:04,000 eta, beraz, 1 lortu dugu, eta, beraz, zer egin dugu zaitugu 336 00:22:04,000 --> 00:22:14,000 gure keyword aurreneko karaktereari barruan puntu horretan sartzeko. 337 00:22:14,000 --> 00:22:21,000 >> Eskubidea guztiak, Vigenère edozein zalantza argitzeko 338 00:22:21,000 --> 00:22:26,000 dugu aurretik? 339 00:22:26,000 --> 00:22:31,000 Zaudete honi buruz nahiko ondo sentitu naiz? 340 00:22:31,000 --> 00:22:35,000 Cool, great. 341 00:22:35,000 --> 00:22:38,000 Ziurtatu duzu guys diren ikusteko aukera kodea lortzean egin nahi dut 342 00:22:38,000 --> 00:22:48,000 uste dugu, itxura ona eta bertatik ikasteko aukera dute. 343 00:22:48,000 --> 00:22:53,000 Hau da azkena izango erabili beharko dugu espazio momentuz, 344 00:22:53,000 --> 00:22:59,000 eta trantsizio ari gara gaur egun joan, eta cs50.net/lectures joan noa 345 00:22:59,000 --> 00:23:06,000 quiz berrikuspena pixka bat egin ahal izango dugu. 346 00:23:06,000 --> 00:23:10,000 Quiz berrikuspena egiten hasteko modurik onena uste dut 347 00:23:10,000 --> 00:23:15,000 Hitzaldiak Orri honetan, cs50.net/lectures, 348 00:23:15,000 --> 00:23:20,000 eta aste epigrafe bakoitzaren azpian, eta, beraz, begiratzen dut hemen Astea 0 349 00:23:20,000 --> 00:23:27,000 Astea 0 estali gai-zerrenda bat ikusi dut. 350 00:23:27,000 --> 00:23:31,000 >> Edozein gai hauek badirudi duzu ezezagunetan 351 00:23:31,000 --> 00:23:34,000 atzera joan eta scour hitzaldia oharrak eta ziurrenik behin betiko duzu nahi 352 00:23:34,000 --> 00:23:39,000 are gehiago, hitzaldi bidez gaingabetuak, horiek berriro ikusi nahi baduzu 353 00:23:39,000 --> 00:23:44,000 zer ari den gertatzen gai horietako bakoitzarekin sentitzen lortzeko. 354 00:23:44,000 --> 00:23:49,000 Dugu got baliabideak cool esan egingo dut, gainera, urtebete honetan 355 00:23:49,000 --> 00:23:55,000 Nik sortu dugu film labur horiek, eta Aste 0 begiratzen baduzu, 356 00:23:55,000 --> 00:24:00,000 ez dugu gai guztiak estaltzen, baina horietako batzuk nahiko dugu, 357 00:24:00,000 --> 00:24:03,000 direnak trickier batzuk, eta, beraz, film labur horiek berriro behaketa 358 00:24:03,000 --> 00:24:08,000 lortzeko modu ona abiadura bat da. 359 00:24:08,000 --> 00:24:15,000 Hain zuzen ere, 3 behean plug batean jarri nuen, haietatik noa. 360 00:24:15,000 --> 00:24:20,000 Baina ari zaren bitar bada borrokan, bit, hex, stuff mota hori, 361 00:24:20,000 --> 00:24:22,000 bitarra hasteko leku handi bat da. 362 00:24:22,000 --> 00:24:25,000 ASCII ona ere ikusteko beste bat da. 363 00:24:25,000 --> 00:24:31,000 Ere ikusi ahal izango duzu me abiadura 1.5x dut zuk ere geldoa baldin bada joan. 364 00:24:31,000 --> 00:24:35,000 Da berrikuspena geroztik, sentitzen free horretarako. 365 00:24:35,000 --> 00:24:40,000 >> Just benetan azkar hasteko, galdetegi arazo horietako pare baten bidez joan goaz 366 00:24:40,000 --> 00:24:44,000 besterik ez azkar horien bidez churn. 367 00:24:44,000 --> 00:24:50,000 Esate baterako, dezagun begiratu arazoa 16 lortu dudan eskubidea hemen taula gainean. 368 00:24:50,000 --> 00:24:54,000 Lortu dugu kalkulua honako hau binary 369 00:24:54,000 --> 00:24:56,000 eta edozein lan erakutsi nahi dugu. 370 00:24:56,000 --> 00:24:59,000 Ados, hau da tiro bat eman nahi dut. 371 00:24:59,000 --> 00:25:01,000 You guys batera jarraitu behar paper, 372 00:25:01,000 --> 00:25:04,000 eta hori benetan azkar egin dugu. 373 00:25:04,000 --> 00:25:06,000 Bitarra kalkulu hauek egin nahi dugu. 374 00:25:06,000 --> 00:25:16,000 Nik 00110010. 375 00:25:16,000 --> 00:25:27,000 Eta gehitu du 00110010 noa. 376 00:25:27,000 --> 00:25:30,000 Math, jenio batera etxean, 377 00:25:30,000 --> 00:25:35,000 hau da, modu eraginkorrean 2 biderkatuz. 378 00:25:35,000 --> 00:25:37,000 Dezagun hasteko. 379 00:25:37,000 --> 00:25:39,000 Egiten dugun gain algoritmoa bera jarraitu behar dugu 380 00:25:39,000 --> 00:25:43,000 zenbaki hamartar gehitu dugu elkarrekin. 381 00:25:43,000 --> 00:25:46,000 Really Ezberdintasun bakarra da atzera loop dugu inguruan 382 00:25:46,000 --> 00:25:51,000 behin 1 + 1 ordez behin 10. 383 00:25:51,000 --> 00:25:53,000 >> Eskubidea dugu hasten bada, oso azkar, zer aurreneko digitua? 384 00:25:53,000 --> 00:25:55,000 [Student] 0. >> [Nate H.] 0. 385 00:25:55,000 --> 00:25:58,000 Great, bigarren digitua? 386 00:25:58,000 --> 00:26:00,000 [Student] 1. 387 00:26:00,000 --> 00:26:02,000 [Nate H.] 1 da? 1 + 1 da? 388 00:26:02,000 --> 00:26:04,000 [Student] 10. 389 00:26:04,000 --> 00:26:08,000 [Nate H.] Zehazki, eta, beraz, zer digitu idazten diot batzen 2 direnak azpian? 390 00:26:08,000 --> 00:26:11,000 [Student] 1, 0, edo 0 eta, ondoren, eraman 1. 391 00:26:11,000 --> 00:26:15,000 [Nate H.] 0 eta 1 egiteko, zehazki. 392 00:26:15,000 --> 00:26:18,000 Hurrengo bat sortu, Basil, ari zaren. 393 00:26:18,000 --> 00:26:20,000 Zer da hirugarren? >> [Basil] 1. 394 00:26:20,000 --> 00:26:23,000 [Nate H.] 1, perfektua. Kevin? 395 00:26:23,000 --> 00:26:27,000 [Kevin] 0. >> [Nate H.] 0, Charlotte? 396 00:26:27,000 --> 00:26:30,000 [Charlotte] 0. >> [Nate H.] Bai, eta zer egin? 397 00:26:30,000 --> 00:26:32,000 [Student] 1. 398 00:26:32,000 --> 00:26:34,000 [Nate H.] Eta zer egin dezaket? Eta gero egiten dut 1. 399 00:26:34,000 --> 00:26:36,000 Perfect, Sahb? >> [Sahb] orain 1 duzu. 400 00:26:36,000 --> 00:26:40,000 [Nate H.] Eta ezer egiten dut hemen? 401 00:26:40,000 --> 00:26:43,000 [Sahb] Ondoren, hurrengo 1 1 baino gehiago egin delako. 402 00:26:43,000 --> 00:26:49,000 [Nate H.] Great, eta, beraz, hemen amaitu ahal izango dugu. 403 00:26:49,000 --> 00:26:51,000 Cool. 404 00:26:51,000 --> 00:26:54,000 [Student] Does 0 + 0 = 0? 405 00:26:54,000 --> 00:26:56,000 0 + 0 = 0. 406 00:26:56,000 --> 00:27:01,000 1 + 1, esan bezala, 10, edo 1, 0, baizik. 407 00:27:01,000 --> 00:27:07,000 10 misnomer bat da niretzat 10 10 zenbakia esan nahi delako, 408 00:27:07,000 --> 00:27:12,000 eta nola ari gara ordezkatzen denean idazten ari gara bitxikerien da. 409 00:27:12,000 --> 00:27:20,000 2 zenbakia adierazten ditugu, 1, 0, eta 10 zenbakia da, apur bat desberdina da. 410 00:27:20,000 --> 00:27:23,000 >> Zein da binary buruzko nice mota dago benetan ez dira asko 411 00:27:23,000 --> 00:27:25,000 Kasu ikasi behar duzu. 412 00:27:25,000 --> 00:27:30,000 Ez 0 + 0 = 0, 0 + 1 = 1, 413 00:27:30,000 --> 00:27:34,000 1 + 1 0 da, eta, ondoren, 1 egiteko, 414 00:27:34,000 --> 00:27:37,000 eta, ondoren, ikusi dezakezu hemen eskubidea hirugarren zutabean 415 00:27:37,000 --> 00:27:40,000 1, 1, eta 1 izan genuen. 416 00:27:40,000 --> 00:27:43,000 Eta 1 + 1 + 1 1 417 00:27:43,000 --> 00:27:45,000 eta beste 1 eramanez gero. 418 00:27:45,000 --> 00:27:48,000 Bitarra gain zarenean, nahiko erraza da. 419 00:27:48,000 --> 00:27:51,000 Horietako pare bat gehiago egin dut behatu egiaztatu zuei 420 00:27:51,000 --> 00:27:54,000 dagoelako joan aurretik 421 00:27:54,000 --> 00:28:00,000 ziurrenik galdetegiaren ikusi dugu zerbait. 422 00:28:00,000 --> 00:28:03,000 Orain egin dezagun hurrengo hau baita. 423 00:28:03,000 --> 00:28:06,000 Egin dezagun arazoa 17. 424 00:28:06,000 --> 00:28:12,000 Honako zenbaki bitar hamartarra bihurtzeko goaz. 425 00:28:12,000 --> 00:28:28,000 Nik 10100111001. 426 00:28:28,000 --> 00:28:33,000 Ez dut bideo bitar Gogoratu 427 00:28:33,000 --> 00:28:36,000 Adibide pare baten bidez ibili nintzen, eta nola erakutsi dut 428 00:28:36,000 --> 00:28:41,000 dena funtzionatzen ari hamartarrean. 429 00:28:41,000 --> 00:28:45,000 Ordezkaritza hamartar ari zara lanean Oraindik uste dut 430 00:28:45,000 --> 00:28:48,000 gure bizitza Puntu honetan, beraz, hobeto moldatzen dela 431 00:28:48,000 --> 00:28:53,000 nola jarduten benetan mekanika Gloss nahiko erraza da. 432 00:28:53,000 --> 00:28:59,000 >> Baina azkar laburpena bat egin ahal izateko, kopurua 137 433 00:28:59,000 --> 00:29:06,000 benetan esan nahi du-eta, berriro ere, hau hamartar da ordezkaritza- 434 00:29:06,000 --> 00:29:19,000 137 hamartar kopurua esan nahi du que tengo 1 x 100 + 3 x 10 + 7 x 1. 435 00:29:19,000 --> 00:29:22,000 Hori guztia pantailan ostatu da. 436 00:29:22,000 --> 00:29:29,000 Eta gero zenbaki horiek begiratzen baduzu hementxe, 437 00:29:29,000 --> 00:29:34,000 100, 10 eta 1, Oraindik dutela benetan 10 eskumen guztiak ikusiko duzu. 438 00:29:34,000 --> 00:29:43,000 10 ², 10 ¹, eta 10 I zero. 439 00:29:43,000 --> 00:29:48,000 Antzeko gauza sort ditugu binary 440 00:29:48,000 --> 00:29:55,000 izan ezik gure oinarria, deitu dugun bezala, 2 ordez 10. 441 00:29:55,000 --> 00:29:58,000 10s hauek idatzi dut behera hemen, behealdean, 442 00:29:58,000 --> 00:30:02,000 10 ², 10 ¹, zero, 10 10 gure oinarria da, 443 00:30:02,000 --> 00:30:08,000 eta berretzailea, 0, 1 edo 2, 444 00:30:08,000 --> 00:30:14,000 idazten dugun zenbakia digitua posizioa engaiatuko da. 445 00:30:14,000 --> 00:30:21,000 1, begiratuz gero, hau 1 2 posizioan da. 446 00:30:21,000 --> 00:30:27,000 3 1go posizioa da, eta 7 0th posizioa da. 447 00:30:27,000 --> 00:30:35,000 Hori da hainbat ordezkari azpian gure oinarriak nola lortuko dugu. 448 00:30:35,000 --> 00:30:40,000 >> Hau we'll-benetan guztien ondoren, zer ezagutzen duzu? 449 00:30:40,000 --> 00:30:43,000 Do-non dugu zuen nire desegin botoia? 450 00:30:43,000 --> 00:30:45,000 Hor doa. 451 00:30:45,000 --> 00:30:47,000 Hau desegin gauza I love. 452 00:30:47,000 --> 00:30:51,000 Hau jarraituz, uste dut gutxienez 453 00:30:51,000 --> 00:30:54,000 zenbaki bitar bat bihurtzeko hasteko modurik errazena 454 00:30:54,000 --> 00:30:57,000 edo zenbaki hamaseitar bat non base 16 455 00:30:57,000 --> 00:31:02,000 eta ez 10 edo 2 aurretik joan eta idatzi 456 00:31:02,000 --> 00:31:09,000 oinarriak eta adierazlerik my goialdean zenbaki bitar zenbakiak guztiak. 457 00:31:09,000 --> 00:31:14,000 Ezkerretik hasten bada berriro 458 00:31:14,000 --> 00:31:17,000 mota da counterintuitive 459 00:31:17,000 --> 00:31:23,000 Aldatu dut beltza hemen dugu, 2 posizioa 0th 460 00:31:23,000 --> 00:31:27,000 eta, ondoren, 2 dugu ¹, 2 ², 461 00:31:27,000 --> 00:31:33,000 eta, ondoren, 2, 3, 2, 4, 2, 5, 6, 462 00:31:33,000 --> 00:31:39,000 7, 8, 9, eta 10. 463 00:31:39,000 --> 00:31:41,000 Zenbaki hauek idatzi dut adierazlerik guztiak dira. 464 00:31:41,000 --> 00:31:48,000 Oinarriak idatzi besterik ez dut hemen, espazio zerbait lehen 3. 465 00:31:48,000 --> 00:31:50,000 >> Puntu honetan aurrera noa eta benetan dut ezabatuko 466 00:31:50,000 --> 00:31:53,000 stuff hamartar genuen, hori ondo dagoen. 467 00:31:53,000 --> 00:31:57,000 Duzun got. 468 00:31:57,000 --> 00:32:05,000 Duzun dutenek online behaketa ziur nago me atzeratzean Nahi izanez gero, gai izango da. 469 00:32:05,000 --> 00:32:07,000 Modura itzuliko da luma. 470 00:32:07,000 --> 00:32:12,000 Orain, zer dugu ez baduzu guys ez dira guztiz 2 eskumenak bizkortu, 471 00:32:12,000 --> 00:32:15,000 guztiz cool. 472 00:32:15,000 --> 00:32:18,000 Gertatzen da. Dut ulertzen. 473 00:32:18,000 --> 00:32:23,000 Behin izan nuen lan-elkarrizketa bat non esan zidaten 2 eskumenak guztiak jakin behar dut 474 00:32:23,000 --> 00:32:26,000 2 bidez 30ean. 475 00:32:26,000 --> 00:32:29,000 Ez zen lan bat dut. 476 00:32:29,000 --> 00:32:32,000 Dena den, guys aurrera daiteke, eta math egin hemen 477 00:32:32,000 --> 00:32:35,000 baina binary ez benetan zentzurik, 478 00:32:35,000 --> 00:32:38,000 eta ez du zentzurik hamartarra edo hamaseitarra bai, 479 00:32:38,000 --> 00:32:43,000 non zeroen duzu out math egin. 480 00:32:43,000 --> 00:32:49,000 0 daukat hemen, 0, 0 Hemen, 0 Hemen, 0 Hemen, 0 hemen ikusi ahal izango duzu. 481 00:32:49,000 --> 00:32:52,000 Zergatik izan liteke ez da zentzu benetako math egiteko 482 00:32:52,000 --> 00:32:56,000 boterea 2 egokia kalkulatzeko posizio hori? 483 00:32:56,000 --> 00:32:59,000 Zehazki, Charlotte bezala esan, 0 izango izango da. 484 00:32:59,000 --> 00:33:05,000 Agian bai eta gorde zeure burua denbora 2 eskumenak kalkulatzeko zure strong palo ez bada. 485 00:33:05,000 --> 00:33:10,000 Kasu honetan kalkulatu besterik ez dugu behar, hau da, 0-2? 486 00:33:10,000 --> 00:33:12,000 [Student] 1. 487 00:33:12,000 --> 00:33:14,000 [Nate H.] 1, 2 eta 3-? 488 00:33:14,000 --> 00:33:16,000 [Student] 8. >> [Nate H.] 8. 489 00:33:16,000 --> 00:33:18,000 2 eta 4? 490 00:33:18,000 --> 00:33:21,000 [Student] 2. Sentitzen dut, 1. 491 00:33:21,000 --> 00:33:26,000 [Nate H.] 2 4 16 urtekoa da, zehazki. 492 00:33:26,000 --> 00:33:28,000 2 eta 5, Kevin? >> 32. 493 00:33:28,000 --> 00:33:32,000 [Nate H.] 32, 2 eta 8? 494 00:33:32,000 --> 00:33:38,000 [Student] 32 x 8, 256. 495 00:33:38,000 --> 00:33:41,000 [Nate H.] Perfect. 496 00:33:41,000 --> 00:33:43,000 Eta 2 10? 497 00:33:43,000 --> 00:33:45,000 [Student] 1024. 498 00:33:45,000 --> 00:33:49,000 [Nate H.] Bai, 1024. 499 00:33:49,000 --> 00:33:57,000 >> Behin lortu dugu zenbaki horiek denak laburbildu ahal izango dugu. 500 00:33:57,000 --> 00:34:01,000 Eta hori da, non benetan garrantzitsua da gauza pare bat egin. 501 00:34:01,000 --> 00:34:07,000 Joan motela bat da eta zure lana egiaztatu. 502 00:34:07,000 --> 00:34:10,000 Esan du ez dagoela bat 1 dezakezu zenbaki honen amaieran, 503 00:34:10,000 --> 00:34:15,000 beraz, behin betiko, bakoitiak zenbaki bat behar dut nire ondorioz, 504 00:34:15,000 --> 00:34:18,000 beste batzuk ere izan behar du zenbakiak delako joan 505 00:34:18,000 --> 00:34:21,000 emandako zenbaki bitar bat dela. 506 00:34:21,000 --> 00:34:24,000 Puntu honetan beste gauza bazara proba 507 00:34:24,000 --> 00:34:27,000 eta idatzi duzun arte 508 00:34:27,000 --> 00:34:30,000 eta exekutatzen ari zaren denbora 509 00:34:30,000 --> 00:34:33,000 puntu kopurua begiratu arazo hau dela merezi du. 510 00:34:33,000 --> 00:34:40,000 Arazo hau, ikusi balitz bezala irauli dut nire laptop itzuli benetan azkar- 511 00:34:40,000 --> 00:34:44,000 Arazo hau merezi 2 puntu, beraz, hau da, ez da gain ordena 512 00:34:44,000 --> 00:34:47,000 joan behar duzu bidez benetan ari bada, aldiz sakatzen. 513 00:34:47,000 --> 00:34:52,000 Baina itzul dugu iPad, eta horren bidez dugu benetan azkar. 514 00:34:52,000 --> 00:34:54,000 >> Lehen zenbakiak txikiak egiten gustatzen zait 515 00:34:54,000 --> 00:34:56,000 aurkitu dut errazagoa delako. 516 00:34:56,000 --> 00:35:00,000 32 eta 8 gustatzen zait joan ziren elkarrekin delako nahiko erraz, eta 50 lortzen dugu. 517 00:35:00,000 --> 00:35:03,000 16 eta 1 17 lortzen. 518 00:35:03,000 --> 00:35:05,000 Bertan 57 lortzen dugu, 519 00:35:05,000 --> 00:35:14,000 eta, ondoren, gainerako ahal izango dugu, eta, beraz, dugu 57 egin dezake, 156. 520 00:35:14,000 --> 00:35:16,000 Goazen. 521 00:35:16,000 --> 00:35:19,000 Man, ondo, dezagun ikusteko. 522 00:35:19,000 --> 00:35:27,000 57, 256, eta 1024 izan genuen. 523 00:35:27,000 --> 00:35:31,000 Puntu honetan, nahiago dut joan bidez. 524 00:35:31,000 --> 00:35:35,000 Ez dut pista. Irakurri behar dut, argi eta garbi. 525 00:35:35,000 --> 00:35:40,000 7, 6, eta 4, 17 lortuko duzu. 526 00:35:40,000 --> 00:35:42,000 1, 5, 5, 2, 13. 527 00:35:42,000 --> 00:35:45,000 Ondoren, 3 lortu dugu, eta, ondoren, 1 lortuko dugu. 528 00:35:45,000 --> 00:35:52,000 1337. 529 00:35:52,000 --> 00:35:55,000 Pazko arrautza, inor? 530 00:35:55,000 --> 00:35:59,000 Edozein zenbaki hau ezagutzen? 531 00:35:59,000 --> 00:36:02,000 Chris zenbaki aitortzen. Zer esan nahi du, esan nahi du Chris? 532 00:36:02,000 --> 00:36:04,000 [Chris] Leet. 533 00:36:04,000 --> 00:36:11,000 Leet, eta, beraz, hau begiratzen baduzu, itxura Leet bezala. 534 00:36:11,000 --> 00:36:15,000 Hacker stuff. Watch stuff mota horretako midterm edo quiz, baizik eta. 535 00:36:15,000 --> 00:36:19,000 Ikusiko duzu stuff mota hori bada, eta galdetzen ari zaren "Huh," 536 00:36:19,000 --> 00:36:22,000 agian benetan esan nahi duen zerbait. 537 00:36:22,000 --> 00:36:24,000 Ez dakit. David likes jarriz sartu 538 00:36:24,000 --> 00:36:26,000 Behatu egiaztatu da modu ona da. 539 00:36:26,000 --> 00:36:30,000 Ados bezala, ikusteko zer ari den gertatzen. 540 00:36:30,000 --> 00:36:34,000 >> Astea 0/Week 1 stuff. 541 00:36:34,000 --> 00:36:39,000 Aldatzen dugu atzera gero gure laptop orain, 542 00:36:39,000 --> 00:36:46,000 mapan handiago, eta beste gauza pare bat. 543 00:36:46,000 --> 00:36:50,000 Ez ASCII, eta horrek asko egiten dugu arazo multzo. 544 00:36:50,000 --> 00:36:55,000 Hiriburua A. nozioa Zer da benetan? 545 00:36:55,000 --> 00:36:57,000 Zenbaki hamartar da ezagutzea. 546 00:36:57,000 --> 00:37:00,000 65 zer da mapatzen ASCII taulan, 547 00:37:00,000 --> 00:37:03,000 eta hori da, beraz, nola ordenagailuan idazten du, 548 00:37:03,000 --> 00:37:06,000 eta hori nola urruntzen dugu benetan idazten 549 00:37:06,000 --> 00:37:09,000 pertsonaia hiriburua A eta pertsonaia minuskula 550 00:37:09,000 --> 00:37:14,000 izan duzula egiten konponbide horiek eta arazo multzo batzuk. 551 00:37:14,000 --> 00:37:16,000 Beste gauza pare bat. 552 00:37:16,000 --> 00:37:25,000 Dugu got adierazpenak, adierazpen boolearrak, baldintzak, begiztak, aldagaiak eta hariak. 553 00:37:25,000 --> 00:37:29,000 >> Horiek guztiak dirudi zentzurik gehien? 554 00:37:29,000 --> 00:37:35,000 Terminologia hau batzuk, aldiz at funky txiki bat da. 555 00:37:35,000 --> 00:37:46,000 Zerbait gehien parte hartzea da puntu eta komaz bukatzen adierazpen bat dela uste dut. 556 00:37:46,000 --> 00:37:51,000 Hala nola, x gisa adierazpenak = 7, aldagai bat ezartzen du, 557 00:37:51,000 --> 00:37:54,000 zentzuzkoa izeneko x = 7. 558 00:37:54,000 --> 00:38:01,000 Ustezko x mota bat da, halaber, kopurua 7 gordetzeko, 559 00:38:01,000 --> 00:38:05,000 int bat edo, agian, mugikor bat edo labur bat edo char bat da, 560 00:38:05,000 --> 00:38:07,000 horrelako zerbait. 561 00:38:07,000 --> 00:38:12,000 Adierazpen boolearra A bikoitza horiek erabiltzen ari da berdin 562 00:38:12,000 --> 00:38:17,000 eta bang berdinen edo ez, berdin da, baino gutxiago, baino handiagoa da, 563 00:38:17,000 --> 00:38:22,000 baino gutxiago edo, stuff mota guztiak berdinak. 564 00:38:22,000 --> 00:38:28,000 Baldintzak, gero, bestela, adierazpenak dira. 565 00:38:28,000 --> 00:38:32,000 Izan ezin duzula, bestela, dagokion bat bada gabe gogoratu nahi nuke. 566 00:38:32,000 --> 00:38:37,000 Era berean, ezin duzu, bestela bat ez badago dagokion bada. 567 00:38:37,000 --> 00:38:40,000 Loops, gogoratzen loops 3 mota egin dugu sartuko zara hammering 568 00:38:40,000 --> 00:38:43,000 atal eta arazo multzo azken bikotea. 569 00:38:43,000 --> 00:38:46,000 Ez erabiltzea, erabiltzailearen sarrera duzun bitartean lortzean, 570 00:38:46,000 --> 00:38:51,000 baldintza jakin bat arte loops, egia da bitartean erabiliz, 571 00:38:51,000 --> 00:38:56,000 eta, ondoren, horiek erabiliz loops, behar izanez gero 572 00:38:56,000 --> 00:39:01,000 jakin zein begizta-iterazio Gaur egun Oraindik duzu nola uste dut. 573 00:39:01,000 --> 00:39:07,000 Edo ari zaren bat egiten bada, eta pertsonaia bakoitzari kate bat zerbait egin nahi dut, 574 00:39:07,000 --> 00:39:15,000 elementu hori zerbait egin nahi dut array elementu bakoitzerako. 575 00:39:15,000 --> 00:39:18,000 >> Hariak eta ekitaldiak. 576 00:39:18,000 --> 00:39:21,000 Hauek ditugu, beraz, ez da estalita esplizituki C 577 00:39:21,000 --> 00:39:23,000 baina gogoratu honek Scratch from. 578 00:39:23,000 --> 00:39:26,000 Hainbat scripts izatea nozioa da. 579 00:39:26,000 --> 00:39:32,000 Hau da, gertaera bat igortzen nozioa ere. 580 00:39:32,000 --> 00:39:37,000 Batzuek ez erabili beren proiektuak emisio hasieran, 581 00:39:37,000 --> 00:39:40,000 guztiz cool 582 00:39:40,000 --> 00:39:46,000 baina horiek 2 handiagoa den arazo hau kudeatzeko modu ezberdinak izeneko concurrency 583 00:39:46,000 --> 00:39:49,000 hau da, nola ez programak exekutatu 584 00:39:49,000 --> 00:39:54,000 edo itxuraz aldi berean exekutatu? 585 00:39:54,000 --> 00:39:59,000 Hainbat ataza bestelako lanak ere exekutatzen ari da exekutatzen ari. 586 00:39:59,000 --> 00:40:01,000 Hau da, zure sistema eragilearen nola lan dirudi. 587 00:40:01,000 --> 00:40:04,000 Hori dela eta, nahiz eta, adibidez, 588 00:40:04,000 --> 00:40:10,000 Got dut nire nabigatzailea exekutatzen I Spotify eta berriz Abesti bat erreproduzitzeko. 589 00:40:10,000 --> 00:40:14,000 Hori ulertzeko kontzeptuzko gauza bat gehiago da. 590 00:40:14,000 --> 00:40:17,000 Begirada bat hartu nuke hari labur 591 00:40:17,000 --> 00:40:21,000 gehiago jakiteko horri buruz nahi izanez gero. 592 00:40:21,000 --> 00:40:26,000 >> Ikus dezagun, izan liteke uste dut 593 00:40:26,000 --> 00:40:31,000 hori arazo horietako bat. 594 00:40:31,000 --> 00:40:35,000 Berriz ere, hari eta gertaerak ez dira C estali egingo dugu zerbait, uste dut 595 00:40:35,000 --> 00:40:41,000 besterik ez delako nabarmen da Scratch baino gehiago zaila da. 596 00:40:41,000 --> 00:40:44,000 Ez zenuke buruz kezkatu ez dago, baina behin betiko kontzeptuak ulertzeko, 597 00:40:44,000 --> 00:40:47,000 ulertzen zer ari den gertatzen. 598 00:40:47,000 --> 00:40:52,000 Aurretik mugitzen dira, edozein 0 material Astea buruzko galderak? 599 00:40:52,000 --> 00:40:55,000 Denek nahiko ondo sentitu naiz? 600 00:40:55,000 --> 00:41:03,000 Understanding aldagai eta zer aldakorra da? 601 00:41:03,000 --> 00:41:08,000 >> On mugimenduan. Aste 1. 602 00:41:08,000 --> 00:41:12,000 Gauza pare bat, hemen ez ziren batez ere estalita 603 00:41:12,000 --> 00:41:21,000 quiz berrikuspena nahitaez, eta, gainera, gauza gehiago kontzeptuala pentsatu. 604 00:41:21,000 --> 00:41:30,000 Iturburu-kodea, konpiladoreak eta objektu-kodea lehen ideia hau da. 605 00:41:30,000 --> 00:41:32,000 Edozein? Basil. 606 00:41:32,000 --> 00:41:37,000 Da objektu-kode-I iturburu-kodea da zer jarri clang esan nahi, 607 00:41:37,000 --> 00:41:42,000 eta objektu-kodea da zer clang jartzen beraz, zure ordenagailuan programa irakur daiteke. 608 00:41:42,000 --> 00:41:44,000 Hain zuzen ere. 609 00:41:44,000 --> 00:41:47,000 Iturburu-kodea C kodea benetan idazten dituzun sortu da. 610 00:41:47,000 --> 00:41:50,000 Objektu kodea da zer lortuko duzu clang. 611 00:41:50,000 --> 00:41:54,000 0 s eta 1s bitar formatu hori da. 612 00:41:54,000 --> 00:41:59,000 Orduan, zer gertatzen da Objektu fitxategiak sorta bat duzu, 613 00:41:59,000 --> 00:42:04,000 esaten ari zaren proiektu edo programa bat baino gehiago erabiltzen duten iturri kodea fitxategiak konpilatzeko, 614 00:42:04,000 --> 00:42:09,000 duen hitzarmen ematen dira. c fitxategi-luzapena. 615 00:42:09,000 --> 00:42:13,000 Horregatik caesar.c, vigenère.c dugu. 616 00:42:13,000 --> 00:42:18,000 Java programa izanez gero idatziz emateko luzapena. Java. 617 00:42:18,000 --> 00:42:24,000 Python programak luzapena. PY askotan. 618 00:42:24,000 --> 00:42:26,000 >> Behin baino gehiago. C fitxategiak baduzu, konpilatu duzu. 619 00:42:26,000 --> 00:42:29,000 Clang spits binary junk hori guztia. 620 00:42:29,000 --> 00:42:33,000 Ondoren delako Programa 1 bakarrik nahi duzu 621 00:42:33,000 --> 00:42:37,000 estekatzailearen objektu horiek guztiak elkarrekin fitxategiak duzu 622 00:42:37,000 --> 00:42:40,000 1 fitxategi exekutagarri batean. 623 00:42:40,000 --> 00:42:45,000 Hau da, halaber, zer gertatzen den CS50 liburutegia erabili, adibidez. 624 00:42:45,000 --> 00:42:50,000 CS50 liburutegi bai dela. H goiburua fitxategia 625 00:42:50,000 --> 00:42:53,000 irakurri duzula, includecs50.h #. 626 00:42:53,000 --> 00:42:58,000 Eta gero ere bitar berezi bat da liburutegia 627 00:42:58,000 --> 00:43:02,000 dira konpilatu 0 s da eta 1s, 628 00:43:02,000 --> 00:43:08,000 eta hori l Ez, eta, beraz, joaten gara gure Espazioak itzuliz gero eta benetan azkar dugu 629 00:43:08,000 --> 00:43:11,000 zer gertatzen da hemen gure clang komando begiratzen dugu, 630 00:43:11,000 --> 00:43:15,000 zer lortu dugu, hau da gure iturburu-kodea fitxategia ez da hemen. 631 00:43:15,000 --> 00:43:18,000 Horiek konpilazio sorta bat dira. 632 00:43:18,000 --> 00:43:22,000 Eta gero, amaieran, hauen-l banderak esteka 633 00:43:22,000 --> 00:43:30,000 2, liburutegi hauek bitar benetako fitxategiak, CS50 liburutegia eta gero math liburutegia. 634 00:43:30,000 --> 00:43:35,000 >> Fitxategiak 'helburua mota bakoitzean ulertzea 635 00:43:35,000 --> 00:43:38,000 konpilazio prozesuak nahi duzu zerbait gai izango da 636 00:43:38,000 --> 00:43:43,000 eman, gutxienez, goi-mailako ikuspegi orokorra-. 637 00:43:43,000 --> 00:43:46,000 Iturburu-kodea dator Object kodea ateratzen sartu. 638 00:43:46,000 --> 00:43:53,000 Objektu kodea fitxategiak elkarrekin lotzeko, eta eder bat, fitxategi exekutagarria lortzen duzu. 639 00:43:53,000 --> 00:43:55,000 Cool. 640 00:43:55,000 --> 00:43:58,000 Hau da, non akatsak puntu baino gehiago lor dezakezu 641 00:43:58,000 --> 00:44:00,000 konpilazio prozesuak. 642 00:44:00,000 --> 00:44:04,000 Hau da, non, adibidez, hartu bada lotzen dituen bandera hau da, 643 00:44:04,000 --> 00:44:10,000 CS50 Ez, eta alde duzu Espazioak edo zure kodea exekutatzen ari zaren, 644 00:44:10,000 --> 00:44:13,000 hau da, non lotzen fasean errore bat jasoko duzu, 645 00:44:13,000 --> 00:44:18,000 eta estekatzailearen, esan du, "Hey, funtzio GetString izeneko 646 00:44:18,000 --> 00:44:20,000 CS50 liburutegian. " 647 00:44:20,000 --> 00:44:25,000 "Esan zidan CS50 liburutegia da, eta ezin dut kodea aurkitu." 648 00:44:25,000 --> 00:44:28,000 Hori da, non lotu behar duzu, eta hori aparteko 649 00:44:28,000 --> 00:44:33,000 konpilatzailea errore bat konpilatzailea sintaxia eta stuff mota hori delako bila. 650 00:44:33,000 --> 00:44:38,000 Oso ona da zer ari den gertatzen jakin nahi. 651 00:44:38,000 --> 00:44:42,000 >> Beste gauza batzuk ezagutzen. 652 00:44:42,000 --> 00:44:49,000 Esan nahi behin betiko Jordan egindako typecasting laburra, begirada bat hartu nahi dut 653 00:44:49,000 --> 00:44:55,000 ulertzeko zer ints kanpaia azpian daude, 654 00:44:55,000 --> 00:44:58,000 zer karakteretan kanpaia azpian daude. 655 00:44:58,000 --> 00:45:02,000 Hitz ASCII gara, eta ASCII taula benetan dugu, 656 00:45:02,000 --> 00:45:07,000 zer da hori egiten emango digu kanpaia itxura pean 657 00:45:07,000 --> 00:45:13,000 nola ordenagailua benetan adierazten du kapital eta digitu 7 658 00:45:13,000 --> 00:45:17,000 eta koma bat eta galdera-marka bat. 659 00:45:17,000 --> 00:45:20,000 Era berean, ordenagailu berezia modu ordezkatzen ditu 660 00:45:20,000 --> 00:45:23,000 kopurua 7 zenbaki oso bat. 661 00:45:23,000 --> 00:45:27,000 Koma mugikorreko zenbaki gisa kopurua 7 irudikatzeko modu berezi bat du, 662 00:45:27,000 --> 00:45:29,000 eta horiek oso ezberdinak dira. 663 00:45:29,000 --> 00:45:32,000 Typecasting da nola ordenagailua "Hey, bihurtu nahi dizut 664 00:45:32,000 --> 00:45:37,000 ko ordezkaritza ordezkaritza beste ". 665 00:45:37,000 --> 00:45:40,000 Zergatik ez begirada bat hartuko dugu. 666 00:45:40,000 --> 00:45:44,000 >> Liburutegiak labur eta Konpilatzaileak laburrak begirada bat ere hartu nahi dut. 667 00:45:44,000 --> 00:45:47,000 Konpilazio-prozesuari buruzko eztabaida horiek, 668 00:45:47,000 --> 00:45:53,000 liburutegi bat da, eta galdera horietako batzuk eskatu egin daitezke baino gehiago joan. 669 00:45:53,000 --> 00:45:55,000 Aste 1 material galderak? 670 00:45:55,000 --> 00:46:03,000 Ba al dago hemen gaiak Beraz, badirudi hori estali nahi duzun? 671 00:46:03,000 --> 00:46:07,000 Lehenago gai hauen bidez kolpe saiatzen ari naiz, beraz, ezin dugu 672 00:46:07,000 --> 00:46:13,000 erakusleak eta zer errekurtsio pixka bat. 673 00:46:13,000 --> 00:46:15,000 Pentsamenduak? 674 00:46:15,000 --> 00:46:19,000 Ezer estaltzeko? 675 00:46:19,000 --> 00:46:21,000 Denbora txokolate batzuk agian? 676 00:46:21,000 --> 00:46:23,000 Zaudete horren bidez lan egiten ari dira. 677 00:46:23,000 --> 00:46:26,000 Nire kafea sipping mantentzeko noa. 678 00:46:26,000 --> 00:46:31,000 Aste 2. 679 00:46:31,000 --> 00:46:34,000 Good dei, dei ona. 680 00:46:34,000 --> 00:46:38,000 Astean 2 apur bat gehiago hitz egiten dugu funtzioak. 681 00:46:38,000 --> 00:46:43,000 >> Lehen arazo multzo batzuk ez genuen benetan funtzio batere idatzi 682 00:46:43,000 --> 00:46:45,000 beste zein funtzio baino? 683 00:46:45,000 --> 00:46:47,000 [Student] Main. >> Main, zehazki. 684 00:46:47,000 --> 00:46:51,000 Eta horrela ikusi dugu hainbat jantziak nagusia janzten. 685 00:46:51,000 --> 00:46:54,000 Bat dago, hain zuzen, ez dute argumenturik hartzen du, 686 00:46:54,000 --> 00:46:58,000 eta esatea besterik ez dugu void parentesi artean, 687 00:46:58,000 --> 00:47:01,000 eta, ondoren, beste bat non nahi egiten dugu, komando lerroko argumentu, 688 00:47:01,000 --> 00:47:08,000 eta ikusi dugun bezala, non int argc eta katea argv array duzu 689 00:47:08,000 --> 00:47:13,000 edo gaur egun ditudan dugu benetan jasan katea dela char * 690 00:47:13,000 --> 00:47:20,000 char * argv eta, ondoren, parentesi artean gisa idazten hasteko goaz. 691 00:47:20,000 --> 00:47:22,000 Arazoa Set 3, guys funtzio sorta bat ikusi 692 00:47:22,000 --> 00:47:27,000 eta funtzio-sorta bat jarri du martxan, marraztu, begiratu, Scramble. 693 00:47:27,000 --> 00:47:31,000 Prototipo guztiak idatzi ziren zuretzat. 694 00:47:31,000 --> 00:47:33,000 >> Zer nahi nuen hemen buruz hitz egin, funtzio benetan azkar 695 00:47:33,000 --> 00:47:38,000 daudela 3 zatiak funtzio bat idazten duzun bakoitzean. 696 00:47:38,000 --> 00:47:43,000 Funtzioaren mota itzulera zehaztu behar duzu. 697 00:47:43,000 --> 00:47:46,000 Funtzioa izen bat zehaztu behar duzu, eta, gero, zehaztu behar duzu 698 00:47:46,000 --> 00:47:51,000 argumentu zerrenda edo parametro zerrenda. 699 00:47:51,000 --> 00:47:57,000 Adibidez, funtzio bat idazten badut osoko zenbakien sorta bat laburbildu 700 00:47:57,000 --> 00:48:03,000 eta, ondoren, niri itzuli eta nire itzulera mota izango litzateke batura 701 00:48:03,000 --> 00:48:06,000 Osoko zenbaki batzea nahi nuen eta, ondoren, batura itzultzeko bada? 702 00:48:06,000 --> 00:48:12,000 Gero, funtzioaren izena. 703 00:48:12,000 --> 00:48:27,000 I joan aurretik eta idazten berdea, zati hori itzultzeko mota da. 704 00:48:27,000 --> 00:48:34,000 Zati honek izena da. 705 00:48:34,000 --> 00:48:40,000 Eta, ondoren, parentesi artean 706 00:48:40,000 --> 00:48:46,000 non argumentuak ematen dut, 707 00:48:46,000 --> 00:48:56,000 sarritan argumentuak, batzuetan izeneko params parametro gisa laburtua. 708 00:48:56,000 --> 00:49:00,000 Eta baldin baduzu, zehaztu besterik ez duzu. 709 00:49:00,000 --> 00:49:06,000 Hainbat bada, bakoitzak bereizteko koma batekin. 710 00:49:06,000 --> 00:49:13,000 Eta argumentu bakoitzeko ematen 2 gauza diren-Kevin? 711 00:49:13,000 --> 00:49:18,000 [Kevin] mota eta, ondoren, izena eman behar duzu. 712 00:49:18,000 --> 00:49:21,000 Eta gero, izena, eta izena izena erabili behar zarela 713 00:49:21,000 --> 00:49:25,000 argumentu hori erreferentzia batura funtzioa barruan, 714 00:49:25,000 --> 00:49:27,000 ari zaren funtzioa gaur egun idatziz barruan. 715 00:49:27,000 --> 00:49:32,000 >> Ez daukazu adibide-, laburbildu egingo naiz badut, 716 00:49:32,000 --> 00:49:41,000 esan, zenbaki osoen-we'll array bat do int array, 717 00:49:41,000 --> 00:49:46,000 eta neure burua ematen dut kizkur tirantes batzuk han- 718 00:49:46,000 --> 00:49:51,000 orduan, array bat pasatzen dut batura funtzioa 719 00:49:51,000 --> 00:49:55,000 Argumentu-zerrendako lehen posizioa pasatzen dut. 720 00:49:55,000 --> 00:49:59,000 Baina I pasatzen array ez izen ARR dute. 721 00:49:59,000 --> 00:50:07,000 ARR nola argumentu hori aipatzen dut funtzioaren gorputza barruan izango da. 722 00:50:07,000 --> 00:50:10,000 Kontuan hartu behar dugu, beste gauza 723 00:50:10,000 --> 00:50:14,000 eta, hau da, pixka bat funtzio desberdinak dira, baina puntu garrantzitsu bat dela uste dut, 724 00:50:14,000 --> 00:50:20,000 C hau atsegin funtzio bat idazten ari naiz 725 00:50:20,000 --> 00:50:29,000 nola egin array honetan zenbat elementu ezagutzen dut? 726 00:50:29,000 --> 00:50:31,000 Trikimailu galdera bat da pixka bat. 727 00:50:31,000 --> 00:50:35,000 Hitz egin gara pixka bat azken astean atalean. 728 00:50:35,000 --> 00:50:40,000 Nola C array bat barruan dauden elementuen kopurua ezagutzen dut? 729 00:50:40,000 --> 00:50:44,000 Ba al dago modu bat? 730 00:50:44,000 --> 00:50:49,000 >> Bihurtzen da, ez dagoela ez jakin. 731 00:50:49,000 --> 00:50:52,000 Bereizita gainditu behar duzu. 732 00:50:52,000 --> 00:50:55,000 Ez dago trikimailu bat egiten baduzu 733 00:50:55,000 --> 00:51:00,000 funtzioa bera array izendatu baduzu, 734 00:51:00,000 --> 00:51:04,000 eta pila array bat ari zara lanean. 735 00:51:04,000 --> 00:51:06,000 Baina hori soilik funtzionatzen funtzio berbera baduzu. 736 00:51:06,000 --> 00:51:09,000 Behin array bat pasatzen duzu beste funtzio duzun edo deklaratu bada, array bat 737 00:51:09,000 --> 00:51:12,000 array zeure gainean jarri, erabili duzun malloc 738 00:51:12,000 --> 00:51:15,000  eta stuff mota hori, orduan apustuak guztiak dira off. 739 00:51:15,000 --> 00:51:18,000 Ondoren, benetan gainditu inguruan 740 00:51:18,000 --> 00:51:21,000 argumentu berezi bat edo beste parametro 741 00:51:21,000 --> 00:51:23,000 diozu nola big array da. 742 00:51:23,000 --> 00:51:28,000 Kasu honetan, erabili koma-I'm sorry, off da pantaila nahi nuke hemen 743 00:51:28,000 --> 00:51:32,000 eta argumentu beste pasatu nuen 744 00:51:32,000 --> 00:51:40,000  eta deitu Len int luzera. 745 00:51:40,000 --> 00:51:44,000 >> One gauza izan liteke galdetegia 746 00:51:44,000 --> 00:51:49,000 dizun izeneko zerbait bereziki funtzio bat idatzi edo ezartzeko. 747 00:51:49,000 --> 00:51:54,000 Ez badugu ez dizu prototipoa, beraz, hau dena hemen, 748 00:51:54,000 --> 00:51:58,000 nahastea, hau da osoa izeneko funtzioa adierazpena edo funtzioa prototipoa, 749 00:51:58,000 --> 00:52:01,000 hau lehen gauza bat da behera egitetik nahi duzun izango da ematen ez bada 750 00:52:01,000 --> 00:52:03,000 eta berehala galdetegiaren. 751 00:52:03,000 --> 00:52:06,000 Beste trikimailu ikasi dut da 752 00:52:06,000 --> 00:52:11,000 esan funtzio bat emango dizu prototipo bat egiten dugu, eta esaten dugu, "Hey, baina idazten duzun." 753 00:52:11,000 --> 00:52:16,000 Tirantes kizkur galdetegiaren duzula Inside 754 00:52:16,000 --> 00:52:20,000 konturatu ez dagoela itzulera mota bat bada eta nabarituko duzu itzultzeko mota 755 00:52:20,000 --> 00:52:25,000 void, horrek esan nahi du, funtzioa ez du ezer baino beste zerbait da, 756 00:52:25,000 --> 00:52:28,000 ondoren, gauza bat egin nahi behin betiko idatzi 757 00:52:28,000 --> 00:52:33,000 batzuk bueltan adierazpen sort funtzioaren amaieran. 758 00:52:33,000 --> 00:52:40,000 Return, eta kasu honetan, huts bat jarri dugu nahi dugu hutsik bete duelako. 759 00:52:40,000 --> 00:52:44,000 Baina hori lortzen du, modu egokian nola joan naiz arazo hau hurbiltzen dut pentsatzen? 760 00:52:44,000 --> 00:52:49,000 Eta zuk gogorarazten balio bat itzuli joan zaren 761 00:52:49,000 --> 00:52:51,000 funtzioaren deitzaileari. 762 00:52:51,000 --> 00:52:54,000 >> Bai. >> [Student] Ba al estilo aplikatuko kodea galdetegiaren idazten ari gara? 763 00:52:54,000 --> 00:52:58,000 Koska eta stuff mota hori, hala nola? >> [Student] Bai. 764 00:52:58,000 --> 00:53:00,000 Ez, ez da askoz ere. 765 00:53:00,000 --> 00:53:09,000 -Hau asko galdetegiaren argitzeko eguna dugu zerbait dela uste dut, 766 00:53:09,000 --> 00:53:15,000 baina normalean buruz kezkagarria # stuff mota hori barne hartzen eta, kanpo-mota da. 767 00:53:15,000 --> 00:53:17,000 [Student] behar duzu zure eskuz kodea behar duzu? 768 00:53:17,000 --> 00:53:19,000 Zure eskuz kodea komentatu behar duzu? 769 00:53:19,000 --> 00:53:24,000 Komentatuz beti da ona kreditu partziala buruz ari kezkatuta 770 00:53:24,000 --> 00:53:29,000 edo zure asmo komunikatzeko to kalifikatzailearen nahi duzun. 771 00:53:29,000 --> 00:53:33,000 Baina, berriro ere, I, egingo galdetegi bera eta quiz eguna argitzeko, 772 00:53:33,000 --> 00:53:39,000 baina ez dut uste behar dugu iruzkinak idazteko, ez. 773 00:53:39,000 --> 00:53:42,000 Normalean ez, baina behin betiko da gauza sort non 774 00:53:42,000 --> 00:53:45,000 zure asmo komunikatu dezakezu, "Hey, hau da, bertan egingo dut." 775 00:53:45,000 --> 00:53:49,000 Eta batzuetan, kreditu partziala laguntzeko. 776 00:53:49,000 --> 00:53:51,000 Cool. 777 00:53:51,000 --> 00:53:53,000 >> Basil. 778 00:53:53,000 --> 00:53:56,000 [Basil] Zer da, adibidez, geratuko int lang arteko aldea 779 00:53:56,000 --> 00:54:03,000 argumentuak edo parametro aldagai baten funtzioa barruan geratuko versus? 780 00:54:03,000 --> 00:54:05,000 Wow, kafea jaitsi ziren windpipe. 781 00:54:05,000 --> 00:54:07,000 [Basil] argumentuetan zein gauzak jarri nahi dugun bezala. 782 00:54:07,000 --> 00:54:09,000 Bai, hori oso galdera bat da. 783 00:54:09,000 --> 00:54:11,000 Nola argumentuak zer jarri nahi duzun aukeratu behar duzu 784 00:54:11,000 --> 00:54:17,000 barruan egin behar duzu funtzio gauzak versus? 785 00:54:17,000 --> 00:54:24,000 Kasu honetan, horietako biak barne argumentu gisa 786 00:54:24,000 --> 00:54:29,000 Oraindik zerbait duenak hori batura funtzioa erabiltzeko 787 00:54:29,000 --> 00:54:32,000 behar du gauza horiek zehaztu. 788 00:54:32,000 --> 00:54:35,000 >> Batura funtzioa, hitz atsegin dugu, ezagutzeko modu ez du 789 00:54:35,000 --> 00:54:40,000 nola big array da lortzen bere deitzailearen edo duenarentzat batura funtzioa erabiliz. 790 00:54:40,000 --> 00:54:44,000 Nola big array dela jakin ez ditu. 791 00:54:44,000 --> 00:54:48,000 Luzera hori pasatzen dugu hemen argumentu gisa arrazoia 792 00:54:48,000 --> 00:54:51,000 hori zerbait delako ari gara, funtsean, funtzio deitzailearen kontatzea, 793 00:54:51,000 --> 00:54:55,000 duenak batura funtzioa erabiltzeko, "Hey, ez bakarrik ez digute array bat duzu 794 00:54:55,000 --> 00:54:59,000 ints, izan ere digute nola big duzula array eman da. " 795 00:54:59,000 --> 00:55:03,000 [Basil] dutenek bi komando-lerroko argumentuak? 796 00:55:03,000 --> 00:55:06,000 Ez, horiek benetako argumentu zela funtzio pasatzeko. 797 00:55:06,000 --> 00:55:10,000 >> Orri berri bat egin me hemen. 798 00:55:10,000 --> 00:55:13,000 [Basil] izena Like pasatzeko litzateke 799 00:55:13,000 --> 00:55:24,000 [Nate H.] daukat int nagusia bada (void), 800 00:55:24,000 --> 00:55:27,000 eta nire itzulera 0 jarri behera hemen, behealdean noa, 801 00:55:27,000 --> 00:55:31,000 eta esan batura funtzioa deitu nahi dut. 802 00:55:31,000 --> 00:55:42,000 Esan nahi dut int x = sum (); 803 00:55:42,000 --> 00:55:46,000 Batura funtzioa erabiltzeko array bi pasatzeko laburbildu nahi dut behar dut 804 00:55:46,000 --> 00:55:51,000 eta array-luzera, eta, beraz, non dago 805 00:55:51,000 --> 00:55:54,000 ints array bat izan nuen suposatuz, 806 00:55:54,000 --> 00:56:12,000 esaten nuen int numbaz [] = 1, 2, 3, 807 00:56:12,000 --> 00:56:16,000 erabilera mota hacked sortu sintaxia bertan, 808 00:56:16,000 --> 00:56:21,000 ondoren, zer egin nahi dut batura pasatzeko nahi nuke 809 00:56:21,000 --> 00:56:27,000 bai numbaz eta 3 zenbakia 810 00:56:27,000 --> 00:56:30,000 batura funtzioa kontatzeko "Ongi da, hemen array laburbildu nahi dut". 811 00:56:30,000 --> 00:56:34,000 "Hemen, bere tamaina." 812 00:56:34,000 --> 00:56:39,000 Ez duela zentzurik? Ez duela erantzun zure galdera? 813 00:56:39,000 --> 00:56:42,000 >> Modu askotan paraleloan du nagusiak egiten ari gara 814 00:56:42,000 --> 00:56:44,000 komando-lerroko argumentuak behar dugu. 815 00:56:44,000 --> 00:56:47,000 Zesarrek zifratze bezalako programa bat, adibidez, behar 816 00:56:47,000 --> 00:56:53,000 komando-lerroko argumentuak ez litzateke, edozer egiteko gai izango da. 817 00:56:53,000 --> 00:56:57,000 Ez daki nola litzateke enkriptatzeko ez baduzu kontatu zer tekla erabili 818 00:56:57,000 --> 00:57:03,000 edo ez baduzu, ez dira katea enkriptatu nahi duzun. 819 00:57:03,000 --> 00:57:08,000 Sarrera galdetu, hau da, non lortu dugu hainbat mekanismo 2 820 00:57:08,000 --> 00:57:14,000 sarrera hartuta, erabiltzaileak, informazioa hartu erabiltzaileari. 821 00:57:14,000 --> 00:57:19,000 Arazoa Ezarri 1 GetInt honetan, GetString, modu GetFloat ikusi genuen. 822 00:57:19,000 --> 00:57:26,000 galdetu sarrera, eta deitzen den sarrerako korrontean estandarra erabiliz. 823 00:57:26,000 --> 00:57:28,000 Apur bat desberdina da. 824 00:57:28,000 --> 00:57:31,000 Garai batean egin ditzakezun aurrean zerbait da 825 00:57:31,000 --> 00:57:35,000 programa, deitu da programa exekutatzen hasten zara. 826 00:57:35,000 --> 00:57:41,000 Komando-lerroko argumentuak zehazten dira programa lasterka hasten zara. 827 00:57:41,000 --> 00:57:47,000 Izan ditugu, horietako bi nahastuz. 828 00:57:47,000 --> 00:57:52,000 Argumentuak erabiltzen dugu funtzio bat, askoz ere komando lerro nagusiak argumentuak bezala. 829 00:57:52,000 --> 00:57:56,000 Esan behar duzun funtzioa deitu behar da 830 00:57:56,000 --> 00:58:05,000 zer behar du bere zereginak egiteko. 831 00:58:05,000 --> 00:58:08,000 Beste gauza ona da-eta itxura itxura duzu zure aisialdian utzi dut, 832 00:58:08,000 --> 00:58:11,000 eta estalitako esparrua nozioa quiz- 833 00:58:11,000 --> 00:58:15,000 eta tokiko aldagai global versus aldagai. 834 00:58:15,000 --> 00:58:18,000 Do arreta hori. 835 00:58:18,000 --> 00:58:23,000 >> Orain horretan ari gara beste stuff honetan, 836 00:58:23,000 --> 00:58:27,000 Astea 3 bilatzeko eta ordenatzeko buruz hitz egiten hasi ginen. 837 00:58:27,000 --> 00:58:32,000 Bilatu eta ordenatzeko, eta gutxienez CS50 838 00:58:32,000 --> 00:58:39,000 oso sarrera bat informatika teoriko zati batzuk. 839 00:58:39,000 --> 00:58:42,000 Bilatzen arazoa, ordenatzeko arazoa 840 00:58:42,000 --> 00:58:46,000 handia, kanonikoa arazoak dira. 841 00:58:46,000 --> 00:58:52,000 Nola bilioika zenbaki osoen array bat kopuru jakin bat aurkitu duzu? 842 00:58:52,000 --> 00:58:55,000 Nola bereziki izen bat aurkituko duzu telefono-liburu baten barruan 843 00:58:55,000 --> 00:58:59,000 zure ordenagailu eramangarria gordetako? 844 00:58:59,000 --> 00:59:04,000 Eta horrela, run asymptotic aldiz ideia hau aurkeztu dugu 845 00:59:04,000 --> 00:59:11,000 benetan zenbatzea zenbat denbora, zer moduz arazo horiek dira, 846 00:59:11,000 --> 00:59:14,000 zenbat denbora konpondu dute. 847 00:59:14,000 --> 00:59:20,000 , Nire ustez, 2011-en galdetegi arazo bat uste dut merezimendu 848 00:59:20,000 --> 00:59:27,000 Oso azkar estaltzen, hau da, arazoa 12. 849 00:59:27,000 --> 00:59:32,000 O ez, Omega da. 850 00:59:32,000 --> 00:59:41,000 >> Hemen, denbora azkarrena posible run buruz ari gara hitz egiten 851 00:59:41,000 --> 00:59:46,000 jakin baten algoritmoa, eta, ondoren, ahalik eta exekuzio-denbora motelena. 852 00:59:46,000 --> 00:59:52,000 Omega hau eta O benetan lasterbideak. 853 00:59:52,000 --> 00:59:55,000 Lasterbideak notational Oraindik dute esaten 854 00:59:55,000 --> 00:59:59,000 nola azkar ahalik eta kasu horretan, gure algoritmoaren run, 855 00:59:59,000 --> 01:00:06,000 eta txarrena ahalik eta kasu horretan, nola motela da gure algoritmoa exekutatu? 856 01:00:06,000 --> 01:00:10,000 Egin dezagun horietako pare bat, eta horiek ere estalita 857 01:00:10,000 --> 01:00:13,000 notazioa asymptotic, gomendatzen dut laburrak. 858 01:00:13,000 --> 01:00:17,000 Jackson, oso lan ona egin zuten. 859 01:00:17,000 --> 01:00:23,000 Bitarra search, algoritmo bat izateaz gain bilaketa bitarra buruz hitz egiten dugu, 860 01:00:23,000 --> 01:00:28,000 eta horri buruz ohi dugu eztabaida bere O. handien arabera 861 01:00:28,000 --> 01:00:30,000 Zer da handi O? 862 01:00:30,000 --> 01:00:34,000 Zer da bilaketa bitarra run geldoena posible da? 863 01:00:34,000 --> 01:00:36,000 [Student] N ²? 864 01:00:36,000 --> 01:00:41,000 Itxi, antzekoa dela uste dut. 865 01:00:41,000 --> 01:00:43,000 Asko hori baino azkarragoa da. 866 01:00:43,000 --> 01:00:45,000 [Student] Binary? >> Bai, bilaketa bitarra. 867 01:00:45,000 --> 01:00:47,000 [Student] log n da. 868 01:00:47,000 --> 01:00:49,000 Saioa hasi n, beraz, saioa n esan nahi du? 869 01:00:49,000 --> 01:00:51,000 Halves da iterazio bakoitzerako. 870 01:00:51,000 --> 01:00:56,000 Zehazki, eta, beraz, ahalik eta geldoena kasu horretan, 871 01:00:56,000 --> 01:01:00,000 esan duzu horrela antolatu array bat bada 872 01:01:00,000 --> 01:01:08,000 milioi bat zenbaki osoen eta zenbaki bilatzen ari zaren 873 01:01:08,000 --> 01:01:14,000 Edo array edo oso elementu a array elementu oso lehen. 874 01:01:14,000 --> 01:01:18,000 Gogoratu, bilaketa algoritmo bitar elementu erdiko begira lan egiten du, eta 875 01:01:18,000 --> 01:01:21,000 ikusten duten partidaren bila ari zaren bada. 876 01:01:21,000 --> 01:01:23,000 Da, bada, orduan handia da, aurkitu duzu. 877 01:01:23,000 --> 01:01:27,000 >> Kasu horretan, ahalik eta ondoen, nola azkar binary bilaketa run? 878 01:01:27,000 --> 01:01:29,000 [Ikasleak] 1. 879 01:01:29,000 --> 01:01:32,000 1., Etengabeko denbora da, O big 1. Bai. 880 01:01:32,000 --> 01:01:36,000 [Student] galdera bat daukat. N saioa diozu, 2 oinarria dagokionez esan nahi duzu, ezta? 881 01:01:36,000 --> 01:01:40,000 Bai, eta, beraz, beste gauza da. 882 01:01:40,000 --> 01:01:44,000 Log n esaten dugu, eta noiz izan zen batxilergoko dut uste dut 883 01:01:44,000 --> 01:01:48,000 Bere gain hartu dut beti log zela 10 oinarrian. 884 01:01:48,000 --> 01:01:57,000 Bai, beraz, bai, saioa normalean 2 oinarria da, zer erabili behar dugun. 885 01:01:57,000 --> 01:02:02,000 Berriz ere, atzera bilaketa bitarra joan zaren, bai baldin bada 886 01:02:02,000 --> 01:02:05,000 amaieran, oso elementu edo elementu oso hasiera-hasieratik, 887 01:02:05,000 --> 01:02:08,000 erdian hasten delako, eta, ondoren, baztertu 888 01:02:08,000 --> 01:02:13,000 adina erdia ez irizpideak betetzen bila ari zaren, 889 01:02:13,000 --> 01:02:15,000 eta joan hurrengo erdia eta hurrengo erdia eta hurrengo erdia. 890 01:02:15,000 --> 01:02:19,000 Dut, milioi osokoa array elementu handiena bada 891 01:02:19,000 --> 01:02:25,000 1 milioi aldiz log halve noa 892 01:02:25,000 --> 01:02:28,000 azkenik, I probatzeko aurretik ikusi eta elementu bila nabil 893 01:02:28,000 --> 01:02:33,000 handiena edo array indizea altuena da, 894 01:02:33,000 --> 01:02:38,000 eta hori log hartuko n, 1 milioi aldiz saioa. 895 01:02:38,000 --> 01:02:40,000 >> Bubble sort. 896 01:02:40,000 --> 01:02:43,000 Do you guys burbuila sort algoritmoa gogoratzen? 897 01:02:43,000 --> 01:02:47,000 Kevin, ezin me burbuila sort algoritmoa zer gertatu laburpena azkar bat emango dizu? 898 01:02:47,000 --> 01:02:50,000 [Kevin] Funtsean doa zerrenda guztia bidez. 899 01:02:50,000 --> 01:02:52,000 Itxura lehen bi at. 900 01:02:52,000 --> 01:02:55,000 Lehenengoa ko bigarren trukeak da baino handiagoa bada. 901 01:02:55,000 --> 01:02:58,000 Gero, bigarren eta hirugarren, gauza bera, trukeak alderatzen ditu, 902 01:02:58,000 --> 01:03:00,000 hirugarren eta laugarren, modu guztiak behera. 903 01:03:00,000 --> 01:03:03,000 Bigger zenbakiak amaiera arte jarraituko du. 904 01:03:03,000 --> 01:03:07,000 Eta ondoren hainbat loops ordea Bukatutakoan. 905 01:03:07,000 --> 01:03:11,000 Zehazki, beraz, zer Kevin esan handiagoa zenbakiak ikusi ahal izango dugu 906 01:03:11,000 --> 01:03:15,000 burbuila array amaieran. 907 01:03:15,000 --> 01:03:19,000 Esate baterako, ez gurekin oinez axola, adibide honen bidez, hau da, gure array bada? 908 01:03:19,000 --> 01:03:21,000 [Kevin] 2 hartu duzu eta 3. 909 01:03:21,000 --> 01:03:23,000 3 2 baino handiagoa da, eta, beraz horiek trukatu duzu. 910 01:03:23,000 --> 01:03:29,000 [Nate H.] Eskuin, eta, beraz, horiek trukatu ditugu, eta beraz, 2 lortuko dugu, 3, 6, 4, eta 9. 911 01:03:29,000 --> 01:03:31,000 [Kevin] Ondoren, 3 eta 6 alderatu. 912 01:03:31,000 --> 01:03:33,000 3 6 baino txikiagoa da, eta, beraz, utzi duzu, 913 01:03:33,000 --> 01:03:37,000 eta 6 eta 4, eta horietako swap dituzu, 4 6 baino txikiagoa delako. 914 01:03:37,000 --> 01:03:42,000 [Nate H.] Eskuin, eta, beraz, 2, 3, 4, 6, 9 zait. 915 01:03:42,000 --> 01:03:46,000 [Kevin] Eta 9 6 baino handiagoa da, eta, beraz, utzi duzu. 916 01:03:46,000 --> 01:03:48,000 Eta atzera jo nahi duzuna bidez berriro. 917 01:03:48,000 --> 01:03:50,000 >> [Nate H.] Am Puntu honetan egin dut? >> [Kevin] N º 918 01:03:50,000 --> 01:03:52,000 Eta zergatik nago puntu honetan ez dut egin? 919 01:03:52,000 --> 01:03:54,000 Badirudi nire array da horrela antolatu bezala delako. Naiz bila. 920 01:03:54,000 --> 01:03:57,000 [Kevin] bidez berriro joan eta ziurtatu ez direla gehiago ez trukeak 921 01:03:57,000 --> 01:04:00,000 dezakezu, erabat gelditu baino lehen. 922 01:04:00,000 --> 01:04:04,000 Zehazki, eta, beraz, bidez jarraitzeko eta trukeak ez daudela ziurtatu behar duzu. 923 01:04:04,000 --> 01:04:06,000 Puntu honetan egin ahal izango dituzu. 924 01:04:06,000 --> 01:04:08,000 Benetan izan zen besterik ez zortea, esan nahi duzu, amaitu dugu 925 01:04:08,000 --> 01:04:12,000 1 pass bidez izatea, eta horrela antolatu gaude. 926 01:04:12,000 --> 01:04:16,000 Baina kasu orokorra Horretarako benetan eta gehiagoko berriz hau egin nahi izan dugu. 927 01:04:16,000 --> 01:04:20,000 Eta, hain zuzen ere, hau ahalik eta ondoen kasuan adibide bat izan zen, 928 01:04:20,000 --> 01:04:24,000 arazoa bezala ikusi dugu. 929 01:04:24,000 --> 01:04:28,000 Ahalik eta ondoen kasuan n zela ikusi dugu. 930 01:04:28,000 --> 01:04:32,000 Array 1 denboran zehar joan ginen. 931 01:04:32,000 --> 01:04:35,000 Zer da algoritmoa honen kasuan txarrena posible da? 932 01:04:35,000 --> 01:04:37,000 [Kevin] N ². 933 01:04:37,000 --> 01:04:41,000 Eta zer da begirada hori ez? Zer izango litzateke array begirada bat bezala n ² denbora behar luke? 934 01:04:41,000 --> 01:04:43,000 [Kevin] [inaudible] ordenatuko da. 935 01:04:43,000 --> 01:04:51,000 Zehazki, eta, beraz, bada array 9, 7, 6, 5, 2 izan nuen, 936 01:04:51,000 --> 01:04:54,000 lehen 9 litzateke burbuila guztiak. 937 01:04:54,000 --> 01:04:59,000 7, 6, 5, 2, 9 1 iterazio ondoren izan genuen. 938 01:04:59,000 --> 01:05:07,000 Ondoren, 7 horiekin burbuila sortu, 6, 5, 2, 7, 9, eta, beraz, eta abar. 939 01:05:07,000 --> 01:05:13,000 >> Array osoa n aldiz bidez joan ginen, 940 01:05:13,000 --> 01:05:16,000 eta benetan lor dezake hori baino apur bat gehiago zehatza 941 01:05:16,000 --> 01:05:23,000 behin mugitu dugu dugulako 9 modu guztiak bere azken lana ahalik eta sartu 942 01:05:23,000 --> 01:05:26,000 inoiz ez dugu ezagutzen dugu elementu aurka alderatu berriro. 943 01:05:26,000 --> 01:05:29,000 Behin 7 bubbling martxan dugu 944 01:05:29,000 --> 01:05:35,000 7 9 aurretik behin geldituko gara ezagutzen dugun 945 01:05:35,000 --> 01:05:37,000 dugu dagoeneko geroztik aldean 9 da. 946 01:05:37,000 --> 01:05:46,000 Hori eginez gero smart modu batean, ez da benetan, I guess, hainbeste denbora. 947 01:05:46,000 --> 01:05:49,000 Ez duzu ahalik eta [inaudible] konbinazio guztiak alderatu egingo 948 01:05:49,000 --> 01:05:55,000 aldi bakoitzean bakarra iterazio bakoitzean bidez duzu. 949 01:05:55,000 --> 01:05:59,000 Baina, hala ere, goiko doazen buruz hitz dugu esan 950 01:05:59,000 --> 01:06:04,000 n ari zaren ² bilatzen konparaketak modu guztien bidez. 951 01:06:04,000 --> 01:06:12,000 >> Dezagun atzera jo, eta geroztik ari gara denbora pixka bat lortzeko hasi 952 01:06:12,000 --> 01:06:15,000 Esan behin betiko behar duzu taula hau gainerako zehar joan nahi nuke, 953 01:06:15,000 --> 01:06:17,000 bete dena. 954 01:06:17,000 --> 01:06:20,000 Adibide pentsatu. Adibide hormigoizko pentsatu. 955 01:06:20,000 --> 01:06:22,000 Hau da, benetan erabilgarria eta lagungarria egin. 956 01:06:22,000 --> 01:06:25,000 Marraztea. 957 01:06:25,000 --> 01:06:28,000 Hau da taula sort bidez joan ahala, informatikako 958 01:06:28,000 --> 01:06:32,000 Nork bihotza horiek ezagutzeko benetan hasi behar duzu. 959 01:06:32,000 --> 01:06:34,000 Galderak elkarrizketak mota horiek dira. 960 01:06:34,000 --> 01:06:36,000 Gauza mota hauek onak dira ezagutu dira, 961 01:06:36,000 --> 01:06:41,000 , eta ertzean Kasu horietan pentsatzen, benetan kalkulatzen nola pentsatu 962 01:06:41,000 --> 01:06:45,000 burbuila dela ordenatzeko txarrena posible array jakitea 963 01:06:45,000 --> 01:06:52,000 duten ordenatzeko alderantzizko ordenan. 964 01:06:52,000 --> 01:06:58,000 >> Erakusleak. Dezagun eztabaida pixka bat erakusle buruz. 965 01:06:58,000 --> 01:07:03,000 Azken minutu Hemen dugu 966 01:07:03,000 --> 01:07:11,000 I / O nahiko berria fitxategi batera zerbait ezagutzen dut. 967 01:07:11,000 --> 01:07:19,000 Erakusleak buruz hitz arrazoia erakusleak buruz hitz egin nahi dugu 968 01:07:19,000 --> 01:07:24,000 delako bat, C ari gara lanean 969 01:07:24,000 --> 01:07:33,000 Benetan gara modernoenak programazio-lengoaia oso maila altua aldean. 970 01:07:33,000 --> 01:07:38,000 Benetan memorian aldagaiak manipulatzeko gai gara, 971 01:07:38,000 --> 01:07:43,000 irudikatu non benetan ari dira gure RAM barruan kokatzen da. 972 01:07:43,000 --> 01:07:46,000 Behin joan duzun sistema eragilearen eskolak ikusiko duzu 973 01:07:46,000 --> 01:07:48,000 Hori da, berriro ere, abstrakzioa bat mota. 974 01:07:48,000 --> 01:07:50,000 Hori ez da kasua. 975 01:07:50,000 --> 01:07:52,000 Lortu dugu memoria birtuala den xehetasun horiek ezkutatzen gurekin. 976 01:07:52,000 --> 01:07:58,000 >> Baina orain bere gain hartzen dezakezu programa bat behar duzu, 977 01:07:58,000 --> 01:08:02,000 Adibidez, abiarazten duzunean, zure Zesarrek zifratze programa-arriskuen 978 01:08:02,000 --> 01:08:06,000 Piztu dut nire iPad benetan azkar- 979 01:08:06,000 --> 01:08:12,000 zure oso hasten programa, baldin baduzu, esan, 980 01:08:12,000 --> 01:08:15,000 4 RAM gigabyte zure ordenagailu eramangarria, 981 01:08:15,000 --> 01:08:21,000 zatia hau ezarri barneratuko zara alde batera utzi, eta RAM hau deitu dugu. 982 01:08:21,000 --> 01:08:25,000 Eta 0 deitu dugu leku bat hasten da, 983 01:08:25,000 --> 01:08:30,000 eta leku bat eta ondorioz 4 gigabyte deituko dugun. 984 01:08:30,000 --> 01:08:37,000 Benetan ez dut idazten. Man, hacked da. 985 01:08:37,000 --> 01:08:40,000 Zure programa exekutatzen denean 986 01:08:40,000 --> 01:08:44,000 sistema eragilearen carves RAM, 987 01:08:44,000 --> 01:08:51,000 eta segmentu ezberdinak zehazten programa sartu bizi zati ezberdinetan 988 01:08:51,000 --> 01:08:58,000 Hemen Down Arlo honetan inoren lurralde baten antzeko zerbait da. 989 01:08:58,000 --> 01:09:02,000 Igo zara pixka bat urrunago hemen 990 01:09:02,000 --> 01:09:05,000 duzun got benetan lekuan 991 01:09:05,000 --> 01:09:09,000 zure programa bizitza kodea. 992 01:09:09,000 --> 01:09:13,000 Hori benetako bitar-kodea, fitxategi exekutagarri hori benetan lortzen memorian kargatu 993 01:09:13,000 --> 01:09:17,000 programa bat exekutatzen baduzu, bizi da, eta kode-segmentua da. 994 01:09:17,000 --> 01:09:22,000 Eta zure programa exekutatzen prozesadorearen kodea segmentu honen begiratzen 995 01:09:22,000 --> 01:09:24,000 out irudikatu hurrengo aginduarekin zer da? 996 01:09:24,000 --> 01:09:27,000 Exekutatu behar dut hurrengo kode lerro da? 997 01:09:27,000 --> 01:09:31,000 >> Ere datuak segmentu bat, eta hau da, non kate konstanteak horiek 998 01:09:31,000 --> 01:09:34,000 get gordetzen dira duzula erabiliz. 999 01:09:34,000 --> 01:09:42,000 Eta gero, urrunago sortu izeneko zeure leku hau. 1000 01:09:42,000 --> 01:09:46,000 Han memoria sartzeko malloc erabiliz, 1001 01:09:46,000 --> 01:09:49,000 eta, ondoren, oso programa goiko aldera 1002 01:09:49,000 --> 01:09:52,000 pila, 1003 01:09:52,000 --> 01:09:57,000 eta hori han dugu hasieratik gehienak jolasean. 1004 01:09:57,000 --> 01:09:59,000 Hau ez da eskala edo ezer. 1005 01:09:59,000 --> 01:10:03,000 Hau asko oso makina menpeko, 1006 01:10:03,000 --> 01:10:10,000 sistemaren menpe jarduten du, baina hori nahiko gauzak nola sortu chunked get. 1007 01:10:10,000 --> 01:10:17,000 Programa bat exekutatzen baduzu eta deitzen x-aldagai bat deklaratzeko 1008 01:10:17,000 --> 01:10:27,000 Kutxa behera beheko beste marraztu dut, eta hau RAM izan baita. 1009 01:10:27,000 --> 01:10:29,000 Eta begiratzen dut. 1010 01:10:29,000 --> 01:10:34,000 RAM sekzio txiki bat besterik ez da adierazi zorrotzak marrak marrazteko dugu 1011 01:10:34,000 --> 01:10:38,000 eta ez da goialdean dugu marraztu. 1012 01:10:38,000 --> 01:10:43,000 >> Deklaratzeko I izeneko x aldagaia zenbaki oso bat izanez gero, 1013 01:10:43,000 --> 01:10:49,000 orduan zer lortu actually I mapaketa 1014 01:10:49,000 --> 01:10:54,000 nire programa sinboloa taula hori gordeta 1015 01:10:54,000 --> 01:11:00,000 izena-x lotzen memoria eskualde honetan ditudan marraztuta 1016 01:11:00,000 --> 01:11:03,000 hementxe barra bertikalak artean. 1017 01:11:03,000 --> 01:11:08,000 X = 7 dioen nire programa daukat kode lerro bat bada 1018 01:11:08,000 --> 01:11:15,000 prozesadorearen daki "Oh, ados, badakit x kokapena memorian bizi da." 1019 01:11:15,000 --> 01:11:25,000 "Aurretik joan eta 7 bat idazteko bertan noa." 1020 01:11:25,000 --> 01:11:28,000 Nola jakin zer kokapena memorian? 1021 01:11:28,000 --> 01:11:30,000 Beno, hori konpilatzerakoan egin. 1022 01:11:30,000 --> 01:11:34,000 Konpilatzailea hartzen du arreta esleitzean non aldagai bakoitza joan 1023 01:11:34,000 --> 01:11:40,000 eta kartografia berezi bat sortuz edo, hobeto esanda, puntuak lotzen 1024 01:11:40,000 --> 01:11:43,000 Sinbolo eta non egingo da, aldagai baten izena artean 1025 01:11:43,000 --> 01:11:46,000 eta non memoria bizi da. 1026 01:11:46,000 --> 01:11:50,000 Baina bihurtzen da benetan sartzeko dugun gure programa baita. 1027 01:11:50,000 --> 01:11:55,000 Lortzen garrantzitsua da datu-egitura batzuk buruz hitz egiten hasten gara. 1028 01:11:55,000 --> 01:11:58,000 geroago aurkeztu behar dugun kontzeptu bat da. 1029 01:11:58,000 --> 01:12:09,000 >> Baina orain, zer jakin ahal izango duzu erakuslea sortu daiteke, kokaleku honetan, x. 1030 01:12:09,000 --> 01:12:12,000 Esate baterako, erakusle aldagai bat sortu ahal izango dut. 1031 01:12:12,000 --> 01:12:16,000 Erakuslearen aldagai bat sortzen dugu, star idazkera erabiliko dugu. 1032 01:12:16,000 --> 01:12:21,000 Kasu honetan, hau dio int bat erakuslea bat sortu nahi dut. 1033 01:12:21,000 --> 01:12:24,000 Mota bat da, beste edozein bezala. 1034 01:12:24,000 --> 01:12:27,000 Ematen dugu y bezalako aldagai bat, 1035 01:12:27,000 --> 01:12:32,000 eta, ondoren, berdintasuna, helbide, helbide bat ezarri dugu. 1036 01:12:32,000 --> 01:12:38,000 Kasu honetan, y ezarri ahal izango dugu x seinalatu 1037 01:12:38,000 --> 01:12:43,000 ampersand honekin x helbidea, egiten dugu, 1038 01:12:43,000 --> 01:12:55,000 eta, ondoren, y ezarri du seinalatu. 1039 01:12:55,000 --> 01:12:59,000 Zer da hau, funtsean, ez da gure RAM begiratuz gero 1040 01:12:59,000 --> 01:13:02,000 beste aldagai bat sortzen du. 1041 01:13:02,000 --> 01:13:04,000 Y deitu 1042 01:13:04,000 --> 01:13:06,000 eta kodea lerro hau exekutatzen denean 1043 01:13:06,000 --> 01:13:13,000 benetan erakuslea gezi bat normalean marrazteko dugu apur bat sortzeko, 1044 01:13:13,000 --> 01:13:15,000 eta y x seinalatu ezartzen du. 1045 01:13:15,000 --> 01:13:17,000 Bai. 1046 01:13:17,000 --> 01:13:19,000 [Student] x erakuslea da dagoeneko bada, ez besterik ez duzu 1047 01:13:19,000 --> 01:13:22,000 int * y = x ordez ampersand izatea? 1048 01:13:22,000 --> 01:13:24,000 Bai. 1049 01:13:24,000 --> 01:13:27,000 X erakuslea dagoeneko, eta ondoren 2 erakusleak bata bestearen berdinak ezarri ahal izango duzu, 1050 01:13:27,000 --> 01:13:30,000 kasu horretan, ez luke y x seinalatu 1051 01:13:30,000 --> 01:13:34,000 baina, edozein dela ere x seinalatuz seinalatu litzateke. 1052 01:13:34,000 --> 01:13:37,000 Zoritxarrez, denbora gara. 1053 01:13:37,000 --> 01:13:44,000 >> Zer esango nuke puntu honetan, offline honi buruz hitz egin ahal izango dugu, 1054 01:13:44,000 --> 01:13:49,000 baina esan arazo honen bidez, lan # 14 hasteko nuke. 1055 01:13:49,000 --> 01:13:53,000 Dagoeneko zuretzat bete pixka bat hemen ikusi ahal izango duzu. 1056 01:13:53,000 --> 01:13:57,000 Ikusten duzu 2 erakusleak aldarrikatzen dugu, int * x * y, 1057 01:13:57,000 --> 01:14:01,000 eta seinalatuz * aldagaia hurrengo ohar zerbait egin zen iaz. 1058 01:14:01,000 --> 01:14:05,000 Bihurtzen da, hau da, aurten zer ari gara egiten antzekoa. 1059 01:14:05,000 --> 01:14:11,000 Ez du axola non * idazten duzunean erakuslea deklaratzen ari zara. 1060 01:14:11,000 --> 01:14:17,000 Baina idatzi dugu, * hurrengo mota 1061 01:14:17,000 --> 01:14:24,000 horri esker, erakuslearen aldagai bat deklaratzen ari zaren oso argi duelako. 1062 01:14:24,000 --> 01:14:27,000 Ikus 2 erakusleak geratuko que nos 2 kutxak dezakezu. 1063 01:14:27,000 --> 01:14:31,000 Hemen x malloc berdintasuna ezarri dugu 1064 01:14:31,000 --> 01:14:34,000 Zer da hau esaten da, alde batera zeure en memoria. 1065 01:14:34,000 --> 01:14:41,000 Txiki hau kutxa hemen, zirkulu honetan, zeure gainean kokatzen da. 1066 01:14:41,000 --> 01:14:43,000 X da seinalatuz. 1067 01:14:43,000 --> 01:14:46,000 Kontuan izan, eta oraindik ez dago ezer seinalatuz. 1068 01:14:46,000 --> 01:14:50,000 Lortzeko memoria-kopurua 42 x sartu gorde 1069 01:14:50,000 --> 01:14:55,000 zer notazioa erabiliko genuke? 1070 01:14:55,000 --> 01:14:59,000 [Student] * x = 42. 1071 01:14:59,000 --> 01:15:01,000 Zehazki, * x = 42. 1072 01:15:01,000 --> 01:15:06,000 Horrek esan nahi du, gezi jarraitu eta 42 bota bertan. 1073 01:15:06,000 --> 01:15:09,000 Hemen y eta x y ezarri dugu dugu x seinalatuz. 1074 01:15:09,000 --> 01:15:13,000 Berriz ere, hori besterik ez like zer Kevin esan non y x berdinak ezarri dugu. 1075 01:15:13,000 --> 01:15:15,000 Y ez da x seinalatuz. 1076 01:15:15,000 --> 01:15:19,000 Izan ere, zer da, x, baita seinalatuz seinalatuz. 1077 01:15:19,000 --> 01:15:24,000 >> Eta gero, azkenik, azken koadroan daude 2 gauza posible izan dugu. 1078 01:15:24,000 --> 01:15:28,000 * X = 13 esan izan dugu. 1079 01:15:28,000 --> 01:15:33,000 Beste gauza da, esan-Alex izan dugu, ez badakizu zer egiten dugu hemen? 1080 01:15:33,000 --> 01:15:37,000 Esan dezakegu * x = 13 or- 1081 01:15:37,000 --> 01:15:41,000 [Student] int edozein dela ere esan izan duzu. 1082 01:15:41,000 --> 01:15:45,000 [Nate H.] ziren bada bat int aldagai gisa aipatzen egin genezake. 1083 01:15:45,000 --> 01:15:49,000 Ere esan izan dugu, * y = 13 ari dira, bai. Izan ere, leku berean seinalatuz, 1084 01:15:49,000 --> 01:15:51,000 beraz, aldakorra bai erabili izan dugu iritsi. 1085 01:15:51,000 --> 01:15:56,000 Bai. >> [Student] Zer izango litzateke, bada atsegin esatea besterik ez dugu, int x 13 itxura? 1086 01:15:56,000 --> 01:16:00,000 Hori geratuko litzateke izeneko x aldagai berri bat, eta horrek ez luke funtzionatuko. 1087 01:16:00,000 --> 01:16:04,000 Talka izan genuen deklaratu x erakuslea bat sortu hemen delako. 1088 01:16:04,000 --> 01:16:10,000 [Student] besterik ez dugu izan bada, adierazpena berak zer egingo itxura zirkulua dagokionez? 1089 01:16:10,000 --> 01:16:14,000 Izan dugu x = 13 gero, kutxa bat izan genuen, eta gezi bat izan beharrean 1090 01:16:14,000 --> 01:16:16,000 Datozen koadroan marraztu genuke, besterik gabe, 13. 1091 01:16:16,000 --> 01:16:19,000 [Student] koadroan. Ongi da. 1092 01:16:19,000 --> 01:16:24,000 >> Eskerrik asko ikusteko, eta zorte ona Quiz 0. 1093 01:16:24,000 --> 01:16:28,000 [CS50.TV]