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 Спісы Link збіраецеся быць пакрытыя на віктарыне. 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 фактычна было створана намі, што не існуе ў C па сабе. 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 як з фруктовымі Loops калі вы былі маленькім. 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 Гэта таксама шмат, я думаю, CSC роду умовах. 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 хто не быў у гэтай сувязі там, калі Вы ідзяце ў cs50.yale.edu, на пярэдняй 155 00:07:25,120 --> 00:07:28,566 Гэтая старонка існуе сувязь што кажа "Аб Віктарына Zero." 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 І таму, калі ваш апошні ў адносінах з А у N, перайдзіце да юрыдычнай школы залы. 162 00:07:44,220 --> 00:07:47,500 І калі вашыя апошнія пачынаецца з P у Z, перайдзіце да Дэвіс аўдыторыі. 163 00:07:47,500 --> 00:07:50,240 І гэта адносіцца толькі да людзі ў раздзеле асяроддзе. 164 00:07:50,240 --> 00:07:53,420 >> Калі вы прымаеце віктарыну на Чацвер, вы ідзяце ў SSS 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 ПРАФЕСАР: вываду Z, вы збіраецеся ісці ў залу Дэвіс. 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 Так, вываду Z, вы збіраецеся каб перайсці да Дэвіс Auditorim. 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 да 02:15 па серадах і 02:30, каб 03: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 У першы раз я калі-небудзь узяў віктарыну CS, я не меў 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 яна вельмі натуральна быць стане, што autocompleted 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 is-- я сабраў некаторыя праблемы практыкі 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 Можа быць, тое, што GDB? 256 00:11:49,960 --> 00:11:51,560 Чаму мы хочам, каб выкарыстоўваць GDB? 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 Так што, калі ўсё wants-- Я думаю, у большасці людзей ёсць лісты паперы 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, якая роўная нулю праз дзевяць, а таксама праз F. 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 Такім чынам 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 Добра. 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 значэнняў, а затым мы робім праз F, 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 >> ПРАФЕСАР: 0x. 373 00:21:39,270 --> 00:21:45,210 Такім чынам, мы ведаем, што ў любы час, мы просім вас канвертаваць любую колькасць у шаснаццатковай 374 00:21:45,210 --> 00:21:48,230 або ў любы час вы бачыце якой-небудзь нумар, які пачынаецца з 0x, 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 Гэта было б F, праўда? 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 F. Такім чынам, адзін, адзін, адзін, адзін, адзін, адзін, адзін, адным у шаснаццатковай усё гэта з'яўляецца 0xFF. 384 00:22:21,270 --> 00:22:25,350 Таму што гэтая палова прадстаўлена F, значэнне 15, 385 00:22:25,350 --> 00:22:27,331 і гэтая палова прадстаўлена F, значэнне 15. 386 00:22:27,331 --> 00:22:29,456 Таму што памятаеце, мы лічачы ад нуля да дзевяці. 387 00:22:29,456 --> 00:22:35,290 А як 10, B, як 11, F 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 Гэта будзе то ад нуля да F. 414 00:23:33,270 --> 00:23:35,722 >> Тут таксама будзе то ад нуля да F. 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 >> 0x5A. 426 00:24:28,774 --> 00:24:29,440 ПРАФЕСАР: 0x5A. 427 00:24:29,440 --> 00:24:30,470 5а. 428 00:24:30,470 --> 00:24:31,340 Добра. 429 00:24:31,340 --> 00:24:37,050 Такім чынам, гэта тут было be-- вы хочаце каб сказаць нам, як вы атрымалі гэта? 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 Такім чынам, гэта другое значэнне тут будзе 0x5A. 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 0X, што на самой справе азначае, нічога, акрамя кажу вам 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 >> АЎДЫТОРЫЯ: Так што мы будзем always-- 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 Так што, калі я даў вам 0xFF, вы маглі б прыцягнуць, што з ў двайковай, праўда? 468 00:26:03,370 --> 00:26:06,820 >> Вы пераўтварыць F у двайковай, які з'яўляецца адным, адзін, адзін, адзін, 469 00:26:06,820 --> 00:26:09,380 пераўтварыць F у двайковы, які адзін, адзін, адзін, адзін. 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 Я магу see-- вы добра? 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 Такім чынам, праз F з'яўляюцца будзе ў верхнім рэгістры. 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 >> Так, па-першае, тое, што ўнутры стандарту io.h, што ўяўляе цікавасць для праграмы? 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 ОК, крута. 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 наша стандартная бібліятэка io.h файл? 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 >> АЎДЫТОРЫЯ: Гэта калі Вы змяшчаеце што Printf? 516 00:28:58,340 --> 00:28:59,131 >> ПРАФЕСАР: Точно. 517 00:28:59,131 --> 00:29:01,780 Так Printf, у любы час вам прыняць ўвод ад карыстальніка 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 Думайце пра яго, што way-- ўваход, выхад. 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 Так што я ведаю, што я заўсёды буду патрэбна бібліятэка гостирован i.o. 524 00:29:12,040 --> 00:29:16,400 >> Так Printf функцыя з дапамогай якіх мы павінны атрымаць доступ 525 00:29:16,400 --> 00:29:19,370 і ўключаюць у сябе хэштэгу Стандартная бібліятэка i.o. 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 У нас ёсць Int асноўны (пустэчу), што робіць анулявання тут маю на ўвазе тут, на трэцяй лініі? 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 Так што памятаеце, мы даведаліся, пачынаючы з нашага PSET 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 гэта называюць. 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 Чаму мы нават мець INT галоўны? 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 Добра? 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 Christabell? 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 Так што сказаў Christabell быў зусім правільна. 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 Так, напрыклад, гэта CS50 ID is-- Я думаю, што гэта 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 Але калі вы запусціце it-- я не памятаю, таму што ў мінулым годзе яны 630 00:34:41,389 --> 00:34:42,830 правёў яе на іншую праграму. 631 00:34:42,830 --> 00:34:45,300 Яны пабеглі яго ў тое, што называецца CS50 бытавой, які 632 00:34:45,300 --> 00:34:46,389 адрозніваецца ад ID. 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 І так, калі гэта rounds-- 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 стварэнне двух радкоў, выкарыстоўваючы GetString. 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 >> Але Elsewise, было б надрукаваць ", Вы набралі розныя рэчы ", ці не так? 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 ён па-ранейшаму друкуе, "You набралі розныя рэчы! " 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 >> Так, калі б я input-- Дэвід каханне выкарыстоўваць прыклад як мама, праўда? 673 00:36:29,170 --> 00:36:37,890 Малыя М-О-М для S, T роўная маленькай M-O-M. 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 >> АЎДЫТОРЫЯ: Дзе гэта як, калі гэта Радок з захоўваецца ў памяці spot-- 682 00:37:00,400 --> 00:37:01,689 Я вынаходзячы this-- роўная нуля. 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 >> І таму ў дадзеным прыкладзе, калі я былі уваходнага M-O-м шляху 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 каб убачыць, калі ёй гэта роўна роўная T, кампутар 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 Дакладна? 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 Такім чынам, каб derererence паказальнік сродкі ісці па гэтым адрасе паказальніка 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 Няма. 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 Чым прасцей спосаб зрабіць гэта проста т I. 773 00:41:29,910 --> 00:41:31,090 >> Так што гэта проста масіў. 774 00:41:31,090 --> 00:41:34,630 Такім чынам, што б вы мець для цыкл, які бег ад нуля да I, дзе 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 >> АЎДЫТОРЫЯ: Так што выкарыстоўвайце STRLEN падабаецца, get-- 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 ПРАФЕСАР: Вы маглі б выкарыстоўваць StrLen або, калі вы 789 00:42:05,940 --> 00:42:10,420 не маюць StrLen вы можаце проста зрабіць да пакуль вы не націснеце зваротны слеш нуль для абодвух. 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 пісаць гэты код, мы можа проста зрабіць т дужкі I 795 00:42:21,044 --> 00:42:22,460 падабаецца з зоркай перад ім? 796 00:42:22,460 --> 00:42:27,700 >> ПРАФЕСАР: Так, роўная роўная S Кранштэйн я, а затым рухацца I 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 напісаць StrLen так што вы, хлопцы, будзе свайго роду з атрымаеце, каб пагуляць з ім няшмат. 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 Добра. 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 у якім заявіў, файл загалоўка StrLen. 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 Вы збіраецеся стварыць Функцыя называецца INT StrLen дзе 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 Oops-- іншы спосаб. 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 Можа i-- вы яго атрымалі. 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 Int StrLen. 883 00:50:17,255 --> 00:50:20,040 884 00:50:20,040 --> 00:50:23,460 Па-першае, хто-небудзь хочаце сказаць мне, што гэта азначае INT? 885 00:50:23,460 --> 00:50:25,160 Мы павінны мець на гэтай функцыі. 886 00:50:25,160 --> 00:50:26,709 >> АЎДЫТОРЫЯ: STRLEN [неразборліва]. 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 І, як паказана ў спецыфікацыі, мы хочам, каб return-- 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 АЎДЫТОРЫЯ: String? 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 Маўляў, не smush усё на адной лініі. 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 >> АЎДЫТОРЫЯ: Int, п роўная нуля. 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 >> Таму мы хочам, каб спачатку лічыльнік тыпу Int. 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 Так што while-- ідзе ўнутры тут? 980 00:53:53,195 --> 00:53:54,940 S з - 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 >> Такім чынам, хоць ёй з count-- хто-небудзь хоча каб даць мне тое, што адбываецца пасля таго, тут? 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 усё, што вы, хлопцы, жадаеце, каб называць яго ня equal-- 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 >> АЎДЫТОРЫЯ: Не, вяртаючыся да STRLEN. 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 >> Таму што тое, што мы тут робіце ultimately-- 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 У нас ёсць STRLEN. 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 У той час як loops-- Я ведаю, мы не зрабіць занадта шмат з імі, 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 >> АЎДЫТОРЫЯ: Ці можам мы напісаць NULL пры ўмове, час? 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 А так усё гэта радок is-- для Напрыклад, калі мы хочам ўводу прывітанне, 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 NULL, яно не можа быць нулявым. 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 >> Null, усё, што сродкі, калі ў вас ёсць неіснуючай паказальнік, перш за ўсё, 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 >> Так што мне прыйшлося вы, хлопцы, напішыце StrLen. 1071 00:57:50,440 --> 00:57:53,790 Тэхніка-эканамічнае мы маглі б таксама папрасіць вас напісаць з А да Я, памятаеце, што "Atwoa" 1072 00:57:53,790 --> 00:57:55,400 або ўсё, што вы, хлопцы, жадаеце назваць гэта? 1073 00:57:55,400 --> 00:57:58,010 Гэтая функцыя ў Vigenere і Цэзар, што 1074 00:57:58,010 --> 00:58:00,900 пераўтворыць значэнне Ascii ў цэлае? 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 Проста хачу, каб пераканацца, што вы can-- гэта ж разумовы працэс. 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 >> Я б suggest-- I не ведаю, калі мы збіраемся 1086 00:58:32,280 --> 00:58:39,080 папрасіць вас запомніць, які капітале або Сталіца Z, ці ніжні рэгістр ці ніжні рэгістр 1087 00:58:39,080 --> 00:58:42,640 г у ASCII, але я хацеў бы прапанаваць магчыма, напісаўшы, што ўніз ў выпадку 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 з іх ўніз, а на нашым little-- 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 >> АЎДЫТОРЫЯ: [неразборліва] выкарыстоўваць CS50 [неразборліва] 1119 00:59:43,840 --> 00:59:44,840 >> ПРАФЕСАР: Гэта CS50.h? 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 усё ў межах або ў фармаце ASCII або ў матэматычнай бібліятэкі 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 Гэта важна. 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 ўключаюць у сябе, таму што мы пачынаючы з Int? 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 У вас ёсць функцыя пад назвай FUNC. 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 Я тэлефаную свайму функцыю Func, а затым нешта друкаваць. 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 FUNC ня вяртаецца што-небудзь? 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 Такім чынам, мы збіраемся, каб пачаць у INT асноўны пустаце, 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 Int х роўны 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 >> Дык вось, INT х раўняцца 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 Мы збіраемся стварыць яшчэ Пераменная INT х роўны 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 Падумайце аб stack-- стэк кніг, чаркі што-небудзь. 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 >> Гэта будзе мець усе funcs зменныя. 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 Мы збіраемся PRINTF. 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 Таму што памятаеце, у наш FUNC, х роўны 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 >> У значнай ступені правіла звычайна ёсць, ваш variables-- калі вы ствараеце іх 1292 01:07:51,690 --> 01:07:56,660 ўнутры фігурнай braces-- яны існуюць толькі ўнутры гэтых фігурных дужках. 1293 01:07:56,660 --> 01:08:00,312 >> Так, напрыклад, у залежнасці ад нашага FUNC, вы бачыце гэтыя дзве дужкі. 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 Так, напрыклад, для пятля для Int я роўная 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 вы робіце ў вашых праграм psets. 1308 01:08:45,930 --> 01:08:49,990 Як многія з вас, хлопцы спрабавалі выкарыстаць I па-за для цыкла і былі памылкі? 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 І я збіраюся стварыць іншы, як INT J, і ён зрабіць што-небудзь. 1317 01:09:19,080 --> 01:09:23,689 І ў вас ёсць код ўнутры што цыкл, толькі J існуе тут. 1318 01:09:23,689 --> 01:09:26,029 Але таксама існуе ў I. 1319 01:09:26,029 --> 01:09:29,310 І так J існуе толькі у гэтым цыкл, 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 >> АЎДЫТОРЫЯ: Можа быць разыменовываются NULL, то, як паказальнік 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 Так думаць пра віну SEG, у оф межы, забароненая зона ў памяці 1365 01:11:24,800 --> 01:11:27,780 што вы не павінны дакранацца. 1366 01:11:27,780 --> 01:11:31,670 >> Так даволі шмат, калі вы спрабуеце каб index-- як напрыклад, 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 Калі зліццё sort-- як мы бачыў у прыклад, калі 1395 01:12:25,472 --> 01:12:27,180 Дэвід зрабіў усё рэч у class-- чаму, 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 Што тры word-- 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 Перш за ўсё, давайце растлумачыць Merge краму. 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 Дакладна. 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 І так, што ў той час як на самой справе, на самай справе хутка, таму што вы ведаеце, it's--, 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 дакладна? 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 Valgrind, права 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 выкарыстоўваючы free--, што гэта function-- вызваліць усе 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 Чаму погляд Selection sort-- на Выбар sort-- ўвесь час аўтаномнай працы 1474 01:16:00,320 --> 01:16:02,060 якія п у квадраце. 1475 01:16:02,060 --> 01:16:06,714 Незалежна ад таго, спіс ідзе Вы, як, дык чаму sort-- Выбар 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 Чаму б часы Run быць тое ж самае ў і горшыя і лепшыя сцэнары тэматычных? 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 Дзе-першае, вам ведаю, што-то Selection 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 Так quickly-- я не хачу ісці занадта шмат у глыбіні 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 >> Залы: pisa5 будзе на віктарыне? 1550 01:19:16,387 --> 01:19:16,970 ПРАФЕСАР: Няма 1551 01:19:16,970 --> 01:19:18,240 Нават не глядзіце на pisa5 прама цяпер. 1552 01:19:18,240 --> 01:19:18,810 Гэта цяжка. 1553 01:19:18,810 --> 01:19:22,830 Проста нават не папрацавалі гледзячы на ​​pisa5. 1554 01:19:22,830 --> 01:19:25,665 >> Аднак, так як некаторыя намёкі і прапановы, я 1555 01:19:25,665 --> 01:19:28,320 хацеў бы прапанаваць вам пачаць pisa5 як толькі віктарына скончылася. 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 >> Гэты клас атрымлівае значнае лягчэй пасля пятага PSET. 1560 01:19:39,810 --> 01:19:41,560 АЎДЫТОРЫЯ: Гадзіннік з'яўляюцца нядзеля, панядзелак? 1561 01:19:41,560 --> 01:19:44,260 ПРАФЕСАР: Так, так у працоўны час будзе нядзелю на панядзелак для PSET. 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 І гэта тое, што ў асноўным PSET 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 таму што мы сапраўды не зрабілі PSET, што ахоплівае любы з што яшчэ. 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 правесці 03:00 пісаць вады. 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 CS сапраўды, сапраўды цяжка тэма. 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 Psets ня лёгка. 1599 01:21:16,380 --> 01:21:17,790 Яны прымаюць шмат часу. 1600 01:21:17,790 --> 01:21:22,580 Вы, хлопцы, я ніколі не будзе прасіць вас, каб напісаць гульня 15 або Vigenere на PSET. 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 Магчыма, што будзе happen-- і гэта цалкам нармальна, 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 азначае, што вы збіраецеся атрымаць D у гэтым класе. 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 CS шмат логікі. 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