1 00:00:00,000 --> 00:00:05,530 2 00:00:05,530 --> 00:00:09,790 >> ПРОФЕСОР: Дакле, агенда за ове недеље, не толико ствари. 3 00:00:09,790 --> 00:00:12,801 Али надамо се веома, веома корисно и релевантни за вас ове недеље. 4 00:00:12,801 --> 00:00:15,550 Али ми ћемо провести можда 15, 20 минута само брзо талкинг 5 00:00:15,550 --> 00:00:17,370 о линк листе. 6 00:00:17,370 --> 00:00:19,694 Линк листе ће бити покривени на квизу. 7 00:00:19,694 --> 00:00:22,610 Дакле, можда би било врло корисно да науче нешто о шта је то. 8 00:00:22,610 --> 00:00:25,210 >> Ми ћемо провести огромна Већина данашње секције 9 00:00:25,210 --> 00:00:27,640 иде преко квиз нула праксе проблема. 10 00:00:27,640 --> 00:00:30,970 А онда ћемо спасити можда 20, 30 минута на крају за сва питања задржавају 11 00:00:30,970 --> 00:00:32,850 свако има. 12 00:00:32,850 --> 00:00:34,610 >> А онда, последњи пет минута, ја идем 13 00:00:34,610 --> 00:00:36,467 дати пумпе до говор за квиз. 14 00:00:36,467 --> 00:00:38,050 Ви сви желимо да будемо овде због тога. 15 00:00:38,050 --> 00:00:39,591 Зато што ће бити добро време. 16 00:00:39,591 --> 00:00:42,650 17 00:00:42,650 --> 00:00:49,230 >> У реду, нека материјал на линк листи. 18 00:00:49,230 --> 00:00:52,620 Како они обично се структурирани је имате оно што се зове чвор, зар не? 19 00:00:52,620 --> 00:00:54,870 Имате такве ствари се зову чворови, који су Структуре. 20 00:00:54,870 --> 00:00:57,360 Идем преко како створити чвор у следећем слајду. 21 00:00:57,360 --> 00:01:00,680 Међутим суштински сви повезани Листе је податак да је 22 00:01:00,680 --> 00:01:03,340 је заједно нанизани преко показивача. 23 00:01:03,340 --> 00:01:09,110 >> И тако је предност имамо користећи повезану листу преко, 24 00:01:09,110 --> 00:01:11,280 можда, као низа, је чињеница да у низу 25 00:01:11,280 --> 00:01:15,000 Потребан вам је један гранични блок меморија све на истом месту, један 26 00:01:15,000 --> 00:01:16,870 другом, да би могли да имају то. 27 00:01:16,870 --> 00:01:20,200 Док повезане листе, можеш има случајних мале делове меморије 28 00:01:20,200 --> 00:01:23,020 по целом рачунару нанизани заједно показивачима. 29 00:01:23,020 --> 00:01:26,270 >> И на овај начин могу да приступе информацијама 30 00:01:26,270 --> 00:01:28,610 који долази једна за други, после друге 31 00:01:28,610 --> 00:01:32,720 без потребе само огроман комад меморија на рачунару негде. 32 00:01:32,720 --> 00:01:35,910 И то је један од главних Разлози због којих користимо линк листе. 33 00:01:35,910 --> 00:01:40,300 >> Друго, то је врло лако да се динамички величину листу линк јер је у низу, 34 00:01:40,300 --> 00:01:44,720 када прогласи низ, имате неког скупа вредности. 35 00:01:44,720 --> 00:01:47,340 Рецимо да је желео да створи низ од 10 целих бројева. 36 00:01:47,340 --> 00:01:49,970 Ја створити низ од 10 целих, и то је то. 37 00:01:49,970 --> 00:01:50,580 То је 10. 38 00:01:50,580 --> 00:01:52,038 Ја не знам шта да радим после тога. 39 00:01:52,038 --> 00:01:53,680 Да сам хтео да га направи 11, не могу то да урадим. 40 00:01:53,680 --> 00:01:55,710 Ако желим да гласи 9, не могу то да урадим. 41 00:01:55,710 --> 00:01:59,910 >> Док у листу линкова, можете додати и брисање и убаците где год желите. 42 00:01:59,910 --> 00:02:04,940 Можете динамички величину своје структурирати овде, своју структуру података. 43 00:02:04,940 --> 00:02:08,370 И то нам даје много Више додао флексибилност 44 00:02:08,370 --> 00:02:11,320 да ми не обично има са низовима. 45 00:02:11,320 --> 00:02:15,210 >> Свако ко збуњен на основна структура како листа веза је 46 00:02:15,210 --> 00:02:17,930 или зашто морамо да користимо један преко низа? 47 00:02:17,930 --> 00:02:20,330 Да, ићи ћемо преко детаљно како заправо креирате. 48 00:02:20,330 --> 00:02:24,121 Али ово је само врста општем смислу сада. 49 00:02:24,121 --> 00:02:24,620 Кул. 50 00:02:24,620 --> 00:02:28,770 И тако низови нанизани заједно од овим дивним малим стварима 51 00:02:28,770 --> 00:02:29,960 који се називају чворови. 52 00:02:29,960 --> 00:02:32,210 Све што чвор је врста струцт. 53 00:02:32,210 --> 00:02:36,090 Запамтите, струцт је ако желиш да створи одређени тип променљиве 54 00:02:36,090 --> 00:02:39,850 у Ц који већ не постоји, ви, као програмер, 55 00:02:39,850 --> 00:02:42,030 заправо може створити сами. 56 00:02:42,030 --> 00:02:46,540 >> И тако овај тип података структура се назива чвор, 57 00:02:46,540 --> 00:02:50,770 је заправо створио нас, да не постоји у Ц сам по себи. 58 00:02:50,770 --> 00:02:53,150 И начин на који вас створи једна је имате 59 00:02:53,150 --> 00:02:57,170 заглавље на типедеф струцт, који говори о преводиоцу досадно 60 00:02:57,170 --> 00:02:59,640 започети креирање Струцт. 61 00:02:59,640 --> 00:03:00,830 >> Идемо име је "чвор". 62 00:03:00,830 --> 00:03:03,350 И унутар идемо да прогласи променљиву у, 63 00:03:03,350 --> 00:03:05,060 који ће за чување вредности. 64 00:03:05,060 --> 00:03:09,320 И онда ћемо такође да су показивач под називом "Нект" 65 00:03:09,320 --> 00:03:12,090 да указује на следећи чвор на листи линк. 66 00:03:12,090 --> 00:03:14,730 И онда сте завршили да скинес за само понављање чвор опет тако 67 00:03:14,730 --> 00:03:17,490 преводилац зна, у реду то је крај мог струцт. 68 00:03:17,490 --> 00:03:22,540 >> И тако на овај начин, ми смо некако стварања слатку малу низ 69 00:03:22,540 --> 00:03:25,450 Такве ствари са вредност и са показивачем. 70 00:03:25,450 --> 00:03:27,757 А можете их повезати све заједно са тим показивачима. 71 00:03:27,757 --> 00:03:30,090 Тако да сви они могу бити добар нанизани заједно у ланцу. 72 00:03:30,090 --> 00:03:32,920 73 00:03:32,920 --> 00:03:34,162 >> Кул. 74 00:03:34,162 --> 00:03:35,453 Да ли сте чули да је мало боље? 75 00:03:35,453 --> 00:03:36,140 >> ПУБЛИКА: Да. 76 00:03:36,140 --> 00:03:38,540 >> ПРОФЕСОР: У реду. 77 00:03:38,540 --> 00:03:44,280 Дакле, начин на који, као ви можете видети, типичан листа веза је структуриран 78 00:03:44,280 --> 00:03:45,500 је имате главу. 79 00:03:45,500 --> 00:03:49,460 Имате вредност главу која није који је указао било којим другим показивачем. 80 00:03:49,460 --> 00:03:53,177 Али то ће да укажемо на, или референце, други чвор. 81 00:03:53,177 --> 00:03:56,510 Чвор после ће Референца чвор након тога, и тако даље и тако даље 82 00:03:56,510 --> 00:03:59,170 док се на крају погодио крај ваше листе линк. 83 00:03:59,170 --> 00:04:00,980 И ви једноставно не имати ту показивач. 84 00:04:00,980 --> 00:04:04,659 >> И тако, мислим као, на ланцу, или чак ако неко од вас момака је, не знам, 85 00:04:04,659 --> 00:04:06,450 као и са Фруит Лоопс кад си била мала. 86 00:04:06,450 --> 00:04:08,590 Ти би их заједно стринг и носе их око врата. 87 00:04:08,590 --> 00:04:09,840 Мислим да је иста ствар. 88 00:04:09,840 --> 00:04:12,964 Имате те мале ствари које сте могу заједно стринг који указују на један 89 00:04:12,964 --> 00:04:15,291 након тога, на један за то, и тако даље и тако даље 90 00:04:15,291 --> 00:04:17,040 док имате ланац оф а структури података 91 00:04:17,040 --> 00:04:21,190 да можете користити како год желите. 92 00:04:21,190 --> 00:04:27,370 >> Дакле, начин на који то бисмо обично убаците или брисање 93 00:04:27,370 --> 00:04:30,020 било чвор са линка Листа се веома разликује 94 00:04:30,020 --> 00:04:31,970 у зависности од тога где је чвор је. 95 00:04:31,970 --> 00:04:34,880 Тако, на пример, зато показивачи су увек 96 00:04:34,880 --> 00:04:38,645 указујући на специфичној вредности, када избришете или убаците чвор, 97 00:04:38,645 --> 00:04:41,770 желите да се уверите да је показивач је све указује на праве ствари. 98 00:04:41,770 --> 00:04:46,200 >> Дакле, ако сте желели да потенцијално убаците нови чвор са вредношћу од једног 99 00:04:46,200 --> 00:04:48,379 унутар сортираном линк Листа смо сви овде знамо 100 00:04:48,379 --> 00:04:51,170 од слици коју ће да го између главе и два, зар не? 101 00:04:51,170 --> 00:04:52,620 Јер, једна одговара тамо. 102 00:04:52,620 --> 00:04:59,060 Али начин на који бисмо то је прво дереференцинг показивач 103 00:04:59,060 --> 00:05:02,160 од главе и слање то један. 104 00:05:02,160 --> 00:05:05,040 >> Али, ми долазимо у проблем овде. 105 00:05:05,040 --> 00:05:08,280 Може ли ико види шта је проблем је да смо на првом Дереференце 106 00:05:08,280 --> 00:05:10,090 показивач од главе до једног? 107 00:05:10,090 --> 00:05:14,202 Оно што проблем може наиђемо на ако покушамо да додам на предњој страни нашег низа? 108 00:05:14,202 --> 00:05:15,409 >> ПУБЛИКА: [неразумљиво] 109 00:05:15,409 --> 00:05:16,200 ПРОФЕСОР: Тачно. 110 00:05:16,200 --> 00:05:20,000 Дакле, овде имамо показивач који је био Једном указујући од главе до два. 111 00:05:20,000 --> 00:05:23,120 Али ако се отарасимо да показивач, ти указују на један, 112 00:05:23,120 --> 00:05:26,500 сада имамо појма где да пронађу два. 113 00:05:26,500 --> 00:05:29,850 Јер, као што сам рекао, добио си гигант комад меморије на рачунару. 114 00:05:29,850 --> 00:05:31,860 Сви ови чворови могу произвољно да се интерсперсед 115 00:05:31,860 --> 00:05:33,350 на било ком месту у вашем рачунару. 116 00:05:33,350 --> 00:05:36,140 И не знам како да иде о проналажењу тога. 117 00:05:36,140 --> 00:05:40,420 >> И тако треба да имате савете указујући на свим чворовима на крају. 118 00:05:40,420 --> 00:05:42,420 Или ако сте случајно дереференце један 119 00:05:42,420 --> 00:05:44,485 без првог додељивања Први вредност, ви сте 120 00:05:44,485 --> 00:05:47,410 само ће изгубити Све после тога. 121 00:05:47,410 --> 00:05:49,720 >> Дакле, шта ћемо урадите је, прво би 122 00:05:49,720 --> 00:05:53,270 желимо да створимо показивач на чвор желите да убаците. 123 00:05:53,270 --> 00:05:55,270 Тренутку где сте Желим да га убаците у, 124 00:05:55,270 --> 00:05:59,410 и онда вам касније може указати главу на једну. 125 00:05:59,410 --> 00:06:02,800 >> Да ли то има смисла свима овде? 126 00:06:02,800 --> 00:06:03,346 Велики. 127 00:06:03,346 --> 00:06:04,720 Мислите о томе као баш као и ланца. 128 00:06:04,720 --> 00:06:07,420 Ако додате ланац, мало је интуитивна 129 00:06:07,420 --> 00:06:10,742 како бих о убацивању то. 130 00:06:10,742 --> 00:06:15,274 >> У реду, тако да је заправо много краће него што сам мислио да ће бити, 131 00:06:15,274 --> 00:06:16,690 пет минута игра на линк листама. 132 00:06:16,690 --> 00:06:19,960 Само да момци имају Основна идеја шта је то. 133 00:06:19,960 --> 00:06:23,580 >> Овде имамо план за квиз нула. 134 00:06:23,580 --> 00:06:24,895 Не дозволите да вас ово застраше. 135 00:06:24,895 --> 00:06:26,270 Знам да има пуно информација. 136 00:06:26,270 --> 00:06:27,580 Изгледа врло застрашујуће. 137 00:06:27,580 --> 00:06:33,130 То је такође доста, ја Мислим, КСЦ врста термина. 138 00:06:33,130 --> 00:06:37,440 Ствари као хексадецималних стрингс, показивачи, динамичке меморије издвајања 139 00:06:37,440 --> 00:06:40,120 су врло застрашујуће звуче услови. 140 00:06:40,120 --> 00:06:42,700 >> Али ћемо их разбити доле, до неких проблема праксе 141 00:06:42,700 --> 00:06:44,980 тако да ви сви су спремни за овај тест. 142 00:06:44,980 --> 00:06:47,104 Колико вас има већ почео да учи? 143 00:06:47,104 --> 00:06:50,040 144 00:06:50,040 --> 00:06:53,670 >> У реду, момци вероватно желите за почетак почетак 145 00:06:53,670 --> 00:06:56,480 о томе, јер квиз је сутра. 146 00:06:56,480 --> 00:06:58,739 Или четвртак за неке од вас. 147 00:06:58,739 --> 00:07:01,030 Да, па ћемо ићи над неким проблемима праксе. 148 00:07:01,030 --> 00:07:04,600 Ако ви сви желе да од папиру, оловке. 149 00:07:04,600 --> 00:07:07,310 Ми ћемо само провести Огромна већина данашње секције 150 00:07:07,310 --> 00:07:11,590 иде преко неке од тако ви имате идеја шта да очекујете на квизу. 151 00:07:11,590 --> 00:07:14,957 152 00:07:14,957 --> 00:07:16,890 >> ОК. 153 00:07:16,890 --> 00:07:19,730 Неколико логистичка детаљи као и, за кога 154 00:07:19,730 --> 00:07:25,120 који није био у тај линк тамо, ако одете цс50.иале.еду, на фронту 155 00:07:25,120 --> 00:07:28,566 Ова страница постоји веза да каже: "О квиз Зеро." 156 00:07:28,566 --> 00:07:29,440 Линк вас води тамо. 157 00:07:29,440 --> 00:07:31,065 Ако нисте прочитали, молимо вас да прочитате. 158 00:07:31,065 --> 00:07:34,470 Зато што вам говори заиста важно информације у вези квиза. 159 00:07:34,470 --> 00:07:37,410 >> Идем да се ово из само зато, физички, 160 00:07:37,410 --> 00:07:40,200 ако ви не знате где ићи ћемо имати проблема. 161 00:07:40,200 --> 00:07:44,220 И тако ако ваш последњи у односима са А до Н, идите на закон школске дворане. 162 00:07:44,220 --> 00:07:47,500 А ако твоје последње почиње са П до З, идите на Давиес Аудиториум. 163 00:07:47,500 --> 00:07:50,240 И ово важи само за људи у среду делу. 164 00:07:50,240 --> 00:07:53,420 >> Ако узимате квиз о Четвртак, идеш у ССС 114 165 00:07:53,420 --> 00:07:55,078 где ти је предавање је обично. 166 00:07:55,078 --> 00:07:55,953 ПУБЛИКА: [неразумљиво] 167 00:07:55,953 --> 00:07:59,316 168 00:07:59,316 --> 00:08:01,940 ПРОФЕСОР: О да З, идеш да иду у Давиес аудиторијуму. 169 00:08:01,940 --> 00:08:03,273 Идем да то промени, зар не? 170 00:08:03,273 --> 00:08:05,670 171 00:08:05,670 --> 00:08:09,698 >> Ох, да, само не аутоматски. 172 00:08:09,698 --> 00:08:11,753 >> Ох да, то си ти Криста. 173 00:08:11,753 --> 00:08:15,190 174 00:08:15,190 --> 00:08:16,030 Да, моја грешка. 175 00:08:16,030 --> 00:08:17,610 Да, о до З, идеш да иде у Давиес Аудиторим. 176 00:08:17,610 --> 00:08:19,140 Ја ћу да средим ово једном да поставим. 177 00:08:19,140 --> 00:08:20,320 Да. 178 00:08:20,320 --> 00:08:22,160 >> А онда и нешто важно на памет 179 00:08:22,160 --> 00:08:25,290 је да Сриједа, ако сте званично уписани у среду делу, 180 00:08:25,290 --> 00:08:26,832 морате однети квиз у среду. 181 00:08:26,832 --> 00:08:29,706 А ако сте уписани у четвртак, морате однети квиз четвртак. 182 00:08:29,706 --> 00:08:31,000 И то је за време класе. 183 00:08:31,000 --> 00:08:35,970 Где, мислим да је као 1:00 до 2:15 средом и 2:30 до 3:45 184 00:08:35,970 --> 00:08:37,220 четвртком. 185 00:08:37,220 --> 00:08:41,710 >> Ако имате непомирљиве сукоба, Деан је изговори су једина ствар, 186 00:08:41,710 --> 00:08:43,030 на жалост, можемо узети. 187 00:08:43,030 --> 00:08:45,560 Зато што смо имали Огромна већина захтева 188 00:08:45,560 --> 00:08:47,970 да бисте се пребацили од среде до четвртка. 189 00:08:47,970 --> 00:08:51,265 Што ми не можемо поштовати, осим ако имамо захтев Деан је. 190 00:08:51,265 --> 00:08:52,650 >> ОК. 191 00:08:52,650 --> 00:08:57,000 Дакле, пре него што почнемо снажан пар проблема у пракси, 192 00:08:57,000 --> 00:09:00,540 Само ћу да одем Енди корисних савета за успех. 193 00:09:00,540 --> 00:09:04,140 Момци, када учите, ви стварно Желим да вежбају писање кода руком. 194 00:09:04,140 --> 00:09:07,050 Први пут сам икада узео ЦС квиз, нисам имао 195 00:09:07,050 --> 00:09:09,960 Писање пракса код руком раније и изузетно било 196 00:09:09,960 --> 00:09:11,890 шокантно колико је то било тешко. 197 00:09:11,890 --> 00:09:16,125 >> Када ви не уђу у навика куцањем све, 198 00:09:16,125 --> 00:09:20,260 је у питању сасвим природно што у стању да аутоцомплетед 199 00:09:20,260 --> 00:09:22,015 држачи и зарез тамо. 200 00:09:22,015 --> 00:09:23,890 Када га написати руком, понекад је 201 00:09:23,890 --> 00:09:27,100 врло, врло лако заборавити зарез, или заборавим да затворите носач, 202 00:09:27,100 --> 00:09:30,970 или заборавим да затворите дебело црево, или нешто слично. 203 00:09:30,970 --> 00:09:34,322 >> Дакле, када пишу код ручно, то је веома различит осећај. 204 00:09:34,322 --> 00:09:37,280 Дакле момци, када радите кроз неке од проблема у пракси, 205 00:09:37,280 --> 00:09:38,904 било би добро да се стварно практикују данас. 206 00:09:38,904 --> 00:09:41,770 Или сутра, претпостављам, ако сте узимајући квиз у четвртак. 207 00:09:41,770 --> 00:09:45,280 >> Друго, имамо последњи, слично, осма година вреди праксе 208 00:09:45,280 --> 00:09:47,070 квиз на мрежи. 209 00:09:47,070 --> 00:09:50,759 Овогодишњи квиз ће вероватно бити врло, врло слична за све њих. 210 00:09:50,759 --> 00:09:51,800 Они су веома слични. 211 00:09:51,800 --> 00:09:54,220 Некако уђу у стил типу питања 212 00:09:54,220 --> 00:09:57,250 да питамо, тип функције које ћемо писати у, 213 00:09:57,250 --> 00:09:58,580 и тако даље, и тако даље. 214 00:09:58,580 --> 00:10:01,980 >> Тако се у пракси квизове, посебно под временским ограничењима. 215 00:10:01,980 --> 00:10:05,390 75 минута да ураде квиз је Није много времена. 216 00:10:05,390 --> 00:10:07,254 То је веома, веома дуго. 217 00:10:07,254 --> 00:10:09,670 И тако ви стварно желите да се уверите да сте ви момци 218 00:10:09,670 --> 00:10:11,990 у навику писања Код руком брзо. 219 00:10:11,990 --> 00:10:15,070 Зато што не желиш први Време је да видимо квиз тог дужине 220 00:10:15,070 --> 00:10:16,560 бити на квизу. 221 00:10:16,560 --> 00:10:20,540 Ви момци стварно желите да се уверите да унапред вежбате. 222 00:10:20,540 --> 00:10:24,550 >> Четврто, желите да преиспита предавања и секција слајдова. 223 00:10:24,550 --> 00:10:25,980 Не морате да памтите ствари. 224 00:10:25,980 --> 00:10:30,430 Заправо, сви дозволио један лист белог папира белешке, 225 00:10:30,430 --> 00:10:31,090 напред и назад. 226 00:10:31,090 --> 00:10:32,920 Ви можете уписати или пишу. 227 00:10:32,920 --> 00:10:37,070 Ако ћете бити у ситуацији да запамтим ништа, спусти га на том листу. 228 00:10:37,070 --> 00:10:40,810 >> Ја вам гарантујем, ви не желите да бити заглављен у средини тог квиза 229 00:10:40,810 --> 00:10:43,890 бити као, ох да, оно што је Рунтиме ове врсте у односу на те врсте. 230 00:10:43,890 --> 00:10:46,490 Само га спусти и да га копирате директно из вашег ноте листа. 231 00:10:46,490 --> 00:10:50,420 Онда стварно могу само користити свој мозак да мисли о проблемима 232 00:10:50,420 --> 00:10:52,190 уместо да се сетим чињенице. 233 00:10:52,190 --> 00:10:55,250 И тако заиста искористити било каквих детаља нише 234 00:10:55,250 --> 00:11:00,140 да ли мислите да треба да памтите, плоп га на разматрање стања. 235 00:11:00,140 --> 00:11:02,680 >> У реду, каквих питања логистички у вези квиз 236 00:11:02,680 --> 00:11:05,510 пре него што почнемо неки квиз проблеми вежба? 237 00:11:05,510 --> 00:11:06,416 Да? 238 00:11:06,416 --> 00:11:10,040 >> ПУБЛИКА: Нисам имао прилику да погледате квизу [неразумљиво] 239 00:11:10,040 --> 00:11:11,757 али ће то бити Апликација углавном, 240 00:11:11,757 --> 00:11:14,090 или је ту такође ће бити, као, питања знања? 241 00:11:14,090 --> 00:11:14,940 >> ПРОФЕСОР: То је много. 242 00:11:14,940 --> 00:11:16,731 Дакле, начин на који сам би описао квиз 243 00:11:16,731 --> 00:11:18,810 је-- сам саставио Неки проблеми из праксе 244 00:11:18,810 --> 00:11:20,960 да сам извукао из свих квизова. 245 00:11:20,960 --> 00:11:25,210 Али видећете да постоји два главна врсте питања ми ћемо вас. 246 00:11:25,210 --> 00:11:28,750 >> Једна је веома низак ниво детаља ствари. 247 00:11:28,750 --> 00:11:31,720 Ми ћемо вам дати мали комад кода и кажу, има ту грешка? 248 00:11:31,720 --> 00:11:33,110 Шта би се одштампа овде? 249 00:11:33,110 --> 00:11:35,980 Шта ће то произвести код, и тако даље. 250 00:11:35,980 --> 00:11:38,710 Дакле информација детаљи врло ниском нивоу. 251 00:11:38,710 --> 00:11:42,700 >> А на другој страни, ми ћемо имати веома Висок ниво питања заснованих на знању. 252 00:11:42,700 --> 00:11:45,190 Можете ли да објасните шта је Разлика између бинарне претраге 253 00:11:45,190 --> 00:11:46,148 и линеарна претрага је? 254 00:11:46,148 --> 00:11:48,500 Зашто би желимо да користити један преко другога? 255 00:11:48,500 --> 00:11:49,960 Можда, шта је ГДБ? 256 00:11:49,960 --> 00:11:51,560 Зашто желимо да користимо ГДБ? 257 00:11:51,560 --> 00:11:54,590 Виши ниво, више фундаментална разумевање питања. 258 00:11:54,590 --> 00:11:58,240 Тако ћете видети мешавину њих двојица на квизу. 259 00:11:58,240 --> 00:12:01,462 >> Још нешто пре него што смо ми равно у њега? 260 00:12:01,462 --> 00:12:02,879 ОК. 261 00:12:02,879 --> 00:12:03,670 ПУБЛИКА: Још један. 262 00:12:03,670 --> 00:12:04,030 ПРОФЕСОР: Ох, један више. 263 00:12:04,030 --> 00:12:04,340 Извините. 264 00:12:04,340 --> 00:12:05,631 >> ПУБЛИКА: Да, то је у реду. 265 00:12:05,631 --> 00:12:10,140 Дакле, ви кажете у 75. минуту се прекратка, као да је мало вероватно 266 00:12:10,140 --> 00:12:11,640 да ћемо завршити? 267 00:12:11,640 --> 00:12:13,571 Или, као, 75 минута Управо онолико времена 268 00:12:13,571 --> 00:12:15,700 као што би требало да смо адекватно припремљени? 269 00:12:15,700 --> 00:12:17,450 ПРОФЕСОР: У реду, тако да је Квиз је изазов. 270 00:12:17,450 --> 00:12:19,550 То је дефинитивно изазов. 271 00:12:19,550 --> 00:12:21,092 Ви ћете се кратко на време. 272 00:12:21,092 --> 00:12:24,341 Вероватно ћеш погодити, као и 10, 15 минута до краја, и бити као, срање. 273 00:12:24,341 --> 00:12:25,520 Ја сам много тога да уради. 274 00:12:25,520 --> 00:12:26,520 И то је потпуно у реду. 275 00:12:26,520 --> 00:12:28,740 Свако ће осетити исто. 276 00:12:28,740 --> 00:12:31,074 >> Само будите свесни колико времена имате. 277 00:12:31,074 --> 00:12:33,490 И то је разлог зашто сам ти рекао момци раде у пракси квизове. 278 00:12:33,490 --> 00:12:36,672 Зато што заиста даје велики осећај онога што је квиз ће бити слично. 279 00:12:36,672 --> 00:12:39,130 Дакле, ако се нађете бити у стању да завршили праксу 280 00:12:39,130 --> 00:12:41,671 квизови у добром износу од време, можете се добро смири, 281 00:12:41,671 --> 00:12:45,695 онда нећете имати проблема у среду или четвртак. 282 00:12:45,695 --> 00:12:46,575 >> Кул. 283 00:12:46,575 --> 00:12:49,200 Дакле, ако све вантс-- мислим већина људи имају листове папира 284 00:12:49,200 --> 00:12:49,810 од већ. 285 00:12:49,810 --> 00:12:52,604 Идем у суштини само да ти дам примере питања, 286 00:12:52,604 --> 00:12:54,520 да вам момци, као, Неколико минута да их урадимо. 287 00:12:54,520 --> 00:12:59,610 И ми ћемо прећи као класа оно што су одговори на њих. 288 00:12:59,610 --> 00:13:02,860 >> Дакле, ово је врло типичан рано питање ћемо 289 00:13:02,860 --> 00:13:06,720 да те питам, само претварање Бројеви између различитих база. 290 00:13:06,720 --> 00:13:09,070 Бинарни, као момци могу опозив, је база два. 291 00:13:09,070 --> 00:13:12,470 Децимални је база 10, или оно што смо као и људи обично тумаче. 292 00:13:12,470 --> 00:13:17,120 Хекадецимал је база 16, што је нула кроз девет као и кроз Ф. 293 00:13:17,120 --> 00:13:19,990 >> Тако да је четири броја сам тражећи да ви претворити овде. 294 00:13:19,990 --> 00:13:23,909 Даћу вам се свиђа, три до четири минута да размисле како 295 00:13:23,909 --> 00:13:25,200 смо ишли о решавању овог. 296 00:13:25,200 --> 00:13:32,832 297 00:13:32,832 --> 00:13:35,710 >> ПУБЛИКА: Да ли дозвољено да калкулаторе? 298 00:13:35,710 --> 00:13:37,630 >> ПРОФЕСОР: Нећете треба калкулаторе, да. 299 00:13:37,630 --> 00:13:42,420 Мислим да је основни додатак, мислим, није сви ви ће бити затражено да уради. 300 00:13:42,420 --> 00:14:41,700 301 00:14:41,700 --> 00:14:45,070 >> И тако сам некако имам осећај од када сви урађено, погледај, 302 00:14:45,070 --> 00:14:47,429 талас, ја не знам, осмех, изгледају срећни ако сте готови. 303 00:14:47,429 --> 00:14:47,929 Да. 304 00:14:47,929 --> 00:17:21,680 305 00:17:21,680 --> 00:17:23,945 Можда још пар минута. 306 00:17:23,945 --> 00:18:28,080 307 00:18:28,080 --> 00:18:29,600 >> ОК, хајде да га доведемо. 308 00:18:29,600 --> 00:18:31,580 Ја намерно ћу дај момци мање времена 309 00:18:31,580 --> 00:18:33,760 него вероватно треба да урадите неки од ових проблема, 310 00:18:33,760 --> 00:18:37,124 Једноставно зато што желите да се уверите да прођемо кроз гомилу проблема. 311 00:18:37,124 --> 00:18:39,290 Значи нема бриге ако нисте имати прилику да завршим. 312 00:18:39,290 --> 00:18:43,770 Потпуно у реду докле год имате идеја како да о овоме. 313 00:18:43,770 --> 00:18:45,850 Дакле, идемо напред и урадите први. 314 00:18:45,850 --> 00:18:52,690 315 00:18:52,690 --> 00:18:57,870 >> Дакле, прво, да ли неко жели да ми каже у бинарном, шта свака од ових цифара 316 00:18:57,870 --> 00:19:00,484 представља у погледу њихових вредности? 317 00:19:00,484 --> 00:19:01,250 Да? 318 00:19:01,250 --> 00:19:03,349 >> ПУБЛИКА: Два до снага нула, два према један. 319 00:19:03,349 --> 00:19:04,140 ПРОФЕСОР: Тачно. 320 00:19:04,140 --> 00:19:04,640 Prema tome. 321 00:19:04,640 --> 00:19:13,430 322 00:19:13,430 --> 00:19:16,430 >> Тако је, тако типично кад смо у основи 10 323 00:19:16,430 --> 00:19:20,580 Све ово представља су, као, 10 на базе нуле, зар не? 324 00:19:20,580 --> 00:19:21,810 То је твој нечије место. 325 00:19:21,810 --> 00:19:24,520 Све ваше место 10 је је 10 снази један. 326 00:19:24,520 --> 00:19:26,600 Иоу 100 место је 10 снази два. 327 00:19:26,600 --> 00:19:29,570 >> Шта год база сте у иде везе са исту ствар, 328 00:19:29,570 --> 00:19:31,480 само са различитој основи. 329 00:19:31,480 --> 00:19:34,130 Тако бинарни, све што је је база два. 330 00:19:34,130 --> 00:19:37,110 Ти ћеш претворити све цифре у две до год снага 331 00:19:37,110 --> 00:19:38,190 те цифре. 332 00:19:38,190 --> 00:19:41,450 И тако у том смислу, ми могу да имају лакши начин 333 00:19:41,450 --> 00:19:43,800 да буде у могућности да саберете или сумирамо све бројеве како 334 00:19:43,800 --> 00:19:46,010 претворити у основи 10. 335 00:19:46,010 --> 00:19:50,362 >> Дакле, да ли неко жели да ми каже шта је Одговор на првој је у основи десет? 336 00:19:50,362 --> 00:19:51,674 >> ПУБЛИКА: Два, [неразумљиво] 337 00:19:51,674 --> 00:19:52,340 ПРОФЕСОР: Да. 338 00:19:52,340 --> 00:19:53,230 ПУБЛИКА: 42. 339 00:19:53,230 --> 00:19:56,560 ПРОФЕСОР: 42, изволи. 340 00:19:56,560 --> 00:20:00,660 Дакле, начин на који смо добили овај одговор био од раде два Први, који је два. 341 00:20:00,660 --> 00:20:02,760 Плус два трећа, која је осам. 342 00:20:02,760 --> 00:20:07,590 Плус два до пети, који је све што је преостало. 343 00:20:07,590 --> 00:20:09,390 Ти их сумира и то 42. 344 00:20:09,390 --> 00:20:12,000 >> Да ли је ико збуњени о томе како смо то? 345 00:20:12,000 --> 00:20:15,630 Дакле основни додатак, као и Рекао сам, требало би да буде у реду. 346 00:20:15,630 --> 00:20:17,410 Ако не, добро, можемо да вежбамо то. 347 00:20:17,410 --> 00:20:18,720 Али то је у реду. 348 00:20:18,720 --> 00:20:20,560 Кул. 349 00:20:20,560 --> 00:20:25,570 >> Да ли неко жели да ми дају одговор на другом, као? 350 00:20:25,570 --> 00:20:26,860 >> 50? 351 00:20:26,860 --> 00:20:27,600 Dobro. 352 00:20:27,600 --> 00:20:30,044 Свако збуњена како смо то било? 353 00:20:30,044 --> 00:20:31,960 Супер, ја ћу имати одговори на следећем слајду. 354 00:20:31,960 --> 00:20:34,440 Дакле без бриге, ако вас треба да га копирате доле. 355 00:20:34,440 --> 00:20:38,860 >> У реду, тако да хексадецимални је мало компликованије. 356 00:20:38,860 --> 00:20:41,840 али ја ћу да вам покажем пречица за како се то ради. 357 00:20:41,840 --> 00:20:44,800 Тако хексадецималном, вама као запамтите, све што је било 16. 358 00:20:44,800 --> 00:20:48,920 И зато што ми као људи не стварно има 16 бројева представљају да, 359 00:20:48,920 --> 00:20:56,940 идемо од нуле до девет, који наш први 10 вриједности, а онда радимо од А до Ф, 360 00:20:56,940 --> 00:20:58,630 који су наредних шест вредности. 361 00:20:58,630 --> 00:21:03,040 >> И тако је најлакши начин да иде из било бинарни број у хексадецимални 362 00:21:03,040 --> 00:21:05,350 је да их разбити на пола. 363 00:21:05,350 --> 00:21:10,042 И тако сваки бинарни број ћемо дати вероватно ћете имати осам цифара. 364 00:21:10,042 --> 00:21:11,750 Можете само да сломи их у средини. 365 00:21:11,750 --> 00:21:17,460 >> Дакле, први једног-- један један, оне оне, један, један, један један. 366 00:21:17,460 --> 00:21:21,340 Некако ми се да, знате, драв једна коса црта или зарез између њих. 367 00:21:21,340 --> 00:21:23,800 И можете једноставно претворити директно год 368 00:21:23,800 --> 00:21:26,670 ово је да прво Број хексадецималном, 369 00:21:26,670 --> 00:21:29,880 и све је да се друга од хексадецималном. 370 00:21:29,880 --> 00:21:37,584 >> Дакле, запамтите од заједничког нотацији, Шта хексадецималне вредности почињу са? 371 00:21:37,584 --> 00:21:38,460 >> ПУБЛИКА: Нула. 372 00:21:38,460 --> 00:21:39,270 >> ПРОФЕСОР: 0Кс. 373 00:21:39,270 --> 00:21:45,210 Дакле, ми знамо да је сваки пут кад вас претворити било који број да хексадецималном, 374 00:21:45,210 --> 00:21:48,230 или сваки пут када видите било број који почиње са 0Кс, 375 00:21:48,230 --> 00:21:50,230 ви знате да је то хексадецимална вредност. 376 00:21:50,230 --> 00:21:54,160 >> И онда ћеш бити затражено да утврдити шта су ови две цифре су. 377 00:21:54,160 --> 00:21:59,690 А како ти то, Бројање до да је половина и Бројање до тог пола. 378 00:21:59,690 --> 00:22:02,870 Дакле, у овом примеру, оно би један, један, један, један бити? 379 00:22:02,870 --> 00:22:04,890 Коју вредност би то било? 380 00:22:04,890 --> 00:22:06,040 То би било П, зар не? 381 00:22:06,040 --> 00:22:08,050 То би било 15. 382 00:22:08,050 --> 00:22:11,780 >> Дакле, ово ће бити један Ф, један, један, овдје такође 383 00:22:11,780 --> 00:22:21,270 Ф. Дакле један, један, један, један, један, један, један, један у хексадецималном, све је то је 0кфф. 384 00:22:21,270 --> 00:22:25,350 Јер ово пола представља Ф, вредност 15, 385 00:22:25,350 --> 00:22:27,331 и то пола представља Ф, вредност 15. 386 00:22:27,331 --> 00:22:29,456 Јер, запамтите, ми смо рачунајући од нуле до девет. 387 00:22:29,456 --> 00:22:35,290 А је попут 10., Б је као 11, Ф је 15. 388 00:22:35,290 --> 00:22:41,690 >> Да ли то има смисла свима како смо добили од бинарног у Хекадецимал? 389 00:22:41,690 --> 00:22:44,595 >> ПУБЛИКА: И тако како смо добили 15 од један, један, један, један? 390 00:22:44,595 --> 00:22:46,220 ПРОФЕСОР: Да, ово је бинарни, зар не? 391 00:22:46,220 --> 00:22:48,090 Замислите да је ово само бинарни број. 392 00:22:48,090 --> 00:22:50,792 Дакле, имате два до нулте, који је један. 393 00:22:50,792 --> 00:22:51,500 ПУБЛИКА: Ох, у реду. 394 00:22:51,500 --> 00:22:51,670 Дакле, само је укупно. 395 00:22:51,670 --> 00:22:52,670 >> ПРОФЕСОР: Да, и онда само тотал то. 396 00:22:52,670 --> 00:22:53,380 То је све што је. 397 00:22:53,380 --> 00:22:54,890 >> ПУБЛИКА: У реду. 398 00:22:54,890 --> 00:22:55,830 >> ПРОФЕСОР: У реду. 399 00:22:55,830 --> 00:23:00,740 >> ПУБЛИКА: Зато иди из бинарног у децималне у хексадецималном? 400 00:23:00,740 --> 00:23:04,590 >> ПРОФЕСОР: То је Најлакши начин да се то уради, да. 401 00:23:04,590 --> 00:23:11,390 Нећеш да децималне јер децимале има само нуле до девет. 402 00:23:11,390 --> 00:23:13,410 Ми смо само мало раздвајају ово на два дела. 403 00:23:13,410 --> 00:23:15,201 >> ПУБЛИКА: [неразумљиво] користећи децимала наћи 404 00:23:15,201 --> 00:23:17,809 оно што одговара до у хексадецималном. 405 00:23:17,809 --> 00:23:20,100 ПРОФЕСОР: Мислим, ти си Бројање се користећи основну математику. 406 00:23:20,100 --> 00:23:20,725 ПУБЛИКА: Да. 407 00:23:20,725 --> 00:23:22,300 ПРОФЕСОР: Да, прилично. 408 00:23:22,300 --> 00:23:23,630 То је мало збуњујуће. 409 00:23:23,630 --> 00:23:26,410 Али, само знам да теби да поделимо год 410 00:23:26,410 --> 00:23:28,160 Ова вредност је у само пола. 411 00:23:28,160 --> 00:23:29,570 Види, шта је ово у бинарном? 412 00:23:29,570 --> 00:23:30,610 Који је то број? 413 00:23:30,610 --> 00:23:33,270 То ће бити нешто од нуле до Ф. 414 00:23:33,270 --> 00:23:35,722 >> Овде ће такође бити нешто од нуле до Ф. 415 00:23:35,722 --> 00:23:37,722 А онда можете једноставно ставити њих двојица тамо. 416 00:23:37,722 --> 00:23:38,263 >> ПУБЛИКА: У реду. 417 00:23:38,263 --> 00:23:38,910 ПРОФЕСОР: Да. 418 00:23:38,910 --> 00:23:39,410 ОК. 419 00:23:39,410 --> 00:23:42,320 Дакле, ви желите да покушајте следећи онда? 420 00:23:42,320 --> 00:23:49,601 Нула, један, нула један, један, нула, један нула. 421 00:23:49,601 --> 00:23:52,350 Даћу вам момци као 30 секунди, јер вероватно нисте знали 422 00:23:52,350 --> 00:23:53,850 трик како да се уради раније. 423 00:23:53,850 --> 00:24:24,950 424 00:24:24,950 --> 00:24:27,381 >> У реду, неко жели да ову једну ињекцију? 425 00:24:27,381 --> 00:24:28,774 >> 0Кс5А. 426 00:24:28,774 --> 00:24:29,440 ПРОФЕСОР: 0Кс5А. 427 00:24:29,440 --> 00:24:30,470 5а. 428 00:24:30,470 --> 00:24:31,340 Dobro. 429 00:24:31,340 --> 00:24:37,050 Дакле, ово би бити-- желите да нам кажете како сте добили то? 430 00:24:37,050 --> 00:24:38,920 Прво, како сте добили пет? 431 00:24:38,920 --> 00:24:42,030 >> ПУБЛИКА: Зато нуле, један, нула, један је пет. 432 00:24:42,030 --> 00:24:45,170 >> ПРОФЕСОР: Да ли сви разумеју Зато нула, један, нула, један је пет? 433 00:24:45,170 --> 00:24:46,260 Имаш једну овде. 434 00:24:46,260 --> 00:24:48,010 Немате ништа за два до првог. 435 00:24:48,010 --> 00:24:50,300 У два на други, те имати један, што је четири. 436 00:24:50,300 --> 00:24:52,600 Дакле, додате четири плус онај, имате пет. 437 00:24:52,600 --> 00:24:53,600 Свако добро? 438 00:24:53,600 --> 00:24:54,100 ОК. 439 00:24:54,100 --> 00:24:56,570 И онда шта је ово било и зашто? 440 00:24:56,570 --> 00:24:58,350 Који број Да ли одговара? 441 00:24:58,350 --> 00:24:59,350 >> ПУБЛИКА: 10. 442 00:24:59,350 --> 00:25:00,976 >> ПРОФЕСОР: А шта је ово у основи два? 443 00:25:00,976 --> 00:25:01,850 ПУБЛИКА: [неразумљиво] 444 00:25:01,850 --> 00:25:03,010 ПРОФЕСОР: Тачно. 445 00:25:03,010 --> 00:25:06,370 Дакле, ово друго вредност овде ће бити 0Кс5А. 446 00:25:06,370 --> 00:25:08,410 >> Свако добро о томе како претворити? 447 00:25:08,410 --> 00:25:10,770 То је много једноставније него што мислите да јесте. 448 00:25:10,770 --> 00:25:13,330 Ја само желим да се уверите знате корисне савете 449 00:25:13,330 --> 00:25:14,950 и трикови за како да то урадим. 450 00:25:14,950 --> 00:25:18,432 >> ПУБЛИКА: Зашто само подијелити она у средини тако? 451 00:25:18,432 --> 00:25:21,390 Само буди као, у реду, ја ћу само да Стало ова прва [неразумљиво]? 452 00:25:21,390 --> 00:25:24,240 >> ПРОФЕСОР: Јер то је заправо начин хексадецималне вредности су представљени. 453 00:25:24,240 --> 00:25:26,890 0Кс, то заправо значи ништа друго него вам говорим 454 00:25:26,890 --> 00:25:28,710 да је хексадекадни број. 455 00:25:28,710 --> 00:25:31,580 И то увек представља Прве четири цифре. 456 00:25:31,580 --> 00:25:34,330 И то увек представља последња четири цифре. 457 00:25:34,330 --> 00:25:37,835 Тако да су ова два броја само одговарају различитим бита. 458 00:25:37,835 --> 00:25:39,200 >> ПУБЛИКА: Тако ћемо ми увијек 459 00:25:39,200 --> 00:25:41,830 >> ПРОФЕСОР: Увек си ће добити осам битова вредности. 460 00:25:41,830 --> 00:25:44,580 >> ПУБЛИКА: Да ли је то баш као ствар овде или да ствар свуда? 461 00:25:44,580 --> 00:25:46,883 ПРОФЕСОР: То је само ствар у рачунарима, да. 462 00:25:46,883 --> 00:25:47,424 ПУБЛИКА: У реду. 463 00:25:47,424 --> 00:25:48,240 Страва. 464 00:25:48,240 --> 00:25:51,290 >> ПРОФЕСОР: Такође, тако да у овом примеру ми конвертује из бинарног у декадни, 465 00:25:51,290 --> 00:25:53,290 и од бинарног у хексадецимални. 466 00:25:53,290 --> 00:25:56,610 Ви желите да проверите да ли је вежбају иде обрнуто. 467 00:25:56,610 --> 00:26:03,370 Дакле, ако сам ти дао 0кфф, можеш драв који у бинарном, зар не? 468 00:26:03,370 --> 00:26:06,820 >> Ви претворити у бинарни Ф, који је један, један, један, један, 469 00:26:06,820 --> 00:26:09,380 претворити Ф у бинарни, који је један, један, један, један. 470 00:26:09,380 --> 00:26:11,310 >> Дакле, можемо вам затражити да урадите обрнуто. 471 00:26:11,310 --> 00:26:14,817 Тако децималне у бинарни, или хексадецимална да бинарни. 472 00:26:14,817 --> 00:26:16,650 Дакле, желите да се Сигурно знате оба правца. 473 00:26:16,650 --> 00:26:19,371 Вероватно ћемо вам поставим Комбинација ова два. 474 00:26:19,371 --> 00:26:20,660 >> Да, имате питање? 475 00:26:20,660 --> 00:26:22,724 Могу видим-- да си добро? 476 00:26:22,724 --> 00:26:23,348 ПУБЛИКА: Да. 477 00:26:23,348 --> 00:26:24,560 ПРОФЕСОР: У реду. 478 00:26:24,560 --> 00:26:26,101 Јесам ли добро избрисати ово? 479 00:26:26,101 --> 00:26:26,600 Велики. 480 00:26:26,600 --> 00:26:33,965 481 00:26:33,965 --> 00:26:40,437 >> У реду, тако да су одговори овде ако ико Интересантно је касније и збунити. 482 00:26:40,437 --> 00:26:41,844 ОК. 483 00:26:41,844 --> 00:26:46,070 >> ПУБЛИКА: Да ли је битно ако ставимо наши слова у престоницу или мала слова? 484 00:26:46,070 --> 00:26:50,360 >> ПРОФЕСОР: Јесте, јер у хексадецималном, по обичају, 485 00:26:50,360 --> 00:26:52,840 сви ликови су велика слова. 486 00:26:52,840 --> 00:26:54,650 Дакле, од А до Ф су ће бити велика. 487 00:26:54,650 --> 00:26:58,660 Ако ставите мала слова а, ја не знам ако нужно би означио да је погрешно. 488 00:26:58,660 --> 00:27:00,679 Али теоретски, то није технички 489 00:27:00,679 --> 00:27:01,970 како сте требали да га имам. 490 00:27:01,970 --> 00:27:03,303 Дакле, они би сви требали бити велика. 491 00:27:03,303 --> 00:27:05,910 Да, добро питање. 492 00:27:05,910 --> 00:27:07,780 >> ОК. 493 00:27:07,780 --> 00:27:08,790 Друго питање. 494 00:27:08,790 --> 00:27:12,750 Размислите ову лепу програм овде. 495 00:27:12,750 --> 00:27:15,180 Ја ћу поставити питање, Вратићу ово. 496 00:27:15,180 --> 00:27:23,170 >> Дакле, прво, шта је унутра стандарда ио.х да је од интереса за програм? 497 00:27:23,170 --> 00:27:26,640 Друго, шта празнина означавају у складу три? 498 00:27:26,640 --> 00:27:30,572 И треће, шта враћа нула од Главни, као линија шест, углавном означавају? 499 00:27:30,572 --> 00:27:33,280 Ако хоћете да пишем онима доле, јер морам да вратите 500 00:27:33,280 --> 00:27:36,810 на слајду само да можете да видите код. 501 00:27:36,810 --> 00:27:40,400 Ово је пример, као, можда виши ниво питање где смо вас 502 00:27:40,400 --> 00:27:42,435 Које ствари значи у програму. 503 00:27:42,435 --> 00:27:47,290 504 00:27:47,290 --> 00:27:49,215 >> Свако добро за мене да се вратимо на слајд? 505 00:27:49,215 --> 00:27:53,400 506 00:27:53,400 --> 00:27:54,361 OK kul. 507 00:27:54,361 --> 00:27:57,610 Дакле, ја ћу вам дати момци као што можда три минута да погледате овај један врло брзо. 508 00:27:57,610 --> 00:28:41,330 509 00:28:41,330 --> 00:28:44,140 >> У реду, па ово је као прилично једноставан, концептуално. 510 00:28:44,140 --> 00:28:49,280 Да ли неко жели да ми каже шта је Први унутра од хасх укључујући 511 00:28:49,280 --> 00:28:52,630 наш стандардни ио.х библиотека фајл? 512 00:28:52,630 --> 00:28:55,510 Зашто нам је потребан тај библиотеку укључени у овај програм? 513 00:28:55,510 --> 00:28:56,930 Оно што овде ми треба? 514 00:28:56,930 --> 00:28:56,980 >> Да? 515 00:28:56,980 --> 00:28:58,340 >> ПУБЛИКА: Да ли је тада сте ставили ту принтф? 516 00:28:58,340 --> 00:28:59,131 >> ПРОФЕСОР: Тачно. 517 00:28:59,131 --> 00:29:01,780 Тако иф, било вам време се улаз од корисника 518 00:29:01,780 --> 00:29:04,140 и штампање несто на екран, то је 519 00:29:04,140 --> 00:29:05,600 стандардни улаз, излаз библиотека. 520 00:29:05,600 --> 00:29:07,170 Размислите о томе да ваи-- улаз, излаз. 521 00:29:07,170 --> 00:29:08,430 >> Имам ли излаз? 522 00:29:08,430 --> 00:29:09,207 Да, знам. 523 00:29:09,207 --> 00:29:12,040 Дакле, ја знам да сам увек ћу треба Стандардизовати и.о библиотеку. 524 00:29:12,040 --> 00:29:16,400 >> Дакле, иф је функција којим морамо да приступе 525 00:29:16,400 --> 00:29:19,370 и хаштагот укључују стандардни и.о библиотека. 526 00:29:19,370 --> 00:29:20,280 ОК. 527 00:29:20,280 --> 00:29:22,660 >> Друго, шта значи празнина? 528 00:29:22,660 --> 00:29:26,970 Имамо инт маин (воид), шта воид овде значи овде на линији три? 529 00:29:26,970 --> 00:29:28,080 Да, у леђа. 530 00:29:28,080 --> 00:29:29,020 >> ПУБЛИКА: [неразумљиво] 531 00:29:29,020 --> 00:29:29,920 >> ПРОФЕСОР: Тачно. 532 00:29:29,920 --> 00:29:33,320 Запамтите, сазнали смо почевши са нашим псет 533 00:29:33,320 --> 00:29:35,360 да ли стварно могу навести командну линију 534 00:29:35,360 --> 00:29:39,010 аргументи да ваш програм, вас који Основна функција, узима као ти, корисник, 535 00:29:39,010 --> 00:29:39,650 pozovite ga. 536 00:29:39,650 --> 00:29:42,650 Ако имамо празнина, то значи да вас могао само покрените програм директно 537 00:29:42,650 --> 00:29:44,680 без аргументе командне линије. 538 00:29:44,680 --> 00:29:46,160 Свако јасно? 539 00:29:46,160 --> 00:29:46,660 ОК. 540 00:29:46,660 --> 00:29:52,850 >> И на крају зашто ми трудите се овај повратак нула ствар овде? 541 00:29:52,850 --> 00:29:54,740 Зашто чак имати маин? 542 00:29:54,740 --> 00:29:57,330 Зашто не можемо само воид маин празнину? 543 00:29:57,330 --> 00:29:59,216 Да? 544 00:29:59,216 --> 00:30:01,590 ПУБЛИКА: Само тако да можемо будите сигурни да је програм 545 00:30:01,590 --> 00:30:04,247 успешно изласка, ас разлику од ако је нумерисан. 546 00:30:04,247 --> 00:30:06,580 И ми би знао да је то друга врста грешке. 547 00:30:06,580 --> 00:30:07,621 >> ПРОФЕСОР: Да, управо тако. 548 00:30:07,621 --> 00:30:10,670 Ово је само веома конвенционални ствар коју радимо, 549 00:30:10,670 --> 00:30:13,840 се да само на крају ваш програм, само да се уверите 550 00:30:13,840 --> 00:30:15,830 да је ваш главни функцију правилно ради, 551 00:30:15,830 --> 00:30:17,940 увек желимо да урадимо повратак нула. 552 00:30:17,940 --> 00:30:21,160 Иако смо увек може Не видим да штампају нигде. 553 00:30:21,160 --> 00:30:25,092 >> Јер, као програмери, знаш, ако имате много различитих линија кода 554 00:30:25,092 --> 00:30:27,050 а ви не знате где они иду наопако, 555 00:30:27,050 --> 00:30:30,240 и ако је грешка деси желите да уверите се да сте добили ту грешку. 556 00:30:30,240 --> 00:30:33,240 И тако типично ако нешто крене погрешан ћемо имати повратак једног само 557 00:30:33,240 --> 00:30:34,669 да се уверите знамо да је то. 558 00:30:34,669 --> 00:30:36,460 Дакле, ако видите повратак нула, који обично 559 00:30:36,460 --> 00:30:38,293 значи да ваш програм је успешно извршена. 560 00:30:38,293 --> 00:30:40,490 561 00:30:40,490 --> 00:30:40,990 Dobro? 562 00:30:40,990 --> 00:30:45,180 563 00:30:45,180 --> 00:30:45,680 Кул. 564 00:30:45,680 --> 00:30:48,710 565 00:30:48,710 --> 00:30:52,680 >> У реду, Други програм овде. 566 00:30:52,680 --> 00:30:54,827 Размислите да. 567 00:30:54,827 --> 00:30:56,910 И ако ви видите флоат, момци могу вероватно 568 00:30:56,910 --> 00:31:00,810 имају добру идеју о томе шта Ја сам хтео да те питам. 569 00:31:00,810 --> 00:31:05,200 >> Дакле, када је овај програм извршава, као што видите, 570 00:31:05,200 --> 00:31:09,330 Ја сам проглашењу флоат у мом основну функцију. 571 00:31:09,330 --> 00:31:13,470 Ја именовања да је "одговорити", а ја постављање који једнак јединици подељено са 10. 572 00:31:13,470 --> 00:31:17,860 Ја штампање, један децимално место, да пловак. 573 00:31:17,860 --> 00:31:19,880 И онда враћам нула. 574 00:31:19,880 --> 00:31:24,470 >> Дакле, када извршавања програма, Сетите се похлепни сада, 575 00:31:24,470 --> 00:31:26,550 Овај програм штампа 0.0. 576 00:31:26,550 --> 00:31:29,993 Као што сви знамо, надам се да ћемо сви Знате, једна подељено са 10 није 0.00, 577 00:31:29,993 --> 00:31:32,350 то је 0.1. 578 00:31:32,350 --> 00:31:37,810 Али објасни зашто овај програм мисли да 1 подељено са 10 прстију на 0,1 другу 579 00:31:37,810 --> 00:31:39,504 од 0,1? 580 00:31:39,504 --> 00:31:42,545 Ја ћу вам дати момци можда као 30 секунди се само брзо мисле о томе 581 00:31:42,545 --> 00:31:43,878 и ја ћу се вратити на програм. 582 00:31:43,878 --> 00:32:17,800 583 00:32:17,800 --> 00:32:20,290 >> ОК. 584 00:32:20,290 --> 00:32:22,205 Свако ко жели да му дати шансу? 585 00:32:22,205 --> 00:32:24,330 У три реченице или мање, јер обично смо 586 00:32:24,330 --> 00:32:27,650 да ограничи све одговоре три реченице или мање 587 00:32:27,650 --> 00:32:31,130 тако да не само испљуну рандом ствари на вашој квизу. 588 00:32:31,130 --> 00:32:32,740 >> Да, да пробамо. 589 00:32:32,740 --> 00:32:36,390 >> ПУБЛИКА: Дакле, мислим да је ово ствар која се зове, као, [неразумљиво] 590 00:32:36,390 --> 00:32:42,320 Дакле, могу постојати, на примјер, могу постојати, као, 0.09, 591 00:32:42,320 --> 00:32:47,250 да тамо где сте одштампате први цифре, било би на 0.0? 592 00:32:47,250 --> 00:32:49,100 >> ПРОФЕСОР: Затвори, не сасвим. 593 00:32:49,100 --> 00:32:49,810 Цхристабелл? 594 00:32:49,810 --> 00:32:51,770 >> ПУБЛИКА: Ти поделе једну и 10, и они су оба цели бројеви. 595 00:32:51,770 --> 00:32:54,610 И тако је начин на који иде да сачувате је као цео број. 596 00:32:54,610 --> 00:32:56,480 И тако најближи цео број ће бити 0.0. 597 00:32:56,480 --> 00:32:57,471 И то је 0.1. 598 00:32:57,471 --> 00:32:58,970 ПРОФЕСОР: Да, то је стварно добро. 599 00:32:58,970 --> 00:33:00,040 То је прави одговор. 600 00:33:00,040 --> 00:33:03,597 Дакле, ово је веома збуњујуће концепт за много деце. 601 00:33:03,597 --> 00:33:06,680 И стварно желите да се уверите да ово је ојачана у свачијем глави. 602 00:33:06,680 --> 00:33:10,090 >> Дакле, оно што ми зовемо флоатинг Тачка непрецизност, 603 00:33:10,090 --> 00:33:12,800 где је разлог зашто доста ваших програма у похлепни 604 00:33:12,800 --> 00:33:17,010 није успело првобитно било зато заборавио си да баци своју променљиву. 605 00:33:17,010 --> 00:33:19,370 Дакле, оно што је рекао Цхристабелл је потпуно у праву. 606 00:33:19,370 --> 00:33:21,990 >> Пловак је себи непрецизан. 607 00:33:21,990 --> 00:33:26,400 Јер у рачунару, тако, имамо коначан износ бита меморије 608 00:33:26,400 --> 00:33:28,480 можемо користити за представљање бројева. 609 00:33:28,480 --> 00:33:33,480 Тако, на пример, ово ЦС50 ИД је-- Мислим да је 64-битни рачунар. 610 00:33:33,480 --> 00:33:37,520 >> Пловак може бити представљена једино од коначног износа тих битова. 611 00:33:37,520 --> 00:33:42,260 И тако 0.1 са безброј нула, То је био 0.1, зар не? 612 00:33:42,260 --> 00:33:45,450 Али не можемо заправо складиштити тај број у нашем рачунару. 613 00:33:45,450 --> 00:33:47,810 Ми једноставно немамо довољно меморије да то учини. 614 00:33:47,810 --> 00:33:52,340 >> И тако је најближа апроксимација шта се чувају у меморији заправо 615 00:33:52,340 --> 00:33:55,390 нешто као нешто 0.000, нешто, нешто, нешто. 616 00:33:55,390 --> 00:34:01,240 Који, када скратите да, заокружује до 0.0. 617 00:34:01,240 --> 00:34:05,640 >> И то је само један пример који показује пуно питања 618 00:34:05,640 --> 00:34:08,469 имамо кад год смо Покушавам да урадим математику погрешно 619 00:34:08,469 --> 00:34:11,000 без цастинг као други цео број. 620 00:34:11,000 --> 00:34:14,870 Дакле, само будите опрезни овај догађај. 621 00:34:14,870 --> 00:34:18,239 >> На квизовима, ако вам дати блок кода и то је као, 622 00:34:18,239 --> 00:34:19,510 шта исписује на крају? 623 00:34:19,510 --> 00:34:24,096 И ако је неко случајно вредност коју момци треба да знају зашто је то дешава. 624 00:34:24,096 --> 00:34:24,909 Да? 625 00:34:24,909 --> 00:34:27,926 >> ПУБЛИКА: Трунцате је се отараси све након одређене тачке? 626 00:34:27,926 --> 00:34:28,513 [Неразумљиво] 627 00:34:28,513 --> 00:34:30,929 ПРОФЕСОР: Да, тако ствари ово је стварно лош пример, 628 00:34:30,929 --> 00:34:37,870 јер шта год заиста 0.100 би скратити до 0,1. 629 00:34:37,870 --> 00:34:41,389 Али, ако сте били да то-- покретање не знам запамтите, јер су прошле године 630 00:34:41,389 --> 00:34:42,830 водио га на другог програма. 631 00:34:42,830 --> 00:34:45,300 Они су га водио у нешто што се зове ЦС50 апарата, који 632 00:34:45,300 --> 00:34:46,389 се разликује од ИД. 633 00:34:46,389 --> 00:34:48,520 То је био 32-битни систем, мислим. 634 00:34:48,520 --> 00:34:50,290 И тако је било различити бројеви. 635 00:34:50,290 --> 00:34:53,330 >> Али у суштини, само знам да цео концепт скраћивањем 636 00:34:53,330 --> 00:34:54,815 и како то само сече ствари се. 637 00:34:54,815 --> 00:34:55,690 И тако, ако њега роундс-- 638 00:34:55,690 --> 00:34:56,300 >> ПУБЛИКА: Без заокруживања. 639 00:34:56,300 --> 00:34:57,370 >> ПРОФЕСОР: Тачно. 640 00:34:57,370 --> 00:34:57,870 Да. 641 00:34:57,870 --> 00:35:02,330 642 00:35:02,330 --> 00:35:04,380 Кул. 643 00:35:04,380 --> 00:35:05,250 >> Здраво, позади. 644 00:35:05,250 --> 00:35:07,634 Ми ћемо кроз неке Квиз преглед питања. 645 00:35:07,634 --> 00:35:08,430 >> У реду. 646 00:35:08,430 --> 00:35:10,150 Дакле, сматрам други програм овде. 647 00:35:10,150 --> 00:35:12,797 648 00:35:12,797 --> 00:35:15,380 Ја ћу да вам дам пар минута да прочитате ово. 649 00:35:15,380 --> 00:35:18,588 То је нешто што је за веома Недавно мислим да је пукла доста од тебе 650 00:35:18,588 --> 00:35:19,142 умови Гуис екипе. 651 00:35:19,142 --> 00:35:21,100 Али ми ћемо да причамо кроз ово опет само 652 00:35:21,100 --> 00:35:24,152 да се уверим да потпуно разумем. 653 00:35:24,152 --> 00:35:24,652 ОК. 654 00:35:24,652 --> 00:35:41,280 655 00:35:41,280 --> 00:35:41,780 ОК. 656 00:35:41,780 --> 00:35:44,342 Свако треба више времена за прочитајте овај код? 657 00:35:44,342 --> 00:35:45,650 ОК. 658 00:35:45,650 --> 00:35:50,630 >> Дакле, чини ми се да У овом програму сам 659 00:35:50,630 --> 00:35:53,460 стварајући две жице користећи ГетСтринг. 660 00:35:53,460 --> 00:35:55,180 Један тзв а и један позвао д. 661 00:35:55,180 --> 00:35:58,680 И ако су једнаки износи једни другима, 662 00:35:58,680 --> 00:36:00,880 треба принт "Иоу унесите исту ствар. " 663 00:36:00,880 --> 00:36:04,170 >> Али елсевисе, то ће исписати, "Иоу откуцана различите ствари ", зар не? 664 00:36:04,170 --> 00:36:05,990 Изгледа врло, врло једноставно. 665 00:36:05,990 --> 00:36:08,720 Али, ипак, ако И стварно покушати да напишем овај програм, 666 00:36:08,720 --> 00:36:12,230 изгледа да чак и када сам Унесите Потпуно исти жице, 667 00:36:12,230 --> 00:36:15,490 још увек исписује, "Иоу откуцана различите ствари! " 668 00:36:15,490 --> 00:36:18,020 Да ли неко жели да узмем пуцали на зашто овај програм увек 669 00:36:18,020 --> 00:36:20,370 одговара да се улази су различити, цак 670 00:36:20,370 --> 00:36:22,090 када су сами реци су исте? 671 00:36:22,090 --> 00:36:24,870 672 00:36:24,870 --> 00:36:29,170 >> Дакле, ако бих инпут-- Давид љубав користити пример као мама, зар не? 673 00:36:29,170 --> 00:36:37,890 Ловерцасе М-О-М за с, т једнако малим словима М-О-м. 674 00:36:37,890 --> 00:36:40,340 Ако Трчао сам о овоме да код, зашто би 675 00:36:40,340 --> 00:36:44,180 одштампати "сте укуцали различите ствари?" 676 00:36:44,180 --> 00:36:46,336 >> Да ли неко треба више Време је да размислите о овоме? 677 00:36:46,336 --> 00:36:47,294 У реду, мислим да смо добри. 678 00:36:47,294 --> 00:36:48,716 Да? 679 00:36:48,716 --> 00:36:53,930 >> ПУБЛИКА: У реду, тако да је нешто у вези где је ускладиштен у меморији, зар не? 680 00:36:53,930 --> 00:36:54,890 >> ПРОФЕСОР: Да. 681 00:36:54,890 --> 00:37:00,400 >> ПУБЛИКА: Гдје је то, ако је ово Стринг с се чува у меморији спот-- 682 00:37:00,400 --> 00:37:01,689 Ја сам измишља ово-- је нула. 683 00:37:01,689 --> 00:37:02,355 ПРОФЕСОР: Наравно. 684 00:37:02,355 --> 00:37:05,290 ПУБЛИКА: и гудачки Т се складишти на меморије месту, 685 00:37:05,290 --> 00:37:11,000 као, 167, а затим нула није једнако 167. 686 00:37:11,000 --> 00:37:12,610 >> ПРОФЕСОР: Тачно. 687 00:37:12,610 --> 00:37:18,350 У реду, тако да запамтите ово невероватно откровење смо објаснили да вас 688 00:37:18,350 --> 00:37:21,530 прошле недеље, да жице стварно не постоје? 689 00:37:21,530 --> 00:37:25,380 Када смо створити нешто што се зове стринг смо, у стварности, 690 00:37:25,380 --> 00:37:29,330 стварајући нешто што се зове инт звездице. 691 00:37:29,330 --> 00:37:34,470 Које све што је је показивач на стринг или низ карактера. 692 00:37:34,470 --> 00:37:39,480 >> И тако у овом примеру, ако били су улазни М-О-м на начин 693 00:37:39,480 --> 00:37:49,350 да ће мој рачунар складишти је у меморијском обрнуте косе црте нула, зар не? 694 00:37:49,350 --> 00:37:53,180 Та четири лика, знакова, би се чувају негде. 695 00:37:53,180 --> 00:37:59,290 >> А онда су четири ликови, обрнута коса црта нула, 696 00:37:59,290 --> 00:38:01,275 се чувају негде другде, зар не? 697 00:38:01,275 --> 00:38:04,685 Немам појма где адресе су они негде у мом компјутеру. 698 00:38:04,685 --> 00:38:07,080 Али ја не знам где су. 699 00:38:07,080 --> 00:38:10,170 >> Када сам створити низ а, све то је стварно 700 00:38:10,170 --> 00:38:15,550 је показивач до почетак овог низа. 701 00:38:15,550 --> 00:38:21,130 И када креирате ову т вредности, све што је показивач овде. 702 00:38:21,130 --> 00:38:23,980 И тако, када покушавате изједначити и провери 703 00:38:23,980 --> 00:38:27,710 да видим да ли је ова једнаки износи т, рачунар 704 00:38:27,710 --> 00:38:31,635 је заправо само повратка у ти адреса овог м 705 00:38:31,635 --> 00:38:33,390 и адресу тог м. 706 00:38:33,390 --> 00:38:36,230 И зато су двоје одвојених комада података 707 00:38:36,230 --> 00:38:38,750 који се чувају у две различите адресе у вашем рачунару, 708 00:38:38,750 --> 00:38:41,750 рачунар се никад неће их тамо препознали као исто. 709 00:38:41,750 --> 00:38:43,500 Да ли неко жели да пробам на шта смо 710 00:38:43,500 --> 00:38:46,900 би морао да уради ако желимо да исправимо ово и имају исправан програм рада 711 00:38:46,900 --> 00:38:49,360 уместо тога? 712 00:38:49,360 --> 00:38:52,070 Размислите о томе за пар секунди. 713 00:38:52,070 --> 00:38:54,929 Шта треба да променити добити овај функционисање програма 714 00:38:54,929 --> 00:38:56,220 начин на који желимо да функционише? 715 00:38:56,220 --> 00:39:17,260 716 00:39:17,260 --> 00:39:18,918 >> Да, желим да се убод у томе? 717 00:39:18,918 --> 00:39:24,082 >> ПУБЛИКА: Можемо покушати да дереференце показивач и проверите кроз низ? 718 00:39:24,082 --> 00:39:25,540 ПРОФЕСОР: То је један начин да се то уради. 719 00:39:25,540 --> 00:39:27,880 Дакле, шта је зовеш? 720 00:39:27,880 --> 00:39:29,010 Жао ми је, подсети ме. 721 00:39:29,010 --> 00:39:29,589 >> Зее: Зее. 722 00:39:29,589 --> 00:39:32,130 ПРОФЕСОР: Да, па шта Зи предложио бих апсолутно раде. 723 00:39:32,130 --> 00:39:32,629 Jel tako? 724 00:39:32,629 --> 00:39:35,730 Могли бисмо дереференце показивача и заправо иду и приступ 725 00:39:35,730 --> 00:39:38,460 физички подаци унутар одавде. 726 00:39:38,460 --> 00:39:40,300 И можемо да упореди цео екран. 727 00:39:40,300 --> 00:39:43,670 >> Можемо рећи, у реду, показивач, дај ми оно што је унутра. 728 00:39:43,670 --> 00:39:44,960 То би врати м. 729 00:39:44,960 --> 00:39:47,168 И ја бих рекао, показивач, дај ми оно што је унутра. 730 00:39:47,168 --> 00:39:47,750 Повратак ан м. 731 00:39:47,750 --> 00:39:48,410 Да ли оне утакмицу? 732 00:39:48,410 --> 00:39:49,410 Да. 733 00:39:49,410 --> 00:39:50,340 Онда идемо даље. 734 00:39:50,340 --> 00:39:54,240 >> Стално проверава цео два жице скроз до краја 735 00:39:54,240 --> 00:39:56,635 и видите да ли су то једнаки, ако су све вредности једнаке. 736 00:39:56,635 --> 00:39:59,680 А ако су све вредности су једнаке, онда знамо жице су истините. 737 00:39:59,680 --> 00:40:01,600 Апсолутно, тако да ми то радимо? 738 00:40:01,600 --> 00:40:03,930 >> Да ли неко збуњен на све ово? 739 00:40:03,930 --> 00:40:06,970 Читав концепт како стрингс су заиста само показивачи, 740 00:40:06,970 --> 00:40:08,440 и како они не стварно постоје? 741 00:40:08,440 --> 00:40:10,480 И зашто смо добили грешке као начин смо га добили? 742 00:40:10,480 --> 00:40:15,070 Зато што сам ти гарантујем момци, показиваче и алокација стринг и меморија 743 00:40:15,070 --> 00:40:16,470 ће се попети. 744 00:40:16,470 --> 00:40:17,410 >> Да? 745 00:40:17,410 --> 00:40:21,072 >> ПУБЛИКА: [неразумљиво] дереференце то, само стави звездицу [неразумљиво] 746 00:40:21,072 --> 00:40:21,780 ПРОФЕСОР: Добро. 747 00:40:21,780 --> 00:40:28,430 Тако да деререренце показивач средства да иде на ту адресу показивача 748 00:40:28,430 --> 00:40:30,390 и прибави податке, вредност тамо. 749 00:40:30,390 --> 00:40:32,700 И начин да се то уради је звезда показивач. 750 00:40:32,700 --> 00:40:34,262 Немојте мешати то. 751 00:40:34,262 --> 00:40:35,186 >> ПУБЛИКА: [неразумљиво]. 752 00:40:35,186 --> 00:40:35,852 >> ПРОФЕСОР: Да. 753 00:40:35,852 --> 00:40:39,750 ПУБЛИКА: Дакле, само да напишем Ако стар с једнаки једнаки Стар Т. 754 00:40:39,750 --> 00:40:40,630 >> ПРОФЕСОР: Па, не. 755 00:40:40,630 --> 00:40:40,960 Ne. 756 00:40:40,960 --> 00:40:41,640 >> ПУБЛИКА: То није довољно добро, зар не? 757 00:40:41,640 --> 00:40:43,760 >> ПРОФЕСОР: Није, зато што си само проверавала прво писмо. 758 00:40:43,760 --> 00:40:46,010 Вероватно ћеш треба неку петљу која 759 00:40:46,010 --> 00:40:49,055 Примењује кроз сваки лик у оба стрингс. 760 00:40:49,055 --> 00:40:49,837 Да. 761 00:40:49,837 --> 00:40:52,920 Дакле, ако сте хтели само да проверите да ли ако су почели са исте ствари, 762 00:40:52,920 --> 00:40:58,220 можете да урадите ако, звезда с је једнак Стар Т. 763 00:40:58,220 --> 00:41:01,300 Онда знаш да они бар почела са истим карактером. 764 00:41:01,300 --> 00:41:01,952 >> Да? 765 00:41:01,952 --> 00:41:04,056 >> ПУБЛИКА: Дакле, начин ти би то било 766 00:41:04,056 --> 00:41:06,064 као уграђени за петљу или поинтер? 767 00:41:06,064 --> 00:41:06,730 ПРОФЕСОР: Да. 768 00:41:06,730 --> 00:41:08,170 Прилично само за петљу. 769 00:41:08,170 --> 00:41:12,430 Запамтите, Давид у класи помиње слободно синтаксичко шећера? 770 00:41:12,430 --> 00:41:17,690 И имао је врло збуњује ствар стар т 771 00:41:17,690 --> 00:41:22,030 плус један, где ће се интегрисати кроз и померите показивач? 772 00:41:22,030 --> 00:41:29,910 Лакши начин да се то ово је само т и. 773 00:41:29,910 --> 00:41:31,090 >> Дакле, то је само низ. 774 00:41:31,090 --> 00:41:34,630 Начин на који ће имате за петље која је трајала од нула до и, где је 775 00:41:34,630 --> 00:41:36,580 и је дужина стринг бисте могли да 776 00:41:36,580 --> 00:41:39,510 пишу да уместо што ћете урадити Цео показивач, референтна ствар. 777 00:41:39,510 --> 00:41:43,510 Дакле, ове ствари су потпуно еквивалент на рачунару. 778 00:41:43,510 --> 00:41:45,905 >> Ви вероватно неће треба да знају да, 779 00:41:45,905 --> 00:41:48,280 али је добро да се некако има позади свој ум. 780 00:41:48,280 --> 00:41:52,630 Само знам да ли је рачунар препознаје различите блокове кода 781 00:41:52,630 --> 00:41:53,890 као исту ствар. 782 00:41:53,890 --> 00:41:57,510 Јер, ово је само далеко корисника пријатељски за нас да га представи као да је 783 00:41:57,510 --> 00:41:58,150 низ. 784 00:41:58,150 --> 00:42:00,990 То је само лакше. 785 00:42:00,990 --> 00:42:02,719 >> ПУБЛИКА: Зато користите стрлен да воле, добијам-- 786 00:42:02,719 --> 00:42:03,385 ПРОФЕСОР: Да. 787 00:42:03,385 --> 00:42:03,926 ПУБЛИКА: У реду. 788 00:42:03,926 --> 00:42:05,940 ПРОФЕСОР: Могао би користите стрлен или, ако 789 00:42:05,940 --> 00:42:10,420 није имао стрлен можете само да урадите горе док си ударио косу црту нула за обоје. 790 00:42:10,420 --> 00:42:11,568 Или ће радити. 791 00:42:11,568 --> 00:42:12,068 Да. 792 00:42:12,068 --> 00:42:14,871 793 00:42:14,871 --> 00:42:17,996 ПУБЛИКА: Дакле, то је да сваки Дереференце Један знак да смо заиста били 794 00:42:17,996 --> 00:42:21,044 писања овог кода, можемо могао само до Т заграде И 795 00:42:21,044 --> 00:42:22,460 Свиђа са звездом испред ње? 796 00:42:22,460 --> 00:42:27,700 >> ПРОФЕСОР: Да, једнако једнако с носач и, и онда наставимо И 797 00:42:27,700 --> 00:42:29,790 доле до удариш крај. 798 00:42:29,790 --> 00:42:31,286 Да, то је оно што ће учинити. 799 00:42:31,286 --> 00:42:33,660 И ја ћу заправо имају следећа Пример када смо 800 00:42:33,660 --> 00:42:36,740 напиши стрлен тако момци ће некако од доћи до играте са њим мало. 801 00:42:36,740 --> 00:42:43,567 >> Тако је свима јасно на само сећање, стрингс, показивачи, квалитет адресе? 802 00:42:43,567 --> 00:42:46,650 Неки концепти виши ниво да ће засигурно потреба да се зна на квизу 803 00:42:46,650 --> 00:42:48,928 сутра. 804 00:42:48,928 --> 00:42:49,904 >> У реду. 805 00:42:49,904 --> 00:42:50,404 Dobro. 806 00:42:50,404 --> 00:42:54,824 807 00:42:54,824 --> 00:42:55,324 Да. 808 00:42:55,324 --> 00:42:58,770 809 00:42:58,770 --> 00:43:04,180 У реду, тако да једна ствар која ћемо такође тражити ви, као и ми сваке године на квизу, је, 810 00:43:04,180 --> 00:43:08,340 Претпостављам да сте заборавили (која изгледа да заборавимо да годишње уради) 811 00:43:08,340 --> 00:43:10,810 у којој је проглашен главом датотека стрлен. 812 00:43:10,810 --> 00:43:13,860 И зато морамо да га преправи сами. 813 00:43:13,860 --> 00:43:16,350 >> Ево списак смерница да можемо да вам представимо 814 00:43:16,350 --> 00:43:20,660 Момци где добијате претпоставити да с стринг неће бити нула. 815 00:43:20,660 --> 00:43:23,830 Можете претпоставити да ће ова бити престаје са бацксласх нула. 816 00:43:23,830 --> 00:43:26,670 Дакле, ви знате да је шта то ће завршити са. 817 00:43:26,670 --> 00:43:29,500 >> И, на пример, да дужина Хелло би било пет. 818 00:43:29,500 --> 00:43:32,890 Дакле, можете да претпоставите да хелло ће бити пет, Х-Е-Л-Л-О. 819 00:43:32,890 --> 00:43:35,890 Не морате претпоставити да је бацксиде нула рачуне за дужину. 820 00:43:35,890 --> 00:43:39,720 821 00:43:39,720 --> 00:43:42,300 >> Ова последња ствар овде, зар не бринете о интегер преливом. 822 00:43:42,300 --> 00:43:45,270 Да ли неко сјетити оно што цео прекорачење? 823 00:43:45,270 --> 00:43:48,041 >> ПУБЛИКА: превазилази дужина [неразумљиво]. 824 00:43:48,041 --> 00:43:50,740 >> ПРОФЕСОР: Да, можете ли објаснити мало, шта то значи? 825 00:43:50,740 --> 00:43:55,330 >> ПУБЛИКА: Па, претпостављам да се врати до скраћивања пример раније. 826 00:43:55,330 --> 00:43:58,380 Али, ако имате само толико бројева које превазилазе броја битова 827 00:43:58,380 --> 00:44:01,409 које се могу доделити да ће некако одсечен. 828 00:44:01,409 --> 00:44:04,242 ПРОФЕСОР: Да, тако на типичан рачунар, колико бита имамо? 829 00:44:04,242 --> 00:44:05,306 ПУБЛИКА: 32? 830 00:44:05,306 --> 00:44:06,430 ПРОФЕСОР: Да, 32, зар не. 831 00:44:06,430 --> 00:44:10,030 И то је, оно, четири милијарди, две милијарде? 832 00:44:10,030 --> 00:44:13,579 Четири милијарде, до четири милијарде природни бројеви, зар не? 833 00:44:13,579 --> 00:44:15,370 Два милијарди негативан, две милијарде позитиван, 834 00:44:15,370 --> 00:44:16,900 зависи од тога како желите да то урадите. 835 00:44:16,900 --> 00:44:21,470 >> И тако у основи можемо да имамо довољно природних бројева који могу да иду горе 836 00:44:21,470 --> 00:44:25,800 на два на 31. минус 1, зар не? 837 00:44:25,800 --> 00:44:27,980 Јер кад смо ударили два до 32., ми не 838 00:44:27,980 --> 00:44:30,040 има толико меморије у нашем рачунару. 839 00:44:30,040 --> 00:44:32,310 >> И тако, теоретски, ја могао смислити бројем 840 00:44:32,310 --> 00:44:34,560 То је, као, два у 46.. 841 00:44:34,560 --> 00:44:38,040 То је огроман-дупе број, али теоретски би могао. 842 00:44:38,040 --> 00:44:42,730 И тако цео прекорачење ако покушате да створи цео број који превазилази оно што 843 00:44:42,730 --> 00:44:44,790 ваш рачунар је у стању складиштења. 844 00:44:44,790 --> 00:44:46,590 >> И тако момци за Овај пример немају 845 00:44:46,590 --> 00:44:51,330 да брине о нама вам даје гиганта стринг који је два до 32. карактера 846 00:44:51,330 --> 00:44:51,830 дуго. 847 00:44:51,830 --> 00:44:54,010 То би било заиста значи. 848 00:44:54,010 --> 00:44:59,430 >> У реду, тако да ћу да дам ви база структура овог. 849 00:44:59,430 --> 00:45:02,020 Идеш да се створи Функција се зове инт стрлен где 850 00:45:02,020 --> 00:45:08,436 Положени, цхар звезда, или стринг, показивач на низ назива с. 851 00:45:08,436 --> 00:45:10,820 >> У реду, сви копирају то. 852 00:45:10,820 --> 00:45:13,550 853 00:45:13,550 --> 00:45:14,850 Кул. 854 00:45:14,850 --> 00:45:17,020 Оопс-- други начин. 855 00:45:17,020 --> 00:45:21,360 >> Дакле, ово је нешто као теже комад проблема, 856 00:45:21,360 --> 00:45:25,320 па ћу вам момци можда пет до шест минута до врсте Браинсторм 857 00:45:25,320 --> 00:45:27,478 и написати ову функцију напоље. 858 00:45:27,478 --> 00:45:29,710 >> ПУБЛИКА: Не знамо рачун за [неразумљиво], 859 00:45:29,710 --> 00:45:30,200 не морамо да користимо цео? 860 00:45:30,200 --> 00:45:31,241 >> ПРОФЕСОР: Не, не. 861 00:45:31,241 --> 00:48:05,847 862 00:48:05,847 --> 00:48:06,930 Ја ћу вам дам наговештај. 863 00:48:06,930 --> 00:48:12,325 Неко време петља може бити веома корисно овде. 864 00:48:12,325 --> 00:48:12,825 Да. 865 00:48:12,825 --> 00:48:44,995 866 00:48:44,995 --> 00:48:45,495 Ево 867 00:48:45,495 --> 00:48:45,995 Цанди. 868 00:48:45,995 --> 00:48:49,980 869 00:48:49,980 --> 00:48:53,410 Цанди ће такође бити доступан за квиз, мислим. 870 00:48:53,410 --> 00:48:55,315 Дакле, момци ће бити све сугаред сутра. 871 00:48:55,315 --> 00:49:01,110 872 00:49:01,110 --> 00:49:02,962 Можеш ли-- си га. 873 00:49:02,962 --> 00:49:03,718 >> ПУБЛИКА: У реду. 874 00:49:03,718 --> 00:49:04,384 ПРОФЕСОР: Да. 875 00:49:04,384 --> 00:49:10,550 876 00:49:10,550 --> 00:49:11,870 >> Можда још 30 секунди или тако нешто. 877 00:49:11,870 --> 00:50:02,220 878 00:50:02,220 --> 00:50:07,340 >> У реду, ако си није учињено, без бриге. 879 00:50:07,340 --> 00:50:08,810 Ми ћемо прећи кроз ово заједно. 880 00:50:08,810 --> 00:50:09,310 ОК. 881 00:50:09,310 --> 00:50:13,800 Зато ћу само изгледу Основна структура за ову функцију овде. 882 00:50:13,800 --> 00:50:17,255 Инт стрлен. 883 00:50:17,255 --> 00:50:20,040 884 00:50:20,040 --> 00:50:23,460 Прво, да ли неко жели да кажем ми шта то значи Инт? 885 00:50:23,460 --> 00:50:25,160 Морамо да имамо у овој функцији. 886 00:50:25,160 --> 00:50:26,709 >> ПУБЛИКА: стрлен [неразумљиво]. 887 00:50:26,709 --> 00:50:27,500 ПРОФЕСОР: Тачно. 888 00:50:27,500 --> 00:50:31,140 Дакле, шта год се деси овде, морамо да се врате цео број. 889 00:50:31,140 --> 00:50:36,367 И као што је наведено у спец желимо да ретурн-- 890 00:50:36,367 --> 00:50:37,700 Ићи за то момци, само наставите. 891 00:50:37,700 --> 00:50:40,480 Све је добро. 892 00:50:40,480 --> 00:50:42,960 Једи све тако немам да га вратим, стварно. 893 00:50:42,960 --> 00:50:46,022 894 00:50:46,022 --> 00:50:48,855 ИНТ само значи да сте ће се вратити цео број. 895 00:50:48,855 --> 00:50:55,350 896 00:50:55,350 --> 00:50:57,106 >> Шта је ово Чар звездице а? 897 00:50:57,106 --> 00:50:58,640 Шта то значи? 898 00:50:58,640 --> 00:51:00,879 >> ПУБЛИКА: Као, оно што се улаз у. 899 00:51:00,879 --> 00:51:01,670 ПРОФЕСОР: Тачно. 900 00:51:01,670 --> 00:51:04,142 А шта је готово Исто као цхар звезда? 901 00:51:04,142 --> 00:51:04,850 ПУБЛИКА: стринг? 902 00:51:04,850 --> 00:51:05,641 ПРОФЕСОР: Тачно. 903 00:51:05,641 --> 00:51:09,080 Дакле, све што радимо је дајући ово показивач на низ. 904 00:51:09,080 --> 00:51:09,580 ОК. 905 00:51:09,580 --> 00:51:12,860 906 00:51:12,860 --> 00:51:13,360 Кул. 907 00:51:13,360 --> 00:51:16,650 >> Такође, не заборавите, ако заборавимо да вам дам ове заграде, 908 00:51:16,650 --> 00:51:18,330 не заборавите да им се напише. 909 00:51:18,330 --> 00:51:20,720 Зато што теоретски, ваш код је нетачне ако сте заборавили да их пишем. 910 00:51:20,720 --> 00:51:21,803 Само увек обратите пажњу. 911 00:51:21,803 --> 00:51:23,750 Лике, мале ствари да не приметите 912 00:51:23,750 --> 00:51:26,917 кад програмирање на лаптоп, јер ваш лаптоп је ради за тебе? 913 00:51:26,917 --> 00:51:28,624 Не заборавити када пишеш руком. 914 00:51:28,624 --> 00:51:29,170 Да? 915 00:51:29,170 --> 00:51:30,954 >> ПУБЛИКА: Али како тачно? 916 00:51:30,954 --> 00:51:33,190 Као, да добијемо цео проблем није у реду? 917 00:51:33,190 --> 00:51:34,190 >> ПРОФЕСОР: Не, не. 918 00:51:34,190 --> 00:51:34,860 Не брини. 919 00:51:34,860 --> 00:51:39,270 Заправо је теоретски могуће да добијете пуну тачке на питање 920 00:51:39,270 --> 00:51:41,980 чак и ако ваш број ће Никада покренути у стварном животу. 921 00:51:41,980 --> 00:51:46,052 Предлажем вам не покушаш да се то догоди. 922 00:51:46,052 --> 00:51:48,260 На пример, као ако се све то је овде у праву, 923 00:51:48,260 --> 00:51:51,850 али заборавите дебело црево или држач, Ваш код не ће заправо покренути. 924 00:51:51,850 --> 00:51:53,740 Али можемо бити милостив. 925 00:51:53,740 --> 00:51:54,394 >> Да? 926 00:51:54,394 --> 00:51:56,050 >> ПУБЛИКА: Да ли треба да коментарисати на нашем рукопис? 927 00:51:56,050 --> 00:51:57,758 >> ПРОФЕСОР: Не, не, не бриге о томе. 928 00:51:57,758 --> 00:51:58,440 Не коментаришући. 929 00:51:58,440 --> 00:51:59,400 Стил би требало да буде добра. 930 00:51:59,400 --> 00:52:01,470 Као, не Смусх све на једној линији. 931 00:52:01,470 --> 00:52:04,580 Нећемо бити срећни са вама ако то урадите. 932 00:52:04,580 --> 00:52:07,250 >> Да ли неко жели да дај ми прву линију? 933 00:52:07,250 --> 00:52:08,633 Савет, то је веома лако. 934 00:52:08,633 --> 00:52:09,320 >> Да? 935 00:52:09,320 --> 00:52:11,920 >> ПУБЛИКА: Инт н једнако нула. 936 00:52:11,920 --> 00:52:13,734 Само подесите цоунтер. 937 00:52:13,734 --> 00:52:15,900 ПРОФЕСОР: Па хоћемо мало нека врста шалтеру, зар не? 938 00:52:15,900 --> 00:52:19,780 Само ћу да га наме "цоунт" због видљивости. 939 00:52:19,780 --> 00:52:21,265 Шта желимо да га подесите једнака? 940 00:52:21,265 --> 00:52:21,890 >> ПУБЛИКА: Нула. 941 00:52:21,890 --> 00:52:23,840 ПРОФЕСОР: Да. 942 00:52:23,840 --> 00:52:24,340 Зарез. 943 00:52:24,340 --> 00:52:26,250 Такође је врло чудно цртање зарезом. 944 00:52:26,250 --> 00:52:28,870 Само вежбам то ради. 945 00:52:28,870 --> 00:52:31,990 >> Дакле, желимо да прво бројач типа инт. 946 00:52:31,990 --> 00:52:35,360 Зато што желимо да изброји колико многи ликови или писма су 947 00:52:35,360 --> 00:52:36,780 у овом низу, зар не? 948 00:52:36,780 --> 00:52:38,330 Врло једноставан први корак. 949 00:52:38,330 --> 00:52:42,140 >> ОК, можда мало сложенија Сада, како ћемо да то уради? 950 00:52:42,140 --> 00:52:45,400 Да ли неко жели да дај ми линију кода 951 00:52:45,400 --> 00:52:48,450 који могу бити у стању да помогну лооп кроз све ово? 952 00:52:48,450 --> 00:52:54,540 953 00:52:54,540 --> 00:52:56,900 >> Да, храбри душа у леђа? 954 00:52:56,900 --> 00:53:06,832 >> ПУБЛИКА: ОК, дакле док тачка Звездица је да, звезда с, 955 00:53:06,832 --> 00:53:09,465 није једнака нули, онда нешто? 956 00:53:09,465 --> 00:53:11,090 ПРОФЕСОР: То је стварно, стварно близу. 957 00:53:11,090 --> 00:53:11,835 Стварно близу. 958 00:53:11,835 --> 00:53:13,710 Зато ћу да се обрати две ствари са тим. 959 00:53:13,710 --> 00:53:18,240 Пре свега, није баш нула. 960 00:53:18,240 --> 00:53:20,110 Шта је то? 961 00:53:20,110 --> 00:53:22,550 То је нула Терминатор, који је обрнута коса црта нула. 962 00:53:22,550 --> 00:53:24,960 Дакле, они су различити у услови како они чувају. 963 00:53:24,960 --> 00:53:26,270 Дакле, ти си јако блиски. 964 00:53:26,270 --> 00:53:30,330 >> А друго, ми не желимо само да померите показивач. 965 00:53:30,330 --> 00:53:32,320 Желимо да стварно приступити вредности, зар не? 966 00:53:32,320 --> 00:53:34,050 И тако како ћемо то урадити? 967 00:53:34,050 --> 00:53:34,550 Веома лако. 968 00:53:34,550 --> 00:53:36,841 Не мисли о тројкама, не размишљам о успоменама. 969 00:53:36,841 --> 00:53:38,525 Вратите се у недељу две од овог курса. 970 00:53:38,525 --> 00:53:39,555 >> ПУБЛИКА: [неразумљиво]. 971 00:53:39,555 --> 00:53:40,680 ПРОФЕСОР: Од, сећаш се? 972 00:53:40,680 --> 00:53:41,400 Шта су жице? 973 00:53:41,400 --> 00:53:42,650 Како се чувају у меморији? 974 00:53:42,650 --> 00:53:43,300 >> ПУБЛИКА: Они подигли. 975 00:53:43,300 --> 00:53:43,810 >> ПРОФЕСОР: Они су подигли. 976 00:53:43,810 --> 00:53:45,550 Како да приступите сваки лик унутра? 977 00:53:45,550 --> 00:53:46,466 >> ПУБЛИКА: [неразумљиво]. 978 00:53:46,466 --> 00:53:47,530 ПРОФЕСОР: Тачно. 979 00:53:47,530 --> 00:53:53,195 Дакле, вхиле-- шта иде унутра? 980 00:53:53,195 --> 00:53:54,940 С од - 981 00:53:54,940 --> 00:53:55,920 >> ПУБЛИКА И. 982 00:53:55,920 --> 00:53:58,216 >> ПРОФЕСОР: Ох, ја не постоји, зар не? 983 00:53:58,216 --> 00:53:59,620 >> ПУБЛИКА: О, цоунт? 984 00:53:59,620 --> 00:54:01,640 >> ПРОФЕСОР: Можемо само користе рачунати, зар не? 985 00:54:01,640 --> 00:54:03,050 >> ПУБЛИКА: Извини, то се зове сам. 986 00:54:03,050 --> 00:54:04,341 >> ПРОФЕСОР: Да, све је добро. 987 00:54:04,341 --> 00:54:06,710 988 00:54:06,710 --> 00:54:10,760 Имамо променљиву овде је то већ проглашена нашем шалтеру. 989 00:54:10,760 --> 00:54:13,650 Па зашто не бисмо користили да за кретање кроз вхиле петље? 990 00:54:13,650 --> 00:54:15,230 Да ли то има смисла? 991 00:54:15,230 --> 00:54:20,864 >> Дакле, док ови из цоунт-- не неко жели да ми шта се дешава после овде? 992 00:54:20,864 --> 00:54:22,030 ПУБЛИКА: Не ради једнако. 993 00:54:22,030 --> 00:54:23,405 ПРОФЕСОР: Зар не равноправни, зар не? 994 00:54:23,405 --> 00:54:26,200 То је прасак једнак, знак узвика једнако, 995 00:54:26,200 --> 00:54:28,500 год ви желите да позовите га не екуал-- 996 00:54:28,500 --> 00:54:29,496 >> ПУБЛИКА: [неразумљиво]. 997 00:54:29,496 --> 00:54:30,990 >> ПРОФЕСОР: Да. 998 00:54:30,990 --> 00:54:37,110 Не заборавите ниједан цитат је за цхар, Двоструки наводници су за низ. 999 00:54:37,110 --> 00:54:38,630 Будите опрезни када их користите. 1000 00:54:38,630 --> 00:54:42,430 Дакле, када гледамо кроз Низ, последњи знак, 1001 00:54:42,430 --> 00:54:46,420 знамо ми не желимо да буде обрнута коса црта нула. 1002 00:54:46,420 --> 00:54:47,340 >> Дакле, док. 1003 00:54:47,340 --> 00:54:48,840 Ми нисмо на крају низа. 1004 00:54:48,840 --> 00:54:52,335 Шта желимо да урадимо унутра? 1005 00:54:52,335 --> 00:54:55,269 >> ПУБЛИКА: Желимо да додате у бројач тако да броји плус плус? 1006 00:54:55,269 --> 00:54:56,060 ПРОФЕСОР: Тачно. 1007 00:54:56,060 --> 00:55:03,064 Дакле, овде ћемо да радимо цоунт, цоунт плус плус. 1008 00:55:03,064 --> 00:55:03,980 Недостаје још једну линију. 1009 00:55:03,980 --> 00:55:05,090 Скоро смо стигли. 1010 00:55:05,090 --> 00:55:07,398 Шта ми заборављамо да радимо? 1011 00:55:07,398 --> 00:55:08,770 >> ПУБЛИКА: Ретурнинг нула? 1012 00:55:08,770 --> 00:55:10,820 >> ПРОФЕСОР: Ви желите да се вратите на нулу? 1013 00:55:10,820 --> 00:55:12,962 >> ПУБЛИКА: Не, враћа у стрлен. 1014 00:55:12,962 --> 00:55:13,511 Чекај. 1015 00:55:13,511 --> 00:55:14,760 ПРОФЕСОР: Која се чува у? 1016 00:55:14,760 --> 00:55:15,090 ПУБЛИКА: Тачка. 1017 00:55:15,090 --> 00:55:15,589 Тачка. 1018 00:55:15,589 --> 00:55:17,150 ПРОФЕСОР: Тачно. 1019 00:55:17,150 --> 00:55:20,760 Дакле, овде ћемо да се врати бројање. 1020 00:55:20,760 --> 00:55:23,450 1021 00:55:23,450 --> 00:55:25,380 >> Јер оно што смо радиш овде ултиматели-- 1022 00:55:25,380 --> 00:55:29,780 имамо контра променљиву која је ће за повећање преко низа. 1023 00:55:29,780 --> 00:55:33,050 Ми ћемо наставити, задржати иде, около и около у ову петљу. 1024 00:55:33,050 --> 00:55:37,700 И док ми нисмо на крају овог стринг, који је нула Терминатор. 1025 00:55:37,700 --> 00:55:40,410 >> И сваки пут идемо кроз да, ми смо додајући нашем шалтеру. 1026 00:55:40,410 --> 00:55:42,640 А ми идемо даље заједно у овом низу. 1027 00:55:42,640 --> 00:55:44,880 И на крају, када смо погодио нулл терминатор, 1028 00:55:44,880 --> 00:55:48,469 знамо, Ох, можемо бреак, врати бројање. 1029 00:55:48,469 --> 00:55:49,260 Ми имамо стрлен. 1030 00:55:49,260 --> 00:55:52,280 1031 00:55:52,280 --> 00:55:56,400 >> Да ли сви схватам како ово је реализован? 1032 00:55:56,400 --> 00:55:58,830 Док лоопс-- Знам да немам урађено превише са њима, 1033 00:55:58,830 --> 00:56:01,240 али они обично су врло, врло корисно ако вас 1034 00:56:01,240 --> 00:56:05,390 Не знам шта сте заустављање Услов нужно мора да буде. 1035 00:56:05,390 --> 00:56:06,220 >> Питање? 1036 00:56:06,220 --> 00:56:10,080 >> ПУБЛИКА: Можемо писати нула о вхиле стању? 1037 00:56:10,080 --> 00:56:10,940 >> ПРОФЕСОР: Док? 1038 00:56:10,940 --> 00:56:15,304 Да, тако да у овом проблему сам те имао момци претпоставити да ова неће бити нула. 1039 00:56:15,304 --> 00:56:17,220 Јер, запамтите, теоретски, ако сам ти дао 1040 00:56:17,220 --> 00:56:21,180 показивач који је био превелика меморије, то би вам нулл, зар не? 1041 00:56:21,180 --> 00:56:23,770 То је оно што оперативни Систем ће учинити. 1042 00:56:23,770 --> 00:56:26,960 >> Дакле, ако нисам ти рекао да преузму а ће бити нула, треба да проверите. 1043 00:56:26,960 --> 00:56:32,050 Дакле овде, да би ти, ако ови једнако једнако нула, врати један. 1044 00:56:32,050 --> 00:56:33,028 Нешто налик томе. 1045 00:56:33,028 --> 00:56:34,153 ПУБЛИКА: [неразумљиво] нула. 1046 00:56:34,153 --> 00:56:37,287 1047 00:56:37,287 --> 00:56:39,370 ПРОФЕСОР: У реду, рећи ћу ви зашто не могу то да урадим. 1048 00:56:39,370 --> 00:56:43,357 Зато запамтите у меморији, у реду, овде. 1049 00:56:43,357 --> 00:56:43,940 Идемо овде. 1050 00:56:43,940 --> 00:56:49,940 1051 00:56:49,940 --> 00:56:54,090 >> Имате огромне блокове меморије све са решеткама 1052 00:56:54,090 --> 00:56:56,680 који складиште различите вредности, зар не? 1053 00:56:56,680 --> 00:57:00,110 И тако све низ је- за пример, ако желимо да унос здраво, 1054 00:57:00,110 --> 00:57:05,490 било би Х-Е-Л-Л-О обрнута коса црта нула, зар не? 1055 00:57:05,490 --> 00:57:09,570 И онда ко зна, као случајно ствари које су овде после ње. 1056 00:57:09,570 --> 00:57:11,220 >> Ми заправо не знам шта је тамо. 1057 00:57:11,220 --> 00:57:13,350 И тако, ако сте били да урадите уместо обрнуте косе црте нула, 1058 00:57:13,350 --> 00:57:15,590 нула, то не може бити нула. 1059 00:57:15,590 --> 00:57:17,680 Јер само може да значи неке друге ствари рандом 1060 00:57:17,680 --> 00:57:19,270 који не припадају у вашем низу. 1061 00:57:19,270 --> 00:57:23,219 И тако је начин на који смо увек знали да стринг завршава се са бацксласх нула. 1062 00:57:23,219 --> 00:57:25,760 И то је увек како смо проверите да ли се крај низа. 1063 00:57:25,760 --> 00:57:30,820 >> Нулл, све то значи је ако имате непостојеће показивач, пре свега, 1064 00:57:30,820 --> 00:57:36,160 или ако ваше сећање је тако велики да не можете да га врати, онда би било нула. 1065 00:57:36,160 --> 00:57:40,150 Зато будите врло опрезни када разликовање разлика између нулл 1066 00:57:40,150 --> 00:57:42,130 и обрнуте косе црте нула. 1067 00:57:42,130 --> 00:57:43,670 Да. 1068 00:57:43,670 --> 00:57:46,886 >> Свако у реду са овим? 1069 00:57:46,886 --> 00:57:48,150 ОК. 1070 00:57:48,150 --> 00:57:50,440 >> Дакле, имао сам ви написати стрлен. 1071 00:57:50,440 --> 00:57:53,790 Феасибли смо такође може питати сте написали од А до И, запамтите да "Атвоа" 1072 00:57:53,790 --> 00:57:55,400 или шта год ви желите да га зовем? 1073 00:57:55,400 --> 00:57:58,010 Та функција у Вигенере и Цезар, који 1074 00:57:58,010 --> 00:58:00,900 конвертује АСЦИИ вредност интегер? 1075 00:58:00,900 --> 00:58:04,360 То је такође да се појави на последњих квизови функција смо вас питали да напише. 1076 00:58:04,360 --> 00:58:08,280 >> Прилично било која функција да ли сте користили и 1077 00:58:08,280 --> 00:58:11,660 врло лако да се напише, сензори свиђа је мањи, 1078 00:58:11,660 --> 00:58:14,620 је горња, да се смањи, да горњи. 1079 00:58:14,620 --> 00:58:17,964 Функције које би претворити низ од мала слова у велика слова. 1080 00:58:17,964 --> 00:58:19,380 Сви знамо како се то ради, зар не? 1081 00:58:19,380 --> 00:58:21,100 То је прилично једноставан. 1082 00:58:21,100 --> 00:58:24,770 Само желим да се уверите да сте Могу- то је исто мисаони процес. 1083 00:58:24,770 --> 00:58:26,940 Само прелазили преко и окренете ствари. 1084 00:58:26,940 --> 00:58:30,190 Или рачунати или када окренете ствари другачије. 1085 00:58:30,190 --> 00:58:32,280 >> Ја бих суггест-- И Не знам да ли ћемо 1086 00:58:32,280 --> 00:58:39,080 да вас замолим да запамтим шта капитала А или капитал З или мала слова А или мала слова 1087 00:58:39,080 --> 00:58:42,640 з су у АСЦИИ, али ја бих предложио можда пишу да доле у ​​случају 1088 00:58:42,640 --> 00:58:44,124 радимо. 1089 00:58:44,124 --> 00:58:45,540 Само да момци имају референцу. 1090 00:58:45,540 --> 00:58:47,180 Као велика А је, шта, 197? 1091 00:58:47,180 --> 00:58:51,320 А онда је као мала слова 50 нешто. 1092 00:58:51,320 --> 00:58:52,492 65, да, изволи. 1093 00:58:52,492 --> 00:58:54,950 Дакле, само прилично знати Разлика између њих је 32. 1094 00:58:54,950 --> 00:58:57,670 То је прилично важно. 1095 00:58:57,670 --> 00:58:58,170 Да. 1096 00:58:58,170 --> 00:59:01,445 Јесам ли добро о овоме? 1097 00:59:01,445 --> 00:59:01,945 ОК. 1098 00:59:01,945 --> 00:59:03,109 >> ПУБЛИКА: Могли би теоретски пишу неки 1099 00:59:03,109 --> 00:59:04,410 од њих доле, као и на нашем мали-- 1100 00:59:04,410 --> 00:59:07,035 >> ПРОФЕСОР: Ви теоретски могао само копирате функцију доле. 1101 00:59:07,035 --> 00:59:08,482 То је истина. 1102 00:59:08,482 --> 00:59:11,080 >> ПУБЛИКА: Не [неразумљиво]. 1103 00:59:11,080 --> 00:59:12,720 >> Професор: Ви имате лист. 1104 00:59:12,720 --> 00:59:14,194 Ви имате ноте лист. 1105 00:59:14,194 --> 00:59:14,860 Можете га откуцате. 1106 00:59:14,860 --> 00:59:15,490 Можете га писати. 1107 00:59:15,490 --> 00:59:17,031 То можете учинити све што желите са њом. 1108 00:59:17,031 --> 00:59:18,530 Да. 1109 00:59:18,530 --> 00:59:21,406 Дакле, теоретски, ако желите да, ићи. 1110 00:59:21,406 --> 00:59:23,338 >> ПУБЛИКА: [неразумљиво] али ми не стварно 1111 00:59:23,338 --> 00:59:25,994 нужно треба да запамтимо вредност, можемо само да 1112 00:59:25,994 --> 00:59:28,914 користите за горњи или нижа функција, зар не? 1113 00:59:28,914 --> 00:59:29,580 ПРОФЕСОР: Да. 1114 00:59:29,580 --> 00:59:32,740 Али ако вам је дао једно питање који каже писати горњи, 1115 00:59:32,740 --> 00:59:34,350 онда би требало да га напишем. 1116 00:59:34,350 --> 00:59:38,150 Дакле, ви можете претпоставити да вас момци имају приступ свим функцијама, 1117 00:59:38,150 --> 00:59:41,523 али ако желите да користите за горњи или нижи, шта можете да урадим? 1118 00:59:41,523 --> 00:59:43,840 >> ПУБЛИКА: [неразумљиво] користити ЦС50 [неразумљиво] 1119 00:59:43,840 --> 00:59:44,840 >> ПРОФЕСОР: Да ли је ЦС50.х? 1120 00:59:44,840 --> 00:59:47,320 1121 00:59:47,320 --> 00:59:48,310 Будите опрезни тамо. 1122 00:59:48,310 --> 00:59:50,640 >> Тако да горњи, да смањи, је горња, мања, 1123 00:59:50,640 --> 00:59:52,990 функције које укључују манипулација низ аре 1124 00:59:52,990 --> 00:59:55,490 све у било АСЦИИ или у библиотеци математике 1125 00:59:55,490 --> 00:59:57,350 или у библиотеци стринг. 1126 00:59:57,350 --> 01:00:00,290 Дакле, ако ви користите оне функције, пазите да се сетим 1127 01:00:00,290 --> 01:00:01,451 да укључи то заглавље. 1128 01:00:01,451 --> 01:00:03,950 Па, можда и нешто вас желите да укључите у вашем листу, 1129 01:00:03,950 --> 01:00:04,892 шта су заглавље? 1130 01:00:04,892 --> 01:00:06,600 Који су библиотеке сте користили? 1131 01:00:06,600 --> 01:00:08,550 Које функције су унутар тих библиотека? 1132 01:00:08,550 --> 01:00:09,230 Važno je. 1133 01:00:09,230 --> 01:00:10,420 >> Да? 1134 01:00:10,420 --> 01:00:12,570 >> ПУБЛИКА: Можемо ли само Цоп Оут и да хасхтаг 1135 01:00:12,570 --> 01:00:14,955 кроз апсолутно свако слово које смо икада 1136 01:00:14,955 --> 01:00:17,340 види као на сва питања? 1137 01:00:17,340 --> 01:00:18,320 >> ПРОФЕСОР: Могао би. 1138 01:00:18,320 --> 01:00:20,361 Не знам како сам сретан ћемо бити разред 1139 01:00:20,361 --> 01:00:25,090 да квиз када је сваки део кода два пута док треба да буде. 1140 01:00:25,090 --> 01:00:27,200 Не знам, можда скинути тачку за стилу. 1141 01:00:27,200 --> 01:00:28,790 Али теоретски твој Код ће бити у реду. 1142 01:00:28,790 --> 01:00:30,915 Ви могли полицајца напоље и Само укључују све. 1143 01:00:30,915 --> 01:00:32,044 То је у реду, да. 1144 01:00:32,044 --> 01:00:32,960 ПУБЛИКА: [неразумљиво]. 1145 01:00:32,960 --> 01:00:33,270 ПРОФЕСОР: Да. 1146 01:00:33,270 --> 01:00:34,900 Предложио бих да, иако не раде. 1147 01:00:34,900 --> 01:00:35,505 Да. 1148 01:00:35,505 --> 01:00:36,130 ПУБЛИКА: Кул. 1149 01:00:36,130 --> 01:00:36,620 ПРОФЕСОР: Добро питање. 1150 01:00:36,620 --> 01:00:37,480 ПУБЛИКА: Дакле, најгори сценарио. 1151 01:00:37,480 --> 01:00:38,563 ПРОФЕСОР: Најгори случај. 1152 01:00:38,563 --> 01:00:40,350 Ако сте потпуно заборавили, можете да урадите то. 1153 01:00:40,350 --> 01:00:40,850 Да. 1154 01:00:40,850 --> 01:00:43,870 1155 01:00:43,870 --> 01:00:45,400 >> Да, код тамо. 1156 01:00:45,400 --> 01:00:49,176 Користио сам Н уместо оптужнице, али, хвала Знаш, шта год плута свој чамац. 1157 01:00:49,176 --> 01:00:51,092 ПУБЛИКА: Чекај, па смо неће морати да хаштагот 1158 01:00:51,092 --> 01:00:53,460 укључују јер смо са почетком у инт? 1159 01:00:53,460 --> 01:00:56,150 1160 01:00:56,150 --> 01:00:59,924 >> ПРОФЕСОР: Да, само сам претпоставио да били смо замољени да напише функцију. 1161 01:00:59,924 --> 01:01:02,340 Ако сте хтели да будемо сигурни, хвала могао вероватно га је ставио тамо. 1162 01:01:02,340 --> 01:01:05,650 Али ја једноставно није сметало, да. 1163 01:01:05,650 --> 01:01:09,919 >> Ја не знам ни да ли вас потребан никакав библиотеку за ово. 1164 01:01:09,919 --> 01:01:12,710 Зато што не стварно штампање од свега или нешто, зар не? 1165 01:01:12,710 --> 01:01:16,500 1166 01:01:16,500 --> 01:01:19,568 Да, ја не знам да ли треба библиотеку. 1167 01:01:19,568 --> 01:01:22,400 >> ОК. 1168 01:01:22,400 --> 01:01:26,020 Ово је такође мало више заједно линије манипулације меморије. 1169 01:01:26,020 --> 01:01:27,400 Ова врста мало зезнуто. 1170 01:01:27,400 --> 01:01:28,960 Размислите о томе. 1171 01:01:28,960 --> 01:01:30,580 Имате функцију под називом фунц. 1172 01:01:30,580 --> 01:01:33,570 Могао сам га по имену год, али бирам да га именовати фунц. 1173 01:01:33,570 --> 01:01:36,000 Имам га изнад мој главни. 1174 01:01:36,000 --> 01:01:39,790 Запамтите, желите да имате функција након ваш главни, 1175 01:01:39,790 --> 01:01:42,370 желите да будете сигурни да укључују прототип врха. 1176 01:01:42,370 --> 01:01:45,750 >> Али у овом случају то је тако кратка да сам осетио да сам могао 1177 01:01:45,750 --> 01:01:47,260 укључују се на врху је главни. 1178 01:01:47,260 --> 01:01:51,170 Ја не треба да имају прототип, јер је већ написано изнад. 1179 01:01:51,170 --> 01:01:55,430 Тако да све што радим у својој основној функцији ствара цео број к једнако 10. 1180 01:01:55,430 --> 01:02:00,490 Зовем свог фунц функцију, а затим штампање нешто. 1181 01:02:00,490 --> 01:02:02,840 >> И онда то је заправо шта фунц ради. 1182 01:02:02,840 --> 01:02:04,340 Хоћете да мислите кроз ово. 1183 01:02:04,340 --> 01:02:05,423 Зато што је мало незгодно. 1184 01:02:05,423 --> 01:02:07,220 То је веома, веома незгодно, заправо. 1185 01:02:07,220 --> 01:02:09,549 Размислите кроз шта је ово Програм ће бити Оутпуттинг. 1186 01:02:09,549 --> 01:02:10,840 Ја ћу вам дам два минута. 1187 01:02:10,840 --> 01:03:36,660 1188 01:03:36,660 --> 01:03:37,891 >> Добри дискусије? 1189 01:03:37,891 --> 01:03:38,853 >> ПУБЛИКА: Да. 1190 01:03:38,853 --> 01:03:39,815 >> ПРОФЕСОР: Да. 1191 01:03:39,815 --> 01:03:42,220 У реду, тако да је ово Трицки са разлогом. 1192 01:03:42,220 --> 01:03:44,845 И то је разлог зашто сам хтео да скренем ово свачију пажњу. 1193 01:03:44,845 --> 01:03:47,870 1194 01:03:47,870 --> 01:03:51,147 Да ли неко жели да ми даш предлог, покушај? 1195 01:03:51,147 --> 01:03:52,230 Шта би ово одштампате? 1196 01:03:52,230 --> 01:03:53,930 Потпуно у реду ако си у праву. 1197 01:03:53,930 --> 01:03:55,619 Да? 1198 01:03:55,619 --> 01:03:59,483 >> ПУБЛИКА: Мислим да је 100 и затим 10 на две одвојене линије. 1199 01:03:59,483 --> 01:04:00,940 >> ПРОФЕСОР: И 10? 1200 01:04:00,940 --> 01:04:03,154 Да ли неко има неке друге претпоставке? 1201 01:04:03,154 --> 01:04:04,150 Да? 1202 01:04:04,150 --> 01:04:09,040 >> ПУБЛИКА: Можда само зато што 10 фунц се не враћа ништа? 1203 01:04:09,040 --> 01:04:11,610 >> ПРОФЕСОР: У реду, тако да смо имају погодити број један 1204 01:04:11,610 --> 01:04:14,990 јесте да претпоставка број два је само да одштампате 10. 1205 01:04:14,990 --> 01:04:17,623 Да ли неко има неке друге претпоставке? 1206 01:04:17,623 --> 01:04:19,654 ОК. 1207 01:04:19,654 --> 01:04:21,070 Дакле, хајде да хода кроз ово, зар не? 1208 01:04:21,070 --> 01:04:23,903 Кад год сте добили део кода, немој само гледати и бити као, 1209 01:04:23,903 --> 01:04:25,060 Ах, то је толико ствари! 1210 01:04:25,060 --> 01:04:26,460 Тако сам збуњен! 1211 01:04:26,460 --> 01:04:28,220 Као, смири се доле. 1212 01:04:28,220 --> 01:04:31,602 Само знам да сте управо могли погледати кроз код ред по ред. 1213 01:04:31,602 --> 01:04:32,310 То је све што је. 1214 01:04:32,310 --> 01:04:33,840 То је као читање књиге. 1215 01:04:33,840 --> 01:04:38,000 >> Тако је и са било које функције, увек се крећу од главног. 1216 01:04:38,000 --> 01:04:40,860 Тако ћемо крећу маин празнине, 1217 01:04:40,860 --> 01:04:43,010 Чак програм је већ ради доле, зар не? 1218 01:04:43,010 --> 01:04:45,070 Старт ат у главном празнини. 1219 01:04:45,070 --> 01:04:48,030 Инт к једнако 10. 1220 01:04:48,030 --> 01:04:50,400 >> Зато ћу избрисати ово. 1221 01:04:50,400 --> 01:04:55,179 1222 01:04:55,179 --> 01:04:58,470 Ја ћу да скренем меморију тако вас момци могу некако види шта се дешава. 1223 01:04:58,470 --> 01:05:02,190 >> Запамтите овде имамо гомилу? 1224 01:05:02,190 --> 01:05:05,810 Овде ми имамо наше хеап негде овде. 1225 01:05:05,810 --> 01:05:07,470 Стек расте, зар не? 1226 01:05:07,470 --> 01:05:10,150 И у стеку, имате мрежни функционишу као 1227 01:05:10,150 --> 01:05:12,230 све Мрежни локалних променљивих. 1228 01:05:12,230 --> 01:05:14,310 >> Па ево, инт једнака 10. 1229 01:05:14,310 --> 01:05:17,670 У оквиру нашег главног функцију смо стварајући променљиву названу х. 1230 01:05:17,670 --> 01:05:20,590 Селимо да једнака 10. 1231 01:05:20,590 --> 01:05:24,200 Овде имате неке к, а ти си постављање који једнако 10, тако, 1232 01:05:24,200 --> 01:05:25,400 у главни. 1233 01:05:25,400 --> 01:05:27,430 Свако добро? 1234 01:05:27,430 --> 01:05:28,070 >> Функција. 1235 01:05:28,070 --> 01:05:30,330 Дакле, сада, у року од наших главних Функција, Зовемо 1236 01:05:30,330 --> 01:05:31,810 функција смо написали горе. 1237 01:05:31,810 --> 01:05:34,550 Дакле, сада смо ушли у другу функцију. 1238 01:05:34,550 --> 01:05:40,120 Идемо да створимо други променљива инт једнако 100. 1239 01:05:40,120 --> 01:05:42,410 Шта се дешава овде у стеку? 1240 01:05:42,410 --> 01:05:46,980 Шта се дешава када назовем функција која ствара нове променљиве? 1241 01:05:46,980 --> 01:05:50,038 Шта се дешава овде у стеку? 1242 01:05:50,038 --> 01:05:52,134 >> ПУБЛИКА: [неразумљиво] гомиле на врху? 1243 01:05:52,134 --> 01:05:52,800 ПРОФЕСОР: Да. 1244 01:05:52,800 --> 01:05:54,050 Тако да заправо ствара копију. 1245 01:05:54,050 --> 01:05:56,560 1246 01:05:56,560 --> 01:05:57,740 И некако гомиле на врху. 1247 01:05:57,740 --> 01:06:00,700 Размислите о стацк-- стек књига, гомиле нечега. 1248 01:06:00,700 --> 01:06:06,520 Гомиле на врху, прво у последња од, траје у, први напоље. 1249 01:06:06,520 --> 01:06:08,471 >> Дакле, то ће створити к овде. 1250 01:06:08,471 --> 01:06:12,080 1251 01:06:12,080 --> 01:06:14,450 >> То ће морати све фунцс променљиве. 1252 01:06:14,450 --> 01:06:14,950 Велики. 1253 01:06:14,950 --> 01:06:20,980 Тако да сада имамо два различита к је то представљају две врло различите ствари. 1254 01:06:20,980 --> 01:06:24,470 Онда ћемо да одштампате од стране цео број к. 1255 01:06:24,470 --> 01:06:26,430 Дакле, хајде да одштампате 100, зар не? 1256 01:06:26,430 --> 01:06:29,389 Јер овде је 100. 1257 01:06:29,389 --> 01:06:31,680 Дакле, то је прва ствар да иде да одштампате. 1258 01:06:31,680 --> 01:06:35,710 Пошто је ова функција враћа ништа, Сада је функција, која линија у главни 1259 01:06:35,710 --> 01:06:37,070 врши. 1260 01:06:37,070 --> 01:06:39,160 Свако добро са мном до сада? 1261 01:06:39,160 --> 01:06:43,034 >> Дакле, сада смо кроз две од три линије од наших главних функција. 1262 01:06:43,034 --> 01:06:44,450 Сада ћемо у трећем реду. 1263 01:06:44,450 --> 01:06:46,350 Идемо у принтф. 1264 01:06:46,350 --> 01:06:48,222 Шта је ово х унутар главни? 1265 01:06:48,222 --> 01:06:49,263 Шта то представља? 1266 01:06:49,263 --> 01:06:52,720 1267 01:06:52,720 --> 01:06:54,280 >> Коју вредност је к сада? 1268 01:06:54,280 --> 01:06:55,220 >> ПУБЛИКА: 100. 1269 01:06:55,220 --> 01:06:56,799 >> ПРОФЕСОР: То је 100? 1270 01:06:56,799 --> 01:06:57,590 ПУБЛИКА: Још 10. 1271 01:06:57,590 --> 01:06:58,878 ПРОФЕСОР: Још 10. 1272 01:06:58,878 --> 01:07:00,870 Да. 1273 01:07:00,870 --> 01:07:06,810 Јер, запамтите, у оквиру наш фунц, к једнако 100. 1274 01:07:06,810 --> 01:07:09,690 Али ако се врате да нашем главном функцију, 1275 01:07:09,690 --> 01:07:12,440 та променљива се чува у друго место на нашем стек. 1276 01:07:12,440 --> 01:07:16,250 >> Дакле, сада морамо да се вратимо до Маин Стацк, струјни локалне променљиве. 1277 01:07:16,250 --> 01:07:18,460 И овде к једнако до 10. 1278 01:07:18,460 --> 01:07:20,300 И тако ћемо да одштампате 10. 1279 01:07:20,300 --> 01:07:22,530 >> Дакле, она је апсолутно у праву. 1280 01:07:22,530 --> 01:07:25,053 Ми ћемо имати излаз 100 и 10. 1281 01:07:25,053 --> 01:07:25,553 Да? 1282 01:07:25,553 --> 01:07:28,700 ПУБЛИКА: Када маллоц, тај је гомила или стек који је [неразумљиво]? 1283 01:07:28,700 --> 01:07:31,950 ПРОФЕСОР: Када маллоц, узимате меморију од гомиле 1284 01:07:31,950 --> 01:07:32,830 и то додјеле. 1285 01:07:32,830 --> 01:07:34,950 Тако да немате петљати са ништа од овога. 1286 01:07:34,950 --> 01:07:38,100 Претпостављам да је већи понети овде је нешто што се зове опсег. 1287 01:07:38,100 --> 01:07:39,650 >> За оне који су били у преглед седница синоћ, 1288 01:07:39,650 --> 01:07:41,080 кратко смо причали о томе. 1289 01:07:41,080 --> 01:07:45,380 Обим дефинише како и када постоји ваши варијабле. 1290 01:07:45,380 --> 01:07:48,050 Или у шта фрамес ваши променљиве постоје. 1291 01:07:48,050 --> 01:07:51,690 >> Прилично правило палца генерално је, ваш вариаблес-- ако сте их направили 1292 01:07:51,690 --> 01:07:56,660 унутар коврџаву брацес-- они постоје само унутар тих заграда. 1293 01:07:56,660 --> 01:08:00,312 >> Тако на пример у нашем функцији фунц, видиш та два протезу. 1294 01:08:00,312 --> 01:08:02,020 Ако правите ништа унутар ње, 1295 01:08:02,020 --> 01:08:06,500 велике су шансе да све што радите је стварање стек и складиштење да има. 1296 01:08:06,500 --> 01:08:07,430 Иста ствар у главни. 1297 01:08:07,430 --> 01:08:09,950 То је само складиште унутар главни. 1298 01:08:09,950 --> 01:08:13,560 >> Такође, желите да будете врло, врло опрезан овде. 1299 01:08:13,560 --> 01:08:18,310 Због обима и даје Сама на различите примере. 1300 01:08:18,310 --> 01:08:25,950 Тако на пример за петља за инт износи 0. 1301 01:08:25,950 --> 01:08:28,460 Ја је мања од, не знам, 10. 1302 01:08:28,460 --> 01:08:32,111 Ја плус плус. 1303 01:08:32,111 --> 01:08:34,560 И имаш код унутар ње, зар не? 1304 01:08:34,560 --> 01:08:38,830 >> Где ли ова варијабла, Ја, заправо постоје само? 1305 01:08:38,830 --> 01:08:40,510 Само унутар ваше фор петље. 1306 01:08:40,510 --> 01:08:43,640 Дакле, кладим се многи од вас има Вероватно је наишао ову грешку када је 1307 01:08:43,640 --> 01:08:45,930 радите програме у својим псетс. 1308 01:08:45,930 --> 01:08:49,990 Колико вас су покушали да ја користим изван фор петљу и имао грешку? 1309 01:08:49,990 --> 01:08:53,310 Лике Ан унреференцед целих или тако нешто? 1310 01:08:53,310 --> 01:08:56,069 >> Разлог зашто се то деси је јер овде сте 1311 01:08:56,069 --> 01:08:59,109 стварајући нешто што само постоји унутар ваше фор петље. 1312 01:08:59,109 --> 01:09:01,972 А ако покушате да га користите, И не заправо постоји изван ње. 1313 01:09:01,972 --> 01:09:04,930 Дакле, у основи компјутер каже, ја Не знам шта причаш. 1314 01:09:04,930 --> 01:09:08,689 Све што знам је да је сам био овде, али сада више не. 1315 01:09:08,689 --> 01:09:12,580 >> Дакле, ако сам био да се створи за петљу унутар, зар не? 1316 01:09:12,580 --> 01:09:19,080 И ја ћу да створе другу, као инт ј, и да се уради било шта. 1317 01:09:19,080 --> 01:09:23,689 И имате код унутар да петља, Ј постоји само овде. 1318 01:09:23,689 --> 01:09:26,029 Али то такође постоји у и. 1319 01:09:26,029 --> 01:09:29,310 И тако Ј постоји само у ово петље, 1320 01:09:29,310 --> 01:09:33,850 а ја постоји у целој ствари. 1321 01:09:33,850 --> 01:09:34,500 >> Свако јасно? 1322 01:09:34,500 --> 01:09:37,416 Иста ствар са условним изјавама Ако желите да креирате ништа. 1323 01:09:37,416 --> 01:09:40,390 Иста ствар и са петље, док уколико желите да креирате ништа. 1324 01:09:40,390 --> 01:09:42,390 То је нешто од чега треба врло, врло пажљиви. 1325 01:09:42,390 --> 01:09:45,681 Дакле, ово је заиста добро проблема у осећају да је показао две ствари. 1326 01:09:45,681 --> 01:09:47,160 Прво показао, обим. 1327 01:09:47,160 --> 01:09:49,550 И то је показао Такође алокација меморије. 1328 01:09:49,550 --> 01:09:54,130 Зато што ви треба да знају да Функције расте према горе у стеку. 1329 01:09:54,130 --> 01:09:56,710 И када зовете функције, правите 1330 01:09:56,710 --> 01:09:59,060 у суштини нови стек меморије. 1331 01:09:59,060 --> 01:10:02,100 То је веома разликује од шта је ваш мрежни меморија је. 1332 01:10:02,100 --> 01:10:03,300 Да. 1333 01:10:03,300 --> 01:10:03,800 Ух! 1334 01:10:03,800 --> 01:10:05,470 Свако добро о томе? 1335 01:10:05,470 --> 01:10:06,750 То је збуњујуће. 1336 01:10:06,750 --> 01:10:09,380 Врло добра тема да иде преко, јер ти си вероватно 1337 01:10:09,380 --> 01:10:12,255 ћете добити неки лукав такве ствари на квизу. 1338 01:10:12,255 --> 01:10:13,350 Да. 1339 01:10:13,350 --> 01:10:13,850 Кул. 1340 01:10:13,850 --> 01:10:16,014 1341 01:10:16,014 --> 01:10:18,430 Ставићу ти 100 на једном линије и затим са 10 на другој. 1342 01:10:18,430 --> 01:10:21,468 Да, врло добро. 1343 01:10:21,468 --> 01:10:26,350 >> У реду, сада ви ћете добити прилика да буду тас. 1344 01:10:26,350 --> 01:10:30,600 Можеш да одговоримо на сва дивна мејлови које сам понекад. 1345 01:10:30,600 --> 01:10:34,290 >> Дакле, Драги Анди, видим ја мислим нешто није у иде у реду са мојим компајлер. 1346 01:10:34,290 --> 01:10:37,910 Сигуран сам да је мој број је исправан, али стално добијам сегментације грешку 1347 01:10:37,910 --> 01:10:39,074 сваки пут кад покренете. 1348 01:10:39,074 --> 01:10:39,740 Шта се дешава? 1349 01:10:39,740 --> 01:10:42,844 Плеасе хелп, пуно љубави. 1350 01:10:42,844 --> 01:10:45,740 1351 01:10:45,740 --> 01:10:49,410 >> Ако сте добили нешто да како бисте одговорили? 1352 01:10:49,410 --> 01:10:51,860 То су заправо врло честа Питања ћемо вас. 1353 01:10:51,860 --> 01:10:54,090 Да ли је, ако ћемо вам дати Сценарио, ми ћемо нам 1354 01:10:54,090 --> 01:10:56,350 најбоље претпоставка шта се дешава. 1355 01:10:56,350 --> 01:11:00,710 Свако има убод шта се дешава? 1356 01:11:00,710 --> 01:11:02,654 Да? 1357 01:11:02,654 --> 01:11:06,056 >> ПУБЛИКА: Можда дереференцед нула, нешто као показивача 1358 01:11:06,056 --> 01:11:08,924 се указује на нешто нулл. 1359 01:11:08,924 --> 01:11:11,590 ПРОФЕСОР: Да, то би бити пример када би се то догодило. 1360 01:11:11,590 --> 01:11:14,467 Али шта је већу слику шта се овде дешава? 1361 01:11:14,467 --> 01:11:17,050 ПУБЛИКА: Да ли је покушаваш да приступи меморији да ниси 1362 01:11:17,050 --> 01:11:18,175 треба да имају приступ? 1363 01:11:18,175 --> 01:11:19,200 ПРОФЕСОР: Тачно. 1364 01:11:19,200 --> 01:11:24,800 Дакле, мислим на сег грешке, што је офф Границе, ограничена област у меморији 1365 01:11:24,800 --> 01:11:27,780 да не би требало да буде дирљиво. 1366 01:11:27,780 --> 01:11:31,670 >> Дакле, прилично када покушавате то индек-- као нпр, 1367 01:11:31,670 --> 01:11:34,110 сте прогласили низ од нула до девет. 1368 01:11:34,110 --> 01:11:37,360 Али покушајте да додирнете ту 10тх вредност, немате приступ на то. 1369 01:11:37,360 --> 01:11:38,694 Зато што нисте прогласили. 1370 01:11:38,694 --> 01:11:40,943 И тако је рачунар иде да погледате да буде као, 1371 01:11:40,943 --> 01:11:43,440 Ух Ох, покушавате да оде изван граница индекса. 1372 01:11:43,440 --> 01:11:45,270 Ја ћу да ти дам Сегментатион фаулт. 1373 01:11:45,270 --> 01:11:46,590 >> Мислите о као сегмента, зар не? 1374 01:11:46,590 --> 01:11:49,665 Додатни сегмент је грешка када покушате да пробију нешто 1375 01:11:49,665 --> 01:11:50,790 и не треба да буде тамо. 1376 01:11:50,790 --> 01:11:53,660 Сегментатион фаулт је било кад покушате да додирнете ствари 1377 01:11:53,660 --> 01:11:54,970 да не би требало да буде дирљиво. 1378 01:11:54,970 --> 01:11:56,815 >> Дакле, уобичајени примери су индекс. 1379 01:11:56,815 --> 01:11:58,940 Наравно, ако покушаваш на додир који је био нула, 1380 01:11:58,940 --> 01:12:00,220 да би се радити као добро. 1381 01:12:00,220 --> 01:12:02,300 Ако је ваш показивач је покушавао да тоуцх ствари које не треба дирати, 1382 01:12:02,300 --> 01:12:03,730 која би могла истовремено функционише као добро. 1383 01:12:03,730 --> 01:12:07,120 Најчешће ти ћеш видети у низу. 1384 01:12:07,120 --> 01:12:07,740 Свако добро? 1385 01:12:07,740 --> 01:12:10,374 >> ПУБЛИКА: Дакле, ако желите за приступ 10. тачка 1386 01:12:10,374 --> 01:12:12,290 и постоји само лимит од девет или тако нешто. 1387 01:12:12,290 --> 01:12:13,160 >> ПРОФЕСОР: Да, управо тако. 1388 01:12:13,160 --> 01:12:13,660 Прилично. 1389 01:12:13,660 --> 01:12:15,930 1390 01:12:15,930 --> 01:12:16,430 Кул. 1391 01:12:16,430 --> 01:12:19,070 1392 01:12:19,070 --> 01:12:19,920 >> Драги Анди. 1393 01:12:19,920 --> 01:12:23,440 Дакле, имамо те дивне ствари зове сорте. 1394 01:12:23,440 --> 01:12:25,472 Ако Мерге сорт-- као и ми тестера у примеру када је 1395 01:12:25,472 --> 01:12:27,180 Давид учини читав ствар у цласс-- зашто, 1396 01:12:27,180 --> 01:12:29,760 ако је тако много брже од било које од других врста, 1397 01:12:29,760 --> 01:12:33,310 Зашто смо труди знајући било која од других врста? 1398 01:12:33,310 --> 01:12:35,100 >> Шта је ово питање стварно вас питам? 1399 01:12:35,100 --> 01:12:36,659 Шта је три ворд-- 1400 01:12:36,659 --> 01:12:37,950 ПУБЛИКА: Шта је компромис? 1401 01:12:37,950 --> 01:12:38,530 ПРОФЕСОР: Тачно. 1402 01:12:38,530 --> 01:12:39,946 То је оно што је питање пита. 1403 01:12:39,946 --> 01:12:43,682 Шта је траде-офф између Мерге врста стихова било које друге врсте? 1404 01:12:43,682 --> 01:12:45,850 >> ПУБЛИКА: Такес меморију, зар не? 1405 01:12:45,850 --> 01:12:47,720 >> ПРОФЕСОР: Да ли ти објашњавају да мало више? 1406 01:12:47,720 --> 01:12:49,490 Прво да објасним Мерге продавницу. 1407 01:12:49,490 --> 01:12:50,970 Како врста Мерге ради? 1408 01:12:50,970 --> 01:12:55,220 >> ПУБЛИКА: Тако то ради од делећи све на пола 1409 01:12:55,220 --> 01:13:00,660 и онда састављао и реалоцира га како, 1410 01:13:00,660 --> 01:13:02,862 као и сваки пут када спојите сетове. 1411 01:13:02,862 --> 01:13:03,820 ПРОФЕСОР: Прилично. 1412 01:13:03,820 --> 01:13:06,861 Тако да могу извући ово, али то би таке ме пет минута да се извуче. 1413 01:13:06,861 --> 01:13:10,220 Осврните се на слајдовима рубрици где смо покривени Мерге врсту. 1414 01:13:10,220 --> 01:13:10,790 Baš tako. 1415 01:13:10,790 --> 01:13:13,406 >> Дакле, начин на који Мерге Сортирај дела да ли је дели ствари на пола, 1416 01:13:13,406 --> 01:13:15,780 и онда само гледа прве вредности свих они 1417 01:13:15,780 --> 01:13:17,000 и сортира само то. 1418 01:13:17,000 --> 01:13:20,364 Континуирано ствара нове низова и ставља све више и више у реду. 1419 01:13:20,364 --> 01:13:23,030 И тако док то је стварно брзо, јер је-- знаш, 1420 01:13:23,030 --> 01:13:25,380 бинарна претрага је н лог н. 1421 01:13:25,380 --> 01:13:27,880 Ви правите толико различити низови у којој си 1422 01:13:27,880 --> 01:13:29,700 користећи велику количину меморије. 1423 01:13:29,700 --> 01:13:33,080 И тако док је брже, компромис овде је да користите више меморије. 1424 01:13:33,080 --> 01:13:38,490 >> И тако, наговештај, шорц и претраге су више ове године покривено доста 1425 01:13:38,490 --> 01:13:41,610 него што су били у годинама претходних. 1426 01:13:41,610 --> 01:13:45,100 Ви треба да виде да огледа у складу са тим на квизу. 1427 01:13:45,100 --> 01:13:49,160 Ја бих дефинитивно провести вријеме иде о томе шта све различитих врста 1428 01:13:49,160 --> 01:13:52,320 су, како бинарни претрага, како линеарна претрага рад. 1429 01:13:52,320 --> 01:13:54,750 Како да можда Псеудокод Кодирамо они напоље. 1430 01:13:54,750 --> 01:13:55,950 Који су руннинг пута? 1431 01:13:55,950 --> 01:13:59,210 Нешто слично раде времена је веома лако да копирате доле на један ноте лист, 1432 01:13:59,210 --> 01:13:59,710 jel tako? 1433 01:13:59,710 --> 01:14:01,420 >> Заиста је тешко када си у средини тест 1434 01:14:01,420 --> 01:14:02,390 и морате да схватим. 1435 01:14:02,390 --> 01:14:03,160 Копирајте га. 1436 01:14:03,160 --> 01:14:05,550 Ја вам гарантујем да си морати да знају да. 1437 01:14:05,550 --> 01:14:06,860 Који су компромиси? 1438 01:14:06,860 --> 01:14:10,064 У најгорем случају, најбољи сценарији за све њих, веома упознати. 1439 01:14:10,064 --> 01:14:10,564 Да? 1440 01:14:10,564 --> 01:14:12,730 >> ПУБЛИКА: Да ли треба да знате како да кодирају Мерге врсту? 1441 01:14:12,730 --> 01:14:15,470 Као, ми треба да Сећам се рекурзивно? 1442 01:14:15,470 --> 01:14:18,950 >> ПРОФЕСОР: Ја веома сумњам, само јер то је као прилично компликовано. 1443 01:14:18,950 --> 01:14:22,282 Али то не може бити неизводљиво ако ми молим вас да га користите Псеудокод напоље. 1444 01:14:22,282 --> 01:14:22,781 Да. 1445 01:14:22,781 --> 01:14:25,470 1446 01:14:25,470 --> 01:14:29,170 >> Да, у реду, још један. 1447 01:14:29,170 --> 01:14:31,387 Ово може да се појави у сте последњи комад у мало. 1448 01:14:31,387 --> 01:14:42,101 1449 01:14:42,101 --> 01:14:43,090 Да? 1450 01:14:43,090 --> 01:14:44,930 Јесу ли сви чули? 1451 01:14:44,930 --> 01:14:48,360 >> ОК, дакле прилично прво сви, који тип програма 1452 01:14:48,360 --> 01:14:51,000 ће бити дајући вам излаз овако? 1453 01:14:51,000 --> 01:14:54,350 Не заборавите да вас је замолио да уче о овај нови тип отклањања грешака функције? 1454 01:14:54,350 --> 01:14:57,340 Како се зове од тога? 1455 01:14:57,340 --> 01:14:59,460 Валгринд, зар не 1456 01:14:59,460 --> 01:15:02,600 >> То је програм на основу којег се то може назвати могао 1457 01:15:02,600 --> 01:15:05,940 пратите све меморије си користећи у вашем програму и се дешава. 1458 01:15:05,940 --> 01:15:11,090 Дакле, ако имаш нешто, као, дефинитивно изгубљено, 40 бајтова у једном блоку. 1459 01:15:11,090 --> 01:15:14,870 Вероватно ниси запамтити да бисте га ослободили. 1460 01:15:14,870 --> 01:15:18,710 Јер, ако користите бајтова меморије, то значи да сте приступити то сећање, 1461 01:15:18,710 --> 01:15:20,240 али нисте били у стању да ослободи. 1462 01:15:20,240 --> 01:15:21,948 Дакле, желите да се да ли и ти си 1463 01:15:21,948 --> 01:15:31,420 користећи фрее-- то је фунцтион-- да ослободи све 1464 01:15:31,420 --> 01:15:34,930 меморије прерасподјела од маллоц. 1465 01:15:34,930 --> 01:15:35,500 >> Кул. 1466 01:15:35,500 --> 01:15:37,140 Дакле, овом слајду, ја ћу га горе. 1467 01:15:37,140 --> 01:15:41,050 То је свуда у великој предавања, у многим рубрици слајдова. 1468 01:15:41,050 --> 01:15:44,254 Стварно желите да се уверите да знас све ово. 1469 01:15:44,254 --> 01:15:47,170 Или у поруци стања или ако Желим да га запамтим, слободно. 1470 01:15:47,170 --> 01:15:48,836 То је стварно, стварно, стварно важно. 1471 01:15:48,836 --> 01:15:53,200 1472 01:15:53,200 --> 01:15:56,890 >> Такође, веома добар Питање које можемо питати. 1473 01:15:56,890 --> 01:16:00,320 Зашто је поглед на Селецтион сорт-- Избор сорт-- све рунтимес 1474 01:16:00,320 --> 01:16:02,060 се н на квадрат. 1475 01:16:02,060 --> 01:16:06,714 Без обзира на то колико је листа питању ви као, па зашто је избор сорт-- 1476 01:16:06,714 --> 01:16:08,630 Ја ћу вам дам 30 Други мисле о томе. 1477 01:16:08,630 --> 01:16:10,700 Зато што је мало збуњујуће. 1478 01:16:10,700 --> 01:16:12,710 То укључује и нешто концептуално мисао. 1479 01:16:12,710 --> 01:16:16,470 Зашто би рун пута бити исти у и најгоре и најбоље сценарији? 1480 01:16:16,470 --> 01:16:28,850 1481 01:16:28,850 --> 01:16:30,000 >> Да? 1482 01:16:30,000 --> 01:16:38,084 >> ПУБЛИКА: Зато што свака врста Избор положај или простор у овој малој низу 1483 01:16:38,084 --> 01:16:40,350 ствар или било шта друго. 1484 01:16:40,350 --> 01:16:44,430 Дакле, чак иу најбољем случају, чак и ако је савршено поредани, 1485 01:16:44,430 --> 01:16:47,380 то би и даље да буде као, у реду, један. 1486 01:16:47,380 --> 01:16:49,000 У мом првом месту Имам једну. 1487 01:16:49,000 --> 01:16:50,250 И проћи кроз све њих. 1488 01:16:50,250 --> 01:16:51,249 ОК, један је најмањи. 1489 01:16:51,249 --> 01:16:53,053 И онда опет и као, у реду, два 1490 01:16:53,053 --> 01:16:54,594 је најмањи од свих ствари. 1491 01:16:54,594 --> 01:16:56,804 Али то тек треба да проверите свако. 1492 01:16:56,804 --> 01:16:57,470 ПРОФЕСОР: Да. 1493 01:16:57,470 --> 01:17:00,490 Тако, на пример, рецимо имамо списак, већ поредани, 1494 01:17:00,490 --> 01:17:03,390 низ један до пет. 1495 01:17:03,390 --> 01:17:07,100 Начин на који одабира врсте је да пролази кроз, проверава ово двоје. 1496 01:17:07,100 --> 01:17:08,234 Онда проверава оне две. 1497 01:17:08,234 --> 01:17:09,650 И онда се проверава, и то проверава. 1498 01:17:09,650 --> 01:17:13,285 То стално проверава све њих, без обзира да ли или не 1499 01:17:13,285 --> 01:17:14,160 то је заправо поредани. 1500 01:17:14,160 --> 01:17:16,450 Јер то је једноставно начин врста ради. 1501 01:17:16,450 --> 01:17:19,530 >> И то питање је попут концептуални питање ћемо питати. 1502 01:17:19,530 --> 01:17:21,430 Где прво, да Знаш шта Селецтион врста 1503 01:17:21,430 --> 01:17:23,304 је, зар не, да би могли да одговори на питање. 1504 01:17:23,304 --> 01:17:26,200 Морате бити у стању да разумеју концептуално шта се дешава. 1505 01:17:26,200 --> 01:17:30,760 А онда можете применити и мислити, у реду хајде да замислимо најгори могући сценарио. 1506 01:17:30,760 --> 01:17:32,230 Они су сви у опадајућем редоследу. 1507 01:17:32,230 --> 01:17:33,290 Како би то утицати на то? 1508 01:17:33,290 --> 01:17:34,650 >> Шта ако је узлазним редоследом? 1509 01:17:34,650 --> 01:17:35,640 Ако је већ поредани? 1510 01:17:35,640 --> 01:17:37,240 Како ће то утицати на рунтимес? 1511 01:17:37,240 --> 01:17:40,270 А онда Избор врста, приметићете да није стварно битно. 1512 01:17:40,270 --> 01:17:43,500 Зато што сте проверу све вредности без обзира на то шта се дешава. 1513 01:17:43,500 --> 01:17:45,810 >> И тако добре ствари за памћење. 1514 01:17:45,810 --> 01:17:50,290 Зашто неке врсте разликују од других и како најбоље и најгоре сценарији 1515 01:17:50,290 --> 01:17:52,740 би да утиче на све њих. 1516 01:17:52,740 --> 01:17:56,700 >> Ја ћу заиста ударио у разним јер ће то бити на квизу. 1517 01:17:56,700 --> 01:17:57,199 Да. 1518 01:17:57,199 --> 01:18:00,820 1519 01:18:00,820 --> 01:18:01,320 ОК. 1520 01:18:01,320 --> 01:18:05,590 Постоји шест минута до краја. 1521 01:18:05,590 --> 01:18:09,880 Могу да три минута питања. 1522 01:18:09,880 --> 01:18:12,290 Такође да се муваш за као 20 минута после секције 1523 01:18:12,290 --> 01:18:13,850 Ако желите да поставите питања као добро. 1524 01:18:13,850 --> 01:18:16,330 Да ли неко има заиста кратак само Питања и идејних питања 1525 01:18:16,330 --> 01:18:17,360 они су нејасне сада? 1526 01:18:17,360 --> 01:18:17,832 Да? 1527 01:18:17,832 --> 01:18:19,720 >> ПУБЛИКА: Можеш ли говорити мало мало о битовима оператера? 1528 01:18:19,720 --> 01:18:20,280 >> ПРОФЕСОР: Да. 1529 01:18:20,280 --> 01:18:22,446 Дакле, битовима оператери су нешто што вероватно 1530 01:18:22,446 --> 01:18:24,170 Можда само желим да стави на листу. 1531 01:18:24,170 --> 01:18:27,540 Тако куицкли-- не желим да иду превише у дубину 1532 01:18:27,540 --> 01:18:31,164 јер Харварду, у свом прегледу сесија, то покрива прилично добро. 1533 01:18:31,164 --> 01:18:33,080 Битовима оператер, ту је Пет од њих, зар не? 1534 01:18:33,080 --> 01:18:41,370 >> Ту је ово, што је к или функција, ту је амперсанд, што је и. 1535 01:18:41,370 --> 01:18:44,050 Цеви, који је или. 1536 01:18:44,050 --> 01:18:46,790 И онда имате два различите врсте смене. 1537 01:18:46,790 --> 01:18:50,610 >> Ако ти дам две вредности, ако Дајем ти, као, један и један. 1538 01:18:50,610 --> 01:18:52,390 Шта би то проценимо? 1539 01:18:52,390 --> 01:18:55,490 Ако дајете истинито и тачно, истина? 1540 01:18:55,490 --> 01:18:56,930 Шта је тачно или нетачно? 1541 01:18:56,930 --> 01:18:57,830 Ипак истина, зар не? 1542 01:18:57,830 --> 01:18:59,762 Зато што је или. 1543 01:18:59,762 --> 01:19:01,220 Ми ћемо највероватније вам дати бројеве. 1544 01:19:01,220 --> 01:19:03,780 Запамтите, један једнако Истина, нула једнако лажна. 1545 01:19:03,780 --> 01:19:07,407 И можемо вам дати ове ствари и молим вас да нам кажете шта се дешава. 1546 01:19:07,407 --> 01:19:10,240 Харварда га покрива у прва 10 минута њиховог студијског сесије 1547 01:19:10,240 --> 01:19:11,230 стварно, стварно добро. 1548 01:19:11,230 --> 01:19:14,260 Дакле, ви желите да се да ли се осврне на то. 1549 01:19:14,260 --> 01:19:16,387 >> ПУБЛИКА: Да ли писа5 ће бити на квизу? 1550 01:19:16,387 --> 01:19:16,970 ПРОФЕСОР: Не 1551 01:19:16,970 --> 01:19:18,240 Немој ни да погледате писа5 сада. 1552 01:19:18,240 --> 01:19:18,810 Тешко је. 1553 01:19:18,810 --> 01:19:22,830 Само немој уопште бавити писа5. 1554 01:19:22,830 --> 01:19:25,665 >> Међутим, и неке савете и сугестије, ја 1555 01:19:25,665 --> 01:19:28,320 Предложио бих почнете писа5 чим је квиз је готова. 1556 01:19:28,320 --> 01:19:30,319 Ово ће бити најтеже недељно, али онда момци 1557 01:19:30,319 --> 01:19:34,590 биће донет је на брдима од Роллинг Греен и штенце, 1558 01:19:34,590 --> 01:19:36,115 и то је у реду. 1559 01:19:36,115 --> 01:19:39,810 >> Ова класа добија значајна лакше после петог псет. 1560 01:19:39,810 --> 01:19:41,560 ПУБЛИКА: Радно време су недеља, понедељак? 1561 01:19:41,560 --> 01:19:44,260 ПРОФЕСОР: Да, тако радно време ће Сундаи до понедељка за псет. 1562 01:19:44,260 --> 01:19:47,009 Радно време вечерас у суштини ће бити само преглед за квиз. 1563 01:19:47,009 --> 01:19:50,350 Ако неко жели да дође и питати ТАС питање, ми ћемо бити тамо. 1564 01:19:50,350 --> 01:19:53,220 >> Ја ћу можда још једно питање ако неко има питање? 1565 01:19:53,220 --> 01:19:53,809 Да? 1566 01:19:53,809 --> 01:19:55,850 ПУБЛИКА: Кад си дефинисање чворова, [неразумљиво] 1567 01:19:55,850 --> 01:20:00,700 ако кажете чвора звезду и онда следећи, да ли је компјутер аутоматски 1568 01:20:00,700 --> 01:20:03,610 Схватам да сте ви који се односи на другом показивачу? 1569 01:20:03,610 --> 01:20:04,580 >> ПРОФЕСОР: Не 1570 01:20:04,580 --> 01:20:06,710 >> ПУБЛИКА: Морате релинк је [неразумљиво]? 1571 01:20:06,710 --> 01:20:09,270 >> ПРОФЕСОР: Па у основи струцт од чвора је, сећам се, 1572 01:20:09,270 --> 01:20:12,620 то је као да направите чвор и онда имате показивач се зове следећи. 1573 01:20:12,620 --> 01:20:14,630 Све што радите је да структура тамо. 1574 01:20:14,630 --> 01:20:16,387 Морате да доделите да поинтер негде. 1575 01:20:16,387 --> 01:20:18,470 Дакле, компјутери не знам шта ради још. 1576 01:20:18,470 --> 01:20:20,250 Морате да заправо доделили када правите листу повезан. 1577 01:20:20,250 --> 01:20:22,170 И то је оно што највише псет 5 ће бити на. 1578 01:20:22,170 --> 01:20:24,106 Значи нема бриге око неки од то одмах. 1579 01:20:24,106 --> 01:20:26,380 >> ПУБЛИКА: Дакле, не морамо да фокусирати превише на линк листи, само 1580 01:20:26,380 --> 01:20:27,440 генерал концепција? 1581 01:20:27,440 --> 01:20:30,980 >> ПРОФЕСОР: Само прилично много гомила, редови, линк листе, дрвеће, хасх табеле. 1582 01:20:30,980 --> 01:20:33,639 Само моћи да знају шта су. 1583 01:20:33,639 --> 01:20:35,680 Нећемо питати желите нешто конкретно 1584 01:20:35,680 --> 01:20:39,300 јер нисмо стварно одрадио псет да покрива ништа од тога још. 1585 01:20:39,300 --> 01:20:45,540 >> Дакле, у последња два минута пре Ја те ослободим да убије овај квиз. 1586 01:20:45,540 --> 01:20:49,370 Прилично, као, размислите о томе како сада ви дошли у овој класи. 1587 01:20:49,370 --> 01:20:52,820 >> Сећам се када је недељу дана два ове класе, неки од вас 1588 01:20:52,820 --> 01:20:55,720 провести три сата писања воду. 1589 01:20:55,720 --> 01:20:57,970 Колико дуго ће вас одвести момци да пишем воду сада? 1590 01:20:57,970 --> 01:20:59,670 30 секунди, можда? 1591 01:20:59,670 --> 01:21:01,810 Размислите о томе колико момци су научили. 1592 01:21:01,810 --> 01:21:04,320 ЦС је стварно, стварно тешко предмет. 1593 01:21:04,320 --> 01:21:06,190 Нема сумње у то. 1594 01:21:06,190 --> 01:21:09,160 Тешко је, зато нико не студира. 1595 01:21:09,160 --> 01:21:10,730 То је само тешко. 1596 01:21:10,730 --> 01:21:11,650 И то је потпуно у реду. 1597 01:21:11,650 --> 01:21:14,150 >> И ја сам заиста поносан да свако је сада јасно ставио до овога. 1598 01:21:14,150 --> 01:21:16,380 Псетс није лако. 1599 01:21:16,380 --> 01:21:17,790 Они узимају доста времена. 1600 01:21:17,790 --> 01:21:22,580 Момци, ја ћу вас замолити да напишу никада игра од 15 или Вигенере на псет. 1601 01:21:22,580 --> 01:21:24,160 Нема потребе да поблесавио о томе. 1602 01:21:24,160 --> 01:21:28,080 Све смо тестирање је да се процени Ваш концептуални знање, као и 1603 01:21:28,080 --> 01:21:31,524 као што неки од ваших основних вештина кодирања. 1604 01:21:31,524 --> 01:21:33,440 Тест је дизајниран да бити заиста изазов. 1605 01:21:33,440 --> 01:21:36,180 Као, дизајниран је за вас да не добијају 100. 1606 01:21:36,180 --> 01:21:39,880 Такође је дизајниран за вас да вјероватно неће моћи да завршимо за 75 минута. 1607 01:21:39,880 --> 01:21:41,995 И то је потпуно у реду. 1608 01:21:41,995 --> 01:21:42,870 Ја сам лично ученик. 1609 01:21:42,870 --> 01:21:45,960 Знам, мрзим када ходам из квиз бити као говно. 1610 01:21:45,960 --> 01:21:47,044 То је стварно тешко. 1611 01:21:47,044 --> 01:21:49,460 Вероватно оно што ће се хаппен-- и то је потпуно у реду, 1612 01:21:49,460 --> 01:21:50,751 Кажем вам момци сада. 1613 01:21:50,751 --> 01:21:53,190 Средства на овим стварима нису високе уопште. 1614 01:21:53,190 --> 01:21:55,360 >> А за оне који су се, као, 1615 01:21:55,360 --> 01:21:57,870 тројки на Ваш проблем сетова, то не значи да си 1616 01:21:57,870 --> 01:21:59,536 ће добити 60 одсто у овој класи. 1617 01:21:59,536 --> 01:22:01,440 Ако добијете 60% на квиз, да не 1618 01:22:01,440 --> 01:22:03,330 Мислим да ћеш добили Д у овој класи. 1619 01:22:03,330 --> 01:22:05,740 Видимо, поготово ја, за оне од вас у свом делу, 1620 01:22:05,740 --> 01:22:07,406 Видим колико је тешко су момци све раде. 1621 01:22:07,406 --> 01:22:09,190 И пратити од тога. 1622 01:22:09,190 --> 01:22:11,420 >> Момци ће бити у реду. 1623 01:22:11,420 --> 01:22:14,580 Нема институционално сећање срећа на крају семестра. 1624 01:22:14,580 --> 01:22:16,840 Зато што су све Харвард деца су говоре њихови пријатељи, ох, ти ћеш бити у реду. 1625 01:22:16,840 --> 01:22:18,381 Нико вам говори момци овде. 1626 01:22:18,381 --> 01:22:20,950 Дакле, морам да вам кажем да је овде. 1627 01:22:20,950 --> 01:22:22,280 >> Момци ће бити у реду. 1628 01:22:22,280 --> 01:22:24,080 Тако сам поносан на све вас. 1629 01:22:24,080 --> 01:22:25,680 Тест ће бити тешко. 1630 01:22:25,680 --> 01:22:28,140 Студија за њега, а потом Само га баци. 1631 01:22:28,140 --> 01:22:31,280 Спремите се да науче нове ствари. 1632 01:22:31,280 --> 01:22:33,990 И једу слаткише. 1633 01:22:33,990 --> 01:22:35,940 Имамо имамо пуно слаткиша. 1634 01:22:35,940 --> 01:22:37,760 >> Гет наспавати екипе. 1635 01:22:37,760 --> 01:22:40,420 Не не спава, јер то би било стварно лоше. 1636 01:22:40,420 --> 01:22:41,490 ЦС је много логике. 1637 01:22:41,490 --> 01:22:44,960 Ако не спаваш, не може да функционише, и ваш мозак не може да функционише. 1638 01:22:44,960 --> 01:22:48,780 А ја ћу бити ту за следећих 20 минута, ако неко жели да се дружим. 1639 01:22:48,780 --> 01:22:51,150 Момци ће га убити. 1640 01:22:51,150 --> 01:22:53,000 Срећно. 1641 01:22:53,000 --> 01:22:55,663