1 00:00:00,000 --> 00:00:15,059 >> [МУЗЫКА] 2 00:00:15,059 --> 00:00:19,170 >> Гэта CS50-- Harvard ўвядзенне універсітэта 3 00:00:19,170 --> 00:00:22,070 да інтэлектуальнай прадпрыемстваў інфарматыкі 4 00:00:22,070 --> 00:00:23,800 і мастацтва праграмавання. 5 00:00:23,800 --> 00:00:27,020 А мяне завуць Дэвід малая і Я проста падумаў сёння раніцай, 6 00:00:27,020 --> 00:00:33,120 гэта было дзіўна 20 гадоў сёння так як я ў апошні раз сядзеў, дзе вы, хлопцы, цяпер рабіць. 7 00:00:33,120 --> 00:00:33,840 >> Гэта быў 1996. 8 00:00:33,840 --> 00:00:37,550 Я быў на другім курсе, і я прымаў CS50 ў першы раз. 9 00:00:37,550 --> 00:00:40,890 І я нават не ўстаў нерв ўзяць яго сам першы год, 10 00:00:40,890 --> 00:00:42,500 збольшага з-за часу. 11 00:00:42,500 --> 00:00:44,782 інфарматыка мне быў накшталт як, Мех. 12 00:00:44,782 --> 00:00:46,990 Я быў трохі вылюдка расце , Але я на самой справе не 13 00:00:46,990 --> 00:00:49,180 ёсць якія-небудзь інтэлектуальныя цікавасць да таго, з'явіліся 14 00:00:49,180 --> 00:00:51,920 каб быць проста цэлая куча людзі праграмавання ўвесь час. 15 00:00:51,920 --> 00:00:53,904 >> І мне было страшна, калі шчыра. 16 00:00:53,904 --> 00:00:56,820 Курс і інфарматыка падрабязней як правіла, мелі і ў нейкай ступені, 17 00:00:56,820 --> 00:01:01,230 дагэтуль мае такую ​​рэпутацыю поля да беражыцеся, калі толькі таму, што многія з нас 18 00:01:01,230 --> 00:01:04,410 не знаёмыя з ім і ўпэўненыя ў ім. 19 00:01:04,410 --> 00:01:08,480 І гэта на самай справе не было, пакуль я не рабіў пакупкі гэты клас, другакурснік fall-- 20 00:01:08,480 --> 00:01:10,880 і нават тады, я толькі паступіў таму што professor-- 21 00:01:10,880 --> 00:01:13,950 адзін з першых маіх настаўнікаў, Браян Кернигана цяпер у Princeton-- 22 00:01:13,950 --> 00:01:15,700 дазволіў мне ўзяць клас пас пацярпець няўдачу. 23 00:01:15,700 --> 00:01:18,020 І на самай справе, вось чаму сёння мы дазваляем і заахвочваць 24 00:01:18,020 --> 00:01:20,030 студэнтаў прыняць гэты клас сядзеў / unsat. 25 00:01:20,030 --> 00:01:22,040 >> І толькі потым, на канец семестра 26 00:01:22,040 --> 00:01:24,870 я зразумеў, як, нічога сабе, гэта не быў такім незнаёмым полі. 27 00:01:24,870 --> 00:01:26,850 На самай справе, гэта было вельмі пашырэнне правоў і магчымасцяў вобласці, 28 00:01:26,850 --> 00:01:28,970 і больш узбуджальна, асабліва пазней, 29 00:01:28,970 --> 00:01:32,809 як я ўзяў курсы Драматычнае мастацтва 101 і Лацінскай A 30 00:01:32,809 --> 00:01:34,600 а затым у рэшце рэшт, Няпоўная сярэдняя археалогія, 31 00:01:34,600 --> 00:01:37,860 я сапраўды пачынаю бачыць Перасячэння гэтага поля, кампутар 32 00:01:37,860 --> 00:01:41,979 навука, з гуманітарнымі навукамі, натуральныя навукі, мастацтва, медыцына, 33 00:01:41,979 --> 00:01:42,520 і да таго падобнае. 34 00:01:42,520 --> 00:01:44,420 І так гэта тое, што проста так акуратны аб кампутарнай навукі 35 00:01:44,420 --> 00:01:46,930 у канчатковым рахунку, як мы спадзяемся, што вы будзеце see-- з'яўляецца яго дастасавальнасць 36 00:01:46,930 --> 00:01:50,280 да гэтых іншым палях, і як вы можаце прыняць некаторыя з сённяшніх і семестра 37 00:01:50,280 --> 00:01:53,070 ідэі і практычныя навыкі назад у свой уласны дамен, 38 00:01:53,070 --> 00:01:58,200 і на самай справе вывучэння гэтага перасячэння ліберальных мастацтваў і навук. 39 00:01:58,200 --> 00:02:02,690 >> Такім чынам, 73% з вас, калі апошні год якіх-небудзь прыкмет, 40 00:02:02,690 --> 00:02:04,390 ніколі не браў курс CS раней. 41 00:02:04,390 --> 00:02:06,389 Так што калі, як я, вы пачуццё трохі 42 00:02:06,389 --> 00:02:09,190 страшна, або адкрыта вы не сапраўды ўпэўнены, чаму вы нават тут. 43 00:02:09,190 --> 00:02:11,510 Магчыма, вы проста рушылі ўслед некаторыя сябрамі за Сандэрс прама цяпер. 44 00:02:11,510 --> 00:02:12,490 Гэта цалкам нармальна. 45 00:02:12,490 --> 00:02:15,059 Мэта тут заключаецца ў крук вы і запэўніць Вас 46 00:02:15,059 --> 00:02:17,100 што калі вы глядзіце на злева і справа, 47 00:02:17,100 --> 00:02:21,480 вы збіраецеся, каб убачыць аднакласнікаў як мала або столькі ж досведу 48 00:02:21,480 --> 00:02:22,890 што вы самі маглі б мець. 49 00:02:22,890 --> 00:02:25,280 І на самай справе, мы падзелім некаторыя статыстычныя дадзеныя пазней сёння 50 00:02:25,280 --> 00:02:28,120 адносна таго, што дэмаграфія клас, як правіла, падобныя. 51 00:02:28,120 --> 00:02:31,440 >> І, як дадаў reassurance-- і гэта мы маю на ўвазе, так як я ўзяў на працягу 52 00:02:31,440 --> 00:02:33,252 Праз некалькі гадоў у ago-- навучальны план Курса 53 00:02:33,252 --> 00:02:35,460 з'яўляецца this--, што ў канчатковым рахунку пытанні ў гэтым курсе 54 00:02:35,460 --> 00:02:38,040 не так шмат, дзе вы ў канчатковым ўверх адносна вашых аднакласнікаў, 55 00:02:38,040 --> 00:02:43,110 але дзе вы ў тыдзень 11, канец семестр, у канчатковым выніку ў адносінах да сябе 56 00:02:43,110 --> 00:02:46,280 у тыдзень 0, што дзе мы знаходзімся сёння тут. 57 00:02:46,280 --> 00:02:48,704 І гэта тое, што я зразумеў, ўсе гэтыя гады таму. 58 00:02:48,704 --> 00:02:50,620 І я ведаю шмат класы кажуць, што гэта, але гэта 59 00:02:50,620 --> 00:02:52,450 асабліва дакладна ў інфарматыцы. 60 00:02:52,450 --> 00:02:55,320 У рэшце рэшт, гэта поле незнаёмы, як гэта было са мной 61 00:02:55,320 --> 00:02:58,590 і можа быць да вас, на самай справе як раз аб рашэнні праблем. 62 00:02:58,590 --> 00:03:01,324 І як такі, у яго ёсць гэта дастасавальнасць для атрымання іншых палёў. 63 00:03:01,324 --> 00:03:03,490 І на самай справе, калі б мы паспрабавалі пераганяць, што гэта значыць, 64 00:03:03,490 --> 00:03:06,897 гэтае рашэнне праблем па сваёй сутнасці, я мяркую. 65 00:03:06,897 --> 00:03:09,480 Там у input-- так што ўсё гэта з'яўляецца тое, што вы спрабуеце вырашыць. 66 00:03:09,480 --> 00:03:12,264 Там у выхад, які, мы спадзяемся, рашэнне гэтай праблемы. 67 00:03:12,264 --> 00:03:14,180 А потым, як бы мы кажуць у інфарматыцы, 68 00:03:14,180 --> 00:03:17,310 ёсць гэты чорны скрыню ў сярэдні, што вы не абавязкова 69 00:03:17,310 --> 00:03:19,450 павінны клапаціцца аб тым, як яна працуе. 70 00:03:19,450 --> 00:03:22,230 Вы ў рэшце рэшт, самі маглі б рэалізаваць тое, што ўнутры гэтай скрынкі. 71 00:03:22,230 --> 00:03:25,194 Але для сённяшніх мэтаў і больш як правіла, у жыцці, усё, што вы клапоціцеся аб 72 00:03:25,194 --> 00:03:26,610 у тым, што гэтыя праблемы вырашаюцца атрымаць. 73 00:03:26,610 --> 00:03:29,340 >> І тое, што гэты курс у канчатковым рахунку, аб вывучае 74 00:03:29,340 --> 00:03:31,700 скрыжаванне гэтыя ўваходы і выхады, 75 00:03:31,700 --> 00:03:34,410 і гэтыя так званыя алгарытмы, як мы хутка ўбачым, 76 00:03:34,410 --> 00:03:37,450 якія рэалізуюць тое, што унізе ёсць, капот. 77 00:03:37,450 --> 00:03:40,487 Але гэтыя ўваходы і гэтыя outputs-- што ж гэта на самай справе азначае? 78 00:03:40,487 --> 00:03:43,570 Ну, у рэшце рэшт, нам трэба нейкі спосаб прадстаўлення інфармацыі. 79 00:03:43,570 --> 00:03:46,660 Гэта асабліва дакладна ў кампутары, які, як фантазіі і складана, як 80 00:03:46,660 --> 00:03:48,160 Можа здацца, з'яўляецца даволі нямым прылада. 81 00:03:48,160 --> 00:03:52,240 Ці патрабуецца ад electricity-- кабель або акумулятар, як input-- 82 00:03:52,240 --> 00:03:55,820 а затым ён вырабляе некаторыя preprogramed адказы на экране. 83 00:03:55,820 --> 00:03:57,970 >> Але як жа мы атрымліваем з ад пачатку да канца там? 84 00:03:57,970 --> 00:03:59,470 Ну, што праблема павінна быць вырашана? 85 00:03:59,470 --> 00:04:01,050 Ну, можа быць, мы маглі б, у пачатак любога семестра, 86 00:04:01,050 --> 00:04:02,841 паспрабаваць прыняць удзел ў пакоі, як гэта. 87 00:04:02,841 --> 00:04:04,750 Так што я мог бы зрабіць, як адзін, два, тры. 88 00:04:04,750 --> 00:04:07,060 Ці, можа быць, калі б я гэта зрабіў да выгляду сачыць 89 00:04:07,060 --> 00:04:10,560 з myself-- сачыць за things-- Я мог хутка бегчы з пальцаў. 90 00:04:10,560 --> 00:04:14,650 Так што я мог бы проста зрабіць хэш marks-- адзін чалавек, два, тры, чатыры, пяць, шэсць, 91 00:04:14,650 --> 00:04:15,431 сем, восем. 92 00:04:15,431 --> 00:04:17,930 І ўсе мы, напэўна, зрабіў гэта, няхай гэта будзе на вашых руках 93 00:04:17,930 --> 00:04:19,680 ці на аркушы паперы. 94 00:04:19,680 --> 00:04:22,140 І гэта на самай справе проста што называецца унарный notation-- 95 00:04:22,140 --> 00:04:26,130 дзе, калі ў вас ёсць толькі адна літара ў вашым алфавіце, адзін або хэш 96 00:04:26,130 --> 00:04:29,440 адзнака ў дадзеным выпадку, для кожнага уваход вы хочаце падлічыць, 97 00:04:29,440 --> 00:04:32,330 вам трэба скласці адну з іх letters-- адзін з гэтых марак. 98 00:04:32,330 --> 00:04:32,510 >> Добра. 99 00:04:32,510 --> 00:04:34,790 Гэта ўсё выдатна і добра, і не ўсе, што складаней. 100 00:04:34,790 --> 00:04:37,800 Але кампутары не ўсе што значна больш складаным. 101 00:04:37,800 --> 00:04:40,770 На самай справе, большасць з вас, верагодна, ведаеце, нават калі вы на самой справе не 102 00:04:40,770 --> 00:04:44,080 лічыцца, што гэта азначае, што кампутары разумеюць толькі нулі 103 00:04:44,080 --> 00:04:45,870 і ones-- так званай двайны сістэме. 104 00:04:45,870 --> 00:04:49,390 Мы, людзі, наадварот, настолькі значна больш складаныя пастолькі 105 00:04:49,390 --> 00:04:51,770 як мы разумеем нулі праз дзявятак. 106 00:04:51,770 --> 00:04:55,740 >> Але нават калі двайковы файл, спачатку погляд, не ўсё, што знаёма, 107 00:04:55,740 --> 00:05:00,330 аказваецца, гэта так жа, як сістэмы і ідэі, якія мы ўжо ведаем. 108 00:05:00,330 --> 00:05:02,420 Так, напрыклад, разгледзець гэтае пытанне. 109 00:05:02,420 --> 00:05:03,896 Гэта проста паслядоўнасць знакаў. 110 00:05:03,896 --> 00:05:05,770 І ўсё вы, калі зірнуўшы на яго, напэўна, 111 00:05:05,770 --> 00:05:09,380 не думаю, што нічога 123-- сапраўды цікава там. 112 00:05:09,380 --> 00:05:11,940 Але чаму гэты лік, 123? 113 00:05:11,940 --> 00:05:14,440 Гэта толькі глифов screen-- проста ўзоры 114 00:05:14,440 --> 00:05:16,387 што хтосьці мог бы валачэння або набраны. 115 00:05:16,387 --> 00:05:18,970 Але калі вы падобныя на мяне, вы верагодна, памятаеце з пачатковай школы 116 00:05:18,970 --> 00:05:21,610 што ёсць свайго роду калоны або месца тут. 117 00:05:21,610 --> 00:05:25,340 Там у месца ў сваёй і дзясятнік месца і сто названае месца. 118 00:05:25,340 --> 00:05:29,820 І прычына таго, што гэта 123 і не толькі ўзор з трох знакаў 119 00:05:29,820 --> 00:05:33,090 адбываецца таму, што, вядома ж, калі ёсць адзін у сотні месцы, 120 00:05:33,090 --> 00:05:36,610 вы робіце матэматыку ў 100 разоў адзін, а затым два ў дзесяці свайго месца. 121 00:05:36,610 --> 00:05:41,390 Так што гэта ў 10 разоў 2, а затым тры ў месца з адным і гэта 1 раз 3. 122 00:05:41,390 --> 00:05:45,670 І калі вы дадаеце усе гэтыя ўверх, з Вядома, вы атрымаеце 100 плюс 20 плюс 3. 123 00:05:45,670 --> 00:05:48,220 >> Такім чынам, мы пачалі толькі з малюнкам з symbols-- ў alphabet-- 124 00:05:48,220 --> 00:05:51,670 але тады мы вырабім значэнне на гэта шляхам гэтых калон. 125 00:05:51,670 --> 00:05:54,450 Што ж, атрымліваецца, што кампутары сапраўды ня 126 00:05:54,450 --> 00:05:56,300 усё, што адрозніваецца ад вас і мяне. 127 00:05:56,300 --> 00:06:01,840 Але замест таго, каб выкарыстоўваць сілы 10, так, каб speak-- 1, 10, 100, 1000, 128 00:06:01,840 --> 00:06:04,330 10000 месца і так forth-- яны на самой справе 129 00:06:04,330 --> 00:06:08,930 проста выкарыстоўваць паўнамоцтвы 2-- так што адзін, 2, 4, а затым 130 00:06:08,930 --> 00:06:12,810 калі пакласці больш лічбаў, 8, 16, 32, 64, 128, і гэтак далей. 131 00:06:12,810 --> 00:06:16,050 І так гэта тое, як кампутар будзе ўяўляць сабой лік 0, 132 00:06:16,050 --> 00:06:17,300 гэтак жа, як мы, людзі. 133 00:06:17,300 --> 00:06:21,660 >> 0, 0, 0-- і вы можаце здагадацца, какой патэрн з нулёў і адзінак, 134 00:06:21,660 --> 00:06:24,610 калі кампутар можа толькі казаць 0 або 1--, што 135 00:06:24,610 --> 00:06:29,110 карціна будзе прадстаўляць лік, якое мы ведаем, людзі як 1? 136 00:06:29,110 --> 00:06:30,590 Yeah-- 0, 0, 1. 137 00:06:30,590 --> 00:06:31,090 Добра. 138 00:06:31,090 --> 00:06:35,900 Такім чынам, 0, 0, 1, як мы ўяўляем 1, так што вы можаце быць схільныя затым 139 00:06:35,900 --> 00:06:39,510 для прадстаўлення ліку 2, калі ў вас ёсць усе чацвёра ў паказаны месца і месца ў двайковае 140 00:06:39,510 --> 00:06:48,290 у адным месцы, вы можаце сказаць, ну, калі б мы мелі 1 месца ў сваім месцы, 141 00:06:48,290 --> 00:06:50,430 і цяпер мы хочам злічыць да 2, вы можаце 142 00:06:50,430 --> 00:06:53,310 зрабіць гэта і пакінуць гэта быць нулявым. 143 00:06:53,310 --> 00:06:56,397 Але, вядома, гэта не так, як дзесятковая сістэма працуе небудзь. 144 00:06:56,397 --> 00:06:58,230 Калі паставіць лічбу абодва гэтых калон, 145 00:06:58,230 --> 00:06:59,563 вы павінны зрабіць арыфметыку. 146 00:06:59,563 --> 00:07:01,930 Так што колькасць зрабіў я выпадкова толькі прадстаўляюць? 147 00:07:01,930 --> 00:07:06,710 >> Так што гэта 3, таму што ў 2 разы 1 плюс 1 1 раз, вядома ж, дае нам тры. 148 00:07:06,710 --> 00:07:08,340 Так што гэта было б два. 149 00:07:08,340 --> 00:07:12,730 Біт роду перагортваецца, так бы мовіць, як 0 становіцца адным, гэтак жа, як 9 роляў больш 150 00:07:12,730 --> 00:07:14,840 і становіцца 0, калі вы носіце 1. 151 00:07:14,840 --> 00:07:16,510 Тады гэта было б тры курсы. 152 00:07:16,510 --> 00:07:20,170 Four-- Яшчэ адна цікавая рэч адбываецца, калі тыя пралангіраваць 153 00:07:20,170 --> 00:07:21,750 і вы носіце 1, калі можна так выказацца. 154 00:07:21,750 --> 00:07:23,320 Так што гэта, вядома, 4. 155 00:07:23,320 --> 00:07:25,160 >> Але калі вы хутка наперад зараз, што найбольшая колькасць адбываецца 156 00:07:25,160 --> 00:07:26,660 каб быць, што кампутар можа прадстаўляць? 157 00:07:26,660 --> 00:07:30,420 158 00:07:30,420 --> 00:07:32,380 Так што ў гэтым выпадку як раз сем, ці не так? 159 00:07:32,380 --> 00:07:35,570 Таму што ў вас ёсць адзін у чатырох, адзін у два, адзін у адзін. 160 00:07:35,570 --> 00:07:36,900 Так што гэта 4 плюс 2 плюс 1. 161 00:07:36,900 --> 00:07:37,972 Так што дае вам сем. 162 00:07:37,972 --> 00:07:39,680 І на самай справе, гэта было б здацца на першы погляд 163 00:07:39,680 --> 00:07:43,750 што кампутары могуць разлічваць не вышэй за гэтага. 164 00:07:43,750 --> 00:07:45,210 >> Але гэта, вядома, не адпавядае рэчаіснасці. 165 00:07:45,210 --> 00:07:48,243 Што мы, людзі робяць, калі мы хочам разлічваць вышэй, чым як 999? 166 00:07:48,243 --> 00:07:51,000 167 00:07:51,000 --> 00:07:53,900 Проста насіць адну і проста дадаць чацвёртую лічбу налева. 168 00:07:53,900 --> 00:07:55,070 І так на самой справе мы маглі. 169 00:07:55,070 --> 00:07:57,900 Мы маглі б мець восем-х месца і месца 16-га, у 170 00:07:57,900 --> 00:08:02,000 і 32 у названае месца, 64, 128-- і вы можа проста працягваць ісці на да бясконцасці. 171 00:08:02,000 --> 00:08:04,640 Такім чынам, гэтыя нулі і ones-- так званы бінарны система-- 172 00:08:04,640 --> 00:08:10,290 гэта тое, што кампутарны навуковец будзе як правіла, называць трохі, або двайковы разрад. 173 00:08:10,290 --> 00:08:13,590 >> Але цяпер, як жа мы атрымліваем ад канцэпцыя або графікі гэтых рэчаў 174 00:08:13,590 --> 00:08:14,620 да фактычнага кампутара? 175 00:08:14,620 --> 00:08:17,170 Мы, здаецца, прапускаючы крок тут. 176 00:08:17,170 --> 00:08:20,210 Ну, адзiны ўваход у канцы дня, на мой ноўтбук тут 177 00:08:20,210 --> 00:08:22,060 гэты паток электраэнергіі. 178 00:08:22,060 --> 00:08:24,560 Нават калі гэта было даўно час, так як вы думалі пра 179 00:08:24,560 --> 00:08:26,580 ці ніколі не думалі пра як працуе электрычнасць, 180 00:08:26,580 --> 00:08:30,909 ёсць электроны, якія праходзяць у сістэму або па-за, і гэта мой выгляд ўводу. 181 00:08:30,909 --> 00:08:34,659 >> Так што, калі гэта ўсё, што мы атрымліваць у якасці ўваходных дадзеных тут, 182 00:08:34,659 --> 00:08:36,830 што мы можам зрабіць з гэтай інфармацыяй? 183 00:08:36,830 --> 00:08:40,040 Ну, мы маглі б думаць аб якасці нуля толькі адсутнасць электрычнасці. 184 00:08:40,040 --> 00:08:42,540 Нішто не flowinw, нічога рухацца, нічога не адбываецца. 185 00:08:42,540 --> 00:08:44,690 Гэта проста па змаўчанні state-- нуль. 186 00:08:44,690 --> 00:08:48,200 Але калі ёсць электрычнасць цячэ, чаму мы проста не адвольна, а на глабальным узроўні 187 00:08:48,200 --> 00:08:50,250 паслядоўна, называем гэта адзін. 188 00:08:50,250 --> 00:08:54,760 >> Так проста не маючы ніякай улады, у нас ёсць нуль, ды ўлада, 189 00:08:54,760 --> 00:08:57,520 мы маем одно-- ніякай улады, ды ўладу. 190 00:08:57,520 --> 00:09:01,520 І такім чынам, выкарыстоўваючы нешта больш фізічны або электронны 191 00:09:01,520 --> 00:09:05,340 мы пачынаем рэалізоўваць гэта паняцце што-то альбо як адзін або нуль. 192 00:09:05,340 --> 00:09:07,230 На самай справе, мы маглі б проста зрабіць гэта тут. 193 00:09:07,230 --> 00:09:10,590 Дык вось, у мяне ёсць не тры, а восем лямпачак, кожная з якіх 194 00:09:10,590 --> 00:09:11,810 мае свой уласны камутатар. 195 00:09:11,810 --> 00:09:15,760 >> І таму, калі я хацеў бы прадставіць лік сем тут, 196 00:09:15,760 --> 00:09:18,510 Я мог бы ўключыць гэтыя тры лямпачкі. 197 00:09:18,510 --> 00:09:21,470 І на самай справе, усярэдзіне мой кампутар мільёны, 198 00:09:21,470 --> 00:09:25,650 мільярды рэчаў, якія проста менш, чым, званыя транзістары, 199 00:09:25,650 --> 00:09:27,330 перамыкачы, якія вы проста ўключаць і выключаць. 200 00:09:27,330 --> 00:09:30,420 Такім чынам, яны big-- адносна big-- перамыкачы ўнутры маёй laptop-- 201 00:09:30,420 --> 00:09:32,150 шмат, шмат, шмат, многія іншыя камутатары. 202 00:09:32,150 --> 00:09:35,160 Але ўсе яны робяць гэта менавіта that-- ўключыць нешта, павярніце нешта прэч. 203 00:09:35,160 --> 00:09:38,076 І як такой, кампутар можа ўяўляць сабой, з гэтымі мільёнамі або мільярдамі 204 00:09:38,076 --> 00:09:40,480 транзістараў, шмат і шмат нулёў і адзінак. 205 00:09:40,480 --> 00:09:43,160 І ёсць іншыя апаратныя сродкі, якія да гэтага часу дазваляе захоўваць інфармацыю пра доўгатэрміновую перспектыву, 206 00:09:43,160 --> 00:09:45,243 так што, калі вы цягнеце убудова, вы не страціце яго. 207 00:09:45,243 --> 00:09:46,900 Але гэта гісторыя для іншага дня. 208 00:09:46,900 --> 00:09:51,170 >> Такім чынам, што мы можам зрабіць з гэтымі бітамі? 209 00:09:51,170 --> 00:09:54,309 Мы маглі б проста ўзяць ціск з me-- 210 00:09:54,309 --> 00:09:56,600 можа хто-небудзь хоча прыехаць тут і падыме дэма? 211 00:09:56,600 --> 00:09:57,516 Я бачыў гэтую руку ў першую чаргу. 212 00:09:57,516 --> 00:09:58,709 Як цябе клічуць? 213 00:09:58,709 --> 00:09:59,250 Мадан: мадан. 214 00:09:59,250 --> 00:10:00,542 DAVID Малання: мадан, давай ўверх. 215 00:10:00,542 --> 00:10:01,250 Прыемна пазнаёміцца. 216 00:10:01,250 --> 00:10:02,390 Мадан: Прыемна пазнаёміцца. 217 00:10:02,390 --> 00:10:02,930 >> DAVID Малання: Давай так. 218 00:10:02,930 --> 00:10:04,182 Я не прыйдзецца вусны цябе. 219 00:10:04,182 --> 00:10:04,682 Добра. 220 00:10:04,682 --> 00:10:11,090 Дык вось, у нас ёсць, notice-- адзін, two-- мы будзем рэдагаваць што out-- адзін, два, чатыры, 221 00:10:11,090 --> 00:10:13,350 ,, Восем, 16 32 64, 128. 222 00:10:13,350 --> 00:10:14,220 Гэта зроблена наўмысна. 223 00:10:14,220 --> 00:10:17,370 Там у восем біт here-- двайковы digits-- нулі і адзінкі. 224 00:10:17,370 --> 00:10:21,460 І трохі карысная адзінка measure-- не так карысная, адзінка вымярэння 225 00:10:21,460 --> 00:10:21,999 на сябе. 226 00:10:21,999 --> 00:10:24,290 Як правіла, вы хочаце, па меншай меры, восем з гэтых рэчаў, а.к.а. 227 00:10:24,290 --> 00:10:24,790 байт. 228 00:10:24,790 --> 00:10:26,230 Такім чынам, мы маем байт бітаў тут. 229 00:10:26,230 --> 00:10:31,130 >> Так што, калі мы хочам, каб кінуць выклік вам, напрыклад, выклаўшы, у двайковай сістэме, 230 00:10:31,130 --> 00:10:33,230 гэта значэнне here-- 42. 231 00:10:33,230 --> 00:10:35,140 Хочаце прыняць ўдар на што? 232 00:10:35,140 --> 00:10:36,034 >> Мадан: [неразборліва]. 233 00:10:36,034 --> 00:10:38,700 DAVID Малання: Так, проста націсніце маленькія белыя перамыкачы спераду. 234 00:10:38,700 --> 00:10:41,290 І вы хочаце, каб па літарах з 42, і для захопаў 235 00:10:41,290 --> 00:10:44,061 гэта CS50 стрэс мяч, калі вы атрымаеце гэта. 236 00:10:44,061 --> 00:10:44,560 Добра. 237 00:10:44,560 --> 00:10:46,420 Такім чынам, у вас ёсць 32. 238 00:10:46,420 --> 00:10:48,430 Мы будзем мець патрэбу ў 42. 239 00:10:48,430 --> 00:10:51,410 Так што гэта васьмёрка, так што 40. 240 00:10:51,410 --> 00:10:54,160 І excellent-- вельмі прыгожа зроблена. 241 00:10:54,160 --> 00:10:55,186 Дзякуй. 242 00:10:55,186 --> 00:10:58,790 >> [Апладысменты] 243 00:10:58,790 --> 00:10:59,290 Добра. 244 00:10:59,290 --> 00:11:00,623 Такім чынам, у нас ёсць яшчэ адзін стрэс мяч. 245 00:11:00,623 --> 00:11:03,595 Давайце зробім гэта яшчэ раз, калі мы можам. 246 00:11:03,595 --> 00:11:05,368 Яшчэ адзін добраахвотнік? 247 00:11:05,368 --> 00:11:07,970 Свабодны стрэс мяч, свабодны стрэс мяч. 248 00:11:07,970 --> 00:11:08,470 ДОБРА. 249 00:11:08,470 --> 00:11:11,640 За тут у сярэдзіне, Вы хочаце, каб спусціцца? 250 00:11:11,640 --> 00:11:14,100 Добра. 251 00:11:14,100 --> 00:11:15,552 Я ведаю. 252 00:11:15,552 --> 00:11:16,360 Там мы ідзем. 253 00:11:16,360 --> 00:11:20,818 >> Так што колькасць here-- прыходзяць ўніз. 254 00:11:20,818 --> 00:11:21,567 Як цябе зваць? 255 00:11:21,567 --> 00:11:21,984 >> Davey: Дэйві. 256 00:11:21,984 --> 00:11:22,820 >> DAVID Малання: Дэйві. 257 00:11:22,820 --> 00:11:23,320 ДОБРА. 258 00:11:23,320 --> 00:11:24,810 Падымайся, Дэйві. 259 00:11:24,810 --> 00:11:25,890 Прыемна пазнаёміцца. 260 00:11:25,890 --> 00:11:28,639 І тое, што мы будзем мець вас spell--, калі вы маглі б затрымацца там 261 00:11:28,639 --> 00:11:32,810 толькі для аднаго moment-- з'яўляецца лік 50. 262 00:11:32,810 --> 00:11:36,293 Але, але, але затое, але, гэтыя пачатковай школы магніты па прычыне. 263 00:11:36,293 --> 00:11:39,370 264 00:11:39,370 --> 00:11:43,327 Проста стала крыху больш складана, усё ў парадку? 265 00:11:43,327 --> 00:11:44,160 Там яшчэ восем. 266 00:11:44,160 --> 00:11:46,820 267 00:11:46,820 --> 00:11:47,320 Добра. 268 00:11:47,320 --> 00:11:48,486 Дык што ж мы маем там? 269 00:11:48,486 --> 00:11:51,356 У нас ёсць 32. 270 00:11:51,356 --> 00:11:54,344 Ніца. 271 00:11:54,344 --> 00:11:58,610 32 плюс 16 дае нам 48-- так блізка. 272 00:11:58,610 --> 00:12:00,390 І выдатна. 273 00:12:00,390 --> 00:12:02,831 Віншуем Дэйві, а таксама. 274 00:12:02,831 --> 00:12:05,720 >> [Апладысменты] 275 00:12:05,720 --> 00:12:06,516 >> Добра. 276 00:12:06,516 --> 00:12:09,390 Такім чынам, мы можам зрабіць гэта на працягу ўсяго дня, і ён не атрымлівае ўсё, што значна больш 277 00:12:09,390 --> 00:12:10,800 цікавай і больш складанай задачай. 278 00:12:10,800 --> 00:12:13,250 Але гэта на самай справе point-- як адносна просты 279 00:12:13,250 --> 00:12:16,930 гэта, у рэшце рэшт, якая Кампутар робіць для захоўвання інфармацыі, 280 00:12:16,930 --> 00:12:21,740 захоўваць ўваходы і ў канчатковым рахунку захоўваць або прадстаўляць гэтыя выхады. 281 00:12:21,740 --> 00:12:23,750 Але лічбы самі па сабе не з'яўляюцца усё, што цікава. 282 00:12:23,750 --> 00:12:26,069 >> Так што людзі, некалькі гадоў таму, вырашылі, вы ведаеце, што? 283 00:12:26,069 --> 00:12:27,860 Было б добра, калі кампутары былі не проста 284 00:12:27,860 --> 00:12:31,030 калькулятары для арыфметыкі аперацыі, але на самой справе можа 285 00:12:31,030 --> 00:12:35,209 рабіць рэчы, як апрацоўка тэкстаў, або электронная пошта, або больш сучасныя інкарнацыі 286 00:12:35,209 --> 00:12:36,500 з гэтых відаў тэхналогій. 287 00:12:36,500 --> 00:12:40,680 І таму свет вырашыў адвольна, але паўсюдна, 288 00:12:40,680 --> 00:12:44,380 што калі вы хочаце захаваць капітал Літара А ў кампутары, вы ведаеце, што? 289 00:12:44,380 --> 00:12:47,730 Давайце проста ўсе згодныя з тым, каб захаваць некаторыя мадэлі з нулёў і ones-- 290 00:12:47,730 --> 00:12:52,422 bits--, што ў канчатковым рахунку ўяўляе дзесятковы лік 65. 291 00:12:52,422 --> 00:12:53,630 Мы проста ўсе згодныя па гэтым пытанні. 292 00:12:53,630 --> 00:12:56,620 >> 66 будзе прадстаўляць B, 67 будзе прадстаўляць C, 293 00:12:56,620 --> 00:13:00,210 і ёсць згусткі іншых мадэляў нулі і адзінкі, або базавыя лічбы, 294 00:13:00,210 --> 00:13:02,224 што будзе прадстаўляць іншыя лісты да гэтага часу. 295 00:13:02,224 --> 00:13:04,390 Так што калі вы, здаецца, разумова ўбіраюць на імгненне, 296 00:13:04,390 --> 00:13:10,900 Я свядома мірыцца праз I, дзе Н 72 і I 73. 297 00:13:10,900 --> 00:13:15,830 Калі кампутар, то, у кантэксце праграма для апрацоўкі тэкстаў ці электроннай пошты, 298 00:13:15,830 --> 00:13:19,620 выявілі пад капотам, каб мець гэтыя мадэлі bits-- ўзору 299 00:13:19,620 --> 00:13:22,500 бітаў, якія прадстаўляюць 72, затым 73, затым 33-- 300 00:13:22,500 --> 00:13:26,640 што магло б гэты заклён ў гэтай праграме? 301 00:13:26,640 --> 00:13:28,150 >> Так што прывітанне, а потым нешта. 302 00:13:28,150 --> 00:13:31,460 Мы не абавязкова ведаць, але на самой справе 33-- ня на графіцы earlier-- 303 00:13:31,460 --> 00:13:33,170 быў проста клічнік. 304 00:13:33,170 --> 00:13:38,870 Такім чынам, 72 быў H, 73 я, 33 адбываецца каб быць клічнік да гэтага часу. 305 00:13:38,870 --> 00:13:41,719 Але гэта ўсё выдатна і добра, і на самай справе ў цяперашні час, а не 306 00:13:41,719 --> 00:13:43,760 проста выкарыстоўваць сем ці восем біты, дзякуючы чаму-то 307 00:13:43,760 --> 00:13:46,530 называецца Unicode у супрацьлегласць каб ASCii назад у той жа дзень, 308 00:13:46,530 --> 00:13:50,010 мы на самай справе можам прадставіць яшчэ больш цікавыя персанажы, чым проста 309 00:13:50,010 --> 00:13:52,980 гэта арыгінальны англійская зрушаная літары. 310 00:13:52,980 --> 00:13:56,030 Але мы таксама можам прадставіць нават акуратней такія рэчы, як колеру. 311 00:13:56,030 --> 00:13:59,750 >> Калі вы калі-небудзь чулі акронім RGB, чырвоны, зялёны, сіні, што 312 00:13:59,750 --> 00:14:03,510 проста азначае, што кампутар як правіла, выкарыстоўвае тры набору bits-- 313 00:14:03,510 --> 00:14:06,760 некаторы колькасць бітаў, якія ўяўляюць сабой лік за колькі чырвонага вы хочаце, 314 00:14:06,760 --> 00:14:08,940 іншы набор бітаў для колькі зялёны вы хочаце, 315 00:14:08,940 --> 00:14:11,430 і іншы набор нумар для колькі сіняга вы хочаце. 316 00:14:11,430 --> 00:14:14,457 Так што вялікая колькасьць азначае шмат чырвоны, невялікі лік азначае, што няма чырвонага колеру. 317 00:14:14,457 --> 00:14:16,290 І так гэта свайго роду ад сярэдняга значэння тут. 318 00:14:16,290 --> 00:14:20,180 >> Так дайце мне нейкія чырвоныя, дайце мне некаторыя зялёны, і дай мне крыху сіняга колеру. 319 00:14:20,180 --> 00:14:24,260 А калі змяшаць гэтыя тры адцення колеру разам, у гэтым выпадку, 320 00:14:24,260 --> 00:14:26,850 вы атрымаеце гэты цёмны адценне жоўтага або карычневага колеру. 321 00:14:26,850 --> 00:14:32,330 Але гэтая карціна восем плюс восем плюс eight-- так 24 bits-- 322 00:14:32,330 --> 00:14:36,550 злева направа, як кампутар будзе прадстаўляць гэты канкрэтны колер. 323 00:14:36,550 --> 00:14:38,090 Зараз гэта проста кропка на экране. 324 00:14:38,090 --> 00:14:42,230 Калі глядзець вельмі блізка на экране тэлевізара вашы кампутар, вы ўбачыце кропкі або пікселі. 325 00:14:42,230 --> 00:14:45,420 І калі ў вас ёсць цэлая сетка пікселяў па гарызанталі і вертыкалі, 326 00:14:45,420 --> 00:14:46,630 ў вас ёсць выявы. 327 00:14:46,630 --> 00:14:49,029 І потым, калі вы бераце малюнак, а затым мыць 328 00:14:49,029 --> 00:14:52,070 паказаць сябе іншы вобраз, іншы вобраз, іншы вобраз, іншы вобраз, 329 00:14:52,070 --> 00:14:54,760 вельмі хутка, вы, вядома, ёсць фільмы. 330 00:14:54,760 --> 00:14:56,109 >> І вось звярніце ўвагу, дзе мы пачалі. 331 00:14:56,109 --> 00:14:57,650 Мы пачалі з гэтых нулёў і адзінак. 332 00:14:57,650 --> 00:15:00,570 Мы працавалі адтуль у дзесятковую колькасці, як мы ўяўляем іх. 333 00:15:00,570 --> 00:15:02,070 Цяпер у нас ёсць літары алфавіту. 334 00:15:02,070 --> 00:15:05,664 Але ў іншых кантэкстах чакаць, мы можам выкарыстоўваць некалькі больш бітаў і ўяўляюць колеру. 335 00:15:05,664 --> 00:15:07,830 Як толькі ў вас ёсць здольнасць прадстаўляць колеру, 336 00:15:07,830 --> 00:15:11,200 ў вас ёсць магчымасць прадстаўляць фатаграфіі і анімацыйныя малюнкі 337 00:15:11,200 --> 00:15:13,780 і іншыя падобныя сімвалы на экране. 338 00:15:13,780 --> 00:15:17,160 І калі ў вас ёсць цэлы букет Выявы аблёту чалавека адразу, 339 00:15:17,160 --> 00:15:21,480 гэта выглядае як кінафільмы, і такім чынам вы атрымліваеце відэа, а таксама. 340 00:15:21,480 --> 00:15:23,460 >> Такім чынам, выкарыстоўваючы гэтыя вельмі простыя прымітывы мы робім 341 00:15:23,460 --> 00:15:28,070 ёсць спосаб прадстаўлення у канчатковым рахунку, усе гэтыя віды сродкаў масавай інфармацыі. 342 00:15:28,070 --> 00:15:30,450 І мы зноў адведзенай ня зноў і зноў, пакуль мы 343 00:15:30,450 --> 00:15:33,467 атрымаць ад самага нізкага ўзроўню на гэтым высокім узроўні. 344 00:15:33,467 --> 00:15:35,550 Так што дае нам гэта агульная ідэя абстракцыі. 345 00:15:35,550 --> 00:15:36,990 Але мы пачалі тут. 346 00:15:36,990 --> 00:15:38,790 >> Вось цяпер, мы маглі б прадстаўляюць у кампутары 347 00:15:38,790 --> 00:15:41,920 нашы ўваходы з нулёў і адзінак, нашы выхады ў нулёў і адзінак, 348 00:15:41,920 --> 00:15:43,640 але тое, што адбываецца ўнутры скрынкі? 349 00:15:43,640 --> 00:15:46,080 Вось дзе кампутар навука становіцца цікавым. 350 00:15:46,080 --> 00:15:49,770 Вось дзе вы на самой справе прынесці ваш ўласныя розумы, каб вынесці рашэнне праблемы. 351 00:15:49,770 --> 00:15:52,590 Цяпер мы можам прадугледзець, для Астатняя частка семестра, так. 352 00:15:52,590 --> 00:15:53,870 Я ведаю, як бінарныя працы. 353 00:15:53,870 --> 00:15:57,942 Я памятаю, як Ascii або Unicode-- адлюстраванне на letters-- работ. 354 00:15:57,942 --> 00:15:59,650 І гэта, безумоўна, варта зразумела, што мы 355 00:15:59,650 --> 00:16:03,470 можа прадстаўляць чырвоны і зялёны і сіні, і ўяўляюць сабой мультымедыя, а таксама. 356 00:16:03,470 --> 00:16:05,390 Але гэта цікавы матэрыял. 357 00:16:05,390 --> 00:16:09,790 Гэта тое, што робіць хто-то здольных вырашаць праблемы. 358 00:16:09,790 --> 00:16:11,980 >> І адна з такіх праблем мы хацелі б зрабіць, на самай справе, 359 00:16:11,980 --> 00:16:15,345 прымае ўдзел, ці робячы гэта алгарытмічных. 360 00:16:15,345 --> 00:16:16,470 І зноў жа, я мог бы зрабіць гэта. 361 00:16:16,470 --> 00:16:19,580 Я мог бы зрабіць адзін, два, тры, чатыры пяць, шэсць, сем, восем дзевяць. 362 00:16:19,580 --> 00:16:21,520 І я мог бы напісаць яго ўніз, каб сачыць за ім. 363 00:16:21,520 --> 00:16:23,769 Але гэта толькі як бы я прадстаўляць інфармацыю. 364 00:16:23,769 --> 00:16:27,550 Ці я мог бы зрабіць гэта faster-- два, чатыры, шэсць, восем, дзесяць, 12, 14, 16, 18, 20, 365 00:16:27,550 --> 00:16:30,380 22-- ён адчувае, як у два разы так хутка, але гэта па-ранейшаму 366 00:16:30,380 --> 00:16:32,050 збіраецца заняць шмат часу. 367 00:16:32,050 --> 00:16:35,990 >> Але атрымліваецца, калі мы выкарыстоўваць яшчэ яшчэ resource-- і сапраўды кампутары 368 00:16:35,990 --> 00:16:38,940 у гэтыя дні ёсць некалькі працэсараў або мозг. 369 00:16:38,940 --> 00:16:41,970 Аказваецца, кампутары могуць рабіць шмат рэчаў адразу, 370 00:16:41,970 --> 00:16:44,460 і на самай справе мы, у гэтым пакоі, можа прадстаўляць менавіта гэта. 371 00:16:44,460 --> 00:16:47,130 >> Так што гэта крыху сацыяльна нязручна, але калі б мяне гумар 372 00:16:47,130 --> 00:16:51,550 усяго за тры крокі працэсу, хай я прашу ўсіх на месцы там проста 373 00:16:51,550 --> 00:16:54,640 ўстаць на імгненне. 374 00:16:54,640 --> 00:16:57,380 Устаньце. 375 00:16:57,380 --> 00:17:01,580 Так што думаць пра сябе, нумар одно-- так што ўсё ў гэтым пакоі, 376 00:17:01,580 --> 00:17:05,010 акрамя тых людзей, якія не зрабілі абавязваюць, думаюць нумар адзін. 377 00:17:05,010 --> 00:17:06,510 Так што ваш нумар прама цяпер. 378 00:17:06,510 --> 00:17:09,399 Гэта першы крок, ці як навуковец або праграміст 379 00:17:09,399 --> 00:17:11,827 як правіла, будзе рабіць, мы будзем каб пачаць адлік з нуля. 380 00:17:11,827 --> 00:17:14,410 Калі найменшая колькасць мы можам ўяўляюць з гэтымі лямпачкамі 381 00:17:14,410 --> 00:17:17,410 роўны нулю, шляхам проста пакідаючы іх ўсё прэч, я мог бы таксама проста 382 00:17:17,410 --> 00:17:19,271 пачаць адлік нуль замест аднаго. 383 00:17:19,271 --> 00:17:21,020 І вось што кампутарныя навукоўцы робяць. 384 00:17:21,020 --> 00:17:23,750 Так крок нуль, ўстаць і думаць пра нумар адзін. 385 00:17:23,750 --> 00:17:26,339 Наступным крокам з'яўляецца this-- пара прэч з нехта стаіць 386 00:17:26,339 --> 00:17:27,660 і дадаць свае колькасці разам. 387 00:17:27,660 --> 00:17:30,660 388 00:17:30,660 --> 00:17:32,850 Выдатна. 389 00:17:32,850 --> 00:17:37,640 >> Так што на дадзены момант часу, літаральна усе хто будзе ўдзельнічаць 390 00:17:37,640 --> 00:17:41,930 думае аб № 2, за выключэннем для аднаго няцотнай чалавека, калі мы маем 391 00:17:41,930 --> 00:17:43,450 няцотная колькасць людзей у пакоі. 392 00:17:43,450 --> 00:17:50,640 А цяпер трэці крок тут будзе быць this-- адзін з вас павінен сесці. 393 00:17:50,640 --> 00:17:54,490 Адзін з вас павінен сесці, і калі вы ўсё яшчэ стаіць, 394 00:17:54,490 --> 00:17:56,590 вярнуцца да першага кроку. 395 00:17:56,590 --> 00:18:44,799 396 00:18:44,799 --> 00:18:45,790 Добра. 397 00:18:45,790 --> 00:19:00,760 398 00:19:00,760 --> 00:19:01,650 Добра. 399 00:19:01,650 --> 00:19:03,880 Так што ўсё больш і больш людзей павінны сядзець ўніз. 400 00:19:03,880 --> 00:19:08,280 Звярніце ўвагу на тое, што гэта заахвоціла loop-- нейкі цыкл. 401 00:19:08,280 --> 00:19:11,983 Некаторыя з вас, павінна быць няёмка затрымаўся, ходзіць туды-сюды паміж кроку 402 00:19:11,983 --> 00:19:14,180 і два, адзін і два, адзін і два. 403 00:19:14,180 --> 00:19:21,190 404 00:19:21,190 --> 00:19:21,810 Гэта добра. 405 00:19:21,810 --> 00:19:22,630 Наша першая памылка. 406 00:19:22,630 --> 00:19:24,740 Мы будзем мець справу з гэтым. 407 00:19:24,740 --> 00:19:25,320 Добра. 408 00:19:25,320 --> 00:19:27,370 Дазвольце мне паспрабаваць падшпіліць рэчы разам. 409 00:19:27,370 --> 00:19:31,454 >> У тэорыі, толькі адзін чалавек стаіць як усё па-ранейшаму на пары. 410 00:19:31,454 --> 00:19:33,870 Але дазвольце мне паскорыць працэс з людзьмі, усё яшчэ стаіць. 411 00:19:33,870 --> 00:19:35,480 Які нумар вы думаеце? 412 00:19:35,480 --> 00:19:36,070 46. 413 00:19:36,070 --> 00:19:36,570 ДОБРА. 414 00:19:36,570 --> 00:19:37,820 Ідзіце наперад і сесці. 415 00:19:37,820 --> 00:19:39,190 Вы, хлопцы, усё яшчэ стаяць. 416 00:19:39,190 --> 00:19:42,130 Хто ўсё яшчэ стаіць? 417 00:19:42,130 --> 00:19:45,240 Які нумар вы думаеце? 418 00:19:45,240 --> 00:19:46,160 ДОБРА. 419 00:19:46,160 --> 00:19:47,900 >> Такім чынам, мы вернемся да вас. 420 00:19:47,900 --> 00:19:49,630 У задняй частцы? 421 00:19:49,630 --> 00:19:50,790 Што гэта? 422 00:19:50,790 --> 00:19:53,100 22. 423 00:19:53,100 --> 00:19:56,540 OK нехта яшчэ да top-- да? 424 00:19:56,540 --> 00:19:57,720 34. 425 00:19:57,720 --> 00:19:58,300 ДОБРА. 426 00:19:58,300 --> 00:20:02,780 За тут на маім right-- тут? 427 00:20:02,780 --> 00:20:06,820 132, вельмі прыемна. 428 00:20:06,820 --> 00:20:08,380 22? 429 00:20:08,380 --> 00:20:08,990 >> ДОБРА. 430 00:20:08,990 --> 00:20:10,031 А хто яшчэ стаіць? 431 00:20:10,031 --> 00:20:11,000 Сюды? 432 00:20:11,000 --> 00:20:14,520 46, вельмі прыемна. 433 00:20:14,520 --> 00:20:16,890 72. 434 00:20:16,890 --> 00:20:18,220 Я не магу тармазіць нашмат даўжэй. 435 00:20:18,220 --> 00:20:20,520 Так? 436 00:20:20,520 --> 00:20:22,490 30, прыемна. 437 00:20:22,490 --> 00:20:24,120 Сюды? 438 00:20:24,120 --> 00:20:26,200 23? 439 00:20:26,200 --> 00:20:27,270 23. 440 00:20:27,270 --> 00:20:30,920 >> І я думаю, што гэта ўсё акрамя вас, хлопцы, ніякага ціску. 441 00:20:30,920 --> 00:20:32,860 Ой, пачакайце. 442 00:20:32,860 --> 00:20:33,360 28? 443 00:20:33,360 --> 00:20:37,500 444 00:20:37,500 --> 00:20:38,281 Толькі восем. 445 00:20:38,281 --> 00:20:38,780 ДОБРА. 446 00:20:38,780 --> 00:20:41,030 Толькі восем. 447 00:20:41,030 --> 00:20:42,580 Ўніз тут? 448 00:20:42,580 --> 00:20:44,570 30. 449 00:20:44,570 --> 00:20:47,344 23. 450 00:20:47,344 --> 00:20:47,843 24. 451 00:20:47,843 --> 00:20:50,810 452 00:20:50,810 --> 00:20:52,310 18. 453 00:20:52,310 --> 00:20:54,690 Гэта горшае рэалізацыя гэтага алгарытму калі-небудзь. 454 00:20:54,690 --> 00:20:55,190 ДОБРА. 455 00:20:55,190 --> 00:20:59,760 Так што нехта іншы? 456 00:20:59,760 --> 00:21:00,421 Хто-небудзь яшчэ? 457 00:21:00,421 --> 00:21:00,920 ДОБРА. 458 00:21:00,920 --> 00:21:03,300 Яшчэ адзін. 459 00:21:03,300 --> 00:21:04,400 16? 460 00:21:04,400 --> 00:21:04,900 ДОБРА. 461 00:21:04,900 --> 00:21:05,510 16. 462 00:21:05,510 --> 00:21:06,010 Добра. 463 00:21:06,010 --> 00:21:09,070 Так што, калі я не прапусціў хто-небудзь у яркае святло тут, калі я ударыў Enter, 464 00:21:09,070 --> 00:21:13,091 мы ўбачым, алгарытмічных, то Агульная колькасць людзей у Сандэрсам. 465 00:21:13,091 --> 00:21:16,340 Таму што зноў жа, гэта як калі б усе як вы селі, прайшлі свой нумар ад 466 00:21:16,340 --> 00:21:19,215 камусьці яшчэ, камусьці яшчэ, камусьці яшчэ, так што ў тэорыі, 467 00:21:19,215 --> 00:21:22,304 у рэшце рэшт, толькі адно няёмкае чалавек павінен застацца стаяць. 468 00:21:22,304 --> 00:21:22,970 Але гэта нармальна. 469 00:21:22,970 --> 00:21:24,290 Мы паскорылі рэчы ўручную. 470 00:21:24,290 --> 00:21:27,590 Гэта асабліва цяжка зразумець, У дадзеным канкрэтным прасторы. 471 00:21:27,590 --> 00:21:34,200 >> А агульная колькасць людзей, мы думаем, што тут ёсць 546. 472 00:21:34,200 --> 00:21:37,330 Агульная колькасць я перадаў Вучэннем стыпендыятаў, 473 00:21:37,330 --> 00:21:40,660 хто гэта зрабіў стары школа павольны шлях, было 820. 474 00:21:40,660 --> 00:21:43,660 >> [Смяецца] 475 00:21:43,660 --> 00:21:47,170 >> [Апладысменты] 476 00:21:47,170 --> 00:21:48,670 >> Гэта добра. 477 00:21:48,670 --> 00:21:50,740 Так што, вядома, гэта значыць гэтыя памылкі. 478 00:21:50,740 --> 00:21:51,460 І гэта выдатна. 479 00:21:51,460 --> 00:21:53,810 І так думаю, што мы вернемся да гэтага першы раз, калі нешта 480 00:21:53,810 --> 00:21:55,420 Вы пішаце, не абавязкова працаваць. 481 00:21:55,420 --> 00:21:57,620 Гэта здарылася са мной тут. 482 00:21:57,620 --> 00:22:00,844 Але давайце зараз разгледзім, як мы маглі б прымяніць гэтую ж ідэю да нечага 483 00:22:00,844 --> 00:22:03,760 Вы, магчыма, бачылі раней, што гэта старая школа тэхналогія here-- 484 00:22:03,760 --> 00:22:05,130 сапраўды вялікая тэлефонная кніга. 485 00:22:05,130 --> 00:22:09,380 І выкажам здагадку, што гэты тэлефон кнігі мае 1000 старонак і 1000 імёнаў 486 00:22:09,380 --> 00:22:11,360 і лічбы ў алфавітным парадку ўнутры яго. 487 00:22:11,360 --> 00:22:14,860 >> Ну, мы маглі б выгляд прымяніць аналагічны Ідэя гэтай самай фізічнай праблемы, 488 00:22:14,860 --> 00:22:16,270 проста выкарыстаў мяне. 489 00:22:16,270 --> 00:22:18,810 Я толькі збольшага падманутым за кошт выкарыстання ўсіх вас 490 00:22:18,810 --> 00:22:23,240 з вялікім і вялікай колькасцю розных працэсараў або мозг выканання некаторага алгарытму. 491 00:22:23,240 --> 00:22:25,440 Але калі гэта проста мала стары мяне, я ўсё яшчэ магу 492 00:22:25,440 --> 00:22:29,630 выкарыстоўваць тую ж самую сутнасць ідэі дзялення і заваёўваючы гэтую праблему 493 00:22:29,630 --> 00:22:32,970 зноў і зноў, у выніку чаго палова з вас, палова з вас, палова з вас, палова з вас, 494 00:22:32,970 --> 00:22:35,830 тэарэтычна трымалі седзячы, пакуль мы не былі пакінутыя, тэарэтычна, 495 00:22:35,830 --> 00:22:36,990 толькі з адным чалавекам. 496 00:22:36,990 --> 00:22:39,810 >> Такім чынам у гэтай старой школе technology-- мы не робім 497 00:22:39,810 --> 00:22:43,030 гэта трэба map-- гэта старыя тэхналогіі школы, 498 00:22:43,030 --> 00:22:47,300 мы маглі б пачаць шукаць для кагосьці як Майк Сміт, ні старонак, ні за адзін раз. 499 00:22:47,300 --> 00:22:49,410 І я бачу, што няма, Майк ня тут. 500 00:22:49,410 --> 00:22:51,110 Я да гэтага часу ў раздзеле A. 501 00:22:51,110 --> 00:22:53,900 У рэшце рэшт, я лічу, я ў раздзеле B. 502 00:22:53,900 --> 00:22:56,910 І гэта algorithm-- крок за крокам інструкцыі. 503 00:22:56,910 --> 00:22:59,890 Пачатак у старонцы пачатку і аднаго у той час, звярніце ўвагу на Майка Сміта. 504 00:22:59,890 --> 00:23:03,410 Ці з'яўляецца гэта correct-- гэта алгарытм або падыход? 505 00:23:03,410 --> 00:23:04,550 >> Так, гэта правільна. 506 00:23:04,550 --> 00:23:06,840 Калі Майк тут, у рэшце рэшт Я вярнуся да яго. 507 00:23:06,840 --> 00:23:08,139 Але гэта не так эфектыўна. 508 00:23:08,139 --> 00:23:09,180 Гэта, відавочна, вельмі павольна. 509 00:23:09,180 --> 00:23:11,340 Так што я магу выкарыстоўваць самыя Тыя ж twosies набліжаюцца. 510 00:23:11,340 --> 00:23:15,350 Я магу зрабіць тое два, чатыры, шэсць, восем, 10, 12. 511 00:23:15,350 --> 00:23:16,330 Гэта ў два разы хутчэй. 512 00:23:16,330 --> 00:23:18,290 Я збіраюся дабрацца да Mike хутчэй, калі ён там. 513 00:23:18,290 --> 00:23:20,770 Гэта правільна? 514 00:23:20,770 --> 00:23:22,320 Так, але я пачуў little-- НЕ. 515 00:23:22,320 --> 00:23:24,200 Цяпер я пачуў, адкуль няма. 516 00:23:24,200 --> 00:23:24,700 Так. 517 00:23:24,700 --> 00:23:26,190 Там ёсць памылка патэнцыйна. 518 00:23:26,190 --> 00:23:29,374 Можа быць, Майк проста выпадкова атрымлівае заціснутай паміж двума старонкамі, 519 00:23:29,374 --> 00:23:31,290 таму што я лячу праз гэта два адначасова. 520 00:23:31,290 --> 00:23:33,580 Такім чынам, па меншай меры, нам патрэбныя выгляд ўмоўнага выпраўлення. 521 00:23:33,580 --> 00:23:35,330 Я павінен сказаць, эй, калі я ударыў кагосьці, чый 522 00:23:35,330 --> 00:23:39,190 імя пачынаецца з T замест S, Я лепш захіліць па меншай меры, адну старонку. 523 00:23:39,190 --> 00:23:40,767 Так глючыць спачатку, але папраўна. 524 00:23:40,767 --> 00:23:43,850 Але ніхто з нас не будзе шукаць Майк Сміт праз 1000 старонак тэлефона ў 525 00:23:43,850 --> 00:23:45,290 замовіць адну старонку за адзін раз. 526 00:23:45,290 --> 00:23:48,486 Што нармальны чалавек збіраецца рабіць? 527 00:23:48,486 --> 00:23:50,860 Вы збіраецеся ісці на S-х гадоў, калі б вы ведалі, дзе S'S. 528 00:23:50,860 --> 00:23:54,230 Вы можаце пайсці прыкладна да сярэдзіны або злёгку зрушаныя ў бок канца. 529 00:23:54,230 --> 00:23:56,850 І я гляджу ўніз тут і Я ў раздзеле M. 530 00:23:56,850 --> 00:23:58,952 Але што вы ведаеце аб гэтай праблеме ў цяперашні час, 531 00:23:58,952 --> 00:24:02,160 што мы не абавязкова ведаць, перш чым з усімі намі проста лічачы сябе 532 00:24:02,160 --> 00:24:03,030 што тое ж самае? 533 00:24:03,030 --> 00:24:06,010 Ну, Майк відавочна збіраецца быць у гэтай палове кнігі 534 00:24:06,010 --> 00:24:07,920 калі ён наогул тут, таму што ён адсартаваны. 535 00:24:07,920 --> 00:24:10,160 >> І такім чынам вы можаце вельмі dramatically-- 536 00:24:10,160 --> 00:24:11,250 >> [Задыхаючыся] 537 00:24:11,250 --> 00:24:12,300 >> Я ведаю. 538 00:24:12,300 --> 00:24:16,940 >> [Апладысменты] 539 00:24:16,940 --> 00:24:19,450 >> Гэта на самай справе вельмі лёгка, калі вы робіце гэта ўніз па хрыбетніку там. 540 00:24:19,450 --> 00:24:22,070 Але вы можаце кінуць палова ад вырашэння праблемы. 541 00:24:22,070 --> 00:24:25,950 Цяпер, я застаўся з тым жа problem-- знайсці Mike Smith ў тэлефон book-- 542 00:24:25,950 --> 00:24:29,610 але цяпер тэлефонная кніга пачынаецца з M і ідзе да Z, але гэта ўдвая менш. 543 00:24:29,610 --> 00:24:30,890 >> Але гэта тое, што ўражвае. 544 00:24:30,890 --> 00:24:34,170 Гэтак жа, як у тэорыі, вы, хлопцы, калі вы ўсе селі толькі палову, у той час, 545 00:24:34,170 --> 00:24:37,150 праблема значыць удвая менш, удвая менш, зноў і зноў. 546 00:24:37,150 --> 00:24:40,260 Такім чынам, гэтая праблема стала Тая ж праблема, але ўдвая менш. 547 00:24:40,260 --> 00:24:42,670 Зараз гэта праблема 250 стар. 548 00:24:42,670 --> 00:24:45,340 Як толькі я разумею, о, я у раздзеле T выпадкова. 549 00:24:45,340 --> 00:24:46,590 Я зайшоў занадта далёка. 550 00:24:46,590 --> 00:24:48,500 Я магу кінуць, што палова кнігі тэлефона прэч. 551 00:24:48,500 --> 00:24:50,410 Зараз, я ўніз да чвэрць гэтай праблемы. 552 00:24:50,410 --> 00:24:53,910 >> І вы можаце паўтарыць, паўтарыць, паўтарацца да таго часу, у тэорыі, вы не 553 00:24:53,910 --> 00:24:55,460 засталося толькі з адной старонкі. 554 00:24:55,460 --> 00:24:59,010 І калі Майк знаходзіцца на гэтай старонцы, Цяпер я магу вырашыць гэтую праблему. 555 00:24:59,010 --> 00:25:00,810 Але як хутка я вырашыць гэтую праблему? 556 00:25:00,810 --> 00:25:05,420 У першым выпадку, гэта заняло ў мяне як можа быць, 1000 крокаў, каб знайсці Mike Smith. 557 00:25:05,420 --> 00:25:09,260 Гэта, магчыма, прынялі me-- Я ўзяў тэлефонную кнігу 558 00:25:09,260 --> 00:25:11,440 і я пачаў шукаць адна старонка ў той час, 559 00:25:11,440 --> 00:25:13,480 і Майк можа быць 1000 старонак пазней. 560 00:25:13,480 --> 00:25:16,020 >> Другі падыход можа быць бярэ мяне 500 крокаў, 561 00:25:16,020 --> 00:25:17,960 таму што я лячу праз два адначасова. 562 00:25:17,960 --> 00:25:21,082 І трэці падыход, хоць, гэта асабліва магутным. 563 00:25:21,082 --> 00:25:23,790 Але давайце разгледзім, што мы на самай справе зрабіў з гэтым трэцім падыходам. 564 00:25:23,790 --> 00:25:27,590 Я ёсць тое, што я буду называць толькі гэтыя заявы, па адным за раз. 565 00:25:27,590 --> 00:25:28,560 Падніміце тэлефонную кнігу. 566 00:25:28,560 --> 00:25:30,130 Адкрыць у сярэдзіне тэлефоннай кнігі. 567 00:25:30,130 --> 00:25:31,419 Паглядзіце на імёны. 568 00:25:31,419 --> 00:25:33,960 І тады ўсё становіцца трохі больш інтэлектуальна цікавым, 569 00:25:33,960 --> 00:25:35,170 калі да гэтага часу проста. 570 00:25:35,170 --> 00:25:38,350 Калі Сміт з'яўляецца адным з Імёны на гэтай бягучай старонцы, 571 00:25:38,350 --> 00:25:40,170 затым зрабіць што-то ўмоўна. 572 00:25:40,170 --> 00:25:41,840 Гэта падобна на скрыжаванні дарог. 573 00:25:41,840 --> 00:25:42,660 Патэлефануеце Майк. 574 00:25:42,660 --> 00:25:44,930 Калі Майк сярод імёнаў на гэтай старонцы, называецца Mike. 575 00:25:44,930 --> 00:25:49,720 Але толькі зрабіць лінію чатыры, калі лінія дрэва, калі вы будзеце, праўда. 576 00:25:49,720 --> 00:25:51,590 Адказ на гэтае пытанне, так. 577 00:25:51,590 --> 00:25:55,520 >> Інакш, калі Сміт раней у book-- Іншымі словамі, калі я знаходжуся ў раздзеле M 578 00:25:55,520 --> 00:25:58,540 і я шукаю каго-небудзь левы, то што я павінен рабіць 579 00:25:58,540 --> 00:26:00,300 нешта вельмі падобныя. 580 00:26:00,300 --> 00:26:03,440 Тады я павінен адкрыць да сярэдзіны левай палове кнігі. 581 00:26:03,440 --> 00:26:07,930 Так ідзіце налева, а затым вярнуцца да кроку два. 582 00:26:07,930 --> 00:26:09,290 Паглядзіце на імёны там. 583 00:26:09,290 --> 00:26:12,779 >> Такім чынам, іншымі словамі, зрабіць тое ж самае, але па праблеме, якая была ў два разы. 584 00:26:12,779 --> 00:26:13,570 Вы ведаеце, што яшчэ? 585 00:26:13,570 --> 00:26:16,470 Калі Сміт у кнізе пазней заснаваны на старонцы я гляджу, 586 00:26:16,470 --> 00:26:18,790 адкрыты для сярэдзіны правая палова кнігі 587 00:26:18,790 --> 00:26:22,050 а затым зноў вярнуцца да другога кроку, else-- 588 00:26:22,050 --> 00:26:24,000 ёсць чацвёрты магчымасць тут. 589 00:26:24,000 --> 00:26:28,830 Майк альбо тут, альбо налева або направа ці не. 590 00:26:28,830 --> 00:26:30,570 І тут мы лепш разгледзець гэтае пытанне. 591 00:26:30,570 --> 00:26:33,360 І на самай справе, калі вы калі-небудзь меў ваш кампутар проста аварыі на вас, 592 00:26:33,360 --> 00:26:36,822 што часам, але не заўсёды, Вынік проста чалавека праграміст не 593 00:26:36,822 --> 00:26:39,280 разумеючы, аб страляць, ёсць на самай справе гэта чацвёрты сцэнар. 594 00:26:39,280 --> 00:26:41,650 І калі вы не пішаце код для апрацоўкі гэтага сцэнара, 595 00:26:41,650 --> 00:26:43,220 Часам вы не ведаеце, што кампутар можа зрабіць. 596 00:26:43,220 --> 00:26:44,770 І на самай справе праграма можа прывесці да збою. 597 00:26:44,770 --> 00:26:47,550 >> Але ў гэтым выпадку, я думаў, пра гэта, і я сказаў, яшчэ кінуць паліць, 598 00:26:47,550 --> 00:26:49,850 таму што гэта чацвёрты лагічны магчымы сцэнар. 599 00:26:49,850 --> 00:26:51,950 Цяпер, давайце проста дадаць некаторыя слоўнікавы запас, таму мы 600 00:26:51,950 --> 00:26:55,320 можа пачаць, каб кінуць вакол тэрмінаў, у астатнім даволі інтуітыўна. 601 00:26:55,320 --> 00:26:57,870 Усе рэчы, якія я проста выдзелены жоўтым колерам тут, 602 00:26:57,870 --> 00:27:00,140 Я проста да функцыі або працэдуры. 603 00:27:00,140 --> 00:27:01,590 Яны проста выгляд дзеянняў. 604 00:27:01,590 --> 00:27:04,900 Так што забраць, адкрыты для, паглядзіце на, тэлефануйце, адкрыта, адкрыта, 605 00:27:04,900 --> 00:27:09,170 quit-- гэта толькі дзеянні, ці мы будзем называць іх больш фармальна, функцыі. 606 00:27:09,170 --> 00:27:11,410 >> Між тым, у цяперашні час у жоўтым колеры, Я выдзеліў рэчы 607 00:27:11,410 --> 00:27:14,084 that-- давайце проста пачаць называць іх ўмовы або філіялы. 608 00:27:14,084 --> 00:27:16,750 Гэта кропкі прыняцця рашэння, дзе Вы маглі б ісці па гэтым шляху, такім чынам, 609 00:27:16,750 --> 00:27:18,100 або некаторы іншы накірунак да гэтага часу. 610 00:27:18,100 --> 00:27:19,430 Так што тыя будуць створаны ўмовы. 611 00:27:19,430 --> 00:27:20,930 І зараз гэты трохі спрактыкаваней. 612 00:27:20,930 --> 00:27:24,600 Давайце назавем гэтыя пытанні Лагічныя выразы, 613 00:27:24,600 --> 00:27:26,530 пасля таго, як нехта з прозвішчам Bool. 614 00:27:26,530 --> 00:27:28,340 >> І гэта лагічны выраз гэта проста нешта 615 00:27:28,340 --> 00:27:30,290 што гэта не сапраўдным або ілжывым, так ці не. 616 00:27:30,290 --> 00:27:35,870 Так што гэта пытанне, адказ на вас клапаціцца аб тым, каб у стане 617 00:27:35,870 --> 00:27:39,210 зрабіць decision-- атрымаць назад адказ, а затым ісці налева або направа, ці нешта 618 00:27:39,210 --> 00:27:40,450 то зусім іншае. 619 00:27:40,450 --> 00:27:42,860 >> І тады, нарэшце, гэтыя Лініі here-- вярнуцца 620 00:27:42,860 --> 00:27:44,737 да другога кроку, вярнуцца да этапу two-- мы маглі б 621 00:27:44,737 --> 00:27:46,320 рэалізаваць гэтую ідэю па-рознаму. 622 00:27:46,320 --> 00:27:49,028 І тады тыя з вас вопыт праграмавання мог бы зрабіць 623 00:27:49,028 --> 00:27:50,670 ці можа сабе рабіць гэта па-іншаму. 624 00:27:50,670 --> 00:27:53,170 Але для сённяшніх мэтаў, гэта проста ідэя, што мае значэнне. 625 00:27:53,170 --> 00:27:55,400 Гэта тое, што индуцируя мы звычайна называем 626 00:27:55,400 --> 00:28:00,110 loop-- нейкі цыкл, таму што гэта прымушае мяне зрабіць нешта зноў. 627 00:28:00,110 --> 00:28:03,340 >> Так што цяпер, давайце проста разгледзім наколькі добра гэты алгарытм. 628 00:28:03,340 --> 00:28:03,899 Гэта правільна. 629 00:28:03,899 --> 00:28:06,940 Калі Майк ў кнізе, гэта адзін з гэтыя чатыры scenarios-- зноў і зноў 630 00:28:06,940 --> 00:28:08,023 і зноў, мы знойдзем яго. 631 00:28:08,023 --> 00:28:08,890 Але наколькі добра гэта? 632 00:28:08,890 --> 00:28:10,150 Ну, мы не маем каб быць занадта фармальным тут. 633 00:28:10,150 --> 00:28:12,066 Але давайце проста сюжэт нешта, х і у, каб атрымаць 634 00:28:12,066 --> 00:28:14,470 пачуццё формы гэтай праблемы. 635 00:28:14,470 --> 00:28:17,160 >> На восі абсцыс тут памер маёй праблемы. 636 00:28:17,160 --> 00:28:20,256 І яны ў-вось тут будзе час, каб вырашыць. 637 00:28:20,256 --> 00:28:21,630 Так што, магчыма, гэта колькасць старонак. 638 00:28:21,630 --> 00:28:24,400 Можа быць, гэта секунды або старонка turns-- б там ні было. 639 00:28:24,400 --> 00:28:27,290 Аднак вы хочаце падлічыць гэта тое, што гэтая карціна будзе прадстаўляць. 640 00:28:27,290 --> 00:28:30,630 І гэта першы алгарытм, я збіраюся апісаць, як толькі па прамой лініі. 641 00:28:30,630 --> 00:28:33,120 Калі ёсць п старонак тэлефонная кніга, то яна 642 00:28:33,120 --> 00:28:36,010 можа ўзяць мяне так шмат а п крокаў, каб знайсці Майк. 643 00:28:36,010 --> 00:28:38,930 Калі Verizon або тэлефоннай кампаніі дадае яшчэ адну старонку ў наступным годзе, 644 00:28:38,930 --> 00:28:42,170 гэта можа заняць мне яшчэ адзін step-- яшчэ адна адзінка часу, каб знайсці Майк. 645 00:28:42,170 --> 00:28:44,230 Такім чынам, ёсць толькі гэта адзін да аднаго стаўленне. 646 00:28:44,230 --> 00:28:45,970 Гэта нахіл прамой лініі. 647 00:28:45,970 --> 00:28:49,110 >> У той жа час, што другі algorithm-- калі я 648 00:28:49,110 --> 00:28:51,570 збіраецца два на два time--, чатыры, шэсць, восем, ці double-- 649 00:28:51,570 --> 00:28:54,550 прайшоўшы праз старонкі ў два разы у той час, два ў той час, 650 00:28:54,550 --> 00:28:55,710 гэта ўсё ж такі прамая. 651 00:28:55,710 --> 00:28:58,720 Там цяпер адзін да двух стаўленне, але толькі крыху ніжэй. 652 00:28:58,720 --> 00:29:02,240 Так што, калі ёсць гэта шмат старонак на графіцы тут у жоўтым, 653 00:29:02,240 --> 00:29:04,800 якія маглі б узяць мяне гэта шмат захадаў або секунд, 654 00:29:04,800 --> 00:29:07,980 у адваротным выпадку ён збіраецца ўзяць мяне удвая больш, чым на чырвонай лініі. 655 00:29:07,980 --> 00:29:10,190 >> Але зялёная лінія з'яўляецца рэальным вынас. 656 00:29:10,190 --> 00:29:12,290 Гэта тое, што мы ў цэлым выклікаць logorithm-- часопіс 657 00:29:12,290 --> 00:29:13,840 п, дзе п лік старонак. 658 00:29:13,840 --> 00:29:16,450 Але гэта форма, якая мае значэнне сёння, таму што мы не маем 659 00:29:16,450 --> 00:29:17,950 нават думаць аб пабудове кропак. 660 00:29:17,950 --> 00:29:19,830 >> Падумайце аб тым крайнім выпадку. 661 00:29:19,830 --> 00:29:23,070 Выкажам здагадку, што Verizon заўтра падвойвае колькасць старонак у гэтай тэлефоннай кнізе, 662 00:29:23,070 --> 00:29:24,900 ад 1000 да 2000 чалавек. 663 00:29:24,900 --> 00:29:28,440 У першым алгарытме, я можа марнаваць Дадатковыя 1000 664 00:29:28,440 --> 00:29:32,080 крокі шукае Майк, толькі таму, што Verizon ў два разы памер кнігі. 665 00:29:32,080 --> 00:29:34,740 Другі algorithm-- гэта можа вазьміце мяне дадатковыя 500 крокаў. 666 00:29:34,740 --> 00:29:38,370 больш за 1000 старонак, я хаджу два за time-- яшчэ 500 крокаў, каб знайсці Майк. 667 00:29:38,370 --> 00:29:41,020 >> Але трэці алгарытм гэта свайго роду магічнае. 668 00:29:41,020 --> 00:29:44,270 Verizon падвойвае лік старонак ад 1000 да 2000, 669 00:29:44,270 --> 00:29:47,730 але колькі яшчэ крокаў робіць ён узяць мяне шукаць Майк? 670 00:29:47,730 --> 00:29:51,220 Гэта ўсяго толькі адзін, таму што я магу проста разарваць тэлефоннай кнізе яшчэ раз 671 00:29:51,220 --> 00:29:55,280 ад праблемы 2000 гэтую старонку 1000 старонак праблема, і вуаля. 672 00:29:55,280 --> 00:29:57,030 Я ўзяў масіўны кавалак з яго. 673 00:29:57,030 --> 00:29:59,405 >> І калі вы ідзяце сапраўды экстрэмальны, Выкажам здагадку, што ў тэлефоннай кнізе 674 00:29:59,405 --> 00:30:03,600 кампанія павінна была нешта вар'ят, як тэлефонная кніга 4 млрд стар. 675 00:30:03,600 --> 00:30:07,020 Ну, колькі крокаў гэта можа заняць каб знайсці Майка Сміта ў 4 мільярды 676 00:30:07,020 --> 00:30:09,990 старонка тэлефоннай кнігі? 677 00:30:09,990 --> 00:30:16,450 Гэта вялікі лік, але ўсяго 4 млрд 2 млрд да 1 млрд да 500 млн, 678 00:30:16,450 --> 00:30:18,720 250 million-- яшчэ гучыць як вялікіх лікаў, 679 00:30:18,720 --> 00:30:20,980 але я вельмі хутка атрымліваць меншыя значэння. 680 00:30:20,980 --> 00:30:24,790 >> І на самай справе, калі я раблю матэматыку Добра, я магу толькі падзяліць 4 мільярды 681 00:30:24,790 --> 00:30:28,750 прыкладна на 32 раз, перш чым Я атрымліваю ўніз толькі адзін. 682 00:30:28,750 --> 00:30:31,640 Так што, калі тэлефонная кніга была 4 доўгія мільярдаў старонак, не склала вялікай працы. 683 00:30:31,640 --> 00:30:35,270 На працягу некалькіх секунд, можа быць, 32 секунд, я мог бы падзяліць яго напалову 684 00:30:35,270 --> 00:30:39,560 і ў канчатковым выніку знайсці Майк або зрабіць выснову, што ён не існуе. 685 00:30:39,560 --> 00:30:42,219 І гэта сутнасць algorithm-- добры алгарытм. 686 00:30:42,219 --> 00:30:44,260 І гэта адна з Мэты класа, як гэта, 687 00:30:44,260 --> 00:30:47,350 спрабуе высветліць, як я вырашыць праблему не толькі правільна, 688 00:30:47,350 --> 00:30:52,360 якога я ведаў, як зрабіць гэта адзін старонка на time--, але правільна і добра. 689 00:30:52,360 --> 00:30:55,034 Як мне стварыць добры вырашэння праблем? 690 00:30:55,034 --> 00:30:57,200 Так што давайце момант тут і даць вам сэнс цяпер 691 00:30:57,200 --> 00:31:00,260 з CS50 курс ўвесці ў тым: супрацоўнікі ў некалькіх курса. 692 00:31:00,260 --> 00:31:02,010 Незадоўга да 2:00, мы будзем кароткі перапынак 693 00:31:02,010 --> 00:31:03,520 так што тыя з вас Хто такія могуць хадзіць па крамах 694 00:31:03,520 --> 00:31:05,130 качка, і ўзяць паглядзець на нейкі іншы клас 695 00:31:05,130 --> 00:31:06,580 і глядзець на астатняй частцы гэтага онлайн. 696 00:31:06,580 --> 00:31:09,250 Але цяпер, дазвольце мне прадставіць CS50, сам клас, 697 00:31:09,250 --> 00:31:11,330 і, у прыватнасці, што з'яўляецца новым. 698 00:31:11,330 --> 00:31:13,960 >> Такім чынам, вясной мы правёў зусім трохі time-- 699 00:31:13,960 --> 00:31:17,911 Персанал Курс і я-- мыслення пра тое, што менавіта мы хочам быць CS50, 700 00:31:17,911 --> 00:31:19,910 і вярнуцца да першага прынцыпы, так бы мовіць, 701 00:31:19,910 --> 00:31:22,760 каб разгледзець, што менавіта мы хочам гэты курс, каб выглядаць і быць 702 00:31:22,760 --> 00:31:23,740 як для сваіх студэнтаў. 703 00:31:23,740 --> 00:31:26,480 І вы ўбачыце ў задачы ўсталяваць нуль, а, запрашэнне 704 00:31:26,480 --> 00:31:28,780 каб зірнуць на што URL, які абагульняе 705 00:31:28,780 --> 00:31:33,270 некаторыя з матывацый ззаду наступныя характарыстыкі падзення 2016 года. 706 00:31:33,270 --> 00:31:35,570 >> Так як вы можаце запазычыць ад TL: раздатачны DR, 707 00:31:35,570 --> 00:31:39,060 навучальны план сёння, а таксама ад каталог, вядома, у гэтым годзе ў CS50, 708 00:31:39,060 --> 00:31:42,540 вы толькі павінны наведваць таму працу раз сёння добра done-- 709 00:31:42,540 --> 00:31:45,960 і апошняя лекцыя 21 лістапада. 710 00:31:45,960 --> 00:31:49,150 І вы вітаюцца, але не чакаецца наведваць гэтыя лекцыі ў сярэдзіне, 711 00:31:49,150 --> 00:31:51,180 таму што мы робім У гэтым годзе, стральба 712 00:31:51,180 --> 00:31:52,661 у рэальным часе матэрыялу Курса. 713 00:31:52,661 --> 00:31:54,660 Так што ўсё застанецца тока і ўключыць 714 00:31:54,660 --> 00:31:57,410 як лепш за ўсё мы can-- бягучыя падзеі і размовы, якія людзі маглі б 715 00:31:57,410 --> 00:32:00,400 быць маючы ў прамысловасці ў свет, але робіць гэты матэрыял 716 00:32:00,400 --> 00:32:03,892 даступныя, у выніку, нават earlier-- у камплекце з поўным тэкстам стэнаграмы 717 00:32:03,892 --> 00:32:05,850 і магчымасць пошуку і спасылкі на іншыя рэсурсы. 718 00:32:05,850 --> 00:32:07,930 >> І на самай справе, мы былі сцвярджаючы, што на працягу некаторага часу 719 00:32:07,930 --> 00:32:10,830 і мы лічым, што гэта ў цяперашні час, што мы можам стварыць, у лічбавым выглядзе, 720 00:32:10,830 --> 00:32:15,170 больш захапляльны, больш прывабным адукацыйны вопыт, у адрозненне 721 00:32:15,170 --> 00:32:19,110 каб сабраць тут каля 23 разоў асабіста, пачуўшы хтосьці кахае мяне 722 00:32:19,110 --> 00:32:22,925 проста казаць аб інфарматыцы, у адрозненне ад больш актыўнага далучэння. 723 00:32:22,925 --> 00:32:25,800 Такім чынам, вы будзеце бачыць у навучальны план Курса эскіз семестра тут, 724 00:32:25,800 --> 00:32:27,840 разам з тым, калі лекцыі будуць будзе зняты, да якога вы 725 00:32:27,840 --> 00:32:29,710 вітаюцца, але не чакаў, і калі яны будуць 726 00:32:29,710 --> 00:32:31,640 будзе выпушчаны на вэб-сайце курсу. 727 00:32:31,640 --> 00:32:34,300 >> І што мы будзем рабіць тут Асяроддзя пачынаючы з наступнага тыдня, 728 00:32:34,300 --> 00:32:37,362 з'яўляецца значна больш цесна, з толькі тыя людзі, якія хочуць удзельнічаць, 729 00:32:37,362 --> 00:32:39,820 гэта так званая прагулка, дзе я і кіраўнікі Курса 730 00:32:39,820 --> 00:32:41,730 будзе на самой справе рабіць рэчы крыху больш за інтымнае 731 00:32:41,730 --> 00:32:44,313 тут у аркестры раздзел, да гэтага часу некаторыя тэхналогіі 732 00:32:44,313 --> 00:32:46,365 і прайсці праз Праблема набору бягучага тыдня, 733 00:32:46,365 --> 00:32:50,020 і прапанаваць вам particularly-- калі сярод тым менш comfortable-- ўсё больш 734 00:32:50,020 --> 00:32:52,790 рэкамендацыі, якія вы маглі б хацець або патрэба кінуць выклік тыдня. 735 00:32:52,790 --> 00:32:55,820 І сапраўды гэтак жа, для тых, хто не можа прысутнічаць на тых, хто асабіста, не склала вялікай працы. 736 00:32:55,820 --> 00:32:58,486 Там будзе гэтак жа на чале адзін з старэйшых супрацоўнікаў Курсу, 737 00:32:58,486 --> 00:33:02,650 Zamalya, тая ж магчымасць убудаванага ў задачы саміх мностваў. 738 00:33:02,650 --> 00:33:04,960 >> Праблема ўсталёўвае ў гэтым годзе будзе выпушчаны па пятніцах 739 00:33:04,960 --> 00:33:08,080 і больш не рабіць сем дзён праз, але 10 дзён later-- наўмысна 740 00:33:08,080 --> 00:33:10,910 перакрываецца з кожнай праблемай ўсталяваць, з тым, каб лепш прыстасаваць, 741 00:33:10,910 --> 00:33:13,050 мы спадзяемся, прылівы і адлівы у студэнцкіх раскладзе, 742 00:33:13,050 --> 00:33:16,550 асабліва калі па лёгкай атлетыцы або прамежкавых выбарах ці акадэмікі або extracurriculars 743 00:33:16,550 --> 00:33:18,465 як правіла, прыходзяць і сыходзяць асабліва ў сярэдзіне семестра. 744 00:33:18,465 --> 00:33:21,340 Гэта павінна даць вам крыху больш сваім меркаванні, каб вы пярэдні 745 00:33:21,340 --> 00:33:25,690 загрузіць сваю тыдзень з CS50 або задняй нагрузкі гэта на наступны ўік-энду замест. 746 00:33:25,690 --> 00:33:28,817 Так што глядзіце, каб навучальны план Курса тут яго графіка. 747 00:33:28,817 --> 00:33:30,900 І вы заўважыце, таксама сярод змены ў гэтым годзе, 748 00:33:30,900 --> 00:33:34,082 для тых, хто больш знаёмыя з праграмаванне ў мінулым, 749 00:33:34,082 --> 00:33:36,290 мы пачнем семестр як мы будзем сёння ў пустым месцы, 750 00:33:36,290 --> 00:33:39,730 засяродзіць увагу перш за ўсё на мове называецца C, а затым ня пераход 751 00:33:39,730 --> 00:33:43,430 ў PHP, але на мове пад назвай Python да канца семестра 752 00:33:43,430 --> 00:33:46,565 у кантэксце вэб-праграмавання, нароўні з SQL і JavaScript, 753 00:33:46,565 --> 00:33:48,930 HTML, CSS, і ўсё ж больш. 754 00:33:48,930 --> 00:33:51,790 >> І ў адказ на задаюць пытанні, гэта сапраўды так 755 00:33:51,790 --> 00:33:55,520 што CS не так страшна, як я калісьці думаў, што гэта было, але гэта так шмат працы 756 00:33:55,520 --> 00:33:57,280 як я чуў, што гэта магло б быць. 757 00:33:57,280 --> 00:34:03,210 Але гэта сказаць, што тут некаторыя Статыстыка ад падзення 2015 студэнтаў, 758 00:34:03,210 --> 00:34:06,460 у выніку чаго гарызантальныя сінія лініі ўяўляюць сабой сярэдняя колькасць гадзін 759 00:34:06,460 --> 00:34:06,960 паведамілі. 760 00:34:06,960 --> 00:34:10,570 І вы ўбачыце, у сярэднім ад шасці да 10 да 12--, можа быць 16 761 00:34:10,570 --> 00:34:14,580 або так і гэтак далей, але з высокая дысперсія быць ясным. 762 00:34:14,580 --> 00:34:18,570 І так разумею, што ёсць не толькі студэнты больш зручным і менш 763 00:34:18,570 --> 00:34:22,150 камфортна ў курсе, але адпаведная падтрымка 764 00:34:22,150 --> 00:34:25,699 структура, каб атрымаць тыя студэнты праз заканчэння семестра. 765 00:34:25,699 --> 00:34:29,409 >> Сапраўды, у адказ на задаюць пытанні, павінны вы бераце CS50 як першы год? 766 00:34:29,409 --> 00:34:30,139 Вы маеце рацыю. 767 00:34:30,139 --> 00:34:32,690 І на самай справе, я шкадую ня знайшоўшы свой шлях 768 00:34:32,690 --> 00:34:35,170 ці знайшоў новае поле што першы год, а таксама. 769 00:34:35,170 --> 00:34:39,149 І вы павінны прыняць CS50 з іншыя курсы, вядома ж, як well-- 770 00:34:39,149 --> 00:34:41,940 і агульны савет, які мы маглі б даць студэнтам, што CS50, верагодна, 771 00:34:41,940 --> 00:34:44,929 не від класа або класа інтра што вы павінны ўзяць з сабой тры 772 00:34:44,929 --> 00:34:47,199 іншы або чатыры іншых р-мноства класаў. 773 00:34:47,199 --> 00:34:50,583 Але калі вы прымаеце два іншых р-набор класы, нешта яшчэ, і CS50, 774 00:34:50,583 --> 00:34:51,499 абсалютна кіраваным. 775 00:34:51,499 --> 00:34:54,900 У мяне было шмат студэнтаў у мінулае зроблена цалкам паспяхова. 776 00:34:54,900 --> 00:34:57,490 >> А каб атрымаць вас да што скончыць лінію паспяхова, 777 00:34:57,490 --> 00:35:00,260 робіць вядома ёсць sections-- розныя трасы для студэнтаў 778 00:35:00,260 --> 00:35:03,100 менш камфортна, больш камфортна, і дзесьці пасярэдзіне, 779 00:35:03,100 --> 00:35:04,850 прычым у Курса Першы набор праблем, 780 00:35:04,850 --> 00:35:06,360 вам будзе прапанавана, каб апісаць сябе. 781 00:35:06,360 --> 00:35:09,151 І калі вы сярод тых, менш зручна, гэта такая рэч, 782 00:35:09,151 --> 00:35:10,420 што вы проста дастаткова ведаць. 783 00:35:10,420 --> 00:35:13,010 І на самай справе, што гэта было які расце дэмаграфічнага ў CS50 784 00:35:13,010 --> 00:35:14,090 ўжо некалькі гадоў. 785 00:35:14,090 --> 00:35:17,680 >> Па восені мінулага года для Асобнік, 58% класа 786 00:35:17,680 --> 00:35:20,560 апісалі сябе як сярод тых, хто менш камфортна, 787 00:35:20,560 --> 00:35:23,210 з 9% сярод тых, хто больш зручна, а затым 788 00:35:23,210 --> 00:35:25,900 іншыя студэнты там у чырвоны апісваючы сябе 789 00:35:25,900 --> 00:35:27,890 а дзесьці пасярэдзіне. 790 00:35:27,890 --> 00:35:31,980 І вы ўбачыце тут тэмы ў цэлым і графік секцый, кожная з якіх 791 00:35:31,980 --> 00:35:34,820 прапануецца асабіста, у у рэальным маштабе часу, з Курсу 792 00:35:34,820 --> 00:35:38,320 Дзіўна, супрацоўнікі навучальных таварышаў і курс асістэнты, некаторыя з якіх 793 00:35:38,320 --> 00:35:39,660 вы сустрэнеце ўсяго хвіліну. 794 00:35:39,660 --> 00:35:42,993 >> Самі раздзелы, як вы ўбачыце, будзе быць па панядзелках і аўторках і серадах, 795 00:35:42,993 --> 00:35:45,910 такім чынам, каб дазволіць вам ныраць пасля ўдзелу, калі вы так 796 00:35:45,910 --> 00:35:48,110 выбраць, у Курса лекцыі ў пачатку гэтага тыдня. 797 00:35:48,110 --> 00:35:51,420 А потым працоўныя гадзіны, якія вядома ж, з кожным годам, 798 00:35:51,420 --> 00:35:54,110 Не было не меншым выклік для курса. 799 00:35:54,110 --> 00:35:57,040 І ў гэтым годзе мы не плануем толькі трымаць офіс hours-- адзін 800 00:35:57,040 --> 00:36:00,300 на адной магчымасці для дапамогі для Студэнты па серадах чацвяргах 801 00:36:00,300 --> 00:36:03,790 і нядзелях, апошні з тых, будучы ў другой палове дня па дызайне 802 00:36:03,790 --> 00:36:06,910 паменшыць частка напружання, што нязменна ўзнікае з позняй ночы 803 00:36:06,910 --> 00:36:10,180 п-settting з апошнім тэрмінам looming-- але гадзіны офіса таксама будуць прапанаваныя 804 00:36:10,180 --> 00:36:14,920 па панядзелках і аўторках і Па серадах і пятніцах і суботах, 805 00:36:14,920 --> 00:36:17,080 дзякуючы нашым сябрам у HSA. 806 00:36:17,080 --> 00:36:20,330 >> CS50 цяпер мае сваё ўласнае прастору для студэнтаў і супрацоўнікаў CS50, 807 00:36:20,330 --> 00:36:23,070 на вяршыні 67 Mount Auburn Street, прама ў Гарвардскай плошчы. 808 00:36:23,070 --> 00:36:26,340 Бачанне якога з'яўляецца тое, што CS50-х ТФ і цэнтры сертыфікацыі на працягу тыдня, 809 00:36:26,340 --> 00:36:29,052 у значнай ступені на працягу большай дзён, будзе там для падтрымкі. 810 00:36:29,052 --> 00:36:30,760 Так што калі ў вас ёсць некаторыя Пытанне аб р-мностве 811 00:36:30,760 --> 00:36:33,093 ці вы адчуваеце сябе крыху заблякаваны або крыху заблытаўся, 812 00:36:33,093 --> 00:36:35,640 і, чорт вазьмі, у вас ёсць гадзіну ці паўгадзіны паміж класамі, 813 00:36:35,640 --> 00:36:38,920 асабліва ў square-- вы можаце поп і ёсць гэтае пытанне адказаў 814 00:36:38,920 --> 00:36:41,720 ад таго, маюць гэтую блытаніну clarified-- вельмі ў духу, 815 00:36:41,720 --> 00:36:45,490 вы знаёмыя, па матэматыцы ўласныя матэматычныя пытанні цэнтр аддзела, 816 00:36:45,490 --> 00:36:49,300 але ў значнай ступені вакол гадзін у [? Гкал?], Што мы размесцім на сайце. 817 00:36:49,300 --> 00:36:52,400 >> Рэпетытарства таксама даступная для тых, студэнты, свабодна ад Курсу 818 00:36:52,400 --> 00:36:54,750 уласны персанал, калі вы хочаце больш інтымны адзін на адзін, 819 00:36:54,750 --> 00:36:58,940 або толькі два ці тры аднакласнікі, працуючы з адным з супрацоўнікаў гэтага курса. 820 00:36:58,940 --> 00:37:02,320 І сапраўды, яны тут проста некаторыя з супрацоўнікаў Курсу, 821 00:37:02,320 --> 00:37:04,120 некаторыя з якіх вы будзеце сустракаюцца ў імгненне. 822 00:37:04,120 --> 00:37:07,440 На самай справе, CS50 ўласнай кіраўнік навучання супрацоўнік, 823 00:37:07,440 --> 00:37:09,790 і галава вядома памочнік, і Настаўнікам, 824 00:37:09,790 --> 00:37:12,998 можа прыйсці на уверх, дазваляюць ім сказаць прывітанне. 825 00:37:12,998 --> 00:37:22,498 >> [Апладысменты] 826 00:37:22,498 --> 00:37:23,456 СПІКЕР 1: [неразборліва]. 827 00:37:23,456 --> 00:37:51,842 828 00:37:51,842 --> 00:37:57,856 >> [Апладысменты] 829 00:37:57,856 --> 00:37:58,814 СПІКЕР 2: [неразборліва]. 830 00:37:58,814 --> 00:38:17,240 831 00:38:17,240 --> 00:38:27,238 >> [Апладысменты] 832 00:38:27,238 --> 00:38:28,196 Выступоўца 3: [неразборліва]. 833 00:38:28,196 --> 00:38:58,951 834 00:38:58,951 --> 00:39:03,120 >> [Апладысменты] 835 00:39:03,120 --> 00:39:06,740 >> DAVID Малання: І дазвольце нам прынесці на борт два з CS50 самых 836 00:39:06,740 --> 00:39:09,730 старэйшых супрацоўнікаў, Роб і Zamayla, а таксама. 837 00:39:09,730 --> 00:39:15,120 >> [Апладысменты] 838 00:39:15,120 --> 00:39:17,226 >> На самай справе, як Роб і Zamayla былі з намі 839 00:39:17,226 --> 00:39:19,940 так доўга, што я быў у стане ісці ў архівы CS50 ў 840 00:39:19,940 --> 00:39:22,470 і знайсці гэтую самую SD кадры з іх удзельнічаюць 841 00:39:22,470 --> 00:39:25,402 на саміх этапе некалькі гадоў таму. 842 00:39:25,402 --> 00:39:26,110 БОР: [неразборліва]. 843 00:39:26,110 --> 00:39:53,660 844 00:39:53,660 --> 00:39:59,247 >> [Апладысменты] 845 00:39:59,247 --> 00:40:00,080 ZAMAYLA: [неразборліва] 846 00:40:00,080 --> 00:40:50,888 847 00:40:50,888 --> 00:40:52,467 >> [Апладысменты] 848 00:40:52,467 --> 00:40:53,425 DAVID Малання: Дзякуй. 849 00:40:53,425 --> 00:40:56,160 850 00:40:56,160 --> 00:40:58,030 Такім чынам, у дадатак да іх Члены каманды тут, 851 00:40:58,030 --> 00:41:01,662 CS50 мае каманду амаль 100 супрацоўнікі, усе з якіх 852 00:41:01,662 --> 00:41:04,370 будуць даступныя для секцый і офісныя гадзіны і многае іншае. 853 00:41:04,370 --> 00:41:06,920 І, як Роб кажа, што таксама, гэта самы значны рамонт 854 00:41:06,920 --> 00:41:09,534 з CS50 ў 10 гадоў, што Я быў у [неразборліва]. 855 00:41:09,534 --> 00:41:12,200 [Неразборліва] сканцэнтраваны асабліва ў забеспячэнні структуры падтрымкі, 856 00:41:12,200 --> 00:41:14,050 падрэзкі прэч шмат асноўная частка, якая была 857 00:41:14,050 --> 00:41:16,870 назапашаны за апошнія 10 гадоў итеративной распрацоўкі 858 00:41:16,870 --> 00:41:18,120 на праблемныя наборы Курса. 859 00:41:18,120 --> 00:41:21,470 >> Так што ў гэтым годзе, не толькі ў класе, але таксама ў выглядзе задачы Курса 860 00:41:21,470 --> 00:41:24,800 наборы, вы павінны знайсці рэчы быць больш абцякальны, трымер, многае 861 00:41:24,800 --> 00:41:26,700 больш кіраваным, чым ў мінулыя гады, як мы 862 00:41:26,700 --> 00:41:31,330 праліваюць некаторыя з багажу, што гэта распрацаваны характар ​​развіваецца года 863 00:41:31,330 --> 00:41:32,970 пасля таго, як год і ітэрацыі. 864 00:41:32,970 --> 00:41:35,110 Такім чынам, новы і палепшаны пачынаецца сёння. 865 00:41:35,110 --> 00:41:37,860 >> Вы сустрэнеце яшчэ некаторыя з Персанал вядома знаходзіцца па-за ў [неразборліва] 866 00:41:37,860 --> 00:41:40,186 у 2:30, дзе мы служым, як традыцыі, торт. 867 00:41:40,186 --> 00:41:42,060 Там крыху больш торт чым гэта, але вы будзеце 868 00:41:42,060 --> 00:41:44,690 сустракаюцца Erin і Тобіас і іншыя да гэтага часу. 869 00:41:44,690 --> 00:41:46,470 І дазвольце мне даць вам тур, перш чым мы чуем 870 00:41:46,470 --> 00:41:49,600 ад некаторых іншых супрацоўнікаў у класе, пра тое, што гэтак жа чакае. 871 00:41:49,600 --> 00:41:52,730 На самай справе, мы заўсёды пачынаем CS50-х Семестр У бліжэйшую суботу, 872 00:41:52,730 --> 00:41:54,330 з тым, што называецца CS50 Puzzle дзень. 873 00:41:54,330 --> 00:41:56,710 >> Яна не мае нічога агульнага з камп'ютэрныя навукі самі па сабе, 874 00:41:56,710 --> 00:41:58,669 але аб праблеме рашэнні ў цэлым. 875 00:41:58,669 --> 00:42:01,210 І калі вы так вырашыце прыняць удзел, за некаторыя з запрашэнняў, 876 00:42:01,210 --> 00:42:03,460 Вы, магчыма, бачылі дзверы упаў ці на сцэне тут, 877 00:42:03,460 --> 00:42:05,830 гэта магчымасць у камандах двух або трох ці чатырох, 878 00:42:05,830 --> 00:42:10,680 прыняць удзел для галаваломак і піцы і прызы і more-- ў гэтую суботу, 879 00:42:10,680 --> 00:42:12,560 сочыце за многае іншае. 880 00:42:12,560 --> 00:42:15,082 >> Вы знойдзеце таксама, што кожны У пятніцу, у Агонь і лёд, 881 00:42:15,082 --> 00:42:16,790 CS50 Ці прынесці цэлая куча студэнтаў 882 00:42:16,790 --> 00:42:19,100 на абед, каб зрабіць вялікі клас адчуваць сябе больш інтымнае, 883 00:42:19,100 --> 00:42:21,820 і наогул звесці разам Выпускнікі і сябры з прамысловасці 884 00:42:21,820 --> 00:42:24,710 казаць аб тым, што яны маюць быў да моманту заканчэння. 885 00:42:24,710 --> 00:42:27,820 Акрамя таго, у гэтым годзе, мы адзначыць першы калі-небудзь CS50 50 886 00:42:27,820 --> 00:42:31,390 кадаваньне contest-- ў сярэдзіне семестра магчымасць дазволіць кожнаму 887 00:42:31,390 --> 00:42:35,430 на абраць у аснове, каб мець выклік досціп супраць аднакласнікаў, 888 00:42:35,430 --> 00:42:39,250 зноў у камандах з двух або трох ці чатыры, выкарыстоўваючы толькі што праграмаванне 889 00:42:39,250 --> 00:42:41,920 здаровы сэнс, што вы пасля гэтага маеце пад Ваш пояс ўсяго толькі пасля шасці або сямі гадоў 890 00:42:41,920 --> 00:42:44,710 тыдняў класа, а таксама ўдзел у гэтым выглядзе спаборніцтваў 891 00:42:44,710 --> 00:42:50,261 online--, калі вы хочаце, каб адтачыць свой уласны навыкі ўсё больш у гэты выклік. 892 00:42:50,261 --> 00:42:52,760 У канцы семестра так званы CS50 Hackathon-- 893 00:42:52,760 --> 00:42:56,970 магчымасць, якая пачынаецца ў 07:00 PM заканчваецца ў 7:00 раніцы, і па шляху 894 00:42:56,970 --> 00:43:01,900 12 вячэрнія гадзіны, у якіх ныраць у канчатковым project-- Курса 895 00:43:01,900 --> 00:43:04,820 магчымасць распрацоўкі і рэалізаваць большасць нічога цікавага 896 00:43:04,820 --> 00:43:06,980 Вам з вашым вучэннем кіраўніцтва стыпендыята. 897 00:43:06,980 --> 00:43:09,600 Каля 9:00 раніцы мы звычайна робім служыць піца, 01:00 AM, 898 00:43:09,600 --> 00:43:13,210 Філіпа, і мала хто з нас якія да гэтага часу прачынаюцца ў 5:00 раніцы, 899 00:43:13,210 --> 00:43:16,310 з'яўляюцца шатл шинное ўніз Дарога да IHOP для сняданку. 900 00:43:16,310 --> 00:43:19,340 >> А потым праз некалькі дзён гэта так званы CS50 fare-- 901 00:43:19,340 --> 00:43:23,450 канец семестра ў выставе святкаванне, як далёка так шмат 902 00:43:23,450 --> 00:43:28,200 з CS50 студэнтаў прыйшлі з нулявы тыдні аж да тыдня, 903 00:43:28,200 --> 00:43:32,610 і маючы на ​​ўвазе, што 73% з іх аднакласнікі і за вамі ў гэтым годзе 904 00:43:32,610 --> 00:43:34,840 ніколі не браў клас CS раней. 905 00:43:34,840 --> 00:43:39,226 На самай справе, каб яшчэ раз падкрэсліць, як шмат, тут гэта некалькі асобаў з персаналу CS50 ст. 906 00:43:39,226 --> 00:43:40,184 Выступоўца 4: [неразборліва]. 907 00:43:40,184 --> 00:43:45,909 908 00:43:45,909 --> 00:43:46,867 СПІКЕР 5: [неразборліва]. 909 00:43:46,867 --> 00:43:51,332 910 00:43:51,332 --> 00:43:52,290 СПІКЕР 6: [неразборліва]. 911 00:43:52,290 --> 00:43:55,276 912 00:43:55,276 --> 00:43:56,234 СПІКЕР 7: [неразборліва]. 913 00:43:56,234 --> 00:44:01,727 914 00:44:01,727 --> 00:44:02,643 СПІКЕР 8: [неразборліва] 915 00:44:02,643 --> 00:44:10,066 916 00:44:10,066 --> 00:44:11,024 СПІКЕР 9: [неразборліва]. 917 00:44:11,024 --> 00:44:14,475 918 00:44:14,475 --> 00:44:15,461 >> Выступоўца 4: [неразборліва]. 919 00:44:15,461 --> 00:44:16,461 >> СПІКЕР 10: [неразборліва]. 920 00:44:16,461 --> 00:44:21,456 921 00:44:21,456 --> 00:44:23,438 СПІКЕР 11: [неразборліва]. 922 00:44:23,438 --> 00:44:24,438 СПІКЕР 12: [неразборліва]. 923 00:44:24,438 --> 00:44:30,438 924 00:44:30,438 --> 00:44:31,396 СПІКЕР 13: [неразборліва] 925 00:44:31,396 --> 00:44:37,360 926 00:44:37,360 --> 00:44:40,342 >> СПІКЕР 14: [неразборліва]. 927 00:44:40,342 --> 00:44:42,863 >> СПІКЕР 13: [неразборліва]. 928 00:44:42,863 --> 00:44:43,821 СПІКЕР 15: [неразборліва] 929 00:44:43,821 --> 00:44:48,785 930 00:44:48,785 --> 00:44:49,785 СПІКЕР 16: [неразборліва]. 931 00:44:49,785 --> 00:44:53,761 932 00:44:53,761 --> 00:44:55,252 >> СПІКЕР 11: [неразборліва] 933 00:44:55,252 --> 00:44:57,773 934 00:44:57,773 --> 00:44:58,731 СПІКЕР 5: [неразборліва]. 935 00:44:58,731 --> 00:45:11,250 936 00:45:11,250 --> 00:45:15,130 DAVID Малання: Некаторыя каманды самі гандлёвыя класы. 937 00:45:15,130 --> 00:45:17,760 Але калі гэтыя члены персаналу CS50 тут, 938 00:45:17,760 --> 00:45:19,230 можа прыйсці на на імгненне. 939 00:45:19,230 --> 00:45:23,450 CS50-х ТФ і цэнтры сертыфікацыі і [? персанал?] Члены here-- гэта толькі некаторыя з іх 940 00:45:23,450 --> 00:45:28,880 з faces-- адзін з якіх вы проста бачыў, і некалькі other-- і некалькі іншых 941 00:45:28,880 --> 00:45:30,020 да гэтага часу. 942 00:45:30,020 --> 00:45:33,242 Чаму б нам не пайсці далей і дазволіць вы, хлопцы, пяць хвілінны перапынак. 943 00:45:33,242 --> 00:45:35,450 Калі вам трэба, каб качка магазін класы, гэта выдатна. 944 00:45:35,450 --> 00:45:38,900 А праз пяць хвілін мы рэзюмэ, зірнуць на Scratch-- першай 945 00:45:38,900 --> 00:45:42,420 нашай мовы праграмавання, пазнаёміцца Супрацоўнікі Курс тут некалькі больш, 946 00:45:42,420 --> 00:45:45,020 і засяродзіцца ў канчатковым рахунку, па праблеме ўсталяваць нуль. 947 00:45:45,020 --> 00:45:46,710 Такім чынам, мы вернемся праз пяць хвілін. 1 00:45:46,864 --> 00:45:47,370 >> Добра. 2 00:45:47,370 --> 00:45:48,590 Такім чынам, мы вярнуліся. 3 00:45:48,590 --> 00:45:51,330 А ў нашым астатнія Час сёння, мэта 4 00:45:51,330 --> 00:45:54,320 каб выраўнаваць гульнявое поле ў тэрмінах некаторай тэрміналогіі, 5 00:45:54,320 --> 00:45:55,297 з пункту гледжання некаторых ідэй. 6 00:45:55,297 --> 00:45:57,380 Таму што на самай справе, у адпаведнасці з некаторыя з дыяграм больш ранніх, 7 00:45:57,380 --> 00:46:00,130 там будзе цэлы шэраг ўзроўні вопыту ў класе, 8 00:46:00,130 --> 00:46:03,210 некаторыя з якіх студэнты маюць прынятыя некаторыя праграмы перад тым, 9 00:46:03,210 --> 00:46:04,200 некаторыя з якіх не маюць. 10 00:46:04,200 --> 00:46:07,430 І вось з гэтай першай задачы ўсталяваць і з гэтым першай мовай 11 00:46:07,430 --> 00:46:10,830 у нас ёсць магчымасць пачаць прымаць як само сабой разумеецца пасля таго, як сёння 12 00:46:10,830 --> 00:46:12,960 некаторы агульны слоўнікавы запас і ідэя. 13 00:46:12,960 --> 00:46:15,590 >> І мы будзем рабіць гэта шляхам першы languages-- Курса 14 00:46:15,590 --> 00:46:21,070 у дадатак да C і Python і JavaScript і SQL і HTML і CSS, 15 00:46:21,070 --> 00:46:24,450 мы будзем першапачаткова сканцэнтраваўшы ўвагу і толькі для праблем ўсталяваць нуль 16 00:46:24,450 --> 00:46:28,160 на гэтым графічным мове, называецца Драпіны, распрацаваная ў MIT Media Lab'S 17 00:46:28,160 --> 00:46:30,880 ўніз па дарозе, каб дапамагчы студэнты і дзеці асабліва 18 00:46:30,880 --> 00:46:35,070 выказаць сябе algorithmically-- такім чынам, больш адпавядае таму, што 19 00:46:35,070 --> 00:46:37,300 мы маглі б назваць вылічальныя мысленне. 20 00:46:37,300 --> 00:46:40,985 >> І гэта карысна, бо язык вельмі хутка на наступным тыдні ў тыдзень адзін, 21 00:46:40,985 --> 00:46:44,360 мы пераход да больш традыцыйны і аркан мова называецца 22 00:46:44,360 --> 00:46:46,370 З, што з'яўляецца чыста тэкстава. 23 00:46:46,370 --> 00:46:48,930 Вы толькі выкарыстоўваць клавіятуру ў Для таго каб напісаць інструкцыі 24 00:46:48,930 --> 00:46:50,230 як яны на экране. 25 00:46:50,230 --> 00:46:52,840 Але нават калі вы ніколі не бачылі мова праграмавання, перад тым, 26 00:46:52,840 --> 00:46:55,170 ў проста зірнуўшы на гэта, усё гэта быць загадкавым, 27 00:46:55,170 --> 00:47:00,010 вы можаце здагадацца, што верагодна, друкуе Hello World. 28 00:47:00,010 --> 00:47:02,050 Але ёсць шмат сінтаксічны над галавой ёсць. 29 00:47:02,050 --> 00:47:05,770 Існуе дзіўная хэш знак ці хэш-тэг наверсе. 30 00:47:05,770 --> 00:47:08,900 Там у вуглавыя дужкі, некаторыя круглыя ​​дужкі, фігурныя дужкі, паў-colon-- 31 00:47:08,900 --> 00:47:11,880 там проста так шмат глядзельных вобразаў сінтаксіс, які ўстае на шляху. 32 00:47:11,880 --> 00:47:13,940 Мы пачынаем курс з Драпіны, з тым, каб атрымаць 33 00:47:13,940 --> 00:47:17,600 міма ўсіх тых, хто інтэлектуальна нецікавыя адцягнення, 34 00:47:17,600 --> 00:47:20,290 і замест гэтага засяродзіцца на ідэях. 35 00:47:20,290 --> 00:47:22,540 >> На самай справе, гэта можа быць і раней. 36 00:47:22,540 --> 00:47:24,830 Гэта, для гэтага, тыдзень будзе пасля. 37 00:47:24,830 --> 00:47:26,760 Гэта, у гэтым графічным мова драпіна, 38 00:47:26,760 --> 00:47:29,870 як вы б рэалізаваць той жа program-- праграму, якая пры запуску, 39 00:47:29,870 --> 00:47:31,340 проста кажа прывітанне свет. 40 00:47:31,340 --> 00:47:34,740 І што прыемна аб Драпіны што менавіта гэта графічнае праграмаванне 41 00:47:34,740 --> 00:47:38,780 серада, якая выкарыстоўвае кавалачкі галаваломкі або блокі, што толькі счапляюцца разам 42 00:47:38,780 --> 00:47:40,440 калі ён мае лагічны сэнс зрабіць гэта. 43 00:47:40,440 --> 00:47:43,810 І з нуля вы можаце развіць анімацыі і інтэрактыўных гульняў 44 00:47:43,810 --> 00:47:47,270 і мастацтва, і любую колькасць рэчаў, якія вы можаце сабе ўявіць ў сваім уласным розуме, 45 00:47:47,270 --> 00:47:51,200 і рэалізаваць іх проста перацягваючы кавалачкі галаваломкі. 46 00:47:51,200 --> 00:47:54,265 >> І на самай справе, мы будзем мець магчымасць каб выказаць некаторыя з тых жа ідэй 47 00:47:54,265 --> 00:47:56,890 што я толькі што згадаў імгненне таму ў кантэксце Майк Сміт 48 00:47:56,890 --> 00:48:00,670 і пошук тэлефоннага book-- рэчы як функцыі, проста дзеянні, 49 00:48:00,670 --> 00:48:03,070 такія рэчы, як завесы, якія робяць рэчы зноў і зноў, 50 00:48:03,070 --> 00:48:05,170 зменныя, што з'яўляецца тое, што мы будзем уводзіць, 51 00:48:05,170 --> 00:48:08,086 але гэта, магчыма, знаёмыя з algebra-- проста нейкая запаўняльнік 52 00:48:08,086 --> 00:48:10,840 захоўваць некаторы значэнне, якое вы маглі б патрэбныя later-- лагічныя выразы, 53 00:48:10,840 --> 00:48:13,720 дзе тыя, ды не, ці праўда ілжывыя пытанні з раней. 54 00:48:13,720 --> 00:48:17,117 Умовы тыя вілы ў road-- тыя галіны, так бы мовіць. 55 00:48:17,117 --> 00:48:19,700 І тады ёсць некаторыя спрактыкаваней Асабліва мы ўбачым, нават сёння, 56 00:48:19,700 --> 00:48:22,850 званыя масівы і патокі і Падзеі, якія мы потым вернемся праз 57 00:48:22,850 --> 00:48:24,460 час на розных мовах. 58 00:48:24,460 --> 00:48:26,790 Але драпіна дазваляе нам для вывучэння ўсіх з іх. 59 00:48:26,790 --> 00:48:30,779 Так што тут у пустым месцы, гэта фіялетавы блок, што функцыя, як правіла, 60 00:48:30,779 --> 00:48:31,570 будзе выглядаць. 61 00:48:31,570 --> 00:48:35,620 Гэта фіялетавы кавалак галаваломкі, што ёсць некаторыя слова, як, скажам, што гэта дзеянне, 62 00:48:35,620 --> 00:48:38,490 а затым ён можа мець аргумент ці parameter-- нейкім чынам 63 00:48:38,490 --> 00:48:41,140 ад выгляду карыстацкай налады тое, што блок робіць 64 00:48:41,140 --> 00:48:45,182 так што гэта не перадвызначаныя MIT кажа, што гэты фіялетавы блок. 65 00:48:45,182 --> 00:48:47,390 На самай справе, вы ўбачыце ў той момант, калі я ў стане надрукаваць 66 00:48:47,390 --> 00:48:49,931 словы як прывітанне свет, або прывітанне Дэвід, або прывітанне Zamayla, 67 00:48:49,931 --> 00:48:53,750 або тое, што я хачу, у аргуменце для гэтай галаваломкі piece-- белы квадрат 68 00:48:53,750 --> 00:48:54,251 там. 69 00:48:54,251 --> 00:48:57,166 У той жа час, калі я хачу цыкл, мы будзем бачыць, што ёсць кавалачкі галаваломкі, якія 70 00:48:57,166 --> 00:48:58,640 выглядаць трохі аранжавага колеру, як гэта. 71 00:48:58,640 --> 00:49:01,690 І іх форма роду мяркуе, што нешта зноў і зноў адбываецца 72 00:49:01,690 --> 00:49:02,680 у цыкле. 73 00:49:02,680 --> 00:49:06,800 >> Так што калі я абгарнуць прывітанне свет блок сказаць з назаўжды блакаваць ў пустым месцы, 74 00:49:06,800 --> 00:49:10,307 гэта проста будзе працягваць казаць прывітанне свет назаўсёды, у літаральным сэнсе слова. 75 00:49:10,307 --> 00:49:12,390 У той жа час, ёсць яшчэ тып цыклу ў пустым месцы 76 00:49:12,390 --> 00:49:14,348 што мы будзем see-- паўтарэння block--, дзе, калі вы 77 00:49:14,348 --> 00:49:17,940 ведаць загадзя, колькі разоў Вы хочаце, каб выканаць цыкл 78 00:49:17,940 --> 00:49:21,850 канчатковае лік раз у fact-- вас можна паказаць, што, увёўшы ў шэрагу 79 00:49:21,850 --> 00:49:25,380 ці нават закаркаванні ў зменнай, як х ці у, як мы ўбачым. 80 00:49:25,380 --> 00:49:27,690 >> На самай справе, як зменныя Я ў гэтым выпадку, які 81 00:49:27,690 --> 00:49:30,109 з'яўляецца агульнай назвай для цэлая пераменная, што 82 00:49:30,109 --> 00:49:31,900 проста захоўвае number-- цэлы лік, можа быць, 83 00:49:31,900 --> 00:49:35,470 выкарыстаць гэты аранжавы блок тут ўсталяваць зменную, як я да нуля. 84 00:49:35,470 --> 00:49:38,900 Вось прыклад у зялёныя палі Лагічнае выраз у пустым месцы. 85 00:49:38,900 --> 00:49:43,700 Нават калі гэта выглядае як матэматыка формула, матэматычныя няроўнасці, як гэта 86 00:49:43,700 --> 00:49:45,320 на самай справе з'яўляюцца булева выразамі. 87 00:49:45,320 --> 00:49:46,570 Гэта альбо сапраўдным, альбо памылковае. 88 00:49:46,570 --> 00:49:48,300 Я менш, чым 50. 89 00:49:48,300 --> 00:49:51,815 Гэта альбо так ці не адказу або сапраўдным або ілжывых адказам. 90 00:49:51,815 --> 00:49:53,940 І мы звычайна называем гэтыя лагічныя выразы. 91 00:49:53,940 --> 00:49:55,148 І гэта не павінна быць 50. 92 00:49:55,148 --> 00:49:57,970 Гэта можа быць х менш, чым у, больш, чым у, роўны y-- 93 00:49:57,970 --> 00:50:00,020 любую колькасць іншых можа быць зададзены пытанні. 94 00:50:00,020 --> 00:50:03,250 >> Зараз, на першы погляд, гэта можа выглядаць раптам зусім смелымі тут, і гэта. 95 00:50:03,250 --> 00:50:06,540 Але канцэпцыя мудры, гэта даволі добра знаёмыя з раней. 96 00:50:06,540 --> 00:50:09,370 Калі х менш у, чым, скажам, як шмат. 97 00:50:09,370 --> 00:50:12,230 Інакш, калі х больш чым у, то кажуць, як шмат. 98 00:50:12,230 --> 00:50:14,260 Інакш сказаць, х роўна у. 99 00:50:14,260 --> 00:50:17,220 Такім чынам, мы маем прыклад там трэцяга scenario-- 100 00:50:17,220 --> 00:50:20,600 толькі трэці possibility-- х з'яўляецца альбо больш, менш або роўна. 101 00:50:20,600 --> 00:50:22,420 Такім чынам, у нас ёсць тры спосабы раздарожжы. 102 00:50:22,420 --> 00:50:26,290 >> І заўважце, што гэта крута here-- драпіна, здавалася б, мае толькі адну галаваломку 103 00:50:26,290 --> 00:50:28,840 частка, у дадзеным выпадку, у блоку, калі іншае. 104 00:50:28,840 --> 00:50:32,090 І тым не менш, што, здавалася б, мяркуюць, што вы можаце ёсць толькі два шляхі развілкі дарог. 105 00:50:32,090 --> 00:50:34,631 Вы можаце пайсці налева або направа, але што наконт трэцяга сцэнара? 106 00:50:34,631 --> 00:50:35,760 Што рабіць, калі х роўна у? 107 00:50:35,760 --> 00:50:36,500 Нічога страшнага. 108 00:50:36,500 --> 00:50:39,640 Вазьміце адзін кавалак галаваломкі, пакласці іншы ўнутры яго 109 00:50:39,640 --> 00:50:45,759 стварыць семантычны эквівалент у выпадку, калі яшчэ, else-- і зараз вы 110 00:50:45,759 --> 00:50:47,300 мець свой трохбаковы раздарожжы. 111 00:50:47,300 --> 00:50:49,091 І, як мы бачым, драпіна галаваломкі 112 00:50:49,091 --> 00:50:51,820 можа быць расцягнуць і расці, так што а ўціснуць больш матэрыялу ў іх. 113 00:50:51,820 --> 00:50:54,420 Вам не трэба, каб адпавядаць усё, што ў яго памеру па змаўчанні. 114 00:50:54,420 --> 00:50:56,690 >> Гэта тое, што мы будзем неўзабаве см называецца масівам. 115 00:50:56,690 --> 00:51:00,880 Гэта як list-- нейкім чынам захоўвання некалькіх фрагментаў інфармацыі 116 00:51:00,880 --> 00:51:02,886 ў зменнай, а не проста нумар. 117 00:51:02,886 --> 00:51:05,760 Гэта мы бачым прадстаўніка нешта, званае шматструменнасць. 118 00:51:05,760 --> 00:51:08,280 На самай справе, усе вашы Макаў і ПК ў гэтыя дні 119 00:51:08,280 --> 00:51:10,810 Падтрымлівае шматструменнасць, а гэта значыць, вы можаце ў літаральным сэнсе 120 00:51:10,810 --> 00:51:12,390 рабіць некалькі рэчаў адначасова. 121 00:51:12,390 --> 00:51:15,390 Вы можаце мець Microsoft Word ўверх у на пярэднім плане, працуючы на ​​нейкім эсэ. 122 00:51:15,390 --> 00:51:17,160 Вы можаце мець браўзэр ў фонавым рэжыме адкрыцця 123 00:51:17,160 --> 00:51:18,720 G пошце або Facebook ці таму падобнае. 124 00:51:18,720 --> 00:51:22,730 Ваш кампутар можа зрабіць некалькі рэчаў сёння, таму што гэта шматструменны, 125 00:51:22,730 --> 00:51:26,390 і праграмы, яны знаходзяцца ў ў прыватнасці, таксама Шматструменнае. 126 00:51:26,390 --> 00:51:28,970 >> Там у рэчы, названыя падзеі, як а ў свеце нуля, 127 00:51:28,970 --> 00:51:32,640 а затым ёсць спосаб таксама, каб зрабіць нашы ўласныя галаваломкі, калі рэчы 128 00:51:32,640 --> 00:51:34,810 на самай справе не існуе загадзя. 129 00:51:34,810 --> 00:51:38,260 Так што давайце матывуюць гэта наступным чынам. 130 00:51:38,260 --> 00:51:40,580 Некалькі гадоў таму, калі я упершыню выяўлены на пустым месцы, 131 00:51:40,580 --> 00:51:43,530 калі я быў на самай справе аспірантам ў Масачусецкім тэхналагічным інстытуце, мы 132 00:51:43,530 --> 00:51:45,640 самі былі пастаўлена задача зрабіць хатняе заданне. 133 00:51:45,640 --> 00:51:47,614 І я implemented-- які, у рэтраспектыве, 134 00:51:47,614 --> 00:51:50,780 было вельмі дрэннае рашэнне, таму што гэта самая шаленства песня ў свеце 135 00:51:50,780 --> 00:51:53,321 каб слухаць на працягу васьмі гадзін падчас працы на homework-- 136 00:51:53,321 --> 00:51:57,180 але нешта я назваў Оскар Час, які, магчыма, знаёмая песня. 137 00:51:57,180 --> 00:51:59,820 >> CS50s уласны Jordan Hayashi, адзін з нашы больш старэйшыя супрацоўнікі, 138 00:51:59,820 --> 00:52:03,920 павысіла яго да 2015 года і Цяпер 2016, так як назад у дзень, 139 00:52:03,920 --> 00:52:06,610 У мяне было ўсё, што толькі збіраецца ў смеццевы кошык Оскара. 140 00:52:06,610 --> 00:52:09,320 У цяперашні час мы падтрымліваем перапрацоўку і кампаставання. 141 00:52:09,320 --> 00:52:12,050 >> Але каб намаляваць карціну пра тое, што мы можам зрабіць тут 142 00:52:12,050 --> 00:52:14,130 і матываваць некаторых ніжнія прыклады ўзроўню, 143 00:52:14,130 --> 00:52:16,400 мы маглі б атрымаць адзін іншы Праца на грамадскіх пачатках, каб проста прыйсці на уверх 144 00:52:16,400 --> 00:52:18,331 і гуляць мой першы хатняе заданне калі-небудзь? 145 00:52:18,331 --> 00:52:18,830 Падымайся. 146 00:52:18,830 --> 00:52:19,250 Як цябе клічуць? 147 00:52:19,250 --> 00:52:20,030 >> Генрых: Генры. 148 00:52:20,030 --> 00:52:22,660 >> DAVID Малання: Генры, давай ўверх. 149 00:52:22,660 --> 00:52:24,190 Падымайся. 150 00:52:24,190 --> 00:52:27,070 Галава так ці інакш, і вы ўбачыце ў дадзены момант, 151 00:52:27,070 --> 00:52:29,870 Я збіраюся ісці наперад і ўдарыў зялёны сцяг у верхняй правай руцэ 152 00:52:29,870 --> 00:52:31,100 кут, што азначае ісці. 153 00:52:31,100 --> 00:52:33,320 Значок знак трохі прыпынку збіраецца сказаць стоп, 154 00:52:33,320 --> 00:52:35,490 і гэта пры запуску і спыніць праграму. 155 00:52:35,490 --> 00:52:36,450 Прыемна пазнаёміцца. 156 00:52:36,450 --> 00:52:36,950 Добра. 157 00:52:36,950 --> 00:52:39,100 Такім чынам, мы збіраемся, каб убачыць інструкцыі на экране ў імгненне. 158 00:52:39,100 --> 00:52:41,450 І проста гуляць у гэтую гульню для некалькіх seconds-- паверце мне, 159 00:52:41,450 --> 00:52:43,670 мы не будзем хацець гуляць ўсе шляхі да end-- вы будзеце 160 00:52:43,670 --> 00:52:45,470 атрымаць уяўленне аб тым, што робіць праграма. 161 00:52:45,470 --> 00:52:49,170 І больш, чым проста засяродзіцца на Генры быць добрым ці дрэнным ў гэтай гульні, фокус 162 00:52:49,170 --> 00:52:52,600 і як яны былі рэалізаваны мной першапачаткова, а затым Іарданіі. 163 00:52:52,600 --> 00:52:54,640 Іншымі словамі, дзе зменныя? 164 00:52:54,640 --> 00:52:55,520 Дзе завесы? 165 00:52:55,520 --> 00:52:56,520 Дзе функцыі? 166 00:52:56,520 --> 00:53:00,700 І мы ўбачым, калі мы не бачым тыя, пад капотам. 167 00:53:00,700 --> 00:53:03,660 >> Проста націсніце і перацягнуць смецце у адпаведны бункер. 168 00:53:03,660 --> 00:54:02,100 >> [МУЗЫКА] 169 00:54:02,100 --> 00:54:02,600 Добра. 170 00:54:02,600 --> 00:54:03,160 Гэта вельмі добра. 171 00:54:03,160 --> 00:54:04,286 Чаму б нам не спыніць яго там. 172 00:54:04,286 --> 00:54:04,786 Дзякуй. 173 00:54:04,786 --> 00:54:05,830 Віншуем Генры. 174 00:54:05,830 --> 00:54:07,002 Дзякуй. 175 00:54:07,002 --> 00:54:10,690 >> [Апладысменты] 176 00:54:10,690 --> 00:54:12,450 >> Толькі ўявіце сабе гэтую праграму адладкі. 177 00:54:12,450 --> 00:54:15,880 Калі ёсць праблема двух й хвіліне, але так song-- 178 00:54:15,880 --> 00:54:17,430 што тут адбываецца на самай справе? 179 00:54:17,430 --> 00:54:20,900 Як складана, як можа здацца пачынаюць здавацца, каб атрымаць на працягу доўгага часу, 180 00:54:20,900 --> 00:54:22,910 на самай справе ўсё больш і больш рэчы пачалі падаць, 181 00:54:22,910 --> 00:54:25,370 што цікава аб гэты від example-- 182 00:54:25,370 --> 00:54:27,270 і мы ўбачым, некаторыя з іх others-- у тым, што калі вы 183 00:54:27,270 --> 00:54:30,416 глядзець міма складанасці або выдасканаленасць гульні, 184 00:54:30,416 --> 00:54:33,040 ёсць вельмі простае будынак блокі, play-- усе з якіх, 185 00:54:33,040 --> 00:54:35,840 калі вы адагнаць іх тым, будаўнічыя блокі, вельмі даступныя 186 00:54:35,840 --> 00:54:37,401 і рэалізуюцца ім самім. 187 00:54:37,401 --> 00:54:39,150 Напрыклад, гэта было некаторы час, але я 188 00:54:39,150 --> 00:54:42,900 упэўнены, што я першапачаткова зрабіў, калі што робіць гэтую гульню ў першы раз 189 00:54:42,900 --> 00:54:44,787 я быў цалкам як цягнулі. 190 00:54:44,787 --> 00:54:47,120 Я не засяродзіцца на ўсіх на логіка або кавалачкі галаваломкі, 191 00:54:47,120 --> 00:54:50,810 Я засяродзіўся на графіцы і знаходжанне вуліца пост і смеццевы бак 192 00:54:50,810 --> 00:54:51,540 і ўсё гэта. 193 00:54:51,540 --> 00:54:53,456 Але гэта былі неабходнай умовай інгрэдыенты ў першую чаргу. 194 00:54:53,456 --> 00:54:57,220 І як толькі я скончыў адкладаць і выклаўшы агульныя рамкі, 195 00:54:57,220 --> 00:55:00,337 Я вырашыў, дазвольце мне зрабіць адзін частка падзення для смецця з неба. 196 00:55:00,337 --> 00:55:02,170 І мы ўбачым, да драпін падтрымлівае рэчы, званыя 197 00:55:02,170 --> 00:55:06,386 sprites-- сімвалаў, якія могуць маюць розныя касцюмы на так што яны 198 00:55:06,386 --> 00:55:07,010 выглядаюць па-рознаму. 199 00:55:07,010 --> 00:55:09,660 >> І таму я стаўлю смецце касцюм на адным з такіх спрайт. 200 00:55:09,660 --> 00:55:12,007 І я проста меў патрэбу падаць з неба. 201 00:55:12,007 --> 00:55:14,590 І так атрымліваецца, да драпін, як і большасць моў праграмавання, 202 00:55:14,590 --> 00:55:18,099 падтрымлівае выпадковыя ліку або тэхнічна псевдокод выпадковых лікаў, 203 00:55:18,099 --> 00:55:20,390 так што з дапамогай перацягвання скінуўшы пэўныя часткі галаваломкі, 204 00:55:20,390 --> 00:55:22,890 Я быў у стане мець смецце прыходзяць злева на першы погляд. 205 00:55:22,890 --> 00:55:25,580 І тады ў наступны раз, ён упаў, з права, а затым з сярэдзіны. 206 00:55:25,580 --> 00:55:28,060 І ўсё ж гульня была проста ёсць смецце, што падалі з неба. 207 00:55:28,060 --> 00:55:29,770 Вы не маглі б паказаць на яе або націснуць на яе. 208 00:55:29,770 --> 00:55:31,103 Вы не маглі адкрыць смеццевы бак. 209 00:55:31,103 --> 00:55:32,160 Вы нічога не маглі зрабіць. 210 00:55:32,160 --> 00:55:34,450 Але гэта быў крок дзіцяці да маёй канчатковай бачання. 211 00:55:34,450 --> 00:55:36,720 >> І пасля гэтага, я на самой справе рэалізаваны нейкі 212 00:55:36,720 --> 00:55:41,230 зандзіравання, так што калі вы зрабілі націсніце і перацягнуць на кавалак смецця 213 00:55:41,230 --> 00:55:44,350 па банку хламу, Оскар вечка будзе адчыняцца і зачыняцца. 214 00:55:44,350 --> 00:55:47,650 Нічога не здарыцца са смеццем, але па меншай меры, вечка будзе адчыняцца і зачыняцца. 215 00:55:47,650 --> 00:55:49,642 Такім чынам, праверце, крок два з двух. 216 00:55:49,642 --> 00:55:52,100 І гэта тое, што будзе ключ у абедзвюх задачы ўсталяваць нуль 217 00:55:52,100 --> 00:55:55,970 і ў праграмаванні ў больш агульным плане, з'яўляецца прымаць гэтыя вельмі наўмысныя крокі дзіцяці. 218 00:55:55,970 --> 00:55:59,390 Таму што яно не толькі дазволіць вам адчуваць сябе сумленна дасягнута многае іншае 219 00:55:59,390 --> 00:56:01,250 quickly-- гэта горшае ў свеце 220 00:56:01,250 --> 00:56:06,149 каб паспрабаваць рэалізаваць усе Оскар часу, затым гадзінамі пазней ударыў зялёны сьцяг, 221 00:56:06,149 --> 00:56:08,440 і нічога не працуе, як чакалася таму што, калі Вы нават 222 00:56:08,440 --> 00:56:11,150 пачаць адладку або ліквідаваць гэтую праграму? 223 00:56:11,150 --> 00:56:12,470 Гэта проста пераважнай. 224 00:56:12,470 --> 00:56:16,792 >> І так сапраўды асвойваюць гэтую ідэю прымаць steps-- крокі дзіцяці зноў 225 00:56:16,792 --> 00:56:19,000 і again-- пабудова тое, што гэта, у рэшце рэшт, 226 00:56:19,000 --> 00:56:23,672 сапраўды ўражвае і складаны, але па-першае, не так моцна. 227 00:56:23,672 --> 00:56:24,630 На самай справе, давайце зробім гэта. 228 00:56:24,630 --> 00:56:28,989 Дазвольце мне ісці наперад и-- Драпіны сябе існуе ў Інтэрнэце па адрасе Scratch.MIT.edu, 229 00:56:28,989 --> 00:56:30,780 і вы будзеце, як сказаў шмат разоў ў задачы 230 00:56:30,780 --> 00:56:34,200 ўсталяваць нуль, спецыфікацыя для які ўжо знаходзіцца на вэб-сайце CS50 ст. 231 00:56:34,200 --> 00:56:35,725 >> Але гэта тое, што само па сабе з'яўляецца драпін. 232 00:56:35,725 --> 00:56:38,210 І ёсць на самой справе проста тры асноўныя вобласці. 233 00:56:38,210 --> 00:56:40,980 У верхнім левым куце ёсць гэта так званы этап. 234 00:56:40,980 --> 00:56:41,810 Гэта Драпіны. 235 00:56:41,810 --> 00:56:43,710 касцюм па змаўчанні з'яўляецца кошка. 236 00:56:43,710 --> 00:56:46,950 І гэта прастакутны свет якія вы можаце move-- уверх, уніз, налева, 237 00:56:46,950 --> 00:56:48,130 права і некаторыя іншыя рэчы. 238 00:56:48,130 --> 00:56:51,839 У сярэдзіне тут нашы катэгорыі або нашы паддоны галаваломкі, 239 00:56:51,839 --> 00:56:53,630 і розныя колеры азначаюць розныя рэчы. 240 00:56:53,630 --> 00:56:56,520 І калі вы пашукайце, вы ўбачыце рэчы, такія як цыклы і ўмовы 241 00:56:56,520 --> 00:56:58,160 і зменныя і іншыя інгрэдыенты. 242 00:56:58,160 --> 00:57:00,060 >> А потым тут з'яўляецца вобласць скрыптоў. 243 00:57:00,060 --> 00:57:03,020 Гэта дзе я магу перацягнуць гэтыя кавалачкі галаваломкі, каб рабіць рэчы. 244 00:57:03,020 --> 00:57:04,690 Дык давайце зробім адну такую ​​рэч. 245 00:57:04,690 --> 00:57:06,630 Дазвольце мне ісці наперад и-- і я ведаю, дзе гэта. 246 00:57:06,630 --> 00:57:10,110 Так што я збіраюся неадкладна націснуць на дзе я ведаю, што ўсе гатовыя быць, 247 00:57:10,110 --> 00:57:13,140 але паказваючы і націснуўшы і калупацца непазбежныя. 248 00:57:13,140 --> 00:57:15,320 Таму, калі зялёны сцяг пстрыкнуў, Што я хачу зрабіць? 249 00:57:15,320 --> 00:57:17,100 Я збіраюся зрабіць гэта. 250 00:57:17,100 --> 00:57:20,699 Я збіраюся перацягнуць гэты фіялетавы галаваломкі частка, скажам прывітанне на працягу двух секунд, 251 00:57:20,699 --> 00:57:21,490 і дазвольце мне павялічыць. 252 00:57:21,490 --> 00:57:23,865 >> І я збіраюся змяніць гэта каб быць тым, што я хачу, каб be-- 253 00:57:23,865 --> 00:57:26,471 прывітанне свет на працягу двух секунд нармальна. 254 00:57:26,471 --> 00:57:28,970 Зараз, я збіраюся націснуць зялёны сьцяг, або калі я сапраўды хачу, 255 00:57:28,970 --> 00:57:31,820 Я магу ў поўнаэкранным рэжыме, а затым вярнуцца. 256 00:57:31,820 --> 00:57:34,060 Ён будзе проста трымаць усё ў адным акне. 257 00:57:34,060 --> 00:57:36,141 Зялёны flag-- прывітанне свет. 258 00:57:36,141 --> 00:57:36,640 Добра. 259 00:57:36,640 --> 00:57:38,789 Не ўсё, што цікава. 260 00:57:38,789 --> 00:57:40,080 Такім чынам, дазвольце мне ісці наперад і рабіць гэта. 261 00:57:40,080 --> 00:57:41,038 Дазвольце мне паспрабаваць яшчэ. 262 00:57:41,038 --> 00:57:44,740 Калі зялёны сцяг clicked-- давайце зрабіць нешта накшталт гуку. 263 00:57:44,740 --> 00:57:46,880 І да вашага ведама, што з скрынка бясплатна вы атрымліваеце 264 00:57:46,880 --> 00:57:49,910 гук ката, як спрайт па змаўчанні. 265 00:57:49,910 --> 00:57:52,380 Так што цяпер дазвольце мне ісці наперад і ударыў зялёны сцяг прама цяпер. 266 00:57:52,380 --> 00:57:53,224 >> [Мяўканне] 267 00:57:53,224 --> 00:57:54,490 >> Ав. 268 00:57:54,490 --> 00:57:55,370 Гэта цудоўна. 269 00:57:55,370 --> 00:57:57,040 Я праграмавання. 270 00:57:57,040 --> 00:57:58,550 Так што я зрабіў? 271 00:57:58,550 --> 00:58:00,430 Гэта эквівалент праграмы. 272 00:58:00,430 --> 00:58:01,600 Гэта, відавочна, супер проста. 273 00:58:01,600 --> 00:58:05,300 Гэта на самай справе не прымаць усё, што шмат намаганні і MIT зрабіў вялікую частку працы, 274 00:58:05,300 --> 00:58:07,890 але я называецца функцыяй. 275 00:58:07,890 --> 00:58:08,940 Я выкарыстаў функцыю. 276 00:58:08,940 --> 00:58:12,480 Я зрабіў якое-небудзь дзеянне, выкарыстоўваючы толькі што адзін фіялетавы кавалак галаваломкі. 277 00:58:12,480 --> 00:58:15,960 >> Ну, калі я хачу зрабіць тры мяўкае запар? 278 00:58:15,960 --> 00:58:18,570 Дазвольце мне ісці наперад і рабіць два і тры. 279 00:58:18,570 --> 00:58:20,910 І заўважце, што калі вы парыць побач кавалак галаваломкі, 280 00:58:20,910 --> 00:58:22,970 з'яўляецца маленькая белая лінія свайго роду магнітным спосабам, 281 00:58:22,970 --> 00:58:25,190 і яна лопне разам, калі вы адпускаеце. 282 00:58:25,190 --> 00:58:26,600 Давайце паглядзім, што тут адбываецца. 283 00:58:26,600 --> 00:58:27,920 >> [Мяўканне] 284 00:58:27,920 --> 00:58:32,390 285 00:58:32,390 --> 00:58:34,510 >> Там ёсць памылка. 286 00:58:34,510 --> 00:58:35,650 Я чую толькі адно мяўканне. 287 00:58:35,650 --> 00:58:37,440 Чаму гэта можа быць? 288 00:58:37,440 --> 00:58:39,001 Так? 289 00:58:39,001 --> 00:58:39,500 Так. 290 00:58:39,500 --> 00:58:41,650 Мы на самай справе не чуць, але гэта добрая інтуіцыя. 291 00:58:41,650 --> 00:58:43,400 Яны ўсё гуляюць у той жа час. 292 00:58:43,400 --> 00:58:44,000 Чаму? 293 00:58:44,000 --> 00:58:46,587 Ну, кампутар проста будзе рабіць тое, што вы скажаце ёй зрабіць. 294 00:58:46,587 --> 00:58:48,670 Так што, калі вы кажаце, прайграванне гуку, прайграванне гуку, прайграванне гуку, 295 00:58:48,670 --> 00:58:52,887 але вы не кажаце гэта гуляць да вы скончыце, гуляць, пакуль вы не скончыце, 296 00:58:52,887 --> 00:58:54,970 гэта будзе дзьмуць праз праграма вельмі хутка 297 00:58:54,970 --> 00:58:56,830 і ня толькі тое, што вы скажаце ёй зрабіць. 298 00:58:56,830 --> 00:58:59,040 >> Так што я на самой справе трэба выправіць гэта некалькімі спосабамі. 299 00:58:59,040 --> 00:59:00,623 Я мог бы проста зрабіць гэта, каб пазбавіцца ад гэтага. 300 00:59:00,623 --> 00:59:04,180 Дазвольце мне паспрабаваць гэтую іншую галаваломку piece-- гуляць гук мяу пакуль не зроблена, 301 00:59:04,180 --> 00:59:07,072 а затым перацягнуць тры гэтыя і націсніце кнопку прайгравання. 302 00:59:07,072 --> 00:59:09,430 >> [Мяўканне] 303 00:59:09,430 --> 00:59:13,350 >> Гэта на самай справе не very-- дзякуй you-- вельмі натуральна. 304 00:59:13,350 --> 00:59:16,590 Дык чаму ж ня i-- хай мне ісці, каб кантраляваць тут. 305 00:59:16,590 --> 00:59:17,090 Ніца. 306 00:59:17,090 --> 00:59:22,230 Пачакайце адну секунду, а цяпер дазвольце мне вярнуцца гукі і прайграваць гук, пакуль не зроблена, 307 00:59:22,230 --> 00:59:24,620 а затым дазвольце мне пачакаць адну секунду. 308 00:59:24,620 --> 00:59:28,692 А потым дазвольце мне пайсці і атрымаць адзін больш гуку, і тут мы ідзем. 309 00:59:28,692 --> 00:59:31,350 >> [Мяўканне] 310 00:59:31,350 --> 00:59:35,930 >> Крыху больш за натуральным, але гэта не вельмі эфектыўна. 311 00:59:35,930 --> 00:59:39,830 Як мне сумна, усё будзе Карацей кажучы, націснуўшы назад і наперад 312 00:59:39,830 --> 00:59:42,724 і сапраўды дублюючы маё work-- даволі шмат капіявання і ўстаўкі. 313 00:59:42,724 --> 00:59:44,640 Сапраўды, калі я кірую або націснуў правай клавішай націснуў, 314 00:59:44,640 --> 00:59:46,500 Я мог бы проста скапіяваць і ўставіць. 315 00:59:46,500 --> 00:59:49,870 Што было б лепш пабудаваць выкарыстоўваць? 316 00:59:49,870 --> 00:59:51,090 Якая ідэя ад раней? 317 00:59:51,090 --> 00:59:51,990 >> Так, так што пятля. 318 00:59:51,990 --> 00:59:54,580 І на самай справе, калі мы памацаў, мы маглі б знайсці менавіта тое, што. 319 00:59:54,580 --> 00:59:57,730 Дазвольце мне ісці на падзеі ці, дакладней, кантролю. 320 00:59:57,730 --> 00:59:59,650 Так repeat-- я не хочуць, каб гэта было ў 10 разоў. 321 00:59:59,650 --> 01:00:01,370 Гэта збіраецца раздражняць хутка. 322 01:00:01,370 --> 01:00:03,380 Але я буду паўтараць тры разы. 323 01:00:03,380 --> 01:00:06,355 Дазвольце мне вярнуцца да гуку і гуляць гук, пакуль гэта не зроблена. 324 01:00:06,355 --> 01:00:08,480 Дазвольце мне вярнуцца да кантролю і проста чакаць адну секунду. 325 01:00:08,480 --> 01:00:10,271 І заўважце, вы можаце думаю, што гэта не падыходзіць, 326 01:00:10,271 --> 01:00:13,520 але зноў жа, калі магнітным вы дазволіце аснасткі на месцы, яна будзе расці, каб запоўніць. 327 01:00:13,520 --> 01:00:14,971 Што ён гуляе зараз? 328 01:00:14,971 --> 01:00:18,500 >> [Мяўканне] 329 01:00:18,500 --> 01:00:19,000 ДОБРА. 330 01:00:19,000 --> 01:00:19,660 Ніца. 331 01:00:19,660 --> 01:00:22,540 І гэта тое, што можна было б назваць праграма, якая таксама правільна. 332 01:00:22,540 --> 01:00:27,590 Ён мяўкаў тры разы даволі натуральна, але гэта лепш распрацаваны. 333 01:00:27,590 --> 01:00:29,580 Я выкарыстоўваю менш надмернасці. 334 01:00:29,580 --> 01:00:30,970 Я не скапіяваць і ўставіць што-небудзь. 335 01:00:30,970 --> 01:00:32,470 Я проста выкарыстаў лепшае ўяўленне. 336 01:00:32,470 --> 01:00:35,340 >> Цяпер, гэта яшчэ не ўсё, што Цікава, з нуля не рабіць 337 01:00:35,340 --> 01:00:35,930 што-небудзь. 338 01:00:35,930 --> 01:00:37,388 Так што давайце рабіць нешта яшчэ замест гэтага. 339 01:00:37,388 --> 01:00:38,670 Давайце рабіць нешта назаўжды. 340 01:00:38,670 --> 01:00:39,420 І вы ведаеце, што? 341 01:00:39,420 --> 01:00:40,470 Рух здаецца цікавым. 342 01:00:40,470 --> 01:00:45,760 Давайце яму рухацца 10 крокі і ўдарыў гуляць прама цяпер. 343 01:00:45,760 --> 01:00:46,570 >> ДОБРА. 344 01:00:46,570 --> 01:00:49,300 Ну мы можам выгляд супраціву яго назад, і ён па-ранейшаму 345 01:00:49,300 --> 01:00:51,250 працуе, таму што ён робіць гэта назаўжды. 346 01:00:51,250 --> 01:00:53,150 Такім чынам, цыкл робіць што ён кажа рабіць, 347 01:00:53,150 --> 01:00:54,650 але гэта не ўсё, што цікава. 348 01:00:54,650 --> 01:00:55,310 Давайце зробім гэта. 349 01:00:55,310 --> 01:00:59,870 Дазвольце мне дадаць блок кіравання, і выкарыстоўваць адну з гэтых умоў у першы раз. 350 01:00:59,870 --> 01:01:03,119 >> Так што гэта будзе рухацца 10 steps-- 10 кропак, 10 пікселяў на screen-- 351 01:01:03,119 --> 01:01:04,660 то гэта будзе задаць гэтае пытанне. 352 01:01:04,660 --> 01:01:09,340 Калі нешта праўда, то рабіць нешта ўнутры гэтага блока. 353 01:01:09,340 --> 01:01:13,060 Так што атрымліваецца зандаванне мае цэлы звязак булевай expressions-- 354 01:01:13,060 --> 01:01:16,580 пытанні да нет або праўда ілжывая form-- зробім гэта. 355 01:01:16,580 --> 01:01:19,260 >> Калі touching-- і затым ёсць гэта маленькае выпадальнае меню. 356 01:01:19,260 --> 01:01:20,410 Я магу параметризовать яго. 357 01:01:20,410 --> 01:01:23,010 Калі датыкаючыся да edge-- давайце зрабіць нешта накшталт гэтага. 358 01:01:23,010 --> 01:01:27,310 Так што, калі вы датыкаецеся edge-- дазвольце мне вярнуцца да руху. 359 01:01:27,310 --> 01:01:32,281 А чаму б нам не проста разгарнуцца на 180 градусаў? 360 01:01:32,281 --> 01:01:32,780 Добра. 361 01:01:32,780 --> 01:01:35,070 Так назаўжды, рухацца 10 крокаў. 362 01:01:35,070 --> 01:01:37,670 Калі вы кранальныя край, паварот на 180 градусаў. 363 01:01:37,670 --> 01:01:39,720 І гэта яшчэ не канец праграмы таму што вы ў назаўжды блакаваць, 364 01:01:39,720 --> 01:01:42,053 так што збіраецца ісці зноў і зноў і зноў і зноў. 365 01:01:42,053 --> 01:01:43,980 Такім чынам, давайце паглядзім, што адбудзецца. 366 01:01:43,980 --> 01:01:44,785 ДОБРА. 367 01:01:44,785 --> 01:01:48,270 Трохі глючны, але выгляд прахалоднага. 368 01:01:48,270 --> 01:01:51,710 >> І мы можам дадаць да гэтага нейкія дурныя рэчы што не ўсё, што інтэлектуальна 369 01:01:51,710 --> 01:01:52,270 цікава. 370 01:01:52,270 --> 01:01:57,210 Але калі мы гэты маленькі хіт Мікрафон button-- Уч. 371 01:01:57,210 --> 01:01:58,480 Дазвольце мне ачысціць гэта. 372 01:01:58,480 --> 01:02:01,540 Дазвольце мне палепшыць гэта як яны б сказалі па тэлевізары. 373 01:02:01,540 --> 01:02:05,400 Ачысціце, што ўверх, Захаваць і Цяпер ісці да скрыптоў. 374 01:02:05,400 --> 01:02:07,500 >> А цяпер дазвольце мне перайсці да гуку. 375 01:02:07,500 --> 01:02:09,002 Дазвольце мне даць яму імя. 376 01:02:09,002 --> 01:02:12,440 Я буду называць гэта Ouch. 377 01:02:12,440 --> 01:02:13,840 І зараз гуляць гук Ouch. 378 01:02:13,840 --> 01:02:16,520 Звярніце ўвагу на тое, што з'яўляецца ў трохі выпадальнае меню. 379 01:02:16,520 --> 01:02:17,612 Пабачым. 380 01:02:17,612 --> 01:02:20,444 >> [ОЙ] 381 01:02:20,444 --> 01:02:24,377 >> [Смяецца] 382 01:02:24,377 --> 01:02:25,835 Але мы можам змяніць т Яго на лета. 383 01:02:25,835 --> 01:02:28,106 Мы можам быць у два разы раздражняе. 384 01:02:28,106 --> 01:02:31,760 >> [ОЙ] 385 01:02:31,760 --> 01:02:35,332 >> Ці, калі мы робім гэта, як 1000 крокаў за time-- 386 01:02:35,332 --> 01:02:39,900 387 01:02:39,900 --> 01:02:40,670 >> ДОБРА. 388 01:02:40,670 --> 01:02:42,295 Такім чынам, мы збіраемся пакінуць гэта адзін у адзіночку. 389 01:02:42,295 --> 01:02:45,290 Так зноў жа, будаўніцтва blocks-- I пачаў з чымсьці супер просты, 390 01:02:45,290 --> 01:02:47,930 а затым я дадаў функцыю, дададзеная магчымасць, дададзеная магчымасць. 391 01:02:47,930 --> 01:02:50,721 І я больш не трэба турбавацца аб як першы з гэтых функцый 392 01:02:50,721 --> 01:02:53,690 быў рэалізаваны як я па-ранейшаму напластоўваць рэчы на ​​вяршыні. 393 01:02:53,690 --> 01:02:55,430 Так што на самой справе, дазвольце мне зрабіць адно іншае тут. 394 01:02:55,430 --> 01:03:00,580 Дазвольце мне ісці наперад і адкрыць файл, Я прынёс загадзя, называецца Авечак. 395 01:03:00,580 --> 01:03:03,970 >> Так што ён мае крыху іншы сімвал, які выглядае наступным чынам. 396 01:03:03,970 --> 01:03:07,370 І дазвольце мне ўбачыць, калі я не магу зрабіць што-то з дапамогай лічыльніка 397 01:03:07,370 --> 01:03:09,310 у гэтым case-- так званую зменную. 398 01:03:09,310 --> 01:03:15,540 Я збіраюся ісці наперад і пад Events-- дазвольце мне атрымаць зялёны сцяг пстрыкнуў. 399 01:03:15,540 --> 01:03:19,030 Тады дазвольце мне перайсці да дадзеных, якія я ведаю, ад проста гуляў раней, 400 01:03:19,030 --> 01:03:20,214 дзе зменныя. 401 01:03:20,214 --> 01:03:21,880 І я збіраюся ісці наперад і перацягнуць гэта. 402 01:03:21,880 --> 01:03:25,144 >> Так што пераменная называецца лічыльнік, і Я збіраюся ініцыялізаваць яго да нуля. 403 01:03:25,144 --> 01:03:27,560 Я магу назваць яго anything-- х ці к або z--, але ў праграмаванні, 404 01:03:27,560 --> 01:03:30,410 называючы нешта ў семантычна карысны спосаб, як лічыльнік, 405 01:03:30,410 --> 01:03:34,540 які апісвае, што гэта такое, гэта нашмат лягчэй чытаць ваш код пазней. 406 01:03:34,540 --> 01:03:37,460 Дазвольце мне ісці наперад і атрымаць назаўжды заблакаваць тут. 407 01:03:37,460 --> 01:03:41,289 І дазвольце мне перайсці да знешнасці старонкі і зрабіць блок Say. 408 01:03:41,289 --> 01:03:44,330 Але што гэта крута аб зменных я ня трэба проста ўвесці нешта 409 01:03:44,330 --> 01:03:47,850 як прывітанне свет, які мы ўжо зроблена, я магу замест таго, каб перайсці да дадзеных 410 01:03:47,850 --> 01:03:50,690 і перацягнуць маю зменную, і нават хоць форма не зусім 411 01:03:50,690 --> 01:03:53,000 выглядаць ён павінен адпавядаць, яна будзе расці, каб запоўніць. 412 01:03:53,000 --> 01:03:58,396 І я проста скажу, лічыльнік для аднаго second-- spoiler-- ён збіраецца разлічваць. 413 01:03:58,396 --> 01:04:00,380 Мы будзем казаць пра гэта на працягу адной секунды. 414 01:04:00,380 --> 01:04:02,840 Тады я пайду і ёсць яго чакаць на працягу адной секунды, 415 01:04:02,840 --> 01:04:04,650 так што гэта не лічыцца занадта хутка. 416 01:04:04,650 --> 01:04:08,430 І затым, нарэшце, змяніць лічыльнік па одно-- іншымі словамі, 417 01:04:08,430 --> 01:04:13,520 прырашчэнне лічыльніка на адзінку дадатковае значэнне і зрабіць гэта назаўжды. 418 01:04:13,520 --> 01:04:16,129 >> Так што авечкі таксама, падобна праграміст, лічыць ад 0. 419 01:04:16,129 --> 01:04:20,350 420 01:04:20,350 --> 01:04:23,740 І калі мы будзем чакаць дастаткова доўга, ён зробіць гэта назаўжды. 421 01:04:23,740 --> 01:04:27,740 Але гэта не зусім дакладна, таму што на самай справе, як мы выявім у тыдзень адзін, 422 01:04:27,740 --> 01:04:31,871 цэлыя лікі і кампутары ў больш агульным плане, тэхнічна ёсць толькі finite-- добра, 423 01:04:31,871 --> 01:04:33,829 а кампутары, калі яны ўяўляюць сабой цэлыя лікі, 424 01:04:33,829 --> 01:04:35,670 толькі канчатковае лік бітаў. 425 01:04:35,670 --> 01:04:37,860 Гэтыя лямпачкі там можа разлічваць толькі настолькі высокая 426 01:04:37,860 --> 01:04:39,239 перш чым вы з лямпачак. 427 01:04:39,239 --> 01:04:41,590 І кампутар таксама, толькі мае так шмат памяці, 428 01:04:41,590 --> 01:04:44,640 толькі мае так шмат транзістараў, так што ён можа разлічваць толькі гэтак высокая. 429 01:04:44,640 --> 01:04:47,409 >> Так атрымліваецца, што авечкі, Я думаю, што, можа разлічваць на 2 млрд 430 01:04:47,409 --> 01:04:48,409 ці нешта даволі вялікі. 431 01:04:48,409 --> 01:04:50,325 Такім чынам, мы не будзем чакаць, пакуль гэта адбудзецца. 432 01:04:50,325 --> 01:04:54,850 Але ў рэшце рэшт нейкая памылка будзе адбывацца якія могуць мець некаторыя вельмі рэальны свет 433 01:04:54,850 --> 01:04:55,970 адгалінаваннях. 434 01:04:55,970 --> 01:04:58,861 Але за авечак, што проста ўводзіць зменную. 435 01:04:58,861 --> 01:05:01,110 Давайце ісці наперад і адкрыць тое, што я зрабіў загадзя 436 01:05:01,110 --> 01:05:07,430 тут называецца любімца Cat-- Pet Ката тут. 437 01:05:07,430 --> 01:05:10,420 І заўважце, тут гэта мала блокі, але калі зялёны сцяг 438 01:05:10,420 --> 01:05:12,474 пстрыкнуў, назаўжды, выканаўшы наступныя дзеянні. 439 01:05:12,474 --> 01:05:15,265 Калі вы датыкаючыся да мышы pointer--, каб курсор на экране, 440 01:05:15,265 --> 01:05:18,529 arrow-- гульня гук мяу а затым пачакайце дзве секунды. 441 01:05:18,529 --> 01:05:19,570 І як раз зрабіць гэта назаўжды. 442 01:05:19,570 --> 01:05:22,619 Проста пастаянна чакаць каб убачыць, калі pointer-- 443 01:05:22,619 --> 01:05:24,710 калі котка кранае паказальнік. 444 01:05:24,710 --> 01:05:26,060 >> Так што я ўдарыў гуляць. 445 01:05:26,060 --> 01:05:26,920 Нічога не адбываецца. 446 01:05:26,920 --> 01:05:28,980 Але, як я перамясціць курсор над коткай, 447 01:05:28,980 --> 01:05:31,960 >> [Мяўканне] 448 01:05:31,960 --> 01:05:34,750 >> І калі я перамясціць яго ў бок, не гладзіць котку больш. 449 01:05:34,750 --> 01:05:38,090 Такім чынам, некаторыя умоўная логіка укладзенымі ўнутры цыклу. 450 01:05:38,090 --> 01:05:43,070 Як пра гэта прыкладзе, наўмысна называецца Ня пагладзіць котку? 451 01:05:43,070 --> 01:05:45,253 Што гэта будзе рабіць? 452 01:05:45,253 --> 01:05:47,880 >> [Мяўканне] 453 01:05:47,880 --> 01:05:50,215 >> Чаму вы не гладзіце котку? 454 01:05:50,215 --> 01:05:59,440 >> [Мяўканне] 455 01:05:59,440 --> 01:06:00,699 >> ДОБРА. 456 01:06:00,699 --> 01:06:03,880 Так што гэта прыклад, калі ў іншым месцы. 457 01:06:03,880 --> 01:06:06,482 Гэта кропка прыняцця рашэння і таму што ён сядзіць у пятлі, 458 01:06:06,482 --> 01:06:07,690 яны абодва атрымліваць чэк. 459 01:06:07,690 --> 01:06:08,280 Як яно ёсць сапраўды 460 01:06:08,280 --> 01:06:08,760 Як яно ёсць сапраўды 461 01:06:08,760 --> 01:06:09,250 Як яно ёсць сапраўды 462 01:06:09,250 --> 01:06:09,791 Як яно ёсць сапраўды 463 01:06:09,791 --> 01:06:11,880 І ў рэшце рэшт, адзін з тыя, збіраецца падаць заяўку 464 01:06:11,880 --> 01:06:16,480 і таму вы чуеце альбо мяу або рык ільва ў гэтым выпадку. 465 01:06:16,480 --> 01:06:21,400 >> Што ж, давайце рабіць трохі больш фантазіі аднаго што я зрабіў загадзя too-- нітак. 466 01:06:21,400 --> 01:06:25,210 Такім чынам, паток з'яўляецца толькі адным рэч, што кампутар можа зрабіць. 467 01:06:25,210 --> 01:06:29,349 Так шматструменнай праграма ўяўляе сабой праграму што можа зрабіць некалькі рэчаў адначасова. 468 01:06:29,349 --> 01:06:31,140 І ўсе гэтыя прыклады да гэтага часу мелі 469 01:06:31,140 --> 01:06:35,980 толькі адзін сцэнар, так speak-- адна праграма, як гэта тут. 470 01:06:35,980 --> 01:06:38,810 Але зьвярніце ўвагу, гэтая праграма мае два спрайт, два знака. 471 01:06:38,810 --> 01:06:40,020 Адным з іх з'яўляецца птушка. 472 01:06:40,020 --> 01:06:40,870 Адным з іх з'яўляецца кошка. 473 01:06:40,870 --> 01:06:45,080 >> І да вашага ведама, калі я націскаю на іх ўніз злева, кожны з іх мае свае ўласныя сцэнары 474 01:06:45,080 --> 01:06:47,120 або праграмнае забеспячэнне, звязаныя з імі. 475 01:06:47,120 --> 01:06:49,420 І абодва гэтыя праграмы, апавяшчэнне, пачатак 476 01:06:49,420 --> 01:06:52,600 з тым, калі зялёны сцяг clicked-- давайце паглядзім на cat-- 477 01:06:52,600 --> 01:06:54,030 калі зялёны сцяг пстрыкнуў. 478 01:06:54,030 --> 01:06:58,220 І так на самой справе, калі я ударыў гуляць зараз, дзве рэчы, якія будуць адбывацца адначасова. 479 01:06:58,220 --> 01:07:01,750 Котка і птушка абодва будзе працаваць адначасова 480 01:07:01,750 --> 01:07:03,815 для стварэння гэтага эфекту. 481 01:07:03,815 --> 01:07:05,440 І вы можаце сабе ўявіць, што адбываецца. 482 01:07:05,440 --> 01:07:08,340 Там ёсць пятля і птушка і кошкі знаходзяцца ў пятлі. 483 01:07:08,340 --> 01:07:11,270 Птушка проста падскокваючы, як Я быў раней, калі я сказаў Уч. 484 01:07:11,270 --> 01:07:13,040 Але кот відавочна мае перавагу. 485 01:07:13,040 --> 01:07:16,040 Там іншая адчувальны блок што паказвае котку наўмысна 486 01:07:16,040 --> 01:07:19,836 каб птушкі ў гэтым выпадку тут. 487 01:07:19,836 --> 01:07:22,960 Такім чынам, мы маглі б дражніць адзін ад аднаго, гледзячы праз гэтыя блокі, што адбываецца. 488 01:07:22,960 --> 01:07:25,460 Але ключавой інгрэдыент тут адзін. 489 01:07:25,460 --> 01:07:28,520 Птушка, так што гэтая гульня не цалкам boring-- ці гэта animation-- 490 01:07:28,520 --> 01:07:30,060 пачынаецца ў адвольным напрамку. 491 01:07:30,060 --> 01:07:32,890 І кампутар набірае лік ад 90 да 180 492 01:07:32,890 --> 01:07:36,110 па сутнасці, такім чынам, што гэта злёгку розныя анімацыі кожны раз. 493 01:07:36,110 --> 01:07:39,480 >> І звярніце ўвагу на тое тут, калі кот кранае птушку, то 494 01:07:39,480 --> 01:07:42,030 гуляць льва чатыры sound-- роў. 495 01:07:42,030 --> 01:07:46,330 Але пакуль у птушыную палітра, у нас ёсць гэта. 496 01:07:46,330 --> 01:07:49,229 Назаўжды, калі не дакранаючыся ката, проста працягваць рухацца тры крокі. 497 01:07:49,229 --> 01:07:50,770 А потым вось яшчэ кавалак галаваломкі. 498 01:07:50,770 --> 01:07:52,030 Калі вы знаходзіцеся на краі, падскокваць. 499 01:07:52,030 --> 01:07:54,840 Такім чынам, птушка проста выгляд звяртаючы ўвагі свой уласны бізнес, 500 01:07:54,840 --> 01:07:57,330 проста лётаць вакол і падскокваючы, і гэта сапраўды 501 01:07:57,330 --> 01:08:01,780 котка, якая была ўмоўнай логікі каб вызначыць, ці з'яўляецца ён злавіў птушку. 502 01:08:01,780 --> 01:08:02,280 Добра. 503 01:08:02,280 --> 01:08:08,800 Дык давайце зробім адзін іншы тут, гэта адна з якіх называецца Прывітанне Прывітанне Прывітанне. 504 01:08:08,800 --> 01:08:15,100 І гэты тут проста робіць гэта ў назаўжды пятлі. 505 01:08:15,100 --> 01:08:18,925 Але notice--, як мы спыняем гэта вельмі раздражняе праграма? 506 01:08:18,925 --> 01:08:21,600 507 01:08:21,600 --> 01:08:22,640 Націсніце прабел. 508 01:08:22,640 --> 01:08:27,990 Таму што, калі я магу гэта зрабіць, левая рука program-- 509 01:08:27,990 --> 01:08:31,550 звярніце ўвагу, што гэта ўвесь час listening-- з'яўляецца ключавым прастору прэса. 510 01:08:31,550 --> 01:08:34,090 Калі прабел націснутая, і калі так, то што ён робіць? 511 01:08:34,090 --> 01:08:35,980 Гэта робіць вельмі распаўсюджаную тэхніку. 512 01:08:35,980 --> 01:08:38,590 Яна ўсталёўвае зменную роўнай некаторага значэння. 513 01:08:38,590 --> 01:08:39,741 Але яна перамыкае гэта значэнне. 514 01:08:39,741 --> 01:08:41,490 [? Так што знешні выгляд?] заснаваны на shape-- I 515 01:08:41,490 --> 01:08:43,160 ёсць пераменная, што я пісаў загадзя пад назвай 516 01:08:43,160 --> 01:08:44,770 Прыглушаны, які проста кажа: так ці не. 517 01:08:44,770 --> 01:08:45,880 Прыглушаны гук ці не? 518 01:08:45,880 --> 01:08:46,990 Праўда ці хлусня? 519 01:08:46,990 --> 01:08:51,580 І заўважце, я кажу, калі this-- прыглушаныя роўны нулю, то мяняецца на адзін, 520 01:08:51,580 --> 01:08:53,840 інакш ўсталяваць нямога яго да нуля. 521 01:08:53,840 --> 01:08:55,540 Такім чынам, проста перавярніце значэнне ад нуля да адзінкі. 522 01:08:55,540 --> 01:08:58,320 Я мог бы змяніць яго done-- ад двух да трох і ад трох да двух 523 01:08:58,320 --> 01:09:00,162 ці ад чатырох да пяці або чатырох да шасці. 524 01:09:00,162 --> 01:09:01,870 Але гэта не мае значэння якія лічбы, якія я выкарыстоўваю, 525 01:09:01,870 --> 01:09:04,090 да таго часу, пакуль я змяняючы яго супрацьлегласць. 526 01:09:04,090 --> 01:09:07,290 >> І большасць любы праграміст мог бы проста выбраць нуль і одно-- хлусня і праўда, 527 01:09:07,290 --> 01:09:09,510 выкл і on--, каб прадставіць гэта. 528 01:09:09,510 --> 01:09:10,930 І гэта ўсё яшчэ працуе. 529 01:09:10,930 --> 01:09:12,190 Калі я зноў націснуць прабел 530 01:09:12,190 --> 01:09:13,590 >> [SEAL ГУК] 531 01:09:13,590 --> 01:09:15,440 >> Праграма ўсё яшчэ працуе. 532 01:09:15,440 --> 01:09:18,400 Таму што гэты іншы сцэнар што кажа, назаўсёды зрабіць наступнае. 533 01:09:18,400 --> 01:09:21,390 534 01:09:21,390 --> 01:09:24,770 Калі прыглушаны пераменная роўная zero-- так што калі вы не прыглушаны 535 01:09:24,770 --> 01:09:29,609 з'яўляецца logic--, калі яно ілжыва ці не, а затым прайграваць гук, 536 01:09:29,609 --> 01:09:30,650 таму што вы не прыглушаны. 537 01:09:30,650 --> 01:09:33,358 Вы павінны гуляць гук, а затым думаю прывітанне прывітанне прывітанне на працягу двух секунд 538 01:09:33,358 --> 01:09:35,790 а затым чакаць, і зрабіць гэта зноў і зноў і зноў. 539 01:09:35,790 --> 01:09:40,760 >> І вось такім чынам мы маем шлях для людзі, мэтай якіх для праграм, каб ўзаемадзейнічаць. 540 01:09:40,760 --> 01:09:43,120 І яны не павінны быць, як датаваць іншыя. 541 01:09:43,120 --> 01:09:46,280 На самай справе, тыкаючы around-- ня каламбур intended-- 542 01:09:46,280 --> 01:09:49,250 хтосьці выдаткаваў велізарная колькасць час у Інтэрнэце, якая рэалізуе 543 01:09:49,250 --> 01:09:51,580 PokemonGo ў пустым месцы. 544 01:09:51,580 --> 01:09:55,440 Ён нават geolocates вас у Кембрыдж або Олстон тут. 545 01:09:55,440 --> 01:10:03,120 Так што калі вы хочаце, каб убачыць, што людзі занадта можа зрабіць, гэта вельмі this-- фантазіі меню. 546 01:10:03,120 --> 01:10:04,780 Націсніце тут. 547 01:10:04,780 --> 01:10:07,430 >> Гэта я з маімі клавішамі са стрэлкамі ў цяперашні час. 548 01:10:07,430 --> 01:10:09,446 Я збіраюся пайсці пасля гэтага. 549 01:10:09,446 --> 01:10:09,946 Націсніце. 550 01:10:09,946 --> 01:10:12,949 551 01:10:12,949 --> 01:10:14,240 І цяпер вы пстрыкніце PokeBall. 552 01:10:14,240 --> 01:10:17,130 553 01:10:17,130 --> 01:10:20,260 Я маю на ўвазе, я думаю, што ты павінен націснуць PokeBall. 554 01:10:20,260 --> 01:10:20,760 Добра. 555 01:10:20,760 --> 01:10:22,680 Так што я зрабіў гэта. 556 01:10:22,680 --> 01:10:23,950 Я магу пайсці тут. 557 01:10:23,950 --> 01:10:27,790 І гэты чалавек рэалізаваны яшчэ трохі PokeBalls над here-- трох PokeBalls. 558 01:10:27,790 --> 01:10:29,950 >> Мы апублікуем спасылку на гэтую старонку онлайн, так што вы можаце гуляць. 559 01:10:29,950 --> 01:10:32,364 Але зьвярніце ўвагу: ёсць толькі некаторыя асноўныя будаўнічыя блокі. 560 01:10:32,364 --> 01:10:33,780 Гэта выглядае нашмат спрактыкаваней, і гэта. 561 01:10:33,780 --> 01:10:35,905 Гэта ўражвае і многае іншае чым мы, як правіла, 562 01:10:35,905 --> 01:10:37,740 чакаць, вядома, для задачы ўсталяваць нуль. 563 01:10:37,740 --> 01:10:40,809 Я паняцця не маю, як доўга гэты чалавек правёў у Інтэрнэце. 564 01:10:40,809 --> 01:10:41,850 Але гэта ўсяго толькі пятля. 565 01:10:41,850 --> 01:10:43,180 Там ёсць гук гульні. 566 01:10:43,180 --> 01:10:44,850 Там нейкая пятля праслухоўвае Ці я я 567 01:10:44,850 --> 01:10:47,558 патрапіўшы стрэлку уверх ці ўніз на стрэлка або левы і правы, 568 01:10:47,558 --> 01:10:49,834 а затым, калі гэта так, ён рухаецца гэта некаторы колькасць пікселяў. 569 01:10:49,834 --> 01:10:51,750 І потым, калі я націскаю на іншы спрайт, ёсць 570 01:10:51,750 --> 01:10:53,390 свайго роду, калі стан там. 571 01:10:53,390 --> 01:10:54,806 Так, гэта становіцца занадта інтэнсіўным. 572 01:10:54,806 --> 01:10:56,100 Мы збіраемся спыніцца. 573 01:10:56,100 --> 01:10:57,750 Гэта ўсё тыя асноўныя будаўнічыя блокі. 574 01:10:57,750 --> 01:11:01,530 Там няма іншых іншых інгрэдыентаў чым тыя, якія мы разгледзелі ўжо. 575 01:11:01,530 --> 01:11:04,670 >> І ўсё ж тут, зробім адзін апошні набор прыкладаў 576 01:11:04,670 --> 01:11:06,960 што малюе карціну занадта аб тым, што вы можаце зрабіць тут. 577 01:11:06,960 --> 01:11:10,481 Вось вельмі простая праграма, якая проста робіць this-- кашаль, кашаль, кашаль. 578 01:11:10,481 --> 01:11:12,480 І грунтуючыся толькі на тое, што мы разгледзелі да гэтага часу, 579 01:11:12,480 --> 01:11:14,570 дзе гэта відавочна магчымасць для паляпшэння. 580 01:11:14,570 --> 01:11:15,570 Гэтая праграма з'яўляецца правільным. 581 01:11:15,570 --> 01:11:17,980 Ён кашляе тры разы, які з'яўляецца тое, што я меў намер. 582 01:11:17,980 --> 01:11:19,650 Але гэта дрэнна рэалізуецца. 583 01:11:19,650 --> 01:11:20,600 Гэта дрэнна спланаваныя. 584 01:11:20,600 --> 01:11:22,000 Чаму? 585 01:11:22,000 --> 01:11:22,500 Так. 586 01:11:22,500 --> 01:11:23,230 Гэта не пятля. 587 01:11:23,230 --> 01:11:24,610 І гэта не так шмат што гэта не пятля, 588 01:11:24,610 --> 01:11:26,400 гэта тое, што ёсць шмат надмернасці. 589 01:11:26,400 --> 01:11:28,830 Там капіюецца і ўставіць код, калі можна так выказацца. 590 01:11:28,830 --> 01:11:31,830 І рашэнне, верагодна, сапраўды пятля. 591 01:11:31,830 --> 01:11:34,350 Такім чынам, дазвольце мне ісці наперад і палепшыць гэта. 592 01:11:34,350 --> 01:11:36,250 І я збіраюся цягнуць іх сюды. 593 01:11:36,250 --> 01:11:39,986 Дазвольце мне ісці наперад і атрымаць паўтарэнне блок, змяніць гэта на тры. 594 01:11:39,986 --> 01:11:41,860 Я збіраюся выкінуць некаторыя з гэтых блокаў. 595 01:11:41,860 --> 01:11:43,150 >> І вы ўбачыце, што гэта даволі інтуітыўна. 596 01:11:43,150 --> 01:11:45,691 Перацягнуць і рэчы з'яўляюцца і знікаюць у рэшце рэшт. 597 01:11:45,691 --> 01:11:49,170 І я магу проста перацягнуць гэта тут, і У мяне зараз ёсць больш чыстую версію да гэтага часу. 598 01:11:49,170 --> 01:11:50,730 Але вы ведаеце, што? 599 01:11:50,730 --> 01:11:52,940 Там гэтая магчымасць цяпер для abstraction-- 600 01:11:52,940 --> 01:11:56,350 каб пачаць вызначаць новы слоўнік што MIT не чакалі. 601 01:11:56,350 --> 01:11:59,110 Там чакаць і паўторыце і на вякі вякоў, і калі, 602 01:11:59,110 --> 01:12:02,590 але што, калі я хачу прадставіць слова кашаль як блок? 603 01:12:02,590 --> 01:12:06,230 Што рабіць, калі я хачу кавалак галаваломкі чыя мэта ў жыцці кашаль? 604 01:12:06,230 --> 01:12:10,720 >> Што ж, давайце паглядзім на гэтую версію тут, які я зрабіў наступным чынам. 605 01:12:10,720 --> 01:12:13,579 Чароўна, я стварыў гэты кавалак галаваломкі тут, 606 01:12:13,579 --> 01:12:14,870 які драпіна дазваляе рабіць. 607 01:12:14,870 --> 01:12:16,787 І на самай справе С і Python і JavaScript з'яўляюцца 608 01:12:16,787 --> 01:12:18,370 збіраецца, каб дазволіць вам зрабіць гэта, а таксама. 609 01:12:18,370 --> 01:12:21,830 Вы можаце стварыць свой уласны часткі, якія вы называеце тое, што вы хочаце. 610 01:12:21,830 --> 01:12:24,890 У гэтым выпадку, кашаль адчувае як разумнае вызначэнне. 611 01:12:24,890 --> 01:12:27,880 А потым з гэтымі часткамі ўніз тут вы можаце вызначыць, што гэта значыць. 612 01:12:27,880 --> 01:12:30,290 >> Я перацягнутыя з гэтая палітра here-- больш 613 01:12:30,290 --> 01:12:33,500 blocks-- гэты вялікі фіялетавы блок, дзе я надрукаваў ад кашлю 614 01:12:33,500 --> 01:12:35,290 як імя майго новага паззл. 615 01:12:35,290 --> 01:12:39,920 І тады я кажу кожны раз, калі карыстальнік называе гэты новы кавалак галаваломкі кашаль, 616 01:12:39,920 --> 01:12:41,770 зрабіць слова і чакаць. 617 01:12:41,770 --> 01:12:46,160 І вось тут, у маім паўторным блоку, Я магу толькі кашаль у тры разы. 618 01:12:46,160 --> 01:12:49,972 >> І я б сказаў, асабліва калі цяпер вы схаваць гэтую дэталь. 619 01:12:49,972 --> 01:12:51,430 Хто клапоціцца, як рэалізуецца кашаль? 620 01:12:51,430 --> 01:12:54,390 Усё, што я клапачуся аб якасці праграміст, што я магу кашаль. 621 01:12:54,390 --> 01:12:56,280 Мяне не хвалюе, як кажуць, рэалізуецца. 622 01:12:56,280 --> 01:12:58,620 Я проста ўсё роўна, што кот можа сказаць нешта. 623 01:12:58,620 --> 01:13:02,720 Я магу абстрагавацца ад дэталяў і што акцэнтаваць увагу толькі на тое, што на экране тут. 624 01:13:02,720 --> 01:13:04,400 Але я магу зрабіць яшчэ адзін крок наперад. 625 01:13:04,400 --> 01:13:08,070 >> Звярніце ўвагу на тое, што тут, у мяне ёсць рэалізаваны контур ў тры разы. 626 01:13:08,070 --> 01:13:11,560 Але што, калі замест таго, каб я хапаю гэтую версію? 627 01:13:11,560 --> 01:13:14,640 А што, калі замест таго, каб У гэтай версіі тут, 628 01:13:14,640 --> 01:13:18,730 Я проста змяніць свой кавалак галаваломкі, каб прыняць аргумент і ўваход да сябе? 629 01:13:18,730 --> 01:13:21,100 І што ўваход можа быць лік, напрыклад тры. 630 01:13:21,100 --> 01:13:24,580 Так што цяпер, калі я пішу праграму і я хачу, каб котка кашляць, 631 01:13:24,580 --> 01:13:28,270 Я магу на самой справе сказаць галаваломкі кавалачках, колькі разоў кашаль, 632 01:13:28,270 --> 01:13:31,990 таму што на дне тут, аматар версія гэтых карыстацкіх галаваломкі 633 01:13:31,990 --> 01:13:34,500 дазваляе мне было паказаць, што кашаль фактычна прымае 634 01:13:34,500 --> 01:13:36,951 input-- прымае аргумент, як гэта. 635 01:13:36,951 --> 01:13:37,700 І вы ведаеце, што? 636 01:13:37,700 --> 01:13:38,890 Можа быць, я разумею, пачакайце хвіліну. 637 01:13:38,890 --> 01:13:40,680 Кашаль з'яўляецца same-- гэта прынцыпова 638 01:13:40,680 --> 01:13:42,120 тая ж ідэя, як чханне. 639 01:13:42,120 --> 01:13:44,040 Гэта проста розныя слова на экране. 640 01:13:44,040 --> 01:13:46,550 Я магу абстрагавацца ад далей і рэалізаваць 641 01:13:46,550 --> 01:13:48,750 гэтая апошняя версія кашаль, які на першы погляд 642 01:13:48,750 --> 01:13:50,660 шлях больш складаны выгляд. 643 01:13:50,660 --> 01:13:52,140 Але зьвярніце ўвагу на тое, што я зрабіў. 644 01:13:52,140 --> 01:13:55,930 У мяне цяпер generalized-- абагульненага really-- гэты кавалак галаваломкі 645 01:13:55,930 --> 01:13:59,900 каб назваць слова сказаць п раз. 646 01:13:59,900 --> 01:14:04,410 >> І зараз у мяне ёсць дзве новыя часткі галаваломкі тут вызначаюць кашаль п раз. 647 01:14:04,410 --> 01:14:06,790 А што функцыя кашлю рабіць? 648 01:14:06,790 --> 01:14:08,420 Што робіць мой заказ кавалак галаваломкі рабіць? 649 01:14:08,420 --> 01:14:11,996 Гэта проста выклікае блок скажам, перадаючы словы я хачу сказаць, 650 01:14:11,996 --> 01:14:13,870 праходзячы ў колькасці раз я хачу сказаць. 651 01:14:13,870 --> 01:14:18,210 Таму што цяпер я магу рэалізаваць чханні, проста кажучы Achoo, 652 01:14:18,210 --> 01:14:20,320 У гэтым выпадку, некалькі разоў. 653 01:14:20,320 --> 01:14:22,360 >> І таму я адводкамі і кладцы. 654 01:14:22,360 --> 01:14:25,690 І зноў жа, ключ тут не як я рэалізаваў яго, але той факт, 655 01:14:25,690 --> 01:14:28,070 што калі я проста ў літаральным сэнсе перамясціць іх з экрана, 656 01:14:28,070 --> 01:14:31,280 Паглядзіце, як проста, калі не прыгожая мая праграма зараз выглядае. 657 01:14:31,280 --> 01:14:33,930 Таму што гэта тое, што ён кажа, я адведзенай 658 01:14:33,930 --> 01:14:37,640 далёка, што знаходзіцца ўнутры гэтага чорнага скрыні. гэта здараецца фіялетавую скрынку тут, 659 01:14:37,640 --> 01:14:41,430 але я перашкаджалі далёка, што ўнутры таму што я не хвалюе, як гэта працуе. 660 01:14:41,430 --> 01:14:43,650 Я проста ўсё роўна цяпер, што гэта працуе. 661 01:14:43,650 --> 01:14:46,375 >> І на самай справе, у задачы ўсталяваць нуль, гэта дакладна 662 01:14:46,375 --> 01:14:49,250 выгляд напластаванне ідэй, якія вы будзеце маюць магчымасць даследаваць. 663 01:14:49,250 --> 01:14:53,510 Гэта менавіта магчымасць прымяняць метады вырашэння праблем, 664 01:14:53,510 --> 01:14:55,550 да таго, што, верагодна, незнаёмай асяроддзі. 665 01:14:55,550 --> 01:14:57,890 І ці з'яўляецца вы не запраграмаваны перад тым ці запраграмаванае перад тым, 666 01:14:57,890 --> 01:14:59,500 вы ўбачыце, што ёсць сёе-тое 667 01:14:59,500 --> 01:15:00,874 у гэтым асяроддзі для ўсіх. 668 01:15:00,874 --> 01:15:02,770 І з праблемай ўсталяваць адзін на працягу тыдня, 669 01:15:02,770 --> 01:15:06,630 мы будзем пераходзілі да засяроджвання на больш высокім узроўні мовы пад назвай 670 01:15:06,630 --> 01:15:09,290 C-- ці, хутчэй, найнізкую ўзровень мовы называецца 671 01:15:09,290 --> 01:15:11,347 C--, што яшчэ больш магутны, нават калі гэта 672 01:15:11,347 --> 01:15:12,930 крыху больш за загадкавым на першы погляд. 673 01:15:12,930 --> 01:15:16,740 >> І вы зразумееце, што на сённяшні TL: DR, што гэтая праблема ўсталяваць мае больш кароткі 674 01:15:16,740 --> 01:15:19,880 акно часу, чым будучыя, проста таму што вы павінны знайсці яго даволі 675 01:15:19,880 --> 01:15:20,420 даступнай. 676 01:15:20,420 --> 01:15:22,211 І не хвалюйцеся, калі Вы дадаеце клас позна. 677 01:15:22,211 --> 01:15:23,920 Мы будзем вырашаць, што да таго часу. 678 01:15:23,920 --> 01:15:28,480 І перш чым мы зачыню для торта, давайце скончыць ўсяго толькі дзве хвіліны погляду 679 01:15:28,480 --> 01:15:30,500 на тое, што чакае вас тут у CS50. 680 01:15:30,500 --> 01:15:40,950 681 01:15:40,950 --> 01:17:20,803 [МУЗЫКА] 682 01:17:20,803 --> 01:17:21,302 Добра. 683 01:17:21,302 --> 01:17:22,690 Вось гэта для CS50. 684 01:17:22,690 --> 01:17:23,650 Мы ўбачым вас у бліжэйшы час. 685 01:17:23,650 --> 01:17:25,526 Торт цяпер служыў. 686 01:17:25,526 --> 01:17:28,998 687 01:17:28,998 --> 01:18:14,267 [МУЗЫКА] 688 01:18:14,267 --> 01:18:16,350 СПІКЕР 17: Вы чулі з творчага адпачынку, начальнік? 689 01:18:16,350 --> 01:18:29,490 690 01:18:29,490 --> 01:18:31,920 СПІКЕР 18: Можа быць, ёсць больш пад капотам. 691 01:18:31,920 --> 01:18:38,279