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 І я старший у Леверетт будинок. 4 00:00:14,820 --> 00:00:18,700 Я вивчаю інформатику, і я TF для CS50. 5 00:00:18,700 --> 00:00:21,640 Як новачок, я навіть не було ноутбука або смартфона. 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 Я старший у Леверетт Будинок, клас 2014 року. 15 00:00:48,910 --> 00:00:51,670 І я взяв CS50. 16 00:00:51,670 --> 00:00:52,380 >> DAVID мала: Так що це 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 >> Ну, ми перейшли швидко, то на Середа на цей байтовий добровольців. 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 >> Тепер ми швидко перейшли в середу тільки від необхідності 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 Послідовності інструкцій. 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 >> DAVID мала: Так, щоб було середовище. 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 >> Таким чином, ми ввели це поняття псевдокоду, який, за 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 Так що немає жодної мови, відомого як псевдокод у світі. 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 Але ми побачимо, що, звичайно, з Англійська псевдокод, і виявляється, 95 00:04:47,930 --> 00:04:51,700 більшості мов програмування себе є похідними від англійського сам, 96 00:04:51,700 --> 00:04:55,750 ми побачимо, що є деякі стандартні способи подання та псевдокод 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 >> Так псевдокод був свого роду мови нагадують 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 людей у ​​кімнаті в гуртожитку для , Що відео на середу. 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 А в третій лінії, ми оновили N. Ми збільшується Н. І ми могли б написати цю 130 00:06:10,330 --> 00:06:11,330 будь-якою кількістю способів. 131 00:06:11,330 --> 00:06:14,460 Але, мабуть, найбільш очевидним є тільки, щоб сказати, встановити Н рівним 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 >> Так що цей приклад було дві людини сидячи в кімнаті в гуртожитку. 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 >> Таким чином, ми міняли алгоритм, псевдокод, якщо не сказати, в даний час у другому рядку, 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 Англійська мова для псевдокоду. 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 І це все, насправді ми хочемо досягти з псевдокоді, так чи інакше 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 І тоді ми переходимо дуже швидко більш таємний синтаксис, але той, який 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 Це ніби як псевдокод. 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 на комп'ютері вікна, що дає мені ілюзію встановлена ​​інша 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 >> Це операційна система називається Linux. 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 знайомі Вікна і 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 або ПК. 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 У спеціальне розширення, як. C, замість з. 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, тап_п, порожнеча, що відкриває фігурною 270 00:12:35,780 --> 00:12:40,140 дужки, один, два, три, чотири простору відступ, друк F, для друку 271 00:12:40,140 --> 00:12:44,450 щось відформатованих, в лапках, "Hello, World" зворотну косу риску, N, близьких 272 00:12:44,450 --> 00:12:49,640 цитати, закрита дужка, крапка з комою, введіть Backspace, Backspace, Backspace, 273 00:12:49,640 --> 00:12:52,310 Backspace, закритою фігурної дужки - 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 привіт зробити буквально збирається зроби мене програма під назвою Hello. 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 >> Так що я йду вперед і натисніть Enter. 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 Це сталося для запуску компілятора, більш про це в момент, званий Clang. 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 І ми збираємося використовувати графічну мова програмування нуля. 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 >> Так що я збираюся йти до верхнього кута тут і натисніть Створити. 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 мабуть скажу, щоб це CIT привітатися, думати, щоб показати 375 00:17:25,530 --> 00:17:26,780 себе, сховатися. 376 00:17:26,780 --> 00:17:30,830 Якщо я спускаюся до звуків, виявляється є способи гри звучить як Мяу 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 Під Bench Events, ви помітите, Кілька речей, які навмисно 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 таємні програму я реалізував 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 >> ВАНЕССА: [нерозбірливо]. 421 00:19:48,190 --> 00:19:48,465 >> DAVID мала: OK. 422 00:19:48,465 --> 00:19:49,610 Відмінно, що ви називаєте? 423 00:19:49,610 --> 00:19:49,990 Ванесса? 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 Так ось чому зараз я бачу Mac конкретного інтерфейсу. 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 >> [Здивований GASPS] 448 00:20:39,290 --> 00:20:41,610 >> DAVID мала: Ми будемо давати від настільних ламп сьогодні. 449 00:20:41,610 --> 00:20:43,530 >> [Сміється] 450 00:20:43,530 --> 00:20:45,260 >> Отже, дозвольте мені Cue це. 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 >> ВАНЕССА: Так. 462 00:21:12,340 --> 00:21:12,920 >> DAVID мала: 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 Таким чином, ви збираєтеся, в один момент, натисніть пробіл, щоб почати. 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 >> ВАНЕССА: OK. 473 00:21:33,020 --> 00:21:33,800 >> DAVID мала: Ви граєте це раніше. 474 00:21:33,800 --> 00:21:34,140 >> ВАНЕССА: Так. 475 00:21:34,140 --> 00:21:37,330 >> DAVID мала: Добре, Ванесса, йти вперед і відняти її. 476 00:21:37,330 --> 00:22:53,082 >> [MUSIC - KAYNE Захід "сильніше"] 477 00:22:53,082 --> 00:22:57,080 >> [Оплески] 478 00:22:57,080 --> 00:22:59,750 >> DAVID мала: Отже, давайте зробити крок від цього. 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 >> [MUSIC - GREEN DAY, "свято"] 496 00:24:06,030 --> 00:24:08,022 >> [CRASH] 497 00:24:08,022 --> 00:24:09,272 >> [MUSIC - черепахи, "Щасливі разом"] 498 00:24:09,272 --> 00:24:58,328 499 00:24:58,328 --> 00:25:00,560 >> DAVID мала: Добре, так що, у нас була історія кохання печива. 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 >> DAVID мала: Гаразд, навіть там, думати, як ті пішли від серця 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 >> Тут в наступному, у нас є інший, більш цікавим, гра няв звук, і 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 B Capital, названий на честь Хлопець на ім'я 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 паззл буде оцінювати до істини. 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 >> Так логічне вираження також може бути і-ED або разом або-ED разом. 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 І це почасти тому, що більша розумним як у псевдокоді, ми відступом 580 00:28:33,130 --> 00:28:38,550 Сортувати П-подібних частин головоломки, середній що все, що всередині, що і є 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 Пустіть мене до File, New. 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 І я збираюся перетягнути цю паззл, грати звук няв. 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 SOUND] 621 00:30:16,260 --> 00:30:17,500 >> DAVID мала: чарівна. 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 Я йду, щоб від'єднати це від цього хлопця. 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 SOUND] 646 00:31:14,610 --> 00:31:17,160 >> DAVID мала: Це було глав і ще багато чого є. 647 00:31:17,160 --> 00:31:17,920 Давайте зробимо це знову. 648 00:31:17,920 --> 00:31:18,860 >> [MEOW SOUND] 649 00:31:18,860 --> 00:31:19,790 >> DAVID мала: керівники знову. 650 00:31:19,790 --> 00:31:20,280 >> [MEOW SOUND] 651 00:31:20,280 --> 00:31:21,500 >> DAVID мала: керівники знову. 652 00:31:21,500 --> 00:31:22,631 Уф, добре. 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 >> DAVID мала: і я піду, вперед і робити контроль. 665 00:31:53,370 --> 00:31:57,260 Зачекайте одну секунду, просто так, це не надто решітки. 666 00:31:57,260 --> 00:31:59,870 >> [MEOW SOUND] 667 00:31:59,870 --> 00:32:00,970 >> DAVID мала: Це не природно. 668 00:32:00,970 --> 00:32:01,861 ОК. 669 00:32:01,861 --> 00:32:04,510 >> [MEOW SOUND] 670 00:32:04,510 --> 00:32:06,406 >> DAVID мала: І зверніть увагу, що, приємно близько нуля, для тих з вас, хто 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 SOUND] 678 00:32:23,300 --> 00:32:25,520 >> DAVID мала: Це те, що ми будемо називають помилкою в хорошому стані. 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 Я дам знати MIT. 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 >> І ось, зверніть увагу, в цю краплю меню, є 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 І якщо так, то я піду вперед і грати звук няв. 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 SOUND] 702 00:33:14,060 --> 00:33:17,250 >> DAVID мала: Добре, чарівні, баггі гри. 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 SOUND] 706 00:33:27,860 --> 00:33:30,460 >> DAVID мала: Так що тепер це як гладить кішку. 707 00:33:30,460 --> 00:33:31,850 >> [MEOW SOUND] 708 00:33:31,850 --> 00:33:34,460 >> DAVID мала: Гаразд, тепер це одна я зробив заздалегідь. 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 Скажімо, це було Pet Cat. 712 00:33:43,720 --> 00:33:46,600 Давайте тепер відкрити Чи не Pet Cat. 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 SOUND] 716 00:33:51,090 --> 00:33:52,170 >> DAVID мала: Тепер, якщо я погладити кішку 717 00:33:52,170 --> 00:33:55,420 >> [Рев LION'S] 718 00:33:55,420 --> 00:33:57,260 >> DAVID мала: Так насправді не погладити кішку в цьому випадку. 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 на потоки або багатопоточність. 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 >> DAVID мала: Для відтворення звуку Sea Lion, якщо він не відключений, по 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 цей звук Sea Lion. 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 >> [SEA LION SOUND] 772 00:36:30,260 --> 00:36:31,910 >> DAVID мала: В який момент цьому отримати дійсно дратує? 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 Але в цьому випадку, як тільки я Натисніть пробіл, він зупиняється. 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 >> [SEA LION SOUND] 780 00:36:47,851 --> 00:36:49,650 >> DAVID мала: Він збирається забрати , Де він зупинився. 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 Це насправді трохи більше як псевдокод ми грали з по 788 00:37:08,540 --> 00:37:12,230 Середа, в якій він встановлює деякі лічильник, думати про це, як н раз, щоб 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 і знижується до нудоти. 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 Або Drag & Drop знову. 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 Але якщо я просто хочу зробити щось це знову і знову нагадати, що у нас є 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 C, ви робите щось неправильно, швидше за все. 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 Я збираюся йти вперед і натисніть кнопку ОК. 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 Я міг би назвати цю чханні, натисніть кнопку ОК. 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 Я збираюся піти в одну з мої готові файли тут. 893 00:41:29,080 --> 00:41:31,190 І я збираюся йти вперед і відкрити кашель 2. 894 00:41:31,190 --> 00:41:32,220 Ой, що було 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 визначити, скажімо, слово п раз. 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 І кашель [кашель], але кашель, З-О-U-G-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 може параметрізуется функції. 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 Ми можемо насправді є кілька спрайтів взаємодіючих на екрані одночасно. 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 >> [Рев LION'S] 973 00:45:14,490 --> 00:45:17,170 >> DAVID мала: Добре, тепер ми можемо дійсно дати кішці перевагу. 974 00:45:17,170 --> 00:45:18,600 10 кроків за один раз. 975 00:45:18,600 --> 00:45:20,120 >> [Рев LION'S] 976 00:45:20,120 --> 00:45:22,770 >> DAVID мала: Ну, добре, дуже швидко, вона отримує невелику перевагу 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 так помітите, що я синій Маппет натисканні - 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 він збирається сказати, Polo, протягом двох секунд. 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 Якби я зараз дивіться на сайті Маппет, його програма робить це. 1003 00:46:29,800 --> 00:46:35,020 Forever, якщо бар клавіатури простору пригнічений, він збирається сказати, Марко, 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 Він транслюватиметься цитуючи кінець цитати, "подія". 1007 00:46:42,270 --> 00:46:47,540 >> Тим часом, синього людини, нагадаємо, є для прослуховування в лапках, "подія". 1008 00:46:47,540 --> 00:46:50,760 Так чи інакше, в даний час, ми можемо мати два спрайта взаємодіють. 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 >> Отже, дозвольте мені йти вперед і натисніть пробіл. 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 Якщо я зроблю це знову помаранчевий хлопець каже: Марко, синій Хлопець каже поло. 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 >> DAVID мала: Джон. 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 >> DAVID мала: 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 >> DAVID НЕ мала: Мені дуже шкода, немає настільна лампа для вас сьогодні. 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 >> DAVID мала: Просто клавіші зі стрілками. 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 >> DAVID мала: Ми будемо називати їх заохочувальні призи сьогодні, 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 >> А між тим, ми бачили можливість слухати пропусків. 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 що безпека Flash-повідомлення кажуть, ви хочете 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 Тоді я збираюся розповісти Chrome щоб це також. 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 одна з спрайтів, ви можете мати його піти вгору, вниз, вліво, вправо або тому подібне. 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 >> DAVID мала: Для цієї демонстрації, ми збираємося потрібно один доброволець. 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