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