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