1 00:00:00,000 --> 00:00:01,940 [Powered by Google Translate] [Bisita gidatua - Arazoa Set 2] 2 00:00:01,940 --> 00:00:04,130 [Zamyla Chan - Harvard Unibertsitatea] 3 00:00:05,170 --> 00:00:07,490 [Hau CS50 da. CS50.TV] 4 00:00:07,490 --> 00:00:10,750 Guztiak eskubidea. Kaixo, guztioi, eta gidatua 2 ongietorria. 5 00:00:10,750 --> 00:00:14,330 Lehenik eta behin,, akabera pset 1 zoriondu nahi dut. 6 00:00:14,330 --> 00:00:18,140 Izan dela pixka bat gogorra izan da batzuk ezagutzen dut, 7 00:00:18,140 --> 00:00:20,460 izan zitekeen zure lehen programa informatiko idatzi duzula, 8 00:00:20,460 --> 00:00:24,500 baina gogoratu honen amaieran, atzera begiratu seihilekoan amaieran, 9 00:00:24,500 --> 00:00:29,820 pset 1 bilatuko duzu, eta esaten duzu, "Hey, egin nuen 5 minutu". 10 00:00:29,820 --> 00:00:35,700 Beraz, ezagutu eta konfiantza honen amaieran behin betiko duzu pset 1 aurkitu nahiko errazak. 11 00:00:35,700 --> 00:00:40,640 Baina, oraingoz lorpen handi bat da, eta ohitu ere egin zorionak. 12 00:00:40,640 --> 00:00:44,010 Orain ere, ohar bat azkar Bisita gidatua, haragi iritsi aurretik. 13 00:00:44,010 --> 00:00:48,340 Azkar ohar bat egin nahi dut, batzuetan, ez du behar adina denbora 14 00:00:48,340 --> 00:00:52,500 arazoa multzoa egiteko modu bakarra guztien bidez joan walkthroughs zehar 15 00:00:52,500 --> 00:00:56,140 eta ez bakarrik agian inplementazio mota 1 edo 2 ardatz 16 00:00:56,140 --> 00:00:57,750 bide hori egin dezake. 17 00:00:57,750 --> 00:01:01,970 Baina hori ez da egiteko beste modu bat, debekatuta duzula esateko. 18 00:01:01,970 --> 00:01:05,980 Daude askotan, informatika bezala, gauzak egiteko modu ugari, 19 00:01:05,980 --> 00:01:12,190 eta, beraz, behin betiko sentitzen free I aurkeztu baino agian irtenbide mota erabili. 20 00:01:12,190 --> 00:01:14,520 [2 pset: zifratze - Zamyla Chan - zamyla@cs50.net] 21 00:01:14,520 --> 00:01:17,160 [Pset2 - 0. A Galdera artikulua - 1. Caesar - 2. Vigenere] 22 00:01:17,160 --> 00:01:20,650 Guztiak eskubidea. Arazoa ezarri Beraz, 2: zifratze fun bat da. 23 00:01:20,650 --> 00:01:24,500 Again, pset behin galdera atal bat hasi duzu 24 00:01:24,500 --> 00:01:29,600 den zure ataletan egindako irakaskuntza esleitutako fellow. 25 00:01:29,600 --> 00:01:31,670 Ez gara hauen bitartez gidatua zehar, 26 00:01:31,670 --> 00:01:35,100 baina pset osatzeko zalantzarik gabe lagunduko du. 27 00:01:35,100 --> 00:01:38,100 Beraz, arazoa multzoa Caesar lehen zatia da. 28 00:01:38,100 --> 00:01:43,470 Eta horrela Caesar norbaiten igaroko zenbaki oso bat gako bat, 29 00:01:43,470 --> 00:01:48,420 eta testu-kate bat ematen dute enkriptatzeko izango duzu 30 00:01:48,420 --> 00:01:50,670 emateko eta atzera enkriptatutako gauza bat. 31 00:01:50,670 --> 00:01:56,050 Edonork ikusi Gabonetako Story A bada, ez dago ez dagoela adibide bat. 32 00:01:56,050 --> 00:01:59,090 Ondoren, bigarren zatia da arazoa multzoa Vigenere 33 00:01:59,090 --> 00:02:01,790 enkriptatze teknika aurreratuak. 34 00:02:01,790 --> 00:02:05,640 Eta, beraz, testu-zati bat encipher goaz, 35 00:02:05,640 --> 00:02:09,600 ordez, besterik gabe, zenbaki bakar bat izan ezik, benetan ari gara kodetzeko 36 00:02:09,600 --> 00:02:13,340 keyword erabiltzaileak emango digu. 37 00:02:16,270 --> 00:02:22,090 Ongi da, eta, beraz, lehen laukia gaur egun tresna benetan aparatuaren eguneratzeko. 38 00:02:22,090 --> 00:02:26,430 Gauzak ikusten genuke eztabaida taula gainean, hala nola "Zergatik ez du lan hau?" 39 00:02:26,430 --> 00:02:28,110 "Zergatik ez Submit 50 lan?" 40 00:02:28,110 --> 00:02:31,830 eta, askotan, irtenbide besterik ez da benetan zure tresna eguneratzeko. 41 00:02:31,830 --> 00:02:36,730 Eta, beraz, besterik ez duzu zure tresnaren sudo Yum-y leiho terminal batean exekutatu bada - 42 00:02:36,730 --> 00:02:40,040 Ez bai esaten da, eguneratu guztia - update, 43 00:02:40,040 --> 00:02:42,280 orduan zure-tresnaren beharra izanez gero eguneratu egingo dira. 44 00:02:42,280 --> 00:02:46,960 Eta jada ez du minik duzu tresnaren bertsio berriena badira. 45 00:02:46,960 --> 00:02:51,280 Ondoren, besterik ez da esan berria eguneratzeak ez dago erabilgarri eta batera lan egiten jarrai dezakezu. 46 00:02:51,280 --> 00:02:55,800 Baina hori ona da, nahiz eta denbora-tresna irekitzen duzun bakoitzean exekutatu 47 00:02:55,800 --> 00:02:57,140 Oraindik dugu oraindik asko - 48 00:02:57,140 --> 00:03:00,320 aparatuaren konpontzen batzuetan bug batean iritsiko gara gero. 49 00:03:00,320 --> 00:03:03,180 Beraz, ziurtatu tresnaren azken bertsioa duzula 50 00:03:03,180 --> 00:03:07,710 eta exekutatu eguneratzeko dagoela. 51 00:03:07,710 --> 00:03:14,360 Guztiak eskubidea. Beraz, geroztik letrekin ari gara eta aurre aldatuz, gauzak enciphering 52 00:03:14,360 --> 00:03:20,410 benetan gure taula ASCII lagun onena bihurtu nahi dugu. 53 00:03:20,410 --> 00:03:24,350 Ugari daude: batzuk online, aurkitzen baduzu. Agian egin zeure. 54 00:03:24,350 --> 00:03:29,950 Funtsean, gutun behin eta zenbaki bakoitzeko eta pertsonaia bakoitzak 55 00:03:29,950 --> 00:03:32,210 haiekin lotutako zenbaki bat da, 56 00:03:32,210 --> 00:03:38,670 eta, beraz, oso ona da bere ASCII balioak ikusteko benetako gutun batera. 57 00:03:38,670 --> 00:03:42,310 Hori izango da, zalantzarik gabe lagunduko duzu arazoa multzoa. 58 00:03:42,310 --> 00:03:45,750 One gauza benetan lagundu dit arazoa multzo hau izan zen benetan inprimatu 59 00:03:45,750 --> 00:03:48,380 nintzen bidez joan, benetan nuke gainean marrazteko, 60 00:03:48,380 --> 00:03:51,150 idatzi, "hau joaten bada, orduan ..." 61 00:03:51,150 --> 00:03:55,270 Kind of marraztu eta markatu, zure taula ASCII lagun bihurtu da. 62 00:03:57,240 --> 00:04:00,750 Gero, beste tresna batzuk ditugu gure eskura. 63 00:04:00,750 --> 00:04:03,750 Oraingoan, ordez beren sarrera guztiak benetan erabiltzaileari galdetu 64 00:04:03,750 --> 00:04:05,230 konbinazio bat egin dugu. 65 00:04:05,230 --> 00:04:06,880 Sarrera batzuen gonbita ari gara, 66 00:04:06,880 --> 00:04:11,350 baina ari gara, halaber, komando-lerroko argumentuak erabili. 67 00:04:11,350 --> 00:04:15,600 Beraz, bere programa exekutatzen dute, normalean. Diozu / hello, esate baterako, 68 00:04:15,600 --> 00:04:17,310 zure programa izan zen hello.c bada. 69 00:04:17,310 --> 00:04:22,500 Baina une honetan besterik ez da esaten ordez, hitzak, argudioak jarri ahal izango dute gero. 70 00:04:22,500 --> 00:04:27,210 Eta horrela erabili dugu, edozein izanda ere pasatzen digu beren sarrera baita, 71 00:04:27,210 --> 00:04:31,720 beraz, besterik ez osokoa galdetu haratago mugitzen, baina, halaber, komando lerroko argumentuak erabiliz. 72 00:04:31,720 --> 00:04:36,590 Eta, ondoren, array-ak eta kateak, asko erabili beharko dugu baita dugu. 73 00:04:41,460 --> 00:04:44,810 Hona hemen 1 ASCII taula mini adibide bat besterik ez da. 74 00:04:44,810 --> 00:04:48,460 Esan dudan bezala, gutun bakoitzak zenbaki bat dagokio, 75 00:04:48,460 --> 00:04:52,510 eta, beraz, ezagutzea zeure burua horretan. Handy izango da. 76 00:04:52,510 --> 00:04:55,610 Eta geroago ASCIIMath batzuk zenbakiak aurre egiten hasten gara 77 00:04:55,610 --> 00:05:00,110 gehituz, horiek kenduz gero, behin betiko ona taula hau aipatzeko. 78 00:05:02,860 --> 00:05:06,920 Zerbait jokatu duzu - Beraz hemen Zesarrek zifratze bat adibide. 79 00:05:06,920 --> 00:05:11,190 Gurpil bat besterik ez da. Funtsean, ez dago kanpoko alfabeto bat da, eta, ondoren, dago barne alfabeto bat da. 80 00:05:11,190 --> 00:05:15,290 Beraz, hementxe Caesar Zifraketa baina 0 gako bat adibide bat da. 81 00:05:15,290 --> 00:05:21,540 Funtsean, A A lerrokatuta, B B lerrokatuta, guztiak modu Z. 82 00:05:21,540 --> 00:05:26,590 Baina gero esan 3 gako bat nahi dugu, esate baterako. 83 00:05:26,590 --> 00:05:33,280 Ondoren, barruko gurpila biratu genuke, beraz, A, D, etab aligns 84 00:05:33,280 --> 00:05:35,250 Eta, beraz, hau da, funtsean, zer egin behar dugu. 85 00:05:35,250 --> 00:05:38,340 Ez dugu gurpila, baina zer egin behar dugu gure programa egin da 86 00:05:38,340 --> 00:05:44,490 mota mugitu alfabetoaren gurekin batera zenbaki-kopuru jakin bat. 87 00:05:44,490 --> 00:05:48,650 Beraz, aurretik esan dut, komando-lerroko argumentu aurre goaz 88 00:05:48,650 --> 00:05:50,390 baita zenbaki oso bat lortzeko. 89 00:05:50,390 --> 00:05:55,050 Beraz, erabiltzaile bat zure Caesar programa exekutatzen esaten da. / Caesar 90 00:05:55,050 --> 00:05:58,090 eta, ondoren, zenbaki bat sartuz, ondoren. 91 00:05:58,090 --> 00:06:01,130 Eta zenbaki hori gakoa, aldaketa bat adierazten du, 92 00:06:01,130 --> 00:06:06,740 zenbat aldiz Zesarrek zifratze barne gurpila biratzen ari zaren. 93 00:06:06,740 --> 00:06:08,390 Eta, beraz, hemen adibide bat ikusiko duzu. 94 00:06:08,390 --> 00:06:14,550 A L letrak sartu dugu gure Zesarrek zifratze 95 00:06:14,550 --> 00:06:19,520 ondoren, sarrera D O 3 aldiz baino gehiago desplazatzen gutun bakoitzak delako litzateke, 96 00:06:19,520 --> 00:06:22,080 erakutsi dizut gurpila adibide bezala. 97 00:06:22,080 --> 00:06:25,300 Orduan sartu baduzu, esate baterako, hau CS50 da! 98 00:06:25,300 --> 00:06:27,960 ondoren ere mugitu letrak. 99 00:06:27,960 --> 00:06:31,040 Eta hori Caesar eta Vigenere gauza garrantzitsu bat 100 00:06:31,040 --> 00:06:34,890 ari garen ez-letrak edozein saltatzeko. 101 00:06:34,890 --> 00:06:39,160 Edozein espazio, pertsonaiak, eta abar, zenbakiak, beraz, horiek bera mantendu dugu. 102 00:06:39,160 --> 00:06:42,920 Bakarrik ari gara letrak filmea, kasu honetan gertatzen. 103 00:06:42,920 --> 00:06:45,870 Beraz, ikus gurpilean, letrak bakarrik izan dugu gurekin, 104 00:06:45,870 --> 00:06:50,150 beraz, nahi dugu hizkiak mugitzeko eta letrak enkriptatzeko. 105 00:06:51,370 --> 00:06:56,720 Beraz, lehenengo gauza egin, ikusi duzu Caesar erabilera arazo ezarri 2 106 00:06:56,720 --> 00:07:05,280 Caesar exekutatu da, eta, ondoren, zenbaki bat sartu exekutatu terminalean. 107 00:07:05,280 --> 00:07:10,940 Beraz, zer egin behar dugu, nolabait, tekla eta sartzeko. 108 00:07:10,940 --> 00:07:14,730 Eta horrela, nolabait, ikusi komando-lerroko argumentu bigarren izango da joan nahi dugu. 109 00:07:14,730 --> 00:07:20,950 Lehen da. / Caesar izango da, eta hurrengo gako-kopurua izango da. 110 00:07:22,190 --> 00:07:29,200 Beraz, aurretik int main (void) izan genuen gure C programak hasteko. 111 00:07:29,200 --> 00:07:31,790 Apur bat itzuli azala geruza bat ari gara 112 00:07:31,790 --> 00:07:34,720 eta benetan ikusi void gure funtzio nagusia pasatzerakoan ordez 113 00:07:34,720 --> 00:07:37,920 benetan ari gara 2 parametro aurre. 114 00:07:37,920 --> 00:07:44,070 Izeneko int argc bat izan genuen, eta, ondoren, kateen array izeneko argv. 115 00:07:44,070 --> 00:07:46,030 Beraz argc oso bat da, 116 00:07:46,030 --> 00:07:49,640 eta zure programa onartutako argumentuen kopurua adierazten du. 117 00:07:49,640 --> 00:07:53,590 Eta gero, argv benetan zerrendan gainditu argudioak. 118 00:07:53,590 --> 00:08:00,820 Argumentuak guztiak kateak dira, eta beraz, argv array bat, zerrenda bat, kateak adierazten du. 119 00:08:01,830 --> 00:08:03,990 Dezagun array apur bat buruz hitz egin. 120 00:08:03,990 --> 00:08:05,940 Arrayak funtsean, datu berriak egitura dira. 121 00:08:05,940 --> 00:08:09,660 Ints ditugu, bikoiztu egin dugu, kateak behar dugu, eta, gaur egun, array dugu. 122 00:08:09,660 --> 00:08:13,820 Arrayak datuen egitura mota bereko hainbat balore mantendu ahal izango dira, 123 00:08:13,820 --> 00:08:18,320 beraz, funtsean, edozein izanda ere mota nahi duzun zerrenda. 124 00:08:18,320 --> 00:08:24,400 Funtsean, nahi duzun 1 aldagai zenbaki osoen zerrenda bat bada, 125 00:08:24,400 --> 00:08:29,090 ondoren, aldagai mota int array berri bat sortu nahi duzun. 126 00:08:29,090 --> 00:08:34,450 Beraz, array dira zero-indexatuetan, array elementu lehenengo indizea 0 zentzua. 127 00:08:34,450 --> 00:08:41,799 Array luzera 4, adibide honetan bezala bada, orduan zure azken elementuaren indizea 3 izango da, 128 00:08:41,799 --> 00:08:44,810 1 - 4. 129 00:08:45,940 --> 00:08:48,420 Beraz, array sortzeko, honen antzeko zerbait egin nahi duzu. 130 00:08:48,420 --> 00:08:51,440 Esan double array bat nahi duzu. 131 00:08:51,440 --> 00:08:56,520 Datu-mota edozein doa, baina. 132 00:08:56,520 --> 00:09:00,210 Beraz, esan double array bat nahi duzu. Esan du postontzira deitzeko nahi duzun. 133 00:09:00,210 --> 00:09:04,760 Just bezalako beste bikoitza edozein hasieratu nahi duzun, 134 00:09:04,760 --> 00:09:09,760 esan bikoitza eta, ondoren, nahi duzun izena, baina oraingo honetan dugu karratu parentesi artean jarri, 135 00:09:09,760 --> 00:09:13,570 eta, ondoren, zenbaki array luzera izango da. 136 00:09:13,570 --> 00:09:16,840 Kontuan array dela ezin dugu inoiz aldatu luzera, 137 00:09:16,840 --> 00:09:21,230 beraz, beti zenbat kutxak eta definitzeko aukera 138 00:09:21,230 --> 00:09:25,440 zenbat balio array zain. 139 00:09:25,440 --> 00:09:31,820 Beraz, zure array balio desberdinak ezartzeko, ondoko sintaxia hau erabili ahal izateko ari zaren, 140 00:09:31,820 --> 00:09:33,200 diapositiba ikusten duzun bezala. 141 00:09:33,200 --> 00:09:37,620 Duzu postontzi indizea 0 1,2 izango da, 142 00:09:37,620 --> 00:09:42,180 postontzi indizea 1 2,4 jaurtiketa, etab. 143 00:09:42,180 --> 00:09:47,910 Beraz, gaur egun ditudan berrikusi array pixka bat, goazen atzera argc eta argv. 144 00:09:47,910 --> 00:09:52,220 Argv kateak array bat dela jakin dugu. 145 00:09:52,220 --> 00:09:55,080 Beraz, erabiltzaileak bat pasatzen diote programa bat exekutatzen ari dira 146 00:09:55,080 --> 00:09:58,740 diote / kaixo David Malan 147 00:09:58,740 --> 00:10:05,160 zer programa dagoeneko da benetan zatoz gora egingo argc eta argv dira. 148 00:10:05,160 --> 00:10:07,620 Beraz, ez duzu kezkatu beharrik. 149 00:10:07,620 --> 00:10:14,370 Kasu honetan Argc 3 izango litzateke, ikusten da 3 desberdin zuriunez bereizita hitz dituelako. 150 00:10:14,370 --> 00:10:18,850 Eta, beraz, ondoren, kasu honetan array, lehen indizea. Izango litzateke / hello, 151 00:10:18,850 --> 00:10:21,770 hurrengoa David, hurrengo Malan. 152 00:10:21,770 --> 00:10:25,640 Does Edozeinek berehala ikusten zer argv arteko harremana, 153 00:10:25,640 --> 00:10:28,990  array, eta argc da? 154 00:10:32,820 --> 00:10:38,090 Bai. Horretan dugu args.c. adibide bat 155 00:10:38,090 --> 00:10:42,880 Ikus dezagun abantaila hartzen badugu arteko erlazioa 2. 156 00:10:42,880 --> 00:10:46,550 Hemen aurkitu dezakezu aparatuaren aplikazio lehenetsirik 157 00:10:46,550 --> 00:10:49,450 c fitxategiak ireki da batzuetan Emacs. 158 00:10:49,450 --> 00:10:54,660 Baina gedit aurre egiteko nahi dugu, zer egin dezakezu eskuineko klik egin dezakezu zure C fitxategia da, beraz, 159 00:10:54,660 --> 00:11:04,580 Properties joan, ireki, eta, ondoren, gedit, Ezarri lehenetsi gisa aukeratzeko, 160 00:11:04,580 --> 00:11:13,020 eta orain zure programa behar gedit ordez Emacs ireki. 161 00:11:14,710 --> 00:11:16,290 Perfect. 162 00:11:17,120 --> 00:11:25,520 Komando-lerroko argumentu bakoitza inprimatu nahi dut hemen programa bat daukat. 163 00:11:25,520 --> 00:11:32,050 Edozein erabiltzaileak input Beraz, funtsean itzuliko da berriro lerro berri bat nahi dut. 164 00:11:32,050 --> 00:11:36,710 Beraz, zer da egitura bat baino gehiago batetik bestera joateko, zerbait erabili ahal izango da, 165 00:11:36,710 --> 00:11:40,380 zerbait seguruenik 1 pset erabili? 166 00:11:40,380 --> 00:11:45,840 Gauza zenbaki bat ezarri bidez joan nahi duzu bada? >> [Ikasleak] loop For. 167 00:11:45,840 --> 00:11:48,910 Loop. Hain zuzen ere. Hargatik loop for hasteko. 168 00:11:48,910 --> 00:11:56,900 Int i = 0 dugu. Dezagun estandar bat Hasieratzea aldakorreko hasteko. 169 00:11:56,900 --> 00:12:02,370 Baldintza multzo bat utzi eta, ondoren, esan + + i, gauzak egin egingo dut. 170 00:12:02,370 --> 00:12:04,090 Guztiak eskubidea. 171 00:12:04,090 --> 00:12:11,590 Beraz, atzera pentsatzen argv, argv pasa den programa argumentuak zerrenda 172 00:12:11,590 --> 00:12:15,380 eta argc argumentu kopurua programa da, 173 00:12:15,380 --> 00:12:21,280 Orduan, esan nahi du argc funtsean argv luzera, eskubidea da, 174 00:12:21,280 --> 00:12:28,970 daude argc balio bezala argumentu asko direlako. 175 00:12:28,970 --> 00:12:35,910 Beraz, bada, baino gehiago, elementu bakoitzaren argv batetik bestera joateko nahi dugu, 176 00:12:35,910 --> 00:12:43,290 aldi bakoitzean sartzeko argv aldagai emandako indizea nahi dugu. 177 00:12:43,290 --> 00:12:49,060 Hori irudika daitezke, ezta? 178 00:12:49,060 --> 00:12:53,430 Aldagai hau hemen katea kasu honetan, bereziki, adierazten du 179 00:12:53,430 --> 00:12:57,030 delako kate array bat eman indizea kate jakin. 180 00:12:57,030 --> 00:13:00,690 Zer egin nahi dugu, kasu honetan inprimatu nahi dugu, eta, beraz, demagun printf. 181 00:13:00,690 --> 00:13:04,680 Eta orain, argv kate bat da, beraz, biltegian bertan jarri nahi dugu. 182 00:13:04,680 --> 00:13:08,430 Lerro berri bat da, besterik gabe, itxura ona izan dadin nahi dugu. 183 00:13:08,430 --> 00:13:12,530 Beraz, hemen begizta bat behar dugu. Ez dugu oraindik baldintza. 184 00:13:12,530 --> 00:13:20,020 Beraz hasten 0 i, eta, ondoren, aldi bakoitzean emandako katea inprimatu 185 00:13:20,020 --> 00:13:22,980 array, bereziki indizea hartan. 186 00:13:22,980 --> 00:13:28,410 Beraz, noiz array elementuak inprimatzeko geldiarazi nahi dugu? 187 00:13:28,410 --> 00:13:35,720 Amaitutakoan dugu, ezta? Dugu array amaiera iritsi denean. 188 00:13:35,720 --> 00:13:38,870 Beraz, ez dugu nahi array luzera iragana gainditu, 189 00:13:38,870 --> 00:13:43,700 eta badakigu ez dugu behar benetan aktiboki jakin zer argv luzera 190 00:13:43,700 --> 00:13:47,520 delako gurekin, eta zer da hori? Argc. Hain zuzen ere. 191 00:13:47,520 --> 00:13:56,640 Beraz, hau prozesu argc zenbat aldiz egin nahi dugu. 192 00:13:56,640 --> 00:13:59,550 Ez dut eskuineko direktorioa. 193 00:14:02,100 --> 00:14:03,490 Guztiak eskubidea. 194 00:14:03,490 --> 00:14:08,990 Egin dezagun argumentuak. Akatsik ez, handia da. 195 00:14:08,990 --> 00:14:11,430 Hargatik aski da argumentuak. 196 00:14:11,430 --> 00:14:15,130 Zer da hau? Gurekin itzultzeko? Besterik ez da inprimatu. 197 00:14:15,130 --> 00:14:18,320 "Argumentuak sartu duzu programa horretan; emateko itzuli egingo naiz." 198 00:14:18,320 --> 00:14:23,170 Hargatik esaten argumentuak gero, foo bar esan nahi dugu. 199 00:14:23,170 --> 00:14:26,570 Orduan bistaratzen da gurekin. Guztiak eskubidea? 200 00:14:26,570 --> 00:14:30,790 Beraz, argc eta argv nola erabili ahal izango duzu adibide bat da 201 00:14:30,790 --> 00:14:33,460 argc hori ezagutu argv luzera adierazten du. 202 00:14:33,460 --> 00:14:42,750 Ziurtatu ez duzula inoiz array sarbide bat array luzera haratago 203 00:14:42,750 --> 00:14:45,140 C-k behin betiko egingo duzulako at oihukatzeko. 204 00:14:45,140 --> 00:14:47,560 Zerbait segmentaziuo hutsegitea izeneko jasoko dituzu, 205 00:14:47,560 --> 00:14:52,470 eta ez da inoiz fun, funtsean zerbait sartzeko saiatzen ari zaren esaten 206 00:14:52,470 --> 00:14:55,000 hori ez da existitzen, ez da zurea. 207 00:14:55,000 --> 00:14:59,430 Beraz, ziurtatu, eta, batez ere, zero-indexatzeko, ez dugu nahi - 208 00:14:59,430 --> 00:15:02,390 Adibidez bezala, dugu luzera 4 array bat izanez gero, 209 00:15:02,390 --> 00:15:07,240 hori array indizea 4 ez da existitzen 0 hasten delako, zero indizea. 210 00:15:07,240 --> 00:15:11,730 Bigarren izaera bihurtu izango da besterik ez loops bezala noiz hasten 0 dugu. 211 00:15:11,730 --> 00:15:13,610 Beraz, mantentzeko kontuan hartu behar duten. 212 00:15:13,610 --> 00:15:22,590 Ez duzu nahi zure eskura haratago array indizea inoiz sartzeko. 213 00:15:26,710 --> 00:15:32,560 Beraz, ikus dezakegu nola sarbide mota 214 00:15:32,560 --> 00:15:35,930 komando-lerroko argumentuak diren gainditu sartu 215 00:15:35,930 --> 00:15:41,330 Baina ikusi duzu katea, argv kate multzo bat da, benetan. 216 00:15:41,330 --> 00:15:45,740 Beraz, benetan da ez da zenbaki oso bat oraindik, baina Caesar osoko zenbakien aurre egiteko nahi dugu. 217 00:15:45,740 --> 00:15:54,430 Zorionez, ez funtzioa Gurekin benetan bihurtzeko kate bat zenbaki oso bat sortu da. 218 00:15:54,430 --> 00:15:58,710 Era berean, hemen ez dira erabiltzailearen sarrera non ari garen galdetu aurre 219 00:15:58,710 --> 00:16:03,740 sarrera hemen gakoa, eta, beraz, ezin dugu benetan reprompt eta esan, 220 00:16:03,740 --> 00:16:07,840 "Oh, eman dit osokoa beste, esan, ez bada baliozkoa." 221 00:16:07,840 --> 00:16:10,540 Baina oraindik ez dugu erabilera zuzena egiaztatu behar da. 222 00:16:10,540 --> 00:16:13,520 Caesar soilik onartzen dira zenbaki 1 pasatzeko, 223 00:16:13,520 --> 00:16:18,030 eta, beraz exekutatu. / Caesar dute eta, ondoren, zenbaki bat eman dute. 224 00:16:18,030 --> 00:16:23,660 Beraz argc kopuru jakin bat izango du. 225 00:16:23,660 --> 00:16:29,060 Zein zenbaki izango litzateke gainditu behar dute. / Zesarrek eta gero gako bat bada? 226 00:16:29,060 --> 00:16:32,920 Zer da argc? >> [Ikasleak] 2. >> Bi. Hain zuzen ere. 227 00:16:32,920 --> 00:16:35,490 Beraz, ziur argc dela 2 egin nahi duzu. 228 00:16:35,490 --> 00:16:39,620 Bestela uko egin, funtsean, programa exekutatu. 229 00:16:39,620 --> 00:16:43,040 Nagusian int nagusiak esaten duen funtzio bat da, 230 00:16:43,040 --> 00:16:47,360 dugu beti bueltan praktika onen programa arrakastatsua amaieran 0. 231 00:16:47,360 --> 00:16:50,840 Beraz, esan, bada, ematen dute 3 komando-lerroko argumentuak ordez 2 232 00:16:50,840 --> 00:16:54,350 emango dizu edo 1, esate baterako, eta gero zer egin ahal izango duzu dela egiaztatu nahi duzu 233 00:16:54,350 --> 00:16:59,900 eta, ondoren, itzuli 1, esaten ez, ezin dut programa honekin jarraitzeko. 234 00:16:59,900 --> 00:17:03,190 [Ikasleak] egon daiteke ez da zure testua espazio bat izango da. >> Pardon me? 235 00:17:03,190 --> 00:17:06,780 [Ikasleak] ezin enkriptatzeko saiatzen ari zaren testua espazio bat izango da. 236 00:17:06,780 --> 00:17:08,480 Ah! 237 00:17:08,480 --> 00:17:11,280 Enkriptatzeko saiatzen ari garen testua dagokionez, benetan geroago dator 238 00:17:11,280 --> 00:17:13,970 testua ematen dugu. 239 00:17:13,970 --> 00:17:18,260 Beraz, oraintxe bertan, besterik gabe ari gara komando argumentuak gisa benetako kopurua, onartu 240 00:17:18,260 --> 00:17:21,579 Caesar enkriptatze shift benetako. 241 00:17:21,579 --> 00:17:27,569 [Ikasleak] Zergatik behar duzu. 2 1 argc aurrean? Oraindik ez da behin betiko zenbaki 1. 242 00:17:27,569 --> 00:17:32,200 Eskuin. Zergatik 2 behar dugu argc ordez 1 243 00:17:32,200 --> 00:17:36,260 programa bat exekutatu eta esan delako. / Zesarren edo / hello, 244 00:17:36,260 --> 00:17:38,280 komando lerroko argumentu gisa benetan zenbatzen. 245 00:17:38,280 --> 00:17:43,020 Orduan jada hartzen du 1 eta beraz, ondoren, 1 extra inputting ari gara. 246 00:17:45,030 --> 00:17:49,440 Beraz, benetan ari zaren inputting komando-lerroko argumentu katea. 247 00:17:49,440 --> 00:17:52,730 Zer egin nahi duzu, César osoko batekin aurre egin nahi dugu, 248 00:17:52,730 --> 00:17:57,180 beraz, atoi funtzio hau erabili ahal izango duzu. 249 00:17:57,180 --> 00:18:02,850 Eta, batez ere, kate batean pasatzen duzu eta, ondoren, itzuliko da berriro osokoa 250 00:18:02,850 --> 00:18:06,070 katea osatzen duten zenbaki oso bat da, ahal izanez gero. 251 00:18:06,070 --> 00:18:10,960 Orain gogoratzen printf edo GetString, gauzak horrela aurre ari gara, 252 00:18:10,960 --> 00:18:13,390 diren liburutegiak gurekin espezifikoak ditugu. 253 00:18:13,390 --> 00:18:19,450 Beraz, hasiera-hasieratik hasten tag hash standard I / O, h, horrelako zerbait dugu. 254 00:18:19,450 --> 00:18:22,430 Beno, atoi ez da liburutegi horien barruan, 255 00:18:22,430 --> 00:18:26,600 beraz, zer egin behar dugu horretarako eskuineko liburutegia ditugu. 256 00:18:26,600 --> 00:18:32,720 Beraz, gogora ekarri itzuli Bisita gidatua 1 eskuzko funtzioa non eztabaidatu dut. 257 00:18:32,720 --> 00:18:37,110 Man zure terminal idatzi duzu eta, ondoren, funtzio baten izena. 258 00:18:37,110 --> 00:18:39,720 Eta beraz, ekarriko ditu bere erabilera zerrenda osoa, 259 00:18:39,720 --> 00:18:42,890 baina baita ekarri duen liburutegia dela dagokion. 260 00:18:42,890 --> 00:18:47,000 Beraz, hori utziko dut atoi eskuzko funtzio erabili 261 00:18:47,000 --> 00:18:53,360 eta irudikatu zein liburutegian atoi funtzioa erabiltzeko gai izan behar duzu, besteak beste. 262 00:18:54,450 --> 00:18:57,670 Beraz, gakoa lortu dugu eta, orain, testu arrunta lortzean, 263 00:18:57,670 --> 00:19:01,820 eta, beraz, benetan erabiltzailearen sarrera non zuri galdetuko du. 264 00:19:01,820 --> 00:19:05,540 Tratatzen, GetInt eta GetFloat egiten dugu, eta, beraz, Ildo beretik 265 00:19:05,540 --> 00:19:07,670 GetString dira aurre dugu. 266 00:19:07,670 --> 00:19:12,440 Baina kasu honetan ez dugu behar do edozein egiteko edo, berriz, loops egiaztatu bitartean. 267 00:19:12,440 --> 00:19:14,480 GetString behin betiko ematen diguten kate bat, 268 00:19:14,480 --> 00:19:17,630 eta, edozein erabiltzaileari ematen digu enkriptatzeko goaz. 269 00:19:17,630 --> 00:19:23,770 Horiek erabiltzaileak idatzitako kateak denak ondo daudela, beraz dezakezu. 270 00:19:23,770 --> 00:19:24,670 Great. 271 00:19:24,670 --> 00:19:27,270 Orduan behin got duzun gakoa, eta behin lortu duzun testua 272 00:19:27,270 --> 00:19:31,660 zer utzi testu arrunteko encipher behar da duzu. 273 00:19:31,660 --> 00:19:36,530 Just azkar Lingo baino gehiago estaltzeko, testu arrunteko da zer ematen dio erabiltzaileari, 274 00:19:36,530 --> 00:19:41,030 eta ciphertext da zer itzuli dituzu. 275 00:19:42,450 --> 00:19:45,850 Kateak Beraz, benetan gutun bidez joan ahal izateko, eskutitz baten bidez 276 00:19:45,850 --> 00:19:48,550 dugu gutun behin filmea delako, 277 00:19:48,550 --> 00:19:51,390 kateak ulertzen dugu, bada mota back geruza zuritu, 278 00:19:51,390 --> 00:19:54,130 Oraindik dutela benetan karaktere zerrenda bat ikusiko dugu. 279 00:19:54,130 --> 00:19:55,930 Dator bat bestearen atzetik. 280 00:19:55,930 --> 00:20:01,690 Eta beraz, array gisa kateak tratatu ahal izango dugu karaktere array dira delako. 281 00:20:01,690 --> 00:20:05,640 Beraz, esan izeneko testu-kate bat behar duzu, 282 00:20:05,640 --> 00:20:09,400 eta testu hori aldakorra barruan gordetzen dira, hau da CS50. 283 00:20:09,400 --> 00:20:15,680 Ondoren, indizea 0 testua hiriburua T bat izango litzateke, indizea 1 izango litzateke h, eta abar. 284 00:20:17,530 --> 00:20:23,970 Eta, ondoren, array, argc Adibidez args.c 285 00:20:23,970 --> 00:20:27,090 izan dugun batetik bestera joateko array bat ikusi genuen. 286 00:20:27,090 --> 00:20:32,440 eta, beraz, i = 0 batetik bestera joateko sortu da i luzera baino gutxiago arte izan genuen. 287 00:20:32,440 --> 00:20:35,560 Beraz, kalkulatzen zer da gure katea luzera nolabait behar dugu 288 00:20:35,560 --> 00:20:37,090 badugu gainean batetik bestera joateko. 289 00:20:37,090 --> 00:20:42,300 Zorionez, berriz, ez dago funtzio bat orai da, geroago, nahiz eta on CS50 290 00:20:42,300 --> 00:20:45,860 behin betiko ahal izango duzu zure funtzioa egin eta martxan jarri ahal izateko 291 00:20:45,860 --> 00:20:48,260 kate baten luzera kalkula dezakegu. 292 00:20:48,260 --> 00:20:52,120 Baina orain, kate-luzera, beraz, strlen erabili dugu. 293 00:20:52,120 --> 00:21:00,440 Kate bat pasatzen duzu, eta, ondoren, itzuliko dizu zure katea luzera adierazten duen int. 294 00:21:00,440 --> 00:21:05,840 Dezagun nola ahal izango dugu, eta pertsonaia bakoitzari kate bat baino gehiago batetik bestera joateko dezaketen adibide bat begiratu 295 00:21:05,840 --> 00:21:08,470 eta zerbait egiten duten. 296 00:21:08,470 --> 00:21:13,250 Zer egin nahi dugun da kate batetik bestera joateko baino gehiago, eta pertsonaia bakoitzari, 297 00:21:13,250 --> 00:21:19,150 eta zer egin nahi dugun itzuli inprimatu da, eta pertsonaia bakoitzari 1 1 298 00:21:19,150 --> 00:21:22,060 gehitzen badiogu zerbait da hurrengo izan ezik. 299 00:21:22,060 --> 00:21:27,020 Hargatik loop for hasteko. Int i = 0. 300 00:21:27,020 --> 00:21:30,070 Tartea utzi behar baldintza dugu. 301 00:21:32,700 --> 00:21:36,840 Batetik bestera joateko nahi dugu katearen bukaera arte iritsiko gara, ezta? 302 00:21:36,840 --> 00:21:41,340 Orduan, zer funtzio ematen digu katearen luzera? 303 00:21:41,340 --> 00:21:43,160 [Inaudible ikaslearen erantzuna] 304 00:21:43,160 --> 00:21:46,420 Komando-lerroko argumentuak luzera. 305 00:21:46,420 --> 00:21:50,650 Baina kate bat funtzio bat ematen digu katearen luzera erabili nahi dugu. 306 00:21:50,650 --> 00:21:53,090 Beraz, katea luzera. 307 00:21:53,090 --> 00:21:57,130 Eta, beraz, gero kate bat pasatzeko aukera izango duzu. 308 00:21:57,130 --> 00:21:59,760 Katea luzera kalkulatu behar da jakin behar du. 309 00:21:59,760 --> 00:22:03,160 Orduan, kasu honetan, katea s aurre ari gara. 310 00:22:04,790 --> 00:22:05,860 Great. 311 00:22:05,860 --> 00:22:10,770 Orduan, zer egin nahi dugu, dezagun printf. 312 00:22:10,770 --> 00:22:14,850 Orain, pertsonaia aurre egiteko nahi dugu. Pertsonaia bakoitzak banakako inprimatu nahi dugu. 313 00:22:14,850 --> 00:22:22,150 Mugikor bat inprimatu nahi baduzu,% f bezalako biltegian erabili nahi duzun. 314 00:22:22,150 --> 00:22:24,580 Int batekin% d erabili nahi duzun. 315 00:22:24,580 --> 00:22:30,890 Eta, beraz, era berean, pertsonaia batekin% c erabiltzen duzun karaktere bat inprimatzeko dut esan nahi 316 00:22:30,890 --> 00:22:34,570 den aldagai baten barruan gordeta. 317 00:22:34,570 --> 00:22:40,840 Beraz, hau dugu, eta dezagun aldi bat eta espazio bat gehitu. 318 00:22:40,840 --> 00:22:45,430 Zein pertsonaia erabiltzen ari gara? 319 00:22:45,430 --> 00:22:49,780 Erabiltzen ari den edozein izanda ere karaktere-katea dugu goaz. 320 00:22:49,780 --> 00:22:52,890 Orduan erabiliz zerbait katea goaz, 321 00:22:52,890 --> 00:22:56,420 baina sartzeko zenbait pertsonaia nahi dugu. 322 00:22:56,420 --> 00:23:02,740 Beraz, kate bat besterik ez da array bat bada, eta gero nola ez array elementuak sartu dugu? 323 00:23:02,740 --> 00:23:06,480 Karratu parentesi artean horiek ditugu, eta, ondoren, indizearen jarri ditugu. 324 00:23:06,480 --> 00:23:11,820 Beraz, koadro parentesi artean dugu. Gure kasu honetan, indizea bakarrik erabili ahal izango dugu i. Hain zuzen ere. 325 00:23:15,290 --> 00:23:22,370 Beraz, hemen inprimatzeko karaktere ondoren puntu bat eta espazio bat dugu, esaten ari gara, 326 00:23:22,370 --> 00:23:30,870 eta izaera hori gure kate s gutun Ith izango da. 327 00:23:32,920 --> 00:23:39,330 Besterik ez dut gorde. Ongi da. 328 00:23:42,510 --> 00:23:46,840 Orain katea luzera exekutatu dut. 329 00:23:46,840 --> 00:23:53,440 Beraz, OMG izeneko kate bat izan genuen, eta gaur egun azpimarratu are gehiago. 330 00:23:53,440 --> 00:23:57,870 Era berean, dezagun benetan esan nahi dugu kate bat erabiltzaileak. 331 00:23:57,870 --> 00:23:59,580 Nola egiten dugu hori? 332 00:23:59,580 --> 00:24:01,610 Aurretik, nola ez int bat lortzen dugu? 333 00:24:01,610 --> 00:24:08,040 GetInt, ezta esan dugu? Baina hau ez da int, eta, beraz dezagun GetString. 334 00:24:11,780 --> 00:24:17,770 Egin dezagun katea luzera. Hemen ez dugu idatzi jakin gonbitean. 335 00:24:17,770 --> 00:24:19,940 Beraz, ez dakit. 336 00:24:19,940 --> 00:24:23,820 Hemen nire izena jarri dut eta, beraz, ondoren, gauza horiek bat egin dezake I 337 00:24:23,820 --> 00:24:29,600 non gutun behin edo horrelako zerbait hitz bat esleitzeko. Cool. 338 00:24:29,600 --> 00:24:31,900 Beraz, katea luzera. 339 00:24:33,000 --> 00:24:34,640 Beraz, hemen gara berriro Caesar. 340 00:24:34,640 --> 00:24:38,620 Nola batetik bestera joateko kate bat baino gehiago gara tresna batzuk ditugu, 341 00:24:38,620 --> 00:24:41,250 banakako elementu bakoitza nola sartu dugu. 342 00:24:41,250 --> 00:24:44,720 Beraz, gaur egun gara dezake programa. 343 00:24:44,720 --> 00:24:48,650 Aurretik, ASCII taulan, zure lagunik onena, aipatu bezala 344 00:24:48,650 --> 00:24:52,300 , gutun bakoitzean lotutako diren zenbakiak ikusteko duzu. 345 00:24:52,300 --> 00:24:55,900 Beraz, hemen esan da gure testu arrunteko zorabioak naiz! 346 00:24:55,900 --> 00:25:01,090 Ondoren, karaktere horietako bakoitzak zenbaki bat eta ASCII balioa lotutako 347 00:25:01,090 --> 00:25:04,710 are apostrophe, nahiz eta espazioa, nahiz eta harridura marka 348 00:25:04,710 --> 00:25:06,600 beraz, nahi hori mantentzeko kontuan hartu beharko duzu. 349 00:25:06,600 --> 00:25:12,360 Komando-lerroko argumentu sartuta bere erabiltzaile Beraz, esan gure gakoa dela 6. 350 00:25:12,360 --> 00:25:17,770 Gutun lehen, hau da, I, 73 by irudikatzen esan nahi du, 351 00:25:17,770 --> 00:25:25,610 itzultzeko 73 + 6 ASCII balioa edozein dela ere gutun irudikatzen nahi duzun. 352 00:25:25,610 --> 00:25:29,020 Kasu honetan, 79 izango litzateke. 353 00:25:30,840 --> 00:25:35,040 Orain du hurrengo karakterea joan nahi dugu. 354 00:25:35,040 --> 00:25:40,960 Arrunteko-indizea 1 Beraz, hurrengo apostrophe izango litzateke. 355 00:25:40,960 --> 00:25:46,780 Baina gogoratu nahi dugu, letrak encipher. 356 00:25:46,780 --> 00:25:50,040 Beraz, ziur apostrophe benetan egonaldiak gauza bera egin nahi dugu, 357 00:25:50,040 --> 00:25:54,310 ez dugu 39 hemendik 45 aldatu da. 358 00:25:54,310 --> 00:25:57,150 , Apostrophe gisa mantentzeko nahi dugu. 359 00:25:57,150 --> 00:26:00,780 Beraz, letrak soilik encipher gogoratu nahi dugu 360 00:26:00,780 --> 00:26:04,560 nahi dugulako beste sinbolo guztiak, gure programa ez da aldatuko. 361 00:26:04,560 --> 00:26:07,130 Nahi dugun beste gauza bat da, kapitalizazio zaintzeko. 362 00:26:07,130 --> 00:26:10,250 Beraz, maiuskulaz letra bat baduzu, maiuskulaz bat behar du lo. 363 00:26:10,250 --> 00:26:12,830 Lowercases behar, minuskulaz gisa jarraituko du. 364 00:26:13,620 --> 00:26:19,480 Beraz, funtzio erabilgarria batzuk bakarrik enciphering letrak aurre egiteko gai izan behar du 365 00:26:19,480 --> 00:26:22,380 eta mantentzeko gauza kapitalizazioa mantentzea 366 00:26:22,380 --> 00:26:25,130 isalpha, isupper, islower funtzioak. 367 00:26:25,130 --> 00:26:29,270 Eta, beraz, hauek funtzio boolearrak balio bat itzuli dira. 368 00:26:29,270 --> 00:26:34,180 Funtsean, egia edo gezurra. Maiuskulaz bat? Alfazenbakizkoak da hau? 369 00:26:34,180 --> 00:26:37,180 Gutun bat, hau da, funtsean. 370 00:26:37,180 --> 00:26:41,070 Hortaz, hona hemen 3 funtzio hori nola erabili nahi duzun adibide dira. 371 00:26:41,070 --> 00:26:47,060 Funtsean, probatzeko balio duen ala ez du funtzio hori ezin da egia edo gezurra 372 00:26:47,060 --> 00:26:49,400 sarrera horretan oinarritzen da. 373 00:26:49,400 --> 00:26:54,880 Edo do ez encipher zerbait edo zifratze edo ziurtatu dela, maiuskulaz, eta abar. 374 00:26:54,880 --> 00:27:01,080 [Ikasleak] Ezin azaldu besterik ez duzu horiek pixka bat gehiago eta nola erabiltzen duzu? >> Bai, ziur. 375 00:27:01,080 --> 00:27:08,470 Beraz, atzera begiratu dugu, hemen kapital I dugu, ezta? 376 00:27:08,470 --> 00:27:14,550 Beraz, doan dut O + 6 I delako O. badakigu 377 00:27:14,550 --> 00:27:18,740 Baina ziur O hiriburua O. izango egin nahi dugu 378 00:27:18,740 --> 00:27:22,940 Beraz, funtsean, gure sarrera aldatzeko mota da. 379 00:27:22,940 --> 00:27:26,870 Beraz ala ez maiuskulaz da edo ez mota aldatu duten dugu. 380 00:27:26,870 --> 00:27:32,360 Orduan, indize jakin isupper funtzioa erabiltzen badugu, 381 00:27:32,360 --> 00:27:36,480 beraz isupper ("I"), gurekin true itzultzen du, eta, beraz, hori goiko dakigu. 382 00:27:36,480 --> 00:27:40,360 Orduan horretan oinarritzen da, eta geroago, formula bat izan dugu joan 383 00:27:40,360 --> 00:27:42,750 duzula erabiltzen dugu gauzak mugitzeko Caesar, 384 00:27:42,750 --> 00:27:46,560 beraz, ondoren, funtsean, ez da hainbat formula apur bat izan behar da maiuskulaz bada 385 00:27:46,560 --> 00:27:50,670 aurrean minuskula. Zentzurik? 386 00:27:51,020 --> 00:27:52,760 Bai. Kezkak No. 387 00:27:54,900 --> 00:27:58,990 Pixka bat hitz egin dut 6 gehitzen gutun bat, eta horrek ez du nahiko zentzurik 388 00:27:58,990 --> 00:28:05,500 ulertzen mota izan ezik pertsonaia horiek 389 00:28:05,500 --> 00:28:08,920 Osoko zenbaki batekin truka mota dira. 390 00:28:08,920 --> 00:28:11,250 Zer egiten dugu mota erabilera casting inplizitua. 391 00:28:11,250 --> 00:28:18,100 Galdaketa sartu dugu pixka bat geroago, non balio bat hartu duzu eta piztu, mota 392 00:28:18,100 --> 00:28:20,440 jatorriz baino. 393 00:28:20,440 --> 00:28:25,910 Baina pset honekin mota interchangeably erabili karaktere gai gara 394 00:28:25,910 --> 00:28:30,880 eta dagozkien balio zenbaki oso. 395 00:28:30,880 --> 00:28:35,140 Beraz, bada, besterik gabe, encase pertsonaia bat single quotes, 396 00:28:35,140 --> 00:28:40,390 ondoren ahal izango du berarekin lan egin zenbaki osoko, osoko gisa aurre duzu. 397 00:28:40,390 --> 00:28:48,040 Beraz, kapital-C 67. F minuskula 102 erlazionatzen. 398 00:28:48,040 --> 00:28:51,480 Berriz ere, nahi baduzu, balio hauek jakin nahi izanez gero, zure taula ASCII begiratu. 399 00:28:51,480 --> 00:28:56,160 Hargatik nola kendu eta gehitzeko ahal izango duzu agian adibide batzuk sartzen joan, 400 00:28:56,160 --> 00:29:03,130 nola benetan dezakezu karaktere horiek benetan lan egin, erabili itzazu interchangeably. 401 00:29:03,870 --> 00:29:11,350 Diot ASCIIMath hori pertsonaia baten gain osokoa kalkulatzeko 402 00:29:11,350 --> 00:29:17,590 eta, ondoren, emaitzak, baita pertsonaia emaitzak ASCII balioa bistaratzen du. 403 00:29:17,590 --> 00:29:22,290 Eta beraz, hemen nago esaten - zati hau asko we'll geroago 404 00:29:22,290 --> 00:29:29,100 baina, funtsean, erabiltzaileari exekutatu ASCIIMath gako bat batera esan beharko dut esaten, 405 00:29:29,100 --> 00:29:30,880 eta gako hori da zenbakia izango naiz esaten 406 00:29:30,880 --> 00:29:34,600 dituen pertsonaia hau gehitzeko goaz. 407 00:29:34,600 --> 00:29:38,560 Hortaz, hona hemen nabarituko dut gako bat zorrotzak geroztik, 408 00:29:38,560 --> 00:29:40,590 naiz ari direla me emanez 1 gauza zorrotzak geroztik, 409 00:29:40,590 --> 00:29:45,600 Nahi dut soilik. / Asciimath eta tekla bat onartzeko. 410 00:29:45,600 --> 00:29:49,330 Beraz argc 2 berdina eskatzen dut. 411 00:29:49,330 --> 00:29:54,360 Ez bada, orduan itzuli 1 eta programatik irten egingo naiz. 412 00:29:55,070 --> 00:29:58,540 Beraz, gakoa ez da komando-lerroko argumentu lehen izango esaten dut, 413 00:29:58,540 --> 00:30:05,080 bigarren izan da, eta ikusten duzu hemen, 414 00:30:05,080 --> 00:30:11,790 Hori aktibatzeko zenbaki oso bat sartu dut. 415 00:30:15,740 --> 00:30:19,230 Ondoren, pertsonaia bat ezarri r izan dut. 416 00:30:19,230 --> 00:30:23,970 Oharra aldakorreko CHR mota zenbaki oso bat da, benetan. 417 00:30:23,970 --> 00:30:30,480 Single quotes hauekin encasing naiz r osoko gisa erabili dut. 418 00:30:33,850 --> 00:30:40,560 Beraz, gure printf adierazpena atzera non pertsonaia bat biltegia dugu 419 00:30:40,560 --> 00:30:43,590 eta gero, zenbaki oso bat biltegia, 420 00:30:43,590 --> 00:30:49,450 pertsonaia CHR bidez irudikatzen da, eta zenbaki gakoa da. 421 00:30:49,450 --> 00:30:54,320 Eta, beraz, ondoren, emaitza gehitu 2 elkarrekin goaz. 422 00:30:54,320 --> 00:30:58,420 Beraz, r gehitzeko goaz + edozein gakoa, 423 00:30:58,420 --> 00:31:03,520 eta, ondoren, horren emaitza inprimatzeko goaz. 424 00:31:06,210 --> 00:31:14,220 Hargatik asciimath. Sortu da orain arte, eta, beraz dezagun aski da asciimath. 425 00:31:14,220 --> 00:31:18,290 Oh, baina, ez du ezer egiten genuen, ez delako benetan eman gako bat. 426 00:31:18,290 --> 00:31:23,850 Beraz, itzuli besterik ez da 1, gure funtzio nagusia, itzuli besterik ez da berriro gurekin. 427 00:31:23,850 --> 00:31:29,250 Orduan utzi gako bat pasatzeko. Norbaitek eman dit zenbaki bat. >> [Ikasleak] 4. 428 00:31:29,250 --> 00:31:30,920 4. Ongi da. 429 00:31:30,920 --> 00:31:39,280 Beraz, r 4 digute v, 118 ASCII balioa dagokio hazi. 430 00:31:39,280 --> 00:31:43,880 Orduan egiten mota Ildo horretan 431 00:31:43,880 --> 00:31:51,250 Egia esan, eskatzen dut, zer r ASCII balioa r + 4 118 bada uste duzu? 432 00:31:53,070 --> 00:31:55,470 Ondoren, yeah, r 114. 433 00:31:55,470 --> 00:32:03,010 ASCII taula hala badagokio bilatzen baduzu, orduan, nahikoa ziur, ikus r hori 114 irudikatzen duzu. 434 00:32:03,010 --> 00:32:08,610 Beraz, gaur egun ezagutzen dugun osoko zenbakien gehitu ahal izango dugun pertsonaia, badirudi nahiko erraza da. 435 00:32:08,610 --> 00:32:12,740 Ari gara kate bat baino gehiago batetik bestera joateko aurretik adibide bat ikusi dugu bezala. 436 00:32:12,740 --> 00:32:17,170 Gutun bat egiaztatu dugu. 437 00:32:17,170 --> 00:32:20,420 Bada, orduan filmea dugu edozein gakoa da. 438 00:32:20,420 --> 00:32:23,650 Pretty simple, nahi duzu izan ezik, 439 00:32:23,650 --> 00:32:32,140 z, 122 by irudikatzen, gero emango luke beste pertsonaia bat ikusiko duzu. 440 00:32:32,140 --> 00:32:37,770 Benetan nahi dugu gure alfabetoa barruan mantendu beharko da, ezta? 441 00:32:37,770 --> 00:32:43,180 Beraz, inguruan biltzeko mota nolabait irudikatu behar dugu. 442 00:32:43,180 --> 00:32:47,190 Noiz Zed helduko zara eta kopuru jakin bat handitu nahi baduzu, 443 00:32:47,190 --> 00:32:51,230 alfabetoaren ASCII haratago joan nahi ez duzun; 444 00:32:51,230 --> 00:32:54,140 atzera biltzeko modu guztiak A. nahi duzun 445 00:32:54,140 --> 00:32:58,550 Baina kontuan mantentzeko jarraitzen ari zaren kasuan mantentzea. 446 00:32:58,550 --> 00:33:00,980 Beraz, letrak hori ezagutu ezin sinbolo bihurtu 447 00:33:00,980 --> 00:33:05,290 bezalako sinboloak besterik ez dira, ez dira aldatzen, baita joan. 448 00:33:05,290 --> 00:33:08,170 Azken pset zuen behin betiko ez duzu behar, 449 00:33:08,170 --> 00:33:14,310 baina aukera bat izan zen zure Greedy pset ezartzeko Moduloen funtzioa erabiliz. 450 00:33:14,310 --> 00:33:17,230 Baina orain benetan ari gara Kalkulagailua erabili behar da, 451 00:33:17,230 --> 00:33:19,900 beraz hau apur baino gehiago joan. 452 00:33:19,900 --> 00:33:26,920 Funtsean, x modulo y, y-k banatzen x gainerako ematen dizu duzu. 453 00:33:26,920 --> 00:33:30,930 Hona hemen adibide batzuk hemen. % 27 15. 454 00:33:30,930 --> 00:33:36,200 Funtsean, 15 kendu 27 ahalik eta adina aldiz, negatiboak oztopatu gabe 455 00:33:36,200 --> 00:33:39,060 ondoren 12 Ezkerraldean baino gehiago lortzen duzu. 456 00:33:39,060 --> 00:33:44,650 Beraz, hori da mota math testuinguruan bezala, baina nola erabili ahal izango dugu? 457 00:33:44,650 --> 00:33:47,100 Gure wrapover erabilgarria izan da. 458 00:33:47,100 --> 00:33:55,420 Horretarako, dezagun, besterik gabe esan duzun galdetu nion 3 taldetan zatitzea. 459 00:33:55,420 --> 00:33:58,010 Batzuetan Horretarako, talde eta horrelako zerbait. 460 00:33:58,010 --> 00:34:01,320 Esan, esan nion: "Ados, nahi dut 3 hartu beharreko banatzen da." 461 00:34:01,320 --> 00:34:04,240 Nola egin dezakezu hori? 462 00:34:04,240 --> 00:34:06,810 [Inaudible ikaslearen erantzuna] Bai, zehatz-mehatz. Zenbatu off. Ongi da. 463 00:34:06,810 --> 00:34:10,260 Dezagun benetan egiten duten. Abiarazi nahi al duzu? 464 00:34:10,260 --> 00:34:13,810 [Ikasle] 1, 2, 3, 4 off kontatuta. 465 00:34:13,810 --> 00:34:16,620 Baina gogoratu ... >> [Ikasleak] Oh, barkatu. 466 00:34:16,620 --> 00:34:18,730 Hori puntu bat oso ona da. 467 00:34:18,730 --> 00:34:24,130 4 esan duzu, baina benetan nahi dugu esan nahi 1 3 talde baino ez dugu nahi duelako. 468 00:34:24,130 --> 00:34:30,159 Orduan, nola - Ez, oso adibide ona da gero nola liteke delako 1 esan duzu? 469 00:34:30,159 --> 00:34:33,370 Zer da, 4 eta 1 arteko harremana? 470 00:34:33,370 --> 00:34:36,760 Beno, 4 mod 3 1. 471 00:34:36,760 --> 00:34:41,460 Beraz, jarraitzen badu, 2 izango litzateke. 472 00:34:41,460 --> 00:34:44,540 Beraz, 1, 2, 3, 1, 2. 473 00:34:44,540 --> 00:34:49,420 Berriz ere, egia esan Oraindik 5 pertsona. Nola 2 ordez 5 esan al dakizu? 474 00:34:49,420 --> 00:34:53,760 5 mod 3 2 esaten duzu. 475 00:34:53,760 --> 00:34:59,100 Zenbat 3 talde gelditzen dira, ikusi nahi dut, eta gero, zein ordena I. am 476 00:34:59,100 --> 00:35:02,860 Eta, beraz, gero gela osoan zehar jarraitu izanez gero, 477 00:35:02,860 --> 00:35:07,760 ondoren ikus ari gara beti benetan mod funtzioa aplikatuz geure genuke 478 00:35:07,760 --> 00:35:09,990 mota zenbatu off. 479 00:35:09,990 --> 00:35:14,490 Hori nola modulo erabil dezakezu adibide ukigarriak mota gehiago 480 00:35:14,490 --> 00:35:17,960 nago ziur delako gurekin gehienak ziurrenik prozesu horren bidez, joan 481 00:35:17,960 --> 00:35:19,630 non izan dugu off zenbatzeko. 482 00:35:19,630 --> 00:35:21,840 Modulo edozein galdera? 483 00:35:21,840 --> 00:35:25,360 Nahiko garrantzitsua izango da hau kontzeptuak ulertzeko, 484 00:35:25,360 --> 00:35:28,640 beraz, ziurtatu duzu guys ulertzen egin nahi dut. 485 00:35:28,640 --> 00:35:34,660 [Ikasleak] hondarra ez bada, ez dizu benetako kopurua? 486 00:35:34,660 --> 00:35:40,430 Haien lehenengo 3 bat egin izan bada, ez litzateke eman ditu ziren benetan dute, 487 00:35:40,430 --> 00:35:43,310 edo eman ditu [inaudible] >> Hori galdera bat ona da. 488 00:35:43,310 --> 00:35:48,750 Modulo, hondarra ez da, beraz, esan duzu 6 mod 3 - 489 00:35:48,750 --> 00:35:52,340 benetan ematen dizu atzera 0. 490 00:35:53,670 --> 00:35:57,290 Pixka bat beranduago buruz hitz egin dugu. 491 00:35:58,810 --> 00:36:07,720 Oh yeah, esate baterako, 3 pertsona - 3 mod 3 da, benetan 0 baina 3 esan zuen. 492 00:36:07,720 --> 00:36:14,900 Beraz, mota barne harrapaketa bat bezalakoa da, esate baterako, 493 00:36:14,900 --> 00:36:17,620 ados bezala, mod 0 bada, ondoren, 3 pertsona izan dut. 494 00:36:17,620 --> 00:36:22,740 Baina, nola aurre egin nahi zer da 0 geroago agian mota sartu dugu lortu. 495 00:36:22,740 --> 00:36:32,750 Beraz, gaur egun, nolabait, Zed kartografiatzeko eskuinera gutun modu bat. 496 00:36:32,750 --> 00:36:34,920 Beraz, gaur egun dugu adibide hauen bitartez joan 497 00:36:34,920 --> 00:36:37,880 mota dugu nola Caesar lan egin dezake. 498 00:36:37,880 --> 00:36:42,640 2 alfabetoen ikusten duzu, eta gero aldatzearen ikusiko duzu. 499 00:36:42,640 --> 00:36:44,430 Hargatik saiatu eta adierazteko formula dagokionez. 500 00:36:44,430 --> 00:36:46,940 Formula hori benetan zehaztutako 501 00:36:46,940 --> 00:36:52,070 baina let itxura mota aldagai bakoitza esan nahi bidez. 502 00:36:52,070 --> 00:36:55,000 Gure azken emaitza ciphertext izango du. 503 00:36:55,000 --> 00:36:58,300 Beraz, hau dio ciphertext, izaera Ith 504 00:36:58,300 --> 00:37:02,500 zifratu gabeko, izaera Ith dagozkio. 505 00:37:02,500 --> 00:37:08,130 Horregatik, zentzu nahi dugu beti gauza horiek Hornigaia sortu duelako. 506 00:37:08,130 --> 00:37:13,480 Beraz, izaera Ith ciphertext plus k, eta hori da gure gakoa izango da - 507 00:37:13,480 --> 00:37:17,230 zentzua eta gero mod honetan 26 ditugu. 508 00:37:17,230 --> 00:37:19,860 Gogoratu itzuli Zed izan genuen 509 00:37:19,860 --> 00:37:24,190 ez dugu nahi pertsonaia sartu, beraz, mod nahi dugu 510 00:37:24,190 --> 00:37:26,540 eta itzulbiratu mota alfabetoaren inguruan. 511 00:37:26,540 --> 00:37:33,430 Zed ondoren bat joan nahi duzun, b, c, d, eskuinera kopurua lortu arte. 512 00:37:33,430 --> 00:37:44,690 Beraz, Zed + 6, gurekin bada luke Zed f ondoren dator, a, b, c, d, e, f badakigu 513 00:37:44,690 --> 00:37:52,530 Hargatik gogoratzen ziur ezagutzen dugu Zed + 6 hori ezagutzera emango f. 514 00:37:52,530 --> 00:38:03,530 ASCII balioak, z 122 da, eta f da 102. 515 00:38:03,530 --> 00:38:10,570 Beraz, gure Caesar formula egiteko modu bat aurkitu behar dugu ematen diguten 102 516 00:38:10,570 --> 00:38:13,590 122 en hartu ondoren. 517 00:38:13,590 --> 00:38:19,550 Beraz, bada eskatu besterik ez dugu formula honetan, ('z' + 6)% 26, benetan ematen dizu 24 518 00:38:19,550 --> 00:38:25,980 122 + 6 128 delako;% 128 26 24 gainerako ematen dizu. 519 00:38:25,980 --> 00:38:29,140 Baina hori ez da benetan esan nahi du f. Hau ez da behin betiko 102. 520 00:38:29,140 --> 00:38:33,590 Hori ere ez alfabetoaren letra 6an. 521 00:38:33,590 --> 00:38:41,550 Beraz, jakina, nolabait tweaking hau pixka bat izan behar dugu. 522 00:38:42,970 --> 00:38:51,340 Ohiko alfabeto dagokionez, badakigu z 26 letra eta f 6tik. 523 00:38:51,340 --> 00:38:55,460 Baina informatika Oraindik dugu, beraz, indizea ari gara 0. 524 00:38:55,460 --> 00:39:00,690 Orduan ordez z 26 zenbakia, zenbakia 25 esan nahi dugu 525 00:39:00,690 --> 00:39:02,630 0 delako. 526 00:39:02,630 --> 00:39:04,770 Beraz, gaur egun dezagun formula hau aplikatu. 527 00:39:04,770 --> 00:39:11,710 Z 25 + 6 irudikatzen ematen dizu 31 ditugu. 528 00:39:11,710 --> 00:39:15,790 Eta 31 mod 26 ematen dizu gainontzekoak bezala 5. 529 00:39:15,790 --> 00:39:20,500 Hori oso ondo ezagutzen dugu f, alfabetoaren letra 5ean da delako. 530 00:39:20,500 --> 00:39:26,400 Baina, hala ere, ez f, ezta? Oraindik ez da 102. 531 00:39:26,400 --> 00:39:32,730 Beraz ondoren pset honetan, erronka bat saiatzen harremana jakiteko 532 00:39:32,730 --> 00:39:36,910 balio horiek ASCII eta aurkibide alfabetikoa arteko bihurtzeko artean. 533 00:39:36,910 --> 00:39:40,280 Funtsean, zer nahi duzu, ASCII balioak hasteko nahi duzun, 534 00:39:40,280 --> 00:39:45,390 baina gero hori nolabait itzuli nahi duzun indize bat sartu alfabetikoan 535 00:39:45,390 --> 00:39:52,610 ondoren kalkulatzeko zer letra izango da, funtsean, zer da bere aurkibide alfabetikoa 536 00:39:52,610 --> 00:39:57,660 Zifraketa pertsonaia orduan itzultzeko back hori ASCII balioak. 537 00:39:57,660 --> 00:40:04,870 Beraz, Látigo duzu zure ASCII taula, ondoren saiatu eta harremanen arteko aurkitu, esan, 102 eta 5 538 00:40:04,870 --> 00:40:10,440 edo 122 eta 25. 539 00:40:12,140 --> 00:40:15,690 Komando-lerroko argumentuak ahaztuak dugu gure gakoa, ahaztuak dugu testu arrunteko 540 00:40:15,690 --> 00:40:17,520 enciphered dugu. 541 00:40:17,520 --> 00:40:19,820 Orain guztiak utzi ditugu egin da inprimatu. 542 00:40:19,820 --> 00:40:22,040 Hau egin genezake pare bat modu ezberdinetan. 543 00:40:22,040 --> 00:40:24,570 Zer egin izan dugu benetan inprimatu joaten gara. 544 00:40:24,570 --> 00:40:28,250 Batetik bestera joateko dugu karaktere katea, 545 00:40:28,250 --> 00:40:31,660 nahikoa izan dugu besterik ez inprimatzeko eskubidea orduan kalkulatu dugu. 546 00:40:31,660 --> 00:40:36,030 Bestela ere, izan duzu gordetzeko array bat eta karaktere array bat izan 547 00:40:36,030 --> 00:40:39,280 eta amaieran hori osoa array zehar batetik bestera joateko eta inprimatu. 548 00:40:39,280 --> 00:40:40,980 Beraz, horretarako aukera pare bat izan duzu. 549 00:40:40,980 --> 00:40:47,280 Eta gogoratu% c karaktere bat inprimatzeko biltegian izango da. 550 00:40:47,280 --> 00:40:50,420 Beraz, Caesar dugu, eta gaur egun on dugu Vigenere mugitzeko, 551 00:40:50,420 --> 00:40:57,580 oso Caesar antzekoa da, baina apur bat konplexuagoa da. 552 00:40:57,580 --> 00:41:03,310 Beraz, funtsean Vigenere keyword batean pasatzen duzu. 553 00:41:03,310 --> 00:41:06,510 Beraz, zenbaki bat ordez, kate bat izan zaren, 554 00:41:06,510 --> 00:41:09,200 eta, beraz, hori zure keyword gisa jarduteko. 555 00:41:09,200 --> 00:41:14,440 Ondoren, ohikoa den bezala, gonbita kate erabiltzailearen ari zaren joan 556 00:41:14,440 --> 00:41:19,050 eta, ondoren, encipher eta gero emateko ciphertext atzealdean. 557 00:41:19,050 --> 00:41:24,650 Beraz, esan dut, oso Caesar antzekoa da, kopuru jakin batek aldatzearen beharrean izan ezik, 558 00:41:24,650 --> 00:41:30,620 zenbakia da benetan karakterea karaktere aldi bakoitzean aldatu egingo da. 559 00:41:30,620 --> 00:41:34,890 Benetako kopuru hori irudikatu nahi du mugitzeko, teklatua hizkiak irudikatzen du. 560 00:41:34,890 --> 00:41:43,150 Beraz, bada sartu shift bat, esate baterako, orduan 0 shift dagozkio. 561 00:41:43,150 --> 00:41:45,900 Beraz, berriro aurkibide alfabetikoa atzera. 562 00:41:45,900 --> 00:41:49,100 Zer erabilgarria izan daiteke ari zaren benetan ari garen balioak ASCII aurre bada ikusten 563 00:41:49,100 --> 00:41:51,790 baita letrak, baita indize alfabetikoan gisa, 564 00:41:51,790 --> 00:41:58,020 agian aurkitu edo zure ASCII taula 0 indizea 25 bidez alfabetikoan erakusten du, 565 00:41:58,020 --> 00:42:03,750 z bidez, eta ASCII balioak, beraz, mota honetako ikus dezakezu harremana 566 00:42:03,750 --> 00:42:07,020 eta zirriborroa eta saiatu eta eredu batzuk aurkitu. 567 00:42:07,020 --> 00:42:11,010 Era berean, zenbait instantzia f by aldatzearen 568 00:42:11,010 --> 00:42:21,110 eta hau da, bai minuskulaz edo maiuskulaz f - Orduan, 5 dagozkio. 569 00:42:21,110 --> 00:42:24,180 Onak urrun gaude? 570 00:42:25,770 --> 00:42:30,050 Vigenere formula da, eta pixka bat desberdinak. 571 00:42:30,050 --> 00:42:32,960 Funtsean, Caesar bezala besterik ez dela ikusten duzu, 572 00:42:32,960 --> 00:42:37,390 ordez izan ezik, besterik ez k ​​j k indizea dugu. 573 00:42:37,390 --> 00:42:44,810 Ohartu ez ari garela i erabiliz funtsean delako, gako-luzera 574 00:42:44,810 --> 00:42:49,850 ez dago gure ciphertext luzera izan behar du. 575 00:42:49,850 --> 00:42:56,130 Bit argiagoa izango da adibide bat izan dut pixka bat beranduago ikusiko dugu. 576 00:42:56,130 --> 00:43:03,160 Funtsean, exekutatu duzu zure programa ohai gako-hitza, 577 00:43:03,160 --> 00:43:08,560 Orduan, esan nahi du, aldi bakoitzean, ohai zure txanda izango da. 578 00:43:08,560 --> 00:43:11,060 Zer posizio zure keyword arabera Beraz, 579 00:43:11,060 --> 00:43:15,800 zenbait pertsonaia ciphertext Zenbateko hori mugitzeko duzu. 580 00:43:15,800 --> 00:43:19,630 Berriz ere, Zesarrek bezala, ziur zaintzeko dugun gauza kapitalizazioa egin nahi dugu 581 00:43:19,630 --> 00:43:22,900 eta guk bakarrik encipher letrak, eta ez karaktere edo espazioen. 582 00:43:22,900 --> 00:43:26,330 Beraz, atzera begiratu Caesar funtzioak erabiltzen duzu, 583 00:43:26,330 --> 00:43:32,570 erabaki gauzak nola mugitzeko, eta aplikatzeko zure programa hemen. 584 00:43:32,570 --> 00:43:35,260 Hargatik mapa hau. 585 00:43:35,260 --> 00:43:39,680 Testu arrunteko ditudan erabiltzaileak ahaztuak GetString from ditugu 586 00:43:39,680 --> 00:43:44,090 honek esaten ... CS50 da! 587 00:43:44,090 --> 00:43:47,090 Ondoren, ohai keyword bat behar dugu. 588 00:43:47,090 --> 00:43:50,930 Lehenengo 4 karaktere nahiko sinpleak dira. 589 00:43:50,930 --> 00:43:55,580 T o behar desplazatzen hori ezagutzen dugu, 590 00:43:55,580 --> 00:44:01,990 ondoren h h desplazatzen, batek desplazatzen da i. 591 00:44:01,990 --> 00:44:04,610 Hemen adierazten 0 ikusiko duzu, 592 00:44:04,610 --> 00:44:11,940 beraz, gero amaierako balioa da, benetan baino zertxobait lehenago letra bera. 593 00:44:11,940 --> 00:44:15,250 Ondoren, s i by desplazatzen. 594 00:44:15,250 --> 00:44:19,370 Baina orduan epeak hauek duzu hemen. 595 00:44:19,370 --> 00:44:25,960 Ez dugu nahi, beraz, ondoren ez dugu aldatu da ezer encipher 596 00:44:25,960 --> 00:44:31,280 eta inprimatu epea aldatu gabe. 597 00:44:31,280 --> 00:44:38,020 [Ikasleen] ez dut ulertzen nola badakizu hori by desplazatzen - Non egin duzu - >> Oh, barkatu. 598 00:44:38,020 --> 00:44:41,620 Hemen goian, komando-lerroko argumentu ohai hemen ikusten duzu, 599 00:44:41,620 --> 00:44:43,740 den hitzarekin izango. 600 00:44:43,740 --> 00:44:49,550 Eta beraz, funtsean, hitzarekin karaktere baino gehiago ari zaren bizikletaz. 601 00:44:49,550 --> 00:44:52,020 [Ikasleen] Beraz, o dira aldatzearen berean joan 602 00:44:52,020 --> 00:44:56,260 Beraz, o alfabetoaren kopuru jakin bat dagokio. 603 00:44:56,260 --> 00:44:58,400 [Ikasleak] Eskuin. Baina non ez CS50 parte lortuko duzu? 604 00:44:58,400 --> 00:45:02,540 Oh. Oraindik, hala nola non GetString da "Give me kate bat kodetu." 605 00:45:02,540 --> 00:45:07,510 [Ikasleen] argumentu eman duten filmea ari dira. 606 00:45:07,510 --> 00:45:09,380 eta, ondoren, zure katea lehen galdetu duzu. >> Bai. 607 00:45:09,380 --> 00:45:12,440 Beraz, programa, gako-ari dira 608 00:45:12,440 --> 00:45:14,740 beren komando-lerroko argumentuak exekutatu dute. 609 00:45:14,740 --> 00:45:19,740 Ondoren, behin egiaztatuta duzun Nik ez dutela benetan emandako 1 eta ez gehiago, ez gutxiago, 610 00:45:19,740 --> 00:45:23,750 gero galdetuko kate bat ari zaren, adibidez, "Give me kate bat." 611 00:45:23,750 --> 00:45:27,630 Beraz, kasu honetan ematen haiekin honek ... CS50 da! 612 00:45:27,630 --> 00:45:32,090 Orduan hori erabili eta ohai erabili eta batetik bestera joateko baino gehiago ari zaren. 613 00:45:32,090 --> 00:45:38,200 Iragarki hemen saltatu epeak enkriptatzeko baino gehiago dugu, 614 00:45:38,200 --> 00:45:51,660 baina, gure posizioa baldintzak ohai, hurrengo o erabili dugu. 615 00:45:51,660 --> 00:45:54,990 Kasu honetan, pixka bat zailagoa da hori 4 delako, 616 00:45:54,990 --> 00:45:57,710 beraz, dezagun pixka bat jarraitu. Just me makila hemen. 617 00:45:57,710 --> 00:46:02,960 Ondoren, i eta s, o eta h itzuli dira ondoren, hurrenez hurren egin behar dugu. 618 00:46:02,960 --> 00:46:09,370 Ondoren, espazio bat dugu, eta, beraz, ondoren ez dugun espazioak encipher dakigu. 619 00:46:09,370 --> 00:46:18,930 Baina oharra Leku honetan egingo hementxe ordez, 620 00:46:18,930 --> 00:46:28,330 bat ari gara enkriptatzeko - Ez dakit hori ikus daiteke hemen. 621 00:46:28,330 --> 00:46:33,710 Beraz, ez da aldez aurretik zehaztutako benetan, esan, o doa hemen, h doa hemen, 622 00:46:33,710 --> 00:46:39,200 bat doa hemen, hemen doa i, o, h, i, o, h, i. Ez duzu hori egiteko. 623 00:46:39,200 --> 00:46:43,760 Mugitzeko besterik ez duzu zure posizioa hitzarekin 624 00:46:43,760 --> 00:46:51,020 denean benetan ari zaren enkriptatzeko benetako gutun bat ezagutzen duzu. 625 00:46:51,020 --> 00:46:53,920 Mota hori ez du zentzurik? 626 00:46:53,920 --> 00:46:55,800 Ongi da. 627 00:46:56,490 --> 00:46:58,500 Beraz, gogorarazleak batzuk. 628 00:46:58,500 --> 00:47:03,760 Ziurtatu bakarrik duzula zure keyword gutun hurrengo aurrera egin nahi duzu 629 00:47:03,760 --> 00:47:06,390 , zure testu arrunteko pertsonaia gutun bat bada. 630 00:47:06,390 --> 00:47:09,120 Beraz, esan Oraindik o dugu. 631 00:47:09,120 --> 00:47:19,310 Hurrengo karakterea, testu arrunteko-indizea i, zenbaki bat da, esate baterako, nabarituko dugu. 632 00:47:19,310 --> 00:47:31,630 Orduan ez dugu aurrera j, gure keyword indizea, beste gutun bat iritsiko gara arte. 633 00:47:31,630 --> 00:47:36,230 Berriz ere, nahi duzun ziur wraparound duzun gako-hitza hasieran egiteko 634 00:47:36,230 --> 00:47:37,770 Oraindik bukaeran. 635 00:47:37,770 --> 00:47:42,030 Hemen ikusten duzun Oraindik i badugu, hurrengo o izan behar du. 636 00:47:42,030 --> 00:47:47,690 Beraz, hasieran zure keyword to wraparound ahal izateko modu batzuk aurkitu nahi duzun 637 00:47:47,690 --> 00:47:49,470 aldi bakoitzean iritsi duzun bukaera. 638 00:47:49,470 --> 00:47:55,040 Eta, beraz, berriro ere, zer operadorea mota inguruan itzulbiratzeko Kasu horretan, erabilgarria da? 639 00:47:56,630 --> 00:47:59,840 Adibidez off zenbaketa bezala. 640 00:47:59,840 --> 00:48:03,710 [Ikasleak] ehuneko zeinua. >> Bai, ehuneko ikurra, hau da, modulo. 641 00:48:03,710 --> 00:48:11,250 Beraz, modulo egingo handy etortzen indizearen zure ohai baino gehiago biltzea nahi duzun. 642 00:48:11,250 --> 00:48:17,700 Eta besterik ez, azkar aholku bat: Saiatu keyword gainean apur bat off kontatuta bezala itzulbiratzeko pentsatzea, 643 00:48:17,700 --> 00:48:23,590 non bada ez da 3 talde, 4 pertsona, 644 00:48:23,590 --> 00:48:30,610 beren esan dute 4 mod 3, hain zuzen, 1. 645 00:48:30,610 --> 00:48:32,880 Beraz, saiatu eta, era horretan pentsatu. 646 00:48:34,770 --> 00:48:42,740 Formula, ikusi duzun bezala, edozein lekutan ci eta, ondoren, pi duzu, baina gero KJ, 647 00:48:42,740 --> 00:48:44,700 Ziurtatu mantentzen baduzu pista horiek egin nahi duzu. 648 00:48:44,700 --> 00:48:47,580 Ez duzu behar deitzeko i, ez duzu behar du j deitu, 649 00:48:47,580 --> 00:48:53,270 baina ziur gorde duzun pista ari zaren posizioa zure testu arrunteko at egin nahi duzun 650 00:48:53,270 --> 00:48:55,790 posizio gisa baita zure keyword zaudela 651 00:48:55,790 --> 00:48:59,840 horiek ez delako nahitaez berdina izango. 652 00:48:59,840 --> 00:49:06,400 Ez bakarrik keyword du zifratu gabeko baino luzera erabat desberdina izango da. 653 00:49:06,400 --> 00:49:09,140 Horrez gain, zure testu arrunteko daude, zenbakiak eta pertsonaiak, 654 00:49:09,140 --> 00:49:14,450 beraz, ez da primeran dator elkarrekin. Bai. 655 00:49:14,450 --> 00:49:19,280 [Ikasleen] Ba al dago funtzio kasu aldatzeko? 656 00:49:19,280 --> 00:49:24,530 Ezin bat aldatzeko kapital A? >> Bai, behin betiko da. 657 00:49:24,530 --> 00:49:27,890 Egiaztatu ahal izango duzu - bere toupper, 1 word guztiak uste dut. 658 00:49:30,650 --> 00:49:36,310 Baina gauzak Zifraketa eta testu kontserbatzen saiatzen ari zaren, 659 00:49:36,310 --> 00:49:39,350 onena, batez ere, aparteko kasuetan izan. 660 00:49:39,350 --> 00:49:42,040 Maiuskulaz bat izanez gero, gero hau, mugitu nahi duzun 661 00:49:42,040 --> 00:49:46,460 zure formula, atzera begiratu duelako nola go-mota dugu 662 00:49:46,460 --> 00:49:50,900 zenbakiak irudikatzeko ASCII arteko interchangeably 663 00:49:50,900 --> 00:49:55,020 eta oraingo aurkibide alfabetikoa, ziurtatu nahi dugu 664 00:49:55,020 --> 00:50:01,850 batzuk ereduaren mota erabili behar zarela ez da izango. 665 00:50:01,850 --> 00:50:04,580 Another ereduarekin ohar, benetan. 666 00:50:04,580 --> 00:50:07,250 Behin betiko izango zenbakiak aurre ari zara. 667 00:50:07,250 --> 00:50:11,280 Saiatu magia zenbakiak ez erabiltzeko, estilo adibide bat da. 668 00:50:11,280 --> 00:50:18,470 Beraz, esan nahi behin denbora shift nahi by zerbait 669 00:50:18,470 --> 00:50:22,400 Ados, aholkua, beraz, spoiler bat da izango aldatzearen zerbait ari zaren joan 670 00:50:22,400 --> 00:50:26,310 kopuru jakin bat, saiatu ez ordezkatzen dituzten benetako kopuruaren arabera 671 00:50:26,310 --> 00:50:32,810 baizik eta saiatu ikusi eta ASCII balioa, hau da, mota gehiago egin zentzu erabiltzen baduzu. 672 00:50:32,810 --> 00:50:35,470 Ohar bat: formula aurre dugulako, 673 00:50:35,470 --> 00:50:41,200 nahiz eta zure TF mota dakit zer eredua erabili nahi izan dezakezu, 674 00:50:41,200 --> 00:50:44,430 onena zure iruzkinak mota logika, azaldu, 675 00:50:44,430 --> 00:50:51,880 "Eredu hau erabiltzen dut ... delako" eta mota azaltzeko eredua succinctly Zure iruzkinak. 676 00:50:54,090 --> 00:50:58,990 [Bisita gidatua 2] daude ez bada, beste edozein galdera baldin eta, ondoren, besterik ez dut lo pixka bat. 677 00:50:58,990 --> 00:51:04,370 Zorte ona zifratze eta esker etortzeagatik: zure pset 2. 678 00:51:06,070 --> 00:51:08,620 [Ikasleak] Eskerrik asko. >> Eskerrik asko. 679 00:51:09,220 --> 00:51:10,800 [Media Offline intro]