1 00:00:00,000 --> 00:00:11,280 2 00:00:11,280 --> 00:00:13,650 >> СПИКЕР 1: У реду. 3 00:00:13,650 --> 00:00:14,390 Добродошао назад. 4 00:00:14,390 --> 00:00:19,260 Ово је недеља Два ЦС50, и имамо До сада је користио функције, већ 5 00:00:19,260 --> 00:00:20,830 углавном их узимају здраво за готово. 6 00:00:20,830 --> 00:00:23,430 Ми смо принтф користи које има споредни ефекат штампе 7 00:00:23,430 --> 00:00:24,110 ствари на екрану. 8 00:00:24,110 --> 00:00:25,790 Ми смо се користи-инт, флоат добити. 9 00:00:25,790 --> 00:00:29,230 >> Али шта ако заиста желите да креирате сопствене функције, као што неки од 10 00:00:29,230 --> 00:00:31,740 можда сте већ почели да до проблема Сет за један, 11 00:00:31,740 --> 00:00:33,140 није стриктно потребна? 12 00:00:33,140 --> 00:00:37,150 Па, хајде да идемо напред и да се поново Проблем само питања корисника за 13 00:00:37,150 --> 00:00:40,660 њихово име и штампа на нешто екран, али покушајте да факторишу неке 14 00:00:40,660 --> 00:00:44,000 на заједништво које смо видети у нашем коду до сада. 15 00:00:44,000 --> 00:00:45,120 Дакле, мислим да је следеће. 16 00:00:45,120 --> 00:00:47,315 >> Ја ћу ићи напред и створити нови програм, позовите 17 00:00:47,315 --> 00:00:49,320 то хелло.ц као и обично. 18 00:00:49,320 --> 00:00:53,730 Идем да иде напред и да се садрже стандардне ио.х на врху. 19 00:00:53,730 --> 00:00:57,040 Ја ћу такође да се предам превентивно ЦС50 библиотека, тако да 20 00:00:57,040 --> 00:00:59,080 Не се драо на стране компајлера. 21 00:00:59,080 --> 00:01:02,400 А сада ћу да наставим и прогласи инт, главни, празнину. 22 00:01:02,400 --> 00:01:09,020 >> И онда овде, ово је место где желим да почне да нуди функционалност 23 00:01:09,020 --> 00:01:12,090 нека друга функција која ни сама да пишем, али то не 24 00:01:12,090 --> 00:01:13,820 тренутно постоје. 25 00:01:13,820 --> 00:01:19,210 На пример, претпоставимо да желим да написати функцију која ми омогућава да 26 00:01:19,210 --> 00:01:23,830 одштампати хелло, зарез, и онда неки корисничко име. 27 00:01:23,830 --> 00:01:29,010 Уместо да наставите да уради принтф Здраво,% с, зар не би било лепо да 28 00:01:29,010 --> 00:01:33,380 било је само функција зове принтф али не штампа име? 29 00:01:33,380 --> 00:01:36,600 >> Другим речима, желим да будем у стању да написати програм који ради мало 30 00:01:36,600 --> 00:01:37,710 нешто овако. 31 00:01:37,710 --> 00:01:42,070 Прво, ја ћу рећи ваше принтф име, тиме што је навело кориснику да 32 00:01:42,070 --> 00:01:46,150 дај ми своје име, а онда сам ће да користе познате с стринг у 33 00:01:46,150 --> 00:01:47,290 прогласи стринг. 34 00:01:47,290 --> 00:01:50,420 Дај ми променљиву типа стринг, зову е, а продавница у да 35 00:01:50,420 --> 00:01:52,120 резултат се зове стринг. 36 00:01:52,120 --> 00:01:56,060 Али сада у протеклих недеља, ја бих помало напорно ради здраво,% с / н. 37 00:01:56,060 --> 00:01:58,630 38 00:01:58,630 --> 00:02:02,570 >> И у другим речима, видели смо то пример гомила пута, а то је 39 00:02:02,570 --> 00:02:05,280 тривијалан пример јер постоји само један линија кода, тако да заиста није 40 00:02:05,280 --> 00:02:06,860 велика ствар да куцате поново. 41 00:02:06,860 --> 00:02:09,990 Али, претпоставимо да је ова линија кода заправо су постали терет, и 42 00:02:09,990 --> 00:02:12,900 то није једна линија кода, али то је 10 линија кода пар недеља од сада, 43 00:02:12,900 --> 00:02:15,190 а ти само замарања копирања и лепљења или 44 00:02:15,190 --> 00:02:17,180 прекуцавање ту исту лозинку. 45 00:02:17,180 --> 00:02:22,100 Зар не би било лепо уместо да ради принтф здраво, с% и тако даље, 46 00:02:22,100 --> 00:02:26,500 Зар не би било лепо да је било само функција која се зове штампање име 47 00:02:26,500 --> 00:02:27,560 узима аргумент - 48 00:02:27,560 --> 00:02:29,120 Другим речима, потребно је улаз - 49 00:02:29,120 --> 00:02:30,620 и онда зарез. 50 00:02:30,620 --> 00:02:33,240 Тако да функција, зар не било лепо да то постоји? 51 00:02:33,240 --> 00:02:36,690 Онда не би морали да брину о принтф шта је, шта с% и све 52 00:02:36,690 --> 00:02:39,400 ове сложености које су није све то занимљиво. 53 00:02:39,400 --> 00:02:40,570 Они су корисни. 54 00:02:40,570 --> 00:02:44,700 >> Дакле штампа име, нажалост, није било измислили неки пре 40 и више година. 55 00:02:44,700 --> 00:02:45,980 Нико није мислио да га напише. 56 00:02:45,980 --> 00:02:48,300 Али то је лепота постојања програмски језик, као иу 57 00:02:48,300 --> 00:02:52,930 Огреби можете да дефинишете прилагођене блокове, тако у Ц и највише било који језик, можете да 58 00:02:52,930 --> 00:02:57,260 дефинисати своје функционалности, може Ви дефинишете сопствене функције. 59 00:02:57,260 --> 00:03:01,710 Дакле, иако смо се углавном тиме аутоматски бесплатно, можемо прогласити 60 00:03:01,710 --> 00:03:02,730 наши функције. 61 00:03:02,730 --> 00:03:05,670 >> Зато ћу направити мало места овде до врха, а ја ћу да изјављујем своју 62 00:03:05,670 --> 00:03:08,210 сопствене функција која ће да изгледа мало чудно у почетку, али ћемо доћи 63 00:03:08,210 --> 00:03:09,400 Назад на ово пре дуго. 64 00:03:09,400 --> 00:03:12,310 Ја ћу рећи празнину, чиме се указује ова функција 65 00:03:12,310 --> 00:03:16,040 нешто, има споредни ефекат, али је не врати ми нешто у 66 00:03:16,040 --> 00:03:18,810 исти начин на који се инт или добили ниску сама по себи. 67 00:03:18,810 --> 00:03:22,450 И ја ћу да дам ове функције Назив штампања имена, а ја ћу да 68 00:03:22,450 --> 00:03:26,470 навести да овај момак ће да се ниска, а ја ћу да позовем да 69 00:03:26,470 --> 00:03:27,600 стринг име. 70 00:03:27,600 --> 00:03:32,100 Могао бих то назвао шта хоћу, али ја да мој код да буде само-документовање. 71 00:03:32,100 --> 00:03:34,770 Другим речима, ако неко од вас био у отворите ову датотеку и чита га, можеш 72 00:03:34,770 --> 00:03:39,020 врста закључити из имена која улаз какву улогу је требало да игра. 73 00:03:39,020 --> 00:03:42,270 >> А сада испод тога, ја ћу отворити коврџава браће и коврџава затворена заграда, 74 00:03:42,270 --> 00:03:47,140 па приметити да сам пратио исти образац на линијама четири до седам, као 75 00:03:47,140 --> 00:03:51,622 Пратио сам за добру недељу дана плус сада између, рецимо, девет линија и 76 00:03:51,622 --> 00:03:53,400 14 који сачињавају главни. 77 00:03:53,400 --> 00:03:56,160 Другим речима, штампа име је још једна функција. 78 00:03:56,160 --> 00:03:58,990 Сада, компајлер неће да зна да аутоматски позове ову ствар 79 00:03:58,990 --> 00:04:02,670 јер сам га буквално измислио, али ће ипак знати да позове главни 80 00:04:02,670 --> 00:04:08,710 аутоматски, а онда, наравно, у линија 13, зовем своју функцију. 81 00:04:08,710 --> 00:04:12,805 И јер сам је изјавио да функција се на четвртом реду пре маин, 82 00:04:12,805 --> 00:04:16,579 Ово ће научити компајлер ста цитат, завршити цитат, "принт име" 83 00:04:16,579 --> 00:04:18,140 значи и шта треба да уради. 84 00:04:18,140 --> 00:04:22,700 Тако да сам некако дајући нови прилагођени блокира у контексту, рецимо, огреботина. 85 00:04:22,700 --> 00:04:27,240 >> Дакле овде, ја могу да је веома честа или понавља образац кода Чувам 86 00:04:27,240 --> 00:04:32,300 писање на часу, иф % С хелло,% С / Н ", - 87 00:04:32,300 --> 00:04:36,720 88 00:04:36,720 --> 00:04:37,590 Шта желим да овде ставити? 89 00:04:37,590 --> 00:04:39,200 С? 90 00:04:39,200 --> 00:04:41,420 Дакле, желим да ставим име у том контексту. 91 00:04:41,420 --> 00:04:43,440 Дакле, приметите овде помало дихотомије. 92 00:04:43,440 --> 00:04:47,680 Јер ја изјављујем своју функцију и ја се помало произвољно назива 93 00:04:47,680 --> 00:04:50,880 да се одштампа име, и јер сам наведено у загради да је ово 94 00:04:50,880 --> 00:04:55,035 Функција има један аргумент, тип што је ниска - тако да је реч 95 00:04:55,035 --> 00:05:00,010 или фраза, или тако нешто - и Зовем тај аргумент име, да 96 00:05:00,010 --> 00:05:04,770 и једини који је у променљиву обим, да тако кажем, јесте име. 97 00:05:04,770 --> 00:05:07,780 >> С постоји само између Која два витичасте заграде, наравно? 98 00:05:07,780 --> 00:05:12,990 Па заиста, баш као и линије 10 кроз 14, па баш као у понедељак не могу користити 99 00:05:12,990 --> 00:05:17,650 С, али оно што могу да урадим је проћи С у имену штампања. 100 00:05:17,650 --> 00:05:21,030 Принт име само тако се дешава да га дају друго име, синоним, надимак, 101 00:05:21,030 --> 00:05:24,400 називајући то име, и сада користећи га у овој линији. 102 00:05:24,400 --> 00:05:26,840 Тако да сада дозволите ми да спасем ово, умањите. 103 00:05:26,840 --> 00:05:31,250 >> Дозволите ми да иде напред и да поздравим. 104 00:05:31,250 --> 00:05:32,400 Изгледа добро. 105 00:05:32,400 --> 00:05:36,110 Није испљунути грешке. / Здраво Ентер.. 106 00:05:36,110 --> 00:05:37,020 Како се зовем? 107 00:05:37,020 --> 00:05:38,060 Дејвид. 108 00:05:38,060 --> 00:05:39,270 Здраво и Давид. 109 00:05:39,270 --> 00:05:41,820 Дакле, није све тако узбудљиво, али само мислим сада. 110 00:05:41,820 --> 00:05:44,310 Ви сада имате исте састојке као што смо урадили у Огреби 111 00:05:44,310 --> 00:05:45,420 направимо своје функције. 112 00:05:45,420 --> 00:05:46,770 >> Али постоји мало те. 113 00:05:46,770 --> 00:05:50,620 Претпоставимо да нисам стварно мислио овоме и ја заправо не 114 00:05:50,620 --> 00:05:54,250 заиста размишља о томе писао који функционишу овде. 115 00:05:54,250 --> 00:05:55,420 Осећа савршено разумно. 116 00:05:55,420 --> 00:05:58,440 У Огреби не постоји појам на локацију у скрипти. 117 00:05:58,440 --> 00:06:00,670 Можете да ставим овде, једна овде горе, једна овде горе, и то би могло почети 118 00:06:00,670 --> 00:06:03,310 да изгледа мало наопако ако не урадите постави га уредно, али то није то 119 00:06:03,310 --> 00:06:05,910 обзира где се физички списе су на екрану. 120 00:06:05,910 --> 00:06:09,660 Нажалост, у Ц - а то је за разлику од језицима као што су Јава и Питхон 121 00:06:09,660 --> 00:06:13,600 и други који би те могли упознати са - нажалост у Ц, како би се 122 00:06:13,600 --> 00:06:15,830 битно зато што је сат ће се сада десити. 123 00:06:15,830 --> 00:06:19,010 >> Подразумевана функција која ће да изврши је, наравно, главни. 124 00:06:19,010 --> 00:06:22,290 Главно је да се јави на име штампања ред осам, али, нажалост, 125 00:06:22,290 --> 00:06:26,660 компајлер неће ни знати да је име за штампање постоји све док не добије на линији 11, 126 00:06:26,660 --> 00:06:28,520 која је, нажалост, ће бити прекасно. 127 00:06:28,520 --> 00:06:30,660 Па хајде да праве здраво. 128 00:06:30,660 --> 00:06:32,950 А сада, две проклете грешке генерише. 129 00:06:32,950 --> 00:06:36,050 Тако да сада дозволите ми помицати до веома Прво, као што смо увек треба радити, и 130 00:06:36,050 --> 00:06:39,560 приметити да се дере на мене, "Имплицитна декларација функције 131 00:06:39,560 --> 00:06:40,540 принт име. " 132 00:06:40,540 --> 00:06:43,860 >> Дакле, видели смо ову поруку пре, имплицитна декларација функције. 133 00:06:43,860 --> 00:06:48,080 Када смо видели такву грешку? 134 00:06:48,080 --> 00:06:49,180 Када нисам укључују библиотеку. 135 00:06:49,180 --> 00:06:53,470 Ако сам заборавио цс50.х и ја бих се викао за ниску добити или добити инт. 136 00:06:53,470 --> 00:06:56,880 Али у овом случају, ова функција за штампање име није у библиотеци, зар не? 137 00:06:56,880 --> 00:07:00,230 То је буквално у овом фајлу, тако шта је заправо проблем? 138 00:07:00,230 --> 00:07:04,660 >> Па, нажалост, у Ц, он вас води тако невероватно буквално да ако 139 00:07:04,660 --> 00:07:08,640 Желим позива функција за штампање у име постоје, морате или да спроведе 140 00:07:08,640 --> 00:07:11,940 који функционишу на самом врху вашег код тако да је доступна на ниже 141 00:07:11,940 --> 00:07:15,070 функција, али искрено, то постаје немаран веома брзо. 142 00:07:15,070 --> 00:07:18,160 Лично, волим стављајући главни прво јер онда је врло јасно шта ово 143 00:07:18,160 --> 00:07:19,890 Програм чини на први поглед. 144 00:07:19,890 --> 00:07:23,290 И плус, можете добити у чудне углу случајеви где ако к жели да позове 145 00:07:23,290 --> 00:07:27,530 г, али би се могло назвати г к, само физички не могу заправо ставити један 146 00:07:27,530 --> 00:07:28,540 изнад другог. 147 00:07:28,540 --> 00:07:31,230 >> Али испоставило се да у Ц, можемо да реши ово веома једноставно. 148 00:07:31,230 --> 00:07:34,010 Ја ћу да ставим мало простора овде, а ја ћу само да 149 00:07:34,010 --> 00:07:38,170 превентивно, мада нешто редундантно, ће научити 150 00:07:38,170 --> 00:07:42,320 компајлер да постоји функција зове штампе име, потребно је стринг, 151 00:07:42,320 --> 00:07:46,330 и ја ћу да позовем то име зарез. 152 00:07:46,330 --> 00:07:50,220 >> Дакле, ово сада у четвртом реду, који смо нису видели раније, је декларација 153 00:07:50,220 --> 00:07:53,940 од имена функције штампања, али то је само обећање да ће се ова функција 154 00:07:53,940 --> 00:07:56,620 на крају се дефинише, на крају спровести. 155 00:07:56,620 --> 00:08:00,180 То сада могу да реагујем, јер Сада ово је дефиниција, 156 00:08:00,180 --> 00:08:04,090 имплементација, нека врста еворишта имплементације овог 157 00:08:04,090 --> 00:08:05,130 одређену функцију. 158 00:08:05,130 --> 00:08:08,450 Па искрено да је то глупо, да је напорно, али то је начин на Ц је, а то је 159 00:08:08,450 --> 00:08:12,050 јер ће вас одвести врло дословно и, као и рачунар треба искрено, 160 00:08:12,050 --> 00:08:16,020 само да тачно оно што је рекао да то, и тако да је наручивање важно. 161 00:08:16,020 --> 00:08:18,940 >> Дакле, имајте то на уму и поново почети да уочити понављање образаца. 162 00:08:18,940 --> 00:08:21,850 Шансе су да ће, ако не имате већ, почињу да наилазе поруке 163 00:08:21,850 --> 00:08:24,700 овако то изгледа на први поглед потпуно загонетан, али ако почнете 164 00:08:24,700 --> 00:08:29,000 да траже ове кључне речи као што су "Имплицитан декларација," помиње 165 00:08:29,000 --> 00:08:32,380 функција у овом случају - и искрено, понекад се мало зелено 166 00:08:32,380 --> 00:08:35,010 шаргарепа симбол који вам говори где Вероватно је проблем - 167 00:08:35,010 --> 00:08:40,980 можете да почнете да радите свој пут кроз тада невиђених поруке о грешкама. 168 00:08:40,980 --> 00:08:45,860 Сва питања о писању сопствене функције на овај начин? 169 00:08:45,860 --> 00:08:47,540 >> Хајде да урадимо нешто што је мало више убедљив. 170 00:08:47,540 --> 00:08:51,760 Уместо да само уради нешто што има пропратни ефекат штампања, пусти ме 171 00:08:51,760 --> 00:08:55,340 напред и сачувате нову датотеку, и ми ћемо зову поситиве.ц, иако је 172 00:08:55,340 --> 00:08:57,600 ће бити мало другачија против Последњи пут. 173 00:08:57,600 --> 00:09:01,910 И овог пута, желим да поново примени поситиве.Ц пример је последњи пут, који 174 00:09:01,910 --> 00:09:04,430 се натера корисник да ми позитиван цео број. 175 00:09:04,430 --> 00:09:07,280 Али, морао сам да се користи инт последњи пут. 176 00:09:07,280 --> 00:09:10,780 Зар не би било лепо да постоји функција зове се позитивно инт 177 00:09:10,780 --> 00:09:13,610 да бих могао препустити ово комад функционалности за? 178 00:09:13,610 --> 00:09:16,480 Дакле, разлика је у томе ћемо спроводи се позитивно инт, али за разлику од 179 00:09:16,480 --> 00:09:20,330 штампај име које је имао споредни ефекат - то нису вратили нешто ми се 180 00:09:20,330 --> 00:09:21,710 број или стринг - 181 00:09:21,710 --> 00:09:25,510 се позитиван инт је, наравно, иде у вратити, надамо се, позитиван инт. 182 00:09:25,510 --> 00:09:26,170 >> Дакле, хајде да урадимо то. 183 00:09:26,170 --> 00:09:30,840 Укључи цс50.х, садрже стандардне ио.х. 184 00:09:30,840 --> 00:09:33,520 Инт маин празнину. 185 00:09:33,520 --> 00:09:42,160 А сада овде, ја ћу да наставим и рецимо инт, то зову н, једнако 186 00:09:42,160 --> 00:09:44,270 добити позитивну инт. 187 00:09:44,270 --> 00:09:49,080 И баш као што се инт већ постоји јер особље га је написао, ја ћу 188 00:09:49,080 --> 00:09:53,950 да претпоставимо на тренутак да добије позитиван инт постоји, а сада идем 189 00:09:53,950 --> 00:09:57,730 да иде напред и рећи принтф, хвала за% И / н ", н. 190 00:09:57,730 --> 00:10:02,940 191 00:10:02,940 --> 00:10:07,770 >> Тако да сада ако компајлирате овај програм, који ће се догодити у мом терминалу 192 00:10:07,770 --> 00:10:09,075 прозор на дну екрана? 193 00:10:09,075 --> 00:10:11,580 194 00:10:11,580 --> 00:10:13,900 Ја ћу вероватно да се иста грешка као пре. 195 00:10:13,900 --> 00:10:14,570 Па хајде да пробамо ово. 196 00:10:14,570 --> 00:10:16,450 Маке позитиван. 197 00:10:16,450 --> 00:10:19,900 И опет, имплицитна декларација функције, добити позитиван инт. 198 00:10:19,900 --> 00:10:21,970 Тако да можемо да решимо ово у неколико начина. 199 00:10:21,970 --> 00:10:27,310 Ја ћу да га једноставно и само ставио декларацију овде и добити 200 00:10:27,310 --> 00:10:28,120 позитиван инт. 201 00:10:28,120 --> 00:10:29,720 Треба тзв потпис. 202 00:10:29,720 --> 00:10:32,410 Потпис се односи само на естетици 203 00:10:32,410 --> 00:10:34,090 Први ред програма. 204 00:10:34,090 --> 00:10:37,420 Дакле, шта би требало да се позитивно инт повратак? 205 00:10:37,420 --> 00:10:37,970 >> Тако инт. 206 00:10:37,970 --> 00:10:41,540 Ја мислим идеално, она ће се вратити нешто као позитиван инт, али да 207 00:10:41,540 --> 00:10:42,160 не постоји. 208 00:10:42,160 --> 00:10:45,280 Не смо видели да међу нашим подацима врсте, тако да морају да се баве 209 00:10:45,280 --> 00:10:47,170 Чињеница да имамо врло мало типови података за рад. 210 00:10:47,170 --> 00:10:50,360 Али можемо вратити цео број и само Верујем да ће то бити позитиван. 211 00:10:50,360 --> 00:10:52,690 То ће да се зове добити позитивну инт. 212 00:10:52,690 --> 00:10:55,122 >> А сад шта је са његовим аргументима? 213 00:10:55,122 --> 00:10:56,440 Да ли је потребно да било који улаз? 214 00:10:56,440 --> 00:10:58,280 Да ли је потребно било који улаз? 215 00:10:58,280 --> 00:11:00,900 Тако да не треба да зна унапред било шта. 216 00:11:00,900 --> 00:11:03,220 Гет стринг не, не добије инт. 217 00:11:03,220 --> 00:11:06,430 Принтф ради - мора да има неке улаз у њу прошло - и штампање име 218 00:11:06,430 --> 00:11:09,020 потребан неки улаз, али се позитиван инт не. 219 00:11:09,020 --> 00:11:11,530 Зато ћу се експлицитно реците празнину компајлера. 220 00:11:11,530 --> 00:11:13,470 Празнина је одсуство било чега другог. 221 00:11:13,470 --> 00:11:17,990 Дакле, празнина не значи ништа се дешава унутра тих заграда, тачка и зарез. 222 00:11:17,990 --> 00:11:20,840 >> А сада на дну моје датотеке - и опет, само сам некако анални 223 00:11:20,840 --> 00:11:23,640 овде стављајући главни на врху, који је добра пракса јер на тај начин, 224 00:11:23,640 --> 00:11:26,220 било када ви или неко други отвара свој фајл, 225 00:11:26,220 --> 00:11:27,400 функционалност је тамо. 226 00:11:27,400 --> 00:11:29,660 Можете да зароните са једном квадратном. 227 00:11:29,660 --> 00:11:34,190 Сада ћу да дуплирате ово, добити позитивну инт празнину, али нисам 228 00:11:34,190 --> 00:11:35,430 сад да удари тачку и зарез. 229 00:11:35,430 --> 00:11:38,280 Ја ћу отворити витичасте заграде, и сада морам да позајмим 230 00:11:38,280 --> 00:11:39,700 неке идеје од понедељка. 231 00:11:39,700 --> 00:11:44,450 >> Дакле, као што се сећате, ми смо урадили нешто свиђа урадите следеће док 232 00:11:44,450 --> 00:11:45,830 нешто што је било тачно. 233 00:11:45,830 --> 00:11:46,630 И шта сам урадио? 234 00:11:46,630 --> 00:11:51,540 Урадио сам нешто дао ми позитиван цео број, 235 00:11:51,540 --> 00:11:52,430 Мало брз. 236 00:11:52,430 --> 00:11:53,540 Добро би било речи желим. 237 00:11:53,540 --> 00:11:54,960 А онда сам шта? 238 00:11:54,960 --> 00:11:59,530 Инт н једнако се инт, нема аргумената за то. 239 00:11:59,530 --> 00:12:00,550 >> И приметити разлику. 240 00:12:00,550 --> 00:12:04,680 Када позовете функцију, када користите функција, што не стави у празнини. 241 00:12:04,680 --> 00:12:08,570 Ви само урадите када проглашава функција, предајем оно што компајлер 242 00:12:08,570 --> 00:12:09,780 треба очекивати. 243 00:12:09,780 --> 00:12:11,650 Дакле, не морате да ставите празнину себе. 244 00:12:11,650 --> 00:12:12,940 >> А сада оно што је било моје стање? 245 00:12:12,940 --> 00:12:19,670 Па, н није једнако позитивна, али то је само псеудо-кода. 246 00:12:19,670 --> 00:12:22,530 Па како да изразим то више чисто? 247 00:12:22,530 --> 00:12:24,090 Дакле, мање или једнако нули. 248 00:12:24,090 --> 00:12:26,250 Па опет, приметили сте да урадите мање или једнако. 249 00:12:26,250 --> 00:12:28,100 Иако је то два одвојена симбола, можете то учинити на 250 00:12:28,100 --> 00:12:29,350 као што су тастатура. 251 00:12:29,350 --> 00:12:33,950 >> Али и даље постоји буг који Зезнуо сам прошли пут превише. 252 00:12:33,950 --> 00:12:36,950 Морам да се изјасни - 253 00:12:36,950 --> 00:12:37,460 тачно. 254 00:12:37,460 --> 00:12:39,640 Морам да прогласи ван н петље. 255 00:12:39,640 --> 00:12:44,180 Зато морам да ставим н овде, а ја не Желим поново да га објави овде 256 00:12:44,180 --> 00:12:46,480 да не добијем нову променљиву. 257 00:12:46,480 --> 00:12:48,860 Ја само желим да доделите вредност овде. 258 00:12:48,860 --> 00:12:54,320 >> И сада не ради баш овде. 259 00:12:54,320 --> 00:12:57,290 Пусти ме да испред себе и да се претварам да сам готов. 260 00:12:57,290 --> 00:13:01,220 Направите позитиван, а сада постоји нова грешка. 261 00:13:01,220 --> 00:13:04,550 Контрола достиже крај без празнина функција. 262 00:13:04,550 --> 00:13:07,760 Дакле, нове поруке о грешци, али ако сте љубазни од теасе поред сваке од речима, 263 00:13:07,760 --> 00:13:09,620 Вероватно наговештава шта није у реду. 264 00:13:09,620 --> 00:13:11,240 >> Контрола. 265 00:13:11,240 --> 00:13:14,250 Контрола само значи редоследу операција у програму. 266 00:13:14,250 --> 00:13:16,510 Рачунар је у контроли и нешто није у реду. 267 00:13:16,510 --> 00:13:18,510 Тако да стигне до краја без празнина функција. 268 00:13:18,510 --> 00:13:21,760 Оно што је очигледно је функција говорите? 269 00:13:21,760 --> 00:13:24,790 Оно што је функција не празнина? 270 00:13:24,790 --> 00:13:27,400 Дакле добили позитивну инт, и мало збуњује у том бунару, 271 00:13:27,400 --> 00:13:29,010 то је врста празнине. 272 00:13:29,010 --> 00:13:33,070 Има спецификацију за своје празнине аргументи, али је његова производња ће се 273 00:13:33,070 --> 00:13:34,540 буде типа н. 274 00:13:34,540 --> 00:13:37,260 Дакле, реч је о левој такозвани повратни тип. 275 00:13:37,260 --> 00:13:40,320 Реч изнутра овде је нула или више аргумената 276 00:13:40,320 --> 00:13:41,970 да функција узима. 277 00:13:41,970 --> 00:13:44,060 >> Дакле, шта треба да радим? 278 00:13:44,060 --> 00:13:47,650 У овом тренутку у мом коду, ред 21, где трепери брзо сада, ја 279 00:13:47,650 --> 00:13:51,430 имају позитиван инт унутар променљиве зове н. 280 00:13:51,430 --> 00:13:55,200 Како да га вратим на главни? 281 00:13:55,200 --> 00:13:55,960 Буквално. 282 00:13:55,960 --> 00:13:59,320 Повратак н зарез. 283 00:13:59,320 --> 00:14:04,090 >> Дакле, баш као Колтон вратио комад папир са одговором на мене пада 284 00:14:04,090 --> 00:14:07,020 тај комад папира у малој црној боји кутија на столу, да се то уради у 285 00:14:07,020 --> 00:14:10,100 код, само буквално пишете, вратите н, а то је као да су Колтон 286 00:14:10,100 --> 00:14:12,140 предаје ми нешто физички назад. 287 00:14:12,140 --> 00:14:15,870 У овом случају, оно што се дешава је добити позитиван Инт ће вратити 288 00:14:15,870 --> 00:14:19,220 шта је вероватно позитиван цео коме? 289 00:14:19,220 --> 00:14:21,380 Где ова вредност завршити? 290 00:14:21,380 --> 00:14:29,080 Која се нађе у овом променљиве, н, а онда наставите са линије девет. 291 00:14:29,080 --> 00:14:31,920 >> Дакле, другим речима, да би од операције, овај програм почиње 292 00:14:31,920 --> 00:14:34,430 извршење, а преводилац схвата, ох, хоћеш библиотеку? 293 00:14:34,430 --> 00:14:36,310 Пусти ме зграби све што је унутра. 294 00:14:36,310 --> 00:14:37,750 Ох, хоћеш стандардну ИО библиотеку? 295 00:14:37,750 --> 00:14:39,660 Пусти ме зграби све што је унутра. 296 00:14:39,660 --> 00:14:44,510 Шта рећи себи компајлер када погоди четвртом реду? 297 00:14:44,510 --> 00:14:47,980 Ох, обећао да ће спровести Функција зове се позитивна, али 298 00:14:47,980 --> 00:14:50,820 ћемо се вратити на то касније, нешто у том смислу. 299 00:14:50,820 --> 00:14:53,450 >> Тап_п празнина само значи да је овде храбрости мог програма. 300 00:14:53,450 --> 00:14:54,990 Линија је само седам браце коврџава. 301 00:14:54,990 --> 00:14:59,540 Линија осам говори на левој страни, дају ме 32 бита за цео број, зову н. 302 00:14:59,540 --> 00:15:02,160 На десној страни, то је рекавши добити позитивну инт. 303 00:15:02,160 --> 00:15:07,120 Сада Хајде да застанемо да прича, јер сада Не да се креће мој курсор доле. 304 00:15:07,120 --> 00:15:11,720 Мој курсор сада иде доле, јер сада добили позитиван инт извршава. 305 00:15:11,720 --> 00:15:13,100 Инт н је проглашен. 306 00:15:13,100 --> 00:15:14,040 Урадите следеће. 307 00:15:14,040 --> 00:15:16,090 Принтф ми даје позитиван цео број. 308 00:15:16,090 --> 00:15:19,740 >> Набавите инт од корисника, чувајте је у Н, а можда ово опет и опет. 309 00:15:19,740 --> 00:15:23,010 Ова петља значи да би овај број извршава горе доле овако опет 310 00:15:23,010 --> 00:15:25,810 и поново, али на крају, када корисник сарађује и даје ми позитиван 311 00:15:25,810 --> 00:15:31,750 инт, ја погодио линију 21, у ком случају број је враћена, а који 312 00:15:31,750 --> 00:15:34,280 сада треба да истакне? 313 00:15:34,280 --> 00:15:35,070 Девет. 314 00:15:35,070 --> 00:15:39,010 Контрола, да тако кажем, враћа да се построје девет. 315 00:15:39,010 --> 00:15:40,650 То је линија која је сада задужен. 316 00:15:40,650 --> 00:15:43,250 >> Дакле, то је оно што се дешава свим овог пута испод хаубе, али 317 00:15:43,250 --> 00:15:46,480 када смо коришћене функције попут принтф или чак добити ниску да је неко други 318 00:15:46,480 --> 00:15:50,600 написао за вас, контрола се предао Искључено да неко други број линија 319 00:15:50,600 --> 00:15:51,290 по линију по линију. 320 00:15:51,290 --> 00:15:53,770 То једноставно нисмо могли да видимо и ми није могло да ослика у ово 321 00:15:53,770 --> 00:15:57,620 програм, јер је то у неким другим датотека на чврстом диску 322 00:15:57,620 --> 00:16:00,000 без нечијег знања да нас. 323 00:16:00,000 --> 00:16:02,100 Па хајде да ствари саставити и покренути ово сада. 324 00:16:02,100 --> 00:16:03,890 >> Маке позитиван. 325 00:16:03,890 --> 00:16:05,260 Саставите, то је напредак. 326 00:16:05,260 --> 00:16:06,650 / Позитиван.. 327 00:16:06,650 --> 00:16:08,020 Дај позитиван цео број. 328 00:16:08,020 --> 00:16:08,800 Будимо тешко. 329 00:16:08,800 --> 00:16:10,430 Негативно 1. 330 00:16:10,430 --> 00:16:11,360 Нула. 331 00:16:11,360 --> 00:16:13,370 Дајмо 50. 332 00:16:13,370 --> 00:16:18,100 Хвала за 50, тако и контрола сада се вратила. 333 00:16:18,100 --> 00:16:21,750 Сва питања, онда, на то? 334 00:16:21,750 --> 00:16:23,180 Да? 335 00:16:23,180 --> 00:16:25,630 >> [ИНАУДИБЛЕ]. 336 00:16:25,630 --> 00:16:26,130 >> Реци поново. 337 00:16:26,130 --> 00:16:27,860 О, добро питање. 338 00:16:27,860 --> 00:16:31,100 Дакле, можда ћете приметити ту паралелу да Некако сам сечење угао на. 339 00:16:31,100 --> 00:16:35,420 У 12. реду, ја кажем, добити позитиван инт враћа инт, али тај исти 340 00:16:35,420 --> 00:16:39,660 логика, сада се закључити да у линија шест, ја кажем да је главни враћа 341 00:16:39,660 --> 00:16:44,040 инт, али оно што ми никада нисмо је за неки од наших програма? 342 00:16:44,040 --> 00:16:46,470 Никада нисмо имали помиње ова кључна реч повратак. 343 00:16:46,470 --> 00:16:49,970 >> Тако испада да је у Ц, најмање верзија тога да користимо 344 00:16:49,970 --> 00:16:55,750 остварен у 1999, технички, то је дешава за вас аутоматски. 345 00:16:55,750 --> 00:16:59,300 Сваки пут када у имплементацији програма и вас имплементира функцију која се зове главни, 346 00:16:59,300 --> 00:17:04,230 та функција ће вратити нулу подразумевано ако не кажу другачије, 347 00:17:04,230 --> 00:17:05,849 и нула је само конвенција. 348 00:17:05,849 --> 00:17:09,430 Свет враћа нулу самим указује да је све добро, 349 00:17:09,430 --> 00:17:13,040 ефективно нас оставља са четири милијарде могуће ствари који би могли 350 00:17:13,040 --> 00:17:17,530 толико лоше да ако се вратимо једно, да можда значи код који значи ово 351 00:17:17,530 --> 00:17:18,310 нешто је кренуло наопако. 352 00:17:18,310 --> 00:17:20,589 Могли би да се врате два, што значи ово друго је кренуло наопако. 353 00:17:20,589 --> 00:17:23,440 Могли би да се врати четири милијарде, што знаци ова друга ствар није у реду. 354 00:17:23,440 --> 00:17:27,170 >> А ако сада размислите о свом ПЦ или Мац, можда се сећате да 355 00:17:27,170 --> 00:17:29,610 Понекад имате јасни поруке о грешци од софтвера који вам је 356 00:17:29,610 --> 00:17:32,650 користи, а понекад има људски опис пријатељски, али постоји 357 00:17:32,650 --> 00:17:35,265 често код или број на екрану? 358 00:17:35,265 --> 00:17:37,800 Ако се то не долази у обзир, Само пази на њу. 359 00:17:37,800 --> 00:17:40,790 То је обично оно што ови кодови говорите. 360 00:17:40,790 --> 00:17:44,200 Они се укључују у Мицрософт Ворд и друге програме тако да ако поднесе 361 00:17:44,200 --> 00:17:48,850 пријава грешке у компанији, можете реците им, ох, ја сам број грешке 45. 362 00:17:48,850 --> 00:17:51,750 А неки програмер врати у компанији може изгледати да се у његов 363 00:17:51,750 --> 00:17:54,940 број и рећи, ох, то је зато што сам направио Овај буг и зато корисник 364 00:17:54,940 --> 00:17:56,240 добио ову поруку. 365 00:17:56,240 --> 00:17:59,490 >> Али, искрено, то је само мали збуњујући и мало досадан за 366 00:17:59,490 --> 00:18:02,130 закључити да је, бар на нашем Првих неколико програма, тако да смо 367 00:18:02,130 --> 00:18:02,970 су га изоставе. 368 00:18:02,970 --> 00:18:07,450 Али све ово време сваки ваш Основна функција је тајно имао ово 369 00:18:07,450 --> 00:18:11,600 линија аутоматски додаје за Вас компајлер, само конвенција за 370 00:18:11,600 --> 00:18:13,172 уштедите мало времена. 371 00:18:13,172 --> 00:18:14,620 >> [ИНАУДИБЛЕ]. 372 00:18:14,620 --> 00:18:16,250 >> Не морате да га укључи у главни. 373 00:18:16,250 --> 00:18:16,700 То је у реду. 374 00:18:16,700 --> 00:18:20,260 Не треба да се укључи ако сте били спровођење функцију овако. 375 00:18:20,260 --> 00:18:22,850 У супротном функција стан се не би функционисало. 376 00:18:22,850 --> 00:18:24,480 Али у главни, то није потребно. 377 00:18:24,480 --> 00:18:28,450 У недељу или две, ми ћемо почети да се у ту навику једном желимо да покренемо 378 00:18:28,450 --> 00:18:29,690 означава грешке. 379 00:18:29,690 --> 00:18:32,550 Стварно добро питање. 380 00:18:32,550 --> 00:18:36,880 >> Тако брзо вербална пауза је напоменути да овог петка, нећемо се руча 381 00:18:36,880 --> 00:18:39,980 по себи, али ми ћемо бити на вечери са неки од студената и особља. 382 00:18:39,980 --> 00:18:42,940 Уколико желите да нам се придружите, осећа слободни да иду у цс50.нет/рсвп. 383 00:18:42,940 --> 00:18:45,030 6:00 ПМ у петак. 384 00:18:45,030 --> 00:18:47,990 Простор је, као и увек, ограничен, али ћемо наставе да раде ове на скоро 385 00:18:47,990 --> 00:18:51,420 сваке недеље, ако простор понестане ове недеље. 386 00:18:51,420 --> 00:18:56,160 >> Тако Цлиффхангер да смо стали у Понедељак је био да жице заправо могу 387 00:18:56,160 --> 00:19:00,520 бити индексиране у, што значи да вас могу добити на први знак, 388 00:19:00,520 --> 00:19:03,770 други знак, трећи лик и тако даље, јер можете 389 00:19:03,770 --> 00:19:07,860 ефикасно мисле у низу, као здраво, као у овом случају пет 390 00:19:07,860 --> 00:19:09,670 слова унутар кутија. 391 00:19:09,670 --> 00:19:13,370 А можете добити на сваком од оних кутије са оним што смо урадили синтакса 392 00:19:13,370 --> 00:19:15,230 увести у понедељак? 393 00:19:15,230 --> 00:19:16,760 Те квадратних заграде на тастатури. 394 00:19:16,760 --> 00:19:18,980 То је само значило прелазак на локацији нула. 395 00:19:18,980 --> 00:19:22,840 >> Почињемо рачунајући на нули, па носач нула означава х, један носач 396 00:19:22,840 --> 00:19:25,170 означава е, и тако даље. 397 00:19:25,170 --> 00:19:28,490 И тако све време када смо били коришћењем жице и куцате у "здраво" 398 00:19:28,490 --> 00:19:31,250 и "свет" и друге ствари на екран, то је била сачувана 399 00:19:31,250 --> 00:19:32,820 у кутијама као што је овај. 400 00:19:32,820 --> 00:19:33,370 И Погоди. 401 00:19:33,370 --> 00:19:37,470 Шта свака кутија представља физички унутар вашег рачунара? 402 00:19:37,470 --> 00:19:38,250 >> [ИНАУДИБЛЕ]. 403 00:19:38,250 --> 00:19:39,150 >> Извини? 404 00:19:39,150 --> 00:19:39,580 >> Ликови. 405 00:19:39,580 --> 00:19:44,760 >> Дакле лик, свакако у случају жица, а лик је само 406 00:19:44,760 --> 00:19:46,800 осам бита или један бајт. 407 00:19:46,800 --> 00:19:49,550 Дакле, вероватно сте бар магловито упознати са чињеницом да је ваш 408 00:19:49,550 --> 00:19:50,500 Рачунар има меморију. 409 00:19:50,500 --> 00:19:52,110 Има две врсте меморије најмање. 410 00:19:52,110 --> 00:19:54,810 Један је хард диск где чувате ствари стално, и то је 411 00:19:54,810 --> 00:19:57,400 обично велика, тако да можете имати филмове и музика и тако даље. 412 00:19:57,400 --> 00:20:04,010 >> Онда имате другу врсту меморије зове РАМ, Р--М, Рандом Аццесс 413 00:20:04,010 --> 00:20:07,510 Меморије, а то је тип меморије који се користи када је рачунар 414 00:20:07,510 --> 00:20:11,520 ради али ако изгубите моћ или ваше батерија умре, све што је ускладиштен 415 00:20:11,520 --> 00:20:15,300 у РАМ нестаје ако изгубите моћ заједно, јер то није 416 00:20:15,300 --> 00:20:16,060 упорни. 417 00:20:16,060 --> 00:20:19,120 Обично су, ових дана, свирка тога, два концерта, можда и више. 418 00:20:19,120 --> 00:20:23,490 И наопако РАМ-а је да је много много, много брже од хард дискова 419 00:20:23,490 --> 00:20:27,390 или чак и ССД дискова ових дана, али то је обично скупље, тако 420 00:20:27,390 --> 00:20:28,480 имате мање од тога. 421 00:20:28,480 --> 00:20:32,400 >> Дакле, данашњи разговор стварно односи у РАМ, који тип меморије која 422 00:20:32,400 --> 00:20:35,270 постоји само док постоји снага се уносе у рачунар. 423 00:20:35,270 --> 00:20:40,530 Дакле, када откуцате у Х-Е-Л-Л-О, Ентер на тастатура, БиХ ће у једном 424 00:20:40,530 --> 00:20:44,550 бајтова РАМ, е иде у још један бајт меморије, као што је 425 00:20:44,550 --> 00:20:45,800 остатак речи. 426 00:20:45,800 --> 00:20:49,010 Дакле, подсетимо шта смо могли да је ово последњи пут. 427 00:20:49,010 --> 00:20:53,940 Дозволите ми да иде напред и отворите датотеку које смо звали стринг.ц, и сећам 428 00:20:53,940 --> 00:20:56,860 да је изгледало мало нешто овако. 429 00:20:56,860 --> 00:20:59,860 Дозволите ми заправо врати и промени је да се тачно како је то изгледало, 430 00:20:59,860 --> 00:21:02,654 Дужина низа е. 431 00:21:02,654 --> 00:21:04,560 >> Па погледајте програму овде. 432 00:21:04,560 --> 00:21:08,530 Ми укључују библиотеку, ЦС50 које можемо користити добити стринг. 433 00:21:08,530 --> 00:21:11,400 Ми садрже стандардне ио.х тако да можемо користити инт. 434 00:21:11,400 --> 00:21:13,580 Зашто се укључити стринг.х? 435 00:21:13,580 --> 00:21:16,980 То је било ново у понедељак. 436 00:21:16,980 --> 00:21:18,230 Тако да смо желели Дужина низа. 437 00:21:18,230 --> 00:21:19,090 Стр Ленг. 438 00:21:19,090 --> 00:21:21,470 Људи одлучио година, хајде да буде сажет. 439 00:21:21,470 --> 00:21:24,290 Уместо називајући га "Дужина низа," назовимо га "ул Ленг" и нека 440 00:21:24,290 --> 00:21:28,540 свет то схвати, и тако то шта смо добили приступ са стринг.х. 441 00:21:28,540 --> 00:21:29,390 >> То је познато. 442 00:21:29,390 --> 00:21:30,320 То је познато. 443 00:21:30,320 --> 00:21:31,450 То је познато. 444 00:21:31,450 --> 00:21:32,370 Ово је мало ново. 445 00:21:32,370 --> 00:21:35,420 У 22. реду - и ми ћемо се вратити на ово, али за сада знамо - 446 00:21:35,420 --> 00:21:37,880 а ви само да знате да имају прочитајте документацију или ако 447 00:21:37,880 --> 00:21:39,010 сте већ знали Ц - 448 00:21:39,010 --> 00:21:41,510 добити ниска понекад може упропастити. 449 00:21:41,510 --> 00:21:45,130 Уколико корисник стварно контрадикторно или сарађује и он или она само 450 00:21:45,130 --> 00:21:49,450 не упишете ништа на тастатури или Типови толико на тастатури да 451 00:21:49,450 --> 00:21:53,760 то превазилази меморију рачунара, у теорији, добијају ниска могао да се врати 452 00:21:53,760 --> 00:21:56,270 нешто друго од ниска знакова. 453 00:21:56,270 --> 00:22:01,930 То би могло да се врати посебну вредност која се зове НУЛЛ у свим капе, Н-У-Л-Л, и то је 454 00:22:01,930 --> 00:22:03,390 само тзв Сентинел вредност. 455 00:22:03,390 --> 00:22:08,010 То је посебна вредност која означава нешто лоше десило у овом случају. 456 00:22:08,010 --> 00:22:10,520 То је одсуство низу. 457 00:22:10,520 --> 00:22:16,190 >> Тако нулл Гледам за једноставно, тако да, Укратко, ул Ленг и 458 00:22:16,190 --> 00:22:20,230 друге функције које долазе са Ц, ако они очекују ниску али их прође 459 00:22:20,230 --> 00:22:23,630 одсуство у низу, ако прође их неважећим, рачунар или програм 460 00:22:23,630 --> 00:22:25,000 само ће срушити отворено. 461 00:22:25,000 --> 00:22:25,610 То ће се обесити. 462 00:22:25,610 --> 00:22:27,250 То ће бацити неку поруку о грешци. 463 00:22:27,250 --> 00:22:28,690 Лоше ствари ће се десити. 464 00:22:28,690 --> 00:22:31,130 Дакле, иако је то још увек није добро дефинисан - 465 00:22:31,130 --> 00:22:33,730 то ће имати више смисла за недељу дана или два - у 22. реду, ово је само 466 00:22:33,730 --> 00:22:38,790 пример само одбрамбене проверавање грешака само у једном случају од 467 00:22:38,790 --> 00:22:42,040 милион нешто крене наопако, на барем мој програм неће срушити. 468 00:22:42,040 --> 00:22:45,960 >> Дакле, ако ова не ради једнако нешто лоше, Имам петљу за то, а то је 469 00:22:45,960 --> 00:22:47,710 где смо имали да други Нови део синтаксе. 470 00:22:47,710 --> 00:22:51,580 Имам петљу за итератинг из на нула до дужине с. 471 00:22:51,580 --> 00:22:56,140 И онда овде, био сам одштампа с носач сам, али зашто ја користим Ц% свих 472 00:22:56,140 --> 00:23:00,770 изненадни уместо% с чак иако је ова ниска? 473 00:23:00,770 --> 00:23:02,110 То је знак, зар не? 474 00:23:02,110 --> 00:23:06,560 С је ниска, али с нешто носач, ова конзола ми где је и нула 475 00:23:06,560 --> 00:23:10,380 или један или два, то је индивидуално карактер у низу, и тако за 476 00:23:10,380 --> 00:23:14,970 да, принтф треба да буду информисани да то је заиста лик очекивати. 477 00:23:14,970 --> 00:23:18,096 >> А онда се сетим, шта је ово Програм у ствари ради? 478 00:23:18,096 --> 00:23:19,848 >> Штампано је у колонама. 479 00:23:19,848 --> 00:23:21,120 >> Да, тачно. 480 00:23:21,120 --> 00:23:24,990 То је само штампани реч да ја куцали у колона, један знак по линији. 481 00:23:24,990 --> 00:23:26,190 Па да видимо ово поново. 482 00:23:26,190 --> 00:23:27,810 Тако да стринг. 483 00:23:27,810 --> 00:23:30,200 Саставио реду. / Стринг.. 484 00:23:30,200 --> 00:23:35,560 Дозволите ми тип у Х-Е-Л-Л-О, Ентер, и заиста сам се, један по линији. 485 00:23:35,560 --> 00:23:37,280 >> Па пусти ме да радим овде једну оптимизацију. 486 00:23:37,280 --> 00:23:40,240 Ако мислите о томе, посебно ако програмирао сам раније, ту је 487 00:23:40,240 --> 00:23:43,340 вероватно неефикасност у ред 24. 488 00:23:43,340 --> 00:23:46,160 Другим речима, то није нужно најбољи дизајн. 489 00:23:46,160 --> 00:23:50,200 Једноставно, бар ти једном сећате шта ул Ленг је, али је 490 00:23:50,200 --> 00:23:52,640 ради потенцијално нешто глупо. 491 00:23:52,640 --> 00:23:54,863 Шта би то могло бити? 492 00:23:54,863 --> 00:23:56,280 >> [ИНАУДИБЛЕ]. 493 00:23:56,280 --> 00:23:56,800 >> Тачно. 494 00:23:56,800 --> 00:24:00,340 То је провера за дужину с сваки пут, иако 495 00:24:00,340 --> 00:24:02,980 Х-Е-Л-Л-О ће увек да буде пет знакова. 496 00:24:02,980 --> 00:24:05,490 Сваки пут кроз ову петљу, пет се не мења. 497 00:24:05,490 --> 00:24:08,750 Можда би ми се увецава, али шта је дужина с на сваком 498 00:24:08,750 --> 00:24:09,690 итерација ове петље? 499 00:24:09,690 --> 00:24:15,810 То је пет, то је пет, то је пет, а Још увек сам ипак питам ово 500 00:24:15,810 --> 00:24:18,320 питање изнова и изнова и изнова. 501 00:24:18,320 --> 00:24:20,750 Сада искрено, рачунар је тако проклето брзо, нико неће приметити 502 00:24:20,750 --> 00:24:23,780 Разлика у овом случају, али ове врсте од лошег дизајна одлука може 503 00:24:23,780 --> 00:24:28,330 почети да се саберете и ако је сам компајлер не покушава да поправи ово за вас који 504 00:24:28,330 --> 00:24:30,630 то није обично би, у барем у апарату. 505 00:24:30,630 --> 00:24:31,540 >> Дакле, ја ћу да урадим ово. 506 00:24:31,540 --> 00:24:34,580 Идем да додате зарез после моја прва променљива, ја. 507 00:24:34,580 --> 00:24:37,310 Ја ћу себи дати другу променљива, називајући га н, само 508 00:24:37,310 --> 00:24:41,330 конвенција за бројеве, а онда сам ће доделити н вредност низа 509 00:24:41,330 --> 00:24:42,530 Дужина с. 510 00:24:42,530 --> 00:24:46,060 А онда ћу да промени мој услов да буде шта? 511 00:24:46,060 --> 00:24:51,960 Идем да променим стање И док је за мање од н. 512 00:24:51,960 --> 00:24:55,700 >> Па сад, колико пута сам проверавате дужину с? 513 00:24:55,700 --> 00:25:00,110 Једном, али да је у реду да проверим против н поново и поново, јер сада они 514 00:25:00,110 --> 00:25:03,170 вредности се не мењају ствари. 515 00:25:03,170 --> 00:25:06,020 Сада за сада, само знам да је било када вас позовете функцију, ту је мало 516 00:25:06,020 --> 00:25:09,930 изнад главе, није довољно да вас обесхрабри Заиста се икада користе функције, али 517 00:25:09,930 --> 00:25:12,750 Свакако, када постоји линија кода тако - а линије ће добити 518 00:25:12,750 --> 00:25:15,490 занимљивије пре дуго - где постоји могућност да се мисли, ако 519 00:25:15,490 --> 00:25:18,320 унесите овај код, колико пута ће се извршити? 520 00:25:18,320 --> 00:25:20,950 Ви ћете почети да видите током времена у перформансе ваших програма може 521 00:25:20,950 --> 00:25:21,660 заиста променити. 522 00:25:21,660 --> 00:25:24,110 >> У ствари, један од проблема поставља ми смо учињено у ранијим годинама укључује 523 00:25:24,110 --> 00:25:27,600 спровођење, ако се сећате из недеље нула, правописа, али 524 00:25:27,600 --> 00:25:31,380 Спелл Цхецкер који је дизајниран да подржи речник од 150.000 плус 525 00:25:31,380 --> 00:25:32,860 речи које вам дајемо момци. 526 00:25:32,860 --> 00:25:37,100 Ти би да пишу код који учитава те речи у РАМ, тако да у 527 00:25:37,100 --> 00:25:40,700 кутије као што смо видели на екрану тренутак пре, а затим најбрже што 528 00:25:40,700 --> 00:25:43,740 могу, морате бити у стању да одговори Питање форме, значи ова реч 529 00:25:43,740 --> 00:25:44,280 погрешно? 530 00:25:44,280 --> 00:25:45,420 Да ли је ова реч погрешно? 531 00:25:45,420 --> 00:25:46,770 Да ли је ова реч погрешно? 532 00:25:46,770 --> 00:25:49,525 >> И у тако нешто оно што смо урађено у протеклих година је претворио, 533 00:25:49,525 --> 00:25:53,500 мада на изузимање у факултативни предмет, конкуренција врста, при чему 534 00:25:53,500 --> 00:25:59,470 студенти који користе мање и мање РАМ време, мање процесора, завршити 535 00:25:59,470 --> 00:26:02,640 пенуша до врха мало Лидер одбор или рејтинг који смо ставили на 536 00:26:02,640 --> 00:26:04,770 Курс страница као што смо урађено протеклих година. 537 00:26:04,770 --> 00:26:08,100 Па опет, потпуно необавезно, али то говори за Сугестије 538 00:26:08,100 --> 00:26:11,250 да су пред једном почнемо изградња на врху неке од ових 539 00:26:11,250 --> 00:26:14,010 основни градивни блокови. 540 00:26:14,010 --> 00:26:16,780 >> Дакле, да се вратим на овом дијаграму за само тренутак и откривају мало 541 00:26:16,780 --> 00:26:17,610 нешто више. 542 00:26:17,610 --> 00:26:21,400 Ово је заиста ниска, а ми смо узети Предност неколико библиотека, 543 00:26:21,400 --> 00:26:25,150 ио.х стандард који има - 544 00:26:25,150 --> 00:26:26,110 >> Принтф. 545 00:26:26,110 --> 00:26:27,860 >> Принтф, између осталог. 546 00:26:27,860 --> 00:26:31,540 цс50.х, који се инт и добити низ и тако даље, стринг.х, који 547 00:26:31,540 --> 00:26:32,570 имао ул Ленг. 548 00:26:32,570 --> 00:26:34,800 Али испоставило се да још постоји и други. 549 00:26:34,800 --> 00:26:38,540 Искрено, било је много, много заглављу датотеке које изјављују функције 550 00:26:38,540 --> 00:26:43,320 за библиотеке, али ово је цтипе.х заправо ће нешто бити 551 00:26:43,320 --> 00:26:46,900 повољан, јер ћу да иде напред и спроведе једну 552 00:26:46,900 --> 00:26:48,120 други програм овде. 553 00:26:48,120 --> 00:26:52,420 >> Дозволите ми да иде напред и отвори нешто Написао сам унапред зове 554 00:26:52,420 --> 00:26:55,750 цапитализе.ц, и узмимо Погледајте како се то ради. 555 00:26:55,750 --> 00:27:00,340 Приметите да ја користим, у овој верзији од тога, три познате датотеке. 556 00:27:00,340 --> 00:27:04,110 Приметимо да је у реду 18, ја сам добијање ред текста. 557 00:27:04,110 --> 00:27:07,660 Обавештење у линији 21, ја тврдим да Следећи код ће 558 00:27:07,660 --> 00:27:12,170 с великим словом, без обзира корисник откуца у, и како сам ја томе? 559 00:27:12,170 --> 00:27:13,300 Па, ја водим - 560 00:27:13,300 --> 00:27:14,750 Поука из прошлог времена - 561 00:27:14,750 --> 00:27:18,370 Ја изјављујући И и н и итератинг кроз знакове у низу. 562 00:27:18,370 --> 00:27:22,720 И онда шта је ово блок код у линији 24 до 27. 563 00:27:22,720 --> 00:27:24,550 ради у смислу лаике? 564 00:27:24,550 --> 00:27:27,766 565 00:27:27,766 --> 00:27:29,730 >> Мало слово назад. 566 00:27:29,730 --> 00:27:30,430 >> Тачно. 567 00:27:30,430 --> 00:27:35,920 Ако ова конзола ја - па ако и-ти карактер с, што је специфичан 568 00:27:35,920 --> 00:27:40,220 Чар у низу, је већи од или једнако мала слова и - 569 00:27:40,220 --> 00:27:42,670 сећате тог двоструког амперсанд означавају и - 570 00:27:42,670 --> 00:27:46,810 и исти карактер, а носач И, је мање или једнако мала слова З, 571 00:27:46,810 --> 00:27:50,600 то значи да је или Б или Ц или тачка, тачка, тачка, или З, што значи 572 00:27:50,600 --> 00:27:51,340 то је мала. 573 00:27:51,340 --> 00:27:52,900 Шта желим да урадим у том случају? 574 00:27:52,900 --> 00:27:55,010 Па, ја могу да урадим ово донекле загонетно, али 575 00:27:55,010 --> 00:27:56,160 хајде да зафркавати ово поред. 576 00:27:56,160 --> 00:28:00,210 >> Ја ћу позвати принтф, штампа% Ц јер желим да ово репринт 577 00:28:00,210 --> 00:28:01,580 карактера на екрану. 578 00:28:01,580 --> 00:28:06,650 Ја онда ћу узети с носача Ја, и-ти карактер на-с, а затим зашто 579 00:28:06,650 --> 00:28:12,330 ја радим овде овај мали трик, мала слова а минус капитала? 580 00:28:12,330 --> 00:28:16,352 Шта да ће дати ја генерално, говорећи? 581 00:28:16,352 --> 00:28:18,600 >> [ИНАУДИБЛЕ]. 582 00:28:18,600 --> 00:28:19,390 >> Тачно. 583 00:28:19,390 --> 00:28:20,860 Ја стварно не сећам - 584 00:28:20,860 --> 00:28:24,390 је било за 65 престонице О: Не баш сећате шта је мала, 585 00:28:24,390 --> 00:28:25,540 али нема везе. 586 00:28:25,540 --> 00:28:26,580 Компјутер зна. 587 00:28:26,580 --> 00:28:30,380 Дакле рекавши, мала слова минус капитал, чудно је да се 588 00:28:30,380 --> 00:28:33,530 одузимања један цхар од другог, али шта су слова испод хаубе? 589 00:28:33,530 --> 00:28:34,520 То су само бројеви. 590 00:28:34,520 --> 00:28:36,980 Дакле, шта год ти бројеви су, се рачунар да се сетим 591 00:28:36,980 --> 00:28:38,240 уместо мене људски. 592 00:28:38,240 --> 00:28:41,710 >> Тако мала а минус капитал је ће ми дати разлику. 593 00:28:41,710 --> 00:28:45,370 То се дешава да буде 32, а да би случај за мала и престонице Б Б 594 00:28:45,370 --> 00:28:45,930 и тако даље. 595 00:28:45,930 --> 00:28:47,710 Она остаје доследан, на срећу. 596 00:28:47,710 --> 00:28:51,930 Тако да у суштини кажем, узети мало слово, одузмите са тога 597 00:28:51,930 --> 00:28:55,340 стандардна разлика, и то ефикасно измене с конзола и од 598 00:28:55,340 --> 00:28:59,400 мала слова у, наравно, велика слова, без моје стварно потребе да размишља 599 00:28:59,400 --> 00:29:03,040 око или запамтите, шта су они Бројеви са којима смо разговарали о томе када осам 600 00:29:03,040 --> 00:29:04,800 добровољци дошли на сцену? 601 00:29:04,800 --> 00:29:08,800 Сада је у међувремену, у друго, ако није мало слово јер одређује 602 00:29:08,800 --> 00:29:10,400 24. по реду, само га одштампате. 603 00:29:10,400 --> 00:29:12,590 Ја само желим да додирнете карактера које су 604 00:29:12,590 --> 00:29:14,410 заправо првобитно мала слова. 605 00:29:14,410 --> 00:29:15,150 >> Па да видимо ово. 606 00:29:15,150 --> 00:29:17,400 Маке словом. 607 00:29:17,400 --> 00:29:18,470 Саставио, ОК. 608 00:29:18,470 --> 00:29:19,730 / Великим словом.. 609 00:29:19,730 --> 00:29:23,530 И дозволите ми да укуцате Х-Е-Л-Л-О малим словима, Ентер. 610 00:29:23,530 --> 00:29:26,370 И приметите да се конвертује у великим словима. 611 00:29:26,370 --> 00:29:27,940 Пусти ме да урадим то опет са другачији реч. 612 00:29:27,940 --> 00:29:32,720 Шта мислите о Д-А-В-И-Д са првим Д капитализује као типично име је? 613 00:29:32,720 --> 00:29:33,560 Ентер. 614 00:29:33,560 --> 00:29:34,870 Обратите пажњу на то и даље је тачно. 615 00:29:34,870 --> 00:29:40,250 Само да испоручују први Д непромењен преко које други конструишу. 616 00:29:40,250 --> 00:29:42,170 >> Дакле, имајте на уму, онда, Неколико ствари овде. 617 00:29:42,170 --> 00:29:45,060 Један, ако сте икада желели да проверите два услови одједном, можете их и 618 00:29:45,060 --> 00:29:46,500 заједно као што смо предвидели. 619 00:29:46,500 --> 00:29:49,900 Можете да упоредите знакове на овај начин и ефикасно лечење знаке као 620 00:29:49,900 --> 00:29:53,050 бројеве, али искрено, то је тако проклето криптичан Никад нећу да се сетим 621 00:29:53,050 --> 00:29:56,510 како да дођу до овог од нуле без размишљања кроз њега из сасвим 622 00:29:56,510 --> 00:29:57,140 мало времена. 623 00:29:57,140 --> 00:30:00,590 >> Зар не би било лепо да неко тамо је написао позива функција је 624 00:30:00,590 --> 00:30:05,390 смањити да би прави одговор за мене или лажна, овај лик је мала? 625 00:30:05,390 --> 00:30:09,350 Па срећом, ко год да је написао цтипе.х урадио управо то. 626 00:30:09,350 --> 00:30:15,540 Пусти ме овде и додајте ЦТипе за ц типови, а сада пусти ме доле и 627 00:30:15,540 --> 00:30:18,820 преправи ову линију на следећи начин. 628 00:30:18,820 --> 00:30:27,510 >> Дакле, ако се то зове нижа, ја тврдим, с носач сам, онда ћу да избришете 629 00:30:27,510 --> 00:30:29,400 ове две линије укупно. 630 00:30:29,400 --> 00:30:32,570 Тако да сада неко други, ја се надам, написао функција се зове нижа, и то 631 00:30:32,570 --> 00:30:36,250 Испоставило се да су они урадили и прогласила је унутар цтипе.х. 632 00:30:36,250 --> 00:30:39,480 А сада ћу да одем линије 27 сама, ја ћу да одем линије 31 633 00:30:39,480 --> 00:30:41,890 Само, не приметим колико сам пооштрио свој код. 634 00:30:41,890 --> 00:30:42,690 Сада је чистији. 635 00:30:42,690 --> 00:30:47,250 То је мање тешко гледати кроз јер сада функција, штавише, 636 00:30:47,250 --> 00:30:50,080 тако дивно само по имену ради оно што пише. 637 00:30:50,080 --> 00:30:51,520 >> Сада ћу да сачувате ово. 638 00:30:51,520 --> 00:30:52,930 Идем да умањите. 639 00:30:52,930 --> 00:30:56,650 И баш као у Огреби сте могли Боолеанс, Булове вредности истина или 640 00:30:56,650 --> 00:31:01,530 лажна, то је управо оно што је ефикасно смањити приносе. 641 00:31:01,530 --> 00:31:02,960 Дозволите ми да компајлирате. 642 00:31:02,960 --> 00:31:04,500 Дозволите ми да поново покренете. 643 00:31:04,500 --> 00:31:07,350 А сада хајде да пробамо поново, Х-Е-Л-Л-О, Ентер. 644 00:31:07,350 --> 00:31:07,970 То је прилично добро. 645 00:31:07,970 --> 00:31:10,150 И покушајте поново, да ли сам не зајебеш нешто горе. 646 00:31:10,150 --> 00:31:11,670 То је као добро капитализован. 647 00:31:11,670 --> 00:31:14,190 >> Али, то није довољно добар, јер друга ствар коју ја никада нећу 648 00:31:14,190 --> 00:31:19,090 осим ако се сећате ја радим преко њега заиста пажљиво на, рецимо, рад је 649 00:31:19,090 --> 00:31:19,920 овај проклети линија. 650 00:31:19,920 --> 00:31:23,450 Зар не би било лепо да је било функција зове се горњи? 651 00:31:23,450 --> 00:31:26,930 Па испада тамо је у цтипе.х као добро. 652 00:31:26,930 --> 00:31:30,150 Ја ћу ићи напред и упишите - 653 00:31:30,150 --> 00:31:31,340 дозволите ми да вратимо ту линију. 654 00:31:31,340 --> 00:31:36,430 Уместо тога овде, пусти ме само напред и кажу, замена за% ц 655 00:31:36,430 --> 00:31:42,110 Резултат ове функције позивања на горњи на и-том карактера с. 656 00:31:42,110 --> 00:31:45,430 Запазите сада то постаје мало уравнотежена. 657 00:31:45,430 --> 00:31:48,870 Морам да пратите колико заграде сам отворио и затворио. 658 00:31:48,870 --> 00:31:50,050 >> Дакле, сада је још чистији. 659 00:31:50,050 --> 00:31:53,460 Сада овај програм је све боље и боље дизајниран вероватно зато што је 660 00:31:53,460 --> 00:31:56,450 много, много више него читљиве није ни да је тачно. 661 00:31:56,450 --> 00:31:57,600 Маке словом. 662 00:31:57,600 --> 00:31:58,930 / Великим словом.. 663 00:31:58,930 --> 00:32:03,220 Х-Е-Л-Л-О. Хајде да пробамо поново, Д-В-И-Д. У реду, тако да смо још увек у 664 00:32:03,220 --> 00:32:04,250 доброј сам форми. 665 00:32:04,250 --> 00:32:06,030 >> Али сада се горњи. 666 00:32:06,030 --> 00:32:09,720 Предлажем да постоји још један префињеност можемо учинити да би 667 00:32:09,720 --> 00:32:12,820 стварно лепо, да се заиста затегнути до овог кода и заиста нам пет 668 00:32:12,820 --> 00:32:15,150 од пет за дизајн, на пример. 669 00:32:15,150 --> 00:32:16,510 Шта би било лепо да се ослободи? 670 00:32:16,510 --> 00:32:20,770 Па, погледајте како проклето дуго овај блок код је само да се уради нешто једноставно. 671 00:32:20,770 --> 00:32:23,850 >> Сада као страну, јер можда имате видети у одељку супер прошлог 672 00:32:23,850 --> 00:32:27,570 викенд, не треба стриктно витичасте заграде када сте само једно 673 00:32:27,570 --> 00:32:32,180 линија кода, иако смо предложили држећи их тако да се чини да је много 674 00:32:32,180 --> 00:32:36,190 више јасно, као у Сцратцх је у облику слова У блокови, шта је унутар гране. 675 00:32:36,190 --> 00:32:40,170 Али не би било лепо да се горњи, када је дао свој допринос, временом је постао 676 00:32:40,170 --> 00:32:44,730 велико слово ако није, и шта би бити дивно у супротном случају, ако 677 00:32:44,730 --> 00:32:47,210 то је већ велика? 678 00:32:47,210 --> 00:32:49,620 Само да прође кроз и оставите га на миру. 679 00:32:49,620 --> 00:32:50,660 >> Можда то чини. 680 00:32:50,660 --> 00:32:52,990 Могу да пробам и само се надам То је то, али ме пусти 681 00:32:52,990 --> 00:32:54,450 увести још једну ствар. 682 00:32:54,450 --> 00:32:57,440 Уместо да користите ове уграђене у терминал прозор овде, сећам се да 683 00:32:57,440 --> 00:33:01,130 овај црни квадрат икона вам даје већи прозор терминала који могу да пуна 684 00:33:01,130 --> 00:33:02,260 екрану ако хоћу? 685 00:33:02,260 --> 00:33:05,820 Тако испада да су некако чудновато име, али има ствари које се зову те 686 00:33:05,820 --> 00:33:10,970 ман странице, странице за упуство, цовек за кратко, и ја могу да приступе тим од 687 00:33:10,970 --> 00:33:14,515 куцање човек - 688 00:33:14,515 --> 00:33:15,570 Шта желим да куцате? 689 00:33:15,570 --> 00:33:17,830 Човек на горњи. 690 00:33:17,830 --> 00:33:21,090 >> А сада приметити ако постоји функционише унутар рачунара, у 691 00:33:21,090 --> 00:33:23,970 овом случају апарат, који је само Линук оперативни систем, то ће 692 00:33:23,970 --> 00:33:27,920 да ми дају нешто шифровану сет излаз, али ћете наћи више времена да 693 00:33:27,920 --> 00:33:31,720 Увек се форматира прилично Исто тако почнете да се навикнеш на то. 694 00:33:31,720 --> 00:33:35,130 Обратите пажњу на врху у горњи, а очигледно је иста документација 695 00:33:35,130 --> 00:33:35,680 за ниже. 696 00:33:35,680 --> 00:33:38,740 Ко год да је написао да је брала углови и стави све на једној страници. 697 00:33:38,740 --> 00:33:40,720 Сврха ове ствари 'у живот је за конверзију 698 00:33:40,720 --> 00:33:42,780 писмо горњи или мала. 699 00:33:42,780 --> 00:33:46,290 >> Обратите пажњу да је под Синопсис, човек страница је ме учи шта ја имам фајл 700 00:33:46,290 --> 00:33:48,130 да укључи да ово користи. 701 00:33:48,130 --> 00:33:51,320 То ми даје потписе за ове функција, како од њих, чак и 702 00:33:51,320 --> 00:33:53,510 иако смо сада само стало један. 703 00:33:53,510 --> 00:33:54,730 Овде је сада опис. 704 00:33:54,730 --> 00:33:58,800 За горњи претвара писмо Ц у велика ако је могуће. 705 00:33:58,800 --> 00:34:02,280 >> Ипак то није поучно, али допустите ми да Сада погледајте под повратне вредности, ствар 706 00:34:02,280 --> 00:34:03,520 то је враћена. 707 00:34:03,520 --> 00:34:08,600 Дакле, вредност врати јесте претворена писмо или ц ако 708 00:34:08,600 --> 00:34:09,870 конверзија није било могуће. 709 00:34:09,870 --> 00:34:11,202 Шта је Ц? 710 00:34:11,202 --> 00:34:12,560 >> Оригинални карактер. 711 00:34:12,560 --> 00:34:15,370 >> Оригинални карактер и знамо да је, опет, иде до 712 00:34:15,370 --> 00:34:19,179 синопсис, и ко год да је ово написао функција управо одлучио да улаз 713 00:34:19,179 --> 00:34:22,909 да се горњи и доњи да је само самовољно ће да се зове Ц. 714 00:34:22,909 --> 00:34:24,909 Могли су га звали највише било они желе, али су га држали 715 00:34:24,909 --> 00:34:26,270 једноставан као ц. 716 00:34:26,270 --> 00:34:27,880 Тако сам консултовао ман страница. 717 00:34:27,880 --> 00:34:31,870 Ова реченица ме уверава да ће, ако то није мало слово, то је 718 00:34:31,870 --> 00:34:34,969 ће да ме врати Ц, која се савршена, што значи да могу да се отарасим 719 00:34:34,969 --> 00:34:36,199 моје друго стање. 720 00:34:36,199 --> 00:34:39,679 >> Дакле, да се вратим на гедит, и Сада дозволите ми да урадим ово. 721 00:34:39,679 --> 00:34:41,960 Ја ћу да копирам принтф изјаву. 722 00:34:41,960 --> 00:34:45,969 Ја ћу ићи напред и право у петље за штампу да се, и добити 723 00:34:45,969 --> 00:34:48,760 ослободити од сада ову целину ако конструкт. 724 00:34:48,760 --> 00:34:51,860 Није била лоша идеја, а то је веома много исправан и у складу са 725 00:34:51,860 --> 00:34:54,100 све што смо проповедали, али једноставно није потребно. 726 00:34:54,100 --> 00:34:57,070 Чим схватите неке библиотеке функција постоји да је неко други 727 00:34:57,070 --> 00:35:01,340 написао, или можда сте написали на другом месту у датотеку, можете да је користите и стварно 728 00:35:01,340 --> 00:35:02,690 почети да затегнете код. 729 00:35:02,690 --> 00:35:06,080 >> А када кажем ствари као добар стил, Чињеница да је ова особа зове 730 00:35:06,080 --> 00:35:11,490 функционишу на горњи, или је претходно нижа је предивно корисна јер 731 00:35:11,490 --> 00:35:12,900 они су врло описно. 732 00:35:12,900 --> 00:35:16,120 Не желите да позовете своје функције Кс и И и З, који имају 733 00:35:16,120 --> 00:35:19,620 много, много мање значење. 734 00:35:19,620 --> 00:35:25,160 Сва питања о тој серији побољшања? 735 00:35:25,160 --> 00:35:28,010 >> Дакле, довољно је рећи један од Такеаваис је чак и ваш проблем 736 00:35:28,010 --> 00:35:30,960 сет - можда Проблем један скуп, али свакако П сет два и надаље, чак 737 00:35:30,960 --> 00:35:34,380 када су тачно не мора Мислим да су савршени само 738 00:35:34,380 --> 00:35:36,155 Још увек или посебно добро дизајниран. 739 00:35:36,155 --> 00:35:38,420 То је друга оса на почну да размишљају о томе. 740 00:35:38,420 --> 00:35:41,730 Дакле, ово је ниска унутар вашег Меморија рачунара, али ако имате 741 00:35:41,730 --> 00:35:46,180 гомила ликова попут Х-Е-Л-Л-О у РАМ, и претпостављам 742 00:35:46,180 --> 00:35:51,330 које у свом програму позовите се стринг више пута су вас да 743 00:35:51,330 --> 00:35:54,200 позива се стринг једанпут, онда зовем се стринг. 744 00:35:54,200 --> 00:35:55,880 Па, шта ће се десити током времена? 745 00:35:55,880 --> 00:35:59,170 >> Другим речима, ако имате линију код, мада из контекста, као 746 00:35:59,170 --> 00:36:02,120 Стринг с добија - 747 00:36:02,120 --> 00:36:02,960 Хајде да урадимо ово. 748 00:36:02,960 --> 00:36:05,270 Стринг једнако се стринг. 749 00:36:05,270 --> 00:36:08,590 Дакле, претпостављам да је линија кода се мисли да пита корисника за његово име. 750 00:36:08,590 --> 00:36:14,580 Ова следећа линија кода је требало да питате упутство за његов школи, и 751 00:36:14,580 --> 00:36:15,920 овај следећи ред, и тако даље. 752 00:36:15,920 --> 00:36:18,150 Претпоставимо да смо стално питате упутство за другу и 753 00:36:18,150 --> 00:36:19,750 још један и још један стринг. 754 00:36:19,750 --> 00:36:22,390 Они ће остати у сећању у исто време. 755 00:36:22,390 --> 00:36:24,280 Једна неће обућар друге. 756 00:36:24,280 --> 00:36:26,420 Школа се не замени други. 757 00:36:26,420 --> 00:36:28,520 Али где они раде све завршити у меморији? 758 00:36:28,520 --> 00:36:32,030 >> Па, ако почнемо да се ослоне на екрану, које можемо да искористимо ову ствар 759 00:36:32,030 --> 00:36:35,800 Овде као табли, ако је то црна правоугаоник представља мог рачунара 760 00:36:35,800 --> 00:36:39,800 меморије, ја ћу почети произвољно делећи га у мале квадрате, 761 00:36:39,800 --> 00:36:42,120 од којих сваки представља један бајт меморије. 762 00:36:42,120 --> 00:36:46,560 Искрено, ако имате гигабајт РАМ ових дана, имате милијарду бајтова 763 00:36:46,560 --> 00:36:49,540 меморије у рачунару, тако милијарде од ових квадрата. 764 00:36:49,540 --> 00:36:52,110 Дакле, довољно је рећи, ово није баш на нивоу. 765 00:36:52,110 --> 00:36:58,250 >> Али, можемо задржати цртање свих ових очигледно нису у сразмери квадрата, и то 766 00:36:58,250 --> 00:37:01,260 колективно представља мој рачунар меморија. 767 00:37:01,260 --> 00:37:03,136 Сада ћу учинити тачка, тачка, тачка. 768 00:37:03,136 --> 00:37:06,260 Дакле, другим речима, када сам сада подстакне Корисник са гет стринг да ми дају 769 00:37:06,260 --> 00:37:07,350 ниска, шта се дешава? 770 00:37:07,350 --> 00:37:14,270 Ако корисник упише у "здраво", који се завршава у Х-Е-Л-Л-О. Али, претпоставимо 771 00:37:14,270 --> 00:37:15,720 корисник онда типови у - 772 00:37:15,720 --> 00:37:17,250 заправо, није требало да уради здраво јер ми тражимо 773 00:37:17,250 --> 00:37:18,330 их за њихова имена. 774 00:37:18,330 --> 00:37:20,580 Па хајде да се вратимо, ако ја могу да урадим ово. 775 00:37:20,580 --> 00:37:26,130 >> Дакле, ако сам тип у Д-А-В-И-Д за име моје, али сећам се да је друга линија 776 00:37:26,130 --> 00:37:29,220 код је добити стринг да добију своје школе. 777 00:37:29,220 --> 00:37:32,090 Где је та реч коју корисник типова у да идем следеће? 778 00:37:32,090 --> 00:37:38,290 Па, можда ће то ићи у -Х-Р-В-Р-Д. Па иако имам 779 00:37:38,290 --> 00:37:41,560 нацртана је као два реда, ово је само гомила бајтова у вашој 780 00:37:41,560 --> 00:37:42,710 рачунара РАМ. 781 00:37:42,710 --> 00:37:46,560 Ту је проблем сада јер сад ако сам ја користи РАМ на ово веома разуман 782 00:37:46,560 --> 00:37:49,910 али некако наивно начин, шта можете да очигледно не разликују? 783 00:37:49,910 --> 00:37:52,640 784 00:37:52,640 --> 00:37:54,680 Где почиње и где један се завршава, зар не? 785 00:37:54,680 --> 00:37:55,860 Некако су замагљују заједно. 786 00:37:55,860 --> 00:37:57,920 >> Тако испада рачунар не ради ово. 787 00:37:57,920 --> 00:38:04,720 Дозволите ми заправо помицати у прошлост а Неколико знакова, а уместо Харварду 788 00:38:04,720 --> 00:38:09,570 ће одмах након имена корисника, корисник добија заправо, иза 789 00:38:09,570 --> 00:38:12,000 сцене, специјални знак убаци по 790 00:38:12,000 --> 00:38:13,885 компјутер за њега или њу. 791 00:38:13,885 --> 00:38:19,470 / 0, иначе познат као нул карактер љутито зове Н-У-Л, не 792 00:38:19,470 --> 00:38:22,190 Н-У-Л-Л, али ви то пишете као / 0. 793 00:38:22,190 --> 00:38:27,130 То је све нула битова је маркер у између прве речи које је корисник 794 00:38:27,130 --> 00:38:28,290 откуцан и други. 795 00:38:28,290 --> 00:38:33,020 >> Тако Харварду заправо сада завршава као овог низа знакова 796 00:38:33,020 --> 00:38:36,110 и још један / 0. 797 00:38:36,110 --> 00:38:41,690 Дакле, другим речима, тако што ови сентинел вредности, осам граниче нула 798 00:38:41,690 --> 00:38:45,220 бита, сада можете почети да праве разлику један лик из другог. 799 00:38:45,220 --> 00:38:49,720 Дакле, све ово време шта је "здраво" је ствари "здраво" са / 0, и 800 00:38:49,720 --> 00:38:53,580 У међувремену, можда врло добро бити веома мало више РАМ 801 00:38:53,580 --> 00:38:56,400 унутрашњост рачунара. 802 00:38:56,400 --> 00:38:57,810 >> Пусти ме да се још једна ствар. 803 00:38:57,810 --> 00:39:01,800 Испоставило се да су сви ови квадрата смо цртање, они су, да, 804 00:39:01,800 --> 00:39:06,140 жице, али генерално, ове ствари су низови. 805 00:39:06,140 --> 00:39:10,590 Низ је само комад меморије то бацк то бацк враћа се назад, 806 00:39:10,590 --> 00:39:15,130 а ви обично користе ред путем овог заграда нотацији. 807 00:39:15,130 --> 00:39:18,210 Дакле, ми ћемо то да видимо доста током времена, али дозволите ми да иде напред и 808 00:39:18,210 --> 00:39:21,160 отвори, назовимо то доба. 809 00:39:21,160 --> 00:39:23,920 А погледајте шта можемо урадити са ти исти трикови, мало 810 00:39:23,920 --> 00:39:25,750 мало синтакса овде. 811 00:39:25,750 --> 00:39:29,270 >> Дакле, у реду 17. овог програма - у ствари, дозволите ми прво покрените програм 812 00:39:29,270 --> 00:39:30,770 тако да можемо да видимо шта је ова ствар ради. 813 00:39:30,770 --> 00:39:33,530 Дозволите ми да зовем векови да би састављање овог програма. 814 00:39:33,530 --> 00:39:34,950 / Узраста.. 815 00:39:34,950 --> 00:39:36,480 Колико је у соби? 816 00:39:36,480 --> 00:39:38,020 Назовите то троје. 817 00:39:38,020 --> 00:39:39,575 Фазе првом лицу? 818 00:39:39,575 --> 00:39:42,710 18, 19, и 20.. 819 00:39:42,710 --> 00:39:46,770 А сада нешто смешно, само сам су направили програм који векове оне 820 00:39:46,770 --> 00:39:47,740 троје људи. 821 00:39:47,740 --> 00:39:50,390 >> Дакле, јасно је да је прилика за неке забаве аритметике овде. 822 00:39:50,390 --> 00:39:51,560 Срећом, математика је тачно. 823 00:39:51,560 --> 00:39:54,720 18 отишао до 19, 19 је на 20 и тако даље. 824 00:39:54,720 --> 00:39:58,510 Али оно што је заиста требало да буде Илустративан ево како смо складиштење 825 00:39:58,510 --> 00:40:00,190 узраста од та три народа. 826 00:40:00,190 --> 00:40:02,370 Дозволите ми да зумирате на шта је овде дешава. 827 00:40:02,370 --> 00:40:06,240 >> Дакле, прво, ових првих неколико редова треба добити прилично познато. 828 00:40:06,240 --> 00:40:08,770 Само пита корисника за број људи у соби. 829 00:40:08,770 --> 00:40:11,490 Затим сам се помоћу инт и радити док се ово опет и опет и опет. 830 00:40:11,490 --> 00:40:15,780 Видели смо раније да је образац, али линија 27 је нов и прилично 831 00:40:15,780 --> 00:40:18,160 користан, и да ће постати све корисно. 832 00:40:18,160 --> 00:40:21,620 Обратите пажњу на то што је другачије у линији 27. је да изгледа да се проглашава 833 00:40:21,620 --> 00:40:23,960 инт називају доба, али сачекајте. 834 00:40:23,960 --> 00:40:27,140 То није само инт узраста. 835 00:40:27,140 --> 00:40:30,130 Постоји та угластим заградама, унутар којих је н. 836 00:40:30,130 --> 00:40:35,150 >> Дакле носач н у овом контексту, не унутар једне принтф изјаве овде, али 837 00:40:35,150 --> 00:40:44,370 у овој једини линији 27, ова линија је говорећи, дај ми н ИНТС, од којих свака 838 00:40:44,370 --> 00:40:46,080 је типа инт. 839 00:40:46,080 --> 00:40:49,870 Дакле, ово је канта, да тако кажем, о, у овом случају, пре три цели бројеви на 840 00:40:49,870 --> 00:40:52,770 бацк то бацк, тако да сам практично имају три варијабле. 841 00:40:52,770 --> 00:40:54,890 Алтернатива, да се јасно, то би било. 842 00:40:54,890 --> 00:40:57,400 >> Да сам хтео први студент је старости, могао бих да урадим ово. 843 00:40:57,400 --> 00:40:59,520 Да сам хтео други ученик је год сам могао урадити. 844 00:40:59,520 --> 00:41:01,860 Да сам хтео трећи ученик је старости, могао бих да урадим ово. 845 00:41:01,860 --> 00:41:04,320 И не дај Боже да сви ми треба старост у овој соби - 846 00:41:04,320 --> 00:41:07,670 Мислим, ово је јако пуно за копије, пасте опет и опет и опет. 847 00:41:07,670 --> 00:41:10,870 И плус сам једном састави овај програм, ако други ученик иде у више од 848 00:41:10,870 --> 00:41:14,200 на та врата, сада је мој број променљивих је нетачан. 849 00:41:14,200 --> 00:41:17,450 >> Дакле, оно што је лепо у вези низа је као чим почнете да осећате себе 850 00:41:17,450 --> 00:41:20,190 копирање и лепљење, шансе су да је није најбољи приступ. 851 00:41:20,190 --> 00:41:22,240 Низ је потенцијално динамичан. 852 00:41:22,240 --> 00:41:24,610 Ја не знам унапред колико људи ће бити у соби, 853 00:41:24,610 --> 00:41:28,670 али ја знам да ми је потребно н од њих, и ја ћу схватим н када за то дође време. 854 00:41:28,670 --> 00:41:35,500 Ова линија кода сада значи, ми комад меморије која изгледа овако 855 00:41:35,500 --> 00:41:40,380 где је број поља на екрану у потпуности зависи од н који 856 00:41:40,380 --> 00:41:42,010 корисник унесе 857 00:41:42,010 --> 00:41:44,850 >> Тако је сада остатак овог програма је заправо прилично слично ономе што смо 858 00:41:44,850 --> 00:41:46,860 Управо сам са ликовима. 859 00:41:46,860 --> 00:41:49,970 Приметити Имам петљу за са почетком у 30 реду. 860 00:41:49,970 --> 00:41:54,920 Тако да је одмах добијем низ, ја прелазили из и једнака нули на до н. 861 00:41:54,920 --> 00:41:58,890 Имам само ово поучно принтф порука само говорећи, ми старости 862 00:41:58,890 --> 00:42:03,690 лица # И%, па број један, број два, број три. 863 00:42:03,690 --> 00:42:04,730 А зашто сам ово урадио? 864 00:42:04,730 --> 00:42:08,870 Искрено, људи воле да броји од један Он Уп док информатичаре, 865 00:42:08,870 --> 00:42:09,620 нула на горе. 866 00:42:09,620 --> 00:42:11,700 компјутерски научници се неће користе ову врсту програма, тако да смо 867 00:42:11,700 --> 00:42:13,990 ће само почети да броји на једном као нормални људи. 868 00:42:13,990 --> 00:42:17,630 >> А сада у реду 33, приметити благо другачији комад синтаксе. 869 00:42:17,630 --> 00:42:23,710 И-тог доба у тој променљивој типа низ ће добити инт. 870 00:42:23,710 --> 00:42:25,770 И сада на крају, ово је само аритметика овде. 871 00:42:25,770 --> 00:42:29,200 Одлучио сам у посебном петље тврде неко време пролази, а сада у ово 872 00:42:29,200 --> 00:42:31,400 одвојена петља, ове линије извршавају. 873 00:42:31,400 --> 00:42:35,810 >> За годину дана, особа коју ћу бити година, али то није приметио 874 00:42:35,810 --> 00:42:36,500 Променљива и. 875 00:42:36,500 --> 00:42:38,390 Ово је сада% сам за инт. 876 00:42:38,390 --> 00:42:43,210 И обавештење као први чувар места, ја прикључите И плус 1, па рачунамо као 877 00:42:43,210 --> 00:42:44,250 нормална особа. 878 00:42:44,250 --> 00:42:49,190 А онда за вредност њиховог узраста, за та година, узимам узраста брацкет 879 00:42:49,190 --> 00:42:52,980 И - и зашто то радим, плус један овде? 880 00:42:52,980 --> 00:42:53,760 Управо су старости. 881 00:42:53,760 --> 00:42:55,030 То ми је глупо избор програма. 882 00:42:55,030 --> 00:42:56,810 Они су само стара годину дана. 883 00:42:56,810 --> 00:42:59,770 Ја писао у сваком том броју Ја заправо желим тамо. 884 00:42:59,770 --> 00:43:02,430 >> Дакле, шта је заправо све релевантност овде? 885 00:43:02,430 --> 00:43:07,610 Па, дозволите ми заправо помицати назад овде и дају слику 886 00:43:07,610 --> 00:43:10,830 шта се налази испред. 887 00:43:10,830 --> 00:43:15,720 Оно што ћемо радити са нашим следећа Проблем је поставио два опробам у 888 00:43:15,720 --> 00:43:17,070 свет криптографије. 889 00:43:17,070 --> 00:43:22,500 Дакле, ово је низ знакова, тако редослед више карактера, и шта 890 00:43:22,500 --> 00:43:23,750 то говори? 891 00:43:23,750 --> 00:43:28,530 892 00:43:28,530 --> 00:43:30,600 То није у онлине верзији од слајдова. 893 00:43:30,600 --> 00:43:35,880 >> Дакле, ја тврдим да је то једнако ово, глупа реклама из многих година 894 00:43:35,880 --> 00:43:39,950 пре да би заправо сећам једна од свог порекла. 895 00:43:39,950 --> 00:43:42,740 Дакле, ово је пример шифровања или криптографија. 896 00:43:42,740 --> 00:43:46,150 Испоставило се да, ако желите да заправо слање информација или делили 897 00:43:46,150 --> 00:43:49,310 Информације са неким безбедно, као порука као што је овај, можете 898 00:43:49,310 --> 00:43:50,500 јагма писма. 899 00:43:50,500 --> 00:43:53,170 Али обично, речи су Није случајно закључан. 900 00:43:53,170 --> 00:43:56,365 Они се пермутованим на неки начин мења или на неки начин, тако да - Упс. 901 00:43:56,365 --> 00:43:59,040 То је забавно спојлер за следећи пут. 902 00:43:59,040 --> 00:44:04,390 >> Тако да можете мапирати оно што је очигледно О до Б. Приметимо да се линија 903 00:44:04,390 --> 00:44:05,420 Капитализација-мудар. 904 00:44:05,420 --> 00:44:07,960 Очигледно Р постаје е. 905 00:44:07,960 --> 00:44:14,000 Очигледно Ф-В-Е-Р постаје С-У-Р-Е. Тако Испоставило се да је мапирање, а у 906 00:44:14,000 --> 00:44:18,720 овом случају постоји прилично глуп мапирање ако је неко схватио? 907 00:44:18,720 --> 00:44:21,440 То је нешто што се зове Рот 13, 13 ротирање. 908 00:44:21,440 --> 00:44:24,760 То је најглупља од енкрипције механизми јер буквално само 909 00:44:24,760 --> 00:44:29,160 додаје 13 на сваки једном од писама, глупа у смислу да, ако сте управо 910 00:44:29,160 --> 00:44:31,890 имају мало слободног времена на рукама и оловка, или само мислите да је 911 00:44:31,890 --> 00:44:35,260 кроз главу, можете да покушате сви могући додаци - Један, два, 912 00:44:35,260 --> 00:44:38,470 три, тачка, тачка, тачка, само 25 ротирати цео алфабет, и 913 00:44:38,470 --> 00:44:40,860 на крају, ви ћете схватити шта ова порука. 914 00:44:40,860 --> 00:44:43,700 Дакле, ако сте тако нешто урадили у основна школа пролази поруке у свој 915 00:44:43,700 --> 00:44:46,830 најбољи пријатељ, ако је ваша основна школа наставник једноставно прочитате 916 00:44:46,830 --> 00:44:50,320 порука и грубе приморан решење, можда сте стечен 917 00:44:50,320 --> 00:44:52,550 одговор за то. 918 00:44:52,550 --> 00:44:54,970 >> Сада, наравно, у стварном свету, криптографија је софистициранији. 919 00:44:54,970 --> 00:45:00,120 Ово је одломак из текста рачунарски систем који има корисничко име и 920 00:45:00,120 --> 00:45:03,630 лозинке, као и скоро сви до наше, и ово је оно што сте лозинку могао 921 00:45:03,630 --> 00:45:07,260 изгледати ако су сачувани на хард возити али у шифрованом облику. 922 00:45:07,260 --> 00:45:11,050 Ово није само ротација писама, Је Б и Б је Ц. Ово је 923 00:45:11,050 --> 00:45:15,620 много софистицираније, али користи оно што је опште познато као тајног кључа 924 00:45:15,620 --> 00:45:16,690 криптографија. 925 00:45:16,690 --> 00:45:20,210 Ова слика говори следеће Прича са неколико икона. 926 00:45:20,210 --> 00:45:22,250 >> Са леве стране, имамо шта ћемо звати чисти текст. 927 00:45:22,250 --> 00:45:25,420 У свету криптографије, обичан текст је само оригинална порука 928 00:45:25,420 --> 00:45:29,050 написан на енглеском или француском језику или било какву језику. 929 00:45:29,050 --> 00:45:32,405 Ако желите да је шифровање, ми ћемо проћи то сликовито кроз катанцем, тако 930 00:45:32,405 --> 00:45:35,580 неке од врста алгоритма, неки функција или програм који је неко написао 931 00:45:35,580 --> 00:45:39,880 Надамо се да шифрује слова цомплицатедли више него само додавањем 13 932 00:45:39,880 --> 00:45:40,980 за сваки од њих. 933 00:45:40,980 --> 00:45:43,780 >> Оно што се из тог процеса у средини се зове ципхертект. 934 00:45:43,780 --> 00:45:44,850 Дакле, нека врста секси речи. 935 00:45:44,850 --> 00:45:47,630 То само значи да је шифрована верзија чистог текста. 936 00:45:47,630 --> 00:45:52,570 И само ако имате ту исту тајну, 13 или минус 13, да ли можете да 937 00:45:52,570 --> 00:45:54,970 дешифровање порука тако. 938 00:45:54,970 --> 00:45:57,770 >> Дакле, у задатку поставили две, међу стварима ћете урадити ако у Хацкер 939 00:45:57,770 --> 00:46:01,860 Издање, мораћете да пишу код за црацк ове лозинке, фигуринг 940 00:46:01,860 --> 00:46:05,170 шта су и како су кодиран, иако ми ти дати мало 941 00:46:05,170 --> 00:46:06,460 смернице на путу. 942 00:46:06,460 --> 00:46:09,320 У Стандард Едитион, уводимо неколико шифара, енкрипција 943 00:46:09,320 --> 00:46:12,400 механизми, једна се зове Цезар, један зове Вижнерова, да су и даље 944 00:46:12,400 --> 00:46:16,100 ротационе шифре где постаје нешто, Б постаје нешто, али 945 00:46:16,100 --> 00:46:18,820 то морате да урадите програмски јер заиста ће бити тајна 946 00:46:18,820 --> 00:46:22,840 кључ укључени које је обично број или кључна реч која само 947 00:46:22,840 --> 00:46:26,420 пошиљалац и прималац ових поруке треба да схвате. 948 00:46:26,420 --> 00:46:28,660 >> Сада, ово заправо има отеловљења у стварном свету. 949 00:46:28,660 --> 00:46:32,910 То, на пример, је сироче Анние је тајна декодер прстен, а ви 950 00:46:32,910 --> 00:46:35,180 заиста могу да примене их ротационе шифре - 951 00:46:35,180 --> 00:46:37,930 Постаје нешто, Б постаје нешто - са неколико точкова, 952 00:46:37,930 --> 00:46:40,840 један споља, један изнутра таква да ако окрените точкић или 953 00:46:40,840 --> 00:46:44,170 прстен, ви у ствари можете поређати слова са различитим словима, 954 00:46:44,170 --> 00:46:45,430 добијање тајну шифру. 955 00:46:45,430 --> 00:46:48,110 И тако, као Цлиффхангер за данас, оно што сам мислио да је то мало 956 00:46:48,110 --> 00:46:52,170 атавизам да ако укључите телевизор 24. децембра, можете да гледате 957 00:46:52,170 --> 00:46:55,390 Филм оглас за наусеум 24 сата за редом. 958 00:46:55,390 --> 00:47:06,030 Али данас, ја ћу га отворити овде и дају нам само два минута 959 00:47:06,030 --> 00:47:13,493 педагошки релевантне Цхристмас Стори са малим пријатељом званим Ралфи. 960 00:47:13,493 --> 00:47:14,400 >> [ВИДЕО РЕПРОДУКЦИЈА] 961 00:47:14,400 --> 00:47:17,420 >> -Да се ​​зна све и сушен на сунцу да Ралф Паркер се именује 962 00:47:17,420 --> 00:47:20,650 члан сироче Ени тајне круг и има право на све 963 00:47:20,650 --> 00:47:23,460 почасти и користи јавља с'тим. 964 00:47:23,460 --> 00:47:25,990 >> -Потписан, Литтле Орпхан Анние. 965 00:47:25,990 --> 00:47:30,100 Потписано, Пиерре Андре мастилом. 966 00:47:30,100 --> 00:47:34,270 Већ почасти и користи на девет година. 967 00:47:34,270 --> 00:47:39,440 >> [Виче РАДИУ] 968 00:47:39,440 --> 00:47:40,770 >> Хајде, хајде да завршимо са тим. 969 00:47:40,770 --> 00:47:44,965 Не треба све те глупости о сверцери и гусара. 970 00:47:44,965 --> 00:47:48,270 >> -Слушај сутра увече за закључивање авантура црно 971 00:47:48,270 --> 00:47:49,650 гусарског брода. 972 00:47:49,650 --> 00:47:53,320 Сада је време за Сецрет Анние Порука за вас чланове 973 00:47:53,320 --> 00:47:55,720 тајног круга. 974 00:47:55,720 --> 00:47:56,580 Запамтите, децу. 975 00:47:56,580 --> 00:48:01,720 Само чланови Сецрет Цирцле Анние може декодирати Анние тајну поруку. 976 00:48:01,720 --> 00:48:05,872 Запамтите, Ени је у зависности од вас. 977 00:48:05,872 --> 00:48:08,670 Поставите пинове на Б2. 978 00:48:08,670 --> 00:48:11,000 Овде је порука. 979 00:48:11,000 --> 00:48:12,335 12, 11, 2 - 980 00:48:12,335 --> 00:48:14,670 >> -Ја сам у свом првом тајном састанку. 981 00:48:14,670 --> 00:48:19,720 >> -25, 14, 11, 18, 16 - 982 00:48:19,720 --> 00:48:21,650 >> -Пјер је био у великој гласа вечерас. 983 00:48:21,650 --> 00:48:24,830 Могао сам поруку да вечерашњи је заиста важно. 984 00:48:24,830 --> 00:48:26,400 >> -3, 25. 985 00:48:26,400 --> 00:48:28,540 То је порука од Анние сама. 986 00:48:28,540 --> 00:48:30,086 Запамтите, немојте никоме рећи. 987 00:48:30,086 --> 00:48:34,370 988 00:48:34,370 --> 00:48:38,710 >> -90 Секунди касније, ја сам у јединој соби у кући у којој дечак од девет 989 00:48:38,710 --> 00:48:42,668 могли да седи у приватност и декодирати. 990 00:48:42,668 --> 00:48:47,628 Аха, Б. отишао сам на другу. 991 00:48:47,628 --> 00:48:53,060 Е. Прва реч је "да". С Долазило је лакше сада. 992 00:48:53,060 --> 00:48:54,980 У. 25. 993 00:48:54,980 --> 00:48:55,940 То је Р. 994 00:48:55,940 --> 00:48:56,900 >> -Хајде, Ралпхие. 995 00:48:56,900 --> 00:48:57,860 Морам да идем. 996 00:48:57,860 --> 00:48:59,780 >> -Одмах се доле, мама. 997 00:48:59,780 --> 00:49:01,030 Бого мој. 998 00:49:01,030 --> 00:49:04,300 999 00:49:04,300 --> 00:49:08,220 >> -Т. О. Обавезно. 1000 00:49:08,220 --> 00:49:09,500 Будите сигурни на шта? 1001 00:49:09,500 --> 00:49:11,660 Шта је Литтле Орпхан Ени хоћете да кажете? 1002 00:49:11,660 --> 00:49:12,844 Будите сигурни на шта? 1003 00:49:12,844 --> 00:49:14,732 >> -Ралфи, Ренди мора да иде. 1004 00:49:14,732 --> 00:49:16,148 Хоћеш ли изаћи? 1005 00:49:16,148 --> 00:49:17,092 >> -У реду, мама. 1006 00:49:17,092 --> 00:49:18,510 Одмах напоље. 1007 00:49:18,510 --> 00:49:20,270 >> -Ја сам се ближи сада. 1008 00:49:20,270 --> 00:49:21,823 Тензија је била ужасна. 1009 00:49:21,823 --> 00:49:23,045 Шта је то било? 1010 00:49:23,045 --> 00:49:26,510 Судбина планете може држати у равнотежи. 1011 00:49:26,510 --> 00:49:28,985 >> -Ралфи, Ренди да идем. 1012 00:49:28,985 --> 00:49:32,680 >> -Одмах се се за забога. 1013 00:49:32,680 --> 00:49:33,956 >> -Скоро тамо. 1014 00:49:33,956 --> 00:49:35,140 Моји прсти летели. 1015 00:49:35,140 --> 00:49:36,880 Мој ум је био челика замка. 1016 00:49:36,880 --> 00:49:38,010 Свака пора вибрира. 1017 00:49:38,010 --> 00:49:39,878 Било је скоро јасно. 1018 00:49:39,878 --> 00:49:43,210 Да, да, да, да, да. 1019 00:49:43,210 --> 00:49:49,030 >> -Будите сигурни да пије своју Овалтине. 1020 00:49:49,030 --> 00:49:50,280 Овалтине? 1021 00:49:50,280 --> 00:49:53,980 1022 00:49:53,980 --> 00:49:55,230 Бедан комерцијални? 1023 00:49:55,230 --> 00:49:58,572 1024 00:49:58,572 --> 00:50:00,694 Курвин син. 1025 00:50:00,694 --> 00:50:01,900 >> [ЕНД ВИДЕО РЕПРОДУКЦИЈА] 1026 00:50:01,900 --> 00:50:04,260 >> СПИКЕР 1: Ово је ЦС50, и то Проблем ће бити поставили две. 1027 00:50:04,260 --> 00:50:06,305 Видимо се следеће недеље. 1028 00:50:06,305 --> 00:50:08,800 >> СПИКЕР 2: У следећа ЦС50, то се дешава. 1029 00:50:08,800 --> 00:50:11,060 >> СПИКЕР 1: Дакле, једна тема нисмо Погледао је до сада 1030 00:50:11,060 --> 00:50:12,220 да од функције показивача. 1031 00:50:12,220 --> 00:50:14,540 Сада, функција је само показивач адреса јавног 1032 00:50:14,540 --> 00:50:17,000 функција, али слично као - 1033 00:50:17,000 --> 00:50:18,250 син - 1034 00:50:18,250 --> 00:50:19,670