1 00:00:00,000 --> 00:00:01,940 [Powered by Google Translate] [Solisyon - Set Pwoblèm 2] 2 00:00:01,940 --> 00:00:04,130 [Zamyla Chan - Inivèsite Harvard] 3 00:00:05,170 --> 00:00:07,490 [Sa a se CS50. CS50.TV] 4 00:00:07,490 --> 00:00:10,750 Tout dwa. Hello, tout moun, epi byenveni nan solisyon 2. 5 00:00:10,750 --> 00:00:14,330 Premyèman, mwen vle felisite ou pou fini pset 1. 6 00:00:14,330 --> 00:00:18,140 Mwen konnen ke li te kapab yon ti jan difisil pou kèk nan nou, 7 00:00:18,140 --> 00:00:20,460 yo te kapab vin pwogram premye òdinatè ou ke ou te ekri, 8 00:00:20,460 --> 00:00:24,500 men jis sonje ke nan fen sa a, lè ou tounen gade dèyè nan fen semès la, 9 00:00:24,500 --> 00:00:29,820 ou pral gade nan pset 1 epi ou ap di, "Hey, mwen te kapab fè sa nan 5 minit." 10 00:00:29,820 --> 00:00:35,700 Se konsa, konnen ak sa yo fè konfyans ki nan fen sa a ou pral definitivman jwenn pset 1 byen senp. 11 00:00:35,700 --> 00:00:40,640 Men, pou kounye a li nan yon akonplisman gwo, epi Felisitasyon pou trape fè. 12 00:00:40,640 --> 00:00:44,010 Koulye a, tou yon nòt rapid anvan nou jwenn nan vyann lan nan solisyon an. 13 00:00:44,010 --> 00:00:48,340 Mwen te jis vle fè yon nòt rapid ke mwen pafwa pa pral gen ase tan 14 00:00:48,340 --> 00:00:52,500 pandan valktroug yo yo ale nan tout fason sèl nan fè mete nan pwoblèm 15 00:00:52,500 --> 00:00:56,140 ak olye jis petèt konsantre sou 1 oswa 2 kalite en, 16 00:00:56,140 --> 00:00:57,750 fason ke ou ta ka fè sa. 17 00:00:57,750 --> 00:01:01,970 Men sa se pa vle di ke ou ap entèdi nan fè li yon lòt fason. 18 00:01:01,970 --> 00:01:05,980 Gen souvan, menm jan ak syans konpitè, fason anpil nan fè bagay, 19 00:01:05,980 --> 00:01:12,190 ak sa definitivman santi lib yo itilize yon kalite diferan nan solisyon pase m 'ka te prezante a. 20 00:01:12,190 --> 00:01:14,520 [Pset 2: kriptografik - Zamyla Chan - zamyla@cs50.net] 21 00:01:14,520 --> 00:01:17,160 [Pset2 - 0. Yon seksyon nan Kesyon - 1. Seza tande kòz - 2. Vigenere] 22 00:01:17,160 --> 00:01:20,650 Tout dwa. Se konsa, pwoblèm mete 2: kriptografik se yon yon sèl plezi. 23 00:01:20,650 --> 00:01:24,500 Yon fwa ankò, avèk chak pset ou pral kòmanse ak yon seksyon nan kesyon 24 00:01:24,500 --> 00:01:29,600 ki k ap pase yo dwe fèt nan seksyon ou a ak plase parèy ansèyman ou. 25 00:01:29,600 --> 00:01:31,670 Nou pa pwal ale nan sa yo sou solisyon an, 26 00:01:31,670 --> 00:01:35,100 men yo definitivman ap ede w ranpli pset la. 27 00:01:35,100 --> 00:01:38,100 Se konsa, premye pati nan seri a pwoblèm se Seza li ye. 28 00:01:38,100 --> 00:01:43,470 Se konsa, nan Seza tande kòz yon moun ap pase ou yon kle ak yon nonb antye relatif, 29 00:01:43,470 --> 00:01:48,420 epi w ap ankripte yon afè de tèks yo ke yo ba ou 30 00:01:48,420 --> 00:01:50,670 epi ba yo tounen yon bagay chiffres. 31 00:01:50,670 --> 00:01:56,050 Si yon moun ap gade Yon Istwa Nwèl la, gen nan yon egzanp sou ke gen. 32 00:01:56,050 --> 00:01:59,090 Lè sa a, dezyèm pati a nan mete nan pwoblèm se Vigenere, 33 00:01:59,090 --> 00:02:01,790 ki se yon teknik chifreman ki pi avanse. 34 00:02:01,790 --> 00:02:05,640 Se konsa, nou pral chifre yon moso tèks, 35 00:02:05,640 --> 00:02:09,600 eksepte olye ak jis nonb antye relatif yon sèl, nou ap aktyèlman ale nan programme li 36 00:02:09,600 --> 00:02:13,340 ak yon mo kle ki itilizatè a ap ba nou yo. 37 00:02:16,270 --> 00:02:22,090 Oke, kidonk zouti nan premye nan jounen jodi a nan bwat zouti pou se aktyèlman yo pral mete ajou aparèy la. 38 00:02:22,090 --> 00:02:26,430 Sou tablo a diskisyon nou ta renmen wè bagay sa yo tankou, "Poukisa sa pa travay sa a?" 39 00:02:26,430 --> 00:02:28,110 "Poukisa nou pa Soumèt 50 travay?" 40 00:02:28,110 --> 00:02:31,830 e souvan solisyon an se aktyèlman jis mete ajou aparèy ou an. 41 00:02:31,830 --> 00:02:36,730 Se konsa, si ou jis kouri nan yon fenèt tèminal nan sudo aparèy ou a Yum-y - 42 00:02:36,730 --> 00:02:40,040 sa a, se yon drapo li di wi, mete ajou tout bagay - update, 43 00:02:40,040 --> 00:02:42,280 Lè sa a, aparèy ou an pral mete ajou si bezwen an. 44 00:02:42,280 --> 00:02:46,960 Li pa fè mal si ou deja yo nan vèsyon an nan aparèy la pi resan an. 45 00:02:46,960 --> 00:02:51,280 Lè sa a, li pral jis di pa gen okenn Ki dènye nouvo disponib epi ou ka kontinye travay ansanm. 46 00:02:51,280 --> 00:02:55,800 Men, sa a se yon bon bagay al touye menm chak fwa ke ou louvri aparèy la 47 00:02:55,800 --> 00:02:57,140 paske nou toujou anpil - 48 00:02:57,140 --> 00:03:00,320 pafwa si nou antre nan yon ensèk - repare-l nan aparèy la. 49 00:03:00,320 --> 00:03:03,180 Se konsa, asire w ke ou gen vèsyon an ki pi resan nan aparèy la 50 00:03:03,180 --> 00:03:07,710 epi kouri ki mete ajou a. 51 00:03:07,710 --> 00:03:14,360 Tout dwa. Se konsa, depi nou ap fè fas ak lèt ​​ak chanje, enciphering bagay sa yo, 52 00:03:14,360 --> 00:03:20,410 nou pwal vrèman vle vin pi bon zanmi ak tablo ASCII nou an. 53 00:03:20,410 --> 00:03:24,350 Gen anpil yo se yo menm sou entènèt, si ou jwenn. Petèt menm fè pwòp ou yo. 54 00:03:24,350 --> 00:03:29,950 Fondamantalman, ak chak lèt ​​nou ekri ak nimewo chak ak karaktè chak 55 00:03:29,950 --> 00:03:32,210 gen yon nimewo ki asosye avèk yo, 56 00:03:32,210 --> 00:03:38,670 ak Se konsa li bon yo wè valè ASCII yo ansanm ak lèt ​​a vrè. 57 00:03:38,670 --> 00:03:42,310 Sa pral definitivman ede ou nan mete nan pwoblèm. 58 00:03:42,310 --> 00:03:45,750 Youn nan bagay ki vrèman te ede m 'nan sa a seri pwoblèm se te aktyèlman enprime li soti, 59 00:03:45,750 --> 00:03:48,380 ak jan mwen te ale atravè tout, mwen ta aktyèlman trase sou li, 60 00:03:48,380 --> 00:03:51,150 ekri, "Si sa a gen pou yo ale nan la, Lè sa a, ..." 61 00:03:51,150 --> 00:03:55,270 Kalite desine sou li epi li make l 'kanpe, yo vin pi bon zanmi ak tab ASCII ou a. 62 00:03:57,240 --> 00:04:00,750 Lè sa a, nou gen yon kèk lòt zouti a jete nou yo. 63 00:04:00,750 --> 00:04:03,750 Fwa sa a, olye pou yo aktyèlman pouse itilizatè a pou tout moun nan opinyon yo 64 00:04:03,750 --> 00:04:05,230 nou ap pral fè yon konbinezon. 65 00:04:05,230 --> 00:04:06,880 Nou pwal vit ankouraje yo pou kèk D ', 66 00:04:06,880 --> 00:04:11,350 men nou ap tou ale nan jis itilize agiman yo liy lòd. 67 00:04:11,350 --> 00:04:15,600 Se konsa, lè yo kouri pwogram yo, anjeneral, ou di. / Hello, pou egzanp, 68 00:04:15,600 --> 00:04:17,310 si pwogram ou te hello.c. 69 00:04:17,310 --> 00:04:22,500 Men, fwa sa a olye pou yo jis di ke, yo ka mete pawòl, agiman apre sa. 70 00:04:22,500 --> 00:04:27,210 Se konsa, nou pral sèvi ak tou sa yo pase nan nou kòm opinyon yo kòm byen, 71 00:04:27,210 --> 00:04:31,720 Se konsa k ap deplase pi lwen pase jis pouse pou nonb antye relatif, men tou lè l sèvi avèk agiman liy lòd. 72 00:04:31,720 --> 00:04:36,590 Lè sa a, nou pral antre nan ranje ak strings, ki nou pral lè l sèvi avèk yon anpil kòm byen. 73 00:04:41,460 --> 00:04:44,810 Isit la nan jis yon egzanp nan 1 tablo mini ASCII. 74 00:04:44,810 --> 00:04:48,460 Kòm mwen te di, chak lèt ​​nou ekri koresponn ak yon nonb, 75 00:04:48,460 --> 00:04:52,510 ak sa abitid familyarize w avèk sa. Li pral vini nan sou la men. 76 00:04:52,510 --> 00:04:55,610 Epi pita lè nou kòmanse fè kèk ASCIIMath fè fas ak chif yo - 77 00:04:55,610 --> 00:05:00,110 ajoute, soustraksyon yo - Lè sa a, definitivman bon, al gade nan tablo sa a. 78 00:05:02,860 --> 00:05:06,920 Se konsa, isit la nan yon egzanp yon Kalkile Seza tande kòz - yon bagay ke ou ka jwe avèk yo. 79 00:05:06,920 --> 00:05:11,190 Li se jis nan wou yo. Esansyèlman, gen yon alfabè ekstèn ak Lè sa a, gen yon alfabè enteryè. 80 00:05:11,190 --> 00:05:15,290 Se konsa, isit la menm ki se yon egzanp kalkile nan Seza tande kòz men ak yon kle ki 0. 81 00:05:15,290 --> 00:05:21,540 Esansyèlman, A a ki kadre ak A, B a konfòm avèk B, tout wout la jiska Z. 82 00:05:21,540 --> 00:05:26,590 Men, Lè sa a, di nou te vle yon kle nan 3, pou egzanp. 83 00:05:26,590 --> 00:05:33,280 Lè sa a, nou ta tounen wou anndan an pou ke Yon kounye a sarmoniz ak D, elatriye 84 00:05:33,280 --> 00:05:35,250 Se konsa, sa a se esansyèlman sa n ap pral fè a. 85 00:05:35,250 --> 00:05:38,340 Nou pa gen yon wou, men ki sa nou pwal fè se fè pwogram nou an 86 00:05:38,340 --> 00:05:44,490 kalite chanjman alfabè a ansanm ak nou yon kantite sèten nan nimewo yo. 87 00:05:44,490 --> 00:05:48,650 Se konsa, jan mwen te di anvan, nou ap pral fè fas ak agiman liy lòd 88 00:05:48,650 --> 00:05:50,390 kòm byen ke ap resevwa yon antye relatif. 89 00:05:50,390 --> 00:05:55,050 Se konsa, fason la ki yon itilizatè ap kouri pwogram Seza tande kòz ou a se lè li di. / Seza tande kòz 90 00:05:55,050 --> 00:05:58,090 ak Lè sa a, k ap antre nan yon nimewo apre sa. 91 00:05:58,090 --> 00:06:01,130 Epi ki kantite reprezante kle a, chanjman an, 92 00:06:01,130 --> 00:06:06,740 konbyen fwa ou ap pral wotasyon volan an enteryè a kalkile Seza tande kòz ou a. 93 00:06:06,740 --> 00:06:08,390 Se konsa, nou wè isit la yon egzanp. 94 00:06:08,390 --> 00:06:14,550 Si nou antre nan lèt yo nan A L rive nan kalkile Seza tande kòz nou an, 95 00:06:14,550 --> 00:06:19,520 Lè sa a, li ta D 'D atravè O paske sa a, se chak lèt ​​nou ekri deplase plis pase 3 fwa, 96 00:06:19,520 --> 00:06:22,080 jis tankou egzanp lan nan rou a ke mwen te montre ou. 97 00:06:22,080 --> 00:06:25,300 Se konsa, Lè sa a, si ou te antre nan, pou egzanp, Sa a se CS50! 98 00:06:25,300 --> 00:06:27,960 Lè sa a, li ta tou deplase tout lèt yo. 99 00:06:27,960 --> 00:06:31,040 Epi sa a, yon bagay enpòtan nan tou de Seza tande kòz ak Vigenere 100 00:06:31,040 --> 00:06:34,890 se ke nou ap ale nan sote sou nenpòt lèt ki pa. 101 00:06:34,890 --> 00:06:39,160 Se konsa, okenn espas, karaktè, elatriye, nimewo, nou pwal kenbe yo menm bagay la. 102 00:06:39,160 --> 00:06:42,920 Nou ap sèlman pral chanje lèt yo ki nan ka sa a. 103 00:06:42,920 --> 00:06:45,870 Se konsa, kòm ou wè nan volan an, nou sèlman yo gen lèt yo ki disponib ak nou, 104 00:06:45,870 --> 00:06:50,150 pou nou sèlman vle chanje lèt yo ak ankripte lèt yo. 105 00:06:51,370 --> 00:06:56,720 Se konsa, nan premye bagay yo fè, ou wè jan l 'la pou Seza tande kòz nan pwoblèm mete 2 106 00:06:56,720 --> 00:07:05,280 se nan kouri Seza tande kòz ak Lè sa a, antre nan yon nimewo lè ou kouri li nan tèminal la. 107 00:07:05,280 --> 00:07:10,940 Se konsa, sa nou bezwen fè se yon jan kanmenm jwenn ki kle ak jwenn aksè nan li. 108 00:07:10,940 --> 00:07:14,730 Se konsa, nou vle yon jan kanmenm wè li nan pral fè lòd dezyèm agiman an liy. 109 00:07:14,730 --> 00:07:20,950 Youn nan premye a pwal. / Seza, youn nan pwochen a pwal nimewo a kle. 110 00:07:22,190 --> 00:07:29,200 Se konsa, anvan nou te gen int prensipal (san valè) yo kòmanse pwogram C nou an. 111 00:07:29,200 --> 00:07:31,790 Nou pwal kale tounen kouch yon yon ti jan 112 00:07:31,790 --> 00:07:34,720 ak aktyèlman wè ke olye pou yo pase nan anile fonksyon prensipal nou an 113 00:07:34,720 --> 00:07:37,920 nou ap aktyèlman fè fas ak 2 paramèt. 114 00:07:37,920 --> 00:07:44,070 Nou gen yon int te rele arg ak Lè sa a, yon seri strings rele argv. 115 00:07:44,070 --> 00:07:46,030 Se konsa, arg se yon nonb antye, 116 00:07:46,030 --> 00:07:49,640 epi li reprezante kantite agiman ki te pase nan nan pwogram ou an. 117 00:07:49,640 --> 00:07:53,590 Lè sa a, argv se aktyèlman lis la nan agiman yo pase. 118 00:07:53,590 --> 00:08:00,820 Tout moun nan agiman yo se strings, epi konsa argv reprezante yon etalaj, yon lis, nan strings. 119 00:08:01,830 --> 00:08:03,990 Se pou nou pale sou ranje yon ti jan. 120 00:08:03,990 --> 00:08:05,940 Matris yo se esansyèlman se yon estrikti done nouvo. 121 00:08:05,940 --> 00:08:09,660 Nou gen antye, nou te double, nou gen strings, epi kounye a nou gen ranje. 122 00:08:09,660 --> 00:08:13,820 Matris yo se estrikti done ki kapab kenbe valè miltip nan kalite la menm, 123 00:08:13,820 --> 00:08:18,320 Se konsa esansyèlman, yon lis tou sa kalite ou vle. 124 00:08:18,320 --> 00:08:24,400 Esansyèlman, si ou te vle yon lis nonm antye relatif tout nan 1 varyab, 125 00:08:24,400 --> 00:08:29,090 Lè sa a, ou ta kreye yon varyab nouvo sa yo ki te nan etalaj int kalite. 126 00:08:29,090 --> 00:08:34,450 Se konsa, ranje yo se zewo-endèks, sa vle di eleman nan premye nan etalaj la se nan endèks 0. 127 00:08:34,450 --> 00:08:41,799 Si etalaj la se nan longè 4, tankou nan egzanp sa a, Lè sa a, eleman dènye fwa ou te ta dwe nan endèks 3, 128 00:08:41,799 --> 00:08:44,810 ki se 4 - 1. 129 00:08:45,940 --> 00:08:48,420 Se konsa, yo kreye etalaj, ou ta fè yon bagay tankou sa a. 130 00:08:48,420 --> 00:08:51,440 Di ou te vle yon etalaj doub. 131 00:08:51,440 --> 00:08:56,520 Sa a ale pou nenpòt ki kalite kalite done, menm si. 132 00:08:56,520 --> 00:09:00,210 Se konsa, di ou vle yon etalaj doub. Di ou vle rele l 'bwat lèt. 133 00:09:00,210 --> 00:09:04,760 Jis tankou ou ta inisyalize nenpòt doub lòt, 134 00:09:04,760 --> 00:09:09,760 ou ta di doub ak Lè sa a, non an, men fwa sa a nou mete parantèz yo kare, 135 00:09:09,760 --> 00:09:13,570 ak Lè sa a, nimewo a pral gen longè nan etalaj la. 136 00:09:13,570 --> 00:09:16,840 Remake byen ke nan ranje nou pa ka janm chanje longè a, 137 00:09:16,840 --> 00:09:21,230 konsa ou toujou gen defini epi chwazi konbyen nan bwat, nan 138 00:09:21,230 --> 00:09:25,440 konbyen valè etalaj ou a pral nan kenbe. 139 00:09:25,440 --> 00:09:31,820 Se konsa, yo mete valè diferan nan etalaj ou a, w ap ale nan sèvi ak sa a sentaks sa yo, 140 00:09:31,820 --> 00:09:33,200 kòm ou wè sou glise la. 141 00:09:33,200 --> 00:09:37,620 Pral 0 bwat lèt Ou gen endèks ap mete 1.2, 142 00:09:37,620 --> 00:09:42,180 bwat lèt endèks 1 seri 2.4, elatriye 143 00:09:42,180 --> 00:09:47,910 Se konsa, kounye a ke nou te revize ranje yon ti jan, se pou yo tounen nan arg ak argv. 144 00:09:47,910 --> 00:09:52,220 Nou konnen ke argv se kounye a yon etalaj de strings. 145 00:09:52,220 --> 00:09:55,080 Se konsa, lè yon itilizatè pase nan - yo di ke yo ap kouri yon pwogram - 146 00:09:55,080 --> 00:09:58,740 yo di. / alo David Malan, 147 00:09:58,740 --> 00:10:05,160 ki sa pwogram lan pral fè pou ou deja se aktyèlman vini ak sa ki arg ak argv yo ye. 148 00:10:05,160 --> 00:10:07,620 Se konsa, ou pa bezwen enkyete sou sa. 149 00:10:07,620 --> 00:10:14,370 Arg nan ka sa a ta dwe 3 paske li wè 3 mo distenk ki separe pa espas. 150 00:10:14,370 --> 00:10:18,850 Se konsa, Lè sa a, etalaj la nan sa a egzanp, endèks la premye ta dwe. / Hello, 151 00:10:18,850 --> 00:10:21,770 pwochen youn David la, pwochen youn Malan la. 152 00:10:21,770 --> 00:10:25,640 nenpòt moun ki wè touswit ki sa relasyon ki genyen ant argv, 153 00:10:25,640 --> 00:10:28,990  etalaj la, ak arg se? 154 00:10:32,820 --> 00:10:38,090 Yeah. Nou pral jwenn nan ki nan yon egzanp nan args.c. 155 00:10:38,090 --> 00:10:42,880 Ann gade pou wè si nou ka pran avantaj de relasyon ki genyen ant 2 a. 156 00:10:42,880 --> 00:10:46,550 La a ou ta ka jwenn ke nan aparèy la default aplikasyon an 157 00:10:46,550 --> 00:10:49,450 yo louvri. c dosye se pafwa anak. 158 00:10:49,450 --> 00:10:54,660 Men, nou vle fè fas ak jdi, se konsa sa ou kapab fè se ou ka dwa klike sou dosye C ou a, 159 00:10:54,660 --> 00:11:04,580 ale nan pwopriyete yo, ki louvri yo avèk, ak Lè sa a, chwazi jdi, Fikse kòm default, 160 00:11:04,580 --> 00:11:13,020 e kounye a, pwogram ou an ta dwe louvri nan jdi olye pou yo anak. 161 00:11:14,710 --> 00:11:16,290 Pafè. 162 00:11:17,120 --> 00:11:25,520 Se konsa, isit la mwen gen yon pwogram ki mwen vle enprime soti chak agiman liy lòd. 163 00:11:25,520 --> 00:11:32,050 Se konsa, tou sa itilizatè a entrain, mwen vle esansyèlman retounen li tounen nan yo sou yon liy nouvo. 164 00:11:32,050 --> 00:11:36,710 Se konsa, sa ki nan yon estrikti ke nou ka itilize yo répétèr sou yon bagay - 165 00:11:36,710 --> 00:11:40,380 yon bagay ke ou pwobableman te itilize nan 1 pset ou a? 166 00:11:40,380 --> 00:11:45,840 Si ou vle ale nan yon nimewo mete de bagay sa yo? >> [Elèv] Pou riban. 167 00:11:45,840 --> 00:11:48,910 Pou riban. Egzakteman. Se konsa, kite la kòmanse avèk la pou riban. 168 00:11:48,910 --> 00:11:56,900 Nou gen pou int mwen 0 =. Se pou nou jis kòmanse avèk yon varyab inisyalizasyon estanda. 169 00:11:56,900 --> 00:12:02,370 Mwen pral kite kondisyon an pou yon seri ak Lè sa a, di mwen + +, pral fè bagay sa yo la. 170 00:12:02,370 --> 00:12:04,090 Tout dwa. 171 00:12:04,090 --> 00:12:11,590 Se konsa, panse tounen nan argv, si argv se lis la nan agiman ki te pase nan nan pwogram lan 172 00:12:11,590 --> 00:12:15,380 ak arg se nimewo a nan agiman nan pwogram nan, 173 00:12:15,380 --> 00:12:21,280 Lè sa a, ki vle di ke arg se esansyèlman longè nan argv, dwat, 174 00:12:21,280 --> 00:12:28,970 paske se la yo pral yo dwe kòm agiman anpil kòm valè a nan arg. 175 00:12:28,970 --> 00:12:35,910 Se konsa, si nou vle repekte sou chak eleman nan argv, 176 00:12:35,910 --> 00:12:43,290 nou ap pral vle chak fwa gen aksè varyab la nan argv nan endèks la bay yo. 177 00:12:43,290 --> 00:12:49,060 Ki ka reprezante ak sa a, dwa? 178 00:12:49,060 --> 00:12:53,430 Sa a varyab isit la reprezante fisèl la an patikilye nan sa a egzanp 179 00:12:53,430 --> 00:12:57,030 paske li nan yon etalaj fisèl - fisèl la an patikilye nan ki endèks bay yo. 180 00:12:57,030 --> 00:13:00,690 Ki sa nou vle fè a, nan ka sa a nou vle enprime li, kidonk kite a di printf. 181 00:13:00,690 --> 00:13:04,680 Epi, koulye a argv se yon fisèl, se konsa nou vle mete sa kontneur la. 182 00:13:04,680 --> 00:13:08,430 Nou vle yon liy nouvo jis fè li gade bon. 183 00:13:08,430 --> 00:13:12,530 Se konsa, isit la nou gen yon riban pou li a. Nou pa gen kondisyon an ankò. 184 00:13:12,530 --> 00:13:20,020 Se konsa, mwen kòmanse nan 0, epi Lè sa a, chak fwa li pral enprime fisèl la bay 185 00:13:20,020 --> 00:13:22,980 nan ki endèks patikilye nan etalaj la. 186 00:13:22,980 --> 00:13:28,410 Se konsa, lè nou vle sispann enprime soti eleman nan etalaj la? 187 00:13:28,410 --> 00:13:35,720 Lè nou te fini, dwa? Lè nou te rive nan nan fen etalaj la. 188 00:13:35,720 --> 00:13:38,870 Se konsa, nou pa vle depase sot pase longè nan etalaj la, 189 00:13:38,870 --> 00:13:43,700 epi nou deja konnen nou pa bezwen aktyèlman aktivman chèche konnen kisa longè nan argv se 190 00:13:43,700 --> 00:13:47,520 paske li nan bay nou, epi sa ki nan sa? Arg. Egzakteman. 191 00:13:47,520 --> 00:13:56,640 Se konsa, nou vle fè sa nimewo arg pwosesis la fwa. 192 00:13:56,640 --> 00:13:59,550 Mwen pa nan anyè a dwat. 193 00:14:02,100 --> 00:14:03,490 Tout dwa. 194 00:14:03,490 --> 00:14:08,990 Koulye a, kite a fè arg. Pa gen erè, ki se gwo. 195 00:14:08,990 --> 00:14:11,430 Se konsa, kite a jis kouri arg. 196 00:14:11,430 --> 00:14:15,130 Ki sa ki sa a pral retounen nan nou? Li nan jis pral enprime li tounen. 197 00:14:15,130 --> 00:14:18,320 "Ou antre arg nan pwogram lan; mwen pral bay li tounen ba ou." 198 00:14:18,320 --> 00:14:23,170 Se konsa, kite a di nou vle di arg Lè sa a, foo ba. 199 00:14:23,170 --> 00:14:26,570 Se konsa, lè sa a li simagri li soti tounen ban mwen. Tout dwa? 200 00:14:26,570 --> 00:14:30,790 Se konsa, gen se yon egzanp sou kouman ou ka itilize arg ak argv 201 00:14:30,790 --> 00:14:33,460 konnen ke arg reprezante longè nan argv. 202 00:14:33,460 --> 00:14:42,750 Asire w ke ou pa fè sa tout tan ki gen aksè ranje yon sèl pi lwen pase longè nan etalaj la 203 00:14:42,750 --> 00:14:45,140 paske C pral definitivman rele nan ou. 204 00:14:45,140 --> 00:14:47,560 Ou lj jwenn yon bagay yo rele yon fay segmentation, 205 00:14:47,560 --> 00:14:52,470 ki se pa janm amizan, fondamantalman an dizan w ap eseye gen aksè a yon bagay 206 00:14:52,470 --> 00:14:55,000 ki pa egziste, pa fè pati ou. 207 00:14:55,000 --> 00:14:59,430 Se konsa, asire w, epi sitou avèk zewo Indexing-a, nou pa vle - 208 00:14:59,430 --> 00:15:02,390 Renmen pou egzanp, si nou gen yon etalaj de longè 4, 209 00:15:02,390 --> 00:15:07,240 ki endèks etalaj 4 pa egziste paske nou kòmanse nan 0, nan zewo endèks. 210 00:15:07,240 --> 00:15:11,730 Li pral vin dezyèm nati jis tankou pou pasan lè nou kòmanse nan 0. 211 00:15:11,730 --> 00:15:13,610 Se konsa, jis kenbe sa nan tèt ou. 212 00:15:13,610 --> 00:15:22,590 Ou pa vle janm jwenn aksè endèks la nan yon etalaj sa a, se pi lwen pase rive ou. 213 00:15:26,710 --> 00:15:32,560 Se konsa, nou ka wè kounye a kijan nou kapab kalite aksè 214 00:15:32,560 --> 00:15:35,930 agiman yo liy bay lòd pou yo pase pous 215 00:15:35,930 --> 00:15:41,330 Men, jan ou te wè fisèl la, argv a se aktyèlman yon etalaj fisèl. 216 00:15:41,330 --> 00:15:45,740 Se konsa, li la aktyèlman pa yon nonb antye relatif ankò, men nan Seza tande kòz nou vle fè fas ak nonm antye relatif. 217 00:15:45,740 --> 00:15:54,430 Chans, gen yon fonksyon ki te kreye pou nou ki ka aktyèlman konvèti yon kòd nan yon nonb antye relatif. 218 00:15:54,430 --> 00:15:58,710 Tou nan isit la nou pa ap fè fas ak opinyon itilizatè kote n ap pouse yo 219 00:15:58,710 --> 00:16:03,740 pou D 'isit la pou kle a, se konsa nou pa ka aktyèlman reprompt ak di, 220 00:16:03,740 --> 00:16:07,840 "O, ban m 'yon lòt nonb antye relatif, di, si li pa valab." 221 00:16:07,840 --> 00:16:10,540 Men, nou toujou bezwen tcheke pou itilizasyon kòrèk. 222 00:16:10,540 --> 00:16:13,520 Nan Seza tande kòz yo sèlman pèmèt yo pase nan 1 nimewo, 223 00:16:13,520 --> 00:16:18,030 ak pou yo gen nan kouri. / Seza tande kòz ak Lè sa a, yo gen yo ba ou yon nimewo. 224 00:16:18,030 --> 00:16:23,660 Se konsa, arg te gen yon nimewo a sèten. 225 00:16:23,660 --> 00:16:29,060 Ki nonb ki ta ke gen yo si yo gen double ou. / Seza tande kòz la ak Lè sa a, kle a? 226 00:16:29,060 --> 00:16:32,920 Ki sa ki arg? >> [Elèv] 2. >> De. Egzakteman. 227 00:16:32,920 --> 00:16:35,490 Se konsa, ou vle asire w ke arg se 2. 228 00:16:35,490 --> 00:16:39,620 Otreman ou fondamantalman refize kouri pwogram nan. 229 00:16:39,620 --> 00:16:43,040 Nan prensipal li nan yon fonksyon ki di Int prensipal yo, 230 00:16:43,040 --> 00:16:47,360 se konsa Lè sa a, nou toujou nan 0 bon retou pratik nan fen yon pwogram ki gen siksè. 231 00:16:47,360 --> 00:16:50,840 Se konsa, si, di yo, yo ba ou agiman 3 liy lòd olye pou yo 2 232 00:16:50,840 --> 00:16:54,350 oswa ba ou 1, pou egzanp, Lè sa a, ki sa ou pral fè se ou pral vle tcheke pou ki 233 00:16:54,350 --> 00:16:59,900 ak Lè sa a, retounen 1 t'ap di: pa gen okenn, mwen pa ka kontinye ak pwogram sa a. 234 00:16:59,900 --> 00:17:03,190 [Elèv] Gen a pa kapab yon espas nan tèks ou. >> Padonnen m 'konsa? 235 00:17:03,190 --> 00:17:06,780 [Elèv] Gen a pa kapab yon espas nan tèks la w ap eseye ankripte. 236 00:17:06,780 --> 00:17:08,480 Ah! 237 00:17:08,480 --> 00:17:11,280 An tèm de tèks la ke nou ap eseye ankripte, ki aktyèlman vini pita 238 00:17:11,280 --> 00:17:13,970 lè nou bay ki tèks. 239 00:17:13,970 --> 00:17:18,260 Se konsa, kounye a nou ap jis aksepte kòm agiman lòd nimewo aktyèl la, 240 00:17:18,260 --> 00:17:21,579 chanjman aktyèl la pou chifreman nan Seza li ye. 241 00:17:21,579 --> 00:17:27,569 [Elèv] Poukisa ou bezwen 2 kòm opoze a jis arg 1? Genyen nan definitivman 1 nimewo. 242 00:17:27,569 --> 00:17:32,200 Dwat. Rezon an pou kisa nou bezwen 2 pou arg olye pou yo 1 243 00:17:32,200 --> 00:17:36,260 se paske lè ou kouri nan yon pwogram ak di. / Seza tande kòz oswa. / hello, 244 00:17:36,260 --> 00:17:38,280 ki aktyèlman konte kòm yon agiman liy lòd. 245 00:17:38,280 --> 00:17:43,020 Se konsa, Lè sa a, ki deja pran moute 1 ak se konsa Lè sa a, nou ap Anthrax 1 siplemantè. 246 00:17:45,030 --> 00:17:49,440 Se konsa, w ap Anthrax aktyèlman yon fisèl nan agiman an liy lòd. 247 00:17:49,440 --> 00:17:52,730 Ki sa ou vle fè a, pou Seza tande kòz nou vle fè fas ak yon nonb antye relatif, 248 00:17:52,730 --> 00:17:57,180 pou ou kapab itilize sa a fonksyon atwa. 249 00:17:57,180 --> 00:18:02,850 Ak, fondamantalman, ou pase l 'nan yon fisèl ak Lè sa a, li pral retounen ou tounen yon nonb antye relatif 250 00:18:02,850 --> 00:18:06,070 si li posib fè ki fisèl nan yon nonb antye relatif. 251 00:18:06,070 --> 00:18:10,960 Koulye a, sonje lè nou ap fè fas ak bagay sa yo printf oswa GetString, tankou sa yo, 252 00:18:10,960 --> 00:18:13,390 nou mete bibliyotèk yo ki yo espesifik ak nou. 253 00:18:13,390 --> 00:18:19,450 Se konsa, nan kòmansman an nou kòmanse ak yon regle estanda yon bagay tag Mwen / O,. H, tankou sa. 254 00:18:19,450 --> 00:18:22,430 Oke, atwa se pa nan youn nan moun ki nan bibliyotèk, nan 255 00:18:22,430 --> 00:18:26,600 Se konsa, sa nou dwe fè se nou dwe gen ladan yo nan bibliyotèk la dwa pou sa. 256 00:18:26,600 --> 00:18:32,720 Se konsa, sonje tounen nan solisyon 1 kote mwen diskite fonksyon an manyèl. 257 00:18:32,720 --> 00:18:37,110 Ou tape nonm nan tèminal ou ak Lè sa a, ki te swiv pa non an nan yon fonksyon. 258 00:18:37,110 --> 00:18:39,720 Se konsa, ki pral pote yo moute yon lis tout nan itilizasyon li yo, 259 00:18:39,720 --> 00:18:42,890 men kòm byen li pral pote yo moute ki bibliyotèk ki apateni. 260 00:18:42,890 --> 00:18:47,000 Se konsa, mwen pral kite sa gade ou yo sèvi ak fonksyon an manyèl ak atwa 261 00:18:47,000 --> 00:18:53,360 ak konnen ki bibliyotèk ou bezwen mete pou kapab sèvi avèk fonksyon an atwa. 262 00:18:54,450 --> 00:18:57,670 Se konsa, nou te gen kle a epi kounye a li rive jwenn tèks la byen dousman, li 263 00:18:57,670 --> 00:19:01,820 ak sa ki aktyèlman a pwal D 'itilizatè ki kote ou vit. 264 00:19:01,820 --> 00:19:05,540 Nou te fè fas ak GetInt ak GetFloat, epi konsa nan Venn an menm 265 00:19:05,540 --> 00:19:07,670 nou ap pral fè fas ak GetString. 266 00:19:07,670 --> 00:19:12,440 Men, nan ka sa a nou pa bezwen fè nenpòt ki fè pandan oswa pandan y ap pasan yo tcheke. 267 00:19:12,440 --> 00:19:14,480 GetString pral definitivman ba nou yon fisèl, 268 00:19:14,480 --> 00:19:17,630 epi nou ap ale nan ankripte tou sa itilizatè a ap ban nou. 269 00:19:17,630 --> 00:19:23,770 Se konsa, ou ka asime ke tout strings itilizatè sa yo antre yo kòrèk. 270 00:19:23,770 --> 00:19:24,670 Great. 271 00:19:24,670 --> 00:19:27,270 Se konsa, Lè sa a, yon fwa ou te gen kle a epi yon fwa ou te gen tèks la, 272 00:19:27,270 --> 00:19:31,660 kounye a sa ki rete a se ou gen chifre plentèk la. 273 00:19:31,660 --> 00:19:36,530 Jis byen vit kouvri sou langay, plentèk a se sa ki itilizatè a ap ba ou, 274 00:19:36,530 --> 00:19:41,030 ak chifre a se ki sa ou retounen nan yo. 275 00:19:42,450 --> 00:19:45,850 Se konsa, strings, pou kapab ale nan aktyèlman lèt nan yon lèt nan 276 00:19:45,850 --> 00:19:48,550 paske nou gen chanjman chak lèt ​​nou ekri, 277 00:19:48,550 --> 00:19:51,390 nou konprann ke strings, si nou kalite kale tounen kouch a, 278 00:19:51,390 --> 00:19:54,130 nou wè ke yo ap jis reyèlman yon lis karaktè. 279 00:19:54,130 --> 00:19:55,930 Youn vin apre lòt la. 280 00:19:55,930 --> 00:20:01,690 Se konsa, nou ka trete strings kòm ranje yo paske yo te ranje nan karaktè. 281 00:20:01,690 --> 00:20:05,640 Se konsa, di ou gen yon kòd yo rele tèks, 282 00:20:05,640 --> 00:20:09,400 e nan lespas de tèks sa varyab a estoke Sa a se CS50. 283 00:20:09,400 --> 00:20:15,680 Lè sa a, tèks nan endèks 0 ta dwe yon kapital T, endèks 1 ta dwe h, elatriye 284 00:20:17,530 --> 00:20:23,970 Lè sa a, ak ranje, nan egzanp lan arg nan args.c, 285 00:20:23,970 --> 00:20:27,090 nou te wè ke nou te repekte sou yon etalaj 286 00:20:27,090 --> 00:20:32,440 epi pou nou te gen nan repekte soti nan mwen = 0 moute jouk tan mwen se mwens pase longè a. 287 00:20:32,440 --> 00:20:35,560 Se konsa, nou bezwen kèk fason pou lè n ap kalkile konnen ki sa ki longè nan fisèl nou an, se 288 00:20:35,560 --> 00:20:37,090 si nou ap ale nan repekte sou li. 289 00:20:37,090 --> 00:20:42,300 Chans ankò, gen yon fonksyon gen pou nou, malgre sou pita nan CS50 290 00:20:42,300 --> 00:20:45,860 ou pral dwe definitivman kapab mete sou pye, epi fè fonksyon pwòp ou a 291 00:20:45,860 --> 00:20:48,260 ki ka kalkile longè yon fisèl. 292 00:20:48,260 --> 00:20:52,120 Men, pou kounye a nou ap ale nan sèvi ak longè fil, se konsa strlèn. 293 00:20:52,120 --> 00:21:00,440 Ou pase nan yon fisèl, ak Lè sa a, li pral retounen ou yon int ki reprezante longè nan fisèl ou a. 294 00:21:00,440 --> 00:21:05,840 Se pou yo gade nan yon egzanp sou kouman nou ka kapab repekte sou chak karaktè nan yon fisèl 295 00:21:05,840 --> 00:21:08,470 ak fè yon bagay ak sa. 296 00:21:08,470 --> 00:21:13,250 Ki sa nou vle fè se repekte sou chak karaktè nan fisèl la, 297 00:21:13,250 --> 00:21:19,150 ak ki sa nou vle fè se nou enprime tounen lakay ou chak karaktè 1 pa 1 298 00:21:19,150 --> 00:21:22,060 eksepte nou ajoute yon bagay akote l. 299 00:21:22,060 --> 00:21:27,020 Se konsa, kite la kòmanse avèk la pou riban. Int mwen = 0. 300 00:21:27,020 --> 00:21:30,070 Nou pral kite espas pou kondisyon an. 301 00:21:32,700 --> 00:21:36,840 Nou vle répétèr jiskaske nou rive nan fen an nan fisèl la, dwa? 302 00:21:36,840 --> 00:21:41,340 Se konsa, Lè sa a, sa ki fonksyon ba nou longè nan fisèl la? 303 00:21:41,340 --> 00:21:43,160 [Fèbl repons elèv] 304 00:21:43,160 --> 00:21:46,420 Sa a se longè nan agiman yo liy lòd. 305 00:21:46,420 --> 00:21:50,650 Men, pou yon fisèl nou vle sèvi ak yon fonksyon ki ba nou longè nan fisèl la. 306 00:21:50,650 --> 00:21:53,090 Se konsa, sa a, se longè fil. 307 00:21:53,090 --> 00:21:57,130 Se konsa, Lè sa a, ou gen yo pase nan yon fisèl li. 308 00:21:57,130 --> 00:21:59,760 Li bezwen konnen ki sa fisèl li bezwen yo kalkile longè nan. 309 00:21:59,760 --> 00:22:03,160 Se konsa, Lè sa a, nan ka sa a nou ap fè fas ak fisèl la. 310 00:22:04,790 --> 00:22:05,860 Great. 311 00:22:05,860 --> 00:22:10,770 Se konsa, Lè sa a, ki sa nou vle fè, se pou yo printf. 312 00:22:10,770 --> 00:22:14,850 Koulye a, nou vle fè fas ak karaktè. Nou vle enprime soti chak karaktè endividyèl. 313 00:22:14,850 --> 00:22:22,150 Lè ou vle l 'bay enprime soti yon flote, ou ta itilize kontneur a tankou f%. 314 00:22:22,150 --> 00:22:24,580 Avèk yon int ou ta itilize d%. 315 00:22:24,580 --> 00:22:30,890 Se konsa, Menm jan tou, ak yon gwo karaktè ou itilize c% a di mwen pral yo dwe enprime yon karaktè 316 00:22:30,890 --> 00:22:34,570 ki nan estoke andedan yon varyab. 317 00:22:34,570 --> 00:22:40,840 Se konsa, nou gen sa a, e kite yo ajoute yon peryòd ak espas yon li. 318 00:22:40,840 --> 00:22:45,430 Ki karaktè yo nou lè l sèvi avèk? 319 00:22:45,430 --> 00:22:49,780 Nou ap pral lè l sèvi avèk tou sa karaktè nou ap nan nan fil la. 320 00:22:49,780 --> 00:22:52,890 Se konsa, lè sa a nou ap pral lè l sèvi avèk yon bagay ki gen fisèl, 321 00:22:52,890 --> 00:22:56,420 men nou vle yo gen aksè nan pèsonaj la sèten la. 322 00:22:56,420 --> 00:23:02,740 Se konsa, si yon kòd se jis yon etalaj, lè sa a jan nou gen aksè eleman nan ranje? 323 00:23:02,740 --> 00:23:06,480 Nou gen moun ki parantèz kare, ak Lè sa a, nou mete endèks la nan la. 324 00:23:06,480 --> 00:23:11,820 Se konsa, nou gen parantèz kare. Endèks nou nan ka sa a nou ka jis itilize mwen. Egzakteman. 325 00:23:15,290 --> 00:23:22,370 Se konsa, isit la nou ap di ke nou ap pral enprime yon karaktè ki te swiv pa yon dot ak espas yon, 326 00:23:22,370 --> 00:23:30,870 e ke karaktè a pwal lèt la on li nan s fisèl nou an. 327 00:23:32,920 --> 00:23:39,330 Mwen jis pral pou konsève pou sa. Oke. 328 00:23:42,510 --> 00:23:46,840 Koulye a, mwen pral kouri longè fil. 329 00:23:46,840 --> 00:23:53,440 Se konsa, nou te gen yon fisèl rele OMG, epi kounye a li nan mete aksan sou menm plis. 330 00:23:53,440 --> 00:23:57,870 Menm jan an, kite a di nou aktyèlman vle jwenn yon fisèl soti nan itilizatè lan. 331 00:23:57,870 --> 00:23:59,580 Ki jan ta ka nou fè sa? 332 00:23:59,580 --> 00:24:01,610 Anvan, ki jan nou jwenn yon int? 333 00:24:01,610 --> 00:24:08,040 Nou te di GetInt, dwa? Men sa se pa Int, kidonk kite a GetString. 334 00:24:11,780 --> 00:24:17,770 Se pou nou fè longè fil. Isit la nou pa t 'antre nan yon èd memwa espesifik. 335 00:24:17,770 --> 00:24:19,940 Se konsa, mwen pa konnen. 336 00:24:19,940 --> 00:24:23,820 Mwen pral mete non mwen nan isit la e konsa Lè sa a, mwen kapab fè youn nan bagay sa yo 337 00:24:23,820 --> 00:24:29,600 kote mwen asiyen yon mo pou chak lèt ​​nou ekri oswa yon bagay tankou sa. Fre. 338 00:24:29,600 --> 00:24:31,900 Se konsa, sa a, se longè fil. 339 00:24:33,000 --> 00:24:34,640 Se konsa, nou ap tounen nan Seza li ye. 340 00:24:34,640 --> 00:24:38,620 Nou gen yon zouti kèk sou ki jan nou repekte sou yon fisèl, 341 00:24:38,620 --> 00:24:41,250 ki jan nou gen aksè chak eleman endividyèl. 342 00:24:41,250 --> 00:24:44,720 Se konsa, kounye a nou ka jwenn tounen nan pwogram nan. 343 00:24:44,720 --> 00:24:48,650 Kòm mwen mansyone anvan, nan tablo a ASCII, pi bon zanmi ou a, 344 00:24:48,650 --> 00:24:52,300 w ap ale nan wè nimewo yo ki yo asosye avèk chak lèt ​​nou ekri. 345 00:24:52,300 --> 00:24:55,900 Se konsa, isit la di plentèk nou an, se mwen toudi! 346 00:24:55,900 --> 00:25:01,090 Lè sa a, chak nan sa yo karaktè ki pral gen yon nimewo ak yon ASCII valè ki asosye ak li, 347 00:25:01,090 --> 00:25:04,710 menm apostwòf la, menm espas la, menm esklamasyon mak la, 348 00:25:04,710 --> 00:25:06,600 konsa ou pral vle kenbe sa nan tèt ou. 349 00:25:06,600 --> 00:25:12,360 Se konsa, di kle nou an ki itilizatè a enkli nan agiman liy kòmandman yo se 6. 350 00:25:12,360 --> 00:25:17,770 Sa vle di pou lèt la premye, ki se mwen menm, ki se reprezante pa 73, 351 00:25:17,770 --> 00:25:25,610 ou vle pou retounen nan yo tou sa lèt a reprezante valè a ASCII nan 73 + 6. 352 00:25:25,610 --> 00:25:29,020 Nan ka sa a ki ta ka 79. 353 00:25:30,840 --> 00:25:35,040 Koulye a, nou vle pou yo ale nan karaktè kap vini an. 354 00:25:35,040 --> 00:25:40,960 Se konsa, pwochen an nan endèks 1 nan plentèk a ta dwe apostwòf la. 355 00:25:40,960 --> 00:25:46,780 Men, sonje nou sèlman vle chifre lèt yo. 356 00:25:46,780 --> 00:25:50,040 Se konsa, nou vle asire w ke apostwòf a aktyèlman rete menm nan, 357 00:25:50,040 --> 00:25:54,310 ke nou pa chanje soti nan 39 mèt fè tout sa 45 se. 358 00:25:54,310 --> 00:25:57,150 Nou vle kenbe li kòm yon apostwòf. 359 00:25:57,150 --> 00:26:00,780 Se konsa, nou vle sonje sèlman chifre lèt yo 360 00:26:00,780 --> 00:26:04,560 paske nou vle tout nan senbòl yo lòt nan rete san okenn chanjman nan pwogram nou an. 361 00:26:04,560 --> 00:26:07,130 Yon lòt bagay ke nou vle se prezève majiskil. 362 00:26:07,130 --> 00:26:10,250 Se konsa, lè ou gen yon lèt majuskul, li ta dwe rete kòm yon majuskul. 363 00:26:10,250 --> 00:26:12,830 Lowercases ta dwe rete kòm miniskil. 364 00:26:13,620 --> 00:26:19,480 Se konsa, kèk fonksyon itil pou kapab fè fas avèk sèlman enciphering lèt 365 00:26:19,480 --> 00:26:22,380 epi kenbe prezève majiskil nan de bagay sa yo 366 00:26:22,380 --> 00:26:25,130 se fonksyon yo islower isalpha, isupper,. 367 00:26:25,130 --> 00:26:29,270 Se konsa, sa yo, se fonksyon ki retounen ou yon valè Boolean. 368 00:26:29,270 --> 00:26:34,180 Fondamantalman, vre oubyen fo. Èske sa se yon majuskul? Èske sa se alfa? 369 00:26:34,180 --> 00:26:37,180 Èske sa se yon lèt, ki esansyèlman. 370 00:26:37,180 --> 00:26:41,070 Se konsa, isit la yo se 3 egzanp sou kouman ou ta itilize ki fonksyon. 371 00:26:41,070 --> 00:26:47,060 Fondamantalman, ou ta ka teste si valè a tounen nan ou pa ki fonksyon se vre oubyen fo 372 00:26:47,060 --> 00:26:49,400 ki baze sou ki D '. 373 00:26:49,400 --> 00:26:54,880 Swa pa fè sa chifre yon bagay oswa Kalkile li oswa asire w ke li nan majuskul, elatriye 374 00:26:54,880 --> 00:27:01,080 [Elèv] Èske ou ka jis eksplike sa yo yon ti kras plis epi ki jan ou sèvi ak yo? >> Yeah, pou asire w. 375 00:27:01,080 --> 00:27:08,470 Se konsa, si nou tounen gade dèyè, isit la nou gen yon kapital mwen, dwa? 376 00:27:08,470 --> 00:27:14,550 Se konsa, nou konnen se mwen ale nan O paske mwen + 6 se O. 377 00:27:14,550 --> 00:27:18,740 Men, nou vle asire w ke ke O a pwal yon O. kapital 378 00:27:18,740 --> 00:27:22,940 Se konsa, fondamantalman, se sa ki kalite pral chanje opinyon nou an. 379 00:27:22,940 --> 00:27:26,870 Se konsa, si li nan majuskul oswa ou pa pral kalite chanje fason a ke nou fè fas avèk li. 380 00:27:26,870 --> 00:27:32,360 Se konsa, Lè sa a, si nou sèvi avèk fonksyon an isupper sou sa endèks patikilye, 381 00:27:32,360 --> 00:27:36,480 Se konsa isupper ("I"), ki retounen pou nou vre, konsa nou konnen ke li nan anwo kay la. 382 00:27:36,480 --> 00:27:40,360 Se konsa, Lè sa a, ki baze sou sa, pita nou pral ale nan yon fòmil 383 00:27:40,360 --> 00:27:42,750 ki ou pral lè l sèvi avèk chanjman bagay sa yo nan Seza tande kòz, 384 00:27:42,750 --> 00:27:46,560 se konsa Lè sa a, fondamantalman, gen k ap pase yo dwe yon fòmil yon ti kras diferan si li nan majuskul 385 00:27:46,560 --> 00:27:50,670 kòm yo te opoze ak miniskil. Fè sans? 386 00:27:51,020 --> 00:27:52,760 Yeah. Pa gen enkyetid. 387 00:27:54,900 --> 00:27:58,990 Mwen te pale yon ti jan sou ajoute 6 a yon lèt, ki pa byen fè sans 388 00:27:58,990 --> 00:28:05,500 eksepte lè nou kalite konprann ke sa yo karaktè 389 00:28:05,500 --> 00:28:08,920 yo se kalite ka ranplase ak nonm antye relatif. 390 00:28:08,920 --> 00:28:11,250 Ki sa nou fè se nou kalite Distribisyon itilize enplisit. 391 00:28:11,250 --> 00:28:18,100 Nou pral antre nan depoze yon ti jan pita sou ki kote ou pran yon valè epi ou vire l 'nan yon kalite diferan 392 00:28:18,100 --> 00:28:20,440 pase sa li orijinal te ye a. 393 00:28:20,440 --> 00:28:25,910 Men, avèk sa a pset nou pral kapab kalite interchangeable itilize karaktè 394 00:28:25,910 --> 00:28:30,880 ak valè korespondan yo antye ki pè. 395 00:28:30,880 --> 00:28:35,140 Se konsa, si ou tou senpleman recouvrir yon karaktè ak jis quotes yo selibatè, 396 00:28:35,140 --> 00:28:40,390 Lè sa a, ou pral kapab travay avèk li ak nonm antye yo, fè fas ak li kòm yon antye relatif. 397 00:28:40,390 --> 00:28:48,040 Se konsa, C kapital la gen rapò ak 67. F miniskil gen rapò ak 102. 398 00:28:48,040 --> 00:28:51,480 Yon fwa ankò, si ou vle konnen valè sa yo, gade nan tablo ASCII ou a. 399 00:28:51,480 --> 00:28:56,160 Se konsa, kite a ale nan kèk egzanp sou kouman ou ka kapab fè soustraksyon epi ajoute, 400 00:28:56,160 --> 00:29:03,130 kouman ou ka aktyèlman vrèman travay avèk sa yo karaktè, sèvi ak yo interchangeable. 401 00:29:03,870 --> 00:29:11,350 Mwen di ke ASCIIMath ki pral kalkile adisyon a nan yon karaktè nan yon nonb antye relatif 402 00:29:11,350 --> 00:29:17,590 ak Lè sa a, montre karaktè a resultant kòm byen ke valè a resultant ASCII. 403 00:29:17,590 --> 00:29:22,290 Se konsa, isit la m ap di - we'll kontra avèk pati sa a pita - 404 00:29:22,290 --> 00:29:29,100 men, fondamantalman, m ap di ki itilizatè a ta dwe di kouri ASCIIMath ansanm ak yon kle yo, 405 00:29:29,100 --> 00:29:30,880 ak m ap di ke ki kle a pwal nimewo a 406 00:29:30,880 --> 00:29:34,600 ak ki nou pral ajoute sa a karaktè. 407 00:29:34,600 --> 00:29:38,560 Se konsa, isit la remake ke depi mwen ap mande pou yon kle, 408 00:29:38,560 --> 00:29:40,590 depi m ap mande yo ke yo ap bay m '1 bagay, 409 00:29:40,590 --> 00:29:45,600 Mwen sèlman vle asepte. / Asciimath ak kle a. 410 00:29:45,600 --> 00:29:49,330 Se konsa, mwen pral mande ke arg ki egal a 2. 411 00:29:49,330 --> 00:29:54,360 Si li pa, Lè sa a, mwen pral tounen 1 ak pwogram lan pral sòti. 412 00:29:55,070 --> 00:29:58,540 Se konsa, m ap di kle a pa a pwal bay lòd premye agiman an liy, 413 00:29:58,540 --> 00:30:05,080 li pral fè yon sèl, dezyèm lan, ak jan ou wè la a, 414 00:30:05,080 --> 00:30:11,790 Mwen pral vire ki nan yon nonb antye relatif. 415 00:30:15,740 --> 00:30:19,230 Lè sa a, mwen pral mete yon karaktè yo dwe r. 416 00:30:19,230 --> 00:30:23,970 Remake ki kalite varyab kr a se aktyèlman yon nonb antye relatif. 417 00:30:23,970 --> 00:30:30,480 Wout la sa mwen m kapab sèvi ak r kòm yon nonb antye relatif se pa encasing l 'ak sa yo quotes sèl. 418 00:30:33,850 --> 00:30:40,560 Se konsa, tounen nan deklarasyon printf nou kote nou gen yon kontneur pou yon karaktè 419 00:30:40,560 --> 00:30:43,590 ak Lè sa a, yon kontneur pou yon nonb antye relatif, 420 00:30:43,590 --> 00:30:49,450 se pèsonaj la reprezante nan kr a, ak nonb antye relatif la se kle a. 421 00:30:49,450 --> 00:30:54,320 Se konsa, lè sa a nou ap ale nan nan rezilta ajoute 2 an ansanm. 422 00:30:54,320 --> 00:30:58,420 Se konsa, nou ap ale nan ajoute r + tou sa kle a se, 423 00:30:58,420 --> 00:31:03,520 ak Lè sa a, nou pral enprime rezilta a nan sa. 424 00:31:06,210 --> 00:31:14,220 Se konsa, kite a fè asciimath. Li a jiska dat, se konsa kite yo jis kouri asciimath. 425 00:31:14,220 --> 00:31:18,290 Oh, men wè, li pa fè anyen paske nou pa t 'aktyèlman bay li yon kle. 426 00:31:18,290 --> 00:31:23,850 Se konsa, lè li fenk retounen 1, fonksyon prensipal nou an, li fenk retounen tounen ban mwen. 427 00:31:23,850 --> 00:31:29,250 Se konsa, Lè sa a, kite a pase nan yon kle. Yon moun ban m 'yon nimewo. >> [Elèv] 4. 428 00:31:29,250 --> 00:31:30,920 4. Oke. 429 00:31:30,920 --> 00:31:39,280 Se konsa, r ogmante pa 4 a pral ban nou v, ki koresponn ak valè a ASCII nan 118. 430 00:31:39,280 --> 00:31:43,880 Se konsa, lè sa a li kalite fè sans sa - 431 00:31:43,880 --> 00:31:51,250 Aktyèlman, mwen ka mande w, ki sa ou panse valè a ASCII nan r se si r + 4 se 118? 432 00:31:53,070 --> 00:31:55,470 Lè sa a, yeah, r se 114. 433 00:31:55,470 --> 00:32:03,010 Se konsa, si ou gade sou tab la ASCII lè sa a, asire w ase, ou pral wè se ke r reprezante nan 114. 434 00:32:03,010 --> 00:32:08,610 Se konsa, kounye a ke nou konnen ke nou ka ajoute nonm antye relatif karaktè, sa a sanble trè senp. 435 00:32:08,610 --> 00:32:12,740 Nou jis ap ale nan repekte sou yon fisèl tankou nou te wè nan yon egzanp anvan. 436 00:32:12,740 --> 00:32:17,170 Nou pral tcheke si li nan yon lèt. 437 00:32:17,170 --> 00:32:20,420 Si li se, Lè sa a, nou pral chanje li pa tou sa kle a se. 438 00:32:20,420 --> 00:32:23,650 Trè senp, eksepte lè ou jwenn yo tankou sa a, 439 00:32:23,650 --> 00:32:32,140 ou wè sa a z, reprezante nan 122, lè sa a ta ba ou yon karaktè diferan. 440 00:32:32,140 --> 00:32:37,770 Nou aktyèlman vle rete nan alfabè nou an, dwa? 441 00:32:37,770 --> 00:32:43,180 Se konsa, nou bezwen konnen ki kèk fason nan kalite vlope alantou. 442 00:32:43,180 --> 00:32:47,190 Lè ou rive nan zèd, epi ou vle ogmante pa yon sèten nonb, 443 00:32:47,190 --> 00:32:51,230 ou pa ta vle ale nan pi lwen pase seksyon nan alfabè ASCII; 444 00:32:51,230 --> 00:32:54,140 ou vle vlope tounen tout wout la A. 445 00:32:54,140 --> 00:32:58,550 Men, kenbe nan tèt ou w ap toujou prezève ka-a. 446 00:32:58,550 --> 00:33:00,980 Se konsa, konnen ke lèt pa ka vin senbòl 447 00:33:00,980 --> 00:33:05,290 jis tankou senbòl pa pral yo dwe chanje kòm byen. 448 00:33:05,290 --> 00:33:08,170 Nan pset an dènye ou definitivman pa t 'bezwen, 449 00:33:08,170 --> 00:33:14,310 men yon opsyon te aplike pset visye ou pa sèvi ak fonksyon an Modil. 450 00:33:14,310 --> 00:33:17,230 Men koulye a, nou ap aktyèlman ale nan bezwen sèvi ak Modil, 451 00:33:17,230 --> 00:33:19,900 se konsa kite yo jis ale sou sa a yon ti jan. 452 00:33:19,900 --> 00:33:26,920 Esansyèlman, lè ou gen x modulo y, ki ba ou tout rès x divize pa y. 453 00:33:26,920 --> 00:33:30,930 Men kèk egzanp isit la. Nou gen 27% 15. 454 00:33:30,930 --> 00:33:36,200 Fondamantalman, lè ou fè soustraksyon 15 soti nan 27 kòm anpil fwa ke posib san yo pa resevwa negatif 455 00:33:36,200 --> 00:33:39,060 Lè sa a, ou jwenn 12 gòch sou. 456 00:33:39,060 --> 00:33:44,650 Se konsa, sa a, se kalite tankou nan yon kontèks la matematik, men ki jan nou ka sèvi ak aktyèlman sa a? 457 00:33:44,650 --> 00:33:47,100 Li nan ale nan kapab itil pou wrapover nou an. 458 00:33:47,100 --> 00:33:55,420 Pou sa a, kite yo jis di mwen mande w tout moun divize nan 3 gwoup yo. 459 00:33:55,420 --> 00:33:58,010 Pafwa ou fè sa nan gwoup yo ak yon bagay tankou sa. 460 00:33:58,010 --> 00:34:01,320 Di mwen te di, "Oke, mwen vle ou tout moun ap divize an 3". 461 00:34:01,320 --> 00:34:04,240 Kijan ou kapab fè sa? 462 00:34:04,240 --> 00:34:06,810 [Fèbl repons elèv] Yeah, egzakteman. Konte an. Oke. 463 00:34:06,810 --> 00:34:10,260 Se pou nou aktyèlman fè sa. ou vle kòmanse? 464 00:34:10,260 --> 00:34:13,810 [Elèv yo konte nan] 1, 2, 3, 4. 465 00:34:13,810 --> 00:34:16,620 Men, sonje ... >> [Elèv] Oh, regrèt. 466 00:34:16,620 --> 00:34:18,730 Sa a se yon pwen reyèlman bon. 467 00:34:18,730 --> 00:34:24,130 Ou te di 4, men nou aktyèlman vle ou di 1 paske nou sèlman vle 3 gwoup yo. 468 00:34:24,130 --> 00:34:30,159 Se konsa, lè sa a, ki jan - Non, sa se yon egzanp reyèlman bon paske lè sa a kouman ou ka di 1? 469 00:34:30,159 --> 00:34:33,370 Ki sa ki nan relasyon ki genyen ant 4 ak 1 an? 470 00:34:33,370 --> 00:34:36,760 Oke, 4 Mod 3 se 1. 471 00:34:36,760 --> 00:34:41,460 Se konsa, si ou kontinye, ou ta dwe 2. 472 00:34:41,460 --> 00:34:44,540 Se konsa, nou gen 1, 2, 3, 1, 2. 473 00:34:44,540 --> 00:34:49,420 Yon fwa ankò, ou se aktyèlman moun nan 5yèm. Jan ou fè konnen yo di 2 olye pou yo 5? 474 00:34:49,420 --> 00:34:53,760 Ou di 5 Mod 3 se 2. 475 00:34:53,760 --> 00:34:59,100 Mwen vle wè ki jan anpil gwoup moun ki nan 3 ki rete sou, Lè sa a, ki lòd mwen wi 476 00:34:59,100 --> 00:35:02,860 Se konsa, Lè sa a, si nou kontinye ansanm sal la tout antye, 477 00:35:02,860 --> 00:35:07,760 Lè sa a, nou ta renmen wè ke nou toujou ap aktyèlman aplike fonksyon an Mod nan tèt nou 478 00:35:07,760 --> 00:35:09,990 kalite konte an. 479 00:35:09,990 --> 00:35:14,490 Sa se yon kalite plis nan egzanp byen mèb sou kouman ou ta ka sèvi ak modulo 480 00:35:14,490 --> 00:35:17,960 paske mwen asire w pi fò nan nou te pwobableman gen ale nan pwosesis sa a 481 00:35:17,960 --> 00:35:19,630 kote nou te te gen nan konte an. 482 00:35:19,630 --> 00:35:21,840 Nenpòt kesyon sou modulo? 483 00:35:21,840 --> 00:35:25,360 Li pral trè enpòtan ke ou konprann konsèp yo nan sa a, 484 00:35:25,360 --> 00:35:28,640 Se konsa, mwen vle asire w ke ou nèg konprann. 485 00:35:28,640 --> 00:35:34,660 [Elèv] Si pa gen okenn rès, li ba ou nimewo aktyèl la? 486 00:35:34,660 --> 00:35:40,430 Si youn nan 3 an premye nan yo te fè li, li ta te ba yo sa yo aktyèlman te, 487 00:35:40,430 --> 00:35:43,310 oswa ou ta li te ba yo [fèbl] >> Sa se yon bon kesyon. 488 00:35:43,310 --> 00:35:48,750 Lè pa gen rès pou modulo la - se konsa di ou gen 6 Mod 3 - 489 00:35:48,750 --> 00:35:52,340 ki aktyèlman ap ba ou tounen 0. 490 00:35:53,670 --> 00:35:57,290 Nou pral pale de sa yon ti jan pita. 491 00:35:58,810 --> 00:36:07,720 Oh yeah, pou egzanp, moun nan 3yèm - 3 Mod 3 se aktyèlman 0 men li di 3. 492 00:36:07,720 --> 00:36:14,900 Se konsa, sa a, se kalite tankou yon trape enteryè, pou egzanp, 493 00:36:14,900 --> 00:36:17,620 tankou oke, si yo Mod a 0 Lè sa a, mwen pral fè moun lan 3yèm. 494 00:36:17,620 --> 00:36:22,740 Men, nou pral jwenn nan kalite ki jan nou ta ka vle fè fas ak sa ki 0 se pita. 495 00:36:22,740 --> 00:36:32,750 Se konsa, kounye a nou yon jan kanmenm gen yon fason pou planifikasyon zèd nan lèt la dwat. 496 00:36:32,750 --> 00:36:34,920 Se konsa, kounye a nou te ale nan egzanp sa yo, 497 00:36:34,920 --> 00:36:37,880 nou kalite wè ki jan Seza tande kòz ta ka travay. 498 00:36:37,880 --> 00:36:42,640 Ou wè alfabè yo 2 ak Lè sa a, ou wè yo chanje. 499 00:36:42,640 --> 00:36:44,430 Se konsa, kite a eseye ak eksprime ki an tèm de fòmil. 500 00:36:44,430 --> 00:36:46,940 Sa a se fòmil aktyèlman ba ou nan espèk a, 501 00:36:46,940 --> 00:36:52,070 men kalite kite l 'la nan gade nan ki sa chak varyab vle di. 502 00:36:52,070 --> 00:36:55,000 Rezilta fen nou an a pwal chifre a. 503 00:36:55,000 --> 00:36:58,300 Se konsa, sa a di ke pèsonaj la on nan chifre a 504 00:36:58,300 --> 00:37:02,500 ki pral koresponn ak karaktè a on nan plentèk la. 505 00:37:02,500 --> 00:37:08,130 Ki fè sans paske nou vle toujou ap doublur sa yo sou bagay yo. 506 00:37:08,130 --> 00:37:13,480 Se konsa li pral fè pèsonaj la on nan k nan plis chifre, ki se kle nou yo - 507 00:37:13,480 --> 00:37:17,230 ki fè sans - ak Lè sa a, nou gen sa a Mod 26. 508 00:37:17,230 --> 00:37:19,860 Sonje tounen lè nou te gen zèd an 509 00:37:19,860 --> 00:37:24,190 nou pa t 'vle jwenn nan karaktè a, se konsa nou te vle Mod li 510 00:37:24,190 --> 00:37:26,540 ak kalite vlope toutotou alfabè an. 511 00:37:26,540 --> 00:37:33,430 Apre zèd ou ta ale nan yon, B, C, D, jiskaske ou te rive nan nimewo ki dwat. 512 00:37:33,430 --> 00:37:44,690 Se konsa, nou konnen ke zèd, si + 6, ap ban nou f paske apre zèd vini a, b, C, D, E, F. 513 00:37:44,690 --> 00:37:52,530 Se konsa, kite a sonje nou konnen pou asire w ke zèd + 6 ki pral ban nou f. 514 00:37:52,530 --> 00:38:03,530 Nan valè ASCII, z se 122 ak f se 102. 515 00:38:03,530 --> 00:38:10,570 Se konsa, nou gen jwenn kèk fason pou prepare fòmil Seza tande kòz nou an ban nou 102 516 00:38:10,570 --> 00:38:13,590 apre w pran nan 122. 517 00:38:13,590 --> 00:38:19,550 Se konsa, si nou jis aplike sa a lèt an poud,% nan ('z' + 6) 26, ki aktyèlman ap ba ou 24 518 00:38:19,550 --> 00:38:25,980 paske 122 + 6 se 128; 128% 26 ba-w 24 rès. 519 00:38:25,980 --> 00:38:29,140 Men, ki pa reyèlman vle di f. Sa a se definitivman pa 102. 520 00:38:29,140 --> 00:38:33,590 Sa a se tou pa lèt la 6th nan alfabè an. 521 00:38:33,590 --> 00:38:41,550 Se konsa, evidamman, nou bezwen gen kèk fason pou tweaking sa a yon ti kras ti jan. 522 00:38:42,970 --> 00:38:51,340 An tèm de alfabè a regilye, nou konnen z se lèt la 26th ak f se 6th a. 523 00:38:51,340 --> 00:38:55,460 Men, nou ap nan syans konpitè, pou nou ap ale nan endèks nan 0. 524 00:38:55,460 --> 00:39:00,690 Se konsa, Lè sa a, olye pou yo z yo te nimewo a 26, nou ap pral di nimewo li a 25 525 00:39:00,690 --> 00:39:02,630 paske yon se 0. 526 00:39:02,630 --> 00:39:04,770 Se konsa, kounye a kite a aplike sa a fòmil. 527 00:39:04,770 --> 00:39:11,710 Nou gen z reprezante pa 25 6 +, sa ki ba ou 31. 528 00:39:11,710 --> 00:39:15,790 Ak 31 Mod 26 ba ou 5 kòm yon rès. 529 00:39:15,790 --> 00:39:20,500 Sa a se pafè paske nou konnen f se lèt la 5yèm nan alfabè an. 530 00:39:20,500 --> 00:39:26,400 Men, li toujou se pa f, dwa? Li toujou kontinye se pa 102. 531 00:39:26,400 --> 00:39:32,730 Se konsa, Lè sa a, pou sa a pset, yon defi yo pral eseye jwenn sou relasyon ki genyen 532 00:39:32,730 --> 00:39:36,910 ant konvèti ant valè sa yo ASCII ak endèks la alfabetik. 533 00:39:36,910 --> 00:39:40,280 Esansyèlman, ki sa ou pral vle fè sa, ou vle kòmanse soti ak valè yo ASCII, 534 00:39:40,280 --> 00:39:45,390 men Lè sa a, ou vle yon jan kanmenm tradui ki nan yon endèks alfabetik 535 00:39:45,390 --> 00:39:52,610 Lè sa a, kalkile sa ki lèt li ta dwe - fondamantalman, ki sa ki endèks alfabetik li yo se 536 00:39:52,610 --> 00:39:57,660 nan karaktè a kalkile - Lè sa a, tradui ki tounen nan valè yo ASCII. 537 00:39:57,660 --> 00:40:04,870 Se konsa, si ou fwe nan tab ASCII ou a, Lè sa a, eseye epi jwenn relasyon ant, di, 102 ak 5 538 00:40:04,870 --> 00:40:10,440 oswa 122 a ak 25. 539 00:40:12,140 --> 00:40:15,690 Nou te vinn kle nou yo soti nan agiman yo liy lòd, nou te vinn plentèk a, 540 00:40:15,690 --> 00:40:17,520 nou te enciphered li. 541 00:40:17,520 --> 00:40:19,820 Koulye a, tout sa nou te kite fè se enprime li. 542 00:40:19,820 --> 00:40:22,040 Nou ta ka fè sa a yon koup nan diferan fason. 543 00:40:22,040 --> 00:40:24,570 Ki sa nou ta ka fè se aktyèlman enprime kòm nou ale ansanm. 544 00:40:24,570 --> 00:40:28,250 Kòm nou repekte sou karaktè yo ki nan fisèl la, 545 00:40:28,250 --> 00:40:31,660 nou te ka tou senpleman jis enprime dwa Lè sa a, lè nou kalkile li. 546 00:40:31,660 --> 00:40:36,030 Sinon, ou ta ka tou sere l 'nan yon etalaj epi yo gen yon etalaj de karaktè 547 00:40:36,030 --> 00:40:39,280 ak nan fen a repekte sou ki etalaj antye ak enprime li. 548 00:40:39,280 --> 00:40:40,980 Se konsa, ou gen yon koup nan opsyon pou sa. 549 00:40:40,980 --> 00:40:47,280 Epi sonje byen, c% a pwal kontneur a pou enprime yon karaktè. 550 00:40:47,280 --> 00:40:50,420 Se konsa, gen nou gen Seza, kounye a nou deplase sou Vigenere, 551 00:40:50,420 --> 00:40:57,580 ki se trè menm jan ak Seza tande kòz men jis yon ti kras plis konplèks. 552 00:40:57,580 --> 00:41:03,310 Se konsa, esansyèlman ak Vigenere se w ap ale nan dwe pase nan yon mo kle. 553 00:41:03,310 --> 00:41:06,510 Se konsa, olye pou yo yon nonb, w ap ale nan gen yon kòd, 554 00:41:06,510 --> 00:41:09,200 Pou fè sa ki k ap pase yo aji kòm mo kle ou. 555 00:41:09,200 --> 00:41:14,440 Lè sa a, kòm dabitid, w ap ale nan jwenn yon èd memwa pou yon fisèl soti nan itilizatè a 556 00:41:14,440 --> 00:41:19,050 ak Lè sa a, chifre li epi li Lè sa a, ba yo tounen nan chifre. 557 00:41:19,050 --> 00:41:24,650 Se konsa, jan mwen te di, li nan anpil menm jan ak Seza tande kòz yo, eksepte olye pou yo déplacement pa yon sèten nonb, 558 00:41:24,650 --> 00:41:30,620 nimewo a se aktyèlman pral chanje chak fwa soti nan karaktè karaktè. 559 00:41:30,620 --> 00:41:34,890 Ki reprezante ki kantite aktyèl sou chanjman, li te reprezante pa lèt yo klavye. 560 00:41:34,890 --> 00:41:43,150 Se konsa, si ou antre nan nan yon chanjman nan yon, pou egzanp, Lè sa a, ki ta ka koresponn ak yon chanjman ki 0. 561 00:41:43,150 --> 00:41:45,900 Se konsa, li ankò tounen nan endèks la alfabetik. 562 00:41:45,900 --> 00:41:49,100 Ki sa ki kapab itil si w ap wè ke nou ap aktyèlman fè fas ak valè ASCII 563 00:41:49,100 --> 00:41:51,790 kòm byen ke lèt yo, osi byen ke endèks la alfabetik, 564 00:41:51,790 --> 00:41:58,020 petèt jwenn oswa fè pwòp ou ASCII tab ki montre endèks la alfabetik nan 0 a 25, 565 00:41:58,020 --> 00:42:03,750 yon atravè z, ak valè yo ASCII pou ke ou ka kalite wè relasyon ki 566 00:42:03,750 --> 00:42:07,020 ak trase deyò epi yo eseye epi jwenn kèk modèl. 567 00:42:07,020 --> 00:42:11,010 Menm jan tou, si ou te déplacement nan egzanp lan sèten pa f - 568 00:42:11,010 --> 00:42:21,110 ak sa a se swa f miniskil oswa majuskul - Lè sa a, ki ta ka koresponn ak 5. 569 00:42:21,110 --> 00:42:24,180 Eske nou kwè nou bon twò lwen? 570 00:42:25,770 --> 00:42:30,050 Fòmil la pou Vigenere se yon ti jan diferan. 571 00:42:30,050 --> 00:42:32,960 Fondamantalman, ou wè ke li nan jis tankou Seza tande kòz, 572 00:42:32,960 --> 00:42:37,390 eksepte olye pou yo jis k nou gen k endèks j. 573 00:42:37,390 --> 00:42:44,810 Remake nou pa lè l sèvi avèk mwen paske esansyèlman a, longè mo kle a 574 00:42:44,810 --> 00:42:49,850 se pa nesesèman longè nan chifre nou an. 575 00:42:49,850 --> 00:42:56,130 Sa se va yon ti jan pi klè lè nou wè yon egzanp ke mwen gen yon ti jan pita sou. 576 00:42:56,130 --> 00:43:03,160 Fondamantalman, si ou kouri pwogram ou an ak yon mo kle nan ohai, 577 00:43:03,160 --> 00:43:08,560 Lè sa a, ki vle di ke chak fwa, ohai a pwal chanjman ou an. 578 00:43:08,560 --> 00:43:11,060 Se konsa, depann sou sa ki pozisyon ou nan mo kle ou a, 579 00:43:11,060 --> 00:43:15,800 w ap ale nan chanje sèten ou chifre karaktè pa ki kantite lajan. 580 00:43:15,800 --> 00:43:19,630 Yon fwa ankò, jis tankou Seza tande kòz, nou vle asire ki nou prezerv majiskil nan de bagay sa yo 581 00:43:19,630 --> 00:43:22,900 epi nou sèlman lèt chifre, pa karaktè oswa espas. 582 00:43:22,900 --> 00:43:26,330 Se konsa, gade tounen nan Seza tande kòz sou fonksyon yo ke ou ka te itilize, 583 00:43:26,330 --> 00:43:32,570 fason ke ou deside ki jan yo chanje bagay sa yo, epi aplike ki nan pwogram ou an isit la. 584 00:43:32,570 --> 00:43:35,260 Se konsa, kite a kat sa a soti. 585 00:43:35,260 --> 00:43:39,680 Nou gen yon plentèk ke nou te vinn soti nan itilizatè a soti nan GetString 586 00:43:39,680 --> 00:43:44,090 li di sa a ... se CS50! 587 00:43:44,090 --> 00:43:47,090 Lè sa a, nou gen yon mo kle nan ohai. 588 00:43:47,090 --> 00:43:50,930 Premye 4 karaktè yo se trè senp. 589 00:43:50,930 --> 00:43:55,580 Nou konnen ke T yo pral deplase nan o, 590 00:43:55,580 --> 00:44:01,990 Lè sa a, h yo pral deplase nan h, mwen yo pral deplase pa yon. 591 00:44:01,990 --> 00:44:04,610 La a ou wè ke yon reprezante 0, 592 00:44:04,610 --> 00:44:11,940 se konsa Lè sa a, valè a fen se aktyèlman jis lèt la menm jan anvan. 593 00:44:11,940 --> 00:44:15,250 Lè sa a, yo ap deplase nan mwen. 594 00:44:15,250 --> 00:44:19,370 Men, Lè sa a, ou gen sa yo peryòd isit la. 595 00:44:19,370 --> 00:44:25,960 Nou pa vle chifre ki, se konsa Lè sa a, nou pa chanje li pa anyen 596 00:44:25,960 --> 00:44:31,280 ak jis enprime soti peryòd la chanje. 597 00:44:31,280 --> 00:44:38,020 [Elèv] Mwen pa konprann ki jan ou konnen ke sa a se deplase pa - Ki kote ou te - >> Oh, regrèt. 598 00:44:38,020 --> 00:44:41,620 Nan tèt la isit la ou wè sa a liy ohai nan agiman lòd isit la, 599 00:44:41,620 --> 00:44:43,740 ki k ap pase yo dwe mo kle a. 600 00:44:43,740 --> 00:44:49,550 Se konsa, fondamantalman, w ap monte bisiklèt sou karaktè yo ki nan mo kle a. 601 00:44:49,550 --> 00:44:52,020 [Elèv] Se konsa, o yo pral déplacement menm bagay la tou - 602 00:44:52,020 --> 00:44:56,260 Se konsa, o koresponn ak yon sèten nonb nan alfabè an. 603 00:44:56,260 --> 00:44:58,400 [Elèv] Dwa. Men, kote ou te jwenn pati nan CS50 soti nan? 604 00:44:58,400 --> 00:45:02,540 Oh. Sa a nan GetString kote w ap tankou, "Ban m yon fisèl programme." 605 00:45:02,540 --> 00:45:07,510 [Elèv] Yo ap pral ba ou ki agiman chanjman nan 606 00:45:07,510 --> 00:45:09,380 ak Lè sa a, ou pral mande pou fisèl premye ou. >> Yeah. 607 00:45:09,380 --> 00:45:12,440 Se konsa, lè yo kouri pwogram nan, yo pwal santi yo gen ladan yo mo kle a 608 00:45:12,440 --> 00:45:14,740 nan agiman liy lòd yo lè yo kouri li. 609 00:45:14,740 --> 00:45:19,740 Lè sa a, yon fwa ou te tcheke yo ke yo te aktyèlman ban nou 1 ak pa plis, pa mwens, 610 00:45:19,740 --> 00:45:23,750 Lè sa a, w ap ale nan vit yo pou yon fisèl, di, "Ban m yon fisèl." 611 00:45:23,750 --> 00:45:27,630 Se konsa, ke se la li nan ka sa a yo te ban nou sa a ... se CS50! 612 00:45:27,630 --> 00:45:32,090 Se konsa, Lè sa a, w ap ale nan sèvi ak sa ki epi sèvi ak ohai ak repekte sou. 613 00:45:32,090 --> 00:45:38,200 Remake isit la nou sote sou chifreman peryòd yo, 614 00:45:38,200 --> 00:45:51,660 men an tèm de pozisyon nou pou ohai, youn nan pwochen nou itilize o. 615 00:45:51,660 --> 00:45:54,990 Nan ka sa a li nan yon ti jan pi difisil yo wè paske sa a, se 4, 616 00:45:54,990 --> 00:45:57,710 kidonk kite a kontinye yon ti jan. Jis bwa avèk m 'isit la. 617 00:45:57,710 --> 00:46:02,960 Lè sa a, nou gen mwen ak s, ki fè yo Lè sa a, tradui pa o epi h respektivman. 618 00:46:02,960 --> 00:46:09,370 Lè sa a, nou gen yon espas, e konsa Lè sa a, nou konnen ke nou pa yo ale nan chifre espas yo. 619 00:46:09,370 --> 00:46:18,930 Men, avi ke olye pou yo ale nan yon nan plas sa a dwa isit la, 620 00:46:18,930 --> 00:46:28,330 nou ap chifreman pa yon - Mwen pa konnen si ou ka wè ke - dwa isit la. 621 00:46:28,330 --> 00:46:33,710 Se konsa, li pa nan renmen ou aktyèlman Predetermined, di, o ale isit la, h ale isit la, 622 00:46:33,710 --> 00:46:39,200 yon ale isit la, mwen ale isit la, o, h, yon, mwen, o, h, yon, mwen. Ou pa fè sa. 623 00:46:39,200 --> 00:46:43,760 Ou sèlman chanjman pozisyon ou nan mo kle a 624 00:46:43,760 --> 00:46:51,020 lè ou konnen ke w ap aktyèlman yo pral chifreman yon lèt aktyèl. 625 00:46:51,020 --> 00:46:53,920 ki kalite fè sans? 626 00:46:53,920 --> 00:46:55,800 Oke. 627 00:46:56,490 --> 00:46:58,500 Se konsa, jis kèk rapèl. 628 00:46:58,500 --> 00:47:03,760 Ou vle asire w ke ou sèlman avanse a lèt la nan pwochen mo kle ou 629 00:47:03,760 --> 00:47:06,390 si pèsonaj la nan plentèk ou a se yon lèt. 630 00:47:06,390 --> 00:47:09,120 Se konsa, di nou ap nan o la. 631 00:47:09,120 --> 00:47:19,310 Nou remake ke pèsonaj la kap vini an, endèks la mwen nan plentèk a, se yon nimewo, pou egzanp. 632 00:47:19,310 --> 00:47:31,630 Lè sa a, nou pa avanse j, endèks la pou mo kle nou an, jouk nou rive jwenn yon lòt lèt. 633 00:47:31,630 --> 00:47:36,230 Yon fwa ankò, nou menm tou nou vle asire w ke ou antourant nan konmansman an nan mo kle a 634 00:47:36,230 --> 00:47:37,770 lè w ap nan fen li. 635 00:47:37,770 --> 00:47:42,030 Si ou wè la a nou ap nan mwen, youn nan pwochen te gen o. 636 00:47:42,030 --> 00:47:47,690 Se konsa, ou vle jwenn kèk fason pou yo te kapab antourant nan konmansman an nan mo kle ou 637 00:47:47,690 --> 00:47:49,470 chak fwa ke ou rive nan fen an. 638 00:47:49,470 --> 00:47:55,040 Se konsa, ankò, ki kalite operatè se itil nan ka sa a pou vlope nan jiwon l? 639 00:47:56,630 --> 00:47:59,840 Renmen nan konte a nan egzanp lan. 640 00:47:59,840 --> 00:48:03,710 [Elèv] pousan siyen an. >> Yeah, siy ki pousan, ki se modulo. 641 00:48:03,710 --> 00:48:11,250 Se konsa, modulo ap vini an sou la men isit la lè ou vle vlope sou endèks la nan ohai ou a. 642 00:48:11,250 --> 00:48:17,700 Ak jis yon allusion rapid: Eseye panse a vlope sou mo kle a yon ti jan tankou koupe nan konte, 643 00:48:17,700 --> 00:48:23,590 kote si gen nan 3 gwoup, moun nan 4yèm, 644 00:48:23,590 --> 00:48:30,610 nimewo yo ke yo te di se te 4 Mod 3, ki te 1. 645 00:48:30,610 --> 00:48:32,880 Se konsa, eseye epi panse a li nan fason sa a. 646 00:48:34,770 --> 00:48:42,740 Jan ou te wè nan fòmil la, nenpòt ki bò ou gen ci ak Lè sa a, pi men Lè sa a, kj, 647 00:48:42,740 --> 00:48:44,700 ou vle asire w ke w kenbe tras nan sa yo. 648 00:48:44,700 --> 00:48:47,580 Ou pa bezwen rele li mwen, ou pa bezwen rele li j, 649 00:48:47,580 --> 00:48:53,270 men ou vle asire w ke w kenbe tras nan pozisyon an ou nan nan plentèk ou 650 00:48:53,270 --> 00:48:55,790 kòm byen ke pozisyon sa ke w ap nan nan mo kle ou 651 00:48:55,790 --> 00:48:59,840 paske moun yo pa nesesèman pral fè menm bagay la. 652 00:48:59,840 --> 00:49:06,400 Se pa sèlman fè sa ki mo kle a - li te kapab fè yon longè konplètman diferan pase plentèk ou a. 653 00:49:06,400 --> 00:49:09,140 Epitou, plentèk ou a, gen nimewo ak karaktè, 654 00:49:09,140 --> 00:49:14,450 Se konsa li pa ale nan parfe matche ak moute ansanm. Wi. 655 00:49:14,450 --> 00:49:19,280 [Elèv] Èske gen yon fonksyon chanje ka? 656 00:49:19,280 --> 00:49:24,530 Èske ou ka chanje yon nan kapital A? >> Yeah, gen definitivman se. 657 00:49:24,530 --> 00:49:27,890 Ou ka tcheke deyò - Mwen kwè toupper li a, tout pawòl 1. 658 00:49:30,650 --> 00:49:36,310 Men, lè w ap eseye kalkile bagay sa yo e pou prezève tèks la, 659 00:49:36,310 --> 00:49:39,350 li pi bon fondamantalman yo te ka separe. 660 00:49:39,350 --> 00:49:42,040 Si li nan yon majuskul, lè sa a ou vle chanje sa a 661 00:49:42,040 --> 00:49:46,460 paske nan fòmil ou a, lè ou tounen gade dèyè ki jan nou dwe kalite ale 662 00:49:46,460 --> 00:49:50,900 interchangeable ant wout la ASCII pou reprezante chif yo 663 00:49:50,900 --> 00:49:55,020 ak aktyèl alfabetik endèks la, nou vle asire 664 00:49:55,020 --> 00:50:01,850 gen nan pral fè kèk kalite modèl ki w ap ale nan itilize. 665 00:50:01,850 --> 00:50:04,580 Yon lòt nòt sou modèl la, aktyèlman. 666 00:50:04,580 --> 00:50:07,250 W ap ale nan definitivman ka fè fas ak nimewo. 667 00:50:07,250 --> 00:50:11,280 Eseye pa sèvi ak nimewo majik, ki se yon egzanp sou style. 668 00:50:11,280 --> 00:50:18,470 Se konsa, di ou vle chak yon bagay chanjman tan pa renmen - 669 00:50:18,470 --> 00:50:22,400 Oke, kidonk allusion, yon lòt beke, se lè ou ap pral déplacement yon bagay 670 00:50:22,400 --> 00:50:26,310 pa yon sèten kantite, eseye pa reprezante ke pa yon nimewo aktyèl 671 00:50:26,310 --> 00:50:32,810 men pito eseye ak wè si ou ka sèvi ak valè a ASCII, ki pral kalite fè plis sans. 672 00:50:32,810 --> 00:50:35,470 Yon lòt sonje: Paske nou ap fè fas ak fòmil, 673 00:50:35,470 --> 00:50:41,200 menm si tf ou a pral kalite konnen ki sa ki modèl ou ka lè l sèvi avèk, 674 00:50:41,200 --> 00:50:44,430 pi bon yo nan kalite kòmantè ou a eksplike lojik la, renmen, 675 00:50:44,430 --> 00:50:51,880 "Mwen lè l sèvi avèk modèl sa a paske ..." ak kalite eksplike modèl la suksen nan kòmantè ou a. 676 00:50:54,090 --> 00:50:58,990 [Sa a te solisyon 2] Si pa gen okenn lòt kesyon, Lè sa a, mwen pral jis rete isit la pou yon ti tan. 677 00:50:58,990 --> 00:51:04,370 Bon chans ak pset ou 2: kriptografik ak mèsi pou vini yo. 678 00:51:06,070 --> 00:51:08,620 [Elèv] Mèsi poutèt ou. Mèsi >>. 679 00:51:09,220 --> 00:51:10,800 [Media Offline Intro]