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