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 та натисніть Enter. 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