1 00:00:00,000 --> 00:00:02,880 >> [Музички] 2 00:00:02,880 --> 00:00:10,580 3 00:00:10,580 --> 00:00:13,500 >> ЗВУЧНИЦИ 1: Ова е CS50 и ова е почеток на две недела. 4 00:00:13,500 --> 00:00:18,400 Значи, ајде да се нурне во право во нешто тоа е кабриолет, така да се каже. 5 00:00:18,400 --> 00:00:24,015 Значи, овде е CS50 IDE и јас сум зафрла однапред оваа screen-- проклето 6 00:00:24,015 --> 00:00:25,070 тоа. 7 00:00:25,070 --> 00:00:25,760 Тревога. 8 00:00:25,760 --> 00:00:26,260 Во ред. 9 00:00:26,260 --> 00:00:29,060 Сум го зафрла овој екран тука, која има еден многу едноставна програма. 10 00:00:29,060 --> 00:00:32,659 Ако ние се движите надолу, повеќето ова е само коментари, 11 00:00:32,659 --> 00:00:36,730 но тука во линии 13 преку 17 имаме програма. 12 00:00:36,730 --> 00:00:40,580 >> Тоа е синтаксички валидна, што значи дека ако Ми се собере, тоа ќе ги собере и да ја стартувате, 13 00:00:40,580 --> 00:00:41,920 но тоа е кабриолет. 14 00:00:41,920 --> 00:00:47,330 Оваа програма се тврди во коментари до врвот дека тоа треба да се печати 10 ѕвезди, 15 00:00:47,330 --> 00:00:48,870 но тоа не го прави. 16 00:00:48,870 --> 00:00:53,290 И врз основа на вашето искуство, или наскоро ќе биде искуство со Ц, 17 00:00:53,290 --> 00:00:56,820 може да ви логично спознае зошто ова е, всушност, кабриолет? 18 00:00:56,820 --> 00:00:57,804 Да? 19 00:00:57,804 --> 00:00:59,220 ПУБЛИКАТА: Тоа оди од нула до 10. 20 00:00:59,220 --> 00:01:01,884 Тоа е 11 повторувања. 21 00:01:01,884 --> 00:01:02,550 ЗВУЧНИЦИ 1: Да. 22 00:01:02,550 --> 00:01:06,030 Значи, тоа се случува од нула до преку и еднакви на 10, 23 00:01:06,030 --> 00:01:08,140 што секако е 11 повторувања. 24 00:01:08,140 --> 00:01:10,020 Значи, тоа се случува да печатење, навистина, 11 ѕвезди. 25 00:01:10,020 --> 00:01:13,040 Значи, на конвенцијата на компјутерски науки во повеќето програмски јазици 26 00:01:13,040 --> 00:01:15,270 е, всушност, само за да почне пребројување на нула, 27 00:01:15,270 --> 00:01:18,800 но смета до но не преку вредноста што всушност се грижи за. 28 00:01:18,800 --> 00:01:21,216 >> Сега, ова е едно нешто што Потребно е малку се користи за добивање 29 00:01:21,216 --> 00:01:25,350 па дури и гребење, со цел како што е за не програмери или не компјутер 30 00:01:25,350 --> 00:01:28,070 научниците и за деца во голема мера, е со цел да се има 31 00:01:28,070 --> 00:01:29,570 ќе почнете пребројување обично на еден. 32 00:01:29,570 --> 00:01:30,277 И тоа е во ред. 33 00:01:30,277 --> 00:01:33,110 Апсолутно можете да почнат да бројат во една, ако тоа е поудобно. 34 00:01:33,110 --> 00:01:37,210 И бројат до и до 10, но ќе сфатите особено оваа недела 35 00:01:37,210 --> 00:01:39,950 и повеќе од тоа само така се многу нешта во програмирање 36 00:01:39,950 --> 00:01:42,465 Претпоставуваме дека 0 е прв цифрениот со која може да смета, 37 00:01:42,465 --> 00:01:45,590 дека си оди за да биде полесно само за да се влезе во оваа навика на почетна 38 00:01:45,590 --> 00:01:49,490 од нула и броење до вредноста вие се грижите за право сега од 39 00:01:49,490 --> 00:01:49,990 се оди. 40 00:01:49,990 --> 00:01:50,990 >> Значи, тоа е фиксна тоа. 41 00:01:50,990 --> 00:01:53,670 Ние го променивме помала или изнесува само помалку од. 42 00:01:53,670 --> 00:01:56,050 Ајде да ги разгледаме во втор пример тука. 43 00:01:56,050 --> 00:01:59,585 >> Така, оваа програма исто така тврди дека во неговата коментари до врвот дека тоа треба да се печати 44 00:01:59,585 --> 00:02:02,260 десет ѕвезди, но тоа не се случи. 45 00:02:02,260 --> 00:02:05,540 Што е бубачка тука? 46 00:02:05,540 --> 00:02:07,930 >> Значи, what-- и жал, ајде да бидеме јасни. 47 00:02:07,930 --> 00:02:08,610 10 ѕвезди. 48 00:02:08,610 --> 00:02:11,644 Еден на линија, но тоа не го прави. 49 00:02:11,644 --> 00:02:14,810 Така, всушност, дозволете ми да оди напред и да ги собере овој еден, бидејќи тоа е нешто помалку 50 00:02:14,810 --> 00:02:16,900 јасно врз основа на тој опис. 51 00:02:16,900 --> 00:02:18,720 Дозволете ми да одиме во нашиот извор директориум. 52 00:02:18,720 --> 00:02:25,110 Направи кабриолет една точка коса црта, кабриолет еден. 53 00:02:25,110 --> 00:02:28,680 Добро, гледам 11 ѕвезди, кои се уште е проблематична, 54 00:02:28,680 --> 00:02:30,090 но тие се исто така сите во една линија. 55 00:02:30,090 --> 00:02:31,500 Што е, станува збор? 56 00:02:31,500 --> 00:02:32,339 Је. 57 00:02:32,339 --> 00:02:33,255 ПУБЛИКАТА: [Беззвучен]. 58 00:02:33,255 --> 00:02:36,194 59 00:02:36,194 --> 00:02:36,860 ЗВУЧНИЦИ 1: Да. 60 00:02:36,860 --> 00:02:40,210 Значи ова е суптилност кои може да потсетиме ме прави кратко споменување на. 61 00:02:40,210 --> 00:02:42,793 И покрај тоа што изгледа убава, а тоа е убаво вовлечен, 62 00:02:42,793 --> 00:02:45,850 и тој вид на изгледа како гребење со тоа што линијата 16 и 17 се, 63 00:02:45,850 --> 00:02:47,600 навистина, вовлечен под тоа за телефонска линија. 64 00:02:47,600 --> 00:02:48,400 Тоа е важно. 65 00:02:48,400 --> 00:02:50,460 Компјутерот не знаат или се види белиот простор. 66 00:02:50,460 --> 00:02:52,910 Бел простор е само за нас луѓето, стилски. 67 00:02:52,910 --> 00:02:57,010 Компјутерот не знае кога ќе имаат големи загради, што би, навистина, 68 00:02:57,010 --> 00:02:58,280 го надминете овој проблем. 69 00:02:58,280 --> 00:03:02,350 >> Значи, ако ние всушност отиде во и експлицитно се стави во овие големи загради 70 00:03:02,350 --> 00:03:05,220 што ќе го надминете овој проблем од страна на ставајќи јасно до знаење на компајлерот 71 00:03:05,220 --> 00:03:07,930 дека јас всушност сакаат да се изврши две линии на код, повторно, 72 00:03:07,930 --> 00:03:09,220 и повторно, и повторно. 73 00:03:09,220 --> 00:03:11,680 Но она што е основно образложение? 74 00:03:11,680 --> 00:03:12,180 Нели? 75 00:03:12,180 --> 00:03:15,260 Ние не треба строго големи загради цело време, 76 00:03:15,260 --> 00:03:18,210 иако тоа е веројатно најдобро пракса за да се влезе во таа навика секој случај 77 00:03:18,210 --> 00:03:20,878 и покрај тоа што таа го додава на две знаци во вашиот код. зошто? 78 00:03:20,878 --> 00:03:22,380 >> ПУБЛИКАТА: [Беззвучен]? 79 00:03:22,380 --> 00:03:24,630 ЗВУЧНИЦИ 1: Да, така што е друго решение заедно. 80 00:03:24,630 --> 00:03:25,130 Нели? 81 00:03:25,130 --> 00:03:28,250 Особено ако на прв поглед не се направи навистина го цениме она што се случува. 82 00:03:28,250 --> 00:03:31,070 Па, сигурно би можеле само да се направи две работи одеднаш 83 00:03:31,070 --> 00:03:32,710 и само да се избегне проблемот целосно. 84 00:03:32,710 --> 00:03:36,080 И тоа е во ред, но сега, за денешните потреби, што 85 00:03:36,080 --> 00:03:38,200 е објаснувањето за грешка? 86 00:03:38,200 --> 00:03:39,810 Зошто сите тие ѕвезди на една линија? 87 00:03:39,810 --> 00:03:40,806 Да? 88 00:03:40,806 --> 00:03:43,296 >> ПУБЛИКАТА: Се чини дека ако имате една линија код, 89 00:03:43,296 --> 00:03:46,649 можете да го направите без оние. 90 00:03:46,649 --> 00:03:47,440 ЗВУЧНИЦИ 1: Токму така. 91 00:03:47,440 --> 00:03:48,750 Ова е само човечка конгресот. 92 00:03:48,750 --> 00:03:50,750 Луѓето да сфатат дека тоа е малку досадни или мачна 93 00:03:50,750 --> 00:03:53,470 мора да се стави на големи загради сите дел од времето ако само сакате да се направи 94 00:03:53,470 --> 00:03:55,090 се изврши една линија код. 95 00:03:55,090 --> 00:03:57,660 Значи, луѓето одлучија некои одамна дека тоа е во ред. 96 00:03:57,660 --> 00:04:01,180 Ако сакате да се стави сите на вашиот циклус за само дека една линија, како таков, 97 00:04:01,180 --> 00:04:04,030 тоа е во ред со синглот запирката на крајот. 98 00:04:04,030 --> 00:04:07,210 Но можете да направите само една таква линија без големите загради. 99 00:04:07,210 --> 00:04:09,900 >> Значи, кога CS50 стил водич како што ќе ви укаже, 100 00:04:09,900 --> 00:04:11,980 ќе видите дека, генерално, тоа е добра навика 101 00:04:11,980 --> 00:04:14,920 да влезат во оваа додека не сте сосема удобно скршнуваат 102 00:04:14,920 --> 00:04:17,404 од овие видови на конвенциите и прави што сакаш. 103 00:04:17,404 --> 00:04:18,820 Толку долго како што себе си доследни. 104 00:04:18,820 --> 00:04:21,540 И ние ќе разговараме повеќе за стил А малку подоцна денес. 105 00:04:21,540 --> 00:04:23,200 >> Па, дозволете ми да се отвори една друга програма. 106 00:04:23,200 --> 00:04:24,930 Се разбира, ние треба да поправите тоа 10, како и. 107 00:04:24,930 --> 00:04:32,470 Дозволете ми да оди напред и да пишува вистински брзо програма дека јас ќе се јавам, 108 00:04:32,470 --> 00:04:38,140 да речеме, јамка точка C. Значи, јамка dot Ц. И во јамка точка Ц, ќе одам да имаат, 109 00:04:38,140 --> 00:04:41,970 вклучуваат стандардни I / O точка H int главната неважечки. 110 00:04:41,970 --> 00:04:44,020 И сега ајде да се направи, навистина, еден циклус. 111 00:04:44,020 --> 00:04:46,020 Значи, 4 int i добива нула. 112 00:04:46,020 --> 00:04:48,660 Јас е помала од, да речеме, 50. 113 00:04:48,660 --> 00:04:49,950 Јас плус, плус. 114 00:04:49,950 --> 00:04:53,350 А потоа и во Еве ајде оди напред и да се печатат Ф. 115 00:04:53,350 --> 00:04:56,400 А потоа сакам да се печати јас и се додава нова алинеја, точка-запирка. 116 00:04:56,400 --> 00:05:00,015 >> И ова треба да се печати сите броеви од нула до 50? 117 00:05:00,015 --> 00:05:02,900 118 00:05:02,900 --> 00:05:03,680 Неколку главата движења. 119 00:05:03,680 --> 00:05:04,270 Неколку бр. 120 00:05:04,270 --> 00:05:05,339 Она што е веќе на грешка? 121 00:05:05,339 --> 00:05:06,630 Што е лесно грешка сум направил? 122 00:05:06,630 --> 00:05:07,170 Је. 123 00:05:07,170 --> 00:05:08,544 >> ПУБЛИКАТА: [Беззвучен]. 124 00:05:08,544 --> 00:05:09,210 ЗВУЧНИЦИ 1: Да. 125 00:05:09,210 --> 00:05:11,520 Па дури и покрај тоа што изгледа како што тоа е она што јас имам намера, 126 00:05:11,520 --> 00:05:13,920 потсетиме дека јас, исто така, само е ASCII карактер. 127 00:05:13,920 --> 00:05:14,955 >> Значи, ако кажам печати "јас" 128 00:05:14,955 --> 00:05:16,670 Тоа е буквално оди И. печати Значи, ако јас 129 00:05:16,670 --> 00:05:20,030 сакате да го приклучиш во случаеви вредност јас всушност треба да го направите ова 130 00:05:20,030 --> 00:05:22,630 а потоа приклучете го вредноста на Јас динамично. 131 00:05:22,630 --> 00:05:25,200 Инаку јас сум само ќе добијат 50 е на екранот. 132 00:05:25,200 --> 00:05:28,140 >> Па, дозволете ми да оди напред и да направи овој циклус, да го стартуваш, 133 00:05:28,140 --> 00:05:30,650 и, навистина, сите ние имаме пат до преку 49. 134 00:05:30,650 --> 00:05:34,140 И ако јас дојдете назад во времето гледам бројот нула на почетокот. 135 00:05:34,140 --> 00:05:36,050 >> Па, што ако јас вид на заебеш? 136 00:05:36,050 --> 00:05:37,800 Што ако го направам тоа? 137 00:05:37,800 --> 00:05:40,120 Само затоа што јас не сум размислување. 138 00:05:40,120 --> 00:05:40,970 Што не е во оваа програма. 139 00:05:40,970 --> 00:05:43,970 Откако повторно се собираат и да се кандидира, случува да се направи логично? 140 00:05:43,970 --> 00:05:44,870 >> ПУБЛИКАТА: Ништо. 141 00:05:44,870 --> 00:05:45,661 >> ЗВУЧНИЦИ 1: Ништо. 142 00:05:45,661 --> 00:05:47,156 Зошто е тоа? 143 00:05:47,156 --> 00:05:49,124 >> ПУБЛИКАТА: Се е наменета за нула. 144 00:05:49,124 --> 00:05:51,899 Значи, состојбата е лажна. 145 00:05:51,899 --> 00:05:52,940 ЗВУЧНИЦИ 1: Да, точно. 146 00:05:52,940 --> 00:05:55,110 Сите код е точен, синтаксички. 147 00:05:55,110 --> 00:05:57,310 Ова ќе ги собере, овој Кодот ќе се кандидира, но тоа не е 148 00:05:57,310 --> 00:06:00,110 случува да се направи нешто корисно затоа што јас можам да го иницијализирам на нула. 149 00:06:00,110 --> 00:06:02,240 Ние тогаш проверете, што е повеќе од 50? 150 00:06:02,240 --> 00:06:03,810 Очигледно, не, тоа не е. 151 00:06:03,810 --> 00:06:05,760 Така циклусот никогаш извршува на сите. 152 00:06:05,760 --> 00:06:09,580 >> Што ако правиме нешто малку повеќе несовесно? 153 00:06:09,580 --> 00:06:12,890 Значи, она што ако тоа го правиме како int i добива нула. 154 00:06:12,890 --> 00:06:15,640 А сега дозволете ми да го користите додека јамка, што беше уште еден услов. 155 00:06:15,640 --> 00:06:21,810 И додека јас се каже, а јас е поголема од или еднаква на нула, а потоа и во тука јас 156 00:06:21,810 --> 00:06:26,070 оди напред и да ја зачувате датотеката, направи јамка. 157 00:06:26,070 --> 00:06:27,070 И јас сум за да ја стартувате. 158 00:06:27,070 --> 00:06:30,230 Што сум јас ќе го видите овој време со додека јамка? 159 00:06:30,230 --> 00:06:30,852 Је. 160 00:06:30,852 --> 00:06:32,120 >> ПУБЛИКАТА: бесконечна јамка? 161 00:06:32,120 --> 00:06:35,360 >> ЗВУЧНИЦИ 1: бесконечна јамка? 162 00:06:35,360 --> 00:06:36,662 Да, и зошто? 163 00:06:36,662 --> 00:06:38,120 ПУБЛИКАТА: Затоа што тоа е секогаш нула. 164 00:06:38,120 --> 00:06:38,786 ЗВУЧНИЦИ 1: Да. 165 00:06:38,786 --> 00:06:40,100 Значи, јас се иницијализира како нула. 166 00:06:40,100 --> 00:06:44,470 Се разбира дека секогаш е поголемо од или еднакво на 0, како резултат. 167 00:06:44,470 --> 00:06:46,460 Значи, јас сум само ќе види ова бескрајно. 168 00:06:46,460 --> 00:06:49,850 И сега, ова дојде откако или двапати да шефовите на курсот. 169 00:06:49,850 --> 00:06:52,417 Што се случува кога ќе се имаат бесконечна јамка? 170 00:06:52,417 --> 00:06:53,314 >> ПУБЛИКАТА: Контрола Ц. 171 00:06:53,314 --> 00:06:53,980 ЗВУЧНИЦИ 1: Да. 172 00:06:53,980 --> 00:06:56,250 Па Контрола С крајот ќе одговори. 173 00:06:56,250 --> 00:06:59,520 За жал, ние сме испечати милиони и милиони нули веќе 174 00:06:59,520 --> 00:07:01,520 и така на компјутерот има вид на доби пред мене. 175 00:07:01,520 --> 00:07:03,394 Значи, тоа се случува да се игнорира мене за малку. 176 00:07:03,394 --> 00:07:06,560 Но ако сте само удри Контрола С неколку пати на вашиот Mac или PC тастатура, 177 00:07:06,560 --> 00:07:08,790 на крајот треба, навистина, да го прекине. 178 00:07:08,790 --> 00:07:11,770 А ако не, ние ќе ви покажеме некои техники пред долго време, каде што 179 00:07:11,770 --> 00:07:14,850 всушност може на сила да го убие програми, слично како во Windows и Mac OS, 180 00:07:14,850 --> 00:07:15,562 ако е потребно. 181 00:07:15,562 --> 00:07:16,770 Но, ајде да се обиде нешто друго. 182 00:07:16,770 --> 00:07:19,895 Ајде да всушност прираст I. Е ова сè уште нема да биде бесконечна? 183 00:07:19,895 --> 00:07:22,870 184 00:07:22,870 --> 00:07:25,140 Дозволете ми да ја извршите оваа. 185 00:07:25,140 --> 00:07:27,090 И сега можете да вид на види што се случува. 186 00:07:27,090 --> 00:07:30,140 Ова, исто така, е бесконечна јамка. 187 00:07:30,140 --> 00:07:33,080 Но, ова е малку трик прашање. 188 00:07:33,080 --> 00:07:35,460 Е ова се случува да се печати и бројот засекогаш? 189 00:07:35,460 --> 00:07:36,647 >> ПУБЛИКАТА: Не 190 00:07:36,647 --> 00:07:37,230 ЗВУЧНИЦИ 1: Не 191 00:07:37,230 --> 00:07:37,620 Зошто? 192 00:07:37,620 --> 00:07:38,820 Слушнав некои бр овде. 193 00:07:38,820 --> 00:07:41,859 Someone-- Да. 194 00:07:41,859 --> 00:07:44,275 ПУБЛИКАТА: Немате доволно битови за да навистина се насочи. 195 00:07:44,275 --> 00:07:44,730 ЗВУЧНИЦИ 1: Во ред. 196 00:07:44,730 --> 00:07:46,000 Па јас немам доволно битови да се насочи. 197 00:07:46,000 --> 00:07:47,124 Значи, она што ќе се случи? 198 00:07:47,124 --> 00:07:49,320 Тоа е само ќе да се запре? 199 00:07:49,320 --> 00:07:52,542 >> ПУБЛИКАТА: Во одреден момент тоа ќе се исклучи the-- 200 00:07:52,542 --> 00:07:54,500 ЗВУЧНИЦИ 1: Тоа ќе се исклучи јамка долу, но зошто? 201 00:07:54,500 --> 00:07:57,950 Што ќе се случи на самиот крај на своите граници? 202 00:07:57,950 --> 00:07:58,479 Да? 203 00:07:58,479 --> 00:08:00,520 ПУБЛИКАТА: Тоа ќе циклус назад кон негативните бројки. 204 00:08:00,520 --> 00:08:02,900 ЗВУЧНИЦИ 1: Да се ​​негативни броеви, или ако бевме само лекување на позитивен, 205 00:08:02,900 --> 00:08:03,570 нула барем. 206 00:08:03,570 --> 00:08:04,550 Така да, апсолутно. 207 00:08:04,550 --> 00:08:08,059 Потсетиме дека видовме последен пат дека ако прираст вашиот битови еден многу пати, 208 00:08:08,059 --> 00:08:10,225 и таму прв план претекување капацитетот на вашиот int 209 00:08:10,225 --> 00:08:13,058 или било кој вид на податоци е, ти си ќе заврши околу, веројатно, 210 00:08:13,058 --> 00:08:14,020 две негативни броеви. 211 00:08:14,020 --> 00:08:16,644 Или ако сте го прилагодите Вашиот опсег треба да биде позитивен само, 212 00:08:16,644 --> 00:08:18,560 која може да се направи, но не сум видел дека сеуште, 213 00:08:18,560 --> 00:08:21,420 може да заврши најмалку назад на нула. 214 00:08:21,420 --> 00:08:22,410 Иако, всушност, да. 215 00:08:22,410 --> 00:08:24,320 Во овој случај, негативни броеви, во кој случај 216 00:08:24,320 --> 00:08:26,870 јамка се случува да се прекине затоа што не е, всушност, 217 00:08:26,870 --> 00:08:29,220 поголема од или еднаква на нула ако е негативен. 218 00:08:29,220 --> 00:08:31,780 >> Значи, за жал, како долго ќе мора да чекаме? 219 00:08:31,780 --> 00:08:35,490 Токму сега ние сме до она, 2 милиони-носталгичната? 220 00:08:35,490 --> 00:08:37,705 Ние сме како 2 милијарди долари, ние се случува да мора да почека 221 00:08:37,705 --> 00:08:39,330 додека, всушност, може да се види овој симптом. 222 00:08:39,330 --> 00:08:46,200 Но можеме да го видиме малку побрзо, maybe-- ајде да видиме дали може да се прекине. 223 00:08:46,200 --> 00:08:46,700 Ајде. 224 00:08:46,700 --> 00:08:49,500 225 00:08:49,500 --> 00:08:51,331 Дури и во менијата се појавуваат бавно. 226 00:08:51,331 --> 00:08:51,830 Во ред. 227 00:08:51,830 --> 00:08:54,270 Значи, ние ќе се вратам на тоа пред долго. 228 00:08:54,270 --> 00:08:56,320 Тоа е добра time-- ѓаволите, кученца. 229 00:08:56,320 --> 00:08:58,280 >> Тоа е добро време за некои најави. 230 00:08:58,280 --> 00:09:01,225 Значи, ако ви се допаѓа да се вклучат во YHack, 231 00:09:01,225 --> 00:09:03,600 кој е еден настан да се биде спонзорирана од страна на нашите пријатели на Јеил. 232 00:09:03,600 --> 00:09:05,990 И, навистина, некои од курсот TFS на Јеил се вклучени со оваа. 233 00:09:05,990 --> 00:09:08,610 YHack е меѓународен hack-а-thon хостиран од страна и се одржа 234 00:09:08,610 --> 00:09:12,395 на Јеил, ги здружи 1500 истомисленици хакери и сите текстови 235 00:09:12,395 --> 00:09:13,120 целиот свет. 236 00:09:13,120 --> 00:09:14,610 Ако ова е од интерес, погледнете тука. 237 00:09:14,610 --> 00:09:17,401 Ако ова е премногу кратко на екран, да погледнам во денешниот слајдови 238 00:09:17,401 --> 00:09:19,622 за URL за yhack.org. 239 00:09:19,622 --> 00:09:21,080 Значи, исто така, неколку брзи известувања. 240 00:09:21,080 --> 00:09:24,410 Значи, официјално ќе почне секции следната недела и тука и во Њу Хејвен. 241 00:09:24,410 --> 00:09:27,660 Имајте на ум ќе се добива еден е-маил подоцна овој викенд најверојатно. 242 00:09:27,660 --> 00:09:29,390 Тоа трае долго време за CS50 со делот, 243 00:09:29,390 --> 00:09:32,080 со оглед на сите луѓе во класа и секој се движат наоколу. 244 00:09:32,080 --> 00:09:34,871 И сите настава соработниците " планови се исто така уште зацврстувањето, 245 00:09:34,871 --> 00:09:38,110 но Stay tuned за е-мејл и ако има потреба да, може да се ре-дел има после. 246 00:09:38,110 --> 00:09:39,580 >> Study.cs50.net. 247 00:09:39,580 --> 00:09:43,280 Значи, дури и ако сте постојано присутниот во делови, сфаќаат дека речиси сите 248 00:09:43,280 --> 00:09:46,786 од средствата се користат во деловите се јавно достапни на CS50 249 00:09:46,786 --> 00:09:48,460 Студираат на овој URL тука. 250 00:09:48,460 --> 00:09:51,630 Значи, ако некогаш сакаш да се ре преглед материјал од дел, или за читање напред, 251 00:09:51,630 --> 00:09:54,170 или не можете да го направите некои недела, сфатат дека примерокот слајдови, 252 00:09:54,170 --> 00:09:58,210 и проблеми, и дефиниции, и повеќе се сите таму, како и. 253 00:09:58,210 --> 00:10:00,645 >> Работното време да продолжи и денес, и утре, и среда, 254 00:10:00,645 --> 00:10:03,020 и четврток се провери на курсот Интернет страница за распоред. 255 00:10:03,020 --> 00:10:05,690 >> И, исто така, сега за лансирање денес е CS50 разговараат. 256 00:10:05,690 --> 00:10:09,230 Па, ако и кога имате прашања за едни со други или за персоналот на курсот, 257 00:10:09,230 --> 00:10:12,099 и обично се работи на некој проблем во собата, 258 00:10:12,099 --> 00:10:15,015 сфати дека вие не мора да се мора да се сврти кон човековите следната вас. 259 00:10:15,015 --> 00:10:17,810 Ако нема никој таму, можете да допрат до нас и соучениците 260 00:10:17,810 --> 00:10:19,890 преку интернет на CS50 разговараат. 261 00:10:19,890 --> 00:10:22,600 Значи, ова е дискусија одборот за курсот, 262 00:10:22,600 --> 00:10:24,550 и да се сфати дека овој е можеби најдобриот 263 00:10:24,550 --> 00:10:28,480 место да се започне, кога имаш прашања, кога надвор од работното време 264 00:10:28,480 --> 00:10:29,470 особено. 265 00:10:29,470 --> 00:10:31,070 >> Ручеци ќе започнат оваа недела премногу. 266 00:10:31,070 --> 00:10:33,170 Во Оган и мраз [Беззвучен] во Њу Хејвен. 267 00:10:33,170 --> 00:10:35,379 Фрлите поглед на курсот веб-страница, со цел да RSVP. 268 00:10:35,379 --> 00:10:36,753 Прв дојден, прв служат за тоа. 269 00:10:36,753 --> 00:10:39,380 Ако не се добие во оваа недела ние ќе направиме овие повеќето секој петок 270 00:10:39,380 --> 00:10:40,400 за време на мандатот. 271 00:10:40,400 --> 00:10:41,830 >> Добро, а сега ни збор за оценување. 272 00:10:41,830 --> 00:10:44,690 Особено како што влезе проблем постави еден, кој е надвор од оваа недела, 273 00:10:44,690 --> 00:10:46,670 и проблем во собата два и потоа. 274 00:10:46,670 --> 00:10:51,680 Како да одиме за оценување на P сетови и оценување на квалитетот на истите? 275 00:10:51,680 --> 00:10:55,560 Значи, тоа е четири оски кои се користат во CS50, а тие се овие четири тука. 276 00:10:55,560 --> 00:10:59,200 >> Обемот, која снима на нумерички основа само колку на сетот на P 277 00:10:59,200 --> 00:10:59,860 си се справи. 278 00:10:59,860 --> 00:11:02,890 Тоа е грубо соодветствува со напор, и тоа е нашиот начин на снимање 279 00:11:02,890 --> 00:11:05,190 се обидовте половина од P постави, сите на сетот P. 280 00:11:05,190 --> 00:11:08,860 Ова е лесна да се добие совршен оценките ако не, навистина, 281 00:11:08,860 --> 00:11:11,020 се обиде на секој аспект на сет P. 282 00:11:11,020 --> 00:11:12,010 Значи, да ги задржи дека во умот. 283 00:11:12,010 --> 00:11:13,420 >> Коректност е токму тоа. 284 00:11:13,420 --> 00:11:17,760 Дали вашиот код да работи како спецификацијата и како решение примерок штабови " 285 00:11:17,760 --> 00:11:19,730 укажуваат на тоа дека вашиот код треба да се, всушност, се работи. 286 00:11:19,730 --> 00:11:23,260 Проверете 50, ако не сте го сретнав сепак, е во P поставите една спецификација 287 00:11:23,260 --> 00:11:25,060 и, генерално ќе се ви даде да / не одговори 288 00:11:25,060 --> 00:11:26,518 за тоа дали вашиот код е точен. 289 00:11:26,518 --> 00:11:30,680 Барем колку што ние ќе треба да се оцени тоа врз основа на тестови 290 00:11:30,680 --> 00:11:32,430 дека ние се кандидира во рамките на таа програма. 291 00:11:32,430 --> 00:11:33,850 >> Дизајнот е многу повеќе субјективни. 292 00:11:33,850 --> 00:11:35,994 Ова е како добро напишани е вашиот код. 293 00:11:35,994 --> 00:11:38,410 И ова е нешто што ќе се подобри во текот на времето, 294 00:11:38,410 --> 00:11:41,201 и тоа е нешто што ние ќе обезбедат поквалитетни повратни информации. 295 00:11:41,201 --> 00:11:43,350 А од страна на дизајнот би можел значи пред долго ќе 296 00:11:43,350 --> 00:11:47,650 би можеле да бидат доведени во искушение во некои P во собата да се направи нешто loopingly, 297 00:11:47,650 --> 00:11:51,590 но да се има можеби три, или четири, или пет вгнездени јамки израз или вгнездени додека 298 00:11:51,590 --> 00:11:52,090 петелки. 299 00:11:52,090 --> 00:11:54,130 Кои обично треба да да почне да ве натера да раболепнича 300 00:11:54,130 --> 00:11:56,070 и, генерално, ќе биде смета за лош дизајн. 301 00:11:56,070 --> 00:11:59,490 И ќе почне да се види во класа и надвор од класа добри начини на вршење на работите, 302 00:11:59,490 --> 00:12:02,920 лоши начини на вршење на работите што сите може да биде точна, но не 303 00:12:02,920 --> 00:12:04,304 нужно добро дизајниран. 304 00:12:04,304 --> 00:12:05,220 Како пишување на есеј. 305 00:12:05,220 --> 00:12:08,100 Може да биде во можност да се стави зборови по страница, која се граматички точни, 306 00:12:08,100 --> 00:12:10,016 но есеј или Тезата дека тие се во е само 307 00:12:10,016 --> 00:12:11,810 целосно неповрзани или неубедливи. 308 00:12:11,810 --> 00:12:15,930 И така ова може да биде аналоген на напишано светот на лош или добар дизајн. 309 00:12:15,930 --> 00:12:18,490 >> И стил, исто така, е прилично субјективна. 310 00:12:18,490 --> 00:12:20,060 Но барем можеме да очекуваме конзистентност. 311 00:12:20,060 --> 00:12:21,480 Ова е како прилично е вашиот код. 312 00:12:21,480 --> 00:12:22,840 Се работи убаво вовлечен? 313 00:12:22,840 --> 00:12:26,600 Дали вашите променливи добро име / Дали сите на вашиот загради и големите загради 314 00:12:26,600 --> 00:12:27,920 усогласени како што треба? 315 00:12:27,920 --> 00:12:31,490 Ние имаме водич CS50 стил како множество проблем ќе ви точка во. 316 00:12:31,490 --> 00:12:33,730 Оние кои се чувствуваат поудобно се добредојде да скитници од кои 317 00:12:33,730 --> 00:12:35,771 толку долго како што се само во согласност. 318 00:12:35,771 --> 00:12:38,020 И ова, исто така, е лекција ние ќе се зајакне во делот. 319 00:12:38,020 --> 00:12:40,990 Значи, ако сето ова е малку брзо, ги реализира зацртаните P и делови 320 00:12:40,990 --> 00:12:42,900 ќе одат во повеќе длабочина пред долго. 321 00:12:42,900 --> 00:12:45,490 >> Но генерално имаме многу малку кофи за CS50. 322 00:12:45,490 --> 00:12:48,170 Резултати се генерално, на скала од еден до три, или еден до пет. 323 00:12:48,170 --> 00:12:50,836 Ние сме literally-- и не можам да кажам ова е доволно, во првата недела. 324 00:12:50,836 --> 00:12:51,582 Три е добро. 325 00:12:51,582 --> 00:12:54,290 Значи, иако, да, и тоа три од пет нормално, математички, 326 00:12:54,290 --> 00:12:57,240 би можело да биде за 60 проценти или како Д минус. 327 00:12:57,240 --> 00:12:58,840 Три е, всушност, се добри. 328 00:12:58,840 --> 00:13:01,050 И дека, всушност, ние очекуваме повеќето студенти во класата 329 00:13:01,050 --> 00:13:04,280 да започнете на терминот околу twos, а тројца, и четири. 330 00:13:04,280 --> 00:13:05,510 Веројатно не толку многу петки. 331 00:13:05,510 --> 00:13:06,661 Не премногу оние. 332 00:13:06,661 --> 00:13:08,910 Но генерално треба да започне во дека слатката точка на кривата 333 00:13:08,910 --> 00:13:11,694 така што како времето напредува, има всушност простор за, 334 00:13:11,694 --> 00:13:13,360 и можности за напредување во горниот. 335 00:13:13,360 --> 00:13:15,810 Значи, немојте да се изедначуваат три со 60%. 336 00:13:15,810 --> 00:13:17,410 Тоа е многу повеќе апстрактни од тоа. 337 00:13:17,410 --> 00:13:20,160 Формула со која ние се пресмета оценки се бројат онака како што следува. 338 00:13:20,160 --> 00:13:21,610 Коректност е највредни. 339 00:13:21,610 --> 00:13:23,010 Дизајнот е во вредност од малку помалку. 340 00:13:23,010 --> 00:13:24,490 Стил е во вредност од нешто помалку. 341 00:13:24,490 --> 00:13:26,950 И ова општо доловува на износот на време 342 00:13:26,950 --> 00:13:29,800 што оди во добивање на секој на овие оски само во право. 343 00:13:29,800 --> 00:13:31,810 Стилот е супер лесно, треба да биде супер брз, 344 00:13:31,810 --> 00:13:33,657 но тоа е лесен навика да се мрзливи за тоа. 345 00:13:33,657 --> 00:13:35,490 Коректност може да потрае можете поголемиот дел од времето. 346 00:13:35,490 --> 00:13:38,990 Си поигруваше со одредување на некои бубачки сила преземат тој дополнителен час или повеќе, 347 00:13:38,990 --> 00:13:41,737 и така, постигнувајќи во крајна линија ја доловува тоа. 348 00:13:41,737 --> 00:13:43,070 И така, сега посериозен збор. 349 00:13:43,070 --> 00:13:45,240 Бидејќи CS50 има разлика, за подобро 350 00:13:45,240 --> 00:13:47,440 или за полошо, да се биде можеби подобро да се запознаат 351 00:13:47,440 --> 00:13:50,065 со прашањата на академската чесност отколку повеќето било друг курс. 352 00:13:50,065 --> 00:13:53,720 И навистина, тоа е според моите сознанија дека ние испрати повеќе студенти, за жал, 353 00:13:53,720 --> 00:13:56,690 за дисциплинска цели секоја година, како резултат. Така, 354 00:13:56,690 --> 00:13:59,040 во интерес на целосно откривање, ајде да зборуваме за кратко 355 00:13:59,040 --> 00:14:02,820 во врска со она што се случува во CS50, и она што може да се направи, и она што може да биде свесен. 356 00:14:02,820 --> 00:14:05,530 >> Значи, тука од 2007 година, кога Ми остана на курсот, 357 00:14:05,530 --> 00:14:07,870 е бројот на случаи за рекламирање одбор. 358 00:14:07,870 --> 00:14:10,690 Реклама одбор е дисциплинска Харвард тело, или сега на честа советник, 359 00:14:10,690 --> 00:14:13,790 на кои се наведени случаите кога студентите се направи нешто што на курсот 360 00:14:13,790 --> 00:14:15,470 силабусот смета неразумно. 361 00:14:15,470 --> 00:14:17,220 Нема вистински модел тука, јас би рекол. 362 00:14:17,220 --> 00:14:19,530 Тие се променат во текот на години, но, генерално, 363 00:14:19,530 --> 00:14:22,262 ова е бројот на случаи кои се наведени. 364 00:14:22,262 --> 00:14:23,970 На бројот на студенти кои се вклучени? 365 00:14:23,970 --> 00:14:25,290 Тоа не е премногу варира. 366 00:14:25,290 --> 00:14:27,930 Типично, минатата година за На пример, 29 студенти на Харвард 367 00:14:27,930 --> 00:14:29,740 биле ад качија, така да се каже. 368 00:14:29,740 --> 00:14:32,670 29 од нив тековните студенти, две од нив, пред студентите, 369 00:14:32,670 --> 00:14:35,610 кои соработувале во некои своеволен начин. 370 00:14:35,610 --> 00:14:38,400 А потоа и во однос на процент, тоа е обично околу 3% 371 00:14:38,400 --> 00:14:41,360 на класата која, за жал, прави вакви одлуки. 372 00:14:41,360 --> 00:14:44,470 >> Така, минатата година беше 3,5% од студентите на телото е CS50 373 00:14:44,470 --> 00:14:46,820 тоа беше за рекламирање качија, така да се каже. 374 00:14:46,820 --> 00:14:48,490 >> Значи, она што го прави сето ова значи? 375 00:14:48,490 --> 00:14:49,660 И она што ние всушност го направи? 376 00:14:49,660 --> 00:14:52,930 >> Значи, за целосно откривање, ние апсолутно, како компјутерски научници, 377 00:14:52,930 --> 00:14:57,620 имаат софтверски алатки на располагање и тоа е многу лесно за нас, во праведност, 378 00:14:57,620 --> 00:15:00,980 дека другите соученици, кои не се премин овие редови да премине споредуваат 379 00:15:00,980 --> 00:15:04,570 секоја достава оваа година против секој поднесување во изминатите осум години. 380 00:15:04,570 --> 00:15:05,445 Софтвер го прави ова. 381 00:15:05,445 --> 00:15:07,440 И на крајот тоа е човечките очи кои одлучуваат 382 00:15:07,440 --> 00:15:11,410 дали или не да се однесуваат на некои Тема за понатамошна донесувањето на решението, 383 00:15:11,410 --> 00:15:12,737 но софтвер секако помага. 384 00:15:12,737 --> 00:15:15,820 И ова, искрено, затоа што мислам дека имаме толку голем број во CS50. 385 00:15:15,820 --> 00:15:18,540 Тоа не е затоа CS50 ученици или CS студенти повеќе 386 00:15:18,540 --> 00:15:20,840 генерално се помалку чесни од било кој друг на студентите, 387 00:15:20,840 --> 00:15:22,340 тоа е само имаме алатки и техники 388 00:15:22,340 --> 00:15:24,095 со која треба да се земе овој првиот помине. 389 00:15:24,095 --> 00:15:25,960 >> Но, ние не се внимава на сите овие работи 390 00:15:25,960 --> 00:15:30,340 како и, повторно, во интерес на признавање на работа и тоа е се стави 391 00:15:30,340 --> 00:15:32,397 во од страна на поголемиот дел од супер класата. 392 00:15:32,397 --> 00:15:34,230 И политиката на курсот на академски искреност, 393 00:15:34,230 --> 00:15:37,021 иако тоа е еден куп на ставовите долги со еден куп на куршуми 394 00:15:37,021 --> 00:15:40,490 кои се надевам дека многу може да се чита, тоа навистина не се сведуваат да бидат разумни. 395 00:15:40,490 --> 00:15:44,000 И најдобриот правило на палецот што ние нудиме во рамките на наставната програма 396 00:15:44,000 --> 00:15:46,020 е ова, суштината на сите работи кои ви се 397 00:15:46,020 --> 00:15:47,850 поднесе до овој курс мора да биде свој. 398 00:15:47,850 --> 00:15:51,510 И навистина, во речиси сите од нив случаите наведени за дисциплинска постапка 399 00:15:51,510 --> 00:15:55,640 тоа е затоа што на некои студентски доцна една ноќ обично се претвори својот код 400 00:15:55,640 --> 00:15:58,130 повеќе целосно на соученик, кој потоа го усвои 401 00:15:58,130 --> 00:16:00,840 во целост или значително од него. 402 00:16:00,840 --> 00:16:02,680 >> Но, навистина, тоа е во ред. 403 00:16:02,680 --> 00:16:04,684 И навистина, во канцеларијата часа, изводи од хартија 404 00:16:04,684 --> 00:16:07,850 сте биле предадени ако дојде од страна на канцеларијата часа минатата недела ги охрабрува колку. 405 00:16:07,850 --> 00:16:09,710 Ти си апсолутно добредојдени и охрабрени 406 00:16:09,710 --> 00:16:12,340 за да разговараат за проблемот поставува со соучениците. 407 00:16:12,340 --> 00:16:14,461 Да си помагаат едни на други, кога сопнување. 408 00:16:14,461 --> 00:16:17,710 Но генерално правило треба да биде тоа ", кога ќе се бара помош, 409 00:16:17,710 --> 00:16:20,412 може да се покаже вашиот код на другите, но вие не може нивни видите. " 410 00:16:20,412 --> 00:16:22,620 Значи, со други зборови, ако јас сум се борат со некои Р сет 411 00:16:22,620 --> 00:16:25,290 и јас сум седи таму во мензата, или во библиотека, 412 00:16:25,290 --> 00:16:28,470 или во училницата се обидува да најде некои вина, 413 00:16:28,470 --> 00:16:30,340 Јас секако може да се покаже мојот код на мојот екран 414 00:16:30,340 --> 00:16:32,590 на лицето седи за мене, секако, на вработените, 415 00:16:32,590 --> 00:16:33,600 но исто така и на соученик. 416 00:16:33,600 --> 00:16:36,580 Но, ако на решение кое мојот соученик нуди е, о, 417 00:16:36,580 --> 00:16:39,200 тука само за да ги разгледаме во она што Јас не, кои поминува линијата. 418 00:16:39,200 --> 00:16:43,120 >> И јас би се осмелил да кажам дека е генерално разумна работа за повеќето луѓе 419 00:16:43,120 --> 00:16:45,030 да многу лесно да самото место на линија. 420 00:16:45,030 --> 00:16:47,195 И така, видете на програмата за повеќе детали. 421 00:16:47,195 --> 00:16:49,070 А сега еден од повеќе Контроверзниот аспекти 422 00:16:49,070 --> 00:16:52,529 на CS50 програма што мислев дека ќе зборува за во заклучок овде 423 00:16:52,529 --> 00:16:53,820 е т.н. клаузула жалење. 424 00:16:53,820 --> 00:16:55,340 Значи, тука е сите парична казна печати. 425 00:16:55,340 --> 00:16:58,090 Но, во принцип што видовме во текот на изминатите 8 години плус 426 00:16:58,090 --> 00:17:01,510 дека, навистина, скоро сите на CS50 е случаи на академска нечесност 427 00:17:01,510 --> 00:17:04,390 се резултат на само сиромашните прават доцна навечер одлука. 428 00:17:04,390 --> 00:17:07,144 Резултат на стресот, резултат недостаток на исхрана, недостаток на сон, 429 00:17:07,144 --> 00:17:09,560 премногу Ц сетови, премногу рокови, премногу обврски. 430 00:17:09,560 --> 00:17:13,520 Стрес натрупуваат во 2:00 часот, 03:00 АМ, 04:00, со краен рок демне. 431 00:17:13,520 --> 00:17:17,020 Повеќето студенти во овие случаи имате само направени лоши одлуки 432 00:17:17,020 --> 00:17:20,619 што тие многу добро може да се жалам на Следното утро, ако не и неколку минути подоцна, 433 00:17:20,619 --> 00:17:25,490 но до лани немаше вентил порака дека овие студенти можат да 434 00:17:25,490 --> 00:17:29,140 всушност се отвори за да всушност се одговори на проблем на главата, без страв дека ќе биде 435 00:17:29,140 --> 00:17:30,850 стартува од колеџ заедно. 436 00:17:30,850 --> 00:17:33,260 >> И, навистина, ќе воведе ова жалење клаузула минатата година, 437 00:17:33,260 --> 00:17:35,970 кој вели дека ако во рок од 72 часа, три дена, 438 00:17:35,970 --> 00:17:37,970 премин на некои линија пропишани со наставната програма 439 00:17:37,970 --> 00:17:41,178 ќе дојде напред на еден од курсот глави и ние ќе имаат разговор во врска со тоа. 440 00:17:41,178 --> 00:17:43,720 Таму се 'уште има некои исход, спротивно на она што е 441 00:17:43,720 --> 00:17:44,990 се пријавени за спротивното. 442 00:17:44,990 --> 00:17:49,190 Се уште постои резултат кој е вистински со курсот, 443 00:17:49,190 --> 00:17:51,611 генерално zeroing П сет или преземање на некои други активности, 444 00:17:51,611 --> 00:17:53,610 но ние ќе се, навистина, се справи со себе и не 445 00:17:53,610 --> 00:17:58,460 погледнете што се повисоки од исходот Може да биде многу потешка. 446 00:17:58,460 --> 00:18:01,810 И, навистина, да го споделат она што се случи минатата година, по осум години, а сега 447 00:18:01,810 --> 00:18:04,950 девет години, на наставата по овој предмет и по tinkering со различни копчиња, 448 00:18:04,950 --> 00:18:07,866 претворање на разни бирања во текот на изминатите неколку години на академски искреност, 449 00:18:07,866 --> 00:18:11,920 и при гледањето на податоците без очигледна влијание, дури и на говори, како таков, 450 00:18:11,920 --> 00:18:15,490 ова е рацете одредување на најдобра работа воведовме педагогичен 451 00:18:15,490 --> 00:18:18,090 во последните осум години заедно овие редови во CS50. 452 00:18:18,090 --> 00:18:21,010 >> 19 студенти дојде напред според оваа клаузула минатата година. 453 00:18:21,010 --> 00:18:23,389 Ние не превзеде никаква акција за седум од оние студенти, 454 00:18:23,389 --> 00:18:25,430 утврдување дека тие биле непотребно се загрижени. 455 00:18:25,430 --> 00:18:27,304 Тие не се, всушност, преминал линија, но тоа 456 00:18:27,304 --> 00:18:28,960 беше добар разговор да се има сепак. 457 00:18:28,960 --> 00:18:31,190 Ние zeroed 11 од резултатите кои биле поднесени. 458 00:18:31,190 --> 00:18:33,840 А во еден случај ние праша ученикот да направи проблем во собата. 459 00:18:33,840 --> 00:18:36,370 Но повеќе привлечни, искрено, со овие 19 разговори, 460 00:18:36,370 --> 00:18:39,020 кој беше начинот на кој повеќе од мене очекува да има, секој од нив 461 00:18:39,020 --> 00:18:41,370 10 минути за да можеби еден час долг, исто така, донесе 462 00:18:41,370 --> 00:18:44,920 на виделина голем број прашања во врска со фамилијарна прашања, пријател прашања, 463 00:18:44,920 --> 00:18:46,940 ментални здравствени проблеми дека ние тогаш ангажирани, 464 00:18:46,940 --> 00:18:50,200 со ученикот благослов, жител декан, или пријатели, или било кој друг број 465 00:18:50,200 --> 00:18:51,450 на поддршка на ресурси. 466 00:18:51,450 --> 00:18:54,454 Така што ова е далеку еден од најдобрите начини на употреба на нашето време 467 00:18:54,454 --> 00:18:55,870 и еден од најдобрите интервенции. 468 00:18:55,870 --> 00:18:58,870 >> Со тоа, вели, дека нема внесување на стапката на откривање 469 00:18:58,870 --> 00:19:00,909 на академска нечесност поопшто. 470 00:19:00,909 --> 00:19:02,950 И јас се осмелувам да кажам, ова подмножество на студенти од минатата година 471 00:19:02,950 --> 00:19:06,350 беше демографски дека ние претходно никогаш не се идентификува пред 472 00:19:06,350 --> 00:19:08,140 и никогаш не се поврзани со порано. 473 00:19:08,140 --> 00:19:10,020 И така, тие беа прекрасен успешни приказни 474 00:19:10,020 --> 00:19:13,390 иако тие беа на виделина во помалку од оптималната околности. 475 00:19:13,390 --> 00:19:15,640 Значи, да ги задржи ова на ум што ќе се направи, можеби, 476 00:19:15,640 --> 00:19:17,390 некои лоша одлука себе доцна во ноќта, 477 00:19:17,390 --> 00:19:20,151 дека има регрес толку долго како студент во таква ситуација 478 00:19:20,151 --> 00:19:23,400 поседуваат и да излезе така што можеме да имаат таков вид на разговор и да се справи со неа 479 00:19:23,400 --> 00:19:27,310 на начин што е образованието, а потоа можеме да го стави зад нас на следниот ден. 480 00:19:27,310 --> 00:19:30,335 >> Значи без понатамошно ado, да ги преземе острото надвор од овој разговор, 481 00:19:30,335 --> 00:19:35,080 причината на кученцата се применува до само за да го скрши мразот за момент. 482 00:19:35,080 --> 00:19:39,560 И, за жал, тие се сите од сонот, но она што требаше да се случи тука 483 00:19:39,560 --> 00:19:41,760 беше секого требаше да стравопочит и вид на одморите 484 00:19:41,760 --> 00:19:43,910 после тоа многу тешки разговор. 485 00:19:43,910 --> 00:19:46,930 Но, очигледно го ставам кученцата да спијам. 486 00:19:46,930 --> 00:19:50,070 Но, ако одите во CS50 е веб коса црта кученца, 487 00:19:50,070 --> 00:19:51,610 можете да ги види на целиот ден. 488 00:19:51,610 --> 00:19:55,280 Особено можеби 2:00, или 03:00 или 04:00 во текот на ноќта 489 00:19:55,280 --> 00:19:57,480 да видите малку олеснување на стресот таму. 490 00:19:57,480 --> 00:19:58,805 Па тоа е намалување на кученцата. 491 00:19:58,805 --> 00:20:01,700 492 00:20:01,700 --> 00:20:02,200 Во ред. 493 00:20:02,200 --> 00:20:03,020 Не беше толку забавно? 494 00:20:03,020 --> 00:20:04,200 ВО РЕД. 495 00:20:04,200 --> 00:20:07,140 Значи, да се вратиме на некои компјутерски науката, ако може. 496 00:20:07,140 --> 00:20:10,600 >> Значи, да се потсетиме дека минатиот пат почнавме не се гледа само во главната, која 497 00:20:10,600 --> 00:20:13,930 беше функцијата стандардно, кога зелено знаме кликнато противвредност, 498 00:20:13,930 --> 00:20:16,999 но ние исто така, започна на кратко пишувањето на некои од нашите сопствени функции. 499 00:20:16,999 --> 00:20:20,040 И досега ниту еден од овие функции се особено големи или месен. 500 00:20:20,040 --> 00:20:24,570 Ќе добиете во оние кои се поголеми функции, најверојатно, на P во собата 2, П поставени 3, 501 00:20:24,570 --> 00:20:26,410 дефинитивно Р поставени 4 и наваму. 502 00:20:26,410 --> 00:20:29,340 Во моментов најголем дел од вашите програми, ако не и сите од нив, секако, за P 503 00:20:29,340 --> 00:20:31,550 1 сет може да се направи целосно во главниот. 504 00:20:31,550 --> 00:20:33,810 Ако вашата програма е само пет линии, 10 линии, 505 00:20:33,810 --> 00:20:37,070 долго дури 20 линии, совршено разумно да го напише 506 00:20:37,070 --> 00:20:40,930 во сите главни и да не се над комплицира Вашиот код, но она што го правиме денес 507 00:20:40,930 --> 00:20:44,360 и натаму се обидува да се, исто така, воведат некои добри дизајн техники 508 00:20:44,360 --> 00:20:48,660 така што како што вашиот код добива повеќе комплицирани и за проблемите 509 00:20:48,660 --> 00:20:51,690 сакате да се реши се потешко и поинтересна имате, на некој начин, 510 00:20:51,690 --> 00:20:55,850 алатките во алатникот со кој да се дизајнира добри решенија за нив. 511 00:20:55,850 --> 00:21:01,210 >> Значи, ајде да се земе брз поглед назад во оваа програма од мојата последна недела, што 512 00:21:01,210 --> 00:21:06,550 беше функции нулта точката C. И забележи дека, едноставно, 513 00:21:06,550 --> 00:21:10,310 тоа би изгледало вака со две функции, главен и името на печатење. 514 00:21:10,310 --> 00:21:13,160 И размислување назад или можеби обратна инженеринг и денес, 515 00:21:13,160 --> 00:21:16,880 она што беше на образложение за воведување функција во линија 28 повикани, 516 00:21:16,880 --> 00:21:18,180 Име на печатење? 517 00:21:18,180 --> 00:21:21,745 Или она што беше овој пример за во однос на принцип или готова брза, 518 00:21:21,745 --> 00:21:22,605 ако сакате. 519 00:21:22,605 --> 00:21:26,560 520 00:21:26,560 --> 00:21:27,300 Некои шумови. 521 00:21:27,300 --> 00:21:28,830 Што? 522 00:21:28,830 --> 00:21:32,210 >> Је толку функционална распаѓање е вид на фенси начин да се каже, 523 00:21:32,210 --> 00:21:34,690 распаѓаат вашата програма на нејзините составни делови 524 00:21:34,690 --> 00:21:37,530 а потоа ги користат оние делови да се соберат во целина. 525 00:21:37,530 --> 00:21:39,620 Значи, и тоа е само вид на еден залак веќе, 526 00:21:39,620 --> 00:21:42,050 но ова е можеби дури и подобар пример за нешто 527 00:21:42,050 --> 00:21:43,081 само се нарекува апстракција. 528 00:21:43,081 --> 00:21:43,580 Нели? 529 00:21:43,580 --> 00:21:46,950 Апстракција се случува да биде еден на периодични теми во CS50 530 00:21:46,950 --> 00:21:49,085 а исто така и компјутерски науки поопшто, бидејќи тоа е 531 00:21:49,085 --> 00:21:53,060 техника со која може да се реши проблеми поефективно затоа што 532 00:21:53,060 --> 00:21:56,807 може да се напише повеќе решенија интуитивно и на начин која Вага 533 00:21:56,807 --> 00:21:58,390 и е разбирливо од страна на други луѓе. 534 00:21:58,390 --> 00:21:59,860 Што мислам кога го велам тоа? 535 00:21:59,860 --> 00:22:04,340 >> Па, веројатно тоа е многу повеќе може да се чита да се погледне во една програма, како таков, 536 00:22:04,340 --> 00:22:05,990 супер кратки покрај тоа што е. 537 00:22:05,990 --> 00:22:10,050 Кога ќе го видите на линија 22, кој има функција наречена, името на печатење. 538 00:22:10,050 --> 00:22:12,620 Само тоа име вели дека она што го прави тоа. 539 00:22:12,620 --> 00:22:15,780 Таа функција очигледно зема внесување меѓу своите загради, 540 00:22:15,780 --> 00:22:18,600 и очигледно прави нешто, веројатно печати името. 541 00:22:18,600 --> 00:22:20,880 И така, иако ние апсолутно може да има 542 00:22:20,880 --> 00:22:25,280 направи она што го правевме пред една недела, што беше само да се земе овој вистински линија код, 543 00:22:25,280 --> 00:22:28,710 се ослободи од овој, и да добијат ослободете се од оваа, сите заедно, 544 00:22:28,710 --> 00:22:31,436 ние вид на апстрахирани далеку идејата за печатење на името. 545 00:22:31,436 --> 00:22:33,060 Не ми е гајле ако сте со користење на печатење дефиниција. 546 00:22:33,060 --> 00:22:35,601 Не ми е гајле ако имаш проценти S и обратна коса црта Овие Н. 547 00:22:35,601 --> 00:22:37,270 се неверојатно таинствениот детали. 548 00:22:37,270 --> 00:22:40,090 Она што ми е гајле за тоа како програмерот е печатење на името. 549 00:22:40,090 --> 00:22:43,414 И така, што подобар начин да го направите тоа отколку со повик на функција, на име на печатење? 550 00:22:43,414 --> 00:22:46,330 И така, тоа беше еден од мотивите за правење на нешто како ова. 551 00:22:46,330 --> 00:22:50,370 Правејќи го кодот повеќе читлив, повеќе еднократно, и, исто така, само описни. 552 00:22:50,370 --> 00:22:52,120 Сега, ајде да ги разгледаме во уште еден пример, 553 00:22:52,120 --> 00:22:56,220 кој беше еден функции, кој имавме овде. 554 00:22:56,220 --> 00:23:00,367 >> Значи, ова е можеби и повеќе привлечни затоа што, во овој случај, 555 00:23:00,367 --> 00:23:01,700 Не сакам да се добие само int. 556 00:23:01,700 --> 00:23:03,320 Сакам да добие позитивен Инт. 557 00:23:03,320 --> 00:23:06,470 И испоставува да добие позитивен int што треба да направите еден куп на подготвителна работа. 558 00:23:06,470 --> 00:23:06,969 Нели? 559 00:23:06,969 --> 00:23:09,600 Тоа не е едноставна линија нарекуваме како име за печатење беше, 560 00:23:09,600 --> 00:23:11,480 што е значително помалку привлечни. 561 00:23:11,480 --> 00:23:16,000 >> Да се ​​добие позитивен цел број, logically-- дозволете ми да дојдете назад надолу за да се сокрие тоа. 562 00:23:16,000 --> 00:23:18,887 Што треба да направите? 563 00:23:18,887 --> 00:23:20,720 Како и сите алатки ние имаме во моментов се 564 00:23:20,720 --> 00:23:24,440 работи како печати дефиниција од Стандард Библиотека и, исто така, од CS50 библиотека 565 00:23:24,440 --> 00:23:26,990 имаме се int, и добивме плови, Добие долго долго, да добијат Стринг, 566 00:23:26,990 --> 00:23:29,260 но само еден, важен, во моментов е да се добие Инт. 567 00:23:29,260 --> 00:23:32,970 Значи, ако се само алатка што треба во вашиот алатка кутија е Добие int, 568 00:23:32,970 --> 00:23:35,505 како да одиме за спроведување тоа да се добие позитивен int? 569 00:23:35,505 --> 00:23:35,929 >> ПУБЛИКАТА: Направете се најавите и да се провери дали влезниот дека тие даде 570 00:23:35,929 --> 00:23:36,762 е позитивен или не. 571 00:23:36,762 --> 00:23:39,390 572 00:23:39,390 --> 00:23:40,640 >> ЗВУЧНИЦИ 1: Совршена. 573 00:23:40,640 --> 00:23:41,200 Токму така. 574 00:23:41,200 --> 00:23:43,950 Уште една алатка што ја имаме во нашата Лента со алатки од пред една недела или две 575 00:23:43,950 --> 00:23:45,419 е само конструкт looping. 576 00:23:45,419 --> 00:23:48,210 И така, да, ако ние ги користиме време јамка, или направите додека јамка, или израз 577 00:23:48,210 --> 00:23:50,850 јамка ние веројатно може да се извлечеш со кој било од оние во некоја форма. 578 00:23:50,850 --> 00:23:55,140 Ние може да се спроведе идејата за стапите позитивен цел број од само со користење Земете int, 579 00:23:55,140 --> 00:23:57,830 и потоа само ги нарекувајќи повторно и да ја задржите Здодевните корисникот 580 00:23:57,830 --> 00:24:00,320 додека тој или таа, всушност, ни дава она што го сакаме. 581 00:24:00,320 --> 00:24:03,260 >> И така сега, овој црпење на процесот 582 00:24:03,260 --> 00:24:05,680 за добивање на позитивен цел број во функција наречена 583 00:24:05,680 --> 00:24:08,930 Добие позитивен инт е малку повеќе привлечни затоа се погледне на овој. 584 00:24:08,930 --> 00:24:10,990 Овие се како 10 плус линии на код кој 585 00:24:10,990 --> 00:24:15,090 се вклучени во добивање позитивен цел број, и јас не се грижам за тоа како да го направи тоа. 586 00:24:15,090 --> 00:24:17,850 Сè што ми е гајле што ќе да го стори тоа, и така јас сум 587 00:24:17,850 --> 00:24:21,660 скриени сите овие детали зад функција наречена добие позитивен int дека, 588 00:24:21,660 --> 00:24:23,430 навистина, има оваа направите додека јамка. 589 00:24:23,430 --> 00:24:27,660 >> И да видиме минатата недела за синтаксата таму, но тоа само изјавува N, 590 00:24:27,660 --> 00:24:29,800 и тоа отпечатоци од настава на корисникот. 591 00:24:29,800 --> 00:24:33,330 Во него се повикува Земете инт, а потоа го проверува оваа состојба, повторно, и повторно, 592 00:24:33,330 --> 00:24:35,230 и повторно се додека корисникот не соработува. 593 00:24:35,230 --> 00:24:38,000 >> Па сега, неколку сигурносни проверки. 594 00:24:38,000 --> 00:24:40,370 За оние кои се запознаени можеби со некои програмирање, 595 00:24:40,370 --> 00:24:46,410 зошто е прогласена за N, зошто да креирам N надвор од направите додека јамка? 596 00:24:46,410 --> 00:24:50,370 Зошто тоа е на линија 29, а не на како 33, на пример. 597 00:24:50,370 --> 00:24:53,529 >> ПУБЛИКАТА: Затоа што кога ќе ја прогласи за надвор, тој вид 598 00:24:53,529 --> 00:24:56,688 на повеќе, поголем scope-- 599 00:24:56,688 --> 00:24:58,146 >> ЗВУЧНИЦИ 1: Добро. 600 00:24:58,146 --> 00:24:59,604 >> ПУБЛИКАТА: --and Ако се изјасни тоа во внатрешноста на кругот, [Беззвучен] 601 00:24:59,604 --> 00:25:00,979 поради тоа што не знае за тоа. 602 00:25:00,979 --> 00:25:02,819 603 00:25:02,819 --> 00:25:03,610 ЗВУЧНИЦИ 1: Токму така. 604 00:25:03,610 --> 00:25:06,330 Ако можам да simplify-- тоа е прашање на опсегот. 605 00:25:06,330 --> 00:25:11,530 И обемот се однесува на контекстот во која променлива постои или е употреблив. 606 00:25:11,530 --> 00:25:15,050 И добро правило е дека обично кога ќе се изјасни или создади 607 00:25:15,050 --> 00:25:21,642 променлива може да го користите само во внатрешноста од најблиските прегрнување големите загради. 608 00:25:21,642 --> 00:25:22,600 Значи она што значи тоа? 609 00:25:22,600 --> 00:25:26,551 Ако јас, наместо тоа, да го вратите ова и да си одат со нешто што се чувствува малку поедноставно. 610 00:25:26,551 --> 00:25:27,050 Нели? 611 00:25:27,050 --> 00:25:29,360 >> Линија 32 само изгледа почиста за мене сега. 612 00:25:29,360 --> 00:25:31,500 Јас го правам и двете нешта еднаш, а потоа доделување 613 00:25:31,500 --> 00:25:33,070 на десната рака на левата рака. 614 00:25:33,070 --> 00:25:35,180 Проблемот сега врз основа на дека дефиницијата на обемот 615 00:25:35,180 --> 00:25:41,130 е во тоа што N може да се користи во линии 31 и 32, во внатрешноста на овој циклус, 616 00:25:41,130 --> 00:25:45,100 но каде што од страна на таа дефиниција не може да се користи? 617 00:25:45,100 --> 00:25:45,660 Во согласност што? 618 00:25:45,660 --> 00:25:46,160 Је. 619 00:25:46,160 --> 00:25:47,490 >> ПУБЛИКАТА: 35. 620 00:25:47,490 --> 00:25:49,180 >> ЗВУЧНИЦИ 1: 35. 621 00:25:49,180 --> 00:25:50,480 Дефинитивно не 35. 622 00:25:50,480 --> 00:25:52,349 А исто така и каде на друго место? 623 00:25:52,349 --> 00:25:52,890 ПУБЛИКАТА: 34. 624 00:25:52,890 --> 00:25:55,040 ЗВУЧНИЦИ 1: Дури 34 е проблематична, бидејќи тоа е 625 00:25:55,040 --> 00:25:56,450 надвор од големите загради. 626 00:25:56,450 --> 00:25:58,200 И така, всушност, ајде да видиме што се случува. 627 00:25:58,200 --> 00:25:58,700 Нели? 628 00:25:58,700 --> 00:26:00,722 Ова може да изгледа малку интуитивен или не може, 629 00:26:00,722 --> 00:26:02,680 но, ајде да видиме што на компајлерот има да каже кога 630 00:26:02,680 --> 00:26:04,730 одиме во денешниот изворниот директориум. 631 00:26:04,730 --> 00:26:08,950 Направи една функција. 632 00:26:08,950 --> 00:26:11,231 О Боже. 633 00:26:11,231 --> 00:26:12,980 Па, јас конечно завршен кои, патем. 634 00:26:12,980 --> 00:26:14,030 Во ред. 635 00:26:14,030 --> 00:26:15,510 И, што е проблемот тука? 636 00:26:15,510 --> 00:26:17,430 Најскриените да се погледне. 637 00:26:17,430 --> 00:26:19,570 Но, тука е она што јас typed-- направи една функција. 638 00:26:19,570 --> 00:26:21,640 Тука е она што го направи предизвикана, кој е всушност 639 00:26:21,640 --> 00:26:23,705 користење на компајлерот ѕвекот со некои од овие знамиња 640 00:26:23,705 --> 00:26:25,080 дека ќе видиме повторно пред долго. 641 00:26:25,080 --> 00:26:26,829 И повторно, секогаш гледам на првата грешка, 642 00:26:26,829 --> 00:26:30,540 поради тоа што само може да има каскадни бесмислено ефект на други линии. 643 00:26:30,540 --> 00:26:34,410 >> Така што тоа значи е дека Проблемот е во функција 1.в. 644 00:26:34,410 --> 00:26:36,890 Тоа е на линија 32. 645 00:26:36,890 --> 00:26:39,712 И тоа е во колона, или карактер, 13. 646 00:26:39,712 --> 00:26:42,670 Значи, кога вашиот текст едитор кој може да ви помогне да се одреди од каде во прашање е. 647 00:26:42,670 --> 00:26:47,079 Значи, ако јас се движите нагоре, она што е на линија 32? 648 00:26:47,079 --> 00:26:49,120 Тоа е навистина еден тоа е веќе обележана 649 00:26:49,120 --> 00:26:50,607 право here-- неискористени променлива n. 650 00:26:50,607 --> 00:26:51,440 Но тоа не е неискористен. 651 00:26:51,440 --> 00:26:52,320 Јас сум го користите. 652 00:26:52,320 --> 00:26:56,110 Но компајлерот е збунет, бидејќи таа постои само во внатрешноста на овој опсег. 653 00:26:56,110 --> 00:26:57,727 И затоа не можам да го користам тука. 654 00:26:57,727 --> 00:26:58,560 Не можам да го користам тука. 655 00:26:58,560 --> 00:27:01,320 И на компајлерот, според тоа, дури и не се грижи дека јас се обидувам. 656 00:27:01,320 --> 00:27:03,940 Се чини да биде неискористен во рок од реалните својот делокруг. 657 00:27:03,940 --> 00:27:08,854 >> За да можеме да се прошири опсегот со правење Токму она што го започнавме with-- int n. 658 00:27:08,854 --> 00:27:11,020 И иако тоа не го прави тоа изгледаат како домот, можеби, 659 00:27:11,020 --> 00:27:15,110 и ние сме преземање дополнителна линија тука, сега тоа е во опсегот насекаде. 660 00:27:15,110 --> 00:27:15,970 Значи, да се обидете повторно. 661 00:27:15,970 --> 00:27:19,040 Така бидете функција еден. 662 00:27:19,040 --> 00:27:19,610 Убаво. 663 00:27:19,610 --> 00:27:23,370 И сега, ако јас ако јас се кандидира на функцијата еден, нека си го даде негативни 10, 664 00:27:23,370 --> 00:27:27,170 негативни 1, 0, 1, и тоа навистина функционира. 665 00:27:27,170 --> 00:27:28,610 >> Па постои друго решение овде. 666 00:27:28,610 --> 00:27:29,280 Знаеш што? 667 00:27:29,280 --> 00:27:31,230 Што ако сум навистина сум се борат со ова? 668 00:27:31,230 --> 00:27:33,140 Не знам каде n би требало да се оди. 669 00:27:33,140 --> 00:27:33,723 Знаеш што? 670 00:27:33,723 --> 00:27:39,220 Јас сум само ќе го стави сите начин на врвот на мојата датотека. 671 00:27:39,220 --> 00:27:42,835 Што би ова се, мислиш? 672 00:27:42,835 --> 00:27:43,335 Да? 673 00:27:43,335 --> 00:27:44,251 >> ПУБЛИКАТА: [Беззвучен]. 674 00:27:44,251 --> 00:27:47,964 675 00:27:47,964 --> 00:27:48,630 ЗВУЧНИЦИ 1: Да. 676 00:27:48,630 --> 00:27:50,560 Па јас го направив тоа на глобално ниво, така да се каже. 677 00:27:50,560 --> 00:27:54,430 Ако имаш променлива која е надвор на сите ваши функции што е дозволено, 678 00:27:54,430 --> 00:27:58,780 и кодот треба да ги собере, и n сега ќе бидат достапни не само во стапите 679 00:27:58,780 --> 00:28:02,490 позитивен цел број, но, исто така, во која main-- е малку загрижувачки, бидејќи има 680 00:28:02,490 --> 00:28:04,864 веќе n во главниот, така се повеќе за тоа во само moment-- 681 00:28:04,864 --> 00:28:06,530 но тоа ќе се смета за лош дизајн. 682 00:28:06,530 --> 00:28:06,910 Во ред. 683 00:28:06,910 --> 00:28:08,570 Ако треба да се прибегне кон нешто како, ох, јас ќе 684 00:28:08,570 --> 00:28:10,125 само да го стави до тука, бидејќи кодот чини да се состави 685 00:28:10,125 --> 00:28:12,180 генерално не е најдобра пракса. 686 00:28:12,180 --> 00:28:14,590 А сакате да се избере најтесниот можниот обем 687 00:28:14,590 --> 00:28:18,720 за вашите променливи, што би значело случува со нашата почетна дизајн, кој 688 00:28:18,720 --> 00:28:19,920 е во право тука. 689 00:28:19,920 --> 00:28:24,400 >> Сега како настрана, ако немале со идентично име променлива тука, 690 00:28:24,400 --> 00:28:27,750 начинот на кој ќе се справува со в this-- иако тоа нема да се случи премногу often-- 691 00:28:27,750 --> 00:28:30,150 е дека ова е уште совршено добро тука. 692 00:28:30,150 --> 00:28:35,000 Но оваа дефиниција на n, во согласност 22 ќе сенка на глобалната еден. 693 00:28:35,000 --> 00:28:38,190 Така што ова ќе работи во рамките Главниот и глобална, 694 00:28:38,190 --> 00:28:41,670 всушност, ќе се применуваат и кога сте во добие позитивен int Но повеќе за тоа 695 00:28:41,670 --> 00:28:43,890 некое друго време, но само за оние кои се љубопитни. 696 00:28:43,890 --> 00:28:45,970 >> Значи на кратко, ние го надминете овој овде. 697 00:28:45,970 --> 00:28:49,220 Сега ајде да ги разграничат две други парчиња Пред да се погледне за последен линија на кодот 698 00:28:49,220 --> 00:28:50,170 во оваа програма. 699 00:28:50,170 --> 00:28:52,170 Добие позитивен Инт. 700 00:28:52,170 --> 00:28:54,450 На левата страна од својот збор е зборот Инт. 701 00:28:54,450 --> 00:28:56,860 Што тоа значи мислите? 702 00:28:56,860 --> 00:28:58,900 Досега сме најчесто се јавува празнина. 703 00:28:58,900 --> 00:28:59,400 Да? 704 00:28:59,400 --> 00:29:01,810 >> ПУБЛИКАТА: Тоа е од типот на променлива која ќе бараме за. 705 00:29:01,810 --> 00:29:04,550 >> ЗВУЧНИЦИ 1: Да тоа е од типот на, дозволете ми Не велат променлива, но од типот на вредноста 706 00:29:04,550 --> 00:29:05,990 дека јас барам назад за. 707 00:29:05,990 --> 00:29:08,070 И навистина, тоа е интуитивен тука, се надевам. 708 00:29:08,070 --> 00:29:08,200 Нели? 709 00:29:08,200 --> 00:29:10,250 Ако сакате да се добие позитивен цел број, што е тоа што 710 00:29:10,250 --> 00:29:12,920 сакате function-- како нашиот волонтери од минатата недела 711 00:29:12,920 --> 00:29:15,720 да ви ги врати парче на кои се испишани на int на неа? 712 00:29:15,720 --> 00:29:19,190 И затоа сме наведува дека т.н. врати видот на оваа функција 713 00:29:19,190 --> 00:29:20,450 е да се добие позитивен Инт. 714 00:29:20,450 --> 00:29:22,990 Ако ние не го сакаат тоа да го врати ништо, велиш неважечки. 715 00:29:22,990 --> 00:29:25,270 Ако сакате тоа да се врати стринг, велиш стринг. 716 00:29:25,270 --> 00:29:27,310 Ако сакате тоа да се врати плови, велиш плови. 717 00:29:27,310 --> 00:29:30,440 Но само оној кој е применлив и тука логично, затоа што јас сум со користење стапите int, 718 00:29:30,440 --> 00:29:34,130 иако сум ја ограничи на позитивните вредности, е да се врати int. 719 00:29:34,130 --> 00:29:38,380 >> Па обратно, што значи тоа дека постои празнина во загради? 720 00:29:38,380 --> 00:29:40,130 Што прават загради генерално се дефинира? 721 00:29:40,130 --> 00:29:40,588 Да? 722 00:29:40,588 --> 00:29:42,880 >> ПУБЛИКАТА: Тоа значи дека на функцијата всушност, не го добива. 723 00:29:42,880 --> 00:29:44,650 >> ЗВУЧНИЦИ 1: Тоа значи дека на функцијата всушност, не се добива она што? 724 00:29:44,650 --> 00:29:45,430 >> ПУБЛИКАТА: влезен. 725 00:29:45,430 --> 00:29:46,763 >> ЗВУЧНИЦИ 1: влез, она. 726 00:29:46,763 --> 00:29:49,870 Значи, навистина, ако заграда тука ќе се определи празнина, 727 00:29:49,870 --> 00:29:51,650 тоа само значи дека јас не сакам никакви влез. 728 00:29:51,650 --> 00:29:53,269 Јас ќе се справи со проблемот себе. 729 00:29:53,269 --> 00:29:55,810 И навистина, вие не мора да се кажете добие позитивен int ништо. 730 00:29:55,810 --> 00:29:59,630 Можете само да се каже, се надева на позитивен цел број, и дека функција ќе одам и да си ја работи својата работа. 731 00:29:59,630 --> 00:30:02,970 >> Но, таму се е малку трик сум играм тука цело време 732 00:30:02,970 --> 00:30:04,970 да бидете сигурни дека овој код компајлира. 733 00:30:04,970 --> 00:30:09,620 Забележи дека int-- добие позитивен int void-- е на линија 27. 734 00:30:09,620 --> 00:30:14,530 Но, за некои навидум чудни причина тоа е исто така се тука на линијата 16. 735 00:30:14,530 --> 00:30:18,530 И само за добра мерка ќе повторам ова, па тоа е совршено идентични. 736 00:30:18,530 --> 00:30:21,640 И јас сум рече прототип со еден мал коментар од еден ред. 737 00:30:21,640 --> 00:30:28,850 Што се случува ако се избрише тоа, и сега повторување направи функција 1, влезе. 738 00:30:28,850 --> 00:30:29,350 Whoops. 739 00:30:29,350 --> 00:30:32,527 740 00:30:32,527 --> 00:30:33,110 Почекај минута. 741 00:30:33,110 --> 00:30:34,764 Каде е јазиче ми? 742 00:30:34,764 --> 00:30:35,263 Нели? 743 00:30:35,263 --> 00:30:37,969 744 00:30:37,969 --> 00:30:39,620 Застани. 745 00:30:39,620 --> 00:30:41,570 Направи функција 1. 746 00:30:41,570 --> 00:30:42,150 Таму ќе одиме. 747 00:30:42,150 --> 00:30:42,310 ВО РЕД. 748 00:30:42,310 --> 00:30:43,400 Кога не би зачувани правилно. 749 00:30:43,400 --> 00:30:45,220 Значи, мислам дека има малку бубачка тука, каде што јас не сум 750 00:30:45,220 --> 00:30:46,636 гледање името на јазичето во моментот. 751 00:30:46,636 --> 00:30:47,940 Значи она што се случува овде? 752 00:30:47,940 --> 00:30:52,210 Имплицитна изјава за функцијата добие позитивен цел број е валиден во C99. 753 00:30:52,210 --> 00:30:53,940 Толку збунувачки повторно. 754 00:30:53,940 --> 00:30:55,200 Па што е ова укажува на? 755 00:30:55,200 --> 00:30:57,287 Па, излегува дека С е прилично глупави. 756 00:30:57,287 --> 00:30:59,912 Па, тоа е на програмирање јазик, или подобро кажано, компајлерот е. 757 00:30:59,912 --> 00:31:02,940 Тоа го знае само она што го имате таа учи, и тоа е само 758 00:31:02,940 --> 00:31:05,640 ќе знаеме нешто ако таа учи порано. 759 00:31:05,640 --> 00:31:07,960 Со други зборови, во Главната во моментов, јас сум 760 00:31:07,960 --> 00:31:10,900 обидувајќи се да се јавите на функција наречен добие позитивен Инт. 761 00:31:10,900 --> 00:31:14,120 Но компајлерот не се случува да се забележи дека се надева на позитивен цел број 762 00:31:14,120 --> 00:31:16,500 постои до линијата 26. 763 00:31:16,500 --> 00:31:21,360 И така, на компајлерот не е само грешки веднаш штом ќе се добива за да линија 17, 764 00:31:21,360 --> 00:31:23,700 велејќи имплицитни декларација за да добијат позитивен цел број, кој 765 00:31:23,700 --> 00:31:27,740 е само фенси начин да се каже, јас не знам што се надева на позитивен цел број е уште. 766 00:31:27,740 --> 00:31:31,240 >> Други јазици како Java и Пајтон и Руби може да се погледне напред. 767 00:31:31,240 --> 00:31:32,240 Ц не е така. 768 00:31:32,240 --> 00:31:35,110 Така и на начинот на кој ние ја поправите ова е еден од два начина. 769 00:31:35,110 --> 00:31:40,160 Или еден, ако проблемот е во тоа што се позитивен цел број не е виден досега, 770 00:31:40,160 --> 00:31:42,150 Па, дозволете ми да се движи кон врвот. 771 00:31:42,150 --> 00:31:43,650 Што ќе го надминете овој проблем. 772 00:31:43,650 --> 00:31:46,790 Но, генерално, тоа е сметаат за подобри техниката 773 00:31:46,790 --> 00:31:50,220 да се стави вашата главна функција на самиот врвот, така што човек читањето на вашиот код 774 00:31:50,220 --> 00:31:52,710 знае што програмата го прави, бидејќи главните не е погребан сите 775 00:31:52,710 --> 00:31:53,960 начинот на дното или во средината. 776 00:31:53,960 --> 00:31:55,130 Тоа е во самиот врв. 777 00:31:55,130 --> 00:31:56,410 Така што не се чувствува идеален. 778 00:31:56,410 --> 00:31:58,326 И всушност може да се добијат во ситуации каде што 779 00:31:58,326 --> 00:32:00,820 Ако еден функциски повици друг, кој се повикува на друг, 780 00:32:00,820 --> 00:32:04,630 може да се добијат во еден проблем, каде што ниту може да оди над друга, логично. 781 00:32:04,630 --> 00:32:05,920 Тоа едноставно не е можно. 782 00:32:05,920 --> 00:32:09,290 >> И така на пат кон работа околу ова е да се земе само 783 00:32:09,290 --> 00:32:13,200 потпис на функцијата, па да се speak-- првата линија каде што тоа е declared-- 784 00:32:13,200 --> 00:32:16,850 и само да го умножувате, ставете го во врвот, но не и со кадрава braces-- 785 00:32:16,850 --> 00:32:17,980 само со точка-запирка. 786 00:32:17,980 --> 00:32:20,840 Тоа е како малку навестување од она што е да дојде. 787 00:32:20,840 --> 00:32:26,630 И всушност, сето ова време кога ние видовме работи како стандард io.h 788 00:32:26,630 --> 00:32:33,040 и cs50.h, на сличен начин, во тие точки ж датотеки постојат други прототипи. 789 00:32:33,040 --> 00:32:35,250 И ќе видиме дека пред долго. 790 00:32:35,250 --> 00:32:39,340 >> Значи во кратки, кога ќе имаат програма во датотека со повеќе функции 791 00:32:39,340 --> 00:32:42,300 Покрај главната, можете речиси секогаш сакаат да ги декларираат 792 00:32:42,300 --> 00:32:45,360 само по пат на нивниот прв линија, проследено со точка-запирка, 793 00:32:45,360 --> 00:32:48,410 во самиот врв на датотеката. 794 00:32:48,410 --> 00:32:50,460 Тоа беше многу на сите одеднаш. 795 00:32:50,460 --> 00:32:53,130 Некакви прашања? 796 00:32:53,130 --> 00:32:53,920 Некакви прашања? 797 00:32:53,920 --> 00:32:54,530 Во ред. 798 00:32:54,530 --> 00:32:59,760 >> Па ајде да се движи, тогаш до нешто како кашлица. 799 00:32:59,760 --> 00:33:00,260 Ох. 800 00:33:00,260 --> 00:33:00,570 Како монтирање. 801 00:33:00,570 --> 00:33:01,220 Во ред. 802 00:33:01,220 --> 00:33:02,260 Кашлица. 803 00:33:02,260 --> 00:33:05,080 Па овде е в спроведување на програма 804 00:33:05,080 --> 00:33:07,560 ние го сторивме пред некој ден во Нула, кои многу едноставно само 805 00:33:07,560 --> 00:33:08,691 вели кашлица, кашлица, кашлица. 806 00:33:08,691 --> 00:33:09,190 Во ред. 807 00:33:09,190 --> 00:33:11,136 И некој вели дека по неколку дена пред дека има 808 00:33:11,136 --> 00:33:12,760 начин на чистење на овој код се веќе. 809 00:33:12,760 --> 00:33:12,880 Во ред? 810 00:33:12,880 --> 00:33:15,440 Штом сте копирање и вметнување веројатно лошиот дизајн. 811 00:33:15,440 --> 00:33:18,725 Барем еднаш ние се дојде до четири или пет или 20 кашлање, таа се чувствува лоша пракса. 812 00:33:18,725 --> 00:33:19,850 Ние само се задржи копија вметнување. 813 00:33:19,850 --> 00:33:22,213 Што е очигледно решение за чистење на оваа програма до? 814 00:33:22,213 --> 00:33:23,120 >> ПУБЛИКАТА: јамка. 815 00:33:23,120 --> 00:33:23,350 >> ЗВУЧНИЦИ 1: Да. 816 00:33:23,350 --> 00:33:24,070 Па користат јамка. 817 00:33:24,070 --> 00:33:27,697 И ние може да се користи за циклус, време јамка, било кој број на пристапи. 818 00:33:27,697 --> 00:33:29,780 И навистина, тоа е она што тоа го правиме во верзија тука. 819 00:33:29,780 --> 00:33:32,250 Сум наместо тоа препишуван во верзија еден cough.c 820 00:33:32,250 --> 00:33:35,170 да биде само за кашлица во циклус. 821 00:33:35,170 --> 00:33:38,240 Во ред, но има една можност сега да се вид на почеток 822 00:33:38,240 --> 00:33:41,630 да се дизајнира оваа малку повеќе како Лекцијата што предава пред еден миг, 823 00:33:41,630 --> 00:33:46,190 кој е this-- претпоставиме дека сакам за да се создаде функција наречена кашлица, 824 00:33:46,190 --> 00:33:49,730 ајде да се разгледа за само еден миг она што се случува да изгледа. 825 00:33:49,730 --> 00:33:51,900 Па ако сакам нешто да кашла, јас само треба 826 00:33:51,900 --> 00:33:53,800 да се користи за печатење ѓ внатре во функција. 827 00:33:53,800 --> 00:33:55,030 И навистина сум. 828 00:33:55,030 --> 00:33:56,990 И всушност, сето тоа време, во секое време си 829 00:33:56,990 --> 00:33:59,000 печатење нешто да на екранот, програмер 830 00:33:59,000 --> 00:34:00,610 би го нарекол дека пропратен ефект. 831 00:34:00,610 --> 00:34:02,990 Тоа не е ме предавање назад некој вредност. 832 00:34:02,990 --> 00:34:06,170 Тоа е ме водиш некоја акција кои би можеле да бидат визуелно очигледно. 833 00:34:06,170 --> 00:34:10,672 Но оваа функција кашлица, дали таа се врати нешто врз основа на својата прва линија? 834 00:34:10,672 --> 00:34:12,880 Не, затоа што неговиот тип враќање е празнина, што само значи 835 00:34:12,880 --> 00:34:14,250 тоа не е ме предавање ништо назад. 836 00:34:14,250 --> 00:34:16,791 Тоа би можело да се прави нешто визуелно, но тоа не ме предавање 837 00:34:16,791 --> 00:34:18,639 се врати на парче хартија како и минатата недела. 838 00:34:18,639 --> 00:34:21,310 >> Дали тоа треба секој влез? 839 00:34:21,310 --> 00:34:21,810 Бр 840 00:34:21,810 --> 00:34:23,134 И така тоа е неважечки тука. 841 00:34:23,134 --> 00:34:25,600 Па тоа исто така е вид на над-инженеринг на овој проблем. 842 00:34:25,600 --> 00:34:26,099 Нели? 843 00:34:26,099 --> 00:34:28,820 Јас го направив на програмата повеќе комплекс, повеќе линии на код, 844 00:34:28,820 --> 00:34:31,889 Не сум го направат било какви повеќе функционални, но ова 845 00:34:31,889 --> 00:34:34,210 ќе биде отскочна штица, можеби, за поширока 846 00:34:34,210 --> 00:34:36,830 контекст со покомплицирана код. 847 00:34:36,830 --> 00:34:38,150 Но, што е тоа? 848 00:34:38,150 --> 00:34:42,050 Што сум done-- само обѕрне ова без да гледа во коментар 849 00:34:42,050 --> 00:34:46,076 во самиот врв на file-- што имаат Јас во основа се направи тука со моите кашлица 850 00:34:46,076 --> 00:34:47,409 имплементација која е различно? 851 00:34:47,409 --> 00:34:48,327 Да, во грбот? 852 00:34:48,327 --> 00:34:51,384 >> ПУБЛИКАТА: Направете го тоа за да можете да имаат карактер исклучите. 853 00:34:51,384 --> 00:34:52,050 ЗВУЧНИЦИ 1: Да. 854 00:34:52,050 --> 00:34:53,270 Значи ова се чувствува вид на убаво. 855 00:34:53,270 --> 00:34:53,389 Нели? 856 00:34:53,389 --> 00:34:56,600 Тоа е како додавање на функција, за да вашиот програма или вашата функција, во овој случај. 857 00:34:56,600 --> 00:34:57,830 Тоа сепак се враќа ништо. 858 00:34:57,830 --> 00:35:00,538 Тоа би можело да имаат визуелен пропратен ефект, затоа што тоа е повик за печатење f. 859 00:35:00,538 --> 00:35:02,800 Но сега можам да parametrized функцијата, која 860 00:35:02,800 --> 00:35:06,470 значи дека имаш специфицирано преземени внесување на int тип и го нарекуваат n, 861 00:35:06,470 --> 00:35:08,510 но можев да го наречеме се што сакам. 862 00:35:08,510 --> 00:35:11,550 Всушност, тоа само може да биде пати да биде уште поексплицитен. 863 00:35:11,550 --> 00:35:13,310 И тогаш јас само може да се промени овој овде. 864 00:35:13,310 --> 00:35:16,450 Но поентата е дека ова е како јас креирате функција која го влез. 865 00:35:16,450 --> 00:35:19,530 И ако се потсетиме нервира можеби преку интернет во една 866 00:35:19,530 --> 00:35:23,000 на прошетка низ тие, на Четвртата и последна пример кашлица, 867 00:35:23,000 --> 00:35:27,150 ќе забележите тука сум генерализирана код мојот further-- вид на апстрахирани 868 00:35:27,150 --> 00:35:27,690 што понатаму. 869 00:35:27,690 --> 00:35:31,390 Како кашлање и кивање, и двете се за како да кажеш нешто или да се направат 870 00:35:31,390 --> 00:35:32,330 некој вид на звук. 871 00:35:32,330 --> 00:35:34,725 Зачувај ќе биде што одговара на гребење блок. 872 00:35:34,725 --> 00:35:37,350 И така она што го направив во оваа верзија, која ние само може да се загледувам во, 873 00:35:37,350 --> 00:35:43,170 е кашлица е исто како да кажеш, [кашлица], кашла, а во меѓувреме, кивањето е 874 00:35:43,170 --> 00:35:44,570 како да кажеш, [ACHOO]. 875 00:35:44,570 --> 00:35:46,900 И така јас сум генерализирана спроведувањето на тие 876 00:35:46,900 --> 00:35:48,970 од сега ги спроведуваат оваа генеричка функција, 877 00:35:48,970 --> 00:35:51,490 велат, што е интересно за денешните потреби 878 00:35:51,490 --> 00:35:54,300 само поради тоа што се уште нема врати видот. 879 00:35:54,300 --> 00:35:56,398 Но, колку влезови има? 880 00:35:56,398 --> 00:35:56,981 ПУБЛИКАТА: Двајца. 881 00:35:56,981 --> 00:35:57,430 ЗВУЧНИЦИ 1: Двајца. 882 00:35:57,430 --> 00:35:59,263 И така, ако сакате да земе во два аргументи, 883 00:35:59,263 --> 00:36:00,710 само одделете ги со запирка. 884 00:36:00,710 --> 00:36:03,110 И ако сакате да потоа јавете се на таа функција, 885 00:36:03,110 --> 00:36:05,800 известување дека сте само јавете се на пример, цитат, unquote, 886 00:36:05,800 --> 00:36:09,090 за прв аргумент, заеднички n, за вториот аргумент. 887 00:36:09,090 --> 00:36:12,130 Значи, повторно, ние само треба сега градежни блокови, така што ние всушност може да 888 00:36:12,130 --> 00:36:15,686 имплементираат некои од нашите сопствени функции. 889 00:36:15,686 --> 00:36:16,570 Во ред. 890 00:36:16,570 --> 00:36:19,690 Било какви прашања во врска со тоа? 891 00:36:19,690 --> 00:36:22,400 >> Па сега ајде да лупам назад слој ако е така. 892 00:36:22,400 --> 00:36:24,840 И целта, во крајна линија, е следната недела проблем сет 893 00:36:24,840 --> 00:36:27,710 ќе биде на cryptogrophy-- уметноста на scrambling информации. 894 00:36:27,710 --> 00:36:30,640 И посебно, на информации ќе имаш шифрирате или дешифрирате 895 00:36:30,640 --> 00:36:31,605 ќе биде текст. 896 00:36:31,605 --> 00:36:33,980 И така тој вид на покани На прашањето како и денес, 897 00:36:33,980 --> 00:36:38,480 она што се случува под хаубата со ASCII текст надвор од нула недела 898 00:36:38,480 --> 00:36:40,730 И како можеме да всушност да почне да се манипулира со него? 899 00:36:40,730 --> 00:36:43,070 Па овде е името Zamyla е. 900 00:36:43,070 --> 00:36:47,380 А во текстот, кој може да се внесуваат како и во функција на се стринг. 901 00:36:47,380 --> 00:36:52,540 И сега почнува, кога ќе видите жиците како this-- Ш-А-М-Y-Л-A-- 902 00:36:52,540 --> 00:36:56,550 да почнат да размислуваат за тоа како секоја на тие ликови во една кутија од своите 903 00:36:56,550 --> 00:36:57,050 сопствена. 904 00:36:57,050 --> 00:36:59,460 И навистина, во една недела или така е време, секој од овие кутии 905 00:36:59,460 --> 00:37:04,280 ќе претставува многу конкретно блок на memory-- залак на меморија. 906 00:37:04,280 --> 00:37:07,050 Така што секоја од овие букви, во крајна линија, ќе ја претставуваат 8 бита. 907 00:37:07,050 --> 00:37:10,560 И ние, всушност, ќе видите што се случува на под хаубата во мојот компјутер. 908 00:37:10,560 --> 00:37:13,440 >> Но, поради тоа што не е доволно само да се погледне во Zamyla 909 00:37:13,440 --> 00:37:17,520 преку овој објектив, при што секој од овие писма е во свој кутија. 910 00:37:17,520 --> 00:37:22,697 И доволно убаво во С можеме пристап до секој од овие кутии директно. 911 00:37:22,697 --> 00:37:25,530 Значи, ако сакате да ја добие првата буква од нејзиното име, супер лесно во В. 912 00:37:25,530 --> 00:37:28,410 Ако сакате да се добие последните писмо, супер лесно, како и 913 00:37:28,410 --> 00:37:30,240 со парче нова синтакса. 914 00:37:30,240 --> 00:37:36,250 >> Па јас ќе одам да се оди напред во CS50 IDE и отвори низа нулта точката В. 915 00:37:36,250 --> 00:37:40,270 И во овој пример тука, постојат неколку нови работи се случува. 916 00:37:40,270 --> 00:37:44,360 Па прв во линија 19, ние сме видел оваа before-- стапите стринг. 917 00:37:44,360 --> 00:37:49,840 Па само како брза проверка разумност, дали некој може да им понуди до вербално 918 00:37:49,840 --> 00:37:52,662 објаснување на лаик она што се случува во линија 19. 919 00:37:52,662 --> 00:37:55,370 Како само преведеме сето ова во Англиски дека не цимер во CS50 920 00:37:55,370 --> 00:37:56,416 може да се разбере. 921 00:37:56,416 --> 00:37:56,916 Је. 922 00:37:56,916 --> 00:37:59,749 >> ПУБЛИКАТА: Дали на корисникот внесување на стринг и чувајте го на променлива е. 923 00:37:59,749 --> 00:38:01,934 924 00:38:01,934 --> 00:38:02,600 ЗВУЧНИЦИ 1: Добро. 925 00:38:02,600 --> 00:38:05,579 Има корисникот влез стринг и чувајте го на променлива е. 926 00:38:05,579 --> 00:38:06,120 Тоа е супер. 927 00:38:06,120 --> 00:38:08,090 Па на десната рака страна, ние го нарекуваме стапите стринг. 928 00:38:08,090 --> 00:38:10,340 Која враќа вредност дека не се доделени 929 00:38:10,340 --> 00:38:14,230 од десната страна за левата рака страна во променлива наречена а тоа е 930 00:38:14,230 --> 00:38:15,950 дизајниран за складирање низа. 931 00:38:15,950 --> 00:38:16,800 Токму така. 932 00:38:16,800 --> 00:38:20,000 >> Па сега се редат 22, по коментар во линија 21, 933 00:38:20,000 --> 00:38:22,780 очигледно отпечатоци дека низа по еден знак на линија. 934 00:38:22,780 --> 00:38:23,740 Но како? 935 00:38:23,740 --> 00:38:27,040 Значи прво на сите, ние I од 0 иницијализира. 936 00:38:27,040 --> 00:38:31,061 А потоа како да се добие за да се на крајот од името Zamyla е? 937 00:38:31,061 --> 00:38:32,810 Па, на крајот на Име Zamyla е, би можел 938 00:38:32,810 --> 00:38:38,151 рачно да напишете во последните карактер нејзиното име некако, или бројот на него. 939 00:38:38,151 --> 00:38:38,650 Нели? 940 00:38:38,650 --> 00:38:43,500 Ако се вратиме here-- Ш-А-М-L-- Y-Л-A-- па можев да напишете. 941 00:38:43,500 --> 00:38:47,340 Што е индексот на Последно писмо Zamyla е? 942 00:38:47,340 --> 00:38:52,517 Ако ова е 0-- земено како programmer-- 0, 1, 2, 3, 4, 5, 943 00:38:52,517 --> 00:38:56,570 Јас heard-- така навистина, последната буква во име Zamyla е шестата, 944 00:38:56,570 --> 00:38:58,890 но ако ние сметаме од 0, тоа се случува да биде број 5. 945 00:38:58,890 --> 00:39:01,320 Така да тоа во предвид овде. 946 00:39:01,320 --> 00:39:04,929 >> Излегува има функција во С наречен strlen, и назад во текот на денот 947 00:39:04,929 --> 00:39:06,720 и до денешен ден, сепак, Многу програмери 948 00:39:06,720 --> 00:39:09,524 да изберат да ги синхронизирате имиња за своите функции кои звучат како зборовите 949 00:39:09,524 --> 00:39:10,440 тие се обидуваат да се каже. 950 00:39:10,440 --> 00:39:12,590 Па strlen е стринг должина. 951 00:39:12,590 --> 00:39:18,168 И така што ќе се стринг должината на С врати кога Zamyla е влез? 952 00:39:18,168 --> 00:39:19,569 >> ПУБЛИКАТА: Пет. 953 00:39:19,569 --> 00:39:22,090 >> ЗВУЧНИЦИ 1: Ш-А-М-Y-L. Шест. 954 00:39:22,090 --> 00:39:22,590 Нели? 955 00:39:22,590 --> 00:39:23,940 Што е должината на името Zamyla е? 956 00:39:23,940 --> 00:39:24,440 Нели? 957 00:39:24,440 --> 00:39:26,240 И само во реалноста, шест букви. 958 00:39:26,240 --> 00:39:26,740 Нели? 959 00:39:26,740 --> 00:39:28,940 И така, што значи тоа за нашата телефонска линија? 960 00:39:28,940 --> 00:39:32,130 Ние ќе треба да одат од 0 до шест, што 961 00:39:32,130 --> 00:39:33,650 ќе ни даде пет повторувања. 962 00:39:33,650 --> 00:39:34,890 Што ќе правиме на секој повторување? 963 00:39:34,890 --> 00:39:36,870 Па, проценти C, некој претпоставам пред некој ден, 964 00:39:36,870 --> 00:39:38,710 значи случаеви за што? 965 00:39:38,710 --> 00:39:39,335 >> ПУБЛИКАТА: знак. 966 00:39:39,335 --> 00:39:40,293 ЗВУЧНИЦИ 1: Само знак. 967 00:39:40,293 --> 00:39:42,877 Па еден character-- не повеќе ликови како низа. 968 00:39:42,877 --> 00:39:45,251 И потоа, тука е нова линија дека ние го добивме печатење. 969 00:39:45,251 --> 00:39:46,580 И потоа, тука е нова синтакса. 970 00:39:46,580 --> 00:39:51,130 Ако сакате да испечатите на i-тиот карактер во низа S, така да се каже, 971 00:39:51,130 --> 00:39:54,060 можете едноставно да се каже име на стрингот С, 972 00:39:54,060 --> 00:39:58,230 и потоа отворете квадратни заграда, и потоа затворена заграда квадратни, со з 973 00:39:58,230 --> 00:39:58,780 средината. 974 00:39:58,780 --> 00:40:01,430 И тоа е вид на убаво во таа тој вид на личи на плоштадот 975 00:40:01,430 --> 00:40:06,210 исто како и на плоштадите во кои е Zamyla постојат знаци на таа слика таму. 976 00:40:06,210 --> 00:40:09,970 >> Значи, ако јас, всушност, ја извршите оваа Сега, ајде да видиме што се случува. 977 00:40:09,970 --> 00:40:15,190 Направи низа 0 точка коса црта стринг 0, а потоа сум 978 00:40:15,190 --> 00:40:16,720 случува да напишете име Zamyla е. 979 00:40:16,720 --> 00:40:19,428 Не постои брза, бидејќи јас не користете печатење ѓ, но тоа е во ред. 980 00:40:19,428 --> 00:40:20,660 Јас само знам што да правам. 981 00:40:20,660 --> 00:40:23,240 И навистина, отпечатоци од Име Zamyla е, еден на линија. 982 00:40:23,240 --> 00:40:25,760 >> Сега ајде да се биде малку невнимателни. 983 00:40:25,760 --> 00:40:28,461 Да претпоставиме дека јас не знам за strlen и јас сфатиле, 984 00:40:28,461 --> 00:40:31,460 сите права, никој нема да има именува како поголем од 50 карактери. 985 00:40:31,460 --> 00:40:36,360 Ајде да одиме напред и да го прекомпајлирате ова и повторување, и потоа внеси во Zamyla 986 00:40:36,360 --> 00:40:37,160 повторно. 987 00:40:37,160 --> 00:40:40,850 Логично, што е Програмата ќе се обидат да ги испечатите? 988 00:40:40,850 --> 00:40:49,545 Z-A-M-Y-L-A, тогаш како 45 непознати бајти меморија. 989 00:40:49,545 --> 00:40:51,670 И навистина, ние ќе се вратам на оваа идеја на меморија. 990 00:40:51,670 --> 00:40:54,180 Но, само логично, ако Име Zamyla е толку долго, 991 00:40:54,180 --> 00:40:56,450 како на сликата тука, она што си ти што зборуваш 992 00:40:56,450 --> 00:40:59,810 се задржи печатење, печатење задржи, да ги задржи печатење, печатење задржи, да ги задржи за печатење, 993 00:40:59,810 --> 00:41:03,781 па се до 50-карактер, што кој знае што ќе се случи. 994 00:41:03,781 --> 00:41:05,030 Значи, да се, всушност, да ги разгледаме. 995 00:41:05,030 --> 00:41:06,720 Ајде да напишете во Zamyla. 996 00:41:06,720 --> 00:41:07,250 Интересно. 997 00:41:07,250 --> 00:41:08,190 Ние се насмевна. 998 00:41:08,190 --> 00:41:09,700 Само еден куп на белиот простор. 999 00:41:09,700 --> 00:41:09,930 Ох. 1000 00:41:09,930 --> 00:41:11,120 Има една фанки карактер. 1001 00:41:11,120 --> 00:41:14,577 Тоа изгледа како вид на чудно прашање одбележи таму, но постои име Zamyla е. 1002 00:41:14,577 --> 00:41:15,660 Ајде да се добие навистина невнимателни. 1003 00:41:15,660 --> 00:41:20,000 Како за ние печати од 500 блокови во непознато? 1004 00:41:20,000 --> 00:41:24,380 Ајде да одиме напред и да се направи ова како и, а потоа повторно да се кандидира. 1005 00:41:24,380 --> 00:41:27,980 И ајде цел екран него, затоа што ние треба да видите повеќе простор. 1006 00:41:27,980 --> 00:41:30,460 Zamyla. 1007 00:41:30,460 --> 00:41:31,830 Се насмевна повторно. 1008 00:41:31,830 --> 00:41:33,070 >> Осмелуваат да добиеме повеќе несовесно? 1009 00:41:33,070 --> 00:41:36,070 Ајде да се добие повеќе невнимателни. 1010 00:41:36,070 --> 00:41:39,350 50.000 карактери. 1011 00:41:39,350 --> 00:41:41,390 Ова не е повеќето сигурно е добра идеја. 1012 00:41:41,390 --> 00:41:41,890 Во ред. 1013 00:41:41,890 --> 00:41:42,990 Направи низа 0. 1014 00:41:42,990 --> 00:41:44,720 Ова ќе биде нашата последна демо. 1015 00:41:44,720 --> 00:41:47,261 Zamyla. 1016 00:41:47,261 --> 00:41:48,632 Ugh. 1017 00:41:48,632 --> 00:41:50,010 Ugh. 1018 00:41:50,010 --> 00:41:50,680 ВО РЕД. 1019 00:41:50,680 --> 00:41:54,407 Значи мојата меморија е навистина празни токму сега, кој е всушност вид на лесен. 1020 00:41:54,407 --> 00:41:55,990 Она што јас сум се обидува да добие to-- ред. 1021 00:41:55,990 --> 00:41:57,614 И сега јас сум само ќе се невнимателни. 1022 00:41:57,614 --> 00:41:58,570 500.000. 1023 00:41:58,570 --> 00:42:03,860 Make-- ајде полн екран него. 1024 00:42:03,860 --> 00:42:04,990 Влезе. 1025 00:42:04,990 --> 00:42:05,490 Zamyla. 1026 00:42:05,490 --> 00:42:12,050 1027 00:42:12,050 --> 00:42:13,390 Таму ќе одиме. 1028 00:42:13,390 --> 00:42:15,610 Јас немам идеја што тој е, но тоа звучи лошо. 1029 00:42:15,610 --> 00:42:16,110 Во ред. 1030 00:42:16,110 --> 00:42:20,322 И всушност, наскоро, ако сте меѓу среќните неколку во работното време 1031 00:42:20,322 --> 00:42:22,780 а во еден проблем во собата, можете многу добро може да се судрите со овој. 1032 00:42:22,780 --> 00:42:25,490 Сегментација на вина всушност не имаат добро дефинирани значење. 1033 00:42:25,490 --> 00:42:28,450 Тоа значи дека некој вид на грешка кои се однесуваат на еден сегмент на меморија. 1034 00:42:28,450 --> 00:42:30,490 И во однос на Едноставен, тоа значи дека ние се осврна 1035 00:42:30,490 --> 00:42:34,780 memory-- ние се користи RAM меморија во мојот компјутер дека не треба да имаат пристап до. 1036 00:42:34,780 --> 00:42:37,050 И тоа е она што е и двете моќен и исто така опасно 1037 00:42:37,050 --> 00:42:39,910 за C е дека вие всушност имаат непречен пристап 1038 00:42:39,910 --> 00:42:45,910 на целокупната меморија вашата програма или бајти или RAM меморија, поточно. 1039 00:42:45,910 --> 00:42:49,510 >> Значи иако името е Zamyla е долг само шест карактери, 1040 00:42:49,510 --> 00:42:51,450 Јас се уште може да оди никаде во меморијата што сакам. 1041 00:42:51,450 --> 00:42:53,491 И како настрана, ако сте некогаш прочитате некои статија 1042 00:42:53,491 --> 00:42:55,610 во текот на годините за некои сервер или некоја програма 1043 00:42:55,610 --> 00:42:58,654 се испукани или пробиени тоа е преземени предност на нешто 1044 00:42:58,654 --> 00:43:00,820 повика на buffer overflow експлоатира дека ние всушност ќе 1045 00:43:00,820 --> 00:43:04,970 се зборува за неколку недели, тоа е генерално се однесуваат на некој начин трикови 1046 00:43:04,970 --> 00:43:09,090 компјутер во одвиваат добро надвор од границите на меморија 1047 00:43:09,090 --> 00:43:11,410 дека треба да има, и наоѓање на нешто сочно 1048 00:43:11,410 --> 00:43:13,530 со тоа, што memory-- на лозинка, можеби, на начин 1049 00:43:13,530 --> 00:43:16,990 за заобиколување на некои сериски број чек, или само генерално во состојба 1050 00:43:16,990 --> 00:43:20,360 за да го излаже компјутерот е извршување код, кој не е наменет. 1051 00:43:20,360 --> 00:43:22,360 Но, ајде да се врати на Реалноста за само еден миг 1052 00:43:22,360 --> 00:43:24,550 каде што оваа програма е спроведува со strlen, 1053 00:43:24,550 --> 00:43:26,110 и да се воведе една работа тука. 1054 00:43:26,110 --> 00:43:30,030 Што е ново меѓу овие првите три редови? 1055 00:43:30,030 --> 00:43:30,910 >> Па низа точка ч. 1056 00:43:30,910 --> 00:43:35,490 Излегува има оваа библиотека наречена Стринг Дот Н, или стринг библиотека, 1057 00:43:35,490 --> 00:43:38,490 чија хедер датотека, така да се каже, е стринг точка ж што ми дава 1058 00:43:38,490 --> 00:43:40,860 пристап до овој strlen функција. 1059 00:43:40,860 --> 00:43:43,841 Ако јас ја изостави дека, компајлерот е ќе се развикам на мене во некоја форма. 1060 00:43:43,841 --> 00:43:44,590 Но знаеш што? 1061 00:43:44,590 --> 00:43:46,090 Сега ајде да се навистина нијансирана. 1062 00:43:46,090 --> 00:43:50,820 Во линија 22, има нешто вид на inefficient-- лошо дизајнирани, 1063 00:43:50,820 --> 00:43:53,990 arguably-- за оваа линија код. 1064 00:43:53,990 --> 00:43:56,280 Се сетам на тоа како се спроведуваат за циклус 1065 00:43:56,280 --> 00:44:00,140 и кои чекори да се случи повторно и повторно и again-- иницијализација, 1066 00:44:00,140 --> 00:44:04,110 состојбата, кодот што добива погубен, а потоа на прираст 1067 00:44:04,110 --> 00:44:07,880 или промена, тогаш состојбата, а потоа го кодот, а потоа на промена, тогаш 1068 00:44:07,880 --> 00:44:11,280 состојбата, а потоа го кодот, тогаш промената, и така натаму. 1069 00:44:11,280 --> 00:44:15,320 Значи она што може да биде малку загрижувачки или лошо направено во оваа ситуација? 1070 00:44:15,320 --> 00:44:16,387 Да, во сина боја. 1071 00:44:16,387 --> 00:44:18,220 ПУБЛИКАТА: strlen е наречен многу, многу пати. 1072 00:44:18,220 --> 00:44:20,654 1073 00:44:20,654 --> 00:44:21,320 ЗВУЧНИЦИ 1: Да. 1074 00:44:21,320 --> 00:44:23,700 Strlen така се нарекува многу пати, но она што е 1075 00:44:23,700 --> 00:44:27,113 должината на името Zamyla е на прв пат јамка извршува? 1076 00:44:27,113 --> 00:44:27,860 >> ПУБЛИКАТА: Шест. 1077 00:44:27,860 --> 00:44:28,110 >> ЗВУЧНИЦИ 1: Шест. 1078 00:44:28,110 --> 00:44:30,976 Па, она што е должината на нејзиното име по втор пат на кодот се извршува? 1079 00:44:30,976 --> 00:44:31,432 >> ПУБЛИКАТА: Шест. 1080 00:44:31,432 --> 00:44:31,890 >> ЗВУЧНИЦИ 1: Во ред. 1081 00:44:31,890 --> 00:44:32,720 Тоа е уште шест. 1082 00:44:32,720 --> 00:44:33,220 Нели? 1083 00:44:33,220 --> 00:44:35,260 Име Zarla не има менува, дури и ако јас сум во потрага 1084 00:44:35,260 --> 00:44:38,240 на само дел од писмата во нејзино име. 1085 00:44:38,240 --> 00:44:41,349 Така и на фактот дека јас сум ефикасно бара ова прашање, што е 1086 00:44:41,349 --> 00:44:44,640 должината на Zamyla, што е должината на Zamyla, што е должината на Zamyla, 1087 00:44:44,640 --> 00:44:47,990 шест одделни пати, или дури седум, е само глупаво, 1088 00:44:47,990 --> 00:44:50,390 затоа што тоа е непроменлива тој одговор. 1089 00:44:50,390 --> 00:44:53,550 И така, јас всушност би можеле да направите е this-- во еден стринг 1090 00:44:53,550 --> 00:44:55,680 Имам малку подобра верзија тука. 1091 00:44:55,680 --> 00:45:00,110 There-- whoops-- стринг две имам маргинално подобар верзија кадешто 1092 00:45:00,110 --> 00:45:05,010 Правам this-- наместо само иницијализацијата I до 0, јас, исто така, со запирка 1093 00:45:05,010 --> 00:45:07,990 изјасни за втората променлива наречена n-- јас не мора да се каже int повторно. 1094 00:45:07,990 --> 00:45:09,220 Јас не би требало, во факт. 1095 00:45:09,220 --> 00:45:10,380 Но, велам n. 1096 00:45:10,380 --> 00:45:13,610 И тогаш јас се иницијализира n да на strlen на n, така што сега 1097 00:45:13,610 --> 00:45:17,110 колку пати се strlen се извршуваат во вкупен? 1098 00:45:17,110 --> 00:45:17,610 Само еднаш. 1099 00:45:17,610 --> 00:45:20,257 Па така ова е она што значи порано за подобар дизајн. 1100 00:45:20,257 --> 00:45:23,090 Всушност, еднаш вашиот код е точен, ќе се вратам и размислувањето, 1101 00:45:23,090 --> 00:45:26,820 Јас сум со користење на малку меморија или како неколку секунди 1102 00:45:26,820 --> 00:45:30,409 или милисекунди на компјутерски време како можно да се имплементираат некои проблем? 1103 00:45:30,409 --> 00:45:32,200 А јас ќе одам да се движите и само се спомене 1104 00:45:32,200 --> 00:45:34,283 дека има овој споменување на нула во оваа верзија, 1105 00:45:34,283 --> 00:45:36,390 но ние ќе се вратам на тоа пред долго. 1106 00:45:36,390 --> 00:45:41,010 Затоа што за сега, ајде да ги разгледаме од каде што ова се случува да не води. 1107 00:45:41,010 --> 00:45:44,110 Така еден, излегува дека сега дека ние имаме способност 1108 00:45:44,110 --> 00:45:46,860 да се погледне во индивидуални карактери, можеме да се потпора нешто 1109 00:45:46,860 --> 00:45:50,807 од недела 0 тоа беше најскриените и вид на неинтересен во тоа време. 1110 00:45:50,807 --> 00:45:53,390 Но, сега, и особено кога се добијат со криптографија во една недела, 1111 00:45:53,390 --> 00:45:54,820 тоа се случува да биде прилично моќна. 1112 00:45:54,820 --> 00:45:57,450 Излегува дека со некои ints и плови податоци types-- 1113 00:45:57,450 --> 00:46:00,300 и карактери и стрингови и други things-- некои од нив 1114 00:46:00,300 --> 00:46:02,800 многу лесно може да се конвертира во друг. 1115 00:46:02,800 --> 00:46:05,840 >> На пример, кога ние разговаравме за ASCII некое време ago-- еве 1116 00:46:05,840 --> 00:46:07,796 на големи букви А преку М, точка, точка, 1117 00:46:07,796 --> 00:46:12,530 dot-- рековме дека има мапирање помеѓу овие букви и броеви. 1118 00:46:12,530 --> 00:46:14,970 И всушност, тоа важи и за мали букви, како и. 1119 00:46:14,970 --> 00:46:17,470 Мали букви a е 97, главниот град е 65. 1120 00:46:17,470 --> 00:46:20,860 И има голем број во ASCII, што е само ова мапирање 1121 00:46:20,860 --> 00:46:23,240 систем за сите оние други писма. 1122 00:46:23,240 --> 00:46:25,030 Значи она што значи тоа? 1123 00:46:25,030 --> 00:46:28,390 Па, јас ќе одам да се оди напред и отворено недвижен брзо нешто што се нарекува 1124 00:46:28,390 --> 00:46:31,240 ASCII 0, од ​​кои повеќето се коментари. 1125 00:46:31,240 --> 00:46:33,860 И повторно на интернет може да се секогаш поглед низ коментари. 1126 00:46:33,860 --> 00:46:36,180 >> И да погледнам што тоа се случува да се направи. 1127 00:46:36,180 --> 00:46:38,410 Па тоа е се здобија со главната функција. 1128 00:46:38,410 --> 00:46:41,490 Сум хард-кодирани броеви само за сега, затоа што знам што правам. 1129 00:46:41,490 --> 00:46:42,950 Знам дека она што сакам да го видам овде. 1130 00:46:42,950 --> 00:46:45,220 И јас сум јас иницијализиран на 65. 1131 00:46:45,220 --> 00:46:48,490 И јас сум со броење до преку 26 букви вкупно. 1132 00:46:48,490 --> 00:46:52,990 И она што сум јас ќе печати една линија во еден момент 1133 00:46:52,990 --> 00:46:54,930 ако може да се интерпретираат овој истакнат линија? 1134 00:46:54,930 --> 00:46:55,970 Што добива печатено? 1135 00:46:55,970 --> 00:46:56,797 Је. 1136 00:46:56,797 --> 00:46:57,264 >> ПУБЛИКАТА: Дали ви се случува да се печати на писмото што 1137 00:46:57,264 --> 00:46:59,805 одговара на мапа на писмо вредност и целобројна вредност? 1138 00:46:59,805 --> 00:47:01,199 1139 00:47:01,199 --> 00:47:01,990 ЗВУЧНИЦИ 1: Токму така. 1140 00:47:01,990 --> 00:47:04,740 Одам да се печати на писмото што одговара на вредноста на цел број, 1141 00:47:04,740 --> 00:47:06,131 и обратно, како што следи. 1142 00:47:06,131 --> 00:47:08,880 Па ова, некој рече претходно, е само случаеви за знак. 1143 00:47:08,880 --> 00:47:09,490 Се уште е. 1144 00:47:09,490 --> 00:47:12,280 Ова, се разбира, е случаеви за да не int-- нова линија. 1145 00:47:12,280 --> 00:47:18,140 И сега се забележи, мојата прва вредност што Јас сум за приклучување кои случаеви 1146 00:47:18,140 --> 00:47:22,320 не е само јас сакам да кажам дека, во загради, знак јас, 1147 00:47:22,320 --> 00:47:26,700 која заграда знак е кажување на компајлерот, третира јас 1148 00:47:26,700 --> 00:47:28,490 не како што е тоа, што е број. 1149 00:47:28,490 --> 00:47:30,490 Третирај го како вистински карактер. 1150 00:47:30,490 --> 00:47:34,490 Додека вториот вредност сум приклучување in-- I-- само треба да биде број. 1151 00:47:34,490 --> 00:47:38,140 >> Значи, ако јас ги собере на оваа program-- така што ова е направи ASCII 0, 1152 00:47:38,140 --> 00:47:41,720 дот коса црта ASCII 0-- јас само се оваа корисна малку шема дека 1153 00:47:41,720 --> 00:47:44,950 ми покажува сите можни мапирање, без да се размисли 1154 00:47:44,950 --> 00:47:46,450 преку или да го дознаам на моето. 1155 00:47:46,450 --> 00:47:48,783 И јас сум исто така, печатење, известување на мали букви, 1156 00:47:48,783 --> 00:47:51,410 бидејќи неколку линии подоцна, јас исто така се печати ова мапирање 1157 00:47:51,410 --> 00:47:53,737 како и, што е само за да се велат дека откако ќе се разбере 1158 00:47:53,737 --> 00:47:55,570 она што се случува во позадината капакот на моторот, може да ви 1159 00:47:55,570 --> 00:47:57,111 автоматски да се конвертира назад и назад. 1160 00:47:57,111 --> 00:48:00,160 И всушност, ако некој од вас сторила ова ќе тргнат на училиште 1161 00:48:00,160 --> 00:48:03,490 или слушнале за некој mythically земајќи белешка 1162 00:48:03,490 --> 00:48:05,620 и донесување на неговата или нејзиниот пријател во класа, 1163 00:48:05,620 --> 00:48:08,300 но вие испомешани на писмата на како А станува Б, 1164 00:48:08,300 --> 00:48:11,240 и Б станува C, или нешто покомплицирано од тоа, добро, 1165 00:48:11,240 --> 00:48:13,410 како би се обратите за за спроведување на тоа како дете? 1166 00:48:13,410 --> 00:48:16,340 Па, ти само вид знам A станува B, B станува C, 1167 00:48:16,340 --> 00:48:19,700 но математички, она што го правев тоа дете? 1168 00:48:19,700 --> 00:48:22,050 Што бараше додавање на секоја буква? 1169 00:48:22,050 --> 00:48:23,340 Ефикасно, 1. 1170 00:48:23,340 --> 00:48:27,740 >> Па кога ќе се промени А до Б, тоа е како вид на промена на 65-66, 1171 00:48:27,740 --> 00:48:29,590 кој математички значи само додадете 1. 1172 00:48:29,590 --> 00:48:33,300 И така, ако сте во ситуација да се имплементира дека малку измамен техника 1173 00:48:33,300 --> 00:48:36,380 за вашиот учител во кодот, Може да се направи токму тоа само 1174 00:48:36,380 --> 00:48:38,552 со додавање на една буква заедно. 1175 00:48:38,552 --> 00:48:40,260 Па пред долго време, ние сме ќе видиме како ќе се 1176 00:48:40,260 --> 00:48:43,300 може да ги искористат предностите на тоа да се, всушност, вистински трка и разшифровам 1177 00:48:43,300 --> 00:48:43,991 информации. 1178 00:48:43,991 --> 00:48:47,240 Во меѓувреме, се знае дека ние сме отворени да се воведе неколку други библиотеки 1179 00:48:47,240 --> 00:48:48,990 here-- стрингот еден денес. 1180 00:48:48,990 --> 00:48:51,180 И многу корисен сајт се надевам дека ќе најдете 1181 00:48:51,180 --> 00:48:55,010 се нарекува reference.cs50.net, која наставниот кадар да се стави заедно, 1182 00:48:55,010 --> 00:48:57,510 така што, ако сакате да Побарајте Како strlen дела, 1183 00:48:57,510 --> 00:48:59,300 можете да почнете со пишување името на функцијата, 1184 00:48:59,300 --> 00:49:02,890 кликнете strlen таму, а потоа толку либерален објаснување 1185 00:49:02,890 --> 00:49:03,700 ќе се појави. 1186 00:49:03,700 --> 00:49:06,880 Или ако сакате официјалниот Linux-базиран објаснување, 1187 00:49:06,880 --> 00:49:08,945 можете да кликнете на повеќе удобен во горниот десен агол, и тоа 1188 00:49:08,945 --> 00:49:12,070 ќе ги презентираат истите информации, но во посложени услови. 1189 00:49:12,070 --> 00:49:15,070 Тоа е корисен извор за всушност знаеме што се што прави. 1190 00:49:15,070 --> 00:49:17,320 >> Следниот пат кога ние ќе треба да погледнеме Ovaltine 1191 00:49:17,320 --> 00:49:20,070 и повеќе, и да се воведе во светот на криптографија. 1192 00:49:20,070 --> 00:49:21,930 Пред тоа, ќе видиме можете подоцна оваа недела. 1193 00:49:21,930 --> 00:49:23,390 И сега, Колтон Огден. 1194 00:49:23,390 --> 00:49:26,730 Ќе го видите во средата. 1195 00:49:26,730 --> 00:49:30,216 >> [Музички] 1196 00:49:30,216 --> 00:49:33,702 >> [Музички] 1197 00:49:33,702 --> 00:49:38,682 1198 00:49:38,682 --> 00:49:42,200 >> ЗВУЧНИЦИ 1: Што [Bleep] правиш? 1199 00:49:42,200 --> 00:49:45,720 >> ЗВУЧНИЦИ 1: Јас јадам мојот десерт? 1200 00:49:45,720 --> 00:49:47,160 Како ви се јаде? 1201 00:49:47,160 --> 00:49:47,860 Со вашите раце? 1202 00:49:47,860 --> 00:49:54,050 1203 00:49:54,050 --> 00:49:57,940 >> [Музички] 1204 00:49:57,940 --> 00:50:03,453