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