1 00:00:00,000 --> 00:00:11,120 2 00:00:11,120 --> 00:00:12,590 >> ЗВУЧНИК: Јас сум [нечујни]. 3 00:00:12,590 --> 00:00:14,820 И јас сум апсолвент на Leverett куќа. 4 00:00:14,820 --> 00:00:18,700 Учам компјутерски науки, и јас сум ТФ за CS50. 5 00:00:18,700 --> 00:00:21,640 Како бруцош, јас дури и не мора лаптоп или smartphone. 6 00:00:21,640 --> 00:00:23,550 Немав програмирање искуство. 7 00:00:23,550 --> 00:00:29,690 CS50 беше нај запаметени разбира дека Зедов на Харвард, бидејќи тоа беше 8 00:00:29,690 --> 00:00:32,960 борба, но тоа беше навистина забавно борба во исто време. 9 00:00:32,960 --> 00:00:37,670 И јас направив многу неверојатно, постојан пријатели, и научив многу навистина 10 00:00:37,670 --> 00:00:38,830 применливи вештини. 11 00:00:38,830 --> 00:00:43,480 Јас сум само среќен што јас не ги споделите со мојот недостаток на позадината да биде изговор за мене 12 00:00:43,480 --> 00:00:44,840 Не земајте CS50. 13 00:00:44,840 --> 00:00:46,220 Јас сум [нечујни]. 14 00:00:46,220 --> 00:00:48,910 Јас сум апсолвент на Leverett Куќа, класа на 2014 година. 15 00:00:48,910 --> 00:00:51,670 И го зедов CS50. 16 00:00:51,670 --> 00:00:52,380 >> Дејвид MALAN: Значи ова е CS50. 17 00:00:52,380 --> 00:00:54,400 Ова е крај на недела нула. 18 00:00:54,400 --> 00:00:58,500 И се сети каде почнавме последен пат, беше со овие светилки, кои беа 19 00:00:58,500 --> 00:01:01,420 толку популарна што отидовме и купив повеќе денес. 20 00:01:01,420 --> 00:01:03,790 Па мислам дека ова ќе биде нашата работа оваа година - 21 00:01:03,790 --> 00:01:07,230 биро светилки, ако дојде на сцената, барем додека снема. 22 00:01:07,230 --> 00:01:11,570 >> Но, ние се користат овие потсетиме, да се воведе основите на претставување на податоците. 23 00:01:11,570 --> 00:01:15,640 Ни е потребно начин да се започне претставуваат информации внатрешноста на компјутерот. 24 00:01:15,640 --> 00:01:18,650 И наједноставен начин да го направите тоа беше со една состојка, електрична енергија. 25 00:01:18,650 --> 00:01:21,760 И наједноставниот нешто што можете да направите со електрична енергија е вклучете го и го исклучувам. 26 00:01:21,760 --> 00:01:23,520 Нека електрони проток или не. 27 00:01:23,520 --> 00:01:27,930 И користење на овие два основни членки, исклучување и натаму, или лажни и вистински, или нула и 28 00:01:27,930 --> 00:01:31,290 еден, почнавме да се види дека можеме да изградиме до, во овој случај, со светло 29 00:01:31,290 --> 00:01:33,720 луковици, повеќе броеви од само нула и еден. 30 00:01:33,720 --> 00:01:36,160 Ние смета како високо како седум, на пример, последен пат. 31 00:01:36,160 --> 00:01:38,840 Но, сите ние треба да направите е да се задржи фрлање се повеќе и повеќе светилки во тоа 32 00:01:38,840 --> 00:01:41,820 проблем и, навистина, ние може да претставува било кој број дека ние 33 00:01:41,820 --> 00:01:42,970 би можеле да сакаат. 34 00:01:42,970 --> 00:01:47,230 >> Па, ние transitioned брзо потоа на Среда на овој бајт на волонтери. 35 00:01:47,230 --> 00:01:52,040 8 битови е она што ние обично го нарекуваат бајт, па тука имавме осум волонтери 36 00:01:52,040 --> 00:01:54,900 во средата, кои колективно се претставуваат осум бита. 37 00:01:54,900 --> 00:01:56,750 И кога нивните раце отиде нагоре, тие беа една. 38 00:01:56,750 --> 00:01:58,530 И кога нивните раце беа надолу, имаше нула. 39 00:01:58,530 --> 00:02:01,970 И имавме овие луѓе излезе на сцената зошто? 40 00:02:01,970 --> 00:02:06,530 Она што ние сме во состојба да се прави со оваа низа од битови? 41 00:02:06,530 --> 00:02:07,510 >> Да се ​​создаде азбуката. 42 00:02:07,510 --> 00:02:11,550 Ние бевме во можност да се изгради на врвот на тоа претходна ја научил лекцијата и, всушност, 43 00:02:11,550 --> 00:02:14,200 започне да се направи поинтересна информации кои барем повеќе 44 00:02:14,200 --> 00:02:15,330 познат на нас луѓето. 45 00:02:15,330 --> 00:02:18,360 И ова се случува да биде периодично тема во текот на 50, но исто така компјутер 46 00:02:18,360 --> 00:02:21,470 науката поопшто, оваа идеја на дели, каде што, на крајот на 47 00:02:21,470 --> 00:02:24,820 ден, ако навистина започна основите со компјутер, да, 48 00:02:24,820 --> 00:02:25,760 тоа е оние кои и нули. 49 00:02:25,760 --> 00:02:27,480 И под кои тоа е само електрична енергија. 50 00:02:27,480 --> 00:02:30,840 Но, ние многу брзо да почне да ги преземат тие ниско ниво деталите за готово 51 00:02:30,840 --> 00:02:35,600 и да почне да слој на врвот на минатото работел направено, така што ние, во крајна линија, од страна на 52 00:02:35,600 --> 00:02:38,610 На крајот на семестарот и, навистина, поопшто како компјутерски научници 53 00:02:38,610 --> 00:02:42,790 и програмери, може да направи некои навистина моќен нешта од проширува работа 54 00:02:42,790 --> 00:02:46,620 дека ние самите го направиле и, исто така, стои на рамениците на другите. 55 00:02:46,620 --> 00:02:49,300 >> Сега ние брзо transitioned во средата од само потреба да 56 00:02:49,300 --> 00:02:52,080 претставуваат информации за желба да се направи нешто со неа. 57 00:02:52,080 --> 00:02:54,170 Значи она што не ја дефинираме алгоритам како? 58 00:02:54,170 --> 00:02:57,340 59 00:02:57,340 --> 00:02:58,900 A серија на упатства. 60 00:02:58,900 --> 00:03:03,380 Па тоа е серија на инструкции, број на чекори кои што, човек, или 61 00:03:03,380 --> 00:03:07,160 компјутер, повеќе обично, би изврши една по друга, со цел 62 00:03:07,160 --> 00:03:08,100 за да се постигне некоја цел. 63 00:03:08,100 --> 00:03:11,360 И имавме неколку цели последен пат, од кои едната беше да се избројат 64 00:03:11,360 --> 00:03:12,250 луѓе во собата. 65 00:03:12,250 --> 00:03:15,560 А друг таков пример беше да се најде Мајк Смит во телефонот книга. 66 00:03:15,560 --> 00:03:19,750 >> Па можеби ќе се потсетиме дека јас скина телефон книга на половина кон таа цел до 67 00:03:19,750 --> 00:03:21,280 наоѓање на Мајк Смит. 68 00:03:21,280 --> 00:03:24,000 Целта на тоа визуелни беше да се покаже, повторно, дека сме биле 69 00:03:24,000 --> 00:03:27,770 буквално кинење овој проблем во половина, на половина, за половина, а многу 70 00:03:27,770 --> 00:03:31,750 брзо одење од како 1000 страници само една единствена страница. 71 00:03:31,750 --> 00:03:34,860 Оние од вас кои пропушти тоа на Среда, мислев дека си играме назад 72 00:03:34,860 --> 00:03:36,820 некои снимки од она што го пропушти. 73 00:03:36,820 --> 00:03:38,914 Ајде да ги разгледаме. 74 00:03:38,914 --> 00:03:40,906 >> [Видео репродукција] 75 00:03:40,906 --> 00:03:55,360 76 00:03:55,360 --> 00:03:55,990 >> -Има одиме. 77 00:03:55,990 --> 00:04:01,432 1500 страници, Ница чиста линија, легитимни солза. 78 00:04:01,432 --> 00:04:02,850 >> [Крај видео репродукција] 79 00:04:02,850 --> 00:04:05,230 >> Дејвид MALAN: Значи тоа било во среда. 80 00:04:05,230 --> 00:04:09,150 Ние транзиција, иако, во средата сега да сакаат да се претставуваат алгоритми 81 00:04:09,150 --> 00:04:12,410 во некои малку стандарден начин, а не само опишувајќи ги вербално, но 82 00:04:12,410 --> 00:04:16,290 се обидува да ги изразат во писмена форма или на екранот на компјутерот, така што би можеле да 83 00:04:16,290 --> 00:04:19,170 почнат да се подобри по, и да ја менувате нив, и, на крајот, всушност, 84 00:04:19,170 --> 00:04:21,160 анализира колку точни или колку брзо тие беа. 85 00:04:21,160 --> 00:04:23,360 >> Па воведовме овој поим на pseudocode, кој во 86 00:04:23,360 --> 00:04:26,410 однос на Едноставен, е она? 87 00:04:26,410 --> 00:04:26,930 Добро, зборови. 88 00:04:26,930 --> 00:04:28,730 Ајде да одиме малку подлабоко од тоа. 89 00:04:28,730 --> 00:04:32,540 Англиски, сигурни, се само кон она што крајот? 90 00:04:32,540 --> 00:04:35,180 Зборовите со кои да се создаде или да ги претставуваат алгоритми. 91 00:04:35,180 --> 00:04:38,380 Така што не постои еден јазик познат како pseudocode во светот. 92 00:04:38,380 --> 00:04:41,110 Тоа е само дека, на англиски, или без оглед на вашата говорниот јазик е, користете 93 00:04:41,110 --> 00:04:44,930 еден вид на површно нотација за да се пренесе идеја многу посочно. 94 00:04:44,930 --> 00:04:47,930 Но ние ќе се види дека, секако, со Англиски pseudocode, и испоставува 95 00:04:47,930 --> 00:04:51,700 повеќето програмски јазици се се дериват на англиски себе, 96 00:04:51,700 --> 00:04:55,750 ќе најдеме дека има некои стандардни начин на претставување pseudocode и 97 00:04:55,750 --> 00:04:57,150 исто така, програмски код. 98 00:04:57,150 --> 00:05:00,200 Па како што можете почнат да се види дури и наједноставните примери денес, реализација на овие 99 00:05:00,200 --> 00:05:02,160 истите модели ќе се повторува следната недела. 100 00:05:02,160 --> 00:05:04,710 >> Па pseudocode беше некој вид на јазикот личи 101 00:05:04,710 --> 00:05:06,170 програмски јазик. 102 00:05:06,170 --> 00:05:09,260 И првиот пример видовме визуелно запишано беше оваа. 103 00:05:09,260 --> 00:05:12,870 Тоа беше само три чекор програма, цел беше да се брои бројот 104 00:05:12,870 --> 00:05:15,650 на луѓе во dorm соба за дека видео во средата. 105 00:05:15,650 --> 00:05:19,040 Но имаше неколку интересни аспекти на овој наједноставен програма. 106 00:05:19,040 --> 00:05:20,320 >> И тоа ќе биде периодични теми. 107 00:05:20,320 --> 00:05:22,930 Така и за оние кои се запознаени со ова, една година воведовме променлива. 108 00:05:22,930 --> 00:05:25,650 И веројатно сите во оваа соба е запознаени со променлива во 109 00:05:25,650 --> 00:05:27,250 контекст на алгебра. 110 00:05:27,250 --> 00:05:31,190 Но, тука во програмирање, променливи се, еден, може да биде 111 00:05:31,190 --> 00:05:32,220 вика нешто што сакаме. 112 00:05:32,220 --> 00:05:33,620 Ние сме биле користење на n како шанкот. 113 00:05:33,620 --> 00:05:37,490 Но, ние би можеле да го користат зборот контра, или, како што ќе видиме, повеќето било фраза која 114 00:05:37,490 --> 00:05:40,240 можеби би сакале толку долго како што тоа е описни, но тоа е навистина само еден 115 00:05:40,240 --> 00:05:41,250 сад за чување. 116 00:05:41,250 --> 00:05:44,170 Тоа е парче од меморијата, некои број на битови, и тоа варира од компјутер, како 117 00:05:44,170 --> 00:05:47,020 многу делови постојат дека сочинуваат таа променлива. 118 00:05:47,020 --> 00:05:48,450 >> Но, ние може да се стави вредности во него. 119 00:05:48,450 --> 00:05:50,740 Досега, ние сме само стави броеви. 120 00:05:50,740 --> 00:05:52,290 Но, ние може да се стави вистински зборови. 121 00:05:52,290 --> 00:05:53,420 Ние може да се стави ставови. 122 00:05:53,420 --> 00:05:54,560 Ние може да се стави слики - 123 00:05:54,560 --> 00:05:57,860 ништо, навистина, ние може да претставува со нулите и, ние може да се стави во 124 00:05:57,860 --> 00:05:59,820 тоа повисоко ниво поим на променливата. 125 00:05:59,820 --> 00:06:01,350 >> Па прилично директно напред таму. 126 00:06:01,350 --> 00:06:02,210 И тоа е линија еден. 127 00:06:02,210 --> 00:06:05,340 Но, ние многу брзо тргна од линија, а да се направи 128 00:06:05,340 --> 00:06:06,600 нешто со таа променлива. 129 00:06:06,600 --> 00:06:10,330 И во согласност три, ние нема Н Ние зголемува Н И ние би можеле да ја напишам оваа 130 00:06:10,330 --> 00:06:11,330 било кој број на начини. 131 00:06:11,330 --> 00:06:14,460 Но можеби најмногу очигледна е само да се каже, во собата N еднаква на 132 00:06:14,460 --> 00:06:16,440 што N е плус 1. 133 00:06:16,440 --> 00:06:17,740 Па тоа беше нашиот прираст. 134 00:06:17,740 --> 00:06:18,740 >> Во меѓувреме, имаше јамка. 135 00:06:18,740 --> 00:06:20,720 А таа една, исто така, е веројатно прилично интуитивна. 136 00:06:20,720 --> 00:06:24,250 А јамка е само нешто во програма што се случува повторно и повторно, некои 137 00:06:24,250 --> 00:06:25,190 вид на циклус. 138 00:06:25,190 --> 00:06:29,300 И оваа клучна фраза тука, за секоја, е всушност многу честа појава во текот на поголемиот 139 00:06:29,300 --> 00:06:32,300 програмски јазици, вклучувајќи ги и оние што ќе се види во курсот. 140 00:06:32,300 --> 00:06:35,850 Во секое време можете да го видите збор за тоа обично пренесува идејата дека 141 00:06:35,850 --> 00:06:38,410 јамка, нешто циклична, е за да се случи. 142 00:06:38,410 --> 00:06:40,980 >> Но, тоа е вреди да се напомене една други синтаксички детали. 143 00:06:40,980 --> 00:06:44,660 Фактот дека третата линија постои всушност вовлечен со тоа што погоди 144 00:06:44,660 --> 00:06:46,920 простор бар неколку пати е намерно. 145 00:06:46,920 --> 00:06:49,870 Бидејќи човечките конвенција е таква што, кога правиш нешто повторно и 146 00:06:49,870 --> 00:06:54,860 повторно, во јамка, како почна на линија два, можете алинеја нешто што припаѓале 147 00:06:54,860 --> 00:06:58,880 за таа јамка само за да го направи јасно дека тоа е линија три, а не, на пример, 148 00:06:58,880 --> 00:07:01,910 линија четири или пет години, ако имаше линии за или пет години, кои се 149 00:07:01,910 --> 00:07:03,010 дел од таа петелки. 150 00:07:03,010 --> 00:07:07,340 Па оваа едноставна вовлекување пренесува дека основната идеја. 151 00:07:07,340 --> 00:07:09,390 >> Па ние се применува овој алгоритам, сега, да се неколку примери. 152 00:07:09,390 --> 00:07:12,620 И ова, исто така, едноставен пример во реалниот свет. 153 00:07:12,620 --> 00:07:15,440 Но тоа се случува да биде претставник на како ќе одат за тестирање на вашето 154 00:07:15,440 --> 00:07:17,500 поседуваат повеќе комплексни програми. 155 00:07:17,500 --> 00:07:21,050 Ќе се обиде на неколку сценарија, некои претставници влезови, и видете дали можете 156 00:07:21,050 --> 00:07:22,180 го добиете саканиот излези. 157 00:07:22,180 --> 00:07:25,090 >> Па овој пример имаше две лица седи во dorm соба. 158 00:07:25,090 --> 00:07:27,170 На левата страна е тоа што истите псевдо код. 159 00:07:27,170 --> 00:07:30,800 И ова е екран застрелан на самиот Последниот чекор на примената на овој 160 00:07:30,800 --> 00:07:35,270 алгоритам на оние влезови, каде што има се две лица во соба и, 161 00:07:35,270 --> 00:07:39,190 потсетиме, како што чекор по чекор по еден, и два и три, и две 162 00:07:39,190 --> 00:07:41,000 и три и направено - 163 00:07:41,000 --> 00:07:44,870 до крајот на тоа алгоритам, ние имавме навистина смета на две фаци кои се 164 00:07:44,870 --> 00:07:45,360 во собата. 165 00:07:45,360 --> 00:07:47,190 >> Па потоа се обидовме уште еден пример. 166 00:07:47,190 --> 00:07:48,990 И ние рече, што ако постојат нула луѓе во соба? 167 00:07:48,990 --> 00:07:50,490 Е овој код се уште е точна? 168 00:07:50,490 --> 00:07:51,305 И навистина тоа беше тоа. 169 00:07:51,305 --> 00:07:55,240 Тоа само така се случува, дека линија два и, на тој начин, линија три или 170 00:07:55,240 --> 00:07:56,620 нема да се изврши. 171 00:07:56,620 --> 00:07:59,790 Тие нема да се случи на сите затоа што тие се не само применливи ако 172 00:07:59,790 --> 00:08:01,210 има нула луѓе во собата. 173 00:08:01,210 --> 00:08:02,300 >> Но не е голема работа. 174 00:08:02,300 --> 00:08:06,620 Линија еден иницијализира N за да се нула, па иако само една линија од овој 175 00:08:06,620 --> 00:08:10,930 програма всушност завршува се корисни, тоа сепак дава точниот одговор, како 176 00:08:10,930 --> 00:08:13,780 наведено од страна на портокал нула на дното. 177 00:08:13,780 --> 00:08:16,300 Но потоа решивме дека беше вид на глупави алгоритам. 178 00:08:16,300 --> 00:08:17,060 Тоа беше прилично бавен. 179 00:08:17,060 --> 00:08:19,720 Навистина, можам да направам два, четири, шест, осум, десет, кога 180 00:08:19,720 --> 00:08:20,990 броење луѓе во една соба. 181 00:08:20,990 --> 00:08:25,030 >> Па ние tweaked на алгоритам, pseudocode, да се каже, сега во линија два, 182 00:08:25,030 --> 00:08:29,710 за секој пар на луѓето во просторијата, продолжи да се во согласност три, прираст 183 00:08:29,710 --> 00:08:32,200 во од страна на две на секоја итерација. 184 00:08:32,200 --> 00:08:35,530 Така што би работеле тука за овој пар на лица во соба. 185 00:08:35,530 --> 00:08:38,530 >> Но, тогаш, ако почнам да размислувам за ова, и тоа не презема долго за да се 186 00:08:38,530 --> 00:08:40,710 сфатите, почекајте една минута ова е случува да се скрши, не го скрши 187 00:08:40,710 --> 00:08:42,679 во она едноставен случај? 188 00:08:42,679 --> 00:08:45,500 Ако има три лица во соба или, поопшто, кога има 189 00:08:45,500 --> 00:08:47,660 непарен број на луѓе во соба, вклучувајќи една. 190 00:08:47,660 --> 00:08:50,390 Ние ќе го пропушти тоа лице тука, бидејќи не постојат такви парови. 191 00:08:50,390 --> 00:08:58,510 Па ние брзо обрати наместо воведување какви дополнителни 192 00:08:58,510 --> 00:09:02,560 програмски конструкции на псевдо код. 193 00:09:02,560 --> 00:09:04,955 >> Па состојба, што се нарекува тоа, или една гранка. 194 00:09:04,955 --> 00:09:08,420 И тоа е со цел да ја пренесат, визуелно, Идејата на гранка, вилушка во патот 195 00:09:08,420 --> 00:09:11,080 каде што можете да го направите ова или, можеби, нешто друго. 196 00:09:11,080 --> 00:09:15,750 И навистина, ние решавање на ова прашање од страна на додавање на линија 4, велејќи, навистина, во 197 00:09:15,750 --> 00:09:20,820 На самиот крај, ако едно лице останува, па ќе одиме напред и сметам за посебно. 198 00:09:20,820 --> 00:09:24,460 Така да се подреди на посебен случај нив, па да се каже, така што сега можеме да се справи со 199 00:09:24,460 --> 00:09:27,810 двете парен број на луѓе и непарен број на луѓе. 200 00:09:27,810 --> 00:09:30,260 >> Сега постојат било кој број на начини ние би можеле да имаат изразени ова. 201 00:09:30,260 --> 00:09:33,590 И искрено, би можел да сум бил уште повеќе гнида пребирливи кога станува збор за мојот избор на 202 00:09:33,590 --> 00:09:35,040 Англиски за pseudocode. 203 00:09:35,040 --> 00:09:36,970 Но барем духот на идејата е пренесена. 204 00:09:36,970 --> 00:09:40,725 Ако му го додели овој код на пријател кој не е во CS, или никогаш не зема 205 00:09:40,725 --> 00:09:44,560 CS, шансите се тие би можеле да дознаам, со оглед на три лица во собата, како да се 206 00:09:44,560 --> 00:09:46,870 смета оние луѓе врз основа на овие упатства. 207 00:09:46,870 --> 00:09:49,920 И тоа е навистина сакаме да постигнеме со pseudocode, некако 208 00:09:49,920 --> 00:09:54,300 стандардизира тоа како ние ќе за претставуваат идеи, така што можеме да 209 00:09:54,300 --> 00:09:56,670 почнат да се направи повеќе комплицирано нешто уште. 210 00:09:56,670 --> 00:09:58,845 >> Така што не води тогаш, денес, на актуелните код. 211 00:09:58,845 --> 00:10:01,950 Ние почнат да се програмираат денес, иако во пријателска средина. 212 00:10:01,950 --> 00:10:05,940 А потоа ние транзиција многу брзо да повеќе arcane синтакса, но оној кој 213 00:10:05,940 --> 00:10:10,340 ќе видите е фундаментално исти како идеите ќе видите манифестира со 214 00:10:10,340 --> 00:10:11,990 овој друг јазик денес. 215 00:10:11,990 --> 00:10:13,920 Тоа е само ќе да се погледне малку различен. 216 00:10:13,920 --> 00:10:16,590 >> Така, наместо само повик овој код, јас сум ќе биде малку попрецизен 217 00:10:16,590 --> 00:10:20,170 и да каже, па натаму, кога пишувате програма, сте пишување изворен код. 218 00:10:20,170 --> 00:10:21,990 Тоа е вид на како pseudocode. 219 00:10:21,990 --> 00:10:26,540 Но ќе видиме тоа не е вид на лабава кога станува збор за изборот на зборовите 220 00:10:26,540 --> 00:10:27,310 кои ги користите. 221 00:10:27,310 --> 00:10:31,300 Кога програмирање на јазик, имате да го користат зборови, фрази, 222 00:10:31,300 --> 00:10:36,020 синтакса, дека другите луѓе одлучија претставуваат 223 00:10:36,020 --> 00:10:37,240 тој конкретен јазик. 224 00:10:37,240 --> 00:10:38,510 Па pseudocodes е до вас. 225 00:10:38,510 --> 00:10:42,330 Вистински програмски јазик како Ц, како што ние на крајот ќе видиме, е 226 00:10:42,330 --> 00:10:43,590 стандардизирани од страна на други луѓе. 227 00:10:43,590 --> 00:10:45,590 >> Па, како да одиме за пишување некои изворниот код? 228 00:10:45,590 --> 00:10:46,810 Па, јас ќе одам да си напред и да го направите тоа. 229 00:10:46,810 --> 00:10:49,100 Одам да се оди напред и да отвори прозорец тука. 230 00:10:49,100 --> 00:10:50,210 Повеќе информации за ова следната недела. 231 00:10:50,210 --> 00:10:52,300 Но, ова е уред наречен на CS50 апаратот. 232 00:10:52,300 --> 00:10:55,480 Јас сум водење на парче софтвер на мојот Mac, иако можете да го прават истото 233 00:10:55,480 --> 00:11:00,580 на компјутер на Windows, кој е давање мене илузијата водење на различни 234 00:11:00,580 --> 00:11:03,700 оперативен систем целосно право тука во прозорец на мојот Mac. 235 00:11:03,700 --> 00:11:06,790 Јас сум само полна тоа прикажани така да не всушност гледаат на Mac OS токму сега. 236 00:11:06,790 --> 00:11:08,340 >> Ова е оперативен систем наречен Линукс. 237 00:11:08,340 --> 00:11:09,300 Тоа е многу популарна. 238 00:11:09,300 --> 00:11:10,120 Тоа е многу брзо. 239 00:11:10,120 --> 00:11:12,950 Тоа е многу слободни, што ја прави многу огромна, особено во 240 00:11:12,950 --> 00:11:13,970 комерцијалниот свет. 241 00:11:13,970 --> 00:11:17,200 И повеќе за тоа кон крајот на семестар, кога ние се користи Linux доста 242 00:11:17,200 --> 00:11:21,230 за веб програмирање и хостирање на Крај на веб-сајтови и проекти. 243 00:11:21,230 --> 00:11:24,910 Па сега, само знам дека ова е десктоп што е наменета да се погледне нејасно 244 00:11:24,910 --> 00:11:26,750 запознаени со Windows и Mac OS. 245 00:11:26,750 --> 00:11:29,110 Тоа само има некои поинакви имиња и икони за нешта. 246 00:11:29,110 --> 00:11:32,510 Но, ова е т.н. CS50 апаратот, виртуелна машина која, 247 00:11:32,510 --> 00:11:35,310 почнувајќи од следната недела, вие момци ќе се кандидира во внатрешноста на прозорецот на 248 00:11:35,310 --> 00:11:36,960 свој Mac или PC. 249 00:11:36,960 --> 00:11:39,760 >> За денес, јас ќе одам да се отвори наједноставниот на програми. 250 00:11:39,760 --> 00:11:41,110 Таа се вика gedit. 251 00:11:41,110 --> 00:11:42,565 И ова е само графички уредувач. 252 00:11:42,565 --> 00:11:44,695 Тоа е вид на како што е Microsoft Збор, но поедноставно. 253 00:11:44,695 --> 00:11:47,110 Тоа е вид на како текст уреди или бележник. 254 00:11:47,110 --> 00:11:50,280 Тоа е само многу едноставна програма со што да се напише зборовите на екранот. 255 00:11:50,280 --> 00:11:54,510 Тоа само така се она што се случува дека ако јас ја зачувате додадени фајлови: дека јас се создаде кога оваа програма 256 00:11:54,510 --> 00:11:59,860 во посебна продолжување допаѓа. в, наместо на. doc, или. xls, или што 257 00:11:59,860 --> 00:12:04,190 ти си запознаен со тоа, можам да всушност креирање на програми со користење дури и оваа едноставна 258 00:12:04,190 --> 00:12:05,130 уредувач на текст. 259 00:12:05,130 --> 00:12:05,770 >> Па да ми го направите тоа. 260 00:12:05,770 --> 00:12:09,330 Дозволете ми да оди напред и да ја зачувате оваа поднесе прво како hello.c. 261 00:12:09,330 --> 00:12:12,350 И повторно, овој кориснички интерфејс ќе стане запознаени за вас брзо. 262 00:12:12,350 --> 00:12:14,160 Но, за сега, јас сум само пишување во името на датотеката. 263 00:12:14,160 --> 00:12:17,410 Одам да го зачувате во мојата Џон Харвард домашен директориум. 264 00:12:17,410 --> 00:12:20,810 И сега морам ова јазиче што укажува Јас сум навистина уредување 265 00:12:20,810 --> 00:12:23,070 фајл наречен hello.c. 266 00:12:23,070 --> 00:12:24,510 Значи ништо не е премногу интересна уште. 267 00:12:24,510 --> 00:12:26,000 >> И сега тоа се случува да се добие прилично криптичната. 268 00:12:26,000 --> 00:12:28,370 Одам да зумирате, само па тоа е повеќе видлива. 269 00:12:28,370 --> 00:12:35,780 И јас одам да започне пишување вклучува stdio.h, int главната, празнина, отворен кадрава 270 00:12:35,780 --> 00:12:40,140 заграда, еден, два, три, четири простори на вовлекување, печатење ѓ, за печатење 271 00:12:40,140 --> 00:12:44,450 нешто форматирана, цитирам unquote, "Здраво, свет" обратна коса црта, n, во близина 272 00:12:44,450 --> 00:12:49,640 понуда, затворена заграда, запирка, внесете Backspace, Backspace, Backspace, 273 00:12:49,640 --> 00:12:52,310 Можни вредности се, затворена кадрава голема заграда - 274 00:12:52,310 --> 00:12:53,350 Имам програмиран. 275 00:12:53,350 --> 00:12:57,380 >> Сите права така што ова е супер едноставен програма, навистина, програма со која 276 00:12:57,380 --> 00:12:59,070 секој започнува програмирање со. 277 00:12:59,070 --> 00:13:02,300 И сите го прави тоа, за сета негова сложеност, се печати надвор на 278 00:13:02,300 --> 00:13:04,160 екранот, погоди што? 279 00:13:04,160 --> 00:13:04,910 Здраво светот. 280 00:13:04,910 --> 00:13:07,500 Но тоа не е доволно само да се напише програма. 281 00:13:07,500 --> 00:13:08,155 Па ова е код. 282 00:13:08,155 --> 00:13:11,300 Ова е изворен код во јазик наречен в. 283 00:13:11,300 --> 00:13:14,380 Таа е зачувана во моментов фајл наречен hello.c. 284 00:13:14,380 --> 00:13:16,180 >> Сега гледам на дното на екранот овде. 285 00:13:16,180 --> 00:13:17,890 Повеќе за ова, повторно, во неделите што доаѓаат. 286 00:13:17,890 --> 00:13:19,570 Но тоа е она што ќе го наречеме терминален прозорец. 287 00:13:19,570 --> 00:13:21,290 Тоа е трепне, црно и бело прашува. 288 00:13:21,290 --> 00:13:24,390 Тоа е вид на старата школа интерфејс за компјутер кој генерално не 289 00:13:24,390 --> 00:13:27,050 користите глувчето или други графички елементи. 290 00:13:27,050 --> 00:13:28,320 Тоа само користи вашата тастатура. 291 00:13:28,320 --> 00:13:30,970 И јас да напишете команди на овој трепка брзо. 292 00:13:30,970 --> 00:13:33,820 >> И за целите денес, јас сум само ќе напишете следново - 293 00:13:33,820 --> 00:13:35,610 направи здраво. 294 00:13:35,610 --> 00:13:39,370 И таа програма, се направи, е само програма која, во реалниот свет, овие 295 00:13:39,370 --> 00:13:40,690 дена, ние двојно ќе кликнете на. 296 00:13:40,690 --> 00:13:44,580 Но, во овој интерфејс за денес, ние сме ќе напишете своето име во оваа брза. 297 00:13:44,580 --> 00:13:47,980 направи здраво е буквално ќе ме направи програма наречена здраво. 298 00:13:47,980 --> 00:13:51,360 И тоа нема да го стори тоа од страна гледајќи за фајл, само со 299 00:13:51,360 --> 00:13:53,460 Стандардно, наречен hello.c. 300 00:13:53,460 --> 00:13:57,260 Тоа се случува да се претпостави Сакам програма C од природата на тоа како овој компјутер 301 00:13:57,260 --> 00:13:58,230 е конфигуриран. 302 00:13:58,230 --> 00:13:59,550 >> Па јас одам напред и притиснете ентер. 303 00:13:59,550 --> 00:14:02,050 Гледам некои криптичната излез, но ова ќе стане премногу 304 00:14:02,050 --> 00:14:03,330 запознаени пред долго. 305 00:14:03,330 --> 00:14:06,870 Ова се случи да се кандидира на компајлерот, повеќе за тоа во еден момент, наречен ѕвекот. 306 00:14:06,870 --> 00:14:09,080 Но сега, имам само уште еден трепка прашува. 307 00:14:09,080 --> 00:14:13,060 И јас може да оди напред сега и напишете точка коса црта, за неинтересен причини ние ќе 308 00:14:13,060 --> 00:14:14,730 се врати следната недела - 309 00:14:14,730 --> 00:14:15,910 здраво. 310 00:14:15,910 --> 00:14:19,650 >> Така што сите на овој напор досега само за да пишуваат наједноставниот на програми кои, 311 00:14:19,650 --> 00:14:22,640 штом ќе притиснете Enter, дали тоа. 312 00:14:22,640 --> 00:14:24,510 Па јас сум напишал мојот прв програма. 313 00:14:24,510 --> 00:14:27,500 Па јас сум намерно ѕиркаа забава во овој многу едноставна програма 314 00:14:27,500 --> 00:14:28,540 за неколку причини. 315 00:14:28,540 --> 00:14:31,990 Едно, тоа е тешко да се добие возбуден за земање на класа ако 316 00:14:31,990 --> 00:14:33,430 ова е на крајот од играта. 317 00:14:33,430 --> 00:14:37,100 >> Но повеќе од тоа, има многу одвлекување на вниманието тука горе. 318 00:14:37,100 --> 00:14:40,640 Првиот пат кога ќе научат да програма, за оние од вас помалку удобно, и 319 00:14:40,640 --> 00:14:43,410 дури и јас, назад во текот на денот, кога јас прв пат видов нешто како ова - може да вид 320 00:14:43,410 --> 00:14:46,500 на фигурата тоа, сите во право, ова е во печати Здраво светот. 321 00:14:46,500 --> 00:14:47,860 Но, има толку многу одвлекување на вниманието. 322 00:14:47,860 --> 00:14:52,110 Има толку многу работи синтакса на екранот што се добива во начинот на многу 323 00:14:52,110 --> 00:14:54,170 едноставен, инаку едноставно, идеи. 324 00:14:54,170 --> 00:14:56,700 >> Значи она што се случува да се направи денес е ние сме случува да се стави настрана C и доаѓаат 325 00:14:56,700 --> 00:14:57,630 назад кон тоа во понеделникот. 326 00:14:57,630 --> 00:15:00,860 И ние ќе треба да го користите графички програмски јазик наречен Scratch. 327 00:15:00,860 --> 00:15:04,470 Ова е програмски јазик, дека јас алудираше на Среда, што се случува 328 00:15:04,470 --> 00:15:08,870 за да ни овозможи да го стори истото вид на работи но се прават слепи, за денес, 329 00:15:08,870 --> 00:15:12,270 на тркалезните загради, заграда, на запирки, и сите овие глупи 330 00:15:12,270 --> 00:15:15,680 одвлекување на вниманието кои се во начинот на кој, во овој прв ден, на некои основни, прилично 331 00:15:15,680 --> 00:15:17,230 интересни идеи. 332 00:15:17,230 --> 00:15:21,350 >> Па кон таа цел, јас ќе одам да си назад на мојот десктоп овде и 333 00:15:21,350 --> 00:15:25,890 воведување на вас на алтернатива за тоа Програмата, која се случува да се погледне 334 00:15:25,890 --> 00:15:30,790 малку нешто светло ова. 335 00:15:30,790 --> 00:15:33,930 Тоа е како ние ќе се спроведе тоа истата програма денес - две загатка 336 00:15:33,930 --> 00:15:37,710 парчиња кои, кога испреплетени и кликнале на, ќе му каже на светот, 337 00:15:37,710 --> 00:15:39,000 Здраво светот. 338 00:15:39,000 --> 00:15:41,200 >> Па ајде, всушност, оди таму. 339 00:15:41,200 --> 00:15:44,965 Па ќе одам да се оди напред и да се отвори веб-страница познат како scratch.mit.edu. 340 00:15:44,965 --> 00:15:47,980 341 00:15:47,980 --> 00:15:52,040 И ова ќе доведе мене да овој веб-сајт овде. 342 00:15:52,040 --> 00:15:54,660 Однапред, јас сум најавени во овој веб-страница и првите проблеми со кои се 343 00:15:54,660 --> 00:15:55,910 ќе ви прошетка низ некои од овие чекори. 344 00:15:55,910 --> 00:15:58,930 Одам да се оди напред и да кликнете на мојот нула папка тука. 345 00:15:58,930 --> 00:16:00,720 >> И ова се случува да ми го покаже некои проекти кои јас сум 346 00:16:00,720 --> 00:16:02,570 всушност се создаваат во однапред. 347 00:16:02,570 --> 00:16:05,860 И излегува дека овој графички програмски јазик не само што се случува 348 00:16:05,860 --> 00:16:08,480 да ни ги споделите со програмата со влечење и намалувањето овие мозаик парчиња, можете 349 00:16:08,480 --> 00:16:09,730 дури и не треба посебен софтвер. 350 00:16:09,730 --> 00:16:13,190 Тоа е сите вградени во рамките на прелистувачот, па дека можете да го направите ова, во теорија, за 351 00:16:13,190 --> 00:16:16,810 вашите компјутери токму сега, како што некои од вас добро може да биде, дури и без потреба 352 00:16:16,810 --> 00:16:19,870 софтвер како на CS50 апаратот, кои ќе дојдат следната недела. 353 00:16:19,870 --> 00:16:24,200 >> Па јас ќе одам да се оди до врвот агол тука и кликнете на Create. 354 00:16:24,200 --> 00:16:27,840 И во еден момент јас ќе одам да се добие празно екранот преку кој можам да почнам да 355 00:16:27,840 --> 00:16:30,380 програмирање во овој графички програмирање на животната средина. 356 00:16:30,380 --> 00:16:36,140 Но овој пат, тоа се случува да биде многу, многу поедноставно да всушност го стори тоа. 357 00:16:36,140 --> 00:16:41,560 Значи во само еден миг, кога на Wi-Fi соработува, сега имаме овој екран. 358 00:16:41,560 --> 00:16:44,870 Толку брзо вербални турнеја, но јас се осмелувам да кажам, секако, кога ќе се нурне во 359 00:16:44,870 --> 00:16:46,840 Првиот проблем во собата, да ќе најдете сето ова многу 360 00:16:46,840 --> 00:16:48,315 достапни и прилично интуитивни. 361 00:16:48,315 --> 00:16:50,900 Но, ајде да се наслика ментална слика за само еден миг. 362 00:16:50,900 --> 00:16:54,620 >> Значи под овој брза велејќи спаси промени, ти си за да ја видите нула. 363 00:16:54,620 --> 00:16:55,570 Ова е самовила. 364 00:16:55,570 --> 00:16:56,630 Тоа е карактер. 365 00:16:56,630 --> 00:17:00,740 И тој живее од она што ќе го наречеме една фаза, овој голем бел правоаголник на 366 00:17:00,740 --> 00:17:03,120 кои тој може да се движат нагоре, надолу, лево, право, и не, навистина, 367 00:17:03,120 --> 00:17:04,670 други видови на акции. 368 00:17:04,670 --> 00:17:08,780 >> Во меѓувреме, во средината на корисников интерфејс, ние имаме цела група на 369 00:17:08,780 --> 00:17:09,750 мозаик парчиња. 370 00:17:09,750 --> 00:17:14,060 И ќе видите дека тие велат дека работите како се движат 10 чекори, се сврте 15 степени, 371 00:17:14,060 --> 00:17:15,550 точка во одреден правец. 372 00:17:15,550 --> 00:17:17,910 Но, има категории на блокови до тука. 373 00:17:17,910 --> 00:17:21,410 Значи, ако јас одам да изгледа, ќе видите дека има други загатка парчиња кои 374 00:17:21,410 --> 00:17:25,530 очигледно ќе го кажам ова КИТ да кажам здраво, да размислуваат, да се покаже 375 00:17:25,530 --> 00:17:26,780 себе, се сокрие. 376 00:17:26,780 --> 00:17:30,830 Ако одам долу да Звучи, се испоставува има начини да се пуштаат звуци како meow, 377 00:17:30,830 --> 00:17:32,670 да се запрат сите звуци, да играат тапани. 378 00:17:32,670 --> 00:17:36,530 >> Значи, скратам приказната, таму е целата куп на мозаик парчиња кои ви дозволуваат 379 00:17:36,530 --> 00:17:40,920 да се каже оваа мачка, или било кој број на другите ликови, што да правам. 380 00:17:40,920 --> 00:17:43,850 Но да се направи сето ова што се случи треба да започне програмирање. 381 00:17:43,850 --> 00:17:48,090 И овој голем белата кутија, или сива кутија, на на десната страна, ова е местото каде што 382 00:17:48,090 --> 00:17:50,170 Одам да всушност го повлечете и капка оние мозаик парчиња. 383 00:17:50,170 --> 00:17:54,320 Тоа е мојот празно текст прозорец еквивалентни. 384 00:17:54,320 --> 00:17:57,070 >> Па јас ќе одам да се оди напред и да кликнете Контрола во средината. 385 00:17:57,070 --> 00:17:58,540 Или подобро, дозволете ми да започне под настани. 386 00:17:58,540 --> 00:18:01,530 Под Настани клупата, ќе забележите неколку работи кои се намерно 387 00:18:01,530 --> 00:18:05,240 криви на врвот во таков начин што тие веројатно не блокирам на 388 00:18:05,240 --> 00:18:06,710 врвот од сложувалката парчиња. 389 00:18:06,710 --> 00:18:10,160 И тоа е затоа што тие одбележат почетокот на програмата, почетокот на 390 00:18:10,160 --> 00:18:11,910 сценариото, така да се каже. 391 00:18:11,910 --> 00:18:16,290 Значи, ако јас одам напред и повлечете, кога зелена знаме кликнато над тука, а потоа јас 392 00:18:16,290 --> 00:18:18,060 сакате оваа мачка е да се каже нешто во прв. 393 00:18:18,060 --> 00:18:20,510 Па ќе одам да оди под изгледот панел. 394 00:18:20,510 --> 00:18:24,060 И јас одам да се оди напред и го имате на кажам здраво блок, и повлечете, и капка, 395 00:18:24,060 --> 00:18:27,220 и нека оди, така што таа автоматски споеви таму. 396 00:18:27,220 --> 00:18:28,640 >> А потоа забележите можам кликнете на текстот. 397 00:18:28,640 --> 00:18:31,960 И јас може да ја замени таа да биде повеќе специфични како, да речеме, здраво светот. 398 00:18:31,960 --> 00:18:36,340 И сега имаме програма со која тврдам е еднаков на оној многу повеќе 399 00:18:36,340 --> 00:18:39,670 arcane програма јас спроведува во C пред еден миг. 400 00:18:39,670 --> 00:18:43,130 >> Ако одам над сега на левата страна, забележите дека е голема гости знак 401 00:18:43,130 --> 00:18:44,520 и голем зелено знаме. 402 00:18:44,520 --> 00:18:46,390 Дозволете ми да зумирате за јасност. 403 00:18:46,390 --> 00:18:49,390 И кога јас сега кликнете на овој зелено знаме, што веројатно може да се погоди она што оваа прва 404 00:18:49,390 --> 00:18:51,920 Програмата е сега се случува да се направи. 405 00:18:51,920 --> 00:18:55,420 Па таму, исто така, ние сме програмирање, но ние не сме всушност станува заглави 406 00:18:55,420 --> 00:18:58,980 во некои од тие синтаксички, минута детали. 407 00:18:58,980 --> 00:19:01,120 >> Но, ајде пробајте нешто малку поинтересна. 408 00:19:01,120 --> 00:19:04,840 Дозволете ми да одам во мојата Скреч папка тука. 409 00:19:04,840 --> 00:19:10,210 И всушност, дозволете ми па да ми се отвори посебна програма тука за само 410 00:19:10,210 --> 00:19:17,830 момент, Рашири овој прозорец, отварање датотека, и јас одам да одат во денешниот 411 00:19:17,830 --> 00:19:18,620 изворниот директориум. 412 00:19:18,620 --> 00:19:21,660 Како и секогаш, ќе најдете, денес и наваму, дека сите примери денес 413 00:19:21,660 --> 00:19:25,225 се достапни во внатрешноста на на курсот веб-сајт. 414 00:19:25,225 --> 00:19:31,170 >> И јас одам да се оди напред тука и да го изберат до малку нешто различно. 415 00:19:31,170 --> 00:19:33,970 Овој овде, за кои Ми треба волонтер. 416 00:19:33,970 --> 00:19:36,850 Кои би сакале ламба за работна маса денес? 417 00:19:36,850 --> 00:19:40,600 Добро, како за некој малку - Дали сте на крајот? 418 00:19:40,600 --> 00:19:42,124 Ајде надолу. 419 00:19:42,124 --> 00:19:47,230 Сега, вие би сакале да учествуваат, или само велат започне со биро светилка? 420 00:19:47,230 --> 00:19:48,190 >> VANESSA: [нечујни]. 421 00:19:48,190 --> 00:19:48,465 >> Дејвид MALAN: OK. 422 00:19:48,465 --> 00:19:49,610 Одлично, она што ви е име? 423 00:19:49,610 --> 00:19:49,990 Vanessa? 424 00:19:49,990 --> 00:19:50,570 Давид. 425 00:19:50,570 --> 00:19:51,390 Убаво да ви се исполнат. 426 00:19:51,390 --> 00:19:53,840 Па ајде и Ванеса се случува да ја преземат контролата на мојот 427 00:19:53,840 --> 00:19:55,490 тастатура за само еден миг. 428 00:19:55,490 --> 00:19:57,850 И она што го направив тука, само за време на поради, како што сум реализира 429 00:19:57,850 --> 00:20:01,070 Wi-Fi е малку бавен, нула, програмирање на животната средина, дека ние сме 430 00:20:01,070 --> 00:20:04,110 користење, исто така, може да се симне и се кандидира за вашиот компјутер. 431 00:20:04,110 --> 00:20:06,360 Значи она што го направив во однапред на предавање, во случај тоа ќе се случи, е јас ја преземале 432 00:20:06,360 --> 00:20:09,120 сите датотеки ние сме за да си играат со така што тие можат да работат малку повеќе 433 00:20:09,120 --> 00:20:10,840 брзо, токму тука на мојот лаптоп. 434 00:20:10,840 --> 00:20:13,460 Па тоа е зошто сега гледам Мек-специфични интерфејс. 435 00:20:13,460 --> 00:20:15,510 >> Па ќе одам да се оди напред и се отвори оваа. 436 00:20:15,510 --> 00:20:18,400 Одам да се оди напред сега и полн екран на прозорецот. 437 00:20:18,400 --> 00:20:21,740 И како што ќе видите, ние може многу брзо, како овој ученик не, една од 438 00:20:21,740 --> 00:20:26,360 вашите претходници, одат од Здраво светот на многу многу повеќе привлечна 439 00:20:26,360 --> 00:20:27,020 апликација. 440 00:20:27,020 --> 00:20:28,180 Значи тука се инструкциите. 441 00:20:28,180 --> 00:20:29,500 Ох, и ние имаме една друга работа. 442 00:20:29,500 --> 00:20:31,640 Мислев дека ќе биде забавно, бидејќи, нормално, ние ќе се снима 443 00:20:31,640 --> 00:20:32,440 камери овој начин. 444 00:20:32,440 --> 00:20:34,100 Мислев дека ќе биде забавно ако, Ванеса, можеме да видиме дека светот 445 00:20:34,100 --> 00:20:35,120 низ твоите очи. 446 00:20:35,120 --> 00:20:36,670 Значи тука имаме некои Google стакло. 447 00:20:36,670 --> 00:20:39,290 >> [Восхитен бори] 448 00:20:39,290 --> 00:20:41,610 >> Дејвид MALAN: Ние само ќе се даваат далеку биро светилки денес. 449 00:20:41,610 --> 00:20:43,530 >> [Смеа] 450 00:20:43,530 --> 00:20:45,260 >> Па да ми знак на овој горе. 451 00:20:45,260 --> 00:20:49,340 Сите во право, па допре ова. 452 00:20:49,340 --> 00:20:51,910 Добро, стакло, снимање на видео. 453 00:20:51,910 --> 00:20:55,700 454 00:20:55,700 --> 00:20:56,950 Сите во право, Ванеса? 455 00:20:56,950 --> 00:21:00,940 456 00:21:00,940 --> 00:21:05,560 Сега, како настрана дека има ништо да се направи со нула, ако се погледне 457 00:21:05,560 --> 00:21:08,540 малку и на десно, ќе видите буквална стакло, а вие треба да 458 00:21:08,540 --> 00:21:09,650 види малку правоаголен прозорец. 459 00:21:09,650 --> 00:21:11,500 Треба да се види на сите ваши соученици снимале во моментов? 460 00:21:11,500 --> 00:21:11,840 Да. 461 00:21:11,840 --> 00:21:12,340 >> VANESSA: Да. 462 00:21:12,340 --> 00:21:12,920 >> Дејвид MALAN: OK. 463 00:21:12,920 --> 00:21:15,170 Па тоа е добро. 464 00:21:15,170 --> 00:21:16,660 Ние ќе се ослободи оваа снимка подоцна. 465 00:21:16,660 --> 00:21:18,460 За сега, го свртам вниманието на екранот овде. 466 00:21:18,460 --> 00:21:20,990 И она што вашиот претходник има направено е стави некои инструкциите на екранот 467 00:21:20,990 --> 00:21:22,670 само со помош на боја програма. 468 00:21:22,670 --> 00:21:25,040 Па си оди за да, во еден миг, притиснете го тастерот space да започне. 469 00:21:25,040 --> 00:21:27,790 А потоа некои мозаик парчиња се случува да се започне се движат нагоре на екранот. 470 00:21:27,790 --> 00:21:30,900 И сакате да ја погоди стрелките на тастатурата, само како и во реалниот DDR, во согласност 471 00:21:30,900 --> 00:21:32,740 со работи обидел со оние стрели. 472 00:21:32,740 --> 00:21:33,020 >> VANESSA: OK. 473 00:21:33,020 --> 00:21:33,800 >> Дејвид MALAN: Сте се игра оваа порано. 474 00:21:33,800 --> 00:21:34,140 >> VANESSA: Да. 475 00:21:34,140 --> 00:21:37,330 >> Дејвид MALAN: Сите во право, Ванеса, оди напред и да ја однесете далеку. 476 00:21:37,330 --> 00:22:53,082 >> [Музика - Kayne West, "посилни"] 477 00:22:53,082 --> 00:22:57,080 >> [Аплауз] 478 00:22:57,080 --> 00:22:59,750 >> Дејвид MALAN: Па ајде сега преземе чекор од тоа. 479 00:22:59,750 --> 00:23:01,230 Толку јасно, тоа е на крајот од играта. 480 00:23:01,230 --> 00:23:02,880 На крајот од играта не е здраво светот. 481 00:23:02,880 --> 00:23:05,520 Но, вие не мора да мора да направите нешта кои се толку интерактивни. 482 00:23:05,520 --> 00:23:06,810 Исто така можете да го направите анимација. 483 00:23:06,810 --> 00:23:10,790 Така на пример, една од твоите наследници направи оваа програма тука, 484 00:23:10,790 --> 00:23:14,100 кој раскажува приказна повеќе од тоа не се спроведува игра. 485 00:23:14,100 --> 00:23:19,180 Па дозволете ми да оди напред и да се отвори тука Програмата во нашата истиот извор директориум 486 00:23:19,180 --> 00:23:20,300 од денес. 487 00:23:20,300 --> 00:23:26,990 Ова еден повик, и ајде да почнеме со, колаче љубовна приказна. 488 00:23:26,990 --> 00:23:30,750 >> А не да се направи ова е премногу академски, но, како што се види овој, мислам да 489 00:23:30,750 --> 00:23:34,030 себе кој од оние едноставни програмски концепти ние разговаравме 490 00:23:34,030 --> 00:23:34,630 за досега - 491 00:23:34,630 --> 00:23:39,250 променливи, и петелки, како и условите, го вашиот претходник најверојатно користи само 492 00:23:39,250 --> 00:23:41,090 за спроведување на некои од на визуализации. 493 00:23:41,090 --> 00:23:41,760 Ќе видите тука. 494 00:23:41,760 --> 00:23:44,118 Па јас ви даде Колаче љубовна приказна. 495 00:23:44,118 --> 00:24:06,030 >> [Музика - Green Day, "празник"] 496 00:24:06,030 --> 00:24:08,022 >> [Несреќа] 497 00:24:08,022 --> 00:24:09,272 >> [Музика - желките, "Среќни заедно"] 498 00:24:09,272 --> 00:24:58,328 499 00:24:58,328 --> 00:25:00,560 >> Дејвид MALAN: Сите во право, па таму, имавме колаче љубовна приказна. 500 00:25:00,560 --> 00:25:01,360 Но дури и таму - 501 00:25:01,360 --> 00:25:01,755 >> [Аплауз] 502 00:25:01,755 --> 00:25:08,110 >> Дејвид MALAN: Сите во право, дури и таму, се размислува за, како оние срца отиде од 503 00:25:08,110 --> 00:25:10,410 дното до врвот на екранот, таму е всушност малку 504 00:25:10,410 --> 00:25:11,440 случајноста случува. 505 00:25:11,440 --> 00:25:14,150 И навистина, ќе видиме дека дури и во наједноставниот на средини, како 506 00:25:14,150 --> 00:25:18,180 Нула, како во C, може да генерира случајни броеви, или илузијата на 507 00:25:18,180 --> 00:25:21,110 случајни броеви, така што играта е малку поинтересна од тоа би можело да 508 00:25:21,110 --> 00:25:23,390 биде ако сте имале апсолутно хард кодирани сè. 509 00:25:23,390 --> 00:25:26,360 >> Во движењето што го гледате, таму има некој вид на одговорност. 510 00:25:26,360 --> 00:25:28,840 Штом джинджифилово човек допира на джинджифилово жена, таа 511 00:25:28,840 --> 00:25:30,000 се чини дека се движат подалеку. 512 00:25:30,000 --> 00:25:33,580 И така, всушност, може да се спроведе во повеќето програмски јазици, поимот 513 00:25:33,580 --> 00:25:38,680 на настаните, при што доколку една страна допира Од друга страна, тоа може да предизвика некои 514 00:25:38,680 --> 00:25:41,270 на вашиот изворен код за да всушност извршување. 515 00:25:41,270 --> 00:25:43,740 Можете да слушате за такви работите на екранот. 516 00:25:43,740 --> 00:25:47,310 >> Па ајде да ги брз турнеја, а потоа, некои од градежни блокови може да се користат 517 00:25:47,310 --> 00:25:48,790 за да се постигне некои од овие цели. 518 00:25:48,790 --> 00:25:51,630 Значи тука е она што ние ќе отсега јавете се на изјава. 519 00:25:51,630 --> 00:25:55,030 Во соопштението се случува да биде пурпурна во Нула, малку нешто како ова, 520 00:25:55,030 --> 00:25:56,120 но тоа е произволна. 521 00:25:56,120 --> 00:26:00,140 Во соопштението е само загатка парче или, поопшто, инструкција, дека 522 00:26:00,140 --> 00:26:03,370 кажува на компјутерот да го стори нешто, изјава. 523 00:26:03,370 --> 00:26:04,680 >> Значи тука е едноставен примерок. 524 00:26:04,680 --> 00:26:05,930 Велат здраво светот. 525 00:26:05,930 --> 00:26:08,180 Уште еден се може да почека една секунда. 526 00:26:08,180 --> 00:26:10,840 Па оваа загатка парче, која е поддржана во Скреч, ние ќе ги споделите со вашите 527 00:26:10,840 --> 00:26:13,050 карактери пауза за некои бројот на секунди. 528 00:26:13,050 --> 00:26:15,330 Ова, исто така, е само изјава. 529 00:26:15,330 --> 00:26:18,640 >> Тука следната, имаме уште повеќе интересна, пофални звук meow, и 530 00:26:18,640 --> 00:26:21,480 малку стрелка значи дека во нула, ова е паѓачкото мени. 531 00:26:21,480 --> 00:26:22,590 Па можете да увоз звуци. 532 00:26:22,590 --> 00:26:25,095 Можете да снимате звуци и прават други забавни нешта во Скреч. 533 00:26:25,095 --> 00:26:28,450 И дека, исто така, иако, на крајот на ден, е само изјава. 534 00:26:28,450 --> 00:26:31,250 Но сега ајде да се воведе повеќе интересно парче, што е позната како 535 00:26:31,250 --> 00:26:32,630 Рационален израз. 536 00:26:32,630 --> 00:26:35,180 Капитал Б, именувана по колеги по име bool. 537 00:26:35,180 --> 00:26:39,500 >> И Булова изразување е само загатка парче или, поопшто, на 538 00:26:39,500 --> 00:26:42,980 дел од информациите што е или вистинити или лажни - 539 00:26:42,980 --> 00:26:45,830 една или нула, да или не. 540 00:26:45,830 --> 00:26:48,420 Па тоа е само еден од оние две спротивности. 541 00:26:48,420 --> 00:26:52,840 Па една таква Булова изразување во светот на гребење изгледа вака сино 542 00:26:52,840 --> 00:26:53,560 загатка парче. 543 00:26:53,560 --> 00:26:56,735 И тоа е поставување на прашање, глувчето надолу, и дека може да биде, на 544 00:26:56,735 --> 00:26:58,430 Се разбира, точно или неточно. 545 00:26:58,430 --> 00:27:01,710 Значи со ова загатка парче во нула, добро, ќе бидете во можност да детектира ако 546 00:27:01,710 --> 00:27:05,490 загатка ако на глувчето е, всушност, се одржана надолу од страна на човечкото интеракција 547 00:27:05,490 --> 00:27:06,550 со вашата програма. 548 00:27:06,550 --> 00:27:08,860 >> Оваа една е малку повеќе апстрактно, но овие две бели кутии 549 00:27:08,860 --> 00:27:09,740 се само за броеви. 550 00:27:09,740 --> 00:27:12,950 Па можете да ги правите нештата како е ова број помал од другите? 551 00:27:12,950 --> 00:27:16,180 И ако е така, Скреч ќе се однесуваат еден или на друг начин. 552 00:27:16,180 --> 00:27:17,505 Ова ми е малку повеќе графички. 553 00:27:17,505 --> 00:27:21,840 Тоа е ако самовила, ако мачката, за пример, е всушност допирање на 554 00:27:21,840 --> 00:27:22,510 глувчето. 555 00:27:22,510 --> 00:27:25,780 Значи, ако малку стрелка главата е лебди во текот на мачка, тогаш овој 556 00:27:25,780 --> 00:27:28,030 загатка парче ќе се оцени на true. 557 00:27:28,030 --> 00:27:31,870 Тоа ќе биде точно, во кој случај, ако го користите овој Булова изразување, како што ќе 558 00:27:31,870 --> 00:27:36,340 види во еден момент, во една гранка, можете да или го прават тоа, или можете да го направите тоа, 559 00:27:36,340 --> 00:27:39,940 многу како имавме услов проверено, е таму уште една последната личност 560 00:27:39,940 --> 00:27:40,460 во собата? 561 00:27:40,460 --> 00:27:42,070 Ако е така, додадете една. 562 00:27:42,070 --> 00:27:44,430 Инаку, не грижете се понатаму. 563 00:27:44,430 --> 00:27:48,650 >> Па Булова израз, исто така, може да биде и-ед заедно или или-ед заедно. 564 00:27:48,650 --> 00:27:53,120 Па може да се комбинираат Булова изрази и велат дека ова и тоа мора да биде вистина за 565 00:27:53,120 --> 00:27:54,710 целата работа да биде вистина. 566 00:27:54,710 --> 00:27:56,520 И тука е повеќе реалниот свет пример. 567 00:27:56,520 --> 00:28:00,060 Ако сте користеле CS50 Курсеви да направите разбира шопинг, овие провериш кутии 568 00:28:00,060 --> 00:28:03,520 таму, каде што ако провериш дека наога да курсеви, кои ќе речат, да, 569 00:28:03,520 --> 00:28:07,860 само ми го покаже предмети за кои вредноста Q е 4.5 или повисока. 570 00:28:07,860 --> 00:28:10,610 Ако се Отстранете го, не, не грижите за тоа. 571 00:28:10,610 --> 00:28:13,910 Или слично, на десната, не го прави Конфликт со Курсеви Јас сум преземање, 572 00:28:13,910 --> 00:28:15,650 тоа е точно или неточно. 573 00:28:15,650 --> 00:28:16,715 Тоа е само Булова изразување. 574 00:28:16,715 --> 00:28:20,080 Значи сето ова време кога сте користеле веб-страниците со провериш кутии, ти си само 575 00:28:20,080 --> 00:28:23,570 Вклучувам еквивалент на Булова изразување и исклучување. 576 00:28:23,570 --> 00:28:25,270 >> Па во каква форма да ги користат овие? 577 00:28:25,270 --> 00:28:28,820 Па, во Скреч, ќе видиме во еден момент дека постојат услови кои 578 00:28:28,820 --> 00:28:29,560 изгледа вака. 579 00:28:29,560 --> 00:28:33,130 И тоа е вид на разумен, бидејќи многу како во pseudocode, ние требуван 580 00:28:33,130 --> 00:28:38,550 вид на буквата У мозаик парчиња, значи дека нешто внатре во тоа U е 581 00:28:38,550 --> 00:28:41,390 ќе изврши, или не, во зависност за тоа каде е тоа. 582 00:28:41,390 --> 00:28:45,310 Па ако Булова изразување, тогаш она што е внатре ќе се извршуваат. 583 00:28:45,310 --> 00:28:46,800 >> Во меѓувреме, тука е ако / друго блок. 584 00:28:46,800 --> 00:28:50,320 Значи, ако сакате една гранка што оди ова начин или дека, гребење ни дава тоа. 585 00:28:50,320 --> 00:28:54,500 И со оваа логика, сега, и покрај тоа што загатка парче е јасно премногу мал 586 00:28:54,500 --> 00:28:57,400 да клин нешто друго во него, нула мозаик парчиња, тие се 587 00:28:57,400 --> 00:28:58,150 само ќе растат. 588 00:28:58,150 --> 00:29:01,370 Кога ќе повлечете и да го испуштите над нешто, тоа само ќе се зголеми за да одговара без оглед на тоа 589 00:29:01,370 --> 00:29:02,510 е ти се обидуваш да се направи. 590 00:29:02,510 --> 00:29:07,230 >> Па ние може да потрае два од овие работи и направи три начин вилушка на патот, па 591 00:29:07,230 --> 00:29:11,300 дека можете или направите ова, или тоа, или оваа друга работа само со гнездење нив 592 00:29:11,300 --> 00:29:12,070 на тој начин. 593 00:29:12,070 --> 00:29:14,370 Се разбира, ако го правиш тоа премногу многу, тоа ќе почне да се грди. 594 00:29:14,370 --> 00:29:17,660 Но во тој момент, ти си, всушност, веројатно нема програмирање многу добро. 595 00:29:17,660 --> 00:29:20,490 И така што ќе се повтори тема, исто така, дека на стилот. 596 00:29:20,490 --> 00:29:22,790 Само колку добро се всушност форматирате вашиот код? 597 00:29:22,790 --> 00:29:24,580 Или колку добро ја дизајнирате вашата код? 598 00:29:24,580 --> 00:29:26,430 Но повеќе за тоа во иднина. 599 00:29:26,430 --> 00:29:27,470 >> И сега имаме петелки. 600 00:29:27,470 --> 00:29:30,310 Таму е убаво, засекогаш јамка во Скреч што буквално значи тоа - направи 601 00:29:30,310 --> 00:29:32,710 она што е внатре на ова, повторно, и повторно, и повторно. 602 00:29:32,710 --> 00:29:35,880 Можете да бидете поконкретни и да каже, да го направите следново нешто 10 пати. 603 00:29:35,880 --> 00:29:37,620 Исто така можете да го користите променливи. 604 00:29:37,620 --> 00:29:40,260 Можете да излезе со било име во таа малку паѓачкото и да каже, ми даде 605 00:29:40,260 --> 00:29:43,190 променлива наречена n и во собата тоа еднаква на некои вредност. 606 00:29:43,190 --> 00:29:44,910 И тогаш може да има функции. 607 00:29:44,910 --> 00:29:46,850 Но повеќе за оние кои се во само еден миг. 608 00:29:46,850 --> 00:29:49,140 >> Дозволете ми да се вратам на моето Нула интерфејс. 609 00:29:49,140 --> 00:29:50,970 И дозволете ми да оди напред тоа време. 610 00:29:50,970 --> 00:29:56,660 И ајде да одиме напред и да се отвори, да речеме, на пример од - 611 00:29:56,660 --> 00:29:58,740 тоа е малку поинтересна. 612 00:29:58,740 --> 00:30:00,750 Дозволете ми да оди напред, и, всушност, дозволете ми да го направи сам. 613 00:30:00,750 --> 00:30:01,960 Јас не треба да се отвори оваа. 614 00:30:01,960 --> 00:30:03,390 Дозволете ми да отидете на датотеката, Нова. 615 00:30:03,390 --> 00:30:04,740 Одам да одат на Настани. 616 00:30:04,740 --> 00:30:08,460 Одам да одат кога зелено знаме кликнато, и јас одам да се оди на звук. 617 00:30:08,460 --> 00:30:11,590 И јас одам да drag and drop овој загатка парче, играат звук meow. 618 00:30:11,590 --> 00:30:12,580 Се заглави заедно. 619 00:30:12,580 --> 00:30:14,327 И сега, ако јас кликнете на зелениот знаме - 620 00:30:14,327 --> 00:30:16,260 >> [Meow ЗВУК] 621 00:30:16,260 --> 00:30:17,500 >> Дејвид MALAN: симпатична. 622 00:30:17,500 --> 00:30:21,560 Добро, па сега ајде да направиме нешто малку повеќе логички само за да покажат дека 623 00:30:21,560 --> 00:30:22,760 можеме, сега за сега. 624 00:30:22,760 --> 00:30:25,550 Одам да unlatch ова од тој тип. 625 00:30:25,550 --> 00:30:27,000 Одам да се оди на контрола. 626 00:30:27,000 --> 00:30:28,770 И јас одам да го зграби состојба. 627 00:30:28,770 --> 00:30:30,600 Па ако нешто тогаш. 628 00:30:30,600 --> 00:30:32,020 Па тоа е како тоа изгледа таму. 629 00:30:32,020 --> 00:30:33,890 Па ми треба Булова изразување. 630 00:30:33,890 --> 00:30:38,130 И дозволете ми да оди напред и да се каже, дозволете ми да одат на оператори. 631 00:30:38,130 --> 00:30:40,270 Одам да се направи нешто малку Mathy, само за клоци. 632 00:30:40,270 --> 00:30:43,600 Одам да одат во тука и да кажам, ако нешто е помалку од нешто друго, 633 00:30:43,600 --> 00:30:45,030 оди напред и да се направи нешто. 634 00:30:45,030 --> 00:30:46,890 Па сега, знаеш што, по случаен блок. 635 00:30:46,890 --> 00:30:51,620 Па забележите како, ако јас лебдат над оваа нешто овде, дека ќе се држат во таму. 636 00:30:51,620 --> 00:30:54,090 >> Па сега, информации, јас сум почнуваат да прават нешто веќе повеќе логично 637 00:30:54,090 --> 00:30:54,650 интересна. 638 00:30:54,650 --> 00:30:59,720 Ако случаен број помеѓу 1 и 10 е помалку отколку, да речеме шест. 639 00:30:59,720 --> 00:31:03,670 Ако изберам шест, што во суштина средства, направете го следново со 50% 640 00:31:03,670 --> 00:31:03,980 веројатност. 641 00:31:03,980 --> 00:31:05,460 Тоа е како да се нервира паричка. 642 00:31:05,460 --> 00:31:07,330 Сега, можам да направам нешто условно. 643 00:31:07,330 --> 00:31:10,800 И дека нешто ќе одам да направите е да го пуштите звукот. 644 00:31:10,800 --> 00:31:14,280 Па сега, кога јас кликнете на екран знаме, тоа е како фрлање паричка. 645 00:31:14,280 --> 00:31:14,610 >> [Meow ЗВУК] 646 00:31:14,610 --> 00:31:17,160 >> Дејвид MALAN: Тоа беше глави или какво ли таму. 647 00:31:17,160 --> 00:31:17,920 Да го сториме тоа повторно. 648 00:31:17,920 --> 00:31:18,860 >> [Meow ЗВУК] 649 00:31:18,860 --> 00:31:19,790 >> Дејвид MALAN: Шефовите повторно. 650 00:31:19,790 --> 00:31:20,280 >> [Meow ЗВУК] 651 00:31:20,280 --> 00:31:21,500 >> Дејвид MALAN: Шефовите повторно. 652 00:31:21,500 --> 00:31:22,631 Phew, ОК. 653 00:31:22,631 --> 00:31:24,720 Опашки тоа време. 654 00:31:24,720 --> 00:31:29,545 Значи 50% од времето, ако правиме ова бескрајно долга, ќе добиете 50% мјаукања 655 00:31:29,545 --> 00:31:32,180 и 50% тишини. 656 00:31:32,180 --> 00:31:34,850 Па таму, само основни градбени блок кој ни овозможува да го направите тоа. 657 00:31:34,850 --> 00:31:37,710 Но, ова е вид на досадни дека имам да се задржи кликнување дека копче. 658 00:31:37,710 --> 00:31:39,810 Па да го повлечете и фрлаат сите оние далеку. 659 00:31:39,810 --> 00:31:42,270 Ако ги влече до средината, тие само ќе се избришеш. 660 00:31:42,270 --> 00:31:43,760 >> Дозволете ми да одат нагоре да се контролира. 661 00:31:43,760 --> 00:31:46,060 Дозволете ми да одам да засекогаш. 662 00:31:46,060 --> 00:31:49,952 И овој пат, јас ќе одам да направите нешто minorly досадни. 663 00:31:49,952 --> 00:31:51,560 >> [Смеа] 664 00:31:51,560 --> 00:31:53,370 >> Дејвид MALAN: И дозволете ми да одат напред и да направи контрола. 665 00:31:53,370 --> 00:31:57,260 Почека една секунда, само така тоа не е премногу хелиум. 666 00:31:57,260 --> 00:31:59,870 >> [Meow ЗВУК] 667 00:31:59,870 --> 00:32:00,970 >> Дејвид MALAN: Тоа не е природно. 668 00:32:00,970 --> 00:32:01,861 OK. 669 00:32:01,861 --> 00:32:04,510 >> [Meow ЗВУК] 670 00:32:04,510 --> 00:32:06,406 >> Дејвид MALAN: И известување што се, убаво околу нула, за оние од вас кои 671 00:32:06,406 --> 00:32:09,210 имаат претходно програмирање искуство, не треба да се почне и запре. 672 00:32:09,210 --> 00:32:10,060 Вие не треба да се компајлира. 673 00:32:10,060 --> 00:32:13,210 Можете само да го промени, а на програмата ќе се прилагодат динамично. 674 00:32:13,210 --> 00:32:14,620 Значи ова е добивање на малку интересно. 675 00:32:14,620 --> 00:32:16,930 Но нека си го земе еден чекор понатаму. 676 00:32:16,930 --> 00:32:19,760 Дозволете ми да оди напред и да се ослободи од таа програма. 677 00:32:19,760 --> 00:32:23,300 >> [Meow ЗВУК] 678 00:32:23,300 --> 00:32:25,520 >> Дејвид MALAN: Тоа е она што ние ќе јавете се на бубачка во Скреч. 679 00:32:25,520 --> 00:32:26,770 Тој не треба да го чуваат прави тоа звук. 680 00:32:26,770 --> 00:32:28,340 Па ние ќе му каже да престане. 681 00:32:28,340 --> 00:32:30,435 Добро, па сега јас сум ќе одат во - 682 00:32:30,435 --> 00:32:32,180 Јас ќе те оставам МИТ знаете. 683 00:32:32,180 --> 00:32:35,160 Ќе одиме во текот тука за да Засекогаш. 684 00:32:35,160 --> 00:32:37,240 И сега, сакам да се направи нешто повторно и повторно. 685 00:32:37,240 --> 00:32:38,760 Одам да се оди во контрола. 686 00:32:38,760 --> 00:32:41,570 >> И ајде да видиме, јас ќе одам да го повлечете мојот ако состојба таму. 687 00:32:41,570 --> 00:32:42,850 Па сега забележите логика. 688 00:32:42,850 --> 00:32:46,430 Кога зелено знаме е кликнато, го прават нешто вечно, но само го направи тоа 689 00:32:46,430 --> 00:32:48,890 нешто ако тоа друга работа е вистина. 690 00:32:48,890 --> 00:32:51,480 Одам да одите да, ајде да велат, чувствувајќи. 691 00:32:51,480 --> 00:32:54,430 И јас одам да се оди напред и да изберете допирање и да го испуштите таму. 692 00:32:54,430 --> 00:32:55,930 Тоа е Булова израз. 693 00:32:55,930 --> 00:32:57,740 >> И сега, забележи, во овој пад down менито, постојат 694 00:32:57,740 --> 00:32:59,050 некои предефинирани вредности. 695 00:32:59,050 --> 00:33:00,910 Па можам да кажам, да не сте допирање на работ на екранот? 696 00:33:00,910 --> 00:33:03,900 Или сте допирање на покажувачот на глувчето, на стрелката на екранот? 697 00:33:03,900 --> 00:33:04,620 Па јас ќе одам да направите тоа. 698 00:33:04,620 --> 00:33:08,770 И ако е така, тогаш јас ќе одам да си напред и да играат звук meow. 699 00:33:08,770 --> 00:33:11,250 Па сега јас вид на имаат Почетоците на играта - 700 00:33:11,250 --> 00:33:13,110 симпатична игра. 701 00:33:13,110 --> 00:33:14,060 >> [Meow ЗВУК] 702 00:33:14,060 --> 00:33:17,250 >> Дејвид MALAN: Добро, симпатична, кабриолет игра. 703 00:33:17,250 --> 00:33:20,770 Дозволете ми да чекаат, да речеме, една секунда таму. 704 00:33:20,770 --> 00:33:24,910 Сега играат повторно, со кликнување на зелено знаме. 705 00:33:24,910 --> 00:33:27,860 >> [Meow ЗВУК] 706 00:33:27,860 --> 00:33:30,460 >> Дејвид MALAN: Па сега тоа е како фаќање мачка. 707 00:33:30,460 --> 00:33:31,850 >> [Meow ЗВУК] 708 00:33:31,850 --> 00:33:34,460 >> Дејвид MALAN: Добро, сега ова една јас го направи однапред. 709 00:33:34,460 --> 00:33:39,250 Многу доцна, таа добива вид на лесно да се прават глупави работи. 710 00:33:39,250 --> 00:33:40,240 Па нека ме да си одам од тука. 711 00:33:40,240 --> 00:33:43,720 Да речеме, дека беше домашно милениче мачка. 712 00:33:43,720 --> 00:33:46,600 Ајде сега отворете Не домашно милениче мачка. 713 00:33:46,600 --> 00:33:48,330 Сега, ако играме овој, може да се погоди, ако сте 714 00:33:48,330 --> 00:33:49,650 гледа во екранот - 715 00:33:49,650 --> 00:33:51,090 >> [Meow ЗВУК] 716 00:33:51,090 --> 00:33:52,170 >> Дејвид MALAN: Сега, ако јас миленичиња мачка 717 00:33:52,170 --> 00:33:55,420 >> [Роар Лајонс] 718 00:33:55,420 --> 00:33:57,260 >> Дејвид MALAN: Па не, всушност миленичиња мачката во тој случај. 719 00:33:57,260 --> 00:34:01,350 Па сега ние само треба еден пример на гранка која се случува во две насоки. 720 00:34:01,350 --> 00:34:03,130 Сега дозволете ми да оди напред и да отвори уште еден тука. 721 00:34:03,130 --> 00:34:07,120 Оваа една, исто така, меѓу нашиот извор кодот датотеки за тој ден. 722 00:34:07,120 --> 00:34:13,199 Па да ми се вратиш во мојот Извор директориумот и да одат во, ајде да се избере 723 00:34:13,199 --> 00:34:15,610 овој човек овде и да видиме она што е различно. 724 00:34:15,610 --> 00:34:17,449 >> Леле, сите во право, па сега тоа е добивање малку посложени. 725 00:34:17,449 --> 00:34:21,300 И пред да го гледаме она што овој човек го прави, ајде да се обидеме да заклучиме, од програмата 726 00:34:21,300 --> 00:34:22,219 на десната страна. 727 00:34:22,219 --> 00:34:25,590 И сега нула јасно ни овозможува да се имаат повеќе скрипти, повеќе 728 00:34:25,590 --> 00:34:29,730 програми поврзани со една самовила, со еден карактер, и, очигледно, 729 00:34:29,730 --> 00:34:31,760 Тие се двете случува да се кандидира заклучани. 730 00:34:31,760 --> 00:34:35,570 Бидејќи и двете од овие програми започнува со кога зелено знаме кликне, ова е 731 00:34:35,570 --> 00:34:38,650 алудирајќи на повеќе напредни тема, со што некои од вас може да биде запознаен, 732 00:34:38,650 --> 00:34:40,580 познат како провира, или мулти-Threading. 733 00:34:40,580 --> 00:34:44,400 >> Испоставува, скратам приказната, компјутери денес во суштина може да направи повеќе 734 00:34:44,400 --> 00:34:45,270 работи одеднаш. 735 00:34:45,270 --> 00:34:48,659 Или тие може да направи една работа во еден момент, така брзо што дури и не забележите дека 736 00:34:48,659 --> 00:34:50,150 тоа е всушност прави една работа во исто време. 737 00:34:50,150 --> 00:34:53,320 Но, за сега, да претпоставиме дека и двете од овие програми се случува да се изврши на 738 00:34:53,320 --> 00:34:54,310 во исто време. 739 00:34:54,310 --> 00:34:57,350 И известување, и двете од нив имаат засекогаш мозаик парчиња. 740 00:34:57,350 --> 00:35:01,270 Па тие се двете ќе продолжи да работи додека не хит на црвениот стоп знак. 741 00:35:01,270 --> 00:35:02,100 >> Па што се тие случува да направам? 742 00:35:02,100 --> 00:35:06,030 На левата страна, јас сум очигледно за прогласување на променлива наречена пригушени. 743 00:35:06,030 --> 00:35:09,030 Па јас не нарекуваат нешто како здодевен како Н го нареков пригушени овој 744 00:35:09,030 --> 00:35:10,240 време за да се пренесе значење. 745 00:35:10,240 --> 00:35:11,780 Јас го постави еднакви на нула. 746 00:35:11,780 --> 00:35:16,200 Ајде да мислам на тоа како неточно, или ајде да мислам на тоа како неточно. 747 00:35:16,200 --> 00:35:17,490 >> Сега, засекогаш го направите следново. 748 00:35:17,490 --> 00:35:23,280 Ако просторот бар на тастатурата е притиснато, а потоа, ако пригушени е еднаква на нула, 749 00:35:23,280 --> 00:35:25,930 потоа да се промени пригушени на еднаква еден. 750 00:35:25,930 --> 00:35:27,580 Друго, во собата пригушени до нула. 751 00:35:27,580 --> 00:35:30,530 Па логично, иако тоа е цела куп на мозаик парчиња и тоа е 752 00:35:30,530 --> 00:35:33,160 само велејќи, кога ќе се погоди простор бар, што треба да направам за да променливата 753 00:35:33,160 --> 00:35:34,750 наречен пригушени? 754 00:35:34,750 --> 00:35:37,170 Промени тоа од една до нула, или нула до еден. 755 00:35:37,170 --> 00:35:37,840 Тоа е се. 756 00:35:37,840 --> 00:35:40,740 Па тоа е како претворање на една прекинувач за светло или исклучите и сеќавајќи се, со 757 00:35:40,740 --> 00:35:42,330 променлива, што Јас го направив тоа. 758 00:35:42,330 --> 00:35:45,990 >> Во меѓувреме, на десната страна, во однос на Едноставен, она што е целта на 759 00:35:45,990 --> 00:35:47,547 сценариото на нели? 760 00:35:47,547 --> 00:35:48,860 >> Студент: Да ја играат лав морето звук. 761 00:35:48,860 --> 00:35:52,500 >> Дејвид MALAN: Да се ​​игра Море лав звук, ако тој не е на нула, од страна на 762 00:35:52,500 --> 00:35:53,480 Природата на таа променлива. 763 00:35:53,480 --> 00:35:57,360 Па ние сме споделување на држава, така да се каже, размена на информации низ овие два 764 00:35:57,360 --> 00:36:00,540 скрипти бидејќи, информации тука, ние сме засекогаш направите следново. 765 00:36:00,540 --> 00:36:04,620 Ако пригушени е нула, па ако тоа не е пригушени - ако пригушени е лажна, а потоа играат 766 00:36:04,620 --> 00:36:05,980 овој лав Море звук. 767 00:36:05,980 --> 00:36:09,930 И мислат само за себе, здраво, здраво, здраво, за две секунди, почекајте еден момент, а потоа 768 00:36:09,930 --> 00:36:11,140 проверете повторно. 769 00:36:11,140 --> 00:36:15,150 Значи, ако ние одиме сега овде на лево, до каде овој човек е, и кликнете на 770 00:36:15,150 --> 00:36:16,662 зелено знаме, 771 00:36:16,662 --> 00:36:30,260 >> [Морски лав ЗВУК] 772 00:36:30,260 --> 00:36:31,910 >> Дејвид MALAN: На која точка не ова се навистина досадни? 773 00:36:31,910 --> 00:36:33,440 Бидејќи ова само ќе трае вечно. 774 00:36:33,440 --> 00:36:36,490 Значи, понекогаш, бесконечна петелки, така да се каже, се намерна. 775 00:36:36,490 --> 00:36:41,140 Но, во овој случај, веднаш штом ќе хит на Space за, застанува. 776 00:36:41,140 --> 00:36:42,800 Сега на програмата нема да престанам. 777 00:36:42,800 --> 00:36:44,760 Тоа е уште работат во овие петелки. 778 00:36:44,760 --> 00:36:46,540 Но, ако јас се добие просторот бар повторно - 779 00:36:46,540 --> 00:36:47,851 >> [Морски лав ЗВУК] 780 00:36:47,851 --> 00:36:49,650 >> Дејвид MALAN: Тој се случува да ги собереш до каде што застанавте. 781 00:36:49,650 --> 00:36:53,240 Па таму е еден начин за нас да се направи нешто повторно и повторно, но, дека 782 00:36:53,240 --> 00:36:54,920 време, само условно. 783 00:36:54,920 --> 00:36:58,940 Добро, додека ние сме во оваа насока на вршење на работи повторно и повторно, дозволете ми 784 00:36:58,940 --> 00:37:01,370 одат во друг таков пример тука. 785 00:37:01,370 --> 00:37:04,370 Оваа една ќе го наречеме броење овци. 786 00:37:04,370 --> 00:37:05,710 >> И ќе забележите она што овој човек го прави тоа. 787 00:37:05,710 --> 00:37:08,540 Тоа е всушност малку повеќе како pseudocode игравме со на 788 00:37:08,540 --> 00:37:12,230 Среда, при што тој поставува некои контра, мислам на тоа е како n повторно, да 789 00:37:12,230 --> 00:37:14,030 нула, тој засекогаш го прави следново. 790 00:37:14,030 --> 00:37:17,960 Тој вели дека контра е вредност за еден Вториот, чека втор, а потоа 791 00:37:17,960 --> 00:37:19,430 менува контра по еден. 792 00:37:19,430 --> 00:37:21,570 И во овој контекст, дека само значи зголемување неа. 793 00:37:21,570 --> 00:37:23,250 Па тој еден додава на него. 794 00:37:23,250 --> 00:37:25,830 Па ова е буквално - 795 00:37:25,830 --> 00:37:27,890 тоа не е сосема она што мислиме дека на како броење овци. 796 00:37:27,890 --> 00:37:33,120 Тоа е овците го прават броење, засекогаш, од нула. 797 00:37:33,120 --> 00:37:35,560 >> Значи можеме да прават слични работи таму, логично. 798 00:37:35,560 --> 00:37:37,750 Но сега ајде да се обидеме да се чисти некои од овие работите. 799 00:37:37,750 --> 00:37:43,440 Дозволете ми да оди напред сега во едноставна пример, каде што нашите мачка е само ќе 800 00:37:43,440 --> 00:37:44,750 започне кашлање. 801 00:37:44,750 --> 00:37:48,830 Сите во право, па тука имаме кашлица 0 - 802 00:37:48,830 --> 00:37:50,685 компјутерски научници да почне сметано од 0. 803 00:37:50,685 --> 00:37:53,480 Па оваа мачка е само ќе да кашла три пати. 804 00:37:53,480 --> 00:37:54,890 И еве како јас спроведува тоа. 805 00:37:54,890 --> 00:38:00,130 Кога зелено знаме е кликнато, кашлица, чекај, кашлица, чекај, кашлица, чекај. 806 00:38:00,130 --> 00:38:02,470 И јас го направи ова само со влечење и пуштање мозаик парчиња. 807 00:38:02,470 --> 00:38:04,740 Или ако почне да нескопосник со нула, ќе видите можете да всушност 808 00:38:04,740 --> 00:38:08,620 дупликат парчиња, така што можете да направите работи побрзо, без влечење 809 00:38:08,620 --> 00:38:10,310 и пуштање реклама nauseum. 810 00:38:10,310 --> 00:38:12,680 >> Но, ние не сме на најдобар пат тука. 811 00:38:12,680 --> 00:38:15,210 Бидејќи како можам да го направи кашла четврти пат? 812 00:38:15,210 --> 00:38:16,790 Па, би можел сортирање на одат надолу тука. 813 00:38:16,790 --> 00:38:19,420 Јас би можеле да се дуплираат, а потоа ставете овој во таму. 814 00:38:19,420 --> 00:38:21,740 Како можам да го натера да кашла по петти пат? 815 00:38:21,740 --> 00:38:23,230 Па, копирате и залепите повторно. 816 00:38:23,230 --> 00:38:24,210 Или повлечете капка повторно. 817 00:38:24,210 --> 00:38:26,920 И многу брзо, оваа програма ќе почне да се добие навистина, навистина непотребни, 818 00:38:26,920 --> 00:38:28,880 навистина долго, но навистина неинтересен. 819 00:38:28,880 --> 00:38:30,120 Но, има начин да се исчисти ова. 820 00:38:30,120 --> 00:38:33,680 Што е очигледен начин за чистење на ова? 821 00:38:33,680 --> 00:38:36,280 >> ОК, па ние би можеле, всушност, навистина одат надвор и, кога ќе удри на простор 822 00:38:36,280 --> 00:38:37,070 бар, имаат него кашлица. 823 00:38:37,070 --> 00:38:40,150 Но, ако јас само сакам да направам нешто repetitively, да се потсетиме дека ние немаме 824 00:38:40,150 --> 00:38:41,310 некои контрола гради. 825 00:38:41,310 --> 00:38:43,800 Дозволете ми да се помести ова надвор од начин, одат под контрола. 826 00:38:43,800 --> 00:38:47,340 Дозволете ми да го направите да се повтори, да речеме, три пати. 827 00:38:47,340 --> 00:38:49,410 И сега дозволете ми да украде некои на овие мозаик парчиња. 828 00:38:49,410 --> 00:38:50,980 Дозволете ми да прибере овој тука. 829 00:38:50,980 --> 00:38:52,400 Дозволете ми да фрли овие далеку заедно. 830 00:38:52,400 --> 00:38:55,400 >> И сега, имам подобра дизајнирана програма. 831 00:38:55,400 --> 00:38:55,920 Зошто? 832 00:38:55,920 --> 00:39:00,540 Ако сакам да го промените бројот на пати оваа мачка кашлање, сите треба да 833 00:39:00,540 --> 00:39:05,640 направите е промена на една променлива, или една вредност, а од три, четири, или 834 00:39:05,640 --> 00:39:06,700 пет или шест. 835 00:39:06,700 --> 00:39:09,060 Или би можел да направи нешто условно, дури, со простор 836 00:39:09,060 --> 00:39:10,320 бар ако сакав да. 837 00:39:10,320 --> 00:39:11,780 >> Па ова е општ принцип. 838 00:39:11,780 --> 00:39:14,950 Откако ќе започнете со копирање и вметнување код, дали тоа е во нула, во или 839 00:39:14,950 --> 00:39:18,340 Ц, правиш нешто во ред, најверојатно. 840 00:39:18,340 --> 00:39:21,950 Или барем еднаш сте ги надмина некои разумен број на копии и 841 00:39:21,950 --> 00:39:24,610 пасти, ти си веројатно прават нешто погрешно. 842 00:39:24,610 --> 00:39:26,740 >> Но знаеш што? 843 00:39:26,740 --> 00:39:27,590 Јас не навистина ми се допаѓа ова. 844 00:39:27,590 --> 00:39:28,980 Ова не е најчист дизајн. 845 00:39:28,980 --> 00:39:32,860 Посакувам да имаше загатка парче се нарекува кашла, бидејќи тогаш јас не би 846 00:39:32,860 --> 00:39:36,100 треба да ја имплементира оваа себе, на старомоден начин, од страна на 847 00:39:36,100 --> 00:39:38,220 ја каже, и да чекаат - 848 00:39:38,220 --> 00:39:40,320 Што ако тие беа само кашлица загатка парче. 849 00:39:40,320 --> 00:39:41,330 >> Па, јас всушност може да го направите тоа. 850 00:39:41,330 --> 00:39:45,010 Дозволете ми да одат под повеќе блокови, кликнете Направете Блок, а сега можам да добијам овој 851 00:39:45,010 --> 00:39:45,610 прозорец тука. 852 00:39:45,610 --> 00:39:47,540 Одам да се јавите ова нешто кашлица. 853 00:39:47,540 --> 00:39:49,400 Одам да одите напред и кликнете OK. 854 00:39:49,400 --> 00:39:53,150 И сега оглас, ќе добие нов почеток парче што е закривен на врвот. 855 00:39:53,150 --> 00:39:56,590 И она што јас ќе одам да направите со ова, јас сум случува само крадат овие блокови. 856 00:39:56,590 --> 00:39:57,800 Одам да ги стави тука. 857 00:39:57,800 --> 00:40:00,490 >> И сега, со овие три парчиња, јас сум спроведува она што јас ќе одам да се јавите на 858 00:40:00,490 --> 00:40:03,530 функција или процедура, или некои од можеби ќе го знам тоа како метод. 859 00:40:03,530 --> 00:40:05,050 Мали разлики помеѓу зборовите. 860 00:40:05,050 --> 00:40:06,950 Но, за сега, ајде да ова го нарекуваме функција. 861 00:40:06,950 --> 00:40:08,750 Ова е само една нова загатка парче. 862 00:40:08,750 --> 00:40:11,000 Сега се спроведува вака. 863 00:40:11,000 --> 00:40:15,170 >> Но забележите дека Скреч ни даде физичката репрезентација на таа целина 864 00:40:15,170 --> 00:40:16,570 блокира овде. 865 00:40:16,570 --> 00:40:21,930 Па сега, јас само да го повлечете овој овде, велат, се повторува три пати, и 866 00:40:21,930 --> 00:40:26,420 што ќе се случи сега, кога јас го играм оваа скрипта, само една програма 867 00:40:26,420 --> 00:40:27,500 работи во исто време. 868 00:40:27,500 --> 00:40:29,880 Има само еден кога зелено знаме кликнато. 869 00:40:29,880 --> 00:40:34,010 Но дека пурпурна блок наречена кашлица е ефикасно кажува Скреч, секој 870 00:40:34,010 --> 00:40:38,160 пат кога ќе видите дека загатка парче, всушност, изврши овие чекори што јас 871 00:40:38,160 --> 00:40:40,420 се случи да се спроведе рачно. 872 00:40:40,420 --> 00:40:41,410 >> Па тоа е вид на уредни. 873 00:40:41,410 --> 00:40:44,650 Но сега, да претпоставиме дека решив, јас не сакате оваа мачка само да кашла. 874 00:40:44,650 --> 00:40:46,660 Сакам од него да биде во можност да кивнете, како и. 875 00:40:46,660 --> 00:40:48,905 Па, како би можеле да се обратите за спроведување на кивавица? 876 00:40:48,905 --> 00:40:51,310 Па можев доста го прават истото. 877 00:40:51,310 --> 00:40:52,690 Би можел да се направи уште еден блок. 878 00:40:52,690 --> 00:40:55,940 Јас би го нарекле кивавица, кликнете OK. 879 00:40:55,940 --> 00:40:59,250 >> Потоа, тука можев всушност се, дозволете ми да се дуплираат ова - 880 00:40:59,250 --> 00:41:02,850 и таму е местото каде треба да се чувствуваат како ти си веројатно се прават нешто во 881 00:41:02,850 --> 00:41:03,780 на најдобар начин. 882 00:41:03,780 --> 00:41:06,670 Можев да кажам нешто како, achoo, за една секунда. 883 00:41:06,670 --> 00:41:07,440 Почека една секунда. 884 00:41:07,440 --> 00:41:08,715 Сега имам нов блок наречен кивавица. 885 00:41:08,715 --> 00:41:10,210 И навистина, тоа е. 886 00:41:10,210 --> 00:41:14,010 >> Но, ова, исто така, треба да почне да се чувствуваат - можеби не на првата недела на класа, но 887 00:41:14,010 --> 00:41:15,730 од страна на втората - само малку излишни. 888 00:41:15,730 --> 00:41:17,800 Јасно се, има некои вишок тука. 889 00:41:17,800 --> 00:41:22,090 Значи, да ми предложи, наместо тоа, дека ние насочите оваа дефиниција, како што следи. 890 00:41:22,090 --> 00:41:24,820 >> Дозволете ми да одам до мојот датотеката мени. 891 00:41:24,820 --> 00:41:26,090 Јас не одам за да се спаси оваа верзија. 892 00:41:26,090 --> 00:41:29,080 Одам да се оди во една од мојата premade додадени фајлови: тука. 893 00:41:29,080 --> 00:41:31,190 И јас одам да се оди напред и ќе отвори кашлица 2. 894 00:41:31,190 --> 00:41:32,220 Whoops, кој беше кашлица 2. 895 00:41:32,220 --> 00:41:36,900 Дозволете ми да оди напред и да се отвори кашлица 3, која е оваа изворниот директориум. 896 00:41:36,900 --> 00:41:42,450 Кашлица 3 и информации - О, јас реков приказната во погрешна цел. 897 00:41:42,450 --> 00:41:45,030 Дозволете ми да се опорави од оваа приказна. 898 00:41:45,030 --> 00:41:48,990 >> Приказната што сакав да кажам завршува со кашлица 4 - 899 00:41:48,990 --> 00:41:50,270 таму е. 900 00:41:50,270 --> 00:41:54,380 Па што ако јас, наместо тоа, се дефинираат поголем загатка парче се нарекува 901 00:41:54,380 --> 00:41:57,250 дефинира, велат збор n пати. 902 00:41:57,250 --> 00:41:59,930 Кивање е само, очигледно, во Скреч, achoo. 903 00:41:59,930 --> 00:42:01,680 Па ние го изразат како збор, само затоа што тоа е 904 00:42:01,680 --> 00:42:02,750 ограничување на програмата. 905 00:42:02,750 --> 00:42:07,860 И кашлица е [кашлица], но кашлица, Ц-О-У-Г-H. Па тоа е само два 906 00:42:07,860 --> 00:42:10,820 различни зборови тоа, во суштина, истото. 907 00:42:10,820 --> 00:42:12,820 >> Па јас всушност може да направи нов блок вака. 908 00:42:12,820 --> 00:42:14,220 Јас не го употреби ова мени опција порано. 909 00:42:14,220 --> 00:42:16,960 Но кога ќе кликнете Направете Блок, можете да изберете некои опции. 910 00:42:16,960 --> 00:42:20,900 И може да се каже дека овој блок, всушност, зема некои влезови, инаку 911 00:42:20,900 --> 00:42:24,710 познат како аргументи, или параметри, па што може да се промени однесувањето на 912 00:42:24,710 --> 00:42:25,520 вашиот блок. 913 00:42:25,520 --> 00:42:28,780 >> Значи она што го направив пред еден миг беше Се јавив овој блок се каже. 914 00:42:28,780 --> 00:42:30,880 И тогаш реков, тоа трае низа влез. 915 00:42:30,880 --> 00:42:32,810 И сега забележите, по дифолт, се вели низа 1. 916 00:42:32,810 --> 00:42:35,440 А низа е само збор, или фраза, за нашите цели. 917 00:42:35,440 --> 00:42:37,810 Но јас сум само ќе се стави некои случаеви текст таму, исто како и во 918 00:42:37,810 --> 00:42:40,620 веб-сајт, кога ќе видите корисничко име, или лозинка, а потоа исчезнува кога 919 00:42:40,620 --> 00:42:41,550 ќе почнете да пишувате. 920 00:42:41,550 --> 00:42:42,720 Тоа е сè што е. 921 00:42:42,720 --> 00:42:44,590 >> И сега ќе одам да додадете број влез. 922 00:42:44,590 --> 00:42:47,180 И јас одам да се јавите овој n - но тоа е прилично произволно. 923 00:42:47,180 --> 00:42:49,510 А потоа само етикета, само за да бидете овој блок малку повеќе само 924 00:42:49,510 --> 00:42:50,570 објаснувачки - 925 00:42:50,570 --> 00:42:53,010 времиња, тоа е она што го направија. 926 00:42:53,010 --> 00:42:56,540 А крајниот резултат е дека можам да добијам блок што личи ова. 927 00:42:56,540 --> 00:42:58,880 >> И сега забележите, јас сум користење повторување блок. 928 00:42:58,880 --> 00:43:03,480 Но, наместо тешко кодирање три, јас сум влечење и пуштање n таму па јас 929 00:43:03,480 --> 00:43:05,530 може да parametrize функцијата. 930 00:43:05,530 --> 00:43:08,590 Можам да направам оваа функција се направи нешто различен број на пати врз основа на 931 00:43:08,590 --> 00:43:09,410 таа вредност. 932 00:43:09,410 --> 00:43:14,270 >> И ќе забележите, велат, ова е она што го направив тука, ако јас го повлечете зборот, можам да кажам не е 933 00:43:14,270 --> 00:43:17,860 хард кодирани збор, но она што е донесен во за една секунда. 934 00:43:17,860 --> 00:43:20,200 Во меѓувреме, како можам повторно да се спроведе кашлица? 935 00:43:20,200 --> 00:43:26,980 Јас наместо дефинира кашлица како велејќи кашлица n пати. 936 00:43:26,980 --> 00:43:30,480 >> Значи во кратки, јас ќе одам преку овој брзо, но основната идеја е штом 937 00:43:30,480 --> 00:43:32,750 како ќе почнете да гледате во вашата програма дека, почекајте една минута, јас го направив 938 00:43:32,750 --> 00:43:36,610 нешто сосема како тоа порано, Јас да фактор на некои заеднички 939 00:43:36,610 --> 00:43:37,090 функционалност? 940 00:43:37,090 --> 00:43:41,090 Може ли да се распаѓаат она што го правам во некои основни идеи? 941 00:43:41,090 --> 00:43:42,070 Тоа е она што го правиме тука. 942 00:43:42,070 --> 00:43:44,830 И јас сум наредени овие работи, визуелно, на врвот на една друга 943 00:43:44,830 --> 00:43:47,710 затоа што тоа е сведоштво за таа идеја на почнувајќи со бинарни, ќе ASCII, 944 00:43:47,710 --> 00:43:51,530 правење на графички програми, вид на дели се повеќе комплексни идеи за 945 00:43:51,530 --> 00:43:52,570 врвот на една со друга. 946 00:43:52,570 --> 00:43:53,730 >> Истата идеја тука. 947 00:43:53,730 --> 00:43:56,870 Почнав од нула, спроведување кашлање, тогаш сфатив кашлање е 948 00:43:56,870 --> 00:43:58,540 навистина само кажува нешто. 949 00:43:58,540 --> 00:44:01,630 Па да ми наместо спроведување на Поимот кажува нешто. 950 00:44:01,630 --> 00:44:05,200 И згора на тоа, јас може да се спроведе achoo, или кашлица? 951 00:44:05,200 --> 00:44:07,990 И ние не можеше да стори повеќе вакви варијанти се уште. 952 00:44:07,990 --> 00:44:10,400 >> Значи од овој основен принцип, ние може да почнат да прават 953 00:44:10,400 --> 00:44:12,180 повеќе комплексни програми. 954 00:44:12,180 --> 00:44:14,100 Дозволете ми да се отвори оваа. 955 00:44:14,100 --> 00:44:18,020 Ние всушност може да има повеќе sprites интеракција на екранот одеднаш. 956 00:44:18,020 --> 00:44:23,470 Ако одам во мојата изворниот директориум и зграби еден т.н. Теми, да се потсетиме дека 957 00:44:23,470 --> 00:44:26,920 нишка е само навистина способноста на две сценарија за да се кандидира рамо до 958 00:44:26,920 --> 00:44:28,350 страна, во исто време. 959 00:44:28,350 --> 00:44:34,490 >> Забележите сега, имаат и птица самовила мачка самовила, од кои и двете имаат 960 00:44:34,490 --> 00:44:35,270 свои скрипти. 961 00:44:35,270 --> 00:44:37,690 Па најава, кога ќе кликнете на мачка, можам да добијам овие скрипти. 962 00:44:37,690 --> 00:44:39,830 Кога кликнувам на птица, Можам да добијам овие скрипти. 963 00:44:39,830 --> 00:44:42,070 Така што секоја од овие момци има неговите сопствени програми. 964 00:44:42,070 --> 00:44:46,680 Кога јас сега кликнете на зелено знаме, информации дека она што оваа програма прави е 965 00:44:46,680 --> 00:44:54,090 имаат мачка, неверојатно полека, бркаат птица. 966 00:44:54,090 --> 00:44:57,120 Но мачката има предноста на постоење на е програмиран на таков начин 967 00:44:57,120 --> 00:45:00,540 дека без разлика каде птицата е, мачката оди кон него. 968 00:45:00,540 --> 00:45:02,150 >> Можеме да играат таа игра многу побрзо. 969 00:45:02,150 --> 00:45:07,750 Значи, ако јас сум на мачка, забележите дека јас сум користење, да речеме се движат еден чекори. 970 00:45:07,750 --> 00:45:11,680 Ајде да го движите пет чекори на време, па пет точки во исто време. 971 00:45:11,680 --> 00:45:13,580 Дозволете ми да кликнете игра. 972 00:45:13,580 --> 00:45:14,490 >> [Роар Лајонс] 973 00:45:14,490 --> 00:45:17,170 >> Дејвид MALAN: Добро, сега можеме да навистина им даде на мачката предност. 974 00:45:17,170 --> 00:45:18,600 10 чекори во исто време. 975 00:45:18,600 --> 00:45:20,120 >> [Роар Лајонс] 976 00:45:20,120 --> 00:45:22,770 >> Дејвид MALAN: Сите во право, па многу брзо, тоа добива малку предност 977 00:45:22,770 --> 00:45:23,280 за мачка. 978 00:45:23,280 --> 00:45:25,310 Но јас ќе се бранува моите рака во некои од деталите. 979 00:45:25,310 --> 00:45:28,240 Но причината дека тој пат е почнувајќи малку различни секој пат 980 00:45:28,240 --> 00:45:29,700 е тоа што јас го правам малку на случајноста. 981 00:45:29,700 --> 00:45:33,700 Јас сум, всушност, укажува на мачка во поинаква насока врз основа на местото каде што 982 00:45:33,700 --> 00:45:38,710 сакам од него да почнат така што секој пат кога играта или анимација, е 983 00:45:38,710 --> 00:45:39,760 малку поинаква. 984 00:45:39,760 --> 00:45:41,950 >> Сега, дозволете ми да се воведе еден други изгради тука. 985 00:45:41,950 --> 00:45:43,860 Значи во овој случај, ние имавме функции. 986 00:45:43,860 --> 00:45:46,950 Има исто така, ќе биде загатка парче познат како низа, или листа, 987 00:45:46,950 --> 00:45:50,980 која ви овозможува да ги чувате повеќе вредности во внатрешноста на променливата. 988 00:45:50,980 --> 00:45:53,410 Видовме теми, а сега има Настани. 989 00:45:53,410 --> 00:45:56,330 >> Па еве еден настан користејќи овие две момчиња тука. 990 00:45:56,330 --> 00:46:02,490 И ако јас се отвори датотеката наречено Настани од примерите денес, ние ќе 991 00:46:02,490 --> 00:46:06,940 види една програма која изгледа малку вака. 992 00:46:06,940 --> 00:46:09,630 И сега забележите ова момче - 993 00:46:09,630 --> 00:46:11,620 па забележите имам сина Muppet кликнато - 994 00:46:11,620 --> 00:46:12,990 тој само го прави следново. 995 00:46:12,990 --> 00:46:15,540 Тој не мора еден од оние зелено знаме мозаик парчиња. 996 00:46:15,540 --> 00:46:18,620 Тој има кога ќе примам настан - 997 00:46:18,620 --> 00:46:19,970 па некои произволни збор. 998 00:46:19,970 --> 00:46:21,590 Јас само Емре настан таму - 999 00:46:21,590 --> 00:46:23,740 тој се случува да се каже, Поло, за две секунди. 1000 00:46:23,740 --> 00:46:25,800 >> Па оние од вас кои се запознаени со оваа игра може да знае 1001 00:46:25,800 --> 00:46:26,460 каде што ова се случува. 1002 00:46:26,460 --> 00:46:29,800 Ако јас сега кликнете на портокалова Muppet, својата програма го прави ова. 1003 00:46:29,800 --> 00:46:35,020 Засекогаш, ако на тастатурата простор бар потиснати, тој се случува да се каже, Марко, 1004 00:46:35,020 --> 00:46:36,580 за две секунди на екранот. 1005 00:46:36,580 --> 00:46:39,590 Но тој е, исто така, се случува да го користите овој познавач блокира познат како пренос. 1006 00:46:39,590 --> 00:46:42,270 Тој се случува да се емитува цитат unquote "настан". 1007 00:46:42,270 --> 00:46:47,540 >> Во меѓувреме, сини дечко, се потсетиме, е слушање за понуда unquote "настан". 1008 00:46:47,540 --> 00:46:50,760 Така некако, сега, можеме да имаме две sprites интеракција. 1009 00:46:50,760 --> 00:46:53,790 И кога ќе стигнете до веб програмирање, подоцна во текот на терминот, слично ова ќе 1010 00:46:53,790 --> 00:46:58,320 да биде поволна за да имаат својата веб-страница направи нешто како одговор на, за 1011 00:46:58,320 --> 00:47:00,130 пример, еден клик на тастатурата. 1012 00:47:00,130 --> 00:47:02,120 >> Па дозволете ми да оди напред и да хит на тастерот space. 1013 00:47:02,120 --> 00:47:04,020 Портокал момче вели Марко. 1014 00:47:04,020 --> 00:47:05,840 Сини дечко вели Поло. 1015 00:47:05,840 --> 00:47:10,780 Ако го направам тоа повторно портокал момче вели: Marco, сини дечко вели поло. 1016 00:47:10,780 --> 00:47:14,130 Па ајде да ја искористам оваа еден чекор понатаму. 1017 00:47:14,130 --> 00:47:18,790 Овој пат, ќе одиме, веројатно, само уште неколку минути тука. 1018 00:47:18,790 --> 00:47:19,904 Дали имаме - 1019 00:47:19,904 --> 00:47:22,380 маса светилка, ајде долу. 1020 00:47:22,380 --> 00:47:24,500 Вие сте во право на крајот. 1021 00:47:24,500 --> 00:47:25,740 Добро, можете и двете може да излезе. 1022 00:47:25,740 --> 00:47:26,990 Имаме биро светилки за секого. 1023 00:47:26,990 --> 00:47:28,360 Ајде. 1024 00:47:28,360 --> 00:47:30,090 Јас не знам дали ние може да ги задржи оваа смешна замолчени до 1025 00:47:30,090 --> 00:47:32,035 сите семестар, иако. 1026 00:47:32,035 --> 00:47:33,530 Добро, ајде долу. 1027 00:47:33,530 --> 00:47:40,260 >> А во меѓувреме, имаме Следниве примери да се повлече до, само за да 1028 00:47:40,260 --> 00:47:45,370 забрза работите сега, како што ние имаат манифестација од друг 1029 00:47:45,370 --> 00:47:48,360 претходник на твое со користење на истите основни градежни блокови. 1030 00:47:48,360 --> 00:47:48,975 Што е вашето име? 1031 00:47:48,975 --> 00:47:49,240 >> ЏОН: Џон. 1032 00:47:49,240 --> 00:47:49,770 >> Дејвид MALAN: Џон. 1033 00:47:49,770 --> 00:47:50,400 Убаво да се мене вас. 1034 00:47:50,400 --> 00:47:50,650 И? 1035 00:47:50,650 --> 00:47:51,250 >> SETZ: Setz. 1036 00:47:51,250 --> 00:47:53,130 >> Дејвид MALAN: Setz, убаво да се мене вас. 1037 00:47:53,130 --> 00:47:54,820 Јован, ако сакате да се дојде до првиот, ова е еден стар 1038 00:47:54,820 --> 00:47:55,910 училиште игра наречена Frogger. 1039 00:47:55,910 --> 00:47:57,530 Го користите тастатурата за тоа како добро. 1040 00:47:57,530 --> 00:48:02,425 А целта е да се добие преку на улица и вода. 1041 00:48:02,425 --> 00:48:12,700 >> [Frogger музика и звучни игра] 1042 00:48:12,700 --> 00:48:14,970 >> Дејвид MALAN: Жал ми е, не биро светилка за вас денес. 1043 00:48:14,970 --> 00:48:19,110 Сите во право, Setz, ќе ти сакал да дојдеш на до? 1044 00:48:19,110 --> 00:48:20,890 Добро, ајде да го направат тоа повторно. 1045 00:48:20,890 --> 00:48:21,430 >> SETZ: Дали јас го користам на стрелките? 1046 00:48:21,430 --> 00:48:22,360 >> Дејвид MALAN: Само ги копчињата со стрелки. 1047 00:48:22,360 --> 00:48:23,624 Горе, долу, лево, десно. 1048 00:48:23,624 --> 00:48:35,700 >> [Frogger музика и звучни игра] 1049 00:48:35,700 --> 00:48:37,880 >> Дејвид MALAN: Ќе ги повикам утеха награди денес, 1050 00:48:37,880 --> 00:48:38,950 тогаш, многу добро направено. 1051 00:48:38,950 --> 00:48:40,690 Тука, за двете од вас, Јован и Setz. 1052 00:48:40,690 --> 00:48:41,940 Алал да му е, во ред. 1053 00:48:41,940 --> 00:48:46,720 1054 00:48:46,720 --> 00:48:50,620 Значи, повторно, како оваа игра игра, мислам за она што се случува? 1055 00:48:50,620 --> 00:48:52,060 >> Еден, таму е јасно многу движење. 1056 00:48:52,060 --> 00:48:55,220 Но видовме како, со мачката и птица пример, како може да се направи 1057 00:48:55,220 --> 00:48:58,350 илузија на движење од страна на само се движи некои бројот на пиксели повторно и повторно. 1058 00:48:58,350 --> 00:49:00,280 И ако имате еден блок засекогаш, би можеле да имаат овие 1059 00:49:00,280 --> 00:49:02,120 автомобили го прават тоа засекогаш. 1060 00:49:02,120 --> 00:49:03,720 Ние имаме способност да има некои случајноста. 1061 00:49:03,720 --> 00:49:06,310 Значи оваа игра не мора да биде токму истото секој пат. 1062 00:49:06,310 --> 00:49:09,940 Оние логови, оние автомобили, можат да започне во малку различни времиња, така што 1063 00:49:09,940 --> 00:49:12,690 Самата игра е поинтересно со секоја игра. 1064 00:49:12,690 --> 00:49:15,320 >> А во меѓувреме, видовме способноста да се слуша на тастерот space. 1065 00:49:15,320 --> 00:49:18,830 Но јасно, во Скреч, може исто така слуша за горе, долу, лево, десно, и 1066 00:49:18,830 --> 00:49:20,760 навистина било кое копче на тастатурата. 1067 00:49:20,760 --> 00:49:22,200 И ти исто така може да направи некои други работи. 1068 00:49:22,200 --> 00:49:24,660 Дозволете ми да оди напред и да се вратиме на веб верзија. 1069 00:49:24,660 --> 00:49:30,280 >> Дозволете ми да одат во нашата колекција примери овде. 1070 00:49:30,280 --> 00:49:36,120 И под моето студио, видео кое е, во суштина, папка на 1071 00:49:36,120 --> 00:49:37,780 scratch.mit.edu. 1072 00:49:37,780 --> 00:49:39,710 Имаме веб-верзии на сите овие проекти. 1073 00:49:39,710 --> 00:49:42,530 И ајде да видам дали можам да добијам моите компјутер да соработуваат тука. 1074 00:49:42,530 --> 00:49:47,180 Ова е напишано од страна на еден од нашите пријатели на МИТ, наречен Премести на пеперутка. 1075 00:49:47,180 --> 00:49:50,250 >> И еднаш ова се отвора, ова е ќе всушност употребата на повеќе од 1076 00:49:50,250 --> 00:49:51,430 мојот компјутер хардвер. 1077 00:49:51,430 --> 00:49:53,325 Нула се случува да се имплементираат со Флеш. 1078 00:49:53,325 --> 00:49:56,250 Флеш да разговарате со вашата веб камера, ако имате еден. 1079 00:49:56,250 --> 00:50:00,210 Значи, ако јас одам напред и на цел екран овој тука, кликнете на зелено знаме, информации 1080 00:50:00,210 --> 00:50:02,530 дека безбедноста Флеш порака е велејќи дека, дали сакате да 1081 00:50:02,530 --> 00:50:04,210 овозможи да го користам мојот веб камера? 1082 00:50:04,210 --> 00:50:05,510 >> Нормално, треба да веројатно се каже Одбиј. 1083 00:50:05,510 --> 00:50:07,180 Но, во овој случај, ние се каже ќе им овозможи. 1084 00:50:07,180 --> 00:50:10,430 Тогаш јас ќе одам да кажам Хром да им се овозможи тоа како добро. 1085 00:50:10,430 --> 00:50:15,010 И сега, во само еден миг, ќе ме види, Да, мене. 1086 00:50:15,010 --> 00:50:18,154 И ако мојата рака оди нагоре - 1087 00:50:18,154 --> 00:50:20,390 Имам да не се движи мојот главата во исто време. 1088 00:50:20,390 --> 00:50:21,740 Таму е исто така одраз на екранот. 1089 00:50:21,740 --> 00:50:23,480 Ајде, таму ќе одиме - 1090 00:50:23,480 --> 00:50:27,616 можете да ја преместите на екранот, бидејќи исто така има мозаик парчиња - ох, можете 1091 00:50:27,616 --> 00:50:31,640 знаат што е тоа, тоа е затоа што, исто така, види проектор екран зад мене. 1092 00:50:31,640 --> 00:50:33,870 Значи имаме малку бесконечна нешто се случува таму. 1093 00:50:33,870 --> 00:50:36,470 >> Сите во право, па ќе играат овде долу. 1094 00:50:36,470 --> 00:50:37,220 Таму ќе одиме. 1095 00:50:37,220 --> 00:50:41,310 Па таму е исто така загатка парче што вели, кога ќе видите движење под 1096 00:50:41,310 --> 00:50:45,470 еден од sprites, можете да го одиме горе, долу, лево, десно или слично. 1097 00:50:45,470 --> 00:50:48,950 Значи имаме малку на виртуелната реалност случува овде, како и, сите во рамките на 1098 00:50:48,950 --> 00:50:52,570 границите на мојот интернет пребарувач, само тука со мојата веб камера. 1099 00:50:52,570 --> 00:50:53,980 Значи она што е тогаш на хоризонтот. 1100 00:50:53,980 --> 00:50:58,350 Првиот проблем во собата, како што ќе видите, или на веб страната ќе одат онлајн подоцна 1101 00:50:58,350 --> 00:51:01,100 вечерва во cs50.net, е прилично многу се случува да бидат со отворен крај. 1102 00:51:01,100 --> 00:51:04,410 И спроведување на одбројување од интерес за вас, игра, на 1103 00:51:04,410 --> 00:51:08,350 интеракција, нешто уметнички, и предизвик себе си да се користи било кој број 1104 00:51:08,350 --> 00:51:09,660 на овие мозаик парчиња. 1105 00:51:09,660 --> 00:51:11,580 И тоа може да биде интерактивна на овој начин. 1106 00:51:11,580 --> 00:51:15,470 Или тоа може да биде нешто повеќе намерно направени за да се раскаже приказна. 1107 00:51:15,470 --> 00:51:19,200 >> И навистина, тоа е каде што ќе завршат надвор денес, со еден краен пример. 1108 00:51:19,200 --> 00:51:21,290 Дозволете ми да одат во Скреч локално. 1109 00:51:21,290 --> 00:51:25,300 Дозволете ми да оди напред и да ја отворите оваа, и да игра последен програма напишана од еден 1110 00:51:25,300 --> 00:51:29,795 на вашите предци, имено дека еден тука. 1111 00:51:29,795 --> 00:51:32,960 1112 00:51:32,960 --> 00:51:35,938 Добро, да се подигне на обемот за оваа. 1113 00:51:35,938 --> 00:52:53,770 >> [Музички] 1114 00:52:53,770 --> 00:52:57,255 >> Наратор: На следниот CS50, Дејвид ги повикува волонтер на сцената. 1115 00:52:57,255 --> 00:52:58,636 >> Дејвид MALAN: За оваа демонстрација, ние ќе треба еден волонтер. 1116 00:52:58,636 --> 00:53:01,050 Вие би сакале да дојде на долу? 1117 00:53:01,050 --> 00:53:02,300 Што е вашето име? 1118 00:53:02,300 --> 00:53:05,320 1119 00:53:05,320 --> 00:53:06,570 Се движат натаму. 1120 00:53:06,570 --> 00:53:08,394