1 00:00:00,000 --> 00:00:01,940 [Powered by Google Translate] [Валктхроугх - Проблем Сет 2] 2 00:00:01,940 --> 00:00:04,130 [Замила Цхан - Универзитет Харвард] 3 00:00:05,170 --> 00:00:07,490 [Ово је ЦС50. ЦС50.ТВ] 4 00:00:07,490 --> 00:00:10,750 У реду. Поздрав свима, и добродошли у Валктхроугх 2. 5 00:00:10,750 --> 00:00:14,330 Прво, желим да вам честитам за завршну псет 1. 6 00:00:14,330 --> 00:00:18,140 Знам да би то могло да буде мало тешко за неке од вас, 7 00:00:18,140 --> 00:00:20,460 могао бити ваш први компјутерски програм који сте написали, 8 00:00:20,460 --> 00:00:24,500 али само запамтите да на крају ове године, када се осврнете на крају семестра, 9 00:00:24,500 --> 00:00:29,820 ћете погледати псет 1 и ви ћете рећи: "Хеј, ја сам могао да уради за 5 минута." 10 00:00:29,820 --> 00:00:35,700 Дакле, знам и верујем да ће на крају ове дефинитивно ћете наћи псет 1 прилично једноставна. 11 00:00:35,700 --> 00:00:40,640 Али за сада је то огроман успех, и честитке за добијање уради. 12 00:00:40,640 --> 00:00:44,010 Сада, такође брзо напомена пре него што уђу у месо од објашњења. 13 00:00:44,010 --> 00:00:48,340 Ја само желим да се брзо напомену да понекад не имати довољно времена 14 00:00:48,340 --> 00:00:52,500 током Валктхроугхс да прође кроз сваки начин раде проблема сет 15 00:00:52,500 --> 00:00:56,140 и прилично само можда фокусирати на 1 или 2 врсте имплементацијама, 16 00:00:56,140 --> 00:00:57,750 начина да то урадите. 17 00:00:57,750 --> 00:01:01,970 Али то не значи да сте забрањено то раде други начин. 18 00:01:01,970 --> 00:01:05,980 Често постоје, као и код компјутерских наука, бројни начини да се то уради ствари, 19 00:01:05,980 --> 00:01:12,190 и тако дефинитивно слободно да користе другачији тип решења него што сам представио. 20 00:01:12,190 --> 00:01:14,520 [Псет 2: Црипто - Замила Цхан - замила@цс50.нет] 21 00:01:14,520 --> 00:01:17,160 [Псет2 - 0. Секција питања - 1. Цезар - 2. Вигенере] 22 00:01:17,160 --> 00:01:20,650 У реду. Дакле, проблем сет 2: Црипто је забавно један. 23 00:01:20,650 --> 00:01:24,500 Опет, са сваким псет ћете почети са једном делу питања 24 00:01:24,500 --> 00:01:29,600 која ће бити спроведена у вашим одељцима са својим додељеним асистент. 25 00:01:29,600 --> 00:01:31,670 Нећемо ићи преко њих преко објашњења, 26 00:01:31,670 --> 00:01:35,100 али они ће сигурно помоћи да завршите псет. 27 00:01:35,100 --> 00:01:38,100 Дакле, први део проблема скупа је Цезар. 28 00:01:38,100 --> 00:01:43,470 И тако у Цезара неко ће вам донети тастер са цео број, 29 00:01:43,470 --> 00:01:48,420 и ви ћете шифровање ниску текста да вам обезбеди 30 00:01:48,420 --> 00:01:50,670 и да их врати шифровану ствар. 31 00:01:50,670 --> 00:01:56,050 Ако ико гледао А Цхристмас Стори, постоји пример да постоји. 32 00:01:56,050 --> 00:01:59,090 Затим је други део проблема сета Вигенере, 33 00:01:59,090 --> 00:02:01,790 што је више Адванцед Енцриптион техника. 34 00:02:01,790 --> 00:02:05,640 И тако ћемо енципхер део текста, 35 00:02:05,640 --> 00:02:09,600 осим уместо са само једним цео број, ми заправо идемо да га кодирање 36 00:02:09,600 --> 00:02:13,340 са кључним речима које ће корисник нам доставите. 37 00:02:16,270 --> 00:02:22,090 Ок, тако да је први алат у кутији са алатом данас заправо ће бити ажурирање апарат. 38 00:02:22,090 --> 00:02:26,430 На дискусионој табли ћемо видети нешто попут: "Зашто не овај посао?" 39 00:02:26,430 --> 00:02:28,110 "Зашто не поднесе 50 рад?" 40 00:02:28,110 --> 00:02:31,830 и често решење је заправо само да ажурирате свој уређај. 41 00:02:31,830 --> 00:02:36,730 И тако ако само раде у прозору терминала у вашем апарата судо иум-и - 42 00:02:36,730 --> 00:02:40,040 То је застава каже да, ажурирати све - ажурирање, 43 00:02:40,040 --> 00:02:42,280 онда се ваш апарат ће се ажурирати ако буде потребно. 44 00:02:42,280 --> 00:02:46,960 И то не боли, ако сте већ у најновијој верзији апарата. 45 00:02:46,960 --> 00:02:51,280 Онда ће само рећи нема нових ажурирања доступна и можете наставити рад заједно. 46 00:02:51,280 --> 00:02:55,800 Али ово је добро да извршава чак сваки пут када отворите апарат 47 00:02:55,800 --> 00:02:57,140 јер смо још увек јако много - 48 00:02:57,140 --> 00:03:00,320 Понекад, ако дођемо у Буг - поправљао га у апарат. 49 00:03:00,320 --> 00:03:03,180 Дакле, проверите да ли имате најновију верзију апарата 50 00:03:03,180 --> 00:03:07,710 и покрените да ажурирате тамо. 51 00:03:07,710 --> 00:03:14,360 У реду. Дакле, пошто се бавимо слова и променом, кифарска ствари, 52 00:03:14,360 --> 00:03:20,410 ћемо заиста желе да постану најбољи пријатељи са нашим АСЦИИ табели. 53 00:03:20,410 --> 00:03:24,350 Постоје бројни они на мрежи, ако вам. Можда чак и да ваш сопствени. 54 00:03:24,350 --> 00:03:29,950 У суштини, са сваким словом и сваком броју и сваки карактер 55 00:03:29,950 --> 00:03:32,210 је број повезан са њима, 56 00:03:32,210 --> 00:03:38,670 па то је добро видети своје АСЦИИ вредности поред самог писма. 57 00:03:38,670 --> 00:03:42,310 То ће дефинитивно помоћи у проблем сету. 58 00:03:42,310 --> 00:03:45,750 Једна ствар која ме је заиста помогла у овом проблематиком сету је била заправо да га одштампате, 59 00:03:45,750 --> 00:03:48,380 и док сам ишао путем, ја заправо бих да скренем на њему, 60 00:03:48,380 --> 00:03:51,150 пише: "Ако ово треба да иде тамо, а онда ..." 61 00:03:51,150 --> 00:03:55,270 Некако се ослањају на њега и обележити га, постали најбољи пријатељи са својим АСЦИИ табели. 62 00:03:57,240 --> 00:04:00,750 Онда имамо неколико других алата на располагању. 63 00:04:00,750 --> 00:04:03,750 Овај пут уместо заправо навело корисника за све своје улаза 64 00:04:03,750 --> 00:04:05,230 ћемо направити комбинацију. 65 00:04:05,230 --> 00:04:06,880 Ми ћемо их упитати за неке улаз, 66 00:04:06,880 --> 00:04:11,350 али такође ћемо само да користите аргументе командне линије. 67 00:04:11,350 --> 00:04:15,600 Дакле, када су покренути свој програм, обично кажете / здраво., На пример, 68 00:04:15,600 --> 00:04:17,310 ако је ваш програм био хелло.ц. 69 00:04:17,310 --> 00:04:22,500 Али овај пут, уместо да само кажем да они могу накнадно ставити речи, аргумената. 70 00:04:22,500 --> 00:04:27,210 И тако ћемо користити све што прође нама као њихов допринос као и, 71 00:04:27,210 --> 00:04:31,720 па креће даље само изазвало за цео али и преко командне линије аргументе. 72 00:04:31,720 --> 00:04:36,590 А онда ћемо ићи у низовима и гудаче, које ћемо користити много као добро. 73 00:04:41,460 --> 00:04:44,810 Ево само пример 1 мини АСЦИИ табели. 74 00:04:44,810 --> 00:04:48,460 Као што сам рекао, свако слово одговара броју, 75 00:04:48,460 --> 00:04:52,510 и тако се упознате са тим. Она ће доћи у руци. 76 00:04:52,510 --> 00:04:55,610 А касније, када почнемо радиш неке АСЦИИМатх бави бројевима - 77 00:04:55,610 --> 00:05:00,110 додавање, одузимање их - онда дефинитивно добро да се односи на ову карту. 78 00:05:02,860 --> 00:05:06,920 Дакле, ево пример Цезар шифре - нешто што можда сте играли са. 79 00:05:06,920 --> 00:05:11,190 То је само точак. У суштини, постоји спољни писмо и онда је унутрашња писмо. 80 00:05:11,190 --> 00:05:15,290 Дакле, овде је пример Цезара шифри али са кључем од 0. 81 00:05:15,290 --> 00:05:21,540 У суштини, је усклађен са, Б поравнат са Б, па све до Ж 82 00:05:21,540 --> 00:05:26,590 Али онда кажу да смо желели кључ од 3, на пример. 83 00:05:26,590 --> 00:05:33,280 Онда бисмо ротирати унутрашњи точак, тако да се сада усаглашава са Д, итд 84 00:05:33,280 --> 00:05:35,250 И тако је то у суштини шта ћемо да радимо. 85 00:05:35,250 --> 00:05:38,340 Ми немамо точак, али шта ћемо да урадимо је да наш програм 86 00:05:38,340 --> 00:05:44,490 врста пребаци писмо заједно са нама извесном броју. 87 00:05:44,490 --> 00:05:48,650 Дакле, као што сам већ рекао, ми ћемо се бавити са аргументима командне линије 88 00:05:48,650 --> 00:05:50,390 као и добијање природан број. 89 00:05:50,390 --> 00:05:55,050 Дакле, начин на који ће корисник покренути ваш програм је Цезар рекавши. / Цаесар 90 00:05:55,050 --> 00:05:58,090 а затим унети број после тога. 91 00:05:58,090 --> 00:06:01,130 И тај број представља кључ, схифт, 92 00:06:01,130 --> 00:06:06,740 колико пута сте ишли да се ротира унутрашњи точак вашег Цезара шифри. 93 00:06:06,740 --> 00:06:08,390 И тако ти видиш овде пример. 94 00:06:08,390 --> 00:06:14,550 Ако смо ушли слова од А до Л у нашој Цезар шифри, 95 00:06:14,550 --> 00:06:19,520 онда би унос Д кроз О зато што је свако слово помера преко 3 пута, 96 00:06:19,520 --> 00:06:22,080 баш као пример точак који сам вам показао. 97 00:06:22,080 --> 00:06:25,300 Дакле, ако сте унели, на пример, ово је ЦС50! 98 00:06:25,300 --> 00:06:27,960 онда би такође померити све слова. 99 00:06:27,960 --> 00:06:31,040 И то је важна ствар у оба Цезара и Вигенере 100 00:06:31,040 --> 00:06:34,890 јесте да ћемо прескочити неке не-слова. 101 00:06:34,890 --> 00:06:39,160 Дакле, било места, карактери, итд, бројеви, идемо да их исто. 102 00:06:39,160 --> 00:06:42,920 Ми само идемо да пребаце слова у овом случају. 103 00:06:42,920 --> 00:06:45,870 Дакле, као што видите на точку, имамо само слова на располагању за нас, 104 00:06:45,870 --> 00:06:50,150 тако да ми само желимо да пребаце слова и шифровање писма. 105 00:06:51,370 --> 00:06:56,720 Дакле, прва ствар коју треба урадити, ви сте видели да је употреба за Цезара у проблему сет 2 106 00:06:56,720 --> 00:07:05,280 је да се покрене Цезара, а затим унесите број када га покренете у терминалу. 107 00:07:05,280 --> 00:07:10,940 Дакле, оно што треба да урадимо је да некако тај кључ и приступе. 108 00:07:10,940 --> 00:07:14,730 И зато желимо да некако видим да ће то бити друга командна линија аргумент. 109 00:07:14,730 --> 00:07:20,950 Први ће бити / Цезар., А следећи ће бити кључ број. 110 00:07:22,190 --> 00:07:29,200 Дакле, пре него што смо имали инт маин () за почетак наше програме Ц. 111 00:07:29,200 --> 00:07:31,790 Идемо одлепите слој мало 112 00:07:31,790 --> 00:07:34,720 и заправо видимо да уместо пролази у празнину на нашем главном функцијом 113 00:07:34,720 --> 00:07:37,920 ми заправо бавимо 2 параметрима. 114 00:07:37,920 --> 00:07:44,070 Имамо инт аргц имену, а затим низ стрингова назива аргв. 115 00:07:44,070 --> 00:07:46,030 Дакле аргц је цео број, 116 00:07:46,030 --> 00:07:49,640 и представља број аргумената донетих у вашем програму. 117 00:07:49,640 --> 00:07:53,590 А онда аргв је заправо списак аргумената прошли. 118 00:07:53,590 --> 00:08:00,820 Сви аргументи су низови, па аргв представља низ, листе, од жице. 119 00:08:01,830 --> 00:08:03,990 Хајде да причамо о низовима мало. 120 00:08:03,990 --> 00:08:05,940 Низови су у суштини нова структура података. 121 00:08:05,940 --> 00:08:09,660 Имамо Интс смо дубл, имамо конце, а сада имамо низове. 122 00:08:09,660 --> 00:08:13,820 Низови су структуре података који могу да држе више вредности истог типа, 123 00:08:13,820 --> 00:08:18,320 па у суштини, листа било ког типа желите. 124 00:08:18,320 --> 00:08:24,400 У суштини, ако сте желели листу целих бројева свих у 1 променљиве, 125 00:08:24,400 --> 00:08:29,090 онда би створило нову променљиву која је од низа типа инт. 126 00:08:29,090 --> 00:08:34,450 Дакле, низови нула-индексиране, што значи да је први елемент низа је на индекс 0. 127 00:08:34,450 --> 00:08:41,799 Ако се низ од дужине 4, као у овом примеру, онда се ваш последњи елемент ће бити у индексу 3, 128 00:08:41,799 --> 00:08:44,810 што је 4 - 1. 129 00:08:45,940 --> 00:08:48,420 Тако да створи низ, што би урадио овако нешто. 130 00:08:48,420 --> 00:08:51,440 Рецимо да сте хтели двоструку низ. 131 00:08:51,440 --> 00:08:56,520 Ово важи за све врсте типа података, ипак. 132 00:08:56,520 --> 00:09:00,210 Тако да желите двоструку низ. Рецимо да желите да га зову поштанско сандуче. 133 00:09:00,210 --> 00:09:04,760 Баш као што би било који други покрене двојника, 134 00:09:04,760 --> 00:09:09,760 ви би рекли двоструко, а затим име, али овај пут смо ставили угластим заградама, 135 00:09:09,760 --> 00:09:13,570 и онда тај број ће бити дужина низа. 136 00:09:13,570 --> 00:09:16,840 Имајте на уму да у низовима не можемо икада променити дужину, 137 00:09:16,840 --> 00:09:21,230 тако да увек имате да дефинишете и изаберете колико кутије, 138 00:09:21,230 --> 00:09:25,440 колико вредности ваш низа ће се држати. 139 00:09:25,440 --> 00:09:31,820 Тако да подесите различите вредности у свом низу, ти ћеш да користите овај следећу синтаксу, 140 00:09:31,820 --> 00:09:33,200 Као што видите на слајду. 141 00:09:33,200 --> 00:09:37,620 Имате сандуче индекс 0 ће бити постављен на 1,2, 142 00:09:37,620 --> 00:09:42,180 сандуче индекс 1 сет на 2,4, итд 143 00:09:42,180 --> 00:09:47,910 Дакле, сада када смо прегледали низова мало, хајде да се вратимо на аргц и аргв. 144 00:09:47,910 --> 00:09:52,220 Ми знамо да је сада аргв низ стрингова. 145 00:09:52,220 --> 00:09:55,080 Дакле, када корисник пролази - кажу они покренули програм - 146 00:09:55,080 --> 00:09:58,740 они кажу / здраво Дејвид Малан., 147 00:09:58,740 --> 00:10:05,160 шта ће програм урадити за вас већ је заправо дошао до онога што аргц и аргв су. 148 00:10:05,160 --> 00:10:07,620 Дакле, не морате да бринете о томе. 149 00:10:07,620 --> 00:10:14,370 Аргц у овом случају би била 3 ​​зато што види 3 различите речи раздвојене размацима. 150 00:10:14,370 --> 00:10:18,850 И тако онда је низ у овом случају, први индекс би био / здраво., 151 00:10:18,850 --> 00:10:21,770 следећи Давид следећи Малан. 152 00:10:21,770 --> 00:10:25,640 Да ли неко види одмах шта однос између аргв, 153 00:10:25,640 --> 00:10:28,990  низ, а аргц је? 154 00:10:32,820 --> 00:10:38,090 Да. Ми ћемо се у то на примеру у аргс.ц. 155 00:10:38,090 --> 00:10:42,880 Хајде да видимо да ли можемо искористити односа између 2. 156 00:10:42,880 --> 00:10:46,550 Овде можете наћи у апарату подразумевана апликација 157 00:10:46,550 --> 00:10:49,450 да отвори ц фајлове. понекад Емацс. 158 00:10:49,450 --> 00:10:54,660 Али ми желимо да се баве гедит, па шта можете да урадите је да десним кликом на Ц фајлу, 159 00:10:54,660 --> 00:11:04,580 идите на Пропертиес, Опен Витх, а затим изабрати гедит, Постави као подразумевано, 160 00:11:04,580 --> 00:11:13,020 и сада ваш програм би требало да отвори у гедит уместо Емацс. 161 00:11:14,710 --> 00:11:16,290 Савршено. 162 00:11:17,120 --> 00:11:25,520 Дакле, овде имате програм који желим да одштампате сваки аргумент командне линије. 163 00:11:25,520 --> 00:11:32,050 Дакле, шта год корисник улази, хоћу да га врати суштини назад њима на новој линији. 164 00:11:32,050 --> 00:11:36,710 Дакле, шта је структура која се може користити за прелазили преко нешто - 165 00:11:36,710 --> 00:11:40,380 нешто што сте вероватно користи у вашем псет 1? 166 00:11:40,380 --> 00:11:45,840 Ако желите да идете кроз одређени број ствари? >> [Ученик] За петљу. 167 00:11:45,840 --> 00:11:48,910 За петљу. Управо тако. Дакле, хајде да почнемо са за петљу. 168 00:11:48,910 --> 00:11:56,900 Имамо за инт и = 0. Хајде да почнемо са стандардним иницијализацију променљиве. 169 00:11:56,900 --> 00:12:02,370 Ја ћу да одем услов за скуп, а онда кажу и + +, урадити ствари тамо. 170 00:12:02,370 --> 00:12:04,090 У реду. 171 00:12:04,090 --> 00:12:11,590 Тако размишља назад аргв, ако аргв је листа аргумената донетих на програму 172 00:12:11,590 --> 00:12:15,380 а аргц је број аргумената у програму, 173 00:12:15,380 --> 00:12:21,280 онда то значи да је у суштини аргц дужина аргв, десно, 174 00:12:21,280 --> 00:12:28,970 јер ће бити много аргумената као вредности аргц. 175 00:12:28,970 --> 00:12:35,910 Дакле, ако желимо да прелазили преко сваког елемента у аргв, 176 00:12:35,910 --> 00:12:43,290 ћемо желети да сваки пут приступите променљиву у аргв у датом индексу. 177 00:12:43,290 --> 00:12:49,060 То може бити представљен са тим, зар не? 178 00:12:49,060 --> 00:12:53,430 Ова променљива овде представља посебну ниску у овом случају 179 00:12:53,430 --> 00:12:57,030 зато што је жица низ - посебно ниска у датом индексу. 180 00:12:57,030 --> 00:13:00,690 Оно што ми желимо да урадимо у овом случају желимо да га одштампате, па рецимо принтф. 181 00:13:00,690 --> 00:13:04,680 А сада аргв је ниска, па желимо да се тамо стави тај чувар места. 182 00:13:04,680 --> 00:13:08,430 Желимо нову линију само да би изгледало добро. 183 00:13:08,430 --> 00:13:12,530 Дакле, овде имамо за петљу. Ми још увек немамо услова. 184 00:13:12,530 --> 00:13:20,020 Тако сам почиње од 0, и онда сваки пут то ће штампати дати ниску 185 00:13:20,020 --> 00:13:22,980 у том индексу у низу. 186 00:13:22,980 --> 00:13:28,410 Дакле, када желимо да заустави штампање елемената у низу? 187 00:13:28,410 --> 00:13:35,720 Када смо завршили, зар не? Када смо стигли на крај низа. 188 00:13:35,720 --> 00:13:38,870 Дакле, ми не желимо да прелази поред дужине низа, 189 00:13:38,870 --> 00:13:43,700 а ми већ знамо да не треба да се заиста активно сазнали шта је дужина аргв је 190 00:13:43,700 --> 00:13:47,520 зато што је дао нама, и шта је то? Аргц. Управо тако. 191 00:13:47,520 --> 00:13:56,640 Зато желимо да урадимо овај број процес аргц пута. 192 00:13:56,640 --> 00:13:59,550 Ја нисам у правој директоријуму. 193 00:14:02,100 --> 00:14:03,490 У реду. 194 00:14:03,490 --> 00:14:08,990 Сада хајде да аргс. Нема грешке, што је сјајно. 195 00:14:08,990 --> 00:14:11,430 Па хајде да се покрене аргс. 196 00:14:11,430 --> 00:14:15,130 Шта ће ово да се врати на нас? То ће га одштампате назад. 197 00:14:15,130 --> 00:14:18,320 "Ти уноси аргс у програм, ја ћу да га врати вама." 198 00:14:18,320 --> 00:14:23,170 Па рецимо да желимо да кажемо аргс онда фоо бар. 199 00:14:23,170 --> 00:14:26,570 Дакле, онда га исписује назад до нас. Све у реду? 200 00:14:26,570 --> 00:14:30,790 Дакле, ту је пример како можете користити аргц и аргв 201 00:14:30,790 --> 00:14:33,460 знајући да аргц представља дужину аргв. 202 00:14:33,460 --> 00:14:42,750 Уверите се да не икада са низовима приступом једним изван дужине низа 203 00:14:42,750 --> 00:14:45,140 јер Ц ће дефинитивно виче на вас. 204 00:14:45,140 --> 00:14:47,560 Добићете нешто што се зове сегментација грешка, 205 00:14:47,560 --> 00:14:52,470 која никада није забавно, у основи кажете да покушавате да приступите нешто 206 00:14:52,470 --> 00:14:55,000 који не постоји, не припада теби. 207 00:14:55,000 --> 00:14:59,430 Зато се потрудите, а посебно са нултом индексирања, ми не желимо да - 208 00:14:59,430 --> 00:15:02,390 Као на пример, ако имамо низ дужине 4, 209 00:15:02,390 --> 00:15:07,240 да низ индекс 4 не постоји, јер смо започели на 0, на нултом индексу. 210 00:15:07,240 --> 00:15:11,730 То ће постати друга природа баш као за петље када почнемо на 0. 211 00:15:11,730 --> 00:15:13,610 Дакле, само имајте то на уму. 212 00:15:13,610 --> 00:15:22,590 Не желим да икада приступили индекс низа који је изван вашег домашаја. 213 00:15:26,710 --> 00:15:32,560 Тако сада можемо да видимо како можемо врста приступа 214 00:15:32,560 --> 00:15:35,930 командне линије аргументи који су положили за 215 00:15:35,930 --> 00:15:41,330 Али, као што сте видели низ, аргв заправо стринг низ. 216 00:15:41,330 --> 00:15:45,740 Дакле, то је заправо није цео још, али у Цезара желимо да се баве целе бројеве. 217 00:15:45,740 --> 00:15:54,430 Срећом, ту је функција створена за нас који заиста могу конвертовати стринг у цео број. 218 00:15:54,430 --> 00:15:58,710 Такође овде се не бавимо корисничког уноса где смо их навело 219 00:15:58,710 --> 00:16:03,740 за унос овде за кључ, тако да не могу заправо репромпт и рећи, 220 00:16:03,740 --> 00:16:07,840 "Ох, дај ми још цео број, кажем, ако то није валидан." 221 00:16:07,840 --> 00:16:10,540 Али ми још увек треба да проверите да ли правилно коришћење. 222 00:16:10,540 --> 00:16:13,520 У Цезара су само дозвољено да прође у 1 броју, 223 00:16:13,520 --> 00:16:18,030 и тако они морају да воде / Цезара., а онда да ти дам број. 224 00:16:18,030 --> 00:16:23,660 Тако аргц мора да буде одређен број. 225 00:16:23,660 --> 00:16:29,060 Који број би то било ако имају да вам донесе / Цезар и. Онда је кључ? 226 00:16:29,060 --> 00:16:32,920 Шта је аргц? >> [Ученик] 2. >> Два. Управо тако. 227 00:16:32,920 --> 00:16:35,490 Дакле, желите да се уверите да је аргц 2. 228 00:16:35,490 --> 00:16:39,620 У супротном, у основи одбијају да покренете програм. 229 00:16:39,620 --> 00:16:43,040 У главни је функција која каже маин, 230 00:16:43,040 --> 00:16:47,360 па онда смо увек у добром 0 пракси повратка на крају успешног програма. 231 00:16:47,360 --> 00:16:50,840 Дакле, ако, рецимо, они вам дају 3 аргументе командне линије уместо 2 232 00:16:50,840 --> 00:16:54,350 или вам дати 1, на пример, онда шта ћете урадити је да ћете желети да проверите да 233 00:16:54,350 --> 00:16:59,900 а затим се вратите 1 говорећи, не, не може да настави са овим програмом. 234 00:16:59,900 --> 00:17:03,190 [Ученик] Ту не може бити простор у вашем тексту. >> Опростите? 235 00:17:03,190 --> 00:17:06,780 [Ученик] Ту не може бити простор у тексту који покушавате да шифровање. 236 00:17:06,780 --> 00:17:08,480 Ах! 237 00:17:08,480 --> 00:17:11,280 У погледу текста који покушавамо да шифровање, који заправо долази касније 238 00:17:11,280 --> 00:17:13,970 када дајемо тај текст. 239 00:17:13,970 --> 00:17:18,260 Дакле, сада смо само ми прихватамо као командних аргумената стварни број, 240 00:17:18,260 --> 00:17:21,579 стварни помак за Цезара шифровање. 241 00:17:21,579 --> 00:17:27,569 [Ученик] Зашто ти треба 2 насупрот само 1 аргц? Дефинитивно је 1 број. 242 00:17:27,569 --> 00:17:32,200 Тачно. Разлог зашто нам је потребно 2 за аргц уместо 1 243 00:17:32,200 --> 00:17:36,260 је зато што када покренете програм и рећи. / Цезар или / здраво., 244 00:17:36,260 --> 00:17:38,280 да заправо рачуна као аргумент командне линије. 245 00:17:38,280 --> 00:17:43,020 Дакле, онда је то већ заузима 1 па онда смо уметањем 1 екстра. 246 00:17:45,030 --> 00:17:49,440 Дакле, ви заправо унесе стринг у аргументу командне линије. 247 00:17:49,440 --> 00:17:52,730 Шта желите да урадите, за Цезара желимо да се бави цео број, 248 00:17:52,730 --> 00:17:57,180 тако да можете да користите ову функцију атои. 249 00:17:57,180 --> 00:18:02,850 А у суштини, ти пренесу га у низу, а онда ће вас вратити цео број 250 00:18:02,850 --> 00:18:06,070 ако је могуће да је стринг у цео број. 251 00:18:06,070 --> 00:18:10,960 Запамтите, када имамо посла са принтф или ГетСтринг, такве ствари, 252 00:18:10,960 --> 00:18:13,390 смо укључују библиотеке које су специфичне за нас. 253 00:18:13,390 --> 00:18:19,450 Дакле, у почетку смо започели са хеш таг стандардне И / О, х,. Тако нешто. 254 00:18:19,450 --> 00:18:22,430 Па, атои није у једном од тих библиотека, 255 00:18:22,430 --> 00:18:26,600 па шта морамо да урадимо је да ми треба да садржи праву библиотеку за то. 256 00:18:26,600 --> 00:18:32,720 Дакле, сећате назад валктхроугх 1, где сам разговарао упутство функцију. 257 00:18:32,720 --> 00:18:37,110 Куцате човека у терминалу, а затим следи име функције. 258 00:18:37,110 --> 00:18:39,720 И тако ће донети читав списак њеног коришћења, 259 00:18:39,720 --> 00:18:42,890 али и то ће довести до којих библиотека која припада. 260 00:18:42,890 --> 00:18:47,000 Зато ћу да препустим вама да користе упутство функцију са атои 261 00:18:47,000 --> 00:18:53,360 и схватити библиотеку која треба да садржи да би могли да користите функцију атои. 262 00:18:54,450 --> 00:18:57,670 Дакле, имамо кључ и сада је у питању добијање обичан текст, 263 00:18:57,670 --> 00:19:01,820 и тако да заправо ће бити корисник улаз где питати. 264 00:19:01,820 --> 00:19:05,540 Бавили смо се и ГетИнт ГетФлоат, па у истом тону 265 00:19:05,540 --> 00:19:07,670 ћемо се бавити ГетСтринг. 266 00:19:07,670 --> 00:19:12,440 Али у овом случају не треба да урадимо било радити док или док петље да проверите. 267 00:19:12,440 --> 00:19:14,480 ГетСтринг ће дефинитивно нам дати ниску, 268 00:19:14,480 --> 00:19:17,630 и ми ћемо шифровање год корисник нам даје. 269 00:19:17,630 --> 00:19:23,770 Дакле, можете да претпоставите да су све ове корисничких уноси жицама тачни. 270 00:19:23,770 --> 00:19:24,670 Сјајно. 271 00:19:24,670 --> 00:19:27,270 Па онда кад имаш кључ и једном имаш текст, 272 00:19:27,270 --> 00:19:31,660 Сада оно што је остало је да треба да енципхер отворени текст. 273 00:19:31,660 --> 00:19:36,530 Само да брзо покривају преко Линго је отворени текст је оно што вам корисник даје, 274 00:19:36,530 --> 00:19:41,030 и шифрат је оно што се врате у њих. 275 00:19:42,450 --> 00:19:45,850 Тако ниски, да би могли да прођу кроз заправо писма писма 276 00:19:45,850 --> 00:19:48,550 јер морамо да смени свако слово, 277 00:19:48,550 --> 00:19:51,390 разумемо да конце, ако смо некако одлепите слоја, 278 00:19:51,390 --> 00:19:54,130 видимо да су они стварно само списак ликова. 279 00:19:54,130 --> 00:19:55,930 Један долази после друге. 280 00:19:55,930 --> 00:20:01,690 И тако можемо третирати као низове конце јер су низови знакова. 281 00:20:01,690 --> 00:20:05,640 Дакле, рецимо да имате ниску имену текст, 282 00:20:05,640 --> 00:20:09,400 и унутар тог текста променљиве се чувају Ово је ЦС50. 283 00:20:09,400 --> 00:20:15,680 Затим текст на индексу 0 бити престоница Т индекс 1 би х, итд 284 00:20:17,530 --> 00:20:23,970 А онда са низовима, у аргц пример у аргс.ц, 285 00:20:23,970 --> 00:20:27,090 Видели смо да смо морали да прелазили преко низа 286 00:20:27,090 --> 00:20:32,440 па смо морали да прелазили из и = 0 до и је мање од дужине. 287 00:20:32,440 --> 00:20:35,560 Зато нам треба неки начин схватите шта је дужина нашег стринга је 288 00:20:35,560 --> 00:20:37,090 ако ћемо да прелазили преко њега. 289 00:20:37,090 --> 00:20:42,300 Срећом опет, постоји функција ту за нас, иако је касније у ЦС50 290 00:20:42,300 --> 00:20:45,860 дефинитивно ћете бити у стању да спроведе и направите сопствену функцију 291 00:20:45,860 --> 00:20:48,260 који може да израчуна дужину стринга. 292 00:20:48,260 --> 00:20:52,120 Али, за сада ћемо користити дужину ниске, тако стрлен. 293 00:20:52,120 --> 00:21:00,440 Ти проћи у низу, а онда ће вам вратити инт који представља дужину стринга. 294 00:21:00,440 --> 00:21:05,840 Погледајмо један пример како можемо бити у могућности да вршите итерацију кроз сваки карактер у стрингу 295 00:21:05,840 --> 00:21:08,470 и урадити нешто са тим. 296 00:21:08,470 --> 00:21:13,250 Оно што ми желимо да урадимо јесте прелазили преко сваког карактер стринга, 297 00:21:13,250 --> 00:21:19,150 и шта желимо да урадимо је да смо одштампали вратио сваки знак 1 од 1 298 00:21:19,150 --> 00:21:22,060 осим додамо нешто поред њега. 299 00:21:22,060 --> 00:21:27,020 Дакле, хајде да почнемо са за петљу. Инт и = 0. 300 00:21:27,020 --> 00:21:30,070 Ми ћемо оставити простор за стање. 301 00:21:32,700 --> 00:21:36,840 Желимо да прелазили док не дођете до краја стринга, зар не? 302 00:21:36,840 --> 00:21:41,340 Па шта је онда функција нам даје дужину стринга? 303 00:21:41,340 --> 00:21:43,160 [Нечујан ученик одговор] 304 00:21:43,160 --> 00:21:46,420 То је дужина од аргумената командне линије. 305 00:21:46,420 --> 00:21:50,650 Али, за ниску желимо да користите функцију која нам даје дужину стринга. 306 00:21:50,650 --> 00:21:53,090 Дакле, то је ниска дужине. 307 00:21:53,090 --> 00:21:57,130 И тако онда морате проћи у низу на њега. 308 00:21:57,130 --> 00:21:59,760 Потребно је да знате шта стринг је потребно да се израчуна дужину. 309 00:21:59,760 --> 00:22:03,160 Дакле, у овом случају имамо посла са стринг с. 310 00:22:04,790 --> 00:22:05,860 Сјајно. 311 00:22:05,860 --> 00:22:10,770 Па онда оно што ми желимо да урадимо, хајде да принтф. 312 00:22:10,770 --> 00:22:14,850 Сада желимо да се бави са ликовима. Желимо да одштампате сваки индивидуални карактер. 313 00:22:14,850 --> 00:22:22,150 Када желите да одштампате пловак, требало би да користите чувар места попут% ф. 314 00:22:22,150 --> 00:22:24,580 Са инт можете да користите д%. 315 00:22:24,580 --> 00:22:30,890 И тако слично, са карактером користите% Ц рећи ћу да се штампа карактер 316 00:22:30,890 --> 00:22:34,570 који је ускладиштен у променљивој. 317 00:22:34,570 --> 00:22:40,840 Дакле, имамо ово, па да додате период и простор за њега. 318 00:22:40,840 --> 00:22:45,430 Који лик је користимо? 319 00:22:45,430 --> 00:22:49,780 Ми ћемо користити год лик смо на низа. 320 00:22:49,780 --> 00:22:52,890 Онда ћемо користити нешто са линије, 321 00:22:52,890 --> 00:22:56,420 али желимо да се тамо приступа одређени карактер. 322 00:22:56,420 --> 00:23:02,740 Дакле, ако стринг је само низ, како онда можемо приступити елементе низова? 323 00:23:02,740 --> 00:23:06,480 Имамо оне угласте заграде, а затим смо ставили индекс тамо. 324 00:23:06,480 --> 00:23:11,820 Дакле, имамо угласте заграде. Наш индекс у овом случају ми смо само могу да користим. Управо тако. 325 00:23:15,290 --> 00:23:22,370 Дакле, овде говоримо да ћемо се штампа карактер праћен тачком и простора, 326 00:23:22,370 --> 00:23:30,870 а тај лик ће бити ИТХ писмо у нашој Стринг с. 327 00:23:32,920 --> 00:23:39,330 Ја ћу само да спасе. Ок. 328 00:23:42,510 --> 00:23:46,840 Сада ћу трчати дужине. 329 00:23:46,840 --> 00:23:53,440 Дакле, имали смо низ зове ОМГ, а сада је још више нагласио. 330 00:23:53,440 --> 00:23:57,870 Слично томе, рецимо заправо желе да добију низ од корисника. 331 00:23:57,870 --> 00:23:59,580 Како бисмо то урадили? 332 00:23:59,580 --> 00:24:01,610 Пре тога, како смо добили инт? 333 00:24:01,610 --> 00:24:08,040 Рекли смо ГетИнт, зар не? Али то није инт, па хајде ГетСтринг. 334 00:24:11,780 --> 00:24:17,770 Хајде да направимо дужину ниске. Овде нисмо унели специфичну промпт. 335 00:24:17,770 --> 00:24:19,940 Дакле, ја не знам. 336 00:24:19,940 --> 00:24:23,820 Идем да ставим моје име овде па онда могу да урадим једну од тих ствари 337 00:24:23,820 --> 00:24:29,600 где сам доделити реч за свако писмо или нешто слично томе. Кул. 338 00:24:29,600 --> 00:24:31,900 Дакле, то је ниска дужине. 339 00:24:33,000 --> 00:24:34,640 Тако смо се вратили на Цезара. 340 00:24:34,640 --> 00:24:38,620 Ми имамо неколико алатки како смо прелазили преко ниске, 341 00:24:38,620 --> 00:24:41,250 како приступити сваки појединачни елемент. 342 00:24:41,250 --> 00:24:44,720 Тако сада можемо да се вратимо у програму. 343 00:24:44,720 --> 00:24:48,650 Као што сам поменуо раније, у АСЦИИ табели, ваш најбољи пријатељ, 344 00:24:48,650 --> 00:24:52,300 идете да видите бројеве који су повезани са сваким словом. 345 00:24:52,300 --> 00:24:55,900 Дакле, овде кажу да је наш отворени текст је сам вртоглавицу! 346 00:24:55,900 --> 00:25:01,090 Затим сваки од ових ликова ће имати број и АСЦИИ вредност у вези са њом, 347 00:25:01,090 --> 00:25:04,710 чак апостроф, чак простор, чак и знак узвика, 348 00:25:04,710 --> 00:25:06,600 па ћете желети да имајте то на уму. 349 00:25:06,600 --> 00:25:12,360 Тако кажу наше кључ који корисник укључен у њихов аргумент командне линије је 6. 350 00:25:12,360 --> 00:25:17,770 То значи да за прво слово, који сам је, коју представља 73, 351 00:25:17,770 --> 00:25:25,610 желите да се вратите на њих шта год писмо представља АСЦИИ вредност 73 + 6. 352 00:25:25,610 --> 00:25:29,020 У овом случају то би било 79. 353 00:25:30,840 --> 00:25:35,040 Сада желимо да идемо на следећи карактер. 354 00:25:35,040 --> 00:25:40,960 Дакле, следећи у индексу 1 од отвореног текста бити апостроф. 355 00:25:40,960 --> 00:25:46,780 Али запамтите ми само желимо да енципхер писма. 356 00:25:46,780 --> 00:25:50,040 Дакле, желимо да се уверите да је апостроф заправо остаје исти, 357 00:25:50,040 --> 00:25:54,310 да не мења од 39 до 45 вхатевер је. 358 00:25:54,310 --> 00:25:57,150 Ми желимо да га задржи као апострофом. 359 00:25:57,150 --> 00:26:00,780 Зато желимо да се сетите само енципхер слова 360 00:26:00,780 --> 00:26:04,560 јер желимо све остале симболе да остане непромењена у нашем програму. 361 00:26:04,560 --> 00:26:07,130 Још једна ствар коју желимо је да сачува слова. 362 00:26:07,130 --> 00:26:10,250 Па кад имате велико слово, она треба да остане као велика слова. 363 00:26:10,250 --> 00:26:12,830 Ловерцасес треба да остане малим. 364 00:26:13,620 --> 00:26:19,480 Дакле, неке корисне функције да би могли да се баве само кифарска словима 365 00:26:19,480 --> 00:26:22,380 и задржати очување капитализацију ствари 366 00:26:22,380 --> 00:26:25,130 то су исалпха, исуппер, исловер функције. 367 00:26:25,130 --> 00:26:29,270 И тако су функције које вам врати Булову вредност. 368 00:26:29,270 --> 00:26:34,180 У основи, тачно или нетачно. Да ли је ово велика? Да ли је ово алфанумерички? 369 00:26:34,180 --> 00:26:37,180 Да ли је ово писмо, у суштини. 370 00:26:37,180 --> 00:26:41,070 Дакле, овде су 3 примера како можете да користите ту функцију. 371 00:26:41,070 --> 00:26:47,060 У суштини, можете тестирати да ли је вредност вратио до вас ту функцију је тачно или нетачно 372 00:26:47,060 --> 00:26:49,400 на основу тог уноса. 373 00:26:49,400 --> 00:26:54,880 Или не енципхер нешто или шифри га или се уверите да је то велика, итд 374 00:26:54,880 --> 00:27:01,080 [Ученик] Да ли можете да објасните онима мало више и како можете да их користите? >> Да, сигурно. 375 00:27:01,080 --> 00:27:08,470 Дакле, ако се осврнемо уназад, овде имамо И капитал, зар не? 376 00:27:08,470 --> 00:27:14,550 Дакле, ми знамо да иде до О, јер сам + 6 је О. 377 00:27:14,550 --> 00:27:18,740 Али ми желимо да будете сигурни да је о ће бити престоница О. 378 00:27:18,740 --> 00:27:22,940 Дакле, у основи, то је врста ће променити наш допринос. 379 00:27:22,940 --> 00:27:26,870 Дакле, да ли је велика или неће врста променити начин на који смо се баве са њом. 380 00:27:26,870 --> 00:27:32,360 Дакле, ако ми користимо исуппер функцију том индексу, 381 00:27:32,360 --> 00:27:36,480 па исуппер ("ја"), који враћа за нас праве, тако да знамо да је горња. 382 00:27:36,480 --> 00:27:40,360 Па онда на основу тога касније ћемо отићи у формули 383 00:27:40,360 --> 00:27:42,750 које ћете користити да пребаце ствари у Цезара, 384 00:27:42,750 --> 00:27:46,560 па онда у суштини, постоје ће бити мало другачија конфигурација ако је велика 385 00:27:46,560 --> 00:27:50,670 насупрот мала. Смисла? 386 00:27:51,020 --> 00:27:52,760 Да. Без бриге. 387 00:27:54,900 --> 00:27:58,990 Причао сам мало о додавању 6 писму, које не баш смисла 388 00:27:58,990 --> 00:28:05,500 осим када смо некако схвате да ови ликови 389 00:28:05,500 --> 00:28:08,920 су врста заменљиви са целих бројева. 390 00:28:08,920 --> 00:28:11,250 Оно што чинимо је врста коришћења имплицитног ливења. 391 00:28:11,250 --> 00:28:18,100 Ми ћемо ићи у ливења касније мало о томе где сте узети вредност и ти то претвори у други тип 392 00:28:18,100 --> 00:28:20,440 него што је то првобитно било. 393 00:28:20,440 --> 00:28:25,910 Али са овим псет ћемо моћи да користе као синоними врста знакова 394 00:28:25,910 --> 00:28:30,880 и њихове одговарајуће целобројне вредности. 395 00:28:30,880 --> 00:28:35,140 Дакле, ако сте једноставно обложити знак са само апострофа, 396 00:28:35,140 --> 00:28:40,390 онда ћете бити у могућности да раде са њим код целих бројева, који се баве тим као цео број. 397 00:28:40,390 --> 00:28:48,040 Дакле капитал Ц односи на 67 година. Слово ђ се односи на 102. 398 00:28:48,040 --> 00:28:51,480 Опет, ако желите да знате ове вредности, поглед на свој АСЦИИ табели. 399 00:28:51,480 --> 00:28:56,160 Зато идемо у неке примере како можда ћете моћи да одузима и да додају 400 00:28:56,160 --> 00:29:03,130 како ствари заиста могу радити са овим ликовима, да их користе као синоними. 401 00:29:03,870 --> 00:29:11,350 Ја кажем да АСЦИИМатх ће израчунати додавање карактера на цео број 402 00:29:11,350 --> 00:29:17,590 а затим приказује резултанта карактер као резултанта АСЦИИ вредност. 403 00:29:17,590 --> 00:29:22,290 И ево ја кажем - касније ве'лл баве овом делу - 404 00:29:22,290 --> 00:29:29,100 али у суштини, ја кажем да корисник каже покретање АСЦИИМатх заједно са кључем, 405 00:29:29,100 --> 00:29:30,880 а ја кажем да је то кључ ће бити број 406 00:29:30,880 --> 00:29:34,600 са којима ћемо додати ову карактер. 407 00:29:34,600 --> 00:29:38,560 Дакле, овде приметити да пошто сам тражећи кључ, 408 00:29:38,560 --> 00:29:40,590 пошто сам захтевајући да им дајеш ми 1 ствар, 409 00:29:40,590 --> 00:29:45,600 Ја само желим да прихватим / асцииматх. И један тастер. 410 00:29:45,600 --> 00:29:49,330 Дакле, ја ћу захтевати да аргц је једнака 2. 411 00:29:49,330 --> 00:29:54,360 Ако није то, онда ћу да се врати 1 и програм ће излаз. 412 00:29:55,070 --> 00:29:58,540 Зато ја кажем кључ неће бити први аргумент командне линије, 413 00:29:58,540 --> 00:30:05,080 то ће бити други, и као што видите овде, 414 00:30:05,080 --> 00:30:11,790 Ја ћу претворити у цео број. 415 00:30:15,740 --> 00:30:19,230 Онда ћу поставити знак да се р. 416 00:30:19,230 --> 00:30:23,970 Приметимо да је тип променљиве Цхр је заправо цео број. 417 00:30:23,970 --> 00:30:30,480 Начин на који ја могу да користе р као цео број је тако да енцасинг са овим апострофа. 418 00:30:33,850 --> 00:30:40,560 Вратимо се нашој принтф изјаве где имамо чувар места за карактер 419 00:30:40,560 --> 00:30:43,590 и онда чувар места за цео број, 420 00:30:43,590 --> 00:30:49,450 лик је заступа Цхр, а цео је кључ. 421 00:30:49,450 --> 00:30:54,320 И тако онда ћемо у резултат додате 2 заједно. 422 00:30:54,320 --> 00:30:58,420 Дакле, ми ћемо додати р + год кључ, 423 00:30:58,420 --> 00:31:03,520 а онда ћемо да одштампате резултат тога. 424 00:31:06,210 --> 00:31:14,220 Па хајде да направимо асцииматх. То је до сада, па хајде да покренете асцииматх. 425 00:31:14,220 --> 00:31:18,290 Ох, али видите, то не уради ништа, јер нисмо заправо му дати кључ. 426 00:31:18,290 --> 00:31:23,850 Дакле, када је управо вратио 1, Наша основна функција, то је само вратио назад у нас. 427 00:31:23,850 --> 00:31:29,250 Па хајде онда да прође у кључу. Неко ми дати број. >> [Ученик] 4. 428 00:31:29,250 --> 00:31:30,920 4. Ок. 429 00:31:30,920 --> 00:31:39,280 Дакле, р повећан за 4 ће нам дати В, што одговара АСЦИИ вредности 118. 430 00:31:39,280 --> 00:31:43,880 Дакле некако има смисла да је - 431 00:31:43,880 --> 00:31:51,250 Заправо, могу ли да вас питам, шта мислите АСЦИИ вредност р је ако Р + 4 је 118? 432 00:31:53,070 --> 00:31:55,470 Затим, да, р 114. 433 00:31:55,470 --> 00:32:03,010 Дакле, ако се осврнемо на АСЦИИ табели онда, заиста, видећете да р представља 114. 434 00:32:03,010 --> 00:32:08,610 Дакле, сада знамо да можемо додати бројеве ликовима, ово изгледа прилично једноставно. 435 00:32:08,610 --> 00:32:12,740 Само ћемо да прелазили преко стринг као што смо видели на примеру пре. 436 00:32:12,740 --> 00:32:17,170 Ми ћемо проверити да ли је то писмо. 437 00:32:17,170 --> 00:32:20,420 Ако јесте, онда ћемо га пребацити на било који кључ. 438 00:32:20,420 --> 00:32:23,650 Прилично једноставно, осим када дођете до овако, 439 00:32:23,650 --> 00:32:32,140 Ви видите да з представљена 122, онда би вам дати другачији карактер. 440 00:32:32,140 --> 00:32:37,770 Ми смо заправо желе да остану у оквиру нашег писма, зар не? 441 00:32:37,770 --> 00:32:43,180 Зато морамо да смислимо неки начин врсте обмотају око. 442 00:32:43,180 --> 00:32:47,190 Када стигнете зед и желите да повећате до одређеног броја, 443 00:32:47,190 --> 00:32:51,230 не желе да иду у даље АСЦИИ алфабета делу; 444 00:32:51,230 --> 00:32:54,140 желите да замотате назад све до А. 445 00:32:54,140 --> 00:32:58,550 Али имајте на уму да још увек чува случај. 446 00:32:58,550 --> 00:33:00,980 Дакле, знајући да слова не могу да постану симболи 447 00:33:00,980 --> 00:33:05,290 као симбола се неће мењати као добро. 448 00:33:05,290 --> 00:33:08,170 У последњем псет дефинитивно није потребно, 449 00:33:08,170 --> 00:33:14,310 али опција је била да спроведе свој похлепног псет помоћу Модул функцију. 450 00:33:14,310 --> 00:33:17,230 Али сада ми заправо идете да је потребно да користите модул, 451 00:33:17,230 --> 00:33:19,900 па хајде да идемо преко ове мало. 452 00:33:19,900 --> 00:33:26,920 У суштини, када имате к по модулу И, који вам даје остатак к подељен и. 453 00:33:26,920 --> 00:33:30,930 Ево неких примера овде. Имамо 27% 15. 454 00:33:30,930 --> 00:33:36,200 У суштини, када одузмете 15 од 27 онолико пута колико је то могуће без добијања негативних 455 00:33:36,200 --> 00:33:39,060 онда добијете 12 лево око. 456 00:33:39,060 --> 00:33:44,650 Дакле, то је нешто као у математички контекст, али како смо заправо на тај начин? 457 00:33:44,650 --> 00:33:47,100 То ће бити корисно за наше враповер. 458 00:33:47,100 --> 00:33:55,420 За то, рецимо ја питао да сви поделити у 3 групе. 459 00:33:55,420 --> 00:33:58,010 Понекад то радите у групама и тако нешто. 460 00:33:58,010 --> 00:34:01,320 Рецимо Рекао сам: "У реду, желим да сви могу поделити у 3". 461 00:34:01,320 --> 00:34:04,240 Како би сте то урадили? 462 00:34:04,240 --> 00:34:06,810 [Нечујан ученик одговор] Да, тачно. Бројање искључен. Ок. 463 00:34:06,810 --> 00:34:10,260 Идемо у ствари да урадим. Да ли желите да почнете? 464 00:34:10,260 --> 00:34:13,810 [Студенти рачунајући искључен] 1, 2, 3, 4. 465 00:34:13,810 --> 00:34:16,620 Али запамтите ... >> [Ученик] Ох, извини. 466 00:34:16,620 --> 00:34:18,730 То је стварно добра ствар. 467 00:34:18,730 --> 00:34:24,130 Рекао си 4, али ми заправо желимо да кажеш 1 јер ми само желимо 3 групе. 468 00:34:24,130 --> 00:34:30,159 Па онда, како - Не, то је стварно добар пример, јер како онда ћете можда рећи 1? 469 00:34:30,159 --> 00:34:33,370 Какав је однос између 4 и 1? 470 00:34:33,370 --> 00:34:36,760 Па, 4 мод 3 је 1. 471 00:34:36,760 --> 00:34:41,460 Дакле, ако наставите, ви би 2. 472 00:34:41,460 --> 00:34:44,540 Дакле, имамо 1, 2, 3, 1, 2. 473 00:34:44,540 --> 00:34:49,420 Опет, ви заправо 5. особа. Како знаш да кажем 2 уместо 5? 474 00:34:49,420 --> 00:34:53,760 Кажете 5 Мод 3 је 2. 475 00:34:53,760 --> 00:34:59,100 Желим да видим колико група 3 су напустили готово, онда којим редоследом ја сам 476 00:34:59,100 --> 00:35:02,860 И тако онда, ако смо наставили дуж целе собе, 477 00:35:02,860 --> 00:35:07,760 онда ћемо видети да смо увек у ствари применом мод функцију на себе 478 00:35:07,760 --> 00:35:09,990 да врста одбројавати. 479 00:35:09,990 --> 00:35:14,490 То је више нека врста опипљивог пример како можете да користите по модулу 480 00:35:14,490 --> 00:35:17,960 јер сам сигуран већина нас вероватно прошли кроз тај процес 481 00:35:17,960 --> 00:35:19,630 где смо морали да рачунају искључен. 482 00:35:19,630 --> 00:35:21,840 Сва питања о модулу? 483 00:35:21,840 --> 00:35:25,360 То ће бити веома важно да разумеју концепте ово, 484 00:35:25,360 --> 00:35:28,640 тако да желим да се уверите да сте разумели. 485 00:35:28,640 --> 00:35:34,660 [Ученик] Ако постоји остатак, то вам даје прави број? 486 00:35:34,660 --> 00:35:40,430 Ако један од првих 3 од њих су то урадили, што би им дали оно што су заиста били, 487 00:35:40,430 --> 00:35:43,310 или би то им даје [нечујан] >> То је добро питање. 488 00:35:43,310 --> 00:35:48,750 Када не постоји ремаиндер за модулу - тако да имате 6 мод 3 - 489 00:35:48,750 --> 00:35:52,340 који заправо вас враћа 0. 490 00:35:53,670 --> 00:35:57,290 Причаћемо о томе мало касније. 491 00:35:58,810 --> 00:36:07,720 Ох да, на пример, 3. особа - 3 мод 3 је заправо 0, али је рекла 3. 492 00:36:07,720 --> 00:36:14,900 Дакле, то је нешто као унутрашњи улова, на пример, 493 00:36:14,900 --> 00:36:17,620 као ок, ако је мод је тада 0 ћу бити 3. особа. 494 00:36:17,620 --> 00:36:22,740 Али ми ћемо ући у врсту како бисмо могли да се позабавимо оним 0 је касније. 495 00:36:22,740 --> 00:36:32,750 Дакле, сада смо некако имају начин да се разврстају зед на десну писмо. 496 00:36:32,750 --> 00:36:34,920 Дакле, сада смо прошли кроз ове примере, 497 00:36:34,920 --> 00:36:37,880 ми смо некако видимо како Цезар можда неће функционисати. 498 00:36:37,880 --> 00:36:42,640 Видећете 2 писма, а онда видети их мења. 499 00:36:42,640 --> 00:36:44,430 Дакле, хајде да покушамо да изразимо да у погледу формули. 500 00:36:44,430 --> 00:36:46,940 Ова формула је заправо дат вама у спец, 501 00:36:46,940 --> 00:36:52,070 али хајде да мало погледа кроз шта свака променљива значи. 502 00:36:52,070 --> 00:36:55,000 Наш крајњи резултат ће бити шифрат. 503 00:36:55,000 --> 00:36:58,300 Дакле, ово каже да је ИТХ карактер шифрата 504 00:36:58,300 --> 00:37:02,500 ће да одговара-тог карактера отвореног текста. 505 00:37:02,500 --> 00:37:08,130 То има смисла, јер желимо да увек буде постројавање ове ствари. 506 00:37:08,130 --> 00:37:13,480 Дакле, то ће бити ИТХ карактер шифрата плус к, који је наш кључ - 507 00:37:13,480 --> 00:37:17,230 то има смисла - и онда имамо ово мод 26. 508 00:37:17,230 --> 00:37:19,860 Сећаш се кад смо имали зед 509 00:37:19,860 --> 00:37:24,190 нисмо хтели да уђу у лик, па смо хтели да га модифитсиране 510 00:37:24,190 --> 00:37:26,540 и врста замотајте око алфабета. 511 00:37:26,540 --> 00:37:33,430 Након зед би прелазак на, б, ц, д, док имаш на правом броју. 512 00:37:33,430 --> 00:37:44,690 Дакле, ми знамо да је Зед, уколико + 6, би нам ф јер после зед долази, б, ц, д, е, ф. 513 00:37:44,690 --> 00:37:52,530 Дакле, хајде да се сећате да смо сигурни да је зед + 6 ће нам дати ф. 514 00:37:52,530 --> 00:38:03,530 У АСЦИИ вредностима, з 122 и ф 102. 515 00:38:03,530 --> 00:38:10,570 Дакле, морамо да нађемо неки начин да наше Цезар формулу нам 102 516 00:38:10,570 --> 00:38:13,590 после узимања у 122. 517 00:38:13,590 --> 00:38:19,550 Дакле, ако ми само применити ову формулу, ('з' + 6)% 26, који заправо даје 24 518 00:38:19,550 --> 00:38:25,980 јер 122 + 6 је 128; 128% 26 вам даје 24 остатак. 519 00:38:25,980 --> 00:38:29,140 Али то не значи баш ф. То дефинитивно није 102. 520 00:38:29,140 --> 00:38:33,590 То такође није 6. слово азбуке. 521 00:38:33,590 --> 00:38:41,550 Очигледно, ми треба да имамо неки начин прилагођавања ово мало. 522 00:38:42,970 --> 00:38:51,340 У погледу редовног писма, ми знамо да је з 26. писмо и ф је 6.. 523 00:38:51,340 --> 00:38:55,460 Али ми смо у компјутерске науке, па ћемо да индекс на 0. 524 00:38:55,460 --> 00:39:00,690 Дакле, уместо да буде з број 26, ми ћемо рећи да је број 25 525 00:39:00,690 --> 00:39:02,630 јер је 0. 526 00:39:02,630 --> 00:39:04,770 Дакле, хајде да примењују ову формулу. 527 00:39:04,770 --> 00:39:11,710 Имамо з представљена 25 + 6, што вам даје 31. 528 00:39:11,710 --> 00:39:15,790 И 31 мод 26 вам даје 5 као остатка. 529 00:39:15,790 --> 00:39:20,500 То је савршено, јер знамо да је ф 5. слово азбуке. 530 00:39:20,500 --> 00:39:26,400 Али то још увек није ф, зар не? Још увек није 102. 531 00:39:26,400 --> 00:39:32,730 Па онда за ову псет, изазов ће покушати да сазна однос 532 00:39:32,730 --> 00:39:36,910 између конвертовање између ових АСЦИИ вредности и азбучном индекс. 533 00:39:36,910 --> 00:39:40,280 У суштини, оно што ћете желети да урадите, желите да почне са АСЦИИ вредностима, 534 00:39:40,280 --> 00:39:45,390 али онда желите да се некако преведе у абецедну индекса 535 00:39:45,390 --> 00:39:52,610 затим израчунати шта писмо треба да буде - у суштини, оно што њен индекс по абецедном је 536 00:39:52,610 --> 00:39:57,660 у шифри карактера - онда преведе Бацк то АСЦИИ вредности. 537 00:39:57,660 --> 00:40:04,870 Дакле, ако сте прикупити свој АСЦИИ табелу, а затим покушајте да пронађете и односе између, рецимо, 102 и 5 538 00:40:04,870 --> 00:40:10,440 или 122 и 25. 539 00:40:12,140 --> 00:40:15,690 Ми смо стекли наш кључ од аргумената командне линије, ми смо стекли отворени текст, 540 00:40:15,690 --> 00:40:17,520 Успели смо енципхеред. 541 00:40:17,520 --> 00:40:19,820 Сада све што је остало да урадите је да одштампате га. 542 00:40:19,820 --> 00:40:22,040 Могли урадили неколико различитих начина. 543 00:40:22,040 --> 00:40:24,570 Оно што смо могли да урадимо је заправо штампање као што смо успут. 544 00:40:24,570 --> 00:40:28,250 Као што смо прелазили преко знакове у низу, 545 00:40:28,250 --> 00:40:31,660 једноставно смо могли само одштампате управо онда када смо је израчунати. 546 00:40:31,660 --> 00:40:36,030 Алтернативно, можете да га сачувате у низу и имају низ знакова 547 00:40:36,030 --> 00:40:39,280 и на крају прелазили преко тог целог низа и одштампате га. 548 00:40:39,280 --> 00:40:40,980 Дакле, имате неколико опција за то. 549 00:40:40,980 --> 00:40:47,280 И запамтите да је% ц ће бити чувар места за штампање карактер. 550 00:40:47,280 --> 00:40:50,420 Значи имамо Цезара, а сада идемо на Вигенере, 551 00:40:50,420 --> 00:40:57,580 који је веома сличан Цезара, али само мало сложенија. 552 00:40:57,580 --> 00:41:03,310 Дакле, у суштини, са Вигенере се да ћеш бити пролазу у кључну реч. 553 00:41:03,310 --> 00:41:06,510 Дакле, уместо броја, ти ћеш имати ниску, 554 00:41:06,510 --> 00:41:09,200 и тако што ће да делује као кључну реч. 555 00:41:09,200 --> 00:41:14,440 Затим, као и обично, да ћеш добити брзу за низ од корисника 556 00:41:14,440 --> 00:41:19,050 и онда је енципхер и онда дати им шифрата леђа. 557 00:41:19,050 --> 00:41:24,650 Дакле, као што сам рекао, то је веома сличан Цезара, осим уместо померања до одређеног броја, 558 00:41:24,650 --> 00:41:30,620 број заправо ће променити све време од карактера до карактера. 559 00:41:30,620 --> 00:41:34,890 Да представљају онај стварни број да се мењају, то је представљена на тастатури слова. 560 00:41:34,890 --> 00:41:43,150 Дакле, ако сте унели у смени, на пример, онда би одговарало померања 0. 561 00:41:43,150 --> 00:41:45,900 Дакле, поново се вратио у азбучном индекс. 562 00:41:45,900 --> 00:41:49,100 Оно може бити корисно ако сте видели да смо заправо баве АСЦИИ вредностима 563 00:41:49,100 --> 00:41:51,790 као и писма, као и азбучном индекса, 564 00:41:51,790 --> 00:41:58,020 можда пронаћи или направити сопствену АСЦИИ табелу која показује алфабетски индекс 0 до 25, 565 00:41:58,020 --> 00:42:03,750 до З, и АСЦИИ вредности, тако да можете видети врста односа 566 00:42:03,750 --> 00:42:07,020 и скицирам и покушати пронаћи неке обрасце. 567 00:42:07,020 --> 00:42:11,010 Слично томе, ако сте пребацивање у одређеном степену, ф - 568 00:42:11,010 --> 00:42:21,110 и то је било мала или велика слова ђ - онда би одговарало 5. 569 00:42:21,110 --> 00:42:24,180 Јесмо ли добри до сада? 570 00:42:25,770 --> 00:42:30,050 Формула за Вигенере је мало другачија. 571 00:42:30,050 --> 00:42:32,960 У суштини, ви видите да је то исто као Цезара, 572 00:42:32,960 --> 00:42:37,390 осим уместо само к имамо к индекса ј. 573 00:42:37,390 --> 00:42:44,810 Приметићете да нисмо ја користи јер у суштини, дужину кључне речи 574 00:42:44,810 --> 00:42:49,850 није нужно дужину нашег шифрата. 575 00:42:49,850 --> 00:42:56,130 Ово ће бити мало јасније кад видимо пример да имам мало касније. 576 00:42:56,130 --> 00:43:03,160 У суштини, ако покренете програм са кључном речи на Охаи, 577 00:43:03,160 --> 00:43:08,560 онда то значи да сваки пут Охаи ће бити ваша смена. 578 00:43:08,560 --> 00:43:11,060 Дакле, у зависности од тога шта сте Ви у свом кључну реч, 579 00:43:11,060 --> 00:43:15,800 ћеш да пребаце свој одређени карактер шифрата за тај износ. 580 00:43:15,800 --> 00:43:19,630 Опет, баш као Цезара, желимо да се уверите да чувамо капитализацију ствари 581 00:43:19,630 --> 00:43:22,900 а ми смо само енципхер слова, а не ликови или просторе. 582 00:43:22,900 --> 00:43:26,330 Тако осврнути цару на функције које сте можда користили, 583 00:43:26,330 --> 00:43:32,570 начин на који сте се одлучили како да пребаце ствари, и примените то вашем програму овде. 584 00:43:32,570 --> 00:43:35,260 Дакле, хајде да мапирају ово. 585 00:43:35,260 --> 00:43:39,680 Имамо отворени текст који смо стечен од корисника из ГетСтринг 586 00:43:39,680 --> 00:43:44,090 рекавши Ово ... је ЦС50! 587 00:43:44,090 --> 00:43:47,090 Онда имамо кључну реч за Охаи. 588 00:43:47,090 --> 00:43:50,930 Прве 4 карактера су прилично једноставне. 589 00:43:50,930 --> 00:43:55,580 Знамо да је Т ће бити померене за о, 590 00:43:55,580 --> 00:44:01,990 онда х ће бити померене за Х, И ће бити померене за. 591 00:44:01,990 --> 00:44:04,610 Овде можете видети да представља 0, 592 00:44:04,610 --> 00:44:11,940 па онда на крају вредност је заправо само исто слово као и пре. 593 00:44:11,940 --> 00:44:15,250 Онда с је померен до ја. 594 00:44:15,250 --> 00:44:19,370 Али онда имате овде те периоде. 595 00:44:19,370 --> 00:44:25,960 Ми не желимо да енципхер то, тако онда не промените ништа 596 00:44:25,960 --> 00:44:31,280 и само одштампате период непромењени. 597 00:44:31,280 --> 00:44:38,020 [Ученик] Ја не разумем како ви знате да је то пребацује тако - где сте - >> Ох, извини. 598 00:44:38,020 --> 00:44:41,620 На врху Овде можете видети да је командна линија аргумент Охаи овде, 599 00:44:41,620 --> 00:44:43,740 то ће бити кључна реч. 600 00:44:43,740 --> 00:44:49,550 И тако у суштини, ви сте бициклом преко ликова у кључну реч. 601 00:44:49,550 --> 00:44:52,020 [Ученик] Дакле о ће бити померања исти - 602 00:44:52,020 --> 00:44:56,260 Дакле, о одговара одређеном броју у писму. 603 00:44:56,260 --> 00:44:58,400 [Ученик] Тачно. Али, где сте добили ЦС50 део из? 604 00:44:58,400 --> 00:45:02,540 О. То је у ГетСтринг где си као, "Дај ми низ за кодирање." 605 00:45:02,540 --> 00:45:07,510 [Ученик] Они ће вам дати тај аргумент да се пребаци до 606 00:45:07,510 --> 00:45:09,380 и онда ћете питати за први стринг. >> Да. 607 00:45:09,380 --> 00:45:12,440 Дакле, када покренете програм, они ће укључити кључну реч 608 00:45:12,440 --> 00:45:14,740 у својим аргументима командне линије када га покренете. 609 00:45:14,740 --> 00:45:19,740 Онда када сте проверили да су они у ствари сам вам дао 1 и не више, а не мање 610 00:45:19,740 --> 00:45:23,750 онда ћеш их упитати за ниске, кажу, "Дај стринг". 611 00:45:23,750 --> 00:45:27,630 Дакле, то је где је у овом случају они су дали сте ово ... је ЦС50! 612 00:45:27,630 --> 00:45:32,090 Онда ћеш то користити и користе Охаи и прелазили преко. 613 00:45:32,090 --> 00:45:38,200 Приметимо да овде прескочио криптовање периоде, 614 00:45:38,200 --> 00:45:51,660 али у смислу наше позиције за Охаи, следећи смо користили О. 615 00:45:51,660 --> 00:45:54,990 У овом случају то је мало теже да се види, јер је то 4, 616 00:45:54,990 --> 00:45:57,710 па хајде да наставимо мало. Само се држи са мном овде. 617 00:45:57,710 --> 00:46:02,960 Онда имамо ја и С, што се потом превео О и х, респективно. 618 00:46:02,960 --> 00:46:09,370 Онда имамо простор, па онда знамо да нећемо да енципхер просторе. 619 00:46:09,370 --> 00:46:18,930 Али приметите да уместо одласка у на овом месту овде, 620 00:46:18,930 --> 00:46:28,330 смо криптовање тако - не знам да ли можете да видите да је - овде. 621 00:46:28,330 --> 00:46:33,710 Дакле, није као ви заправо предодређени, рецимо, о иде овде, х иде овде, 622 00:46:33,710 --> 00:46:39,200 иде овде, и овде иде, о, х,, И, О, ​​Х,, ја. Ви то не радите. 623 00:46:39,200 --> 00:46:43,760 Можете само мењате положај у кључну реч 624 00:46:43,760 --> 00:46:51,020 када знате да сте заправо ће бити криптовање стварни писмо. 625 00:46:51,020 --> 00:46:53,920 Да ли таква смисла? 626 00:46:53,920 --> 00:46:55,800 Ок. 627 00:46:56,490 --> 00:46:58,500 Дакле, само су неки подсетника. 628 00:46:58,500 --> 00:47:03,760 Ви желите да се уверите да сте само прешли на следећи писмо у вашем кључну реч 629 00:47:03,760 --> 00:47:06,390 ако лик у плаинтект је писмо. 630 00:47:06,390 --> 00:47:09,120 Зато кажемо да смо у О. 631 00:47:09,120 --> 00:47:19,310 Ми смо приметили да следећи знак, и индекс плаинтекту је број, на пример. 632 00:47:19,310 --> 00:47:31,630 Онда ми не напредују Ј, индексни за нашу кључну реч, све док не стигнемо друго писмо. 633 00:47:31,630 --> 00:47:36,230 Опет, такође желите да се уверите да сте обвојно на почетку кључне речи 634 00:47:36,230 --> 00:47:37,770 када сте на крају од њега. 635 00:47:37,770 --> 00:47:42,030 Ако видите овде смо на и, следећи мора да буде о. 636 00:47:42,030 --> 00:47:47,690 Дакле, желите да пронађете неки начин да буде у стању да обвојно на почетку кључне речи 637 00:47:47,690 --> 00:47:49,470 сваки пут када дођете до краја. 638 00:47:49,470 --> 00:47:55,040 И тако опет, каква оператера је корисна у том случају за обмотају око? 639 00:47:56,630 --> 00:47:59,840 Као у бројању офф пример. 640 00:47:59,840 --> 00:48:03,710 [Ученик] знак за проценат. >> Да, знак за проценат, који је по модулу. 641 00:48:03,710 --> 00:48:11,250 Тако модулу ће доћи овде када желите да замотате преко индекса у Охаи. 642 00:48:11,250 --> 00:48:17,700 И само брзо наговештај: Покушајте да замислите обмотају око кључне речи помало као бројање искључен, 643 00:48:17,700 --> 00:48:23,590 где ако има 3 групе, 4. лице, 644 00:48:23,590 --> 00:48:30,610 њихов број који су они рекли била је 4 мод 3, који је био 1. 645 00:48:30,610 --> 00:48:32,880 Зато покушајте и мислим о томе на тај начин. 646 00:48:34,770 --> 00:48:42,740 Као што сте видели у формули, где год имате ЦИ, затим Пи али онда КЈ, 647 00:48:42,740 --> 00:48:44,700 Ви желите да се уверите да ли пратите од њих. 648 00:48:44,700 --> 00:48:47,580 Не морате да га позовете ја, ви не морате да га зову ј 649 00:48:47,580 --> 00:48:53,270 али ви желите да будете сигурни да сте пратите позицију да сте на отвореном тексту у вашем 650 00:48:53,270 --> 00:48:55,790 као и ставом да сте се у свом кључном речи 651 00:48:55,790 --> 00:48:59,840 јер они нису нужно бити исти. 652 00:48:59,840 --> 00:49:06,400 Не само кључну реч - то може бити потпуно другачији од вашег снимка плаинтект. 653 00:49:06,400 --> 00:49:09,140 Такође, ваш отворени текст, постоје бројеви и карактери, 654 00:49:09,140 --> 00:49:14,450 тако да не иде да савршено одговарају заједно. Да. 655 00:49:14,450 --> 00:49:19,280 [Ученик] Да ли постоји функција за промену случај? 656 00:49:19,280 --> 00:49:24,530 Можете да промените на капитал А? >> Да, постоји дефинитивно јесте. 657 00:49:24,530 --> 00:49:27,890 Можете да проверите - Мислим да је то тоуппер, све 1 реч. 658 00:49:30,650 --> 00:49:36,310 Али када покушавате да шифри ствари и сачува тај текст, 659 00:49:36,310 --> 00:49:39,350 најбоље је у основи имају одвојене случајеве. 660 00:49:39,350 --> 00:49:42,040 Ако је велика, онда желите да пребаце овим 661 00:49:42,040 --> 00:49:46,460 јер у свом формули, када погледате уназад како смо се некако покрету 662 00:49:46,460 --> 00:49:50,900 наизменично између АСЦИИ начин представљања бројева 663 00:49:50,900 --> 00:49:55,020 и стварни абецедно индекс, желимо да будете сигурни 664 00:49:55,020 --> 00:50:01,850 тамо ће бити нека врста образац који ћете користити. 665 00:50:01,850 --> 00:50:04,580 Друга напомена о обрасцу, заправо. 666 00:50:04,580 --> 00:50:07,250 Ти ћеш дефинитивно да се бави са бројевима. 667 00:50:07,250 --> 00:50:11,280 Покушајте да не користите магичне бројеве, што је пример стила. 668 00:50:11,280 --> 00:50:18,470 Тако да желите да сваки пут нешто сменама од свиђа - 669 00:50:18,470 --> 00:50:22,400 Ок, наговештај, један спојлер када ћеш да се мења нешто 670 00:50:22,400 --> 00:50:26,310 до одређеног износа, покушајте да не представљају да је стварни број 671 00:50:26,310 --> 00:50:32,810 већ пробати и видети да ли можете да користите АСЦИИ вредност, која ће врста учинити више смисла. 672 00:50:32,810 --> 00:50:35,470 Друга напомена: Зато што ми имамо посла са формулама, 673 00:50:35,470 --> 00:50:41,200 иако ваша подгрупа ће врста знам шта образац можда користите, 674 00:50:41,200 --> 00:50:44,430 Најбоље је да у вашем коментаре врсте објасни логику, као, 675 00:50:44,430 --> 00:50:51,880 "Ја користим овај образац, јер ..." и врста објасни образац језгровито у вашим коментарима. 676 00:50:54,090 --> 00:50:58,990 [То је проход 2] Уколико не постоје друга питања, онда ћу остати овде још мало. 677 00:50:58,990 --> 00:51:04,370 Срећно са псет 2: Црипто и хвала за долазак. 678 00:51:06,070 --> 00:51:08,620 [Ученик] Хвала. >> Хвала. 679 00:51:09,220 --> 00:51:10,800 [Медији Ван интро]