1 00:00:00,000 --> 00:00:00,270 2 00:00:00,270 --> 00:00:01,790 DAVID Malan: Bonvenon reen, ĉiuj. 3 00:00:01,790 --> 00:00:05,030 Do hieraŭ, vi memoras ke ni temigis tiujn temojn tie. 4 00:00:05,030 --> 00:00:08,380 Do ni havis kvar komunajn topics-- privateco, sekureco, kaj socio; 5 00:00:08,380 --> 00:00:11,960 interreto teknologioj; nubo komputado; kaj finfine, retejo disvolviĝo. 6 00:00:11,960 --> 00:00:14,170 >> Ĉu iu havas la bandwidth aŭ la tempo 7 00:00:14,170 --> 00:00:16,900 rigardi iom Johano Oliver hieraux? 8 00:00:16,900 --> 00:00:20,120 Ĝi estas vere bela amuza, se ne iom timiga. 9 00:00:20,120 --> 00:00:24,700 Demandojn sur ion ni faris hieraŭ? 10 00:00:24,700 --> 00:00:27,600 Ajna klarigojn? 11 00:00:27,600 --> 00:00:35,580 Demandojn, kiujn vi volas fari certigi nin tuŝas hodiaŭ en iu formo? 12 00:00:35,580 --> 00:00:37,300 Tiel pura skribtabulo. 13 00:00:37,300 --> 00:00:38,760 >> Do kio estas sur la tagordo por hodiaŭ? 14 00:00:38,760 --> 00:00:41,301 Do mi pensis ke ni komencos hodiaŭ kun rigardi kio estas ĝenerale 15 00:00:41,301 --> 00:00:44,460 konata kiel komputa thinking-- ĉe la risko de oversimplifying, pensante 16 00:00:44,460 --> 00:00:46,636 kiel komputilo, eble pensante kiel inĝeniero, 17 00:00:46,636 --> 00:00:48,510 kaj klopodante komenci Organizi viajn pensojn 18 00:00:48,510 --> 00:00:52,039 aŭ doni al vi pli bonan senson de kio implikita en praktiko komandanta 19 00:00:52,039 --> 00:00:54,080 komputilo fari ion tra programado. 20 00:00:54,080 --> 00:00:56,663 Kaj ni konservos gxin bela alta nivelo, preskaux angla, 21 00:00:56,663 --> 00:00:59,850 sed provu uzi de familiara ekzemploj formaligi kiel 22 00:00:59,850 --> 00:01:01,450 vi irus pri solvi problemojn. 23 00:01:01,450 --> 00:01:04,080 >> Kaj ni reviziti iu CS temoj, kiel abstraktado, 24 00:01:04,080 --> 00:01:06,040 kiuj venis paro de tempoj hieraŭ, 25 00:01:06,040 --> 00:01:07,554 algoritmoj, kaj tiam reprezento. 26 00:01:07,554 --> 00:01:09,720 Kaj tio estas kie ni komencu hodiaŭ en nur momento. 27 00:01:09,720 --> 00:01:11,481 Tiam ni rigardu programado. 28 00:01:11,481 --> 00:01:13,480 Ni prenos rigardi kelkaj fundamentajn konstruojn 29 00:01:13,480 --> 00:01:16,450 kun kiu vi povus esti familiara kaj eble eĉ trovi sufiĉe intuitivo. 30 00:01:16,450 --> 00:01:18,370 >> Ni rigardu, fakte, en specimeno programado 31 00:01:18,370 --> 00:01:21,244 medion kiu estas tre atingebla, tre ludemaj kaj ja laŭcela 32 00:01:21,244 --> 00:01:22,555 por aĝoj 12 kaj supren. 33 00:01:22,555 --> 00:01:25,930 Ni pasigos kelkajn minutojn tie kaj tiam preni aferojn al pli malalta nivelo 34 00:01:25,930 --> 00:01:30,360 kaj efektive paroli pri kelkaj el la algoritmoj kaj datumstrukturoj, 35 00:01:30,360 --> 00:01:32,360 tiel diri, ke programistoj tipe uzas 36 00:01:32,360 --> 00:01:35,040 solvi problemojn multe pli efike ol vi eble 37 00:01:35,040 --> 00:01:37,322 povos malhavi ilin entute. 38 00:01:37,322 --> 00:01:40,280 Tiam post tagmanĝo, ni rigardu ĉe teknologio stakoj, kiu estas nur 39 00:01:40,280 --> 00:01:42,240 fantazio maniero diri kolektoj de teknologioj 40 00:01:42,240 --> 00:01:43,690 ke vi povus uzi por solvi iun problemon. 41 00:01:43,690 --> 00:01:46,670 Kaj ni parolos pri la alfabeto supo de lingvoj kiuj ekzistas today-- 42 00:01:46,670 --> 00:01:50,930 Java kaj Python kaj C ++ kaj PHP kaj Ruby kaj ĉiaj aliaj aferoj. 43 00:01:50,930 --> 00:01:53,740 >> Ni rigardu mallonge ĉe dezajno ŝablonoj. 44 00:01:53,740 --> 00:01:57,730 Programistoj, dum tempo, havi adoptita metodikoj 45 00:01:57,730 --> 00:02:00,690 kiu inklinas helpi ilin solvi problemojn pli facile. 46 00:02:00,690 --> 00:02:04,390 Kiam vi komencas vidi mem skribi samspecan kodon denove kaj denove, 47 00:02:04,390 --> 00:02:08,080 personoj formaligi tiuj ripetoj kaj atribuas al ili nomojn 48 00:02:08,080 --> 00:02:10,084 kaj tiam uzi ilin kaj promocii ilin, finfine. 49 00:02:10,084 --> 00:02:12,250 Kaj ni parolos iomete pri moveblaj strategioj, 50 00:02:12,250 --> 00:02:16,099 kiel kion tio signifas en la praktiko fari mobile app aŭ movebla retejo. 51 00:02:16,099 --> 00:02:17,140 Ĉu vi faros por Android? 52 00:02:17,140 --> 00:02:17,730 Ĉu vi faros por iOS? 53 00:02:17,730 --> 00:02:19,160 Ĉu vi faros por ambaŭ de tiuj? 54 00:02:19,160 --> 00:02:20,326 Kaj kio estas la komerco-offs? 55 00:02:20,326 --> 00:02:23,180 Kaj tiam fine, ni preni Rigardu ttt programado, kiu 56 00:02:23,180 --> 00:02:25,380 Estas kolektiva termino vere priskribanta ajn 57 00:02:25,380 --> 00:02:28,410 vi skribas programaron tio signifis por kuri en la reto, 58 00:02:28,410 --> 00:02:30,430 ĉu sur telefonoj aŭ labortabloj aŭ tekkomputiloj. 59 00:02:30,430 --> 00:02:33,490 Ni prenos mallongan rigardu datumbazoj kaj la dezajno 60 00:02:33,490 --> 00:02:39,049 gxi, se nur ĉar preskaŭ ĉiu interesaj ttt-bazita apliko 61 00:02:39,049 --> 00:02:40,590 tiuj tagoj havas ian datumbazo. 62 00:02:40,590 --> 00:02:42,380 Alie, ĝi farus nur esti statika enhavo. 63 00:02:42,380 --> 00:02:45,254 Kaj datumbazon permesas fari ŝanĝoj super tempo, ĉu vi mem 64 00:02:45,254 --> 00:02:45,960 aŭ de uzantoj. 65 00:02:45,960 --> 00:02:47,820 Kaj ni konsideru kiel vi irus pri dizajnado 66 00:02:47,820 --> 00:02:50,510 ke datumbazon kaj la speco de ĵargono kiuj povus veni supren en inĝeniero 67 00:02:50,510 --> 00:02:52,790 diskuto en blanka tabulo kiam fakte efektivigado 68 00:02:52,790 --> 00:02:53,900 app por la unua fojo. 69 00:02:53,900 --> 00:02:57,002 >> Ni parolos mallonge pri API, utilaj servoj 70 00:02:57,002 --> 00:02:59,960 ke vi povas uzi por stari sur la ŝultrojn de aliaj, ĉu kompanioj 71 00:02:59,960 --> 00:03:02,619 aŭ individuoj, kaj solvi viajn propraj problemoj pli rapide. 72 00:03:02,619 --> 00:03:04,785 Kaj tiam ni dabble eble iom kun JavaScript, 73 00:03:04,785 --> 00:03:08,900 programlingvo kiu estas uzata ambaŭ en retumiloj tiuj tagoj, sed ankaŭ 74 00:03:08,900 --> 00:03:09,820 en serviloj. 75 00:03:09,820 --> 00:03:11,890 Kaj eble, ni instruos vin reviziti, tempo permesas, 76 00:03:11,890 --> 00:03:15,670 kelkaj el la manoj-sur ttt aferojn ni faris hieraŭ kaj integri la du 77 00:03:15,670 --> 00:03:17,630 kune antaŭ ni adjourn. 78 00:03:17,630 --> 00:03:22,380 >> Do kun that-- kio estas ahead-- estas nenio perdigxis ke vi 79 00:03:22,380 --> 00:03:26,289 ŝatus certigi ni enŝovu kaj tuŝas en iu momento. 80 00:03:26,289 --> 00:03:28,330 Se ĝi estas fontoj memorigas, venigu gxin antaux longe. 81 00:03:28,330 --> 00:03:32,010 Sed kial ni ne komencu per rigardi komputa pensado. 82 00:03:32,010 --> 00:03:35,420 >> Kaj mi proponas ke komputa pensado estas, denove, 83 00:03:35,420 --> 00:03:38,830 ia la alta nivelo priskribo de kion komputilo sciencisto povus fari. 84 00:03:38,830 --> 00:03:42,470 Kaj efektive, ni komencu kun tri ingrediencoj kiuj 85 00:03:42,470 --> 00:03:44,207 povus iri en komputa pensado. 86 00:03:44,207 --> 00:03:45,790 Tiu estas nur unu maniero de priskribi ŝin. 87 00:03:45,790 --> 00:03:48,490 Ni certe povus difini ĉi en ajna nombro de manieroj. 88 00:03:48,490 --> 00:03:50,630 >> Sed mi proponas, pro hodiaŭ, 89 00:03:50,630 --> 00:03:53,910 ke la mondaj problemoj, ĉiujn mondproblemojn, 90 00:03:53,910 --> 00:03:56,730 Kiam proksimiĝis per komputila sciencisto povis 91 00:03:56,730 --> 00:04:00,990 videblas kiel kion ni alvoko enigoj, kiuj 92 00:04:00,990 --> 00:04:08,142 devas akiri nutrita en kion ni nomas algoritmoj, kiuj tiam cedas eliroj. 93 00:04:08,142 --> 00:04:10,600 Alivorte, la tuta mondo de problemo-solvado mi pretendo 94 00:04:10,600 --> 00:04:13,140 povas esti distilita en tiuj tri ingrediencoj. 95 00:04:13,140 --> 00:04:14,450 Do kion mi signifas de enigoj? 96 00:04:14,450 --> 00:04:17,060 Enigoj estas ĝuste kion vi estas enmanigis por solvi. 97 00:04:17,060 --> 00:04:20,052 >> Ekzemple, jen malnova lernejo problemo. 98 00:04:20,052 --> 00:04:22,760 Se mi havas telefonon libro tie kaj Mi volas rigardi ion en ĝi, 99 00:04:22,760 --> 00:04:23,760 tio estas mia enigo. 100 00:04:23,760 --> 00:04:26,260 Mi havas 1,000 aŭ tiel paĝoj en telefono libro. 101 00:04:26,260 --> 00:04:27,780 Tio estas la enigo al mia problemo. 102 00:04:27,780 --> 00:04:31,507 Kaj mi volas trovi ion kiel Mike Smith, tiel amikon 103 00:04:31,507 --> 00:04:33,840 kies nomo kaj nombro estas espereble en tiu adreslibro. 104 00:04:33,840 --> 00:04:36,430 >> Jen antaŭ la tempo de ĉelo telefonoj, do mi ne povas simple serĉi ŝin. 105 00:04:36,430 --> 00:04:38,540 Do mi devas fari ĝin malnova lernejo kaj reale serĉo 106 00:04:38,540 --> 00:04:41,331 tiuj enigoj por iu respondo. 107 00:04:41,331 --> 00:04:43,580 Kaj ke respondo estas ĝuste tuj por nomi la eligo. 108 00:04:43,580 --> 00:04:44,871 Do la enigo estas la telefono libro. 109 00:04:44,871 --> 00:04:47,787 La algoritmo estas ajna aro de paŝoj mi uzas por trovi Mike Smith. 110 00:04:47,787 --> 00:04:50,120 Kaj la eligo estas, espereble, Mike Smith telefonnumero. 111 00:04:50,120 --> 00:04:52,703 Kaj ĉi tiam estus simple reprezentanto de plej ajna problemo 112 00:04:52,703 --> 00:04:55,210 por kun vi manoj enigoj kaj volas produkti eliroj. 113 00:04:55,210 --> 00:04:59,459 >> Do antaŭ ol ni konsideros la procezon per kiu ni povas solvi tiun problemon, 114 00:04:59,459 --> 00:05:01,250 trovanta Mike Smith kaj io simila, 115 00:05:01,250 --> 00:05:04,090 ni konsideru la unua kaj la last-- enigoj kaj eligoj. 116 00:05:04,090 --> 00:05:08,060 Fizike, kompreneble, la enigo tie estas tuta aro da papero gluita kune 117 00:05:08,060 --> 00:05:09,400 en la formo de telefona libro. 118 00:05:09,400 --> 00:05:13,660 Sed komputiloj, kompreneble tekkomputiloj kaj tablo kaj eĉ telefonojn 119 00:05:13,660 --> 00:05:16,430 tiuj days-- tiuj estas elektronikaj aparatoj. 120 00:05:16,430 --> 00:05:20,920 >> Kaj fine de la tago, kio estas la sola enigo al komputilo? 121 00:05:20,920 --> 00:05:23,299 Nu, estas io kiel tiu potenco ŝnureto tien. 122 00:05:23,299 --> 00:05:25,590 Mi ŝtopi ĝin en la muron, kaj Mi ricevos fluon de elektronoj, 123 00:05:25,590 --> 00:05:27,048 kiu min permesas kuri la maŝino. 124 00:05:27,048 --> 00:05:30,420 Aŭ eble tiuj elektronoj estas kreita de vojo de mia kuirilaro. 125 00:05:30,420 --> 00:05:33,790 Sed fine de la tago, jen la sola afero iras en mian tekkomputilon. 126 00:05:33,790 --> 00:05:35,772 Kaj tiel interesaj aĵoj estas finfine 127 00:05:35,772 --> 00:05:37,480 eliranta, ĉu tra la printilo 128 00:05:37,480 --> 00:05:40,320 aŭ la ekrano aŭ audially aŭ similaj. 129 00:05:40,320 --> 00:05:45,320 >> Sekve se ĉiuj ni havas kiel nian fundamenta enigo al komputilo 130 00:05:45,320 --> 00:05:49,160 estas elektro, tial nur elektronoj enirante kaj aŭ ekstere, 131 00:05:49,160 --> 00:05:54,465 kaj tiel kiel ni uzas tiun eniron efektive reprezentas informon? 132 00:05:54,465 --> 00:05:57,090 Alivorte, kiel ni akiras de simpla fluo de elektro 133 00:05:57,090 --> 00:06:00,350 reprezenti fakta nombroj aŭ realaj leteroj 134 00:06:00,350 --> 00:06:03,620 aŭ realaj bildoj sur la ekrano aŭ faktaj filmoj aŭ retpoŝtoj 135 00:06:03,620 --> 00:06:05,690 aŭ iujn el tiuj alta nivelo konceptoj, 136 00:06:05,690 --> 00:06:07,680 se vi volas, ke ĉe la Fine de la tago iel 137 00:06:07,680 --> 00:06:11,950 devas esti stokitaj en tiu elektronika mekanika aparato 138 00:06:11,950 --> 00:06:16,260 uzante nur tiujn simplajn ingredients-- elektronoj venas en kaj eksteren? 139 00:06:16,260 --> 00:06:19,530 >> Tiel similus ke, en la plej simpla formo, 140 00:06:19,530 --> 00:06:23,260 la sola speco de ŝtatoj Mi havas en mia mondo, do 141 00:06:23,260 --> 00:06:25,350 al speak-- kondiĉoj en mia world-- estas aŭ 142 00:06:25,350 --> 00:06:33,020 Mi havas elektronoj fluas, elektro fluanta, aŭ mi faras not-- tiel plu, ekstere. 143 00:06:33,020 --> 00:06:35,850 Kaj ni formaligi kaj ekstere, kiel komputila sciencisto potenco, 144 00:06:35,850 --> 00:06:37,255 kun nur 1 kaj 0. 145 00:06:37,255 --> 00:06:39,880 Ni nur priskribi iun arbitran sed konsekvenca kvanto al ĝi. 146 00:06:39,880 --> 00:06:41,970 1 signifas sur, 0 signifas ekstere. 147 00:06:41,970 --> 00:06:45,427 Aŭ vi povus ankaŭ rigardi tion kiel veraj rimedoj sur falsan rimedoj. 148 00:06:45,427 --> 00:06:47,510 Vi povus ankaŭ fari nigra kaj blankajn aŭ ruĝajn kaj bluajn. 149 00:06:47,510 --> 00:06:48,759 Vi nur bezonas du descriptores. 150 00:06:48,759 --> 00:06:52,240 Kaj komputilo sciencistoj volis ĝenerale nur uzu 0 kaj 1. 151 00:06:52,240 --> 00:06:58,980 >> Do se tio estas la kazo, mia sola alfabeto estas konsistanta el 0-aj kaj 1-oj, kiel 152 00:06:58,980 --> 00:07:03,360 ĉu mi eble atingos eĉ la nombro 2 en komputilo, kaj multe malpli la numero 3 153 00:07:03,360 --> 00:07:06,140 aŭ letero de la alfabeto aŭ bildo aŭ filmo? 154 00:07:06,140 --> 00:07:08,910 Kiel ni ia startigi nin de tiu baza principo 155 00:07:08,910 --> 00:07:12,080 de 0-aj kaj 1-oj kaj reale reprezenti ion pli interesan? 156 00:07:12,080 --> 00:07:14,430 >> Nu, ni metas tiun demandon sur tene dum nur momento 157 00:07:14,430 --> 00:07:17,520 kaj konsideri ion espereble familiara, 158 00:07:17,520 --> 00:07:21,150 eĉ se vi vere ne pensis pri tion pli detale dum 10, 20, 30, 40, 50 159 00:07:21,150 --> 00:07:22,520 pli jaroj. 160 00:07:22,520 --> 00:07:24,780 Jen kio? 161 00:07:24,780 --> 00:07:28,050 Kiel vi prononcas tio? 162 00:07:28,050 --> 00:07:30,770 Ne lertaĵon demando. 163 00:07:30,770 --> 00:07:32,950 Kelkaj, sed kio estas tio? 164 00:07:32,950 --> 00:07:34,842 1, 2, 3, aŭ 123. 165 00:07:34,842 --> 00:07:37,800 Kaj mi ŝatis kiel vi diris 1, 2, 3, ĉar tio estas unu maniero de vidi ĝin. 166 00:07:37,800 --> 00:07:39,870 1, 2, 3, estas sekvenco de tri simboloj. 167 00:07:39,870 --> 00:07:42,005 Estas fotoj kiujn ni nun havas vortojn por. 168 00:07:42,005 --> 00:07:44,880 Kaj se vi ia legi ilin ĉiujn kune, tipa homa en la angla 169 00:07:44,880 --> 00:07:46,600 dirus 123. 170 00:07:46,600 --> 00:07:48,350 Kaj tio estas speco de alta nivelo koncepto, 171 00:07:48,350 --> 00:07:50,340 sentas kiel prudente granda nombro. 172 00:07:50,340 --> 00:07:51,490 >> Sed kiel ni iru? 173 00:07:51,490 --> 00:07:54,640 Nu, eble ĝi estas tempo ekde vi jam pensis pri ĝi kiel tiu, 174 00:07:54,640 --> 00:07:56,680 sed reen en mia tago, mi ia lernis tiun 175 00:07:56,680 --> 00:08:01,030 kiel la 1 kolumno, la 10an de kolumno, kaj la 100 kolumno. 176 00:08:01,030 --> 00:08:06,400 Tiel kiel Lakisa diras, estas 1, 2, 3, sed estas ankaŭ 123. 177 00:08:06,400 --> 00:08:08,700 Sed kiel ni preni de la unua al la dua? 178 00:08:08,700 --> 00:08:12,340 >> Nu, vi devus tipe fari en la 100 kolumno, mi havas 1. 179 00:08:12,340 --> 00:08:14,794 Do jen kiel diri 100 fojojn 1. 180 00:08:14,794 --> 00:08:16,210 Kaj tiam en 10 la kolumno, mi havas 2. 181 00:08:16,210 --> 00:08:18,464 Do jen kiel diri 10 fojojn 2. 182 00:08:18,464 --> 00:08:19,630 En la 1-oj kolumno, mi havas 3. 183 00:08:19,630 --> 00:08:21,720 Do jen kiel diri 1 fojojn 3. 184 00:08:21,720 --> 00:08:24,290 >> Kaj se mi aldonas tion kune, tio, kompreneble, 185 00:08:24,290 --> 00:08:27,470 Estas 100 plus la 10 plus 3. 186 00:08:27,470 --> 00:08:31,750 Kaj ho, jen kial mi ricevas ĉi alta nivelo nocio de 123. 187 00:08:31,750 --> 00:08:37,220 Estas nur bazaj matematikaj, per tiuj simboloj havas pezojn al ili, se vi 188 00:08:37,220 --> 00:08:39,620 estos, lokokupilo aŭ kolumno valoroj. 189 00:08:39,620 --> 00:08:42,090 Kaj unufoje mi multiplikas ĉiun eksteren, mi ricevas tiun numeron. 190 00:08:42,090 --> 00:08:47,840 >> Tiom kiom vi scipovas paroli binary-- 0-aj kaj 1's-- kiel komputilo? 191 00:08:47,840 --> 00:08:50,410 OK, perfekta, neniu, aŭ neniu el vi opinias, ke vi faras. 192 00:08:50,410 --> 00:08:52,550 Sed mi asertas vin efektive scias tiun jam. 193 00:08:52,550 --> 00:08:55,330 Ni nur bezonas ian tweak nian mensan modelon iomete. 194 00:08:55,330 --> 00:08:57,250 Sed la procezo estas ĝuste la sama. 195 00:08:57,250 --> 00:09:01,460 >> Mi restigos ĉi tie supre kaj anstataŭe tiri tiun malsupren dum momento. 196 00:09:01,460 --> 00:09:05,060 En la mondo de komputiloj, ni nur havas 0-aj kaj 1-oj. 197 00:09:05,060 --> 00:09:07,240 Kaj tiel la afero, ke estas tuj ŝanĝos estas kio? 198 00:09:07,240 --> 00:09:10,920 Nu, en mia homa mondo, La dekuma sistemo, Dec signifo 10, 199 00:09:10,920 --> 00:09:12,740 Mi havas kiom da ciferoj en mia dispono? 200 00:09:12,740 --> 00:09:15,270 201 00:09:15,270 --> 00:09:16,540 10, dekstra? 202 00:09:16,540 --> 00:09:17,880 0 tra 9, kompreneble. 203 00:09:17,880 --> 00:09:21,210 >> Kaj tial ni havas la 10 la loko kaj la 100 la loko. 204 00:09:21,210 --> 00:09:22,380 Kie estas tiu venanta de? 205 00:09:22,380 --> 00:09:24,430 Nu, tio estas 10 al la potenco de 0. 206 00:09:24,430 --> 00:09:28,440 Tio estas 10 al la potenco de 1, 10 al la povo de 2, kaj tiel antaŭen. 207 00:09:28,440 --> 00:09:32,110 Vi simple observu multiplikante via kolumnoj per 10, dividante kun nur 1 208 00:09:32,110 --> 00:09:33,700 en la plej dekstra tie. 209 00:09:33,700 --> 00:09:35,490 >> Tiel en la mondo de komputiloj, se vi nur 210 00:09:35,490 --> 00:09:39,600 havas binary-- bi signifo 2-- aŭ 0-aj kaj 1-oj, ni nur 211 00:09:39,600 --> 00:09:42,420 vere devas ŝanĝi la bazo de tiu matematiko. 212 00:09:42,420 --> 00:09:46,410 Do alivorte, nun ni certigos havi la 1 kolumno kaj estas- 213 00:09:46,410 --> 00:09:51,270 kie estas tiu going-- la 2 kolumno, la 4 kolumno, kaj eble pretere. 214 00:09:51,270 --> 00:09:52,250 Kial estas tio? 215 00:09:52,250 --> 00:09:55,650 Nu, tio estas 2 la 0-a povo. 216 00:09:55,650 --> 00:09:57,270 Tio estas 2 la 1. 217 00:09:57,270 --> 00:09:59,610 Tio estas 2 al 2, kaj tiel plu. 218 00:09:59,610 --> 00:10:04,910 >> Do dum tie, ni havas 1, 10-a, 100-a, 1000-a, 10.000 estas, 100.000-a, 1 219 00:10:04,910 --> 00:10:10,560 milionoj, kaj tiel plu, tie Ni havas 1, 2, 4, 8, 16, 32, 64. 220 00:10:10,560 --> 00:10:13,950 Vi simple observu multiplikante per 2, anstataŭ konservi multiplikante per 10. 221 00:10:13,950 --> 00:10:16,780 Tial nun, se la celo en mano estas reprezenti 222 00:10:16,780 --> 00:10:20,240 numerojn uzante nur 0-aj kaj 1-oj, ni konsideri kiel ni iros tien. 223 00:10:20,240 --> 00:10:26,540 >> Tiu, kompreneble, estas la mastro 0 0 0, sed kiu nombro koncepte 224 00:10:26,540 --> 00:10:27,490 ĝi reprezentas? 225 00:10:27,490 --> 00:10:35,430 Nu, 4 fojojn 0 plus 2 fojojn 0 plus 1 fojojn 0, ni aldonu tiujn kune. 226 00:10:35,430 --> 00:10:40,030 4 fojojn 0 estas, kompreneble, 0, plus 2 tempoj 0 estas, kompreneble, 0 plus 1 fojojn 0 227 00:10:40,030 --> 00:10:40,850 estas, kompreneble, 0. 228 00:10:40,850 --> 00:10:44,910 Tiel ah, ĉi reprezentas la numeron ni homoj scias kiel 0. 229 00:10:44,910 --> 00:10:47,810 >> Nu, nun, ni tre rapide rapida antaŭen. 230 00:10:47,810 --> 00:10:53,600 Se mi anstataŭ ne reprezentanta 0 0 0, sed ni faru 1 0 1, 231 00:10:53,600 --> 00:10:57,010 kiuj povus esti kiel Lakisa, pli frue, simple elparoli 1 0 1. 232 00:10:57,010 --> 00:11:01,020 Sed nun, kiel ni preni ĝin al la maksimuma ebenigi la nombro ni homoj povus scii? 233 00:11:01,020 --> 00:11:04,220 Do kio estas tiu nombro? 234 00:11:04,220 --> 00:11:06,060 Ĝi estas 5, la nombro ni konas 5. 235 00:11:06,060 --> 00:11:06,870 >> Nu, kial do? 236 00:11:06,870 --> 00:11:09,620 Nu, ni povas vere ia marŝi tra ĝi metode 237 00:11:09,620 --> 00:11:14,880 4 fojoj 1, 2 fojojn 0, 1 fojojn 1. 238 00:11:14,880 --> 00:11:19,880 Aldoni tiujn kune, do tio estas 4 plus 0 plus 1. 239 00:11:19,880 --> 00:11:21,577 Kaj tio estas ja 5. 240 00:11:21,577 --> 00:11:24,660 Do ĝi estas ricevas iom enuiga nun fari la aritmetiko denove kaj denove. 241 00:11:24,660 --> 00:11:26,300 Sed la procezo estas ĝuste la sama. 242 00:11:26,300 --> 00:11:28,380 >> Lin sola kiu havas ŝanĝis en nia mondo 243 00:11:28,380 --> 00:11:32,740 estas ke niaj kolumnoj estas 1, 2, 4, 8, 16, kaj tiel plu, anstataŭ 1, 10, 100, 244 00:11:32,740 --> 00:11:33,740 1.000. 245 00:11:33,740 --> 00:11:40,000 Kaj tio estas nur pro nia alfabeto havas ŝrumpis de 0 ĝis 9 por ĝuste 0 al 1. 246 00:11:40,000 --> 00:11:50,851 >> Tiel kiel iom kvizo tie, kiel farus vi reprezentas la numeron 7 en duuma? 247 00:11:50,851 --> 00:11:51,350 0? 248 00:11:51,350 --> 00:11:53,490 Nu, 0, vi aludas 0 0 0? 249 00:11:53,490 --> 00:11:58,140 250 00:11:58,140 --> 00:11:59,693 Diru ĝin denove, Karina. 251 00:11:59,693 --> 00:12:03,010 252 00:12:03,010 --> 00:12:03,550 Perfekta. 253 00:12:03,550 --> 00:12:04,370 Kial estas tio? 254 00:12:04,370 --> 00:12:08,530 Ĝi estas efike 4 plus 2 plus 1. 255 00:12:08,530 --> 00:12:09,580 Tiel bona. 256 00:12:09,580 --> 00:12:14,364 >> Kiel ni reprezentas iom another-- kiom pri numero 2? 257 00:12:14,364 --> 00:12:18,360 258 00:12:18,360 --> 00:12:20,690 Proksime, sed malantaŭen. 259 00:12:20,690 --> 00:12:21,660 Do kio estas tio? 260 00:12:21,660 --> 00:12:26,290 Estas 4 plus 1, do tio estas 5 denove. 261 00:12:26,290 --> 00:12:28,310 >> Tiel what's-- Mi bedaŭras, Karina? 262 00:12:28,310 --> 00:12:29,220 0 1 0. 263 00:12:29,220 --> 00:12:34,762 0 1 0 estus 2, ĉar denove, eĉ se ia ne saltas ĉe vi, 264 00:12:34,762 --> 00:12:35,470 simple fari la math. 265 00:12:35,470 --> 00:12:40,390 4 fojojn 0, 0, 2 fojojn 1 estas 2, 1 fojojn 0 estas 0. 266 00:12:40,390 --> 00:12:42,830 Do tiu estas la nombro ni konas 2. 267 00:12:42,830 --> 00:12:44,030 >> Kion pri la nombro 8? 268 00:12:44,030 --> 00:12:51,240 269 00:12:51,240 --> 00:12:52,730 Hm? 270 00:12:52,730 --> 00:12:53,330 Bonaj. 271 00:12:53,330 --> 00:12:56,130 Do ni ia bezonas alian lokokupilo. 272 00:12:56,130 --> 00:12:59,570 Ni bezonas 1 0 0 0. 273 00:12:59,570 --> 00:13:02,280 Kaj tio estas vera de nia speco de malnova lernejo dekuma sistemo. 274 00:13:02,280 --> 00:13:05,280 Kiel vi reprezentus la nombron 1000? 275 00:13:05,280 --> 00:13:08,480 >> Nu, vi ŝajnus esti ia en malmola loko, 276 00:13:08,480 --> 00:13:10,390 se demandi vin reprezenti la numero 1.000, 277 00:13:10,390 --> 00:13:14,960 ĉar eĉ se vi donu vin mem kiel 9 el tiuj, 9 el tiuj, 0 el tiuj, 278 00:13:14,960 --> 00:13:18,730 kiu estas la plej granda nombro vi havas, vi ne tute atingi 1,000. 279 00:13:18,730 --> 00:13:26,920 Do se vi 1,000, vi nur bezonas alian pozicion, tiel ke vi povas fari 1 0 0 0, 280 00:13:26,920 --> 00:13:29,460 ergo la numeron 1.000. 281 00:13:29,460 --> 00:13:34,200 >> Do nun, ni mapi tian koncepta diskuton reen al aparataro, 282 00:13:34,200 --> 00:13:37,470 kie denove la enigo estis ĵus tiu malgranda potenco kablo, elektro 283 00:13:37,470 --> 00:13:39,300 venon kaj fluas eksteren. 284 00:13:39,300 --> 00:13:44,740 Kaj tiel por ke estu mapita de ĉi tie por ke, nu, kion ni vere bezonas? 285 00:13:44,740 --> 00:13:49,460 Nu, vi povas pensi pri esti ene de komputilo, tuta aro da ampoloj, 286 00:13:49,460 --> 00:13:50,450 se vi volas. 287 00:13:50,450 --> 00:13:52,040 Ili vere nomas transistoroj. 288 00:13:52,040 --> 00:13:55,121 Kaj transistoroj estas nur ŝanĝas kiu povas ĉu esti aŭ malŝalti. 289 00:13:55,121 --> 00:13:56,870 Do vi povas pensi pri transistoro jen sur 290 00:13:56,870 --> 00:14:00,730 permesas elektro fluu kaj transistoro tio ekstere tiel haltante 291 00:14:00,730 --> 00:14:02,170 elektro de fluanta. 292 00:14:02,170 --> 00:14:04,130 Kaj anstataŭ preni super la lumoj tie, 293 00:14:04,130 --> 00:14:06,450 kial ne mi faras tiun specon de nova lerneja stilo. 294 00:14:06,450 --> 00:14:11,360 Do tio ĉi povus esti 1, poŝlampon sur unu, nur apenaŭ tamen. 295 00:14:11,360 --> 00:14:14,050 Kaj tiu povas esti 0, kaj nun ĝi estas for. 296 00:14:14,050 --> 00:14:18,277 >> Do uzante tiun fizika aparato, mi povas nun reprezentas la duuma sistemo. 297 00:14:18,277 --> 00:14:19,235 Mi nur bezonas du ŝtatoj. 298 00:14:19,235 --> 00:14:21,660 Negrave kio kolora ĝi estas aŭ kio ĝi estas. 299 00:14:21,660 --> 00:14:25,920 Ĉiuj kiu gravas estas, ke mi havas unu stato al alia ŝtato for. 300 00:14:25,920 --> 00:14:30,605 Do uzante mia telefono tie, kiel mi reprezentas la numeron ni konas 0? 301 00:14:30,605 --> 00:14:34,490 302 00:14:34,490 --> 00:14:38,550 Aŭ meti ekvivalente, kio numeron mi reprezentas nun? 303 00:14:38,550 --> 00:14:39,810 0, ĉar la aparato estas malŝaltita. 304 00:14:39,810 --> 00:14:41,560 >> Kaj se mi faras tion? 305 00:14:41,560 --> 00:14:43,583 Kaj nun, kiel mi reprezentas la nombron 2? 306 00:14:43,583 --> 00:14:46,380 307 00:14:46,380 --> 00:14:50,930 Ĉu mi povas pruntepreni vian telefonon tie, kiel ni faris hieraŭ? 308 00:14:50,930 --> 00:14:58,490 Do ni vidas, do se mi volas reprezenti la numero 2, estas tiu la numero 2? 309 00:14:58,490 --> 00:14:59,050 Ne 310 00:14:59,050 --> 00:15:02,250 Kiu nombro estas mi hazarde reprezentanta tie? 311 00:15:02,250 --> 00:15:03,550 Tiu estas fakte la nombro 3. 312 00:15:03,550 --> 00:15:05,008 >> Do kion oni faras mi volas elŝalti? 313 00:15:05,008 --> 00:15:09,634 La nigra telefono or-- bone, se they're-- nigra telefono aŭ la blanka telefono? 314 00:15:09,634 --> 00:15:10,300 La blanka telefonon. 315 00:15:10,300 --> 00:15:17,020 Do se mi turnas ĉi ekstere kaj ni linio supren tie, ni havas 1 316 00:15:17,020 --> 00:15:19,487 en la 2 loko kaj a 0 en la 1-oj loko. 317 00:15:19,487 --> 00:15:21,195 Kaj tial mi nun reprezentanta la numeron 2. 318 00:15:21,195 --> 00:15:24,680 Kaj tiu, Kompreneble, estus la nombro 3, ĉar nun ambaŭ lumoj 319 00:15:24,680 --> 00:15:25,350 estas sur. 320 00:15:25,350 --> 00:15:27,480 >> Kaj mi halti tie, sed ĝi staras rezoni 321 00:15:27,480 --> 00:15:31,100 se mi volas reprezenti la numero 4 aŭ 8 aŭ supera, 322 00:15:31,100 --> 00:15:32,529 Mi tuj bezonos pli telefonoj. 323 00:15:32,529 --> 00:15:33,820 Sed jen ĉio tio okazas. 324 00:15:33,820 --> 00:15:37,800 Do se vi iam aŭdis ke ene de a-- dankas you-- komputilo 325 00:15:37,800 --> 00:15:42,269 Estas milionoj da transistoroj, jen nur milionoj de eta ŝaltiloj. 326 00:15:42,269 --> 00:15:44,310 Kaj ili ne estas lumo bulboj kiuj turni sur kaj for, 327 00:15:44,310 --> 00:15:48,340 sed ili ambaŭ permesis elektro flui ie halti ĝin. 328 00:15:48,340 --> 00:15:52,140 Kaj do estas via du states-- aŭ malŝalti, sur aŭ for. 329 00:15:52,140 --> 00:15:55,730 >> Do ni ŝajnus nun havi tiun kapablon 330 00:15:55,730 --> 00:16:00,590 reprezenti tiun koncepton ke Ni ŝatus en reala aparataro. 331 00:16:00,590 --> 00:16:05,520 Sed ĉiuj ni havas nun estas la kapablo reprezenti nombrojn ĝi ŝajnus. 332 00:16:05,520 --> 00:16:08,580 Do kiel ni iras pri reprezentanta literoj de la alfabeto, kiu 333 00:16:08,580 --> 00:16:12,310 sentas la sekva ia trajto vi volus aldoni al moderna komputilo 334 00:16:12,310 --> 00:16:14,280 unufoje vi havas nombrojn? 335 00:16:14,280 --> 00:16:16,930 >> Kaj efektive, se vi pensas pri ĝi, historie, komputiloj 336 00:16:16,930 --> 00:16:19,426 enkondukis vere servi kiel kalkuliloj ciferece. 337 00:16:19,426 --> 00:16:21,300 Sed kompreneble tiuj tagoj, ili faros multe pli. 338 00:16:21,300 --> 00:16:23,799 Eĉ kiam boto supre, Vi tipe vidi unu aŭ pli vortoj. 339 00:16:23,799 --> 00:16:27,420 Do kiel vi reprezentas vortojn, Se ĉiuj devas estas, denove, 340 00:16:27,420 --> 00:16:31,054 elektro ĉe la fino de la tago, aŭ ekvivalente 0-aj kaj 1-oj? 341 00:16:31,054 --> 00:16:34,430 342 00:16:34,430 --> 00:16:35,690 >> Yeah. 343 00:16:35,690 --> 00:16:38,320 Yeah, Mi volas diri, ni ia faris ĉi hieraŭ en iu formo, 344 00:16:38,320 --> 00:16:40,200 kie en iu momento, Mi kredas ke mi arbitre 345 00:16:40,200 --> 00:16:46,741 diris ke, se ni volas reprezenti la litero A, ni povus simple nomas ke 1. 346 00:16:46,741 --> 00:16:49,990 Estis en la kunteksto de kriptografio, kie ni simple bezonis ian kodo, 347 00:16:49,990 --> 00:16:51,160 ia mapado. 348 00:16:51,160 --> 00:16:56,680 >> Do eble A estos reprezentita kiel 1 kaj B estos reprezentita kiel 2, 349 00:16:56,680 --> 00:17:01,560 kaj Z estos reprezentita kiel 26, ekzemple. 350 00:17:01,560 --> 00:17:07,430 Kaj tiam la nura avertrimarko estas ke se mi tuj kodi literojn en miaj mesaĝoj 351 00:17:07,430 --> 00:17:10,430 aŭ en mia teksto mesaĝojn kiel nombroj, vi ĉiuj 352 00:17:10,430 --> 00:17:12,640 devas interkonsenti uzi la sama aro de konvencioj. 353 00:17:12,640 --> 00:17:14,619 Kaj efektive, la mondo faris ekzakte tion. 354 00:17:14,619 --> 00:17:18,040 >> Estas sistemo en la mondo nomita ASCII, Esperanto 355 00:17:18,040 --> 00:17:21,640 Kodo por Informo-Vojnodo, kiu estas simple decido iuj jaroj 356 00:17:21,640 --> 00:17:25,720 antaŭ ke la homoj faris ke decidis ke A estas iranta egali, ne 357 00:17:25,720 --> 00:17:32,260 1, 2, kaj 26, kaj tiel forth-- ĝi estas iom different-- sed 65, 66, 67. 358 00:17:32,260 --> 00:17:34,010 Kaj mi tiros supren diagramo en nur momento. 359 00:17:34,010 --> 00:17:34,580 Sed estas arbitra. 360 00:17:34,580 --> 00:17:36,329 Sed ne gravas ke ĝi estas arbitra. 361 00:17:36,329 --> 00:17:38,620 La mondo havas nur esti konsekvenca. 362 00:17:38,620 --> 00:17:40,540 >> Nun, pli ĵus, estas io amatoro 363 00:17:40,540 --> 00:17:45,430 nomata Unikodo, ĉar la monda klaso de realigita, post elpensi komputiloj, 364 00:17:45,430 --> 00:17:50,977 ke ekzistas pli ol bone 256 simboloj en la mondo 365 00:17:50,977 --> 00:17:53,560 ke ni volas reprezenti, Precipe kiam vi enkondukos 366 00:17:53,560 --> 00:17:58,420 Asian lingvoj kaj aliaj symbologies kiuj bezonas pli esprimpovo ol vi 367 00:17:58,420 --> 00:18:02,150 povas havi en la fruaj versio de tiun kodon, kiu estis nomita ASCII. 368 00:18:02,150 --> 00:18:05,250 Do Unikodo fakte permesas vi uzi pli 0-aj kaj 2. 369 00:18:05,250 --> 00:18:08,830 En aparta, vi tenas aŭdante la vorto bajtoj en socio kaj eĉ simple 370 00:18:08,830 --> 00:18:09,400 hieraŭ. 371 00:18:09,400 --> 00:18:12,040 Kaj bajto estas kio denove? 372 00:18:12,040 --> 00:18:14,840 >> Kio estas bajto? 373 00:18:14,840 --> 00:18:15,700 Estas nur 8 bitoj. 374 00:18:15,700 --> 00:18:17,150 Do kion tio vere signifas? 375 00:18:17,150 --> 00:18:22,400 Nu, tio signifas, pli frue, kiam ni estis parolas pri duuma kaj mi uzis 376 00:18:22,400 --> 00:18:28,010 arbitre tri bitoj kunestante parolas binary-- la 1-oj loko, 377 00:18:28,010 --> 00:18:33,600 la 2 loko, kaj la 4an de place-- bone, bajto nur signifas ke vi parolas 378 00:18:33,600 --> 00:18:38,730 ne en unuecoj de tri sed kvar, kvin, ses, sep ok, 379 00:18:38,730 --> 00:18:46,910 kiu donas al ni 8 loko, 16-a, 32-a, 64-a, kaj 128-a. 380 00:18:46,910 --> 00:18:50,010 >> Alivorte, iom ne ĉiuj ke utila unuo de mezuro, 381 00:18:50,010 --> 00:18:53,132 ĉar ĝi estas nur kiel eta peco de informo, aŭ malŝalti. 382 00:18:53,132 --> 00:18:54,840 Do kelkaj jaroj, la mondo simple decidis 383 00:18:54,840 --> 00:18:59,060 ĝi estas iomete pli oportuna por paroli en laŭ bitokoj, ok aferojn samtempe. 384 00:18:59,060 --> 00:19:01,670 Kaj tial tiel naskiĝis la nocio de bajto. 385 00:19:01,670 --> 00:19:03,640 Kaj tial ni havas ok bitoj tie. 386 00:19:03,640 --> 00:19:06,810 >> Kaj ĝi rezultas ankaŭ por similaj kialoj, la mondo decidis jarojn 387 00:19:06,810 --> 00:19:12,439 antaŭ tiu reprezenti ASCII literon, vi tuj uzas unuecojn de 8 bitoj. 388 00:19:12,439 --> 00:19:14,230 Do eĉ se vi ne bezonas ke multaj, vi estas 389 00:19:14,230 --> 00:19:18,130 ĉiam tuj uzi 8 bitojn por reprezentas literon de la alfabeto. 390 00:19:18,130 --> 00:19:20,950 Kaj tio estas konvena, ĉar tiam se 391 00:19:20,950 --> 00:19:28,720 ricevi mesaĝon kiu havas 0 0 0 1 1 1 1 0 sekvis alia 1 1 1 0 1 0 392 00:19:28,720 --> 00:19:33,320 0 1, do se vi ricevas 16 bitoj, la mondo povas nur 393 00:19:33,320 --> 00:19:37,460 supozas ke la unuaj 8 estas unu leteron kaj la dua 8 estas alia letero. 394 00:19:37,460 --> 00:19:39,240 >> Ne gravas kiom da ekzistas. 395 00:19:39,240 --> 00:19:41,460 Ĝi nur gravas ke ni ĉiuj konsekvenca 396 00:19:41,460 --> 00:19:42,950 Kiam ni interpreti tiujn bitoj. 397 00:19:42,950 --> 00:19:44,377 Kaj tio estis nur hazardo. 398 00:19:44,377 --> 00:19:47,210 Tio signifas ion, sed mi ne vere pensas pri kio ĝi signifas. 399 00:19:47,210 --> 00:19:49,620 >> Do ĝi estas malgranda blanka mensogo. 400 00:19:49,620 --> 00:19:51,990 Origine, ASCII reale uzata nur 7 bitoj. 401 00:19:51,990 --> 00:19:54,180 Kaj la oka bito estas nomita ASCII etendita. 402 00:19:54,180 --> 00:19:56,290 Sed la punkto estas, finfine, la sama. 403 00:19:56,290 --> 00:19:58,850 La mondo ĝenerale normigita sur 8 bitoj. 404 00:19:58,850 --> 00:20:04,290 >> Do ĉi tio ŝajnas esti iom limiganta, ĉar mi povas nur 405 00:20:04,290 --> 00:20:07,970 reprezenti ĉefurbo A, ĉefurbo B tra ĉefurbo Z. 406 00:20:07,970 --> 00:20:10,940 Sed certe ne, se mi iros to-- Tie estas aro da rimedoj 407 00:20:10,940 --> 00:20:13,695 rete, ekzemple, asciitable.com, tiu 408 00:20:13,695 --> 00:20:16,310 tuj estos iom superfortanta ĉe unua. 409 00:20:16,310 --> 00:20:18,910 Sed mi atentigas kio estas grava tie. 410 00:20:18,910 --> 00:20:24,090 >> Tio nur okazas al be-- kaj Mi instruos vin walk-- ni vidu, se mi iros tien. 411 00:20:24,090 --> 00:20:27,990 Tie estas, en la dekuma kolumno, la numero 65. 412 00:20:27,990 --> 00:20:32,201 Kaj dekstre kolumno letero karaktero, Chr, estas la litero A. 413 00:20:32,201 --> 00:20:34,450 Kaj vi povas ignori, por nun, ĉio en la mezo. 414 00:20:34,450 --> 00:20:36,769 Tiu estas deksesuma, octal kaj HTML kodo. 415 00:20:36,769 --> 00:20:39,810 Al tiu ejo estas nur provas ĵeti multajn informojn ĉe vi samtempe. 416 00:20:39,810 --> 00:20:42,970 Sed ĉiuj ni zorgas pri estas la dekuma kolumno kaj la karaktero kolumno. 417 00:20:42,970 --> 00:20:46,190 >> Do per tiu logiko, kio estas la nombro kiun la mondo 418 00:20:46,190 --> 00:20:50,510 decidis reprezentas minuskla a? 419 00:20:50,510 --> 00:20:52,230 Yeah, 97. 420 00:20:52,230 --> 00:20:55,850 Kaj ĝuste despistar potenciale iomete, 421 00:20:55,850 --> 00:21:03,715 kiu nombro estas la mondo decidis reprezentus la nombron 1? 422 00:21:03,715 --> 00:21:06,900 423 00:21:06,900 --> 00:21:10,910 Bone, ĉar we-- 49, ŝajnas tie, sur la fundo lasis. 424 00:21:10,910 --> 00:21:12,320 >> Nu, kion mi celas per tio? 425 00:21:12,320 --> 00:21:14,830 Do rezultas ke en komputilaj sistemoj, 426 00:21:14,830 --> 00:21:16,840 estas ĝenerale fundamenta diferenco 427 00:21:16,840 --> 00:21:19,920 inter numero kaj karaktero. 428 00:21:19,920 --> 00:21:22,330 Numero estas la afero ni lernis kreskis kiam 429 00:21:22,330 --> 00:21:23,830 ni estis súper juna en grado lernejo. 430 00:21:23,830 --> 00:21:25,110 Estas aferoj vi havi. 431 00:21:25,110 --> 00:21:30,220 Sed karaktero estas nur formo, oni Signo, por tiel diri, sur la ekrano. 432 00:21:30,220 --> 00:21:36,200 >> Nun, ni homoj ia vidos iu kiu aspektas kiel ĉi tio. 433 00:21:36,200 --> 00:21:39,060 Kaj ni diru, ho, tio estas la numero 2. 434 00:21:39,060 --> 00:21:44,999 Sed ne, tio estas nur simbolo kiu aspektas kiel kion ni konas kiel la numero 2. 435 00:21:44,999 --> 00:21:46,790 Kaj tial ekzistas tiu fundamenta distingo 436 00:21:46,790 --> 00:21:50,340 inter realaj nombroj kaj signoj. 437 00:21:50,340 --> 00:21:52,130 Jen kelkaj. 438 00:21:52,130 --> 00:21:54,420 Sed ĝenerale, en la kunteksto de komputilo, 439 00:21:54,420 --> 00:21:56,809 Se vi anstataŭe vidi io tiamaniere quoted-- 440 00:21:56,809 --> 00:21:58,600 kaj vi ne ĉiam devas vidi ĝin citita, 441 00:21:58,600 --> 00:22:01,474 sed pro discussion-- se vi vidas citilojn ĉirkaŭ la numeron, 442 00:22:01,474 --> 00:22:02,730 tio estas nun gravulo. 443 00:22:02,730 --> 00:22:06,330 Do tiu nombro 2 sub la kapuĉo ene de komputilo 444 00:22:06,330 --> 00:22:12,220 estus reprezentita kun mastro de bitoj kiuj reprezentas la nombron 445 00:22:12,220 --> 00:22:14,850 50 laŭ la diagramo rete. 446 00:22:14,850 --> 00:22:18,300 >> Tamen, se komputilo nur vidas tion, tiu 447 00:22:18,300 --> 00:22:24,580 estus reprezentita per la mastro de bito 0 0 0 0 0 0 1 0. 448 00:22:24,580 --> 00:22:29,595 Dum kiu, tiu karaktero farus reale esti reprezentitaj as-- nun 449 00:22:29,595 --> 00:22:34,710 Mi alvenis al pensi iom harder-- tiel ĉi karaktero estus reprezentita per 0 450 00:22:34,710 --> 00:22:39,080 0 1-- kion mi bezonas ĉi tie? 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 Kiel mi faru tion? 453 00:22:45,480 --> 00:22:49,580 Nu tio estas la numero 50, se vi multigos ĝin uzante tiujn kolumnojn, 454 00:22:49,580 --> 00:22:53,530 tio estas la numero 2, kaj tiel tial ekzistas tiu dicotomía. 455 00:22:53,530 --> 00:22:55,850 >> Kaj tio estas nur teaser nun por karakterizaĵoj 456 00:22:55,850 --> 00:22:59,710 kiuj ekzistas en programlingvoj ke ni tuŝas mallonge poste hodiaŭ. 457 00:22:59,710 --> 00:23:01,950 En programlingvoj, vi havas ĝenerale, 458 00:23:01,950 --> 00:23:04,495 sed ne ĉiam, aferoj voku malsamaj datumtipoj. 459 00:23:04,495 --> 00:23:06,870 Alivorte, oni programmer-- kiam li aŭ ŝi skribas, 460 00:23:06,870 --> 00:23:11,150 programisto ricevas por decidi en kio formato por stoki siajn datumojn. 461 00:23:11,150 --> 00:23:14,120 Vi aŭ stoki datumojn kiel krudaj nombroj, kiel la numero 2. 462 00:23:14,120 --> 00:23:17,940 Aŭ vi povas stoki ilin kiel kordoj, aŭ sekvencoj de karakteroj 463 00:23:17,940 --> 00:23:21,550 ke vi ĝenerale esprimi per citiloj en via programlingvo. 464 00:23:21,550 --> 00:23:25,230 >> Vi povas havi aĵojn called-- Mi oversimplify kaj nomas ilin 465 00:23:25,230 --> 00:23:28,870 reala numbers-- tiel nombroj kiuj ne entjeroj kiel la numero 2, 466 00:23:28,870 --> 00:23:31,310 sed nombrojn ŝatas 4,56. 467 00:23:31,310 --> 00:23:33,490 Tiel reelaj nombroj povas ankaŭ havas dekuman punktoj, 468 00:23:33,490 --> 00:23:36,340 do tio estas malsama fundamenta peco de datumoj en komputilo. 469 00:23:36,340 --> 00:23:41,920 Kaj tiam vi povas eĉ havi aliaj datumtipoj ankoraŭ. 470 00:23:41,920 --> 00:23:45,810 Do tio estas nur gustumaĵo vere de la plej simpla de dezajno decidoj 471 00:23:45,810 --> 00:23:50,960 ke programisto povus faras sub la kapuĉo. 472 00:23:50,960 --> 00:23:52,925 >> Tiel demandojn ĝuste ankoraŭ? 473 00:23:52,925 --> 00:23:57,320 474 00:23:57,320 --> 00:23:59,860 Do ni provu fari ĉi iom pli reala. 475 00:23:59,860 --> 00:24:02,120 Tiu aparataro ne tiel en uzo pli longe. 476 00:24:02,120 --> 00:24:07,420 Sed plej ĉiuj en tiu ĉambro verŝajne kreskis kun kaj ankoraŭ uzas malmolaj diskoj 477 00:24:07,420 --> 00:24:08,010 iel. 478 00:24:08,010 --> 00:24:10,100 >> Kvankam la plejparto de niaj tekkomputiloj ne plu 479 00:24:10,100 --> 00:24:15,900 havas aparatojn kiuj operacias kiel ĉi, anstataŭ tekkomputiloj hodiaŭ ĝenerale 480 00:24:15,900 --> 00:24:18,590 havi solida stato diskoj sen partoj móviles. 481 00:24:18,590 --> 00:24:22,840 Kaj kiu inklinas esti pli multekostaj, bedaŭrinde, sed iomete pli rapida 482 00:24:22,840 --> 00:24:27,230 kaj a-- bone, ofte, multe pli rapida, kiu estas unu el la kialoj. 483 00:24:27,230 --> 00:24:28,980 Kaj ankaŭ ĝi ne generi tiel varmego. 484 00:24:28,980 --> 00:24:31,680 Ĝi povas esti pli malgranda, do estas Ĝenerale reton pozitiva. 485 00:24:31,680 --> 00:24:35,030 >> Sed tiu permesas ni al mapas iom pli konkrete kia 486 00:24:35,030 --> 00:24:38,460 ni parolas pri la 0-aj kaj 1 nivelo nun al fizika aparato. 487 00:24:38,460 --> 00:24:40,810 Estas unu afero por mi paroli pri 0-aj kaj 1-oj en terminoj 488 00:24:40,810 --> 00:24:43,990 de mia telefono aŭ abstrakte en terminoj el ŝanĝas esti sur kaj for. 489 00:24:43,990 --> 00:24:45,340 Sed kio pri malmolaj diskoj? 490 00:24:45,340 --> 00:24:48,495 En via tekkomputiloj, se vi havas pli malnovan unu, aŭ en via surtabla komputilo, 491 00:24:48,495 --> 00:24:51,200 aŭ certe en serviloj hodiaŭ, kie vi havas 492 00:24:51,200 --> 00:24:53,070 malmolaj diskoj kiuj havas oni terabajto de spaco, 493 00:24:53,070 --> 00:24:55,560 4 terabajtoj de spaco, bone kion tio signifas? 494 00:24:55,560 --> 00:24:59,560 >> Malmola disko kun 1 terabajto de spaco per 495 00:24:59,560 --> 00:25:03,890 Tie estas 1 biliono bitokoj ene de ĝi iel, 496 00:25:03,890 --> 00:25:10,450 aŭ ekvivalente 8 bilionoj bitoj ene. 497 00:25:10,450 --> 00:25:16,240 1 terabajto estus 8 terabits aŭ 1 Triliono bitoj, kiu 498 00:25:16,240 --> 00:25:19,330 signifas, se vi havas malmolan veturado, vi iel 499 00:25:19,330 --> 00:25:22,400 aŭ aliaj biliono 0 la kaj 1-oj ene de ĝi. 500 00:25:22,400 --> 00:25:25,360 Kaj se ni nur rigardu la arbitra foton de malmola disko 501 00:25:25,360 --> 00:25:30,110 reprezentanto, tiu estas kio malmola stirado povus tipe aspektas interne. 502 00:25:30,110 --> 00:25:32,600 >> Ĝi ankaŭ estas speco de kiel malnova fonografo ludanto 503 00:25:32,600 --> 00:25:35,350 sed ĝenerale kun multnombraj registroj ene, do 504 00:25:35,350 --> 00:25:38,270 al speak-- multoblaj pladoj, kiel ili estas nomitaj, 505 00:25:38,270 --> 00:25:42,259 metalo cirkla diskoj, kaj tiam iom legado kapo, 506 00:25:42,259 --> 00:25:43,550 multe kiel malnova sonprenilo. 507 00:25:43,550 --> 00:25:46,589 Kaj ke legado kapo moviĝas reen kaj antaŭen kaj iel legas la bitoj. 508 00:25:46,589 --> 00:25:49,380 Kaj kio estas sur tiuj pladoj, eĉ kvankam ni homoj ne povas vidi ilin, 509 00:25:49,380 --> 00:25:52,757 ĉu en realaĵo aŭ en ĉi tiu bildo, Tie estas eta magneta eroj. 510 00:25:52,757 --> 00:25:55,090 Kaj eĉ se vi havas multe forgesitaj kiel elektro funkcias, 511 00:25:55,090 --> 00:25:57,550 magneta partiklo kiu estas ŝargita ĝenerale 512 00:25:57,550 --> 00:26:00,570 havas norda fino kaj suden end-- tiom norde kaj sude. 513 00:26:00,570 --> 00:26:03,000 Kaj tiel la mondo nur decidis iun tempon 514 00:26:03,000 --> 00:26:06,570 ke, se magneta protokolo esence vicigas kiel tiu, nord-suda, 515 00:26:06,570 --> 00:26:07,610 ni nomas ke 1. 516 00:26:07,610 --> 00:26:10,470 Se ĝi estas anstataŭe suda-norda, ni simple nomas tion a 0. 517 00:26:10,470 --> 00:26:13,350 Kaj do se vi havas ĉe via dispono biliono 518 00:26:13,350 --> 00:26:16,300 eta magneta particles-- kaj espereble, 519 00:26:16,300 --> 00:26:18,740 la aparataro inĝenieco en Por turni tiujn ĉirkaŭ 520 00:26:18,740 --> 00:26:24,450 kiel vi vidas fit-- se vi volas reprezentas tutan faskon de 0-a, vi 521 00:26:24,450 --> 00:26:28,120 nur bezonas 8 magnetaj eroj ĉiuj vicigitaj tiel. 522 00:26:28,120 --> 00:26:30,330 Kaj se vi volas reprezenti ok 1-a, vi nur 523 00:26:30,330 --> 00:26:33,170 bezonas 8 magnetaj eroj vicigita reen por malantaŭeniri por malantaŭeniri ŝatas tion. 524 00:26:33,170 --> 00:26:35,515 >> Kion mi celas diri per la magnetaj eroj? 525 00:26:35,515 --> 00:26:38,390 Sincere, ĉiuj tiuj jaroj poste, la afero kiu ankoraŭ venas al mia menso 526 00:26:38,390 --> 00:26:42,139 estas tiu ulo, se vi kreskis kun tiu afero. 527 00:26:42,139 --> 00:26:43,930 Jen little-- por tiuj unfamiliar-- a 528 00:26:43,930 --> 00:26:47,810 iom infanaĝo ludilo ke havas ĉi senhara viro tie 529 00:26:47,810 --> 00:26:51,690 kiu havas ĉiujn tiujn eta nigra magnetaj eroj kiuj venas kun ĝi. 530 00:26:51,690 --> 00:26:53,930 Kaj uzas ruĝan bastono, kiu estas ĝuste magneto, 531 00:26:53,930 --> 00:26:58,460 vi povas ordigi de doni lin bigote aŭ brovoj aŭ hararo aŭ ion sur lin. 532 00:26:58,460 --> 00:27:00,710 Do fakte, se ni zomi en, ekzemple, tio 533 00:27:00,710 --> 00:27:02,950 Estas la speco de ludo povas ludi kun Wooly Willy. 534 00:27:02,950 --> 00:27:06,570 >> Kaj tio estas nur por diri, tiujn estas multe pli grandaj magnetaj eroj 535 00:27:06,570 --> 00:27:09,890 ol estas reale sur malmola disko, kaj multe malpli magnetaj eroj. 536 00:27:09,890 --> 00:27:11,640 Sed ni vere vidos tiam se vi havas 537 00:27:11,640 --> 00:27:14,720 eta magneta eroj en malmola disko, kiel vi povos reale 538 00:27:14,720 --> 00:27:19,090 uzi tiujn por reprezenti datumojn. 539 00:27:19,090 --> 00:27:20,070 >> [VIDEO reprodukto] 540 00:27:20,070 --> 00:27:24,190 >> -la Malmola disko estas kie via PC tendencas plimulto de lia permanenta datumoj. 541 00:27:24,190 --> 00:27:27,170 Fari tion, la datumoj vojaĝas de RAM kune 542 00:27:27,170 --> 00:27:31,720 kun programaro signalojn kiuj diras al la malmola disko kiel memori ke datumojn. 543 00:27:31,720 --> 00:27:36,570 La malmola disko cirkvitoj traduki tiujn signalojn en tensio fluktuoj. 544 00:27:36,570 --> 00:27:40,880 Tiuj, siavice, kontroli la malmola disko la movanta parts-- iuj de la malmultaj movanta 545 00:27:40,880 --> 00:27:43,440 partoj lasis en la moderna komputilo. 546 00:27:43,440 --> 00:27:47,650 >> Kelkaj el la signaloj kontroli motoron, kiu ŝpinas metalo-kovrita pladoj. 547 00:27:47,650 --> 00:27:50,980 Viaj datumoj estas reale stokitaj en tiuj pladoj. 548 00:27:50,980 --> 00:27:56,250 Aliaj signaloj movi la legado / skribo kapoj legi aŭ skribi datumojn sur la pladoj. 549 00:27:56,250 --> 00:28:00,100 Tiu maŝinaro estas tiel preciza ke homa haro ne povis eĉ 550 00:28:00,100 --> 00:28:02,800 pasi inter la kapoj kaj ŝpini pladoj. 551 00:28:02,800 --> 00:28:04,887 Tamen, ĝi ĉiuj laboras en terura rapidoj. 552 00:28:04,887 --> 00:28:05,470 [FINO reprodukto] 553 00:28:05,470 --> 00:28:06,780 Kaj vi povas vidi ĉe la vosto fino de la vídeo, 554 00:28:06,780 --> 00:28:08,340 estas ĝenerale multoblaj pladoj. 555 00:28:08,340 --> 00:28:10,250 Kaj por ke legante kapo ne nur legante la supro. 556 00:28:10,250 --> 00:28:12,458 Estas ia kiel tri aŭ kvar aŭ pli legado kapoj 557 00:28:12,458 --> 00:28:14,920 ke movo kiel tiu, legi datumojn samtempe. 558 00:28:14,920 --> 00:28:17,407 >> Do ekzistas multe de komplekseco kaj ia tempigo 559 00:28:17,407 --> 00:28:18,740 kiu estas implikita en malmola disko. 560 00:28:18,740 --> 00:28:21,920 Kaj la afero turniĝas vere Darn rapida, do ne estas multe da komplekseco. 561 00:28:21,920 --> 00:28:25,220 Sed ni zomi en iom profunda kaj vidi kie ili estas, magnetaj eroj 562 00:28:25,220 --> 00:28:27,370 kaj kiel ni fariĝas ĉe ili. 563 00:28:27,370 --> 00:28:28,750 >> [VIDEO reprodukto] 564 00:28:28,750 --> 00:28:31,830 >> -Let Rigardu kion ni ĵus vidis en malrapida moviĝo. 565 00:28:31,830 --> 00:28:35,230 Kiam mallonga premas de elektro estas sendita al la legado / skribo kapo, 566 00:28:35,230 --> 00:28:39,000 ĝi klakas sur eta elektromagnetaj por frakcio de sekundo. 567 00:28:39,000 --> 00:28:41,390 La magneto kreas kampo, kiu ŝanĝas 568 00:28:41,390 --> 00:28:44,600 la polaridad de eta, eta parto de la metalo eroj 569 00:28:44,600 --> 00:28:46,960 kiu jako ĉiu plado surfaco. 570 00:28:46,960 --> 00:28:50,020 Ŝablono serio de tiuj etaj ŝargita supren areoj sur la disko 571 00:28:50,020 --> 00:28:54,590 reprezentas ununuran pecon de datumoj en la duuma nombro sistemo uzita per komputiloj. 572 00:28:54,590 --> 00:28:57,510 >> Nun, se la nuna estas sendita unu vojo tra la legado / skribo kapo, 573 00:28:57,510 --> 00:28:59,899 la areo estas polarizita en unu direkto. 574 00:28:59,899 --> 00:29:01,940 Se la nuna estas sendita en la kontraŭa direkto, 575 00:29:01,940 --> 00:29:04,020 la polarizo estas inversa. 576 00:29:04,020 --> 00:29:06,440 Kiel vi akiras datumojn de la malmola disko? 577 00:29:06,440 --> 00:29:08,190 Nur inversigi la procezon. 578 00:29:08,190 --> 00:29:10,440 Do ĝi estas la eroj en la disko kiu akiras la nunan 579 00:29:10,440 --> 00:29:12,260 en la legado / skribo kapo moviĝas. 580 00:29:12,260 --> 00:29:14,580 Kunmetita milionojn da tiuj magnetizada segmentoj, 581 00:29:14,580 --> 00:29:16,220 kaj vi havas dosieron. 582 00:29:16,220 --> 00:29:21,030 >> Nun, la pecoj de sola dosiero eble disĵetitaj ĉie veturadon la pladoj, 583 00:29:21,030 --> 00:29:24,060 ia kiel la salato de paperoj sur via skribtablo. 584 00:29:24,060 --> 00:29:27,590 Tiel speciala ekstra dosieron tenas spuro de kie ĉiu. 585 00:29:27,590 --> 00:29:30,440 Ĉu vi deziras vin havis io simila? 586 00:29:30,440 --> 00:29:31,290 >> [FINO reprodukto] 587 00:29:31,290 --> 00:29:36,260 >> Do estanta aludis tie eble estas ke temo de hieraŭ de forigo. 588 00:29:36,260 --> 00:29:38,380 Kiam vi forviŝi dosiero, hieraŭ ni diris 589 00:29:38,380 --> 00:29:41,020 ke komputilo efektive faras kion, kiam vi treni ion 590 00:29:41,020 --> 00:29:44,110 al la Reutiliga Bin aŭ rubujo? 591 00:29:44,110 --> 00:29:45,150 Ĝi nur forgesas gxin. 592 00:29:45,150 --> 00:29:47,540 Sed la 0-aj kaj 1-oj, la magnetaj eroj 593 00:29:47,540 --> 00:29:50,640 ke aspektas ruĝa kaj blua aferoj tie, aŭ mia brako tie, 594 00:29:50,640 --> 00:29:52,350 estas ankoraŭ sur la malmola disko. 595 00:29:52,350 --> 00:29:56,090 >> Do tie ekzistas software-- Norton Utilities kaj Yesteryear 596 00:29:56,090 --> 00:29:58,159 kaj aliaj pli modernaj software-- ke nur 597 00:29:58,159 --> 00:30:01,200 skanos tutan malmola disko rigardanta ĉe ĉiuj tiuj 0-aj kaj 1-oj, ĉar 598 00:30:01,200 --> 00:30:06,890 rezultas ke plejparto dosiero formats-- Vorto dokumentoj, Excel dosieroj, bildoj, 599 00:30:06,890 --> 00:30:10,380 video files-- ĉiuj havas certajn ŝablonoj kiuj estas komunaj inter ili. 600 00:30:10,380 --> 00:30:12,550 Ĉiu video dosiero eble esti de malsama vídeo, 601 00:30:12,550 --> 00:30:14,870 sed la unuaj pluraj bitoj estas kutime la sama. 602 00:30:14,870 --> 00:30:16,790 Aŭ la lasta pluraj bitoj kutime la sama. 603 00:30:16,790 --> 00:30:19,910 >> Kaj tiel kun alta probablo, Vi povas serĉi tiujn mastrojn. 604 00:30:19,910 --> 00:30:23,700 Kaj eĉ se la dosiero estis forgesita, vi povas diri kun alta probablo, 605 00:30:23,700 --> 00:30:28,460 sed ĉi aspektas kiel Word dokumento, permesas rekuperi ĝin kaj un-forgesu ĝin, 606 00:30:28,460 --> 00:30:28,990 se vi volas. 607 00:30:28,990 --> 00:30:32,330 Kaj do tiel estas kiel vi povas reakiri datumoj kiuj estas ĉu estis hazarde 608 00:30:32,330 --> 00:30:36,560 forigita aŭ forigitaj aŭ intence forigita por kiaj celoj. 609 00:30:36,560 --> 00:30:42,530 >> Kontraste, sekura forigo agados en la kunteksto de bildo tiel? 610 00:30:42,530 --> 00:30:44,059 Ĝuste, faras ilin cxiujn hazarda. 611 00:30:44,059 --> 00:30:46,350 Do ia movas kelkaj ilin malsupren, kelkaj el ili supren, 612 00:30:46,350 --> 00:30:49,433 lasas iuj de ili neŝanĝita, kaj ĝenerale faras hazarda bruo el ĝi, 613 00:30:49,433 --> 00:30:52,960 aŭ nur eble faras ĉiujn ilin 0 La aŭ ĉiuj el ili 1-oj. 614 00:30:52,960 --> 00:30:56,350 Kaj ke tro povas ĝenerale arbustaro viajn datumojn for. 615 00:30:56,350 --> 00:31:00,160 >> Do ni revenu nun al la temo de komputa pensado, per 616 00:31:00,160 --> 00:31:03,270 ni havas la formulon enigoj. 617 00:31:03,270 --> 00:31:06,390 Kaj algoritmoj donas vi eligas finfine. 618 00:31:06,390 --> 00:31:09,270 Ni enfokusigi nun enigoj kaj eliroj, ĉar nun mi 619 00:31:09,270 --> 00:31:12,159 aserto ni havas vojon de reprezentanta enigoj kaj eligoj. 620 00:31:12,159 --> 00:31:13,450 Ni nur tuj uzos duuma. 621 00:31:13,450 --> 00:31:15,910 >> Kaj neniu gravi kion ni volas reprezenti hodiaŭ, 622 00:31:15,910 --> 00:31:20,230 ĉu ĝi estas nombro aŭ letero aŭ miloj Sur telefono libro 623 00:31:20,230 --> 00:31:23,210 aŭ bildojn aŭ filmojn, ĉe la fino de la tago, ĝi estas ĉio 0-aj kaj 1-oj. 624 00:31:23,210 --> 00:31:26,640 Kaj mi asertas ke, eĉ se tiu Estas súper simpla mondo kun nur 0 la 625 00:31:26,640 --> 00:31:28,240 kaj 1-a, ni povas konstrui mem supren. 626 00:31:28,240 --> 00:31:32,210 Kaj ni vidis unu ekzemplo de ke per leteroj tiom. 627 00:31:32,210 --> 00:31:35,615 >> Do ni enfokusigi nun ĉi meza ingredienco, algoritmo. 628 00:31:35,615 --> 00:31:38,190 Kaj ni revenos al tiu ekzemplo de Mike Smith. 629 00:31:38,190 --> 00:31:41,689 Do en ĉi tiu telefono libro, kiun rekoni, ni ne uzas tiel plu, 630 00:31:41,689 --> 00:31:42,980 estas problemo solvenda. 631 00:31:42,980 --> 00:31:45,040 Ni volas trovi iun kiel Mike Smith. 632 00:31:45,040 --> 00:31:47,520 >> Kaj kio povus fari por trovi Mike? 633 00:31:47,520 --> 00:31:51,197 Nu, mi povus simple malfermu tiun libro, komenci ĉe la unua paĝo, 634 00:31:51,197 --> 00:31:52,780 kaj rimarkas, ho, mi estas en la Sekcio. 635 00:31:52,780 --> 00:31:53,510 Mike ne ekzistas. 636 00:31:53,510 --> 00:31:55,510 Mi bezonas la S sekcio por Smith. 637 00:31:55,510 --> 00:31:58,192 Do simple observu turnante unu paĝo samtempe. 638 00:31:58,192 --> 00:32:00,900 Lasu min ŝajnigi ke tiu estas ĉiuj blankaj paĝoj kaj ne flavajn paĝojn, 639 00:32:00,900 --> 00:32:02,910 ĉar ni ne tuj trovi Mike en la flavaj paĝoj ĉiuokaze. 640 00:32:02,910 --> 00:32:04,034 Sed mi estas en la blankaj paĝoj. 641 00:32:04,034 --> 00:32:05,340 Kaj nun mi estas en la B sekcio. 642 00:32:05,340 --> 00:32:06,810 Mi ankoraŭ ne trovis lin. 643 00:32:06,810 --> 00:32:08,890 Do mi plu rivoluos unu paĝo samtempe. 644 00:32:08,890 --> 00:32:10,130 >> Tio estas algoritmo. 645 00:32:10,130 --> 00:32:12,440 Estas aro de instrukcioj por solvi iun problemon. 646 00:32:12,440 --> 00:32:16,480 Alivorte, rigardu paĝo, se Mike ne sur gxi, 647 00:32:16,480 --> 00:32:20,020 turni paĝon, kaj ripetoj denove kaj denove kaj denove, 648 00:32:20,020 --> 00:32:21,760 ideale rigardante malsupren kiel vi faras ĝin. 649 00:32:21,760 --> 00:32:24,120 Tia estas tiu algoritmo, tiu procezo, korekta? 650 00:32:24,120 --> 00:32:27,400 651 00:32:27,400 --> 00:32:28,830 >> Pardonon. 652 00:32:28,830 --> 00:32:30,056 Ne, mi aŭdas iun nos. 653 00:32:30,056 --> 00:32:33,250 654 00:32:33,250 --> 00:32:36,125 Okej, sed is-- yeah, ĝi estas certe teda. 655 00:32:36,125 --> 00:32:39,000 Kiel ni estos ĉi tie tutan tagon, se mi teni serĉanta Mike ĉe tiu rapideco. 656 00:32:39,000 --> 00:32:41,430 Sed mi asertas ĝi estas korekta. 657 00:32:41,430 --> 00:32:43,850 Ĝi estas stulta, sed ĝi estas korekta. 658 00:32:43,850 --> 00:32:47,209 >> Fine de la tago, dum ĝi eble prenu trovos Mike se li estas en tie 659 00:32:47,209 --> 00:32:48,250 kaj mi pagas atenton. 660 00:32:48,250 --> 00:32:50,230 Kaj mi fine atingi lia paĝo. 661 00:32:50,230 --> 00:32:52,890 Kaj se mi iras tro malproksime, se Mi alvenas al la T sekcio, 662 00:32:52,890 --> 00:32:55,900 tiam mi povas iomete optimizar kaj ĝuste diri, hm, ĉiuj farita. 663 00:32:55,900 --> 00:32:57,980 Mi eĉ ne bezonas malŝpari tempo tuj la Z. 664 00:32:57,980 --> 00:33:00,010 Sed tio estas tre lineara alproksimiĝo, se vi 665 00:33:00,010 --> 00:33:03,370 estos, tre speco de maldekstra-al-dekstra alproksimiĝo, rekto. 666 00:33:03,370 --> 00:33:05,560 Kaj lia ĝentila sed malrapida. 667 00:33:05,560 --> 00:33:09,250 >> Tial mi memoras de grado lernejo, varo de optimumiga de unua lernojarano, 668 00:33:09,250 --> 00:33:13,756 kie mi lernis ne rigardas de tiuj nur per twos-- do 2, 4, 6. 669 00:33:13,756 --> 00:33:15,630 Ĝi estas A, multe malpli facile do, sed en teorio, ĝi estas 670 00:33:15,630 --> 00:33:20,149 faster-- 8, 10, 12, 14, kaj tiel plu. 671 00:33:20,149 --> 00:33:21,190 Kion pri tiu algoritmo? 672 00:33:21,190 --> 00:33:23,150 Estas pli efika? 673 00:33:23,150 --> 00:33:23,880 Estas ĝi pli rapide? 674 00:33:23,880 --> 00:33:25,365 >> Spektantaro: Ĝi estas efika. 675 00:33:25,365 --> 00:33:28,560 >> DAVID Malan: Jes, do ĝi estas def-- estas laŭvorte duoble rapida, supozante mi 676 00:33:28,560 --> 00:33:30,170 ne akiri stumblis supren per miaj fingroj. 677 00:33:30,170 --> 00:33:32,294 Ĝi estas duoble rapida, ĉar Mi turniĝadas tra du 678 00:33:32,294 --> 00:33:36,560 paĝojn samtempe anstataŭ unu, sed ĝi estas potenciale en korekta, ĉar kial? 679 00:33:36,560 --> 00:33:37,852 >> Spektantaro: Vi saltante iuj. 680 00:33:37,852 --> 00:33:41,185 DAVID Malan: Bone, se Mike okazas esti sandwiched-- eble kiam mi poste 681 00:33:41,185 --> 00:33:44,370 en la telefono libro, Mike hazarde estas krampitaj inter tiuj du paĝoj, 682 00:33:44,370 --> 00:33:46,720 kaj mi simple blinde salti super ĝi. 683 00:33:46,720 --> 00:33:48,490 Do ni bezonas iom solvon tie. 684 00:33:48,490 --> 00:33:51,290 Iam mi trafis la T sekcio, mi ne nur memfide diri, 685 00:33:51,290 --> 00:33:52,420 Ni ne trovis Mike Smith. 686 00:33:52,420 --> 00:33:53,770 Mi verŝajne devas duobligi reen. 687 00:33:53,770 --> 00:34:00,210 Aŭ fakte, kiam mi atingos iun nomita S-N, anstataŭ S-M por Smith, 688 00:34:00,210 --> 00:34:02,790 tuj, mi povus duobligi dorso, ĉar eble li 689 00:34:02,790 --> 00:34:03,900 estis sur la antaŭa paĝo. 690 00:34:03,900 --> 00:34:05,070 >> Sed mi ne devas duobligi reen nun. 691 00:34:05,070 --> 00:34:08,030 Teorie, se mi faros ĝin ĉe la dekstra tempo, mi simple reiri unu paĝo. 692 00:34:08,030 --> 00:34:10,139 Do ĝi estas aldonante nur unu ekstran paŝon. 693 00:34:10,139 --> 00:34:13,070 Do mi iris dufoje kiel rapida, sed tio kostos al mi unu ekstran paĝon. 694 00:34:13,070 --> 00:34:14,699 Sed kiu sentas kiel pura gajno. 695 00:34:14,699 --> 00:34:17,230 >> Sed ĉi tio ne lin plej homoj en ĉi ĉambro devus solvi tiun problemon. 696 00:34:17,230 --> 00:34:20,313 Kion farus tipa persono, eble Antaŭ kelkaj jaroj faros, por trovi Mike Smith? 697 00:34:20,313 --> 00:34:22,900 698 00:34:22,900 --> 00:34:24,800 Yeah, ne trovis Mike. 699 00:34:24,800 --> 00:34:27,190 Kion mi faras? 700 00:34:27,190 --> 00:34:31,027 Tiel akiri iom pli proksime, sed mi faras know-- veron pri telefona libro? 701 00:34:31,027 --> 00:34:32,110 Spektantaro: Ĝi estas secuencial. 702 00:34:32,110 --> 00:34:32,760 DAVID Malan: Estas secuencial. 703 00:34:32,760 --> 00:34:33,750 Ĝi estas alfabeta. 704 00:34:33,750 --> 00:34:36,540 Kaj do se mi estas en la M sekcio, Mike estas klare dekstren, 705 00:34:36,540 --> 00:34:39,949 Mi povas laŭvorte dissxiros la problemo en half-- 706 00:34:39,949 --> 00:34:44,360 ĝi estas kutime pli facila ol that-- larmo la problemo en duono kaj ĵeti ĝin for, 707 00:34:44,360 --> 00:34:47,627 tial nun, mi havas problemon jen plu 1.000 pages-- ke estis malfacila, 708 00:34:47,627 --> 00:34:50,210 ĉar mi kredas ke mi vere ŝiris la telefono libro ĉi time-- ne 709 00:34:50,210 --> 00:34:52,219 1.000 paĝoj, sed 500. 710 00:34:52,219 --> 00:34:54,750 >> Do la problemo estas laŭvorte duono tiel granda. 711 00:34:54,750 --> 00:34:58,170 Kaj tio estas sufiĉe konvinka, ĉar kun mia antaŭa algoritmoj, versio 712 00:34:58,170 --> 00:35:02,870 1 kaj 2, mi estis nur faranta la problemo unu paĝo malgrandaj, du paĝoj malgrandaj 713 00:35:02,870 --> 00:35:03,470 samtempe. 714 00:35:03,470 --> 00:35:07,230 Sed nun, mi faris 500 paĝoj malgrandaj subite. 715 00:35:07,230 --> 00:35:10,089 >> Bone, do nun, Karim proponas ke mi iras al la dekstra duono. 716 00:35:10,089 --> 00:35:12,380 Do mi tuj iras malglate al la mezo, donu aŭ preni. 717 00:35:12,380 --> 00:35:15,185 Kaj se mi faris ĉi matematike, Mi povis iri rajton al la mezo. 718 00:35:15,185 --> 00:35:17,060 Nun mi rimarkas, ho, Mi estas en la T sekcio. 719 00:35:17,060 --> 00:35:18,280 Mi fakte ne tro malproksime. 720 00:35:18,280 --> 00:35:21,670 >> Sed mi povas, denove, ŝiri la problemo en duono, forĵeti ĝin. 721 00:35:21,670 --> 00:35:23,330 Kaj mia bitokoj ne tiel granda. 722 00:35:23,330 --> 00:35:28,780 Ĝi estas nur, kion, 256 paĝoj aŭ 250 paĝoj, donu aŭ preni nun. 723 00:35:28,780 --> 00:35:31,570 Sed ĝi estas ankoraŭ maniero pli ol unu paĝon aŭ du paĝoj. 724 00:35:31,570 --> 00:35:33,345 >> Kaj tiel nun mi iros krude al la mezo. 725 00:35:33,345 --> 00:35:35,330 Ho, mi ne iris tre longen sufiĉe nun. 726 00:35:35,330 --> 00:35:37,880 Do mi ripetas, ripeto, ripeti, ripeti, ĝis mi espereble 727 00:35:37,880 --> 00:35:40,360 lasita kun nur unu paĝo. 728 00:35:40,360 --> 00:35:44,000 >> Tial invitas la demandon, se mi komenciĝis kun proksimume 1.000 paĝojn, 729 00:35:44,000 --> 00:35:47,340 kiom da paŝoj? i prenis min kun versio 1 de mia algoritmo? 730 00:35:47,340 --> 00:35:50,420 Nu, se Mike estas en la S sekcio, en la plej malbona kazo, 731 00:35:50,420 --> 00:35:52,630 tio estas sufiĉe proksima al Fine de la alfabeto. 732 00:35:52,630 --> 00:35:56,559 Do se la telefono libro havas 1.000 paĝojn, Mi trovos Mike ene 1.000 paĝoj, 733 00:35:56,559 --> 00:35:57,100 doni aŭ preni. 734 00:35:57,100 --> 00:35:59,750 Eble estas kiel 800 aŭ tiel, sed ĝi estas sufiĉe proksima al 1,000. 735 00:35:59,750 --> 00:36:01,680 >> Dum kiu, en la dua algoritmo, kiom da 736 00:36:01,680 --> 00:36:06,840 paĝo turnas maksimume povus mi postulas trovi Mike Smith? 737 00:36:06,840 --> 00:36:09,970 Ekzistas 1.000 paĝoj, sed mi estas fari ilin du samtempe. 738 00:36:09,970 --> 00:36:13,045 Bone, do maks kiel 500ish, ĉar se mi iros tra la tuta telefono libro, 739 00:36:13,045 --> 00:36:14,170 ĉe kiu punkto, mi povas halti. 740 00:36:14,170 --> 00:36:16,669 Sed mi forrazos kelkaj de nur haltante ĉe la T sekcio. 741 00:36:16,669 --> 00:36:19,880 Sed estas en la plej malbona kazo 500 paĝoj. 742 00:36:19,880 --> 00:36:24,710 >> Do kiom da fojoj mi povas dividi 1,00o-paĝo telefono libro en duono denove 743 00:36:24,710 --> 00:36:30,450 kaj denove kaj again-- de 1.000 al 500 250 al 125? 744 00:36:30,450 --> 00:36:32,250 Kiom longe antaŭ ol mi trafis unu paĝo? 745 00:36:32,250 --> 00:36:35,510 746 00:36:35,510 --> 00:36:36,370 Jes, ĝi estas proksimume 10. 747 00:36:36,370 --> 00:36:40,780 Depende rondigas kaj tia, ĝi estas 10 paĝoj entute necesas transformigxos 748 00:36:40,780 --> 00:36:43,290 aŭ telefono libroj devas esti ŝirita. 749 00:36:43,290 --> 00:36:44,710 >> Do jen bela potenca. 750 00:36:44,710 --> 00:36:48,170 Ni komencis kun 1.000-paĝa problemo en ĉiuj tri de ĉi tiuj rakontoj. 751 00:36:48,170 --> 00:36:51,850 Sed en la unua algoritmo, ĝi prenis min, plej malbona kazo, 1,000 paĝon 752 00:36:51,850 --> 00:36:52,740 turnas trovi Mike. 753 00:36:52,740 --> 00:36:55,590 Dua algoritmo, 500 paĝoj trovi Mike. 754 00:36:55,590 --> 00:36:58,480 Tria algoritmo, 10 paĝoj trovi Mike. 755 00:36:58,480 --> 00:37:00,230 Kaj ĝi estas eĉ pli potenca kiam vi pensas 756 00:37:00,230 --> 00:37:01,860 pri ia kontraŭa scenaro. 757 00:37:01,860 --> 00:37:05,680 Supozu ke la telefono kompanio sekva jaro eble kunfandas du urboj kune, 758 00:37:05,680 --> 00:37:08,550 kaj la telefona libro estas subite tiu dika, anstataŭ ĉi tiu, 759 00:37:08,550 --> 00:37:12,470 tiel 2.000 paĝojn anstataŭ 1.000. 760 00:37:12,470 --> 00:37:15,640 Nu, mia unua algoritmo serĉas Mike Smith en 2.000-paĝan telefono libro, 761 00:37:15,640 --> 00:37:21,460 malbona kazo, ĝi estas tuj prenos kiom paĝo turnas venontjare? 762 00:37:21,460 --> 00:37:24,800 >> Telefono libro estas 2.000 paĝoj, so-- bone, ne pli. 763 00:37:24,800 --> 00:37:29,540 Se la telefono libro estas duoble dika en la unua algoritmo, unua algoritmo, 764 00:37:29,540 --> 00:37:30,380 2,000, ĉu ne? 765 00:37:30,380 --> 00:37:33,005 En la plej malbona kazo, Mike estas vere fermi al la fino de la libro, 766 00:37:33,005 --> 00:37:34,110 do estas 2.000 paĝo turnoj. 767 00:37:34,110 --> 00:37:38,070 Dua algoritmo preterirantan duope, kiel 1.000 paĝoj. 768 00:37:38,070 --> 00:37:41,490 >> Sed kion pri mia tria kaj pli freŝa algoritmo? 769 00:37:41,490 --> 00:37:44,950 Se la telefono kompanio duobligas la numeron de paĝoj de 1.000 al 2.000, 770 00:37:44,950 --> 00:37:47,770 kiom pli fojoj bezonas mi disŝiros ke libro en duono trovi Mike? 771 00:37:47,770 --> 00:37:48,710 >> Spektantaro: Nur unu. 772 00:37:48,710 --> 00:37:51,001 >> DAVID Malan: Nur unu pli, ĉar kun unu paĝo larmo, 773 00:37:51,001 --> 00:37:53,270 Mi povas laŭvorte dividi kaj konkeri, se vi volas, 774 00:37:53,270 --> 00:37:57,410 ke problemo en duono preno amasa mordo el ĝi. 775 00:37:57,410 --> 00:38:01,420 Kaj tial ĉi tio estas ekzemplo de efikeco kaj defendeble algoritmo 776 00:38:01,420 --> 00:38:04,100 kun kiu ni ĉiuj estas ia intuicie familiara. 777 00:38:04,100 --> 00:38:07,780 Sed estas same ĝentilaj kiel miaj aliaj algoritmoj 778 00:38:07,780 --> 00:38:09,630 kun tiu tweak por la dua algoritmo, 779 00:38:09,630 --> 00:38:11,290 sed estas tiel multe pli efika. 780 00:38:11,290 --> 00:38:14,030 >> Kaj fakte, kion komputilo sciencisto, aŭ siavice programisto, 781 00:38:14,030 --> 00:38:17,580 estus tipe fari kiam skribanta poŝtkodo estas provi elkompreni, 782 00:38:17,580 --> 00:38:19,960 bone, mi ne volas mia programo nur esti ĝentilaj, 783 00:38:19,960 --> 00:38:23,220 Mi ankaŭ volas ĝin esti efika kaj solvi problemojn bone. 784 00:38:23,220 --> 00:38:26,450 Imagu en la reala mondo hodiaŭ, kiel Google indeksas, serĉoj 785 00:38:26,450 --> 00:38:31,580 kiel miliardoj da paĝoj, imagu se ili uzita la unua algoritmo por trovi katoj 786 00:38:31,580 --> 00:38:34,620 inter miliardo pages-- rigardante la unua paĝo en la datumbazo, 787 00:38:34,620 --> 00:38:37,700 la dua, la tria, nur rigardante por kato, serĉante kato. 788 00:38:37,700 --> 00:38:40,350 Tio estas sufiĉe darn malrapidigi ĝi ŝajnus. 789 00:38:40,350 --> 00:38:43,170 Ili povus anstataŭe uzi ion nomita duuma serĉo, kiu 790 00:38:43,170 --> 00:38:47,420 neniu coincidence-- bi Signifanta du, ni teni dividanta ion en 2, en half-- 791 00:38:47,420 --> 00:38:50,205 ili povis uzi duuma serĉo kaj eble trovi katoj eĉ pli rapide, 792 00:38:50,205 --> 00:38:51,830 aŭ kion estas vi serĉanta. 793 00:38:51,830 --> 00:38:54,125 >> Kaj sincere, estas eĉ amatoro algoritmoj 794 00:38:54,125 --> 00:38:56,250 ke fari multe pli ol nur dividante aferoj en duono 795 00:38:56,250 --> 00:38:58,180 Por trovi informon rapide. 796 00:38:58,180 --> 00:39:00,880 Kaj ni parolos iomete pri tiuj post tagmanĝo hodiaŭ. 797 00:39:00,880 --> 00:39:02,640 Do mi simple provi reprezenti tion. 798 00:39:02,640 --> 00:39:05,380 Ni ne devas iri en ajna math aŭ realaj nombroj. 799 00:39:05,380 --> 00:39:07,070 Ni povas paroli pri tio en la abstrakta. 800 00:39:07,070 --> 00:39:11,580 >> Sed lasu min nur proponi, se vi estis dialogante nun 801 00:39:11,580 --> 00:39:13,491 kun la inĝenieroj proponante ĉi algoritmo 802 00:39:13,491 --> 00:39:15,490 kaj vi provas fari kalkulita decido, 803 00:39:15,490 --> 00:39:17,285 ĉar eble la inĝeniero diras al vi, vi 804 00:39:17,285 --> 00:39:19,910 scias kion mi povas efektivigi lineara serĉo en kiel du minutoj. 805 00:39:19,910 --> 00:39:21,150 Ĝi estas tiel facila. 806 00:39:21,150 --> 00:39:24,790 Duuma serĉo estas ne kaprico, sed ĝi estas tuj prenos min kiel 10 minutoj, 807 00:39:24,790 --> 00:39:26,650 tiel 5 fojojn tiel longe. 808 00:39:26,650 --> 00:39:30,900 >> Ekzistas komerca tie, eĉ laŭ decidi kion programaro skribi. 809 00:39:30,900 --> 00:39:34,760 Ĉu vi skribas la pli simpla algoritmo, kiu nur preni vin du minutoj? 810 00:39:34,760 --> 00:39:39,880 Aŭ ĉu vi pasigas pli da tempo, 10 minutoj, skribi la amatoro algoritmo? 811 00:39:39,880 --> 00:39:43,540 Kiel vi decidos ke ia demando? 812 00:39:43,540 --> 00:39:46,710 Aŭ vi povus fari ĝin iom pli reala. 813 00:39:46,710 --> 00:39:50,610 Mi diras mia estro ĝi tuj preni mi ĉu unu semajno aŭ 10 semajnoj 814 00:39:50,610 --> 00:39:52,490 apliki la programaro tiamaniere, kiamaniere 815 00:39:52,490 --> 00:39:56,103 vi decidi kion algoritmo al verda lumo? 816 00:39:56,103 --> 00:39:56,603 Karim? 817 00:39:56,603 --> 00:39:57,550 >> Spektantaro: La aŭdienco, mi supozas. 818 00:39:57,550 --> 00:39:57,960 >> DAVID Malan: La aŭdienco. 819 00:39:57,960 --> 00:39:59,460 Kion vi volas diri per la oreloj? 820 00:39:59,460 --> 00:40:03,460 >> Spektantaro: Se ĝi estas tuj uzota de uzantoj 821 00:40:03,460 --> 00:40:09,050 kiuj [inaudible] de uzantoj [inaudible]. 822 00:40:09,050 --> 00:40:11,232 Sed se ĝi estas io vi estas nur fari mem 823 00:40:11,232 --> 00:40:13,946 faciligi problemo, [Inaudible] rapida. 824 00:40:13,946 --> 00:40:16,820 DAVID Malan: Jes, ĝi estas rapida kaj malpura estas bona maniero por priskribi ĝin. 825 00:40:16,820 --> 00:40:18,695 Fakte, se vi estas priskribante multe de mia tempo 826 00:40:18,695 --> 00:40:23,630 en grad lernejo, per kio ofte tempoj, Mi skribis malbonajn kodo konscie so-- 827 00:40:23,630 --> 00:40:26,490 almenaŭ, tiel estas kiel mi raciigita it-- konscie tiel, 828 00:40:26,490 --> 00:40:30,670 ĉar kvankam mi estis skribanta kodo kiu estis relative malrapidaj por ekzekuti, 829 00:40:30,670 --> 00:40:33,750 Mi povis skribi la kodon mem sufiĉe rapide, elspezante nur minutoj 830 00:40:33,750 --> 00:40:35,107 aŭ horoj ne tagoj. 831 00:40:35,107 --> 00:40:37,190 Kaj montriĝis, mi foje bezonis dormi. 832 00:40:37,190 --> 00:40:41,270 Do eĉ se mia kodo bezonata 8 horoj kuri, bone tio estas bone, 833 00:40:41,270 --> 00:40:42,850 Mi nur iri dormi dum ĝi kuras. 834 00:40:42,850 --> 00:40:46,350 >> Do tiutempe, mi opiniis tion tre lerta, kvankam mi ŝajne 835 00:40:46,350 --> 00:40:48,990 laborita tra mia PhD tre malrapide. 836 00:40:48,990 --> 00:40:52,270 Sed la reo de kiu ke, se mi estis skribanta softvaron 837 00:40:52,270 --> 00:40:55,930 por aliaj personoj, kiuj gravis pli ol mi, nu, 838 00:40:55,930 --> 00:40:59,580 havante ilin atendi 8 horoj reiri siaj serĉrezultoj 839 00:40:59,580 --> 00:41:01,350 Ne ĉiuj kiuj konvinka. 840 00:41:01,350 --> 00:41:04,090 Kaj tiel elspezi pli tempo supren fronto skribi programaron 841 00:41:04,090 --> 00:41:07,300 kiu estas pli efika, pli kiel nia tria algoritmo, 842 00:41:07,300 --> 00:41:09,780 probable profitigas la uzantoj super tempo. 843 00:41:09,780 --> 00:41:12,710 Tiel vere dependas sur tempo kiel tiuj kostoj sumigas. 844 00:41:12,710 --> 00:41:14,960 Se vi tuj skribos programaro uzi fojon, 845 00:41:14,960 --> 00:41:17,240 verŝajne povus tiel fari rapida kaj malpura, kiel ili diras. 846 00:41:17,240 --> 00:41:18,198 Nur ĵeti kune. 847 00:41:18,198 --> 00:41:20,560 Ĝi estas kodo kiu embarasas vi, estas tiel malbona, 848 00:41:20,560 --> 00:41:23,860 sed akiras la laborpostenon farita ĝuste, kvankam ĝi ne estas efika. 849 00:41:23,860 --> 00:41:27,200 Male, vi pasigas pli da tempo sur io, akiri ĝin ĝuste. 850 00:41:27,200 --> 00:41:30,730 Kaj tiam amortizita tempo, ke upfront kosto de tempo 851 00:41:30,730 --> 00:41:34,330 Estas probable indas, se vi tenas optimizando por la komuna kazo. 852 00:41:34,330 --> 00:41:37,620 >> Kaj efektive, jen temo en programado, aŭ komputika pli 853 00:41:37,620 --> 00:41:41,390 Ĝenerale, provi optimumigi Ne por la malofta kazo 854 00:41:41,390 --> 00:41:44,390 sed la komunaj case-- kion operacio okazos denove kaj denove? 855 00:41:44,390 --> 00:41:47,730 Se vi tuj havos miliardoj de uzantoj serĉi en via retejo, 856 00:41:47,730 --> 00:41:52,030 vi supozeble elspezi la kroman semajnoj ĝis antaŭ skribi bona programaro, 857 00:41:52,030 --> 00:41:53,670 por ke ĉiuj viaj uzantoj profitigi. 858 00:41:53,670 --> 00:41:57,840 Nun ni provu kapti tiun pli iom bilde, sed ne tiom 859 00:41:57,840 --> 00:41:58,610 ciferece. 860 00:41:58,610 --> 00:42:01,680 >> Do jen nur malnova lernejo diagramo. 861 00:42:01,680 --> 00:42:04,260 Kaj mi diru ke tio estas tempo. 862 00:42:04,260 --> 00:42:06,660 Kaj ne gravas what-- fakte, ecx tempo. 863 00:42:06,660 --> 00:42:08,320 Ni metis tiun sur la alia akso. 864 00:42:08,320 --> 00:42:15,700 Diru ke ĉi tiu estas la momento, kaj tio estas grandeco de problemo. 865 00:42:15,700 --> 00:42:17,830 >> Kaj komputila sciencisto povus ĝenerale nomas 866 00:42:17,830 --> 00:42:20,820 ĉi nur n. n estas kiel nia iri-al variablo, kie 867 00:42:20,820 --> 00:42:26,351 n estas nombro, n nombro, kaj ĝi estas la kelkaj ajn enigoj vi havas. 868 00:42:26,351 --> 00:42:28,100 Do en ĉi tiu kazo, n estas la nombro de paĝoj. 869 00:42:28,100 --> 00:42:30,150 Do eble estos 1,000 en la kazo ĵus diris. 870 00:42:30,150 --> 00:42:31,969 >> Tiel tempo povas esti ajna unueco de mezuro. 871 00:42:31,969 --> 00:42:32,760 Eble, ĝi estas dua. 872 00:42:32,760 --> 00:42:33,410 Eble, estas tagoj. 873 00:42:33,410 --> 00:42:34,590 Eble, estas kiel paĝo turnoj. 874 00:42:34,590 --> 00:42:35,215 Ne gravas. 875 00:42:35,215 --> 00:42:38,840 Kion ajn vi deziras kalkuli je, ke Estos tempo aŭ kosto ekvivalente. 876 00:42:38,840 --> 00:42:42,400 >> Do kun tiu unua algoritmo, se mi, ekzemple, 877 00:42:42,400 --> 00:42:45,920 havis 1.000-paĝan telefono libro, Mi tuj desegni punkton tie, 878 00:42:45,920 --> 00:42:51,450 ĉar se ĝi estas 1.000 paĝoj, ĝi prenis proksimume 1.000 paĝo turnas, donu aŭ preni. 879 00:42:51,450 --> 00:42:54,100 Kaj se mi havis 2.000-paĝan telefono libro, 880 00:42:54,100 --> 00:42:57,200 kaj mi tuj desegni duan dot tie, ĉar por 2.000 paĝojn, 881 00:42:57,200 --> 00:42:59,810 estas kvazaŭ 2.000 sekundoj aŭ paĝo turnas aŭ kion ajn. 882 00:42:59,810 --> 00:43:02,480 Kaj tiel, kiam mi diris antaŭe, estas speco de lineara interrilato, 883 00:43:02,480 --> 00:43:06,020 kiu estis intenca, ĉar mi volis poste on-- dekstra now-- desegni linion. 884 00:43:06,020 --> 00:43:07,770 Estas speco de rekta linio rilaton. 885 00:43:07,770 --> 00:43:10,180 La inklino estas 1/1, se vi volas. 886 00:43:10,180 --> 00:43:14,630 >> Dume, la dua algoritmo diris, se vi havas 1.000 paĝojn 887 00:43:14,630 --> 00:43:17,680 kaj vi uzis la dua algoritmo, Kie mi rakontis por 2-a, turnante 888 00:43:17,680 --> 00:43:22,564 du paĝojn samtempe, mi desegnas dot sube aŭ supre mian originalan punkton? 889 00:43:22,564 --> 00:43:23,450 >> Spektantaro: Sube. 890 00:43:23,450 --> 00:43:27,992 >> DAVID Malan: Sube, ĉar kiel ni vidis, ĝi prenas malpli tempon, duone tiel tempo. 891 00:43:27,992 --> 00:43:29,950 Tiel la punkto estu duone tiel alta kiel la aliaj. 892 00:43:29,950 --> 00:43:33,330 Kaj sama interkonsento super tie, ĉi punkto supozeble esti malglate tie. 893 00:43:33,330 --> 00:43:39,666 Kaj tial mia dua algoritmo, simile, havas linearan rilaton kun la tempo. 894 00:43:39,666 --> 00:43:41,990 Kaj ni povas desegni ĝin kiel tia. 895 00:43:41,990 --> 00:43:45,950 >> Do nun, la tria kaj lasta algoritmo estas iom pli malfacile desegni. 896 00:43:45,950 --> 00:43:49,530 Sed intuicie, se mi havas 1.000 paĝojn kun mia tria algoritmo, 897 00:43:49,530 --> 00:43:52,340 ĝi devas nur preni min kiel 10 paŝoj. 898 00:43:52,340 --> 00:43:57,500 Kaj se mi havas 2.000 paĝojn kun mia tria algoritmo, 899 00:43:57,500 --> 00:44:01,570 ĝi devas preni min 10 paŝojn, sed la 11, nur unu pli. 900 00:44:01,570 --> 00:44:03,610 Do ni nur apenaŭ tuj vidos tion. 901 00:44:03,610 --> 00:44:06,010 >> Kaj ĝi rezultas, se Mi zomi je sur ĉi, mi estas 902 00:44:06,010 --> 00:44:09,320 tuj troigi por efekto, la formo de tiu linio, finfine, 903 00:44:09,320 --> 00:44:11,990 ne rekte line-- ĉar ja, se gxi estis, 904 00:44:11,990 --> 00:44:15,390 ĝi aspektus pli kiel la others-- ĝi estas fakte kurba linio 905 00:44:15,390 --> 00:44:19,265 ke, se ni zomi, tuj rigardi multe pli kiel tiu. 906 00:44:19,265 --> 00:44:21,670 It-- bone, okej, ignori tiun parton. 907 00:44:21,670 --> 00:44:25,330 Tio estis mia plumo iras de angulo. 908 00:44:25,330 --> 00:44:29,000 Ĝi estas kurba linio, kiu estas ĉiam kreskanta, ĉiam, ĉiam, ĉiam 909 00:44:29,000 --> 00:44:32,100 kreskanta, sed nur ĵus apenaŭ. 910 00:44:32,100 --> 00:44:36,260 >> Kaj tiel en la tempo, vi havas rilato kiu estas pli kiel tiu. 911 00:44:36,260 --> 00:44:37,540 Preskaŭ aspektas rekte. 912 00:44:37,540 --> 00:44:40,330 Sed estas iam tiel malrapide kreskanta. 913 00:44:40,330 --> 00:44:44,780 Sed por preskaŭ ĉiuj punktoj kune via x-akso, horizontala akso, 914 00:44:44,780 --> 00:44:46,550 ĝi estas pli malalta ol tiuj aliaj linioj. 915 00:44:46,550 --> 00:44:49,930 >> Do povas esti tiu rilato n, per kiu se vi havas n paĝoj, 916 00:44:49,930 --> 00:44:51,100 prenas vin n sekundojn. 917 00:44:51,100 --> 00:44:53,320 Tio povas esti rilato n / 2. 918 00:44:53,320 --> 00:44:56,710 Vi havas n paĝoj, ĝi prenas vi n / 2 sekundoj, duone tiom multaj. 919 00:44:56,710 --> 00:45:00,590 Kaj tio estas logaritma interrilaton, kiu 920 00:45:00,590 --> 00:45:08,920 Se vi memoras, log bazo 2 de n prenojn tiu speco de kresko, por tiel diri. 921 00:45:08,920 --> 00:45:12,000 Do tiu estas la speco de sankta grail inter la tri el tiuj 922 00:45:12,000 --> 00:45:15,940 tie, ĉar ĝi estas nur tiom multe pli efika, sed eble pli kompleksaj 923 00:45:15,940 --> 00:45:18,610 apliki. 924 00:45:18,610 --> 00:45:20,510 Demandojn? 925 00:45:20,510 --> 00:45:26,220 >> Nu lasu min fari tion, permesu Mi malfermu teksto fenestro 926 00:45:26,220 --> 00:45:29,100 nur tiel ni povas provi formaligi ion tie. 927 00:45:29,100 --> 00:45:32,410 Do lasu min iri antaŭen nun kaj efektivigi tiun algoritmon 928 00:45:32,410 --> 00:45:35,170 por trovanta Mike Smith en kodo, se vi volas, _pseudocode_ kodo. 929 00:45:35,170 --> 00:45:36,620 Mi ne tuj uzi Java aŭ C ++. 930 00:45:36,620 --> 00:45:38,610 Mi simple tuj uzi ian Esperanta-kiel sintakso, kiun ni 931 00:45:38,610 --> 00:45:40,151 ĝenerale nomas _pseudocode_ kodo. 932 00:45:40,151 --> 00:45:41,660 Tie, mi havas malplenan fenestro. 933 00:45:41,660 --> 00:45:48,180 Kaj mi diras paŝo 1 el la tre unua algoritmo estas repreni telefono libro. 934 00:45:48,180 --> 00:45:51,740 Paŝo 2 estas malfermita libro por unua paĝo. 935 00:45:51,740 --> 00:45:58,080 Paŝo 3 estos rigardu paĝo Mike Smith. 936 00:45:58,080 --> 00:46:02,740 Se sur paĝo, voki Mike. 937 00:46:02,740 --> 00:46:11,640 alia vico paĝo kaj iru al paŝo 3. 938 00:46:11,640 --> 00:46:13,590 Farita, ni diru. 939 00:46:13,590 --> 00:46:18,110 >> Kaj tiel ĝi ne estas tute perfekta, kiun ni vidos en momento. 940 00:46:18,110 --> 00:46:21,050 Sed ni pripensu kion konceptoj mi enkondukis tie. 941 00:46:21,050 --> 00:46:24,450 Tiel paŝas 1 kaj 2 kaj 3 estas preskaux verboj. 942 00:46:24,450 --> 00:46:26,544 Ili estas formulitaj, actions-- fari tion. 943 00:46:26,544 --> 00:46:28,710 Kaj tiel en programado lingvo, ni farus ĝenerale 944 00:46:28,710 --> 00:46:32,349 nomu ilin deklaroj aŭ funkcioj aŭ proceduroj, 945 00:46:32,349 --> 00:46:33,640 nomu ilin ajna nombro de aferoj. 946 00:46:33,640 --> 00:46:35,460 Sed ili estas nur actions-- fari tion. 947 00:46:35,460 --> 00:46:40,370 >> Paŝo 4 estas fundamente malsamaj, ĉar ĝi estas speco de demandante demandon. 948 00:46:40,370 --> 00:46:42,400 Oni diras ke ni estas speco de ĉe forko en la vojo. 949 00:46:42,400 --> 00:46:48,000 Se Mike estas sur la paĝo, voki lin, do turnu vin maldekstren, se vi volas. 950 00:46:48,000 --> 00:46:52,170 Kaj se ne, reiru al iu aliaj page-- aŭ prefere, bedaŭras, 951 00:46:52,170 --> 00:46:56,650 reiru al iu alia paŝo, kiun induktas ia looping konstrui. 952 00:46:56,650 --> 00:46:59,530 Kaj ni faru ĝin denove kaj denove kaj denove. 953 00:46:59,530 --> 00:47:01,300 >> Kaj fakte, vi scias kion? 954 00:47:01,300 --> 00:47:01,800 Yeah. 955 00:47:01,800 --> 00:47:04,704 956 00:47:04,704 --> 00:47:09,010 alie se ĉe fino de libro halto. 957 00:47:09,010 --> 00:47:11,624 Do ni bezonas ia tria kondiĉo, ĉar vi 958 00:47:11,624 --> 00:47:14,290 ne povas teni turnanta la paĝon ad nauseum, ĉar finfine, mi instruos vin 959 00:47:14,290 --> 00:47:15,320 batis la fino de la libro. 960 00:47:15,320 --> 00:47:18,546 Kaj cimo en programo povus esti ne anticipante ke scenaro. 961 00:47:18,546 --> 00:47:21,420 Kaj tiam mi ĵus rimarkis, ho, atendu minuton, mi bezonas trian scenaron. 962 00:47:21,420 --> 00:47:23,900 Se mi estos for de paĝoj, mi devus vere nur halti. 963 00:47:23,900 --> 00:47:25,330 Alie, ĝi estas nedifinita. 964 00:47:25,330 --> 00:47:29,260 Kio okazos se mi gardas dirante turni la paĝon kaj revenu, 965 00:47:29,260 --> 00:47:31,810 tio estas kiam komputiloj frostigi aŭ akcidento, kiam vi frapis 966 00:47:31,810 --> 00:47:34,160 iuj neatenditaj situacio tiel. 967 00:47:34,160 --> 00:47:37,280 >> Nun, kio pri Mike Smith tria algorithm-- 968 00:47:37,280 --> 00:47:43,150 repreni la telefono libro, malfermita libro al first-- al 969 00:47:43,150 --> 00:47:48,640 Ecx unua paĝo tiun fojon, al middle-- ho, nu, tio estos plej 970 00:47:48,640 --> 00:47:49,640 esti la dua algoritmo. 971 00:47:49,640 --> 00:47:50,590 Ni nur preterpasas al la tria. 972 00:47:50,590 --> 00:47:50,930 >> Spektantaro: Ho, mi bedaŭras. 973 00:47:50,930 --> 00:47:51,971 >> DAVID Malan: Tio estas bone. 974 00:47:51,971 --> 00:47:58,590 Ni nur preterpasas la third-- malfermita al meza kaj nun serĉas Mike Smith. 975 00:47:58,590 --> 00:48:02,300 se sur paĝo, voki Mike. 976 00:48:02,300 --> 00:48:04,910 Kaj tiam kia ni volas diri ĉi tie? 977 00:48:04,910 --> 00:48:06,134 alia kio? 978 00:48:06,134 --> 00:48:10,620 979 00:48:10,620 --> 00:48:12,370 Ni povas esprimi tiun en ajna nombro de manieroj. 980 00:48:12,370 --> 00:48:13,369 Mankas ĝusta respondo. 981 00:48:13,369 --> 00:48:20,819 982 00:48:20,819 --> 00:48:23,735 OK, se ne pli, sed ni bezonas be-- OK, ni volas dividi en du, 983 00:48:23,735 --> 00:48:25,630 sed ni volas iri maldekstren aŭ iri dekstren? 984 00:48:25,630 --> 00:48:29,560 Kiel ni esprimas ke nocio? 985 00:48:29,560 --> 00:48:31,790 Nu, en Mike kazo, jes, justa. 986 00:48:31,790 --> 00:48:35,050 Sed bone, do tio estas vere bona punkto. 987 00:48:35,050 --> 00:48:35,550 Tio estas bone. 988 00:48:35,550 --> 00:48:36,924 Ni plu iri kun tiu logiko. 989 00:48:36,924 --> 00:48:38,182 So-- 990 00:48:38,182 --> 00:48:39,810 >> Spektantaro: Malpli ol duono. 991 00:48:39,810 --> 00:48:40,560 DAVID Malan: Jes. 992 00:48:40,560 --> 00:48:49,820 Do alia se paĝo estas, ni diru, malpli ol Smith, al la maldekstra de Smith, 993 00:48:49,820 --> 00:48:52,220 then-- ni vidu, estas ĉi tuj komplikos? 994 00:48:52,220 --> 00:49:01,885 alie se paĝon venas antaŭ Smith, Larmo en duono, forĵetu kiuj duono? 995 00:49:01,885 --> 00:49:05,643 996 00:49:05,643 --> 00:49:09,140 >> Spektantaro: Mi pensis kiu estis [inaudible]. 997 00:49:09,140 --> 00:49:11,650 >> DAVID Malan: Mi aŭdis ambaŭ respondojn. 998 00:49:11,650 --> 00:49:12,431 >> Spektantaro: Maldekstra. 999 00:49:12,431 --> 00:49:14,430 DAVID Malan: Bone, ĵetu for lasis duonon, kiel Lakisa 1000 00:49:14,430 --> 00:49:19,700 diris antaŭe, la maldekstra duono, tiam mi ia 1001 00:49:19,700 --> 00:49:23,940 volas nur iri to-- mi iros dekstren. 1002 00:49:23,940 --> 00:49:27,380 Aŭ ekvivalente, kaj mi faris iom iom de malordo de la komenco ĉi tie, 1003 00:49:27,380 --> 00:49:30,760 Mi efektive volis iru al paŝo 2 denove, 1004 00:49:30,760 --> 00:49:38,270 kie malfermaj al middle-- aŭ open-- jes, ni nur diri, paĝoj mezo. 1005 00:49:38,270 --> 00:49:39,020 Kaj tio korektas ĝin. 1006 00:49:39,020 --> 00:49:39,936 Ĝi ne plu libro. 1007 00:49:39,936 --> 00:49:42,210 Estas nur duono de la libro, tiel malfermitaj paĝoj je mezo. 1008 00:49:42,210 --> 00:49:44,010 >> else-- estis preskaŭ tie. 1009 00:49:44,010 --> 00:49:54,000 Paŝo 6, alie se paĝon venas post Smith, ŝiras en duono, forĵetu dekstran duonon, 1010 00:49:54,000 --> 00:49:55,680 tiam iru al paŝo 2. 1011 00:49:55,680 --> 00:49:58,920 1012 00:49:58,920 --> 00:50:05,230 alie forlasi kvarangulajn scenaro se ni ne havas paĝoj lasis turni. 1013 00:50:05,230 --> 00:50:06,394 Do ni povus purigi ĉi supre. 1014 00:50:06,394 --> 00:50:07,560 Kaj ni devus purigi ĉi supre. 1015 00:50:07,560 --> 00:50:10,656 Tio estas tre _pseudocode_ kodo, se vi volas, tre alta nivelo priskribo. 1016 00:50:10,656 --> 00:50:12,280 Sed ĝi ĝenerale kapti la ideon. 1017 00:50:12,280 --> 00:50:16,040 >> Kaj, denove, en ĉi tiu scenaro, ni havas la nocion de kondiĉo, 1018 00:50:16,040 --> 00:50:20,450 branĉo, forkon en la vojo, farante oni decision-- se tio iras ĉi vojo, 1019 00:50:20,450 --> 00:50:23,082 alie se, iru tiel, alie se, iru tiudirekte. 1020 00:50:23,082 --> 00:50:25,040 Kaj tio estas tre komuna programado tekniko 1021 00:50:25,040 --> 00:50:27,721 decidi kion direkto iri, por tiel diri. 1022 00:50:27,721 --> 00:50:29,970 Kaj ni ankaŭ havas ian de looping strukturo, kie 1023 00:50:29,970 --> 00:50:32,440 ni faras ion denove kaj denove. 1024 00:50:32,440 --> 00:50:34,820 >> Nun, ĝi rezultas multe kiel en ĉi tiu ekzemplo, 1025 00:50:34,820 --> 00:50:37,660 estanta ekstra preciza gravas. 1026 00:50:37,660 --> 00:50:42,180 Sed ni ankaŭ vidis ion ke ni observas nomante abstracción. 1027 00:50:42,180 --> 00:50:45,490 Kion tio signifas por repreni telefono libro? 1028 00:50:45,490 --> 00:50:47,740 Ni nur speco de prenanta por donita en ĉi tiu ĉambro 1029 00:50:47,740 --> 00:50:49,340 ke tio havas iun semantikan signifon. 1030 00:50:49,340 --> 00:50:51,740 Ni ĉiuj nur speco de scii, ho, bone, repreni la telefono libro. 1031 00:50:51,740 --> 00:50:52,864 Kion tio vere signifas? 1032 00:50:52,864 --> 00:50:59,060 Nu, tiu vere signifas plilongigi mano, klini super, etendi fingroj, 1033 00:50:59,060 --> 00:51:03,890 pinĉi libro inter fingroj, ekstari, tiri la manon al vi. 1034 00:51:03,890 --> 00:51:05,940 Kaj ni povus esti vere pedanta pri tio, 1035 00:51:05,940 --> 00:51:08,640 vere esti súper preciza kiel al kion mi faras. 1036 00:51:08,640 --> 00:51:13,300 Sed ĉiu el tiuj ŝtupoj kolektive estas kion signifas kolekti telefono libro. 1037 00:51:13,300 --> 00:51:16,940 >> Kaj tiel frue, kiam mi diris, ĉiu de tiuj unuaj du deklaroj 1038 00:51:16,940 --> 00:51:20,830 povas esti penso de kiel procedi aŭ funkcio, 1039 00:51:20,830 --> 00:51:24,090 vere reprezentas kion ni teni nomante abstraktaĵo. 1040 00:51:24,090 --> 00:51:28,770 Estas kiel alta nivelo conceptual priskribo de problemo kiu 1041 00:51:28,770 --> 00:51:31,110 fakte implikas tre kelkajn paŝojn. 1042 00:51:31,110 --> 00:51:34,190 Kaj tiel ĉi, ankaŭ, estas _recurring_ temo en programado, 1043 00:51:34,190 --> 00:51:41,125 per kiu mi povus skribi programon uzante sintakson kiel 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 Kaj tiam sintakse, mi estas tuj sxtelus ion 1047 00:51:46,510 --> 00:51:48,090 de plej programlingvoj. 1048 00:51:48,090 --> 00:51:51,270 >> Nun, paŝo 1 aspektas eĉ pli kiel funkcio, 1049 00:51:51,270 --> 00:51:53,160 kiel programisto nomus ĝin. 1050 00:51:53,160 --> 00:51:58,650 Aspektas kiel kodo ke iu donis nomon al kaj donita 1051 00:51:58,650 --> 00:52:03,300 Min uzi somehow-- en aliaj vortoj, kion la linion mi reliefigis 1052 00:52:03,300 --> 00:52:07,050 reprezentas funkciojn kiuj eble Mi eĉ ne apliki mem. 1053 00:52:07,050 --> 00:52:10,410 Iu pli malnova, pli saĝa ol mi jam eltrovis 1054 00:52:10,410 --> 00:52:12,700 kiel vi esprimas la nocion de kaptanta telefono libro. 1055 00:52:12,700 --> 00:52:15,860 Kaj ĝi estas kiel la kvin paŝoj Mi ĵus tintis ekstere, de la supro de mia kapo. 1056 00:52:15,860 --> 00:52:19,350 >> Sed li aŭ ŝi jam implementado tiu, donis tiujn pluraj paŝoj 1057 00:52:19,350 --> 00:52:22,339 nomo, pick_up_phone_book. 1058 00:52:22,339 --> 00:52:24,380 Kaj la krampoj estas nur kio plej programistoj 1059 00:52:24,380 --> 00:52:27,100 faru fine de deklaroj kiel ĉi. 1060 00:52:27,100 --> 00:52:30,190 Mi nun povas stari sur lia aŭ ŝia ŝultrojn kaj plu, 1061 00:52:30,190 --> 00:52:32,465 pensu pri kion signifas repreni telefono libro. 1062 00:52:32,465 --> 00:52:34,090 Mi povas nur diri, repreni la telefono libro. 1063 00:52:34,090 --> 00:52:36,690 Kaj tio estas ĝuste kion ni ĉiuj homoj faris tie. 1064 00:52:36,690 --> 00:52:38,940 >> Kiam ni estis verŝajne 1 jara, 2 jaroj, 1065 00:52:38,940 --> 00:52:41,690 iu devis instrui nin kion ĝi intencis repreni telefono libro. 1066 00:52:41,690 --> 00:52:43,810 Kaj ekde tiam, ni abstraída for 1067 00:52:43,810 --> 00:52:46,739 el tiuj tre seninteresa mekanika paŝoj. 1068 00:52:46,739 --> 00:52:48,530 Kaj ni nur havas intuicia kompreno 1069 00:52:48,530 --> 00:52:50,480 kion signifas repreni telefono libro. 1070 00:52:50,480 --> 00:52:55,730 >> Kaj vi povas extrapolar nun por pli komplikaj things-- 1071 00:52:55,730 --> 00:52:57,640 konstrui konstruaĵon. 1072 00:52:57,640 --> 00:52:59,940 Kiel, por iuj personoj, kiu reale havas sencon. 1073 00:52:59,940 --> 00:53:03,080 Por entreprenistoj, por arkitektoj, kiu havas iun signifon. 1074 00:53:03,080 --> 00:53:06,400 Kaj ili scius kion fari, se Mi diris, iri konstrui konstruaĵon. 1075 00:53:06,400 --> 00:53:10,520 >> Sed plejparto de ni en la ĉambro ne povus trakti tiun nivelon de abstraktado. 1076 00:53:10,520 --> 00:53:14,850 Vi devas rakonti al ni ŝatas iri akiri sxovelilo iros akiri la konkretajn 1077 00:53:14,850 --> 00:53:17,250 kaj najli pecojn de ligno kune kaj kio ajn alia 1078 00:53:17,250 --> 00:53:18,830 estas implikitaj en la konstruado de konstruaĵo. 1079 00:53:18,830 --> 00:53:21,690 Kaj tio estas ĉar ni ne havas tamen estis planita por kompreni 1080 00:53:21,690 --> 00:53:23,629 kion signifas konstrui konstruaĵon. 1081 00:53:23,629 --> 00:53:24,920 Ni ne havas tiun abstracción. 1082 00:53:24,920 --> 00:53:26,570 Ni ne havas tiun funkcion. 1083 00:53:26,570 --> 00:53:29,930 >> Kaj do kion vi vidos en programlingvoj, ĝenerale, 1084 00:53:29,930 --> 00:53:34,570 Precipe pli modernaj lingvoj, kiel Java, PHP, Ruby, kaj Python, 1085 00:53:34,570 --> 00:53:37,610 ili estas multe pli matura ol malnovaj lingvoj, 1086 00:53:37,610 --> 00:53:40,140 kiel C kaj C ++ kaj ankoraŭ aliaj. 1087 00:53:40,140 --> 00:53:42,580 Kaj tiel ili venis kun pli funkciojn konstruita. 1088 00:53:42,580 --> 00:53:45,640 Pli kodo estis skribita de personoj en la pasinteco 1089 00:53:45,640 --> 00:53:50,520 ke ni povas nun nomi aŭ kunvokas aŭ uzi, kiel mi sugestante 1090 00:53:50,520 --> 00:53:52,231 ĉe kun ĉi emfazita linio tie. 1091 00:53:52,231 --> 00:53:55,230 Kaj tial, kvankam ni ne parolas pri programlingvoj per, 1092 00:53:55,230 --> 00:54:00,230 nur _pseudocode_ kodo, ĉiuj ideoj estas ankoraŭ en tiu diskuto. 1093 00:54:00,230 --> 00:54:04,600 Kaj ĝi rezultas precizeco estas super grava, kiel estas abstraktaĵo. 1094 00:54:04,600 --> 00:54:06,570 Kaj ni provu komuniki ke jene. 1095 00:54:06,570 --> 00:54:11,000 >> Mi hazarde povus esti difektita tiu de brilantaj slide sur la ekrano 1096 00:54:11,000 --> 00:54:12,260 antaŭtempe. 1097 00:54:12,260 --> 00:54:16,550 Sed mi petas kuraĝa volontulo, se ne malplaĉos venanta supre. 1098 00:54:16,550 --> 00:54:19,040 Vi estus antaŭ la fotilo, se vi bone kun tio. 1099 00:54:19,040 --> 00:54:24,950 Ĉu iu volas veni tien kaj doni instrukcioj al viaj kolegoj tie? 1100 00:54:24,950 --> 00:54:29,540 Nur devas veni ĉi tien kaj staras super tie kaj diri kelkajn vortojn. 1101 00:54:29,540 --> 00:54:32,890 >> Victoria ridetas la plej kaj evitante miaj okuloj la plej. 1102 00:54:32,890 --> 00:54:34,740 Ĉu vi volos veni supren? 1103 00:54:34,740 --> 00:54:35,240 BONE. 1104 00:54:35,240 --> 00:54:38,480 Kaj se ĉiuj aliaj en via sidlokoj povis elpreni pecon de peceto de papero, 1105 00:54:38,480 --> 00:54:39,750 se vi volas. 1106 00:54:39,750 --> 00:54:40,760 Kovrata papero estas fajna. 1107 00:54:40,760 --> 00:54:41,990 Veni ĉirkaŭ tiu maniero. 1108 00:54:41,990 --> 00:54:44,580 Aŭ iuj de la papero ke vi ricevis hieraŭ, 1109 00:54:44,580 --> 00:54:46,493 nur ajna malplenan folion de papero, se vi povus. 1110 00:54:46,493 --> 00:54:52,240 1111 00:54:52,240 --> 00:54:54,870 Kaj se vi ne havas neniun, nur petu vian proksimulon, se vi povus. 1112 00:54:54,870 --> 00:55:04,220 1113 00:55:04,220 --> 00:55:07,580 >> Do por la momento, pro tiu ekzemplo, Viktorio 1114 00:55:07,580 --> 00:55:11,520 tuj ludos la rolon de programisto, inĝeniero, kiu 1115 00:55:11,520 --> 00:55:16,130 bezonas plani vi ĉiuj, kiel la komputiloj, fari ion. 1116 00:55:16,130 --> 00:55:19,570 Kaj ni vidos kion supozoj vi decidas fari. 1117 00:55:19,570 --> 00:55:22,700 Ni vidos kiel preciza ŝi elektas resti. 1118 00:55:22,700 --> 00:55:26,220 Kaj se tiu pruvo iras pedagogie bone, multaj eraroj 1119 00:55:26,220 --> 00:55:29,220 estos farita, ke ni tiam uzi ke kiel ŝanco por diskuto. 1120 00:55:29,220 --> 00:55:32,010 Sed la defio por vi devus estu eviti tiujn erarojn, 1121 00:55:32,010 --> 00:55:32,896 esti bona programisto. 1122 00:55:32,896 --> 00:55:35,520 Kaj tial la defion mane, se oni kredus ŝatis marŝi ĉi tien, 1123 00:55:35,520 --> 00:55:38,799 Estas antaŭ Viktorio sur la ekrano here-- kaj espereble, neniu el vi 1124 00:55:38,799 --> 00:55:40,590 memori tion, kiam mi ekbrilis sur la ekrano. 1125 00:55:40,590 --> 00:55:44,097 Kaj ne turni ĉe ĉiuj, ĉar ekzistas alia ekrano en tiu ĉambro 1126 00:55:44,097 --> 00:55:44,930 ke mi povas elŝalti. 1127 00:55:44,930 --> 00:55:46,620 Do ne turni ĉirkaŭe. 1128 00:55:46,620 --> 00:55:49,090 >> Antaŭ Viktorio Estas tiu sama krio. 1129 00:55:49,090 --> 00:55:54,170 Kaj ŝia tasko nun estas al vi ĉiuj sur via paperpeco kion tiri. 1130 00:55:54,170 --> 00:55:57,020 Kaj ni vidos, bazita sur parolaj instrukcioj sola, 1131 00:55:57,020 --> 00:56:00,020 komputila kodo, se vi volas, kiom preciza via desegnoj 1132 00:56:00,020 --> 00:56:02,330 are-- via implementaciones estas. 1133 00:56:02,330 --> 00:56:02,980 Sencon? 1134 00:56:02,980 --> 00:56:03,604 >> Spektantaro: Jes. 1135 00:56:03,604 --> 00:56:04,980 DAVID Malan: Bone, ekzekuti. 1136 00:56:04,980 --> 00:56:06,030 >> Spektantaro: Desegni kvadrata. 1137 00:56:06,030 --> 00:56:09,050 >> [Ridado] 1138 00:56:09,050 --> 00:56:12,310 >> DAVID Malan: Kaj neniu demandoj povas esti demandita. 1139 00:56:12,310 --> 00:56:13,720 Ne nur faras kion vi diris. 1140 00:56:13,720 --> 00:56:17,570 1141 00:56:17,570 --> 00:56:22,550 Ho, kaj se vi havas hodiaŭa diapozitivoj malfermu en pestaña, ne rigardu vian langeto. 1142 00:56:22,550 --> 00:56:23,670 BONE? 1143 00:56:23,670 --> 00:56:26,135 >> Spektantaro: OK, desegni cirklon. 1144 00:56:26,135 --> 00:56:32,544 1145 00:56:32,544 --> 00:56:34,872 A slope-- mi povas diri deklivo? 1146 00:56:34,872 --> 00:56:35,830 DAVID Malan: Ĝis vi. 1147 00:56:35,830 --> 00:56:38,230 1148 00:56:38,230 --> 00:56:38,980 Spektantaro: A deklivo. 1149 00:56:38,980 --> 00:56:46,330 1150 00:56:46,330 --> 00:56:49,795 Kaj triangulo. 1151 00:56:49,795 --> 00:56:50,850 >> DAVID Malan: Bone. 1152 00:56:50,850 --> 00:56:52,286 Kaj restu tie por nur momento. 1153 00:56:52,286 --> 00:56:56,046 1154 00:56:56,046 --> 00:56:58,910 Kaj mi tuj venis ĉirkaŭe en nur momento. 1155 00:56:58,910 --> 00:57:02,420 Kaj ne necesas meti viaj nomoj sur ĝi. 1156 00:57:02,420 --> 00:57:05,030 Lasu min veni ĉirkaŭe kaj kolekti viajn desegnaĵoj, 1157 00:57:05,030 --> 00:57:08,330 se ne malplaĉos ŝirante ilin. 1158 00:57:08,330 --> 00:57:12,110 >> Jen kion ni revenis. 1159 00:57:12,110 --> 00:57:14,770 Mi projekti ĝin sur la ekrano. 1160 00:57:14,770 --> 00:57:18,310 Mi vidas kvadrata, rondo, inklino, kaj triangulo. 1161 00:57:18,310 --> 00:57:20,130 Tiel ke estis unu respondo tie. 1162 00:57:20,130 --> 00:57:23,640 Kaj let's-- whoops. 1163 00:57:23,640 --> 00:57:25,370 Dankon. 1164 00:57:25,370 --> 00:57:30,710 Jen alia sortimento, kaj unu malantaŭ ĝi. 1165 00:57:30,710 --> 00:57:34,130 1166 00:57:34,130 --> 00:57:37,120 >> Do ili ĉiuj ŝajnas kapti la spiriton. 1167 00:57:37,120 --> 00:57:38,600 Dankon. 1168 00:57:38,600 --> 00:57:44,970 Estas alia, kaj jen alia. 1169 00:57:44,970 --> 00:57:51,590 La deklivo interpreto estas iom malsamaj, iom curvy. 1170 00:57:51,590 --> 00:57:57,140 Kaj la plej proksimaj, ĉu pro la mirinda specifeco kun kiu vi havas 1171 00:57:57,140 --> 00:58:03,520 priskribis, aŭ eble vi ia vidis ĝin antaŭe, tio ja 1172 00:58:03,520 --> 00:58:06,340 kio Viktorio estis reale priskribas. 1173 00:58:06,340 --> 00:58:09,190 >> Sed nun, tiuj el vi kiuj ne ricevis gxin tute pravas, 1174 00:58:09,190 --> 00:58:11,140 ni proponas iun sedoj tie. 1175 00:58:11,140 --> 00:58:13,770 Tiel Viktorio unua diris desegni kvadraton. 1176 00:58:13,770 --> 00:58:15,830 Kaj nun, ni povas supozi pro hodiaŭ 1177 00:58:15,830 --> 00:58:17,538 ke ĉiuj scias Kiel desegni kvadraton. 1178 00:58:17,538 --> 00:58:20,590 Sed tio ne estas tute klara, ĉu ne? 1179 00:58:20,590 --> 00:58:23,220 Kiel alie povus havi tirita kvadrato, aŭ kie 1180 00:58:23,220 --> 00:58:27,114 povus esti iu el la ambigüedades tie por la komputilo? 1181 00:58:27,114 --> 00:58:28,280 Spektantaro: Situo kaj grandeco. 1182 00:58:28,280 --> 00:58:28,980 DAVID Malan: Loko, dekstra? 1183 00:58:28,980 --> 00:58:32,070 Vi ĉiuj havis paperon de iu formo, Ĝenerale rektanguloj, sed iomete 1184 00:58:32,070 --> 00:58:32,830 malsamaj grandecoj. 1185 00:58:32,830 --> 00:58:36,250 Sed vi certe povus esti tiritaj, se vi volas, grandega placo, eble 1186 00:58:36,250 --> 00:58:37,220 eta kvadrato. 1187 00:58:37,220 --> 00:58:38,417 Eble, ĝi estis turnita. 1188 00:58:38,417 --> 00:58:39,500 Mi ne kredas ke ni vidis tion. 1189 00:58:39,500 --> 00:58:41,790 Sed povus esti pli diamanto kiel sed ankoraŭ, tamen, 1190 00:58:41,790 --> 00:58:42,900 Matematike kvadrato. 1191 00:58:42,900 --> 00:58:44,850 Tiel ke estis verŝajne ambigua. 1192 00:58:44,850 --> 00:58:46,709 >> Tiam ŝi diris, desegni cirklon. 1193 00:58:46,709 --> 00:58:49,250 Kelkaj el vi tiros gxin apud ĝin, kio ne senkaŭza, 1194 00:58:49,250 --> 00:58:52,450 ĉar homoj emas pensi aŭ legi dekstre maldekstren en plej lingvoj, do ne 1195 00:58:52,450 --> 00:58:53,017 malbona diveno. 1196 00:58:53,017 --> 00:58:55,100 Sed ke cirklo povus havi estis en la placo, 1197 00:58:55,100 --> 00:58:57,600 povus esti ĉirkaŭ la kvadrata, povus esti aliloke 1198 00:58:57,600 --> 00:58:59,480 sur la folio, do argumenteble ambigua. 1199 00:58:59,480 --> 00:59:03,290 >> Deklivo povus esti eble prenante la plej liberecoj parole 1200 00:59:03,290 --> 00:59:04,200 kun kio tio signifas. 1201 00:59:04,200 --> 00:59:06,980 Kaj iujn el vi interpretita in kiel squiggly linio 1202 00:59:06,980 --> 00:59:08,560 aŭ rekta linio aŭ similaj. 1203 00:59:08,560 --> 00:59:11,719 Kaj tiam triangulo ankaŭ povus havi estis orientita en ajna nombro de manieroj. 1204 00:59:11,719 --> 00:59:14,760 Do mallonge, eĉ kun iu kiu vi rigardo kaj vi estas kiel, wow, do 1205 00:59:14,760 --> 00:59:17,020 simpla, infano povus desegni ĉi, bone ne 1206 00:59:17,020 --> 00:59:19,640 vere, se vi ekstra, ekstra persvada 1207 00:59:19,640 --> 00:59:22,045 kaj diri al la komputilo precize kion fari. 1208 00:59:22,045 --> 00:59:24,420 Sekve se ni povus, se vi havas alia paperfolio, ni 1209 00:59:24,420 --> 00:59:26,710 provu ĉi denove. 1210 00:59:26,710 --> 00:59:29,880 Kaj mi tuj doni Viktorio unu alia ekzemplo sur la ekrano tie. 1211 00:59:29,880 --> 00:59:34,060 Kaj denove, ne turni ĉirkaŭe kaj ne rigardu vian diapozitivoj. 1212 00:59:34,060 --> 00:59:37,304 Kaj Mi donos al ŝi momenton pripensi kiel priskribi tion. 1213 00:59:37,304 --> 00:59:39,012 Ne lasu ilin vidi la timo en la okulojn. 1214 00:59:39,012 --> 00:59:40,820 >> [Ridado] 1215 00:59:40,820 --> 00:59:43,710 >> Kaj denove, ĉi tiu fojo levilforton kelkaj el tiuj takeaways 1216 00:59:43,710 --> 00:59:48,130 kaj provi atingi preskaŭ ĉiuj almenaŭ la rajton respondo. 1217 00:59:48,130 --> 00:59:52,260 >> Spektantaro: Bone, prenu paperfolion, rigardu 1218 00:59:52,260 --> 00:59:54,500 en la mezo de tiu peco de papero. 1219 00:59:54,500 --> 00:59:59,591 Meze de tiu peco de papero, desegni kubo. 1220 00:59:59,591 --> 01:00:01,244 >> [Ridado] 1221 01:00:01,244 --> 01:00:02,660 DAVID Malan: Kio estas inter ni lernis? 1222 01:00:02,660 --> 01:00:03,540 Ni estis tiel proksime. 1223 01:00:03,540 --> 01:00:06,320 1224 01:00:06,320 --> 01:00:09,045 OK, ripeti se vi povis, por ĉiuj. 1225 01:00:09,045 --> 01:00:13,210 >> Spektantaro: En la mezo de la paperpeco, tiri objekton, 1226 01:00:13,210 --> 01:00:14,842 kiu aspektas kiel kubo. 1227 01:00:14,842 --> 01:00:17,332 >> DAVID Malan: Bone, tio estas Ĉiuj vi akiras labori. 1228 01:00:17,332 --> 01:00:20,010 1229 01:00:20,010 --> 01:00:23,080 Permesu min analizaj kaj ne tiom kritikas, 1230 01:00:23,080 --> 01:00:25,720 sed por fari la aserton ke Viktorio definitive 1231 01:00:25,720 --> 01:00:28,967 ŝajnas esti pensante en tre alta nivelo abstraktadoj, kiuj 1232 01:00:28,967 --> 01:00:29,800 ne senkaŭza. 1233 01:00:29,800 --> 01:00:32,160 Ĉar alie, ke estos ĉiuj esti bela disfuncional, 1234 01:00:32,160 --> 01:00:35,740 se ni devis esti iam tiel preciza kun ĉiu kion ni faras en la mondo. 1235 01:00:35,740 --> 01:00:38,890 >> Sed dirante iri al la middle-- mi penso ni estis sur tia bona trako 1236 01:00:38,890 --> 01:00:42,340 tie, kiel iri al la mezo de la paĝo, kaj poste desegni kubo. 1237 01:00:42,340 --> 01:00:45,730 Do ŝi pensis en abstraktaĵoj, ĉar ŝi ankoraŭ rigardis 1238 01:00:45,730 --> 01:00:48,490 kio estas sur la ekrano kiel ja kubo. 1239 01:00:48,490 --> 01:00:51,185 Sed estas tiom da ŝancoj por interpretado tie. 1240 01:00:51,185 --> 01:00:53,560 Kaj fakte, Tie estas tiom da alimaniere oni povus esprimi 1241 01:00:53,560 --> 01:00:55,101 ke, kiu mi proponis en momento. 1242 01:00:55,101 --> 01:00:59,770 Do jen ni havas unu enkarniĝo de la picture-- whoops-- unu 1243 01:00:59,770 --> 01:01:02,830 enkarniĝo de la bildo, tiel kiel iom tri dimensinombro al ĝi, 1244 01:01:02,830 --> 01:01:04,160 kio estas bela. 1245 01:01:04,160 --> 01:01:08,470 >> Jen alia, kie vi havas la sama, kvankam ĝi estas speco de malferma kubo. 1246 01:01:08,470 --> 01:01:12,020 Kelkaj homoj prenis iom pli plata, du dimensiaj. 1247 01:01:12,020 --> 01:01:13,910 Kaj tio estas bone. 1248 01:01:13,910 --> 01:01:17,380 Do, ĝuste en la centro de la papero. 1249 01:01:17,380 --> 01:01:22,720 Ĉi tiu Mi pensas vin kiel, ĉar se ni iros tien, 1250 01:01:22,720 --> 01:01:25,130 tio estas kion ŝi priskribas. 1251 01:01:25,130 --> 01:01:29,570 Do nun, mi proponas kiel alie Ni povus priskribi tiun situacion. 1252 01:01:29,570 --> 01:01:34,070 >> Reen en la tago, unu el la plej pli komunaj manieroj lerni programadon 1253 01:01:34,070 --> 01:01:38,900 estis skribi kodon, skribas linioj de instrukcioj, 1254 01:01:38,900 --> 01:01:42,640 kiu kontrolis iom testudo sur la ekrano. 1255 01:01:42,640 --> 01:01:45,660 Logo kaj aliaj variantoj de tiu estis la nomo de la lingvo. 1256 01:01:45,660 --> 01:01:47,550 Kaj la testudo vivis en mondo. 1257 01:01:47,550 --> 01:01:49,970 >> Do supozu ĉi rektangula spaco estas lia mondo. 1258 01:01:49,970 --> 01:01:53,340 Kaj vi komencos per assuming-- mi ne vere scias kiel desegni testudo, 1259 01:01:53,340 --> 01:01:54,740 do ni faru tiel. 1260 01:01:54,740 --> 01:01:57,340 Kaj tiam li havas ŝelon kaj tiam eble iuj piedoj. 1261 01:01:57,340 --> 01:01:59,840 Tial vi havu ĉi iom karaktero sur la ekrano. 1262 01:01:59,840 --> 01:02:02,270 >> Kaj la objekto de tiu programlingvo 1263 01:02:02,270 --> 01:02:06,070 estis devigi la testudo iri supren, malsupren, maldekstra, dekstra 1264 01:02:06,070 --> 01:02:08,420 kaj meti sian plumon malsupren aŭ pluki sian plumon supren, 1265 01:02:08,420 --> 01:02:12,720 do li povus efektive utiligi la ekranon en ĉi tre plata rektangula mondo. 1266 01:02:12,720 --> 01:02:16,850 Do kie mi kredis ke vi povus iri, kaj kie vi devus konsideri plonĝado 1267 01:02:16,850 --> 01:02:19,520 malsupren al mense kiam priskribante instrukcioj pli ĝenerale, 1268 01:02:19,520 --> 01:02:21,720 Mi asertas, estas metita via plumo malsupren en la middle-- 1269 01:02:21,720 --> 01:02:23,100 kaj ni forigi la testudo, ĉar mi ne povas vere 1270 01:02:23,100 --> 01:02:24,680 konservi desegnante lin tre bone. 1271 01:02:24,680 --> 01:02:27,170 >> Kaj nun, kiel alie povus Mi diras desegni kubo? 1272 01:02:27,170 --> 01:02:32,830 Nu, ni povus diri ion kiel remizo diagonala linio nordoriente, ekzemple, 1273 01:02:32,830 --> 01:02:35,182 aŭ ĉe 45-grada angulo supren. 1274 01:02:35,182 --> 01:02:36,640 Kaj kiu eble akiris al mi cxi tie. 1275 01:02:36,640 --> 01:02:38,380 Kaj mi sufiĉe malproksime de kubo. 1276 01:02:38,380 --> 01:02:42,430 Sed nun, mi povis diri ion kiel turni 90 gradojn maldekstren 1277 01:02:42,430 --> 01:02:47,370 kaj desegni linion de egala longo nordokcidento. 1278 01:02:47,370 --> 01:02:49,470 Kaj mi povis daŭrigi kun simila direktoj. 1279 01:02:49,470 --> 01:02:50,720 Kaj ĝi ne tuj estos facila. 1280 01:02:50,720 --> 01:02:53,345 Kaj sincere, ni verŝajne volus estis tie por kvin minutoj. 1281 01:02:53,345 --> 01:02:59,600 Sed eble ni estus alveninta al iu kiu, fine de la tago, 1282 01:02:59,600 --> 01:03:04,280 finu estante kubo, sed ni plonĝis ene de tiu abstraktado 1283 01:03:04,280 --> 01:03:06,370 fari ĝin ĉe tia malalta nivelo kiu ne povas vere 1284 01:03:06,370 --> 01:03:09,795 vidi kion vi faras ĝis la tuta aĵo reale ekzistas sur la paĝo. 1285 01:03:09,795 --> 01:03:12,670 Kaj tiel tio estas ĝenerala principo, denove, de programming-- tiu ideo 1286 01:03:12,670 --> 01:03:13,320 de abstracción. 1287 01:03:13,320 --> 01:03:15,920 Estas tiel mirinde potenca, ĉar denove, 1288 01:03:15,920 --> 01:03:19,281 ŝi ĵus diris, desegni kubo, kiu ĉiuj ni preskaux estus grok tre rapide. 1289 01:03:19,281 --> 01:03:21,030 Ni nur kompreni, OK, desegni kubo. 1290 01:03:21,030 --> 01:03:24,030 Ni ne scias la orientiĝon, do ni povus esti iom pli preciza, 1291 01:03:24,030 --> 01:03:26,297 sed ni povas ĝenerale bildigi aŭ scii kion kubo estas. 1292 01:03:26,297 --> 01:03:28,130 Kaj tio estas utila, ĉar se ĉiufoje kiam vi 1293 01:03:28,130 --> 01:03:31,540 sidiĝis kiel programisto ĉe via klavaro por skribi kodon, 1294 01:03:31,540 --> 01:03:33,912 se vi devis pensi ĉe tia malaltan nivelon, neniu el ni 1295 01:03:33,912 --> 01:03:35,120 iam akiri ion fari. 1296 01:03:35,120 --> 01:03:38,259 Kaj certe, neniu el ni volas ĝui la procezo de skribo kodo. 1297 01:03:38,259 --> 01:03:41,550 Estus kiel skribi en 0-aj kaj 1-oj, kiu sincere ne estis tiom longe 1298 01:03:41,550 --> 01:03:43,680 homoj estis skribanta kodo 0-aj kaj 1-oj. 1299 01:03:43,680 --> 01:03:46,960 Kaj ni tre rapide elpensis tiuj pli alta nivelo languages-- 1300 01:03:46,960 --> 01:03:49,410 C ++ kaj Java kaj aliaj. 1301 01:03:49,410 --> 01:03:52,500 >> Do ni provu tion ankoraŭfoje nur por flip la tabloj, por ke ni ĉiuj 1302 01:03:52,500 --> 01:03:55,450 havas la ŝancon pensi en iom la sama maniero. 1303 01:03:55,450 --> 01:03:59,230 Ni povus preni pli volontulo tiu venonta tempo ĝis la estraro kaj desegni, 1304 01:03:59,230 --> 01:04:01,480 ne reciti? 1305 01:04:01,480 --> 01:04:02,070 Yeah, OK. 1306 01:04:02,070 --> 01:04:04,820 Ben, venu supren. 1307 01:04:04,820 --> 01:04:08,510 Kaj Ben, en tiu kazo, kiam oni alfronti la tabulo, ne aspektas forlasis, 1308 01:04:08,510 --> 01:04:09,370 ne rigardu rekte. 1309 01:04:09,370 --> 01:04:12,367 Nur faros vian kolegoj tie diras. 1310 01:04:12,367 --> 01:04:14,950 Kaj por ĉiuj aliaj en la ĉambron, vi nun estas la programisto. 1311 01:04:14,950 --> 01:04:16,020 Li estas la komputilo. 1312 01:04:16,020 --> 01:04:21,395 Kaj la bildon kiun mi elektis tie anticipe estas ĉi tie. 1313 01:04:21,395 --> 01:04:24,490 1314 01:04:24,490 --> 01:04:27,660 Ili just-- ili pensas de amuza ŝerco estas ĉio. 1315 01:04:27,660 --> 01:04:31,510 >> Do estus does iu ŝatas volonti la unuan instrukcion 1316 01:04:31,510 --> 01:04:35,470 aŭ deklaro ke devus komando Ben skribilo? 1317 01:04:35,470 --> 01:04:40,850 Kaj ni faros ĉi kolektive, eble unu instrukcion de ĉiu persono. 1318 01:04:40,850 --> 01:04:41,440 Mi bedaŭras? 1319 01:04:41,440 --> 01:04:42,440 >> Spektantaro: Desegni cirklon. 1320 01:04:42,440 --> 01:04:45,866 DAVID Malan: Desegni cirklon estas la unua aĵo kiun mi aŭdis. 1321 01:04:45,866 --> 01:04:47,100 >> Spektantaro: Up supro. 1322 01:04:47,100 --> 01:04:48,140 >> DAVID Malan: Up supro. 1323 01:04:48,140 --> 01:04:52,504 OK, ni povas lasi vin forigi, malfari. 1324 01:04:52,504 --> 01:04:53,420 Nun iu alia. 1325 01:04:53,420 --> 01:04:55,994 Dan, ĉu vi comfy proponante la sekvan instrukcion? 1326 01:04:55,994 --> 01:05:02,070 >> Spektantaro: Certe, desegni la centro el la fundo de la cirklo, 1327 01:05:02,070 --> 01:05:07,121 kun small-- iom malgranda spaco de tiu, 1328 01:05:07,121 --> 01:05:15,420 desegni rektan linion malsupren al tri kvaronoj de la vojo malsupren la tabulo 1329 01:05:15,420 --> 01:05:17,845 iometa angulo al via maldekstra. 1330 01:05:17,845 --> 01:05:21,250 1331 01:05:21,250 --> 01:05:22,620 >> DAVID Malan: Bone. 1332 01:05:22,620 --> 01:05:24,086 >> Spektantaro: Malpezaj angulo. 1333 01:05:24,086 --> 01:05:32,807 >> DAVID Malan: Malfari, Kontrolo-Z. BONE. 1334 01:05:32,807 --> 01:05:34,890 Andreo, vi volas proponi ĝis la sekvan instrukcion? 1335 01:05:34,890 --> 01:05:35,515 >> Spektantaro: Sure. 1336 01:05:35,515 --> 01:05:43,250 El la fundo de tiu linio, plia malpeza angle-- 1337 01:05:43,250 --> 01:05:49,024 whoops-- eble triono de la longo [inaudible], 1338 01:05:49,024 --> 01:05:52,928 iometa angulo malsupren kaj kiel triono de la longo de [inaudible]. 1339 01:05:52,928 --> 01:05:57,550 1340 01:05:57,550 --> 01:06:00,578 Do jes, de tiu punkto, desegni linion tria 1341 01:06:00,578 --> 01:06:04,150 de la longo de la antaŭa linio pli maldekstren. 1342 01:06:04,150 --> 01:06:08,416 1343 01:06:08,416 --> 01:06:10,040 >> DAVID Malan: Bone? 1344 01:06:10,040 --> 01:06:12,330 Rekta linio, tio estas bone? 1345 01:06:12,330 --> 01:06:14,900 OK, Olivier, vi volas oferi la sekva? 1346 01:06:14,900 --> 01:06:28,564 >> Spektantaro: [inaudible] de la malsupro de la cirklo, [inaudible]. 1347 01:06:28,564 --> 01:06:32,000 1348 01:06:32,000 --> 01:06:45,126 Desegni sur la dekstra flanko de [inaudible] centimetroj. 1349 01:06:45,126 --> 01:06:46,560 >> [Ridado] 1350 01:06:46,560 --> 01:06:49,872 >> DAVID Malan: Mi kredas ke vi tuj devas konverti tio coloj tie. 1351 01:06:49,872 --> 01:06:50,764 >> Spektantaro: Ĉesu. 1352 01:06:50,764 --> 01:06:52,186 >> [Ridado] 1353 01:06:52,186 --> 01:06:54,570 >> DAVID Malan: Bone. 1354 01:06:54,570 --> 01:06:56,660 [? Ara,?] Vi volas oferi la sekva? 1355 01:06:56,660 --> 01:07:00,653 1356 01:07:00,653 --> 01:07:15,443 >> Spektantaro: Desegni [inaudible] la supra [inaudible] la sama. 1357 01:07:15,443 --> 01:07:28,829 [Inaudible] cirklo, desegni al la [Inaudible] kaj tiri [inaudible]. 1358 01:07:28,829 --> 01:07:33,799 1359 01:07:33,799 --> 01:07:36,730 >> DAVID Malan: Bone, neniu pli malfari. 1360 01:07:36,730 --> 01:07:38,390 Ni faru unu aux du instrukciojn. 1361 01:07:38,390 --> 01:07:40,825 Chris, vi volas proponi unu? 1362 01:07:40,825 --> 01:07:46,182 >> Spektantaro: Funde de la cirklo, [inaudible] 1363 01:07:46,182 --> 01:07:51,528 desegni egalan linio slopping malsupren maldekstren [inaudible]. 1364 01:07:51,528 --> 01:07:59,304 1365 01:07:59,304 --> 01:08:00,590 >> DAVID Malan: Bone. 1366 01:08:00,590 --> 01:08:01,170 Andrew? 1367 01:08:01,170 --> 01:08:02,472 Ni did-- Karim? 1368 01:08:02,472 --> 01:08:06,891 1369 01:08:06,891 --> 01:08:13,765 >> Spektantaro: Komencante de la dekstra linio, Fine de la maldekstra linio, la fundo, 1370 01:08:13,765 --> 01:08:21,012 vi tuj iru dekstren ĉirkaŭ samlongaj kiel tiu linio 1371 01:08:21,012 --> 01:08:27,680 vi estas sur, tirante al dekstre [inaudible]. 1372 01:08:27,680 --> 01:08:33,572 1373 01:08:33,572 --> 01:08:37,991 [Inaudible] gradoj, tiel [inaudible] gradoj sur la dekstra flanko. 1374 01:08:37,991 --> 01:08:41,919 1375 01:08:41,919 --> 01:08:43,500 >> DAVID Malan: Bone. 1376 01:08:43,500 --> 01:08:44,029 Ni paŭzi. 1377 01:08:44,029 --> 01:08:44,950 Ne turni ĉirkaŭe ankoraŭ. 1378 01:08:44,950 --> 01:08:46,783 Ni paŭzi kaj ni provu unu alia provo 1379 01:08:46,783 --> 01:08:48,850 antaŭ ni malkaŝi al Ben- kion li estis desegnante. 1380 01:08:48,850 --> 01:08:51,189 Vi povas barajar Ben al la right-- aŭ reale, 1381 01:08:51,189 --> 01:08:54,080 ne, ni nur donos vin alia tabulo, eĉ pli bone. 1382 01:08:54,080 --> 01:08:57,640 Do estus iu nun ŝatas preni pli de la alproksimiĝo 1383 01:08:57,640 --> 01:09:02,149 ke Viktorio prenis pli frue sur, kie Ni parolu en pli alta nivelo abstraktado 1384 01:09:02,149 --> 01:09:05,149 kaj en nur frazo aŭ du priskribi Ben 1385 01:09:05,149 --> 01:09:07,229 kion desegni sen akiranta en la maleza, 1386 01:09:07,229 --> 01:09:10,670 por tiel diri, en tiu malsupera nivelo? 1387 01:09:10,670 --> 01:09:11,206 Victoria. 1388 01:09:11,206 --> 01:09:11,706 [Ridado] 1389 01:09:11,706 --> 01:09:14,249 Spektantaro: Eltiru figuro de la piedirado viro. 1390 01:09:14,249 --> 01:09:18,866 Kaj liaj kruroj kaj brakoj devas esti dekstre. 1391 01:09:18,866 --> 01:09:20,505 >> DAVID Malan: Bone, tio estas ĉio vi ricevas. 1392 01:09:20,505 --> 01:09:27,210 1393 01:09:27,210 --> 01:09:27,710 Bone. 1394 01:09:27,710 --> 01:09:31,609 Kial ni ne malkaŝos al Ben kion li faris. 1395 01:09:31,609 --> 01:09:32,890 Tiel ronda da aplaŭdoj. 1396 01:09:32,890 --> 01:09:35,700 Tio estis la plej malfacila eble. 1397 01:09:35,700 --> 01:09:37,931 >> Do eĉ se ni parolas en sufiĉe stulta esprimoj 1398 01:09:37,931 --> 01:09:39,680 pri nur desegnante bildoj, espereble vi 1399 01:09:39,680 --> 01:09:44,226 povas vere aprezi la gradon de esprimkapablo povus esti necesa 1400 01:09:44,226 --> 01:09:45,850 por diri al komputilo kion fari. 1401 01:09:45,850 --> 01:09:50,370 Kaj fakte, la fakto ke Ben povis desegni ĉi tiel rapide 1402 01:09:50,370 --> 01:09:54,227 estas speco de atesto uzante lingvo, eble pli altan nivelon 1403 01:09:54,227 --> 01:09:57,060 versio de la angla, kiu lin permesas por ĝuste uzi vortojn, aŭ aŭdi vortojn 1404 01:09:57,060 --> 01:09:59,990 de Victoria, kiu permesas al li tiuj abstractions-- simple desegni 1405 01:09:59,990 --> 01:10:03,020 figuro piediranta al la right-- tian havas 1406 01:10:03,020 --> 01:10:07,100 iuj semantikaj signifon al ĝi ke ne preskaŭ tiel evidenta kiam vi estas nur 1407 01:10:07,100 --> 01:10:10,310 dirante, metu vian plumon malsupren, tiri dekstren, desegni maldekstren. 1408 01:10:10,310 --> 01:10:12,420 >> Kaj tiel ĉi, ankaŭ, estas tre komuna en programado. 1409 01:10:12,420 --> 01:10:15,253 Tio estus dirita esti kiel tre malalta nivelo lingvo, programado 1410 01:10:15,253 --> 01:10:16,730 en 0-aj kaj 1-oj, se vi volas. 1411 01:10:16,730 --> 01:10:19,320 Kaj tio estus pli alta nivelo lingvo de programado en Java, 1412 01:10:19,320 --> 01:10:20,278 aŭ ion tian. 1413 01:10:20,278 --> 01:10:22,050 Iom de simplificación, sed tio estas 1414 01:10:22,050 --> 01:10:24,310 la speco de kiel emocia sentante ke vi sentas kiam 1415 01:10:24,310 --> 01:10:26,630 uzante unu speco de aĵo aŭ alia. 1416 01:10:26,630 --> 01:10:32,650 Iom de frustración apud la bezono por tia precizeco, sed la ŝanco 1417 01:10:32,650 --> 01:10:34,930 esti iom pli malfiksas kun la interpretado tie. 1418 01:10:34,930 --> 01:10:38,060 Sed kompreneble, cimoj povas ekesti kiel rezulto. 1419 01:10:38,060 --> 01:10:40,500 >> Se vi ŝatus ĉe home-- ni ne faros ĉi tiu en class-- 1420 01:10:40,500 --> 01:10:41,900 sed se vi ŝatus venigu ĉi tiu domo, 1421 01:10:41,900 --> 01:10:43,387 Mi pensis ke ni havus plonĝi en tiun. 1422 01:10:43,387 --> 01:10:45,970 Do se vi ŝatus ludi ĉi ludo kun via signifa aliaj 1423 01:10:45,970 --> 01:10:49,180 aŭ infanoj aŭ similaj, vi povu ĝui ke ankaŭ. 1424 01:10:49,180 --> 01:10:54,460 >> Do ni iru antaŭen kaj rigardu unu lasta aferon tie por komputa pensado. 1425 01:10:54,460 --> 01:10:57,010 Kaj kiu alportas nin al John Oliver, ne por la klipo 1426 01:10:57,010 --> 01:11:00,070 vi eble vidis hieraux, sed por iom lastatempaj afero. 1427 01:11:00,070 --> 01:11:03,310 Kelkajn monatojn reen, Volkswagen prenis tre iom de flak 1428 01:11:03,310 --> 01:11:05,651 por kio, se vi tion scias? 1429 01:11:05,651 --> 01:11:07,025 Kion ili akiras en problemo por? 1430 01:11:07,025 --> 01:11:10,270 1431 01:11:10,270 --> 01:11:14,030 >> Jes, do emissions-- ili provis bati emisiones 1432 01:11:14,030 --> 01:11:19,100 provoj de esence havi ilian aŭtoj malpurigi la medion malpli 1433 01:11:19,100 --> 01:11:23,620 kiam iliaj aŭtoj estis tentata kaj malpurigi la medion pli 1434 01:11:23,620 --> 01:11:25,547 kiam la aŭtoj estis ne estanta elprovita. 1435 01:11:25,547 --> 01:11:28,630 Kaj kio estas pli interesa en la mondo, kiel vi povas havi konkludis 1436 01:11:28,630 --> 01:11:34,072 el diskutoj de like-- kio estas it-- CarPlay, Apple programaro por aŭtoj 1437 01:11:34,072 --> 01:11:35,780 kaj la fakto ke multaj Ni ĉiam 1438 01:11:35,780 --> 01:11:38,390 havi ekranoj táctiles en niaj aŭtoj, Tie estas timiga kvanto 1439 01:11:38,390 --> 01:11:41,250 de programaro en popola aŭtoj hodiaŭ, kiuj 1440 01:11:41,250 --> 01:11:45,650 sincere malfermas tutan ujon da vermoj kiam temas sekureco kaj fizika risko. 1441 01:11:45,650 --> 01:11:48,070 Sed por hodiaŭ, ni enfokusigi ĝuste kio estas 1442 01:11:48,070 --> 01:11:52,170 implikita skribe programaro ke eble gamed la sistemo. 1443 01:11:52,170 --> 01:11:54,510 >> Por la difino de la problemo, por tiuj nekonataj, 1444 01:11:54,510 --> 01:11:55,740 ni rigardu John Oliver. 1445 01:11:55,740 --> 01:11:58,115 Kaj por tiuj, kiuj konas la problemo, ni rigardu ŝin 1446 01:11:58,115 --> 01:12:00,480 en amuza lenso tra John Oliver ankaŭ. 1447 01:12:00,480 --> 01:12:05,810 Do lasu min bati teatraĵo ĉi, mi pensas, tri-minuta enkonduko. 1448 01:12:05,810 --> 01:12:07,074 Damnu ĝin. 1449 01:12:07,074 --> 01:12:07,740 [VIDEO reprodukto] 1450 01:12:07,740 --> 01:12:08,170 -Cars-- 1451 01:12:08,170 --> 01:12:09,919 DAVID Malan: Evidente, en YouTube, it's-- 1452 01:12:09,919 --> 01:12:12,500 - --La Inteligenta karakteroj en Rapida kaj Furioza filmoj. 1453 01:12:12,500 --> 01:12:16,080 Tiu semajno, germana fabrikanto Volkswagen trovis sin 1454 01:12:16,080 --> 01:12:19,430 en la mezo de skandalo de potenciale krimaj proporcioj. 1455 01:12:19,430 --> 01:12:23,020 >> -Volkswagen Estas fiksante por miliardoj en monpunas, eblaj kriminalaj postenoj 1456 01:12:23,020 --> 01:12:25,530 por liaj ekzekutivoj, kiel la kompanio senkulpigas 1457 01:12:25,530 --> 01:12:28,790 por falsigi 11 milionoj aŭtoj helpi ŝin venki emisiones testoj. 1458 01:12:28,790 --> 01:12:32,110 >> -Certain Dizelaj modeloj estis desegnitaj kun altnivela softvaro ke 1459 01:12:32,110 --> 01:12:35,410 uzita informoj, inkludante la pozicio de la stirrado kaj veturilo 1460 01:12:35,410 --> 01:12:38,820 rapido, por determini la aŭto estis travivanta emisiones testado. 1461 01:12:38,820 --> 01:12:42,620 Sub tiu cirkonstanco, la motoro reduktus toksaj emisioj. 1462 01:12:42,620 --> 01:12:46,040 Sed la aŭto estis rigita al pretervojo ke kiam estis pelataj. 1463 01:12:46,040 --> 01:12:51,370 Emisiones pliigis 10 ĝis 40 fojojn super akcepteblaj EPA niveloj. 1464 01:12:51,370 --> 01:12:55,920 >> -Wow, 10 ĝis 40 fojojn granda ol la EPA permesas. 1465 01:12:55,920 --> 01:12:59,570 Kiu estas la plej malbona afero Volkswagen iam faris, 1466 01:12:59,570 --> 01:13:04,200 Estas io, kion vi povus diri, se Vi neniam aŭdis de la Dua Mondmilito. 1467 01:13:04,200 --> 01:13:09,710 Sed eble la plej certa signo de kiel okupigxantaj Volkswagen estas, 1468 01:13:09,710 --> 01:13:12,730 estas ke homoj ĉe la supro ili retiriĝis. 1469 01:13:12,730 --> 01:13:16,320 La CEO rezignis merkrede post grimpadi al dolorigi kontrolo, 1470 01:13:16,320 --> 01:13:20,380 dirante li estis senfine bedaŭras, kiu sonis granda ĝis evidentiĝis 1471 01:13:20,380 --> 01:13:22,920 Li estis nur 10% bedaŭras sed estis rigita lia buŝo 1472 01:13:22,920 --> 01:13:25,600 por artefarite ŝveligi liajn sorriness. 1473 01:13:25,600 --> 01:13:29,700 Kaj dume, Volkswagen usonaj estro havis pardonpeton de sia propra. 1474 01:13:29,700 --> 01:13:33,580 >> -Let Estu klaraj pri tio, nia firmao estis malhonesta. 1475 01:13:33,580 --> 01:13:37,140 Kaj en mia germanaj vortoj, ni esti tute ŝraŭbita supren. 1476 01:13:37,140 --> 01:13:41,360 >> -Yeah, Sed tute ŝraŭbita ĝis ne germanaj verkoj. 1477 01:13:41,360 --> 01:13:43,750 Kaj la germana lingvo havas multajn belajn frazoj 1478 01:13:43,750 --> 01:13:50,070 por priskribi situaciojn ĝuste tiel, kiel [GERMAN], kio signifas malglate, 1479 01:13:50,070 --> 01:13:52,870 la malĝojo kiu venas de negoco rilata mensogoj, 1480 01:13:52,870 --> 01:13:59,060 aŭ [GERMAN], kiu tradukiĝas kiel hontigas tiuj patro implikanta 1481 01:13:59,060 --> 01:14:00,352 nuboj de benzino. 1482 01:14:00,352 --> 01:14:02,060 Estas bela lingvo. 1483 01:14:02,060 --> 01:14:04,660 Ĝi nur navigas for la lango. 1484 01:14:04,660 --> 01:14:07,920 Kaj sur la vojo, dum ke homo pardonpeto eble sonis sincera, 1485 01:14:07,920 --> 01:14:12,260 ĝi valoras notanta li parolis ĉe oficiala ĵeto partio por la 2016 1486 01:14:12,260 --> 01:14:17,310 Volkswagen Passat, signifante ke baldaŭ dirinte bedaŭras, li diris tion. 1487 01:14:17,310 --> 01:14:18,850 >> -Thank Vin tre multe por veni. 1488 01:14:18,850 --> 01:14:19,630 Ĝui la vesperon. 1489 01:14:19,630 --> 01:14:21,300 Supren proksima estas Lenny Kravitz. 1490 01:14:21,300 --> 01:14:24,640 >> [MUZIKO Ludanta] 1491 01:14:24,640 --> 01:14:28,230 >> -OK, OK, finanta vian pardonpeto kun ĝis proksima 1492 01:14:28,230 --> 01:14:31,940 Lenny Kravitz ne krii sobra pento. 1493 01:14:31,940 --> 01:14:35,830 Ĝi krias, ni demandis Bon Jovi, kaj li diris ne. 1494 01:14:35,830 --> 01:14:38,600 Volkswagen marko havas estas severe damaĝita. 1495 01:14:38,600 --> 01:14:42,466 Kaj sincere, lia nova anonco kampanjo ne ĝuste helpi. 1496 01:14:42,466 --> 01:14:47,289 >> - [GERMAN], ni ĉe Volkswagen ŝatus pardonpeti por trompi vin per 1497 01:14:47,289 --> 01:14:47,930 niaj veturiloj. 1498 01:14:47,930 --> 01:14:48,513 >> [FINO reprodukto] 1499 01:14:48,513 --> 01:14:54,090 DAVID Malan: Do tiu estis trafikcirklo maniero of-- sorry-- 1500 01:14:54,090 --> 01:14:58,730 jen ili trairis vojon de enkondukante fundamenta problemo 1501 01:14:58,730 --> 01:15:02,810 en programaro, kiu estas ke vi bezonas detekti certaj kondiĉoj. 1502 01:15:02,810 --> 01:15:07,680 Kaj tiel la demando mane tie Estas, kiel faras aŭton potenciale, 1503 01:15:07,680 --> 01:15:09,870 kiel implementado en programaro de tiuj programistoj, 1504 01:15:09,870 --> 01:15:11,850 detektas ke ĝi estas reale esti provita? 1505 01:15:11,850 --> 01:15:14,150 Tiel esti super klara, kion ili faris 1506 01:15:14,150 --> 01:15:17,940 Estis, en medioj kie la programistoj kalkulis 1507 01:15:17,940 --> 01:15:20,460 la aŭto estis estanta provita, ili iel faris 1508 01:15:20,460 --> 01:15:24,840 la aŭto elsendus malpli emisiones, malpli emisiones, tial malpli toksaj fumoj 1509 01:15:24,840 --> 01:15:25,470 kaj tia. 1510 01:15:25,470 --> 01:15:27,261 Sed kiam ĝi estas normale veturanta survoje, 1511 01:15:27,261 --> 01:15:30,350 ĝi nur elsendas tiel polucio kiel ĝi volis. 1512 01:15:30,350 --> 01:15:33,870 >> Do kiel ni povus skribi la _pseudocode_ por ĉi tiu algoritmo? 1513 01:15:33,870 --> 01:15:37,820 Kiel ni povus skribi la _pseudocode_ por la programaro kurante en la aŭto? 1514 01:15:37,820 --> 01:15:43,390 Mi volas diri, en malmultaj vortoj, ĝi bolas malsupren al io tiamaniere. 1515 01:15:43,390 --> 01:15:48,000 se tentate, elsendas malpli. 1516 01:15:48,000 --> 01:15:50,750 alie elsendas pli. 1517 01:15:50,750 --> 01:15:52,630 Sed tio estas iom tro alta nivelo, ĉu ne? 1518 01:15:52,630 --> 01:15:58,580 >> Ni provu plonĝi en kiel al kion tiu abstraktado esti testita per. 1519 01:15:58,580 --> 01:16:06,340 Alivorte, eĉ se vi scias nenion pri aŭtoj, kia demandoj 1520 01:16:06,340 --> 01:16:13,440 povus vin demandi por determini se vi estanta elprovita, se vi estas la aŭto? 1521 01:16:13,440 --> 01:16:19,638 Kio karakterizaĵoj povus esti prezenti se aŭto estas estanta elprovita? 1522 01:16:19,638 --> 01:16:21,026 >> Spektantaro: Testado teamo. 1523 01:16:21,026 --> 01:16:22,420 >> DAVID Malan: Testado teamo. 1524 01:16:22,420 --> 01:16:26,060 Do se elprovanta ekipaĵon proksimaj, tiam elsendas malpli. 1525 01:16:26,060 --> 01:16:28,669 Do mi povis imagi efektivigado ke kun iu speco de ĉambroj 1526 01:16:28,669 --> 01:16:29,960 aŭ detekti kio estas ĉirkaŭ vi. 1527 01:16:29,960 --> 01:16:32,870 Kaj mi proponas, ke nur sentas tro komplika 1528 01:16:32,870 --> 01:16:37,914 efektive havas aldonan aparataro ĵus por tiu celo. 1529 01:16:37,914 --> 01:16:44,830 >> Spektantaro: Se vi estas en parko, se via kapuĉo estas malfermita. 1530 01:16:44,830 --> 01:16:47,320 >> DAVID Malan: En parko aŭ kapuĉo malferma, do tio estas bona. 1531 01:16:47,320 --> 01:16:47,420 >> Spektantaro: Kaj aŭton kurado. 1532 01:16:47,420 --> 01:16:50,480 >> DAVID Malan: Do jen iom pli concrete-- kaj aŭto kurado. 1533 01:16:50,480 --> 01:16:55,690 Do tiu estus la konjunkcio de kelkaj malsamaj kondiĉoj, se vi volas. 1534 01:16:55,690 --> 01:16:59,227 Do se la aŭto estas en parko, kaj eĉ kvankam tiu estas tre mekanika afero 1535 01:16:59,227 --> 01:17:01,060 tipe, mi povis imagu skribanta softvaron, 1536 01:17:01,060 --> 01:17:03,476 speciale ĉar estas ofte malpeza tie kelkan tempon 1537 01:17:03,476 --> 01:17:07,400 Mi povus imagi ke esti programaro kiu povas konsulti la levilo de ŝanĝoj 1538 01:17:07,400 --> 01:17:10,634 aŭ kio ne, vi estas en parko, estas vi en la disketingo, vi estas en reverso. 1539 01:17:10,634 --> 01:17:12,550 Kaj mi povas reiri al respondu tio ĉu jes 1540 01:17:12,550 --> 01:17:14,400 aŭ ne al tiuj specoj de demandoj. 1541 01:17:14,400 --> 01:17:17,630 >> Kaj tiel mi povis same probable respondi demando kiel, estas la kapuĉo malfermita. 1542 01:17:17,630 --> 01:17:21,860 Eble, ekzistas ia Sensilo ke aŭ donas al mi reen 1 aŭ 0, 1543 01:17:21,860 --> 01:17:23,720 vera aŭ malvera, la kapuĉo estas malfermita. 1544 01:17:23,720 --> 01:17:28,180 Kaj tiam aŭto kurado, mi povis detekti ke iel per kia mekanismo? 1545 01:17:28,180 --> 01:17:30,430 Kiel, la aŭto estas kuranta, Mi povis detekti ke ĝi estas sur, 1546 01:17:30,430 --> 01:17:32,127 mi povus detekti iel ke la aŭto movas? 1547 01:17:32,127 --> 01:17:32,881 >> Spektantaro: RPMs. 1548 01:17:32,881 --> 01:17:35,190 >> DAVID Malan: Jes, do ekzistas ĉiam ke kudrilo ke 1549 01:17:35,190 --> 01:17:38,034 diras vin kiom da rotacioj po minuto la radoj spertas. 1550 01:17:38,034 --> 01:17:39,200 Kaj tiel mi povis rigardi tion. 1551 01:17:39,200 --> 01:17:43,090 Kaj se ĝi estas ne 0, kiu probable signifas la aŭto movas. 1552 01:17:43,090 --> 01:17:45,400 Sed ni devas esti iom zorgema tie, 1553 01:17:45,400 --> 01:17:49,780 because-- ni simpligi this-- se ni ĵus diris, se aŭto kurado, 1554 01:17:49,780 --> 01:17:53,070 ni ne volas nur elsendas malpli, Ni volas ke la aŭto estas kuranta 1555 01:17:53,070 --> 01:17:54,310 kaj ĝi estas provita. 1556 01:17:54,310 --> 01:17:56,320 >> Do estas kelkaj aliaj ingrediencoj kiuj ulojn 1557 01:17:56,320 --> 01:18:00,550 jam hipotezis la programaro faras, ĉar forestas la efektiva fontkodon, 1558 01:18:00,550 --> 01:18:05,130 vi povas nur ia konkludi el la fizikaj efikoj de la aŭto kiel al kio 1559 01:18:05,130 --> 01:18:08,280 eble okazas sub la kapuĉo en softvaro. 1560 01:18:08,280 --> 01:18:17,090 Do se aŭto kurante kaj eble, diru, radoj traseras ne movas, 1561 01:18:17,090 --> 01:18:19,420 cxu tio estus indikaj de ia testo? 1562 01:18:19,420 --> 01:18:22,830 Kion mi sugestante ĉe tie? 1563 01:18:22,830 --> 01:18:24,830 Yeah, eble, estas unu de tiuj rulilo aferojn, 1564 01:18:24,830 --> 01:18:28,340 kie kiel la radoj turnas en la fronto aŭ en la dorso, 1565 01:18:28,340 --> 01:18:32,570 Dependanta sur ĉu ĝi estas antaŭa rado aŭ tirado trasera, tial duono de la radoj 1566 01:18:32,570 --> 01:18:34,420 estas movanta, sed la aliaj du ne, kio 1567 01:18:34,420 --> 01:18:36,320 Estas stranga situacio en la reala mondo. 1568 01:18:36,320 --> 01:18:38,110 Se vi veturanta sur la vojo, tio ne devus okazi. 1569 01:18:38,110 --> 01:18:40,568 Sed se vi estas en magazeno sur ia rulilo sistemo, 1570 01:18:40,568 --> 01:18:41,630 Kiu povus ja okazi. 1571 01:18:41,630 --> 01:18:46,980 >> Mi pensas uloj ankaŭ proponis ke eble, se la aŭto estas kuranta kaj direkto 1572 01:18:46,980 --> 01:18:51,300 Rado ne moviĝas, ke tro povus esti signalo, 1573 01:18:51,300 --> 01:18:54,090 ĉar tio estas racia por kiel straightaway sur vojo. 1574 01:18:54,090 --> 01:18:57,960 Sed eĉ tiam, la homa verŝajne movante ĝin iomete aŭ certe 1575 01:18:57,960 --> 01:18:59,100 pri malmultaj sekundoj. 1576 01:18:59,100 --> 01:19:01,030 Aŭ la daŭro de unu minuto, prognozoj estas ĝi ne 1577 01:19:01,030 --> 01:19:03,510 tuj estos obsedita en ĝuste la sama pozicio. 1578 01:19:03,510 --> 01:19:05,440 >> Do alivorte, ni povas preni substraction, 1579 01:19:05,440 --> 01:19:08,200 vi estanta elprovita kaj detruu ke funcionalidad 1580 01:19:08,200 --> 01:19:10,420 en tiuj komponantoj ingrediencoj. 1581 01:19:10,420 --> 01:19:13,440 Kaj tio estas vere kio Volkswagen inĝenieroj iel faris. 1582 01:19:13,440 --> 01:19:17,070 Ili skribis programaro konscie detekti se la aŭto estas estanta elprovita, 1583 01:19:17,070 --> 01:19:20,440 tial elsendas malpli, alia elsendas en la kutima maniero. 1584 01:19:20,440 --> 01:19:22,690 >> Kaj la problemo ĉi tie, ankaŭ, estas ke programaro ne 1585 01:19:22,690 --> 01:19:26,080 io vi povas vere vidi se vi havas la tn fontkodo. 1586 01:19:26,080 --> 01:19:29,060 Do ekzistas du malsamaj specoj de code-- almenaŭ du malsamaj tipoj 1587 01:19:29,060 --> 01:19:30,130 de kodo en la mondo. 1588 01:19:30,130 --> 01:19:33,150 Estas io nomita fonto kodo, kio ne kontraste kio 1589 01:19:33,150 --> 01:19:37,240 ni estis skribante, fontkodo. 1590 01:19:37,240 --> 01:19:40,099 >> Tio estas fontkodo skribita en lingvo nomata _pseudocode_, 1591 01:19:40,099 --> 01:19:41,640 kiu estas nur io Esperanta-simila. 1592 01:19:41,640 --> 01:19:43,140 Ekzistas neniu formala difino de ĝi. 1593 01:19:43,140 --> 01:19:46,770 Sed C kaj Java, C ++, tiuj estas ĉiuj formalaj lingvoj kiuj, 1594 01:19:46,770 --> 01:19:50,610 Kiam vi skribas en ili, kion vi havas estas teksta dosiero enhavanta fontkodo. 1595 01:19:50,610 --> 01:19:54,850 >> Sed ekzistas ankaŭ iu en la mondo nomita maŝino kodo. 1596 01:19:54,850 --> 01:20:00,579 Kaj maŝino kodo, bedaŭrinde, Estas ĝuste 0-aj kaj 1-oj. 1597 01:20:00,579 --> 01:20:02,870 Tiel maŝino kodo estas kio maŝinoj kompreni, kompreneble. 1598 01:20:02,870 --> 01:20:04,470 Fontkodo estas kion homoj komprenas. 1599 01:20:04,470 --> 01:20:08,390 >> Kaj ĝenerale, sed ne Ĉiam, estas programo 1600 01:20:08,390 --> 01:20:14,090 ke programisto uzas kiu prenas fonton kodo kaj igas maŝino kodo. 1601 01:20:14,090 --> 01:20:17,400 Kaj ke programo estas ĝenerale nomata tradukilo. 1602 01:20:17,400 --> 01:20:19,820 Tial via enigo estas fontkodo, via eligo estas maŝino kodo, 1603 01:20:19,820 --> 01:20:22,890 kaj la kompililo estas peco de programaro kiu faras ke procezo. 1604 01:20:22,890 --> 01:20:26,260 Do tiu reale mapoj bele al nia enigoj, algoritmoj, eligoj. 1605 01:20:26,260 --> 01:20:30,400 >> Sed temas pri tre specifa enkarniĝo de tiu, kiu estas tiu, 1606 01:20:30,400 --> 01:20:34,200 eĉ se vi posedas unu el Volkswagen aŭtoj kiuj estas kulpaj pri tio, 1607 01:20:34,200 --> 01:20:38,390 ĝi ne ŝatas ke oni nur malfermu kapuĉo aŭ malfermi la uzanto manlibro aŭ rigardu 1608 01:20:38,390 --> 01:20:42,690 ĉe la fontkodon, ĉar per la tempo ĝi atingas vian aŭton en via driveway, 1609 01:20:42,690 --> 01:20:45,580 ĝi jam estis igita 0-aj kaj 1-oj. 1610 01:20:45,580 --> 01:20:51,310 Kaj ĝi estas tre malfacila, neebla, sed tre malfacila por kolekti multon 1611 01:20:51,310 --> 01:20:53,710 atentu ĉe la subkuŝanta 0-aj kaj 1-oj. 1612 01:20:53,710 --> 01:20:57,150 Do vi povas kompreni ĝin, finfine, se vi komprenas kiel maŝino operates-- 1613 01:20:57,150 --> 01:20:59,870 Intel inside-- se vi komprenas la Intel arkitekturon, 1614 01:20:59,870 --> 01:21:01,440 sed estas tre tempo konsumanta. 1615 01:21:01,440 --> 01:21:05,010 Kaj eĉ tie, vi eble ne povos vidi ĉiu 1616 01:21:05,010 --> 01:21:08,220 ke la kodo povas reale fari. 1617 01:21:08,220 --> 01:21:12,521 >> Demandojn pri tiu aŭ tiu speco de procezo pli ĝenerale? 1618 01:21:12,521 --> 01:21:15,134 1619 01:21:15,134 --> 01:21:18,300 Kaj fakte, ni povas ligi tiun diskuton al hieraŭa diskuto de Apple. 1620 01:21:18,300 --> 01:21:22,500 Tiu, tro, tial la FBI ne povas simple iru kaj rigardu en la sospechoso de telefono 1621 01:21:22,500 --> 01:21:26,820 kaj trovi la liniojn de kodo, ĉar Ekzemple, kiu ebligas la passcode 1622 01:21:26,820 --> 01:21:28,940 aŭ ebligi ke 80-milisegundo prokrasto. 1623 01:21:28,940 --> 01:21:31,630 Ĉar per la tempo ĝi estas sur la ulo la iPhone, 1624 01:21:31,630 --> 01:21:34,975 ĝi jam estis konvertiĝis al 0-aj kaj 1-oj. 1625 01:21:34,975 --> 01:21:38,015 1626 01:21:38,015 --> 01:21:40,820 >> Nu, ni paŭzi tie por niaj rigardi komputa pensado. 1627 01:21:40,820 --> 01:21:42,320 Kial ni ne prenos 15 minuta paŭzo. 1628 01:21:42,320 --> 01:21:44,130 Kaj kiam ni revenos, ni instruos vin rigardu programado 1629 01:21:44,130 --> 01:21:46,550 sin kaj komenci mapi iuj de tiuj alta nivelo konceptoj 1630 01:21:46,550 --> 01:21:49,780 al fakta, se ludema, programlingvo. 1631 01:21:49,780 --> 01:21:51,089