1 00:00:00,000 --> 00:00:10,980 >> [Музички] 2 00:00:10,980 --> 00:00:13,260 >> -Alright! 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 [Музика - Иги AZALEA, "фенси"] 7 00:00:20,615 --> 00:00:29,925 8 00:00:29,925 --> 00:00:33,570 >> -Мојот Омилен меморија од CS50 беше кога отидов да го мозаик ден. 9 00:00:33,570 --> 00:00:35,797 >> -Probably Само времето поминато работат на проблемот сетови 10 00:00:35,797 --> 00:00:38,630 со моите пријатели и луѓе кои отворена необработвана површина на крајот да стане мојот blockmates. 11 00:00:38,630 --> 00:00:40,421 >> -Мојот Најдобрите меморија од CS50 е Hackathon. 12 00:00:40,421 --> 00:00:41,630 -На CS50 Hackathon. 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 -На Hackathon 17 00:00:43,883 --> 00:00:45,027 -Rob Бауден. 18 00:00:45,027 --> 00:00:46,110 Само сè за него. 19 00:00:46,110 --> 00:00:47,401 >> [Музика - Иги AZALEA, "фенси"] 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 на еден јазол [? во Поврзано?] [? Листа. ?] 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 >> [Музика - Иги AZALEA, "фенси"] 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 >> -Office Часа е многу вашиот пријател. 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 P-сетови на почетокот на неделата. 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 >> -Definitely Се види на шорцеви. 37 00:01:41,430 --> 00:01:42,989 >> -Не Отлагам на вашиот P-комплети. 38 00:01:42,989 --> 00:01:45,780 -Направете сигурни дека ќе најдете голема група на луѓето да работат на P-сетови со. 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 [Музика - Иги AZALEA, "фенси"] 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 [Музика - Иги AZALEA, "фенси"] 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 >> Дејвид Џ MALAN: Значи ова е 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 мозаик ден. 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 туку решавање на проблемите со помош wits и пријатели заедно со вас. 68 00:03:03,780 --> 00:03:06,400 >> Ние ќе биде придружуван од страна на некои на нашите пријатели во Facebook-- 69 00:03:06,400 --> 00:03:08,980 ако here-- регистрирате кои во изминатите неколку години, 70 00:03:08,980 --> 00:03:11,450 има всушност е пишување овие предизвици со нас. 71 00:03:11,450 --> 00:03:14,822 И така, тие ќе бидат оние на крајот трчање мозаик ден. 72 00:03:14,822 --> 00:03:17,530 И така, ќе се соочат со предизвикот со точно видови на нештата 73 00:03:17,530 --> 00:03:20,520 и проблемите со кои луѓе во Фејсбук Како да се размислува за. 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 Ова овде е Ansel Даф, кој е всушност еден 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 Ansel Даф, исто така, бил поранешен Новак advisee на рудникот пред 3 години 81 00:03:40,094 --> 00:03:41,760 и тој, всушност, дури и изградена овој lectern. 82 00:03:41,760 --> 00:03:45,330 Замина за да се направи инженерството и повеќе. 83 00:03:45,330 --> 00:03:49,279 Сега, неговата слика тука е, всушност, Ansel пред 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 Можете да го пополнат со пластична spool кои не се стопи од страна на уред 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-- таму имаме луѓе со iPhone 5, и тука имаме уште две. 108 00:05:06,780 --> 00:05:10,650 109 00:05:10,650 --> 00:05:17,037 >> Сега, да не бидат надминати, CS50 е Ченг Гонг, исто така, е утврдено ова лето 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 печатач, снимен за еден час и пол како дизајн Ansel на печатени. 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 Дејвид Џ MALAN: Тоа не звучи такво нешто во реалноста, 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 >> Право, овој телефон книга ќе тврди имаше околу 1.000 страници. 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 тежок физички, колку пати мислите делат 4 милијарди 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 Тоа е добра алгоритам, daresay. 168 00:08:12,130 --> 00:08:14,480 >> Но, тогаш ние се пресели од тоа да се обиде да го формализира. 169 00:08:14,480 --> 00:08:16,100 И јас предложи оваа pseudocode код. 170 00:08:16,100 --> 00:08:17,800 Pseudocode код не е ништо официјално. 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 Но, она што е клучот за pseudocode код е тоа што 175 00:08:26,990 --> 00:08:30,331 обидете се да се предвиди сите можни случаи тоа може да се случи. 176 00:08:30,331 --> 00:08:33,080 И навистина, во овој pseudocode код, имаше навистина три случаи 177 00:08:33,080 --> 00:08:34,700 секој пат кога ќе се подели на телефонот книга. 178 00:08:34,700 --> 00:08:36,006 Мајк би можеле да бидат на левата страна. 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 и PC софтвер кој ви момци се кандидира 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 од ТЕД, на организацијата. 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 Всушност, ајде да се обидеме да го изразат на малку повеќе формално во pseudocode код. 225 00:10:45,820 --> 00:10:48,940 Англиски како синтаксата што личи на програмскиот јазик. 226 00:10:48,940 --> 00:10:50,880 >> Нека N еднаков 0. 227 00:10:50,880 --> 00:10:55,210 За секое лице во соба, постави n еднаков на n плус 1. 228 00:10:55,210 --> 00:10:56,790 Како да се интерпретираат на pseudocode? 229 00:10:56,790 --> 00:10:59,490 И линија еден изјавува, така да се каже, променлива 230 00:10:59,490 --> 00:11:02,880 наречен n и иницијализира неговата вредност на 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 Повикувајќи ја оваа променлива n е само конвенцијата. 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 Па со pseudocode кодот е вели дека после почеток во 0 243 00:11:35,190 --> 00:11:38,940 за секое лице во соба ќе се зголеми n 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 Во согласност оној што го иницијализирам n на 0. 249 00:11:48,500 --> 00:11:51,910 За секој од овие двајца луѓе, тогаш ние подигање n 1. 250 00:11:51,910 --> 00:11:55,570 Па во првата патување низ јамка, ние ажурирање n од 0 до 1. 251 00:11:55,570 --> 00:11:59,320 На вториот патување низ кои истиот циклус, ние ажурирање n од 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 Во согласност едно, ние повторно се иницијализира n на 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 И така n останува 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 >> Ајде да ги изразат оваа оптимизација во pseudocode код. 271 00:12:44,490 --> 00:12:46,040 Нека N еднаков 0. 272 00:12:46,040 --> 00:12:50,760 За секој пар на луѓето во соба, во собата N еднаква на n плус 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 Во согласност едно, ние се иницијализира n на 0. 280 00:13:05,800 --> 00:13:09,160 Дека еден пар на луѓе, тогаш ние подигање N ЗАБЕЛЕШКА: Со 2. 281 00:13:09,160 --> 00:13:11,910 И така со овој алгоритам крајот n е 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 Во согласност оној што го иницијализирам n на 0. 285 00:13:19,080 --> 00:13:21,260 Како и досега, линија три не сите го изврши 286 00:13:21,260 --> 00:13:25,270 бидејќи не постојат никакви парови на луѓе во соба, и така n останува 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 Ајде да видиме, во согласност една, ние се иницијализира n на 0. 291 00:13:35,710 --> 00:13:39,140 За еден пар од оние луѓе, тогаш ние подигање N ЗАБЕЛЕШКА: Со 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 И така до крајот на овој алгоритам е, n е се уште 2, што не е точно. 296 00:13:48,790 --> 00:13:52,070 Навистина ова алгоритам вели дека биде кабриолет бидејќи има грешка. 297 00:13:52,070 --> 00:13:54,070 >> Ајде надомест со некои нови pseudocode код. 298 00:13:54,070 --> 00:13:56,110 Нека N еднаков 0. 299 00:13:56,110 --> 00:14:00,790 За секој пар на луѓето во соба, во собата N еднаква на n плус 2. 300 00:14:00,790 --> 00:14:05,410 Ако едно лице останува неспарени, постави N еднаква на 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 >> Дејвид Џ MALAN: Значи намерно, многу едноставна програма, 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 и од алгебра, ќе бидете генерално запознаени користејќи x и y 322 00:15:01,040 --> 00:15:02,930 и z, понекогаш, и така натаму. 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 И ако ви кажам нешто како дозволувајте n еднакви 0, 330 00:15:20,310 --> 00:15:24,310 Па тоа е како повик оваа чаша сад тука n, само произволна име, 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, тоа е како да кажеш што е сегашната вредност на n, тоа е 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 И можете да го изразат ова на англиски, или pseudocode код, во било кој број на начини, 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 затоа што тоа го прават од страна на twos сопирачки на крајот бидејќи вашиот случува 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 >> Сега pseudocode код повеќе генерално може да биде 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 >> ANITA: Анита. 380 00:17:36,960 --> 00:17:37,655 >> Дејвид Џ MALAN: Анита. 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: Kiersten 386 00:17:44,800 --> 00:17:46,020 >> Дејвид Џ MALAN: Kiersten. 387 00:17:46,020 --> 00:17:49,790 Kiersten, ајде и исполнат Роб Бауден и Анита. 388 00:17:49,790 --> 00:17:51,036 Убаво да ви се исполнат. 389 00:17:51,036 --> 00:17:52,160 KIERSTEN: Убаво да ви се исполнат. 390 00:17:52,160 --> 00:17:53,368 Дејвид Џ MALAN: Добро, Роб. 391 00:17:53,368 --> 00:17:54,650 ROB BOWDEN: Убаво да ви се исполнат. 392 00:17:54,650 --> 00:17:55,566 Дејвид Џ MALAN: Анита. 393 00:17:55,566 --> 00:17:56,520 KIERSTEN: Здраво Анита. 394 00:17:56,520 --> 00:17:58,686 Дејвид Џ MALAN: И вашите неколку стотици соученици. 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 дозволете ми да оди напред и да почне листа на pseudocode код, ако сакате. 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 во pseudocode, со што овие момци се случува 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 момчиња ", путер од кикирики  Желе ВРЕМЕ "] 410 00:18:47,650 --> 00:19:08,119 411 00:19:08,119 --> 00:19:08,910 Дејвид Џ MALAN: Добро. 412 00:19:08,910 --> 00:19:10,050 Тоа е доволно за тоа. 413 00:19:10,050 --> 00:19:12,690 Значи тука меѓувреме, имам пар на Google очила кои 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 Дејвид Џ MALAN: Отворете го торба леб. 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 Дејвид Џ MALAN: Значи, да работат на тоа. 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 >> Дејвид Џ MALAN: Што е тоа? 444 00:20:27,735 --> 00:20:28,836 >> ПУБЛИКАТА: Отстрани леб. 445 00:20:28,836 --> 00:20:30,210 Дејвид Џ MALAN: Отстрани леб. 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 Дејвид Џ MALAN: Тоа е тоа? 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 >> Дејвид Џ MALAN: Место две парчиња еден до друг. 458 00:21:03,575 --> 00:21:06,420 >> [ПУБЛИКАТА се смее] 459 00:21:06,420 --> 00:21:09,590 >> Дејвид Џ MALAN: Место две парчиња еден до друг. 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 Дејвид Џ MALAN: Што? 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 >> Дејвид Џ MALAN: Стави нежно до путер од кикирики. 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 Дејвид Џ MALAN: Трансферот нож. 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 Дејвид Џ MALAN: Држете нож од страна на рачката. 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 >> Дејвид Џ MALAN: Ставете нож in-- јас слуша "стави нож во путер од кикирики 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 >> Дејвид Џ MALAN: Користење на нож во путер од кикирики, путер од кикирики се применуваат на 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 Дејвид Џ MALAN: Сите вистински чекор 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 Дејвид Џ MALAN: Чекор 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 >> Дејвид Џ MALAN: Внимателно ги собереш желе. 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 >> Дејвид Џ MALAN: Од желе. 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 Дејвид Џ MALAN: И? 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 Дејвид Џ MALAN: Отстрани хартија од желе. 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 >> Дејвид Џ MALAN: Обратен желе шише пред желе паѓа надвор. 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 >> Дејвид Џ MALAN: Замена на капа. 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 Дејвид Џ MALAN: Велат дека повторно. 545 00:24:35,400 --> 00:24:38,100 ПУБЛИКАТА: Земете капа надвор на вашиот желе. 546 00:24:38,100 --> 00:24:39,650 Дејвид Џ MALAN: 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 Дејвид Џ MALAN: Велат дека повторно. 557 00:25:03,930 --> 00:25:05,150 ПУБЛИКАТА: [Беззвучен] 558 00:25:05,150 --> 00:25:07,835 Дејвид Џ MALAN: Врати се step-- 559 00:25:07,835 --> 00:25:10,110 ПУБЛИКАТА: [Беззвучен] 560 00:25:10,110 --> 00:25:13,760 Дејвид Џ MALAN: Отстрани капа од путер од кикирики. 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 >> Дејвид Џ MALAN: Капка сите желе на лебот. 564 00:25:19,040 --> 00:25:25,372 565 00:25:25,372 --> 00:25:26,830 Дејвид Џ MALAN: Ние сме речиси таму. 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 >> Дејвид Џ MALAN: Ха, ха, желе. 569 00:25:31,720 --> 00:25:36,615 >> [Аплауз] 570 00:25:36,615 --> 00:25:39,240 Дејвид Џ MALAN: Зошто не we-- уште еден чекор да се земе овој дом. 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 >> Дејвид Џ MALAN: Додека секој сендвич алинеја remains-- ајде this-- јадат. 575 00:25:50,704 --> 00:25:56,400 >> [ПУБЛИКАТА Смеа] 576 00:25:56,400 --> 00:26:00,395 >> Дејвид Џ MALAN: Во ред, фала да се нашите волонтери тука. 577 00:26:00,395 --> 00:26:06,150 >> [Аплауз} 578 00:26:06,150 --> 00:26:08,940 >> Дејвид Џ MALAN: Имаме некои убави разделба подароци за секој од вас. 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 >> KIERSTEN: Ви благодариме. 582 00:26:17,118 --> 00:26:18,618 Дејвид Џ MALAN: [Беззвучен] добредојдени. 583 00:26:18,618 --> 00:26:21,849 [Аплауз] 584 00:26:21,849 --> 00:26:24,390 Дејвид Џ MALAN: Значи, ова е, Се разбира, смешно пример. 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 не е во pseudocode код, Англиски како синтаксата, 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 или Јава или 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 загради и наводници и semicolons. 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 може да има многу такви sprites, или знаци, во програма. 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 И ова е само категоризација на here-- 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 или условите што видовме, и дури и looping конструкција. 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 А тоа е затоа МИТ луѓе одлучија дека со визуелно пренесување форми, 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 и вели дека она што means-- ако ова Вистина е, го направите ова, друго, ако на друго место. 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 Сум име мојата променлива n, но јас би можеле да ја нарекуваат нешто што сакам, 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 >> ABBY: Ејби. 791 00:35:30,635 --> 00:35:32,010 Дејвид Џ MALAN: препријатието, ајде нагоре. 792 00:35:32,010 --> 00:35:35,930 Значи Дали некогаш сте играно оваа игра и пред тоа? 793 00:35:35,930 --> 00:35:36,430 ABBY: Не 794 00:35:36,430 --> 00:35:37,370 Дејвид Џ MALAN: Во ред. 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 >> ABBY: Научив некои С ++. 799 00:35:43,914 --> 00:35:45,580 Дејвид Џ MALAN: Вие сте научиле некои С ++. 800 00:35:45,580 --> 00:35:48,382 И она што е вашата игра игра позадина? 801 00:35:48,382 --> 00:35:49,505 >> ABBY: Не многу. 802 00:35:49,505 --> 00:35:51,130 Дејвид Џ MALAN: Добро, па ние ќе се земе дека. 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 Така одат напред и хит на spacebar. 809 00:36:03,680 --> 00:36:05,507 >> Компјутерска игра: Pikachu. 810 00:36:05,507 --> 00:36:08,340 Дејвид Џ MALAN: А целта е да се фати на храната, како што е прикажано постојат 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 >> [Game музички] 814 00:36:15,356 --> 00:36:27,280 815 00:36:27,280 --> 00:36:29,610 >> Дејвид Џ MALAN: Aww, добро, Ви благодариме за играње. 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 >> Дејвид Џ MALAN: Филип. 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 наречен Најтешко игра на Ivy. 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 >> Дејвид Џ MALAN: Добро. 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 Дејвид Џ MALAN: Сите право, па тука ќе одиме. 841 00:37:16,438 --> 00:37:18,434 Одам да одиме напред и кликнете на зеленото знаме. 842 00:37:18,434 --> 00:37:24,160 >> [Game МУЗИКА] 843 00:37:24,160 --> 00:37:27,770 >> [МУЗИКА MC Hammer, "У НЕ допирајте го овој"] 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 Дејвид Џ MALAN: [Беззвучен] 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, "У НЕ допирајте го овој"] 850 00:38:50,680 --> 00:38:52,660 Дејвид Џ MALAN: [Беззвучен] Ора низ него. 851 00:38:52,660 --> 00:38:54,094 Филип: [Беззвучен] 852 00:38:54,094 --> 00:38:55,135 Дејвид Џ MALAN: Оди напред. 853 00:38:55,135 --> 00:39:01,570 [МУЗИКА MC Hammer, "У НЕ допирајте го овој"] 854 00:39:01,570 --> 00:39:15,832 855 00:39:15,832 --> 00:39:16,915 Дејвид Џ MALAN: Во ред. 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 >> Дејвид Џ MALAN: Ние ќе мислење дека онлајн подоцна, па 859 00:39:27,330 --> 00:39:29,820 дека можете да отлагам со тоа како добро. 860 00:39:29,820 --> 00:39:32,550 Принстон доаѓа следно, после тоа. 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 Но, сите што го направив беше да одам на менито File и јас 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 но ајде да направиме нешто малку cuter. 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 Ако одам во "податоци" - дозволете ми да зумирате in-- има нешто во врска променливи. 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 >> Па ајде да се направи нешто како ова ", играат звук meow". 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 Дејвид Џ MALAN: Ете го. 909 00:41:29,510 --> 00:41:30,280 [Meow] 910 00:41:30,280 --> 00:41:31,690 Дејвид Џ MALAN: Повторно. 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 Дејвид Џ MALAN: Значи, ако сте некогаш играл игра, се разбира, 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 Дозволете ми да оди напред и да велат дека "играат звук meow". 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 Дејвид Џ MALAN: Јас сум буквално тоа засекогаш. 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 Па, сега, зошто не го правиме нешто малку cuter? 940 00:42:34,962 --> 00:42:39,680 Наместо да стори сé што е од нула, дозволете ми да оди напред и да се отвори аванс 941 00:42:39,680 --> 00:42:43,180 направи едно, дека јас пре-печен, наречен "Пет на САТ." 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 >> [ПУБЛИКАТА CHATTER] 951 00:43:06,910 --> 00:43:09,960 >> Дејвид Џ MALAN: Ако миленичиња на маче, мачка ќе meow, нели? 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 >> [ПУБЛИКАТА CHATTER] 968 00:43:57,230 --> 00:43:58,130 >> Дејвид Џ MALAN: Да миленичиња мачката. 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 >> Дејвид Џ MALAN: Значи сега Јас сум фаќање на мачка. 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 >> Дејвид Џ MALAN: Cat е слатко, голема старото време. 979 00:44:23,900 --> 00:44:26,690 Но оваа програма е, се разбира наречена "Не ПЕТ на мачка" 980 00:44:26,690 --> 00:44:29,350 толку јасно, сакам да миленичиња мачката. 981 00:44:29,350 --> 00:44:30,490 >> [Громогласен] 982 00:44:30,490 --> 00:44:31,940 >> Дејвид Џ MALAN: Не миленичиња мачката. 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 >> [ПЕЧАТ лаење] 987 00:44:41,401 --> 00:44:43,942 Дејвид Џ MALAN: Многу лесно да се пишува досадни гребење програми. 988 00:44:43,942 --> 00:44:45,300 [ПЕЧАТ лаење] 989 00:44:45,300 --> 00:44:48,540 Дејвид Џ MALAN: Сега ние нема да во големи детали и со сите овие, 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 дека ако ова момче добива премногу досадни, Јас може да го погоди на spacebar и застанува. 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 Другиот е само чека за мене да се погоди на spacebar. 997 00:45:11,305 --> 00:45:14,780 И ако го направам хит на spacebar, тоа се случува да се промени 998 00:45:14,780 --> 00:45:18,096 државата на оваа променлива, вредноста на оваа променлива, тоа е очигледно 999 00:45:18,096 --> 00:45:20,470 наречен "пригушени," Јас не се јават тоа нешто досадно како N, 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 [ПЕЧАТ лаење] 1008 00:45:38,650 --> 00:45:40,566 Дејвид Џ MALAN: И сега тој е на пат повторно. 1009 00:45:40,566 --> 00:45:41,640 [ПЕЧАТ лаење] 1010 00:45:41,640 --> 00:45:45,220 Дејвид Џ MALAN: Па што друго може да правиме со овие примери? 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 Откако јас хит игра here-- О, не, ова е досадно. 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 >> [Овци BLEETING] 1018 00:46:15,221 --> 00:46:18,470 Дејвид Џ MALAN: Единствената разлика е ние сме промени костим, така да се каже, 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 можете да имате две sprites, птица во мачка, од кои секоја има свои скрипта. 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 но види што се случува кога I-- Гледајте што 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 Криптичната. 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 во мрежата овде, каде што локалните уредот надолу here-- 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 Тој направи повеќе sprites, секоја од која има скрипта чекаат за клик. 1067 00:48:42,210 --> 00:48:44,030 И ако јас кликнете на црвено, тоа оди црвено. 1068 00:48:44,030 --> 00:48:46,780 Ако добијам сино, тоа оди blueish. 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-- семестар е тој reimplemented бинарни светилки користење 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 Чан, кој водичи повеќето од нашите walkthroughs. 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, "Што значи лисицата кажам?] 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 Мачка оди meow. 1109 00:50:43,650 --> 00:50:47,520 Птица оди чуруликам и глувче оди квичат. 1110 00:50:47,520 --> 00:50:49,240 Крава оди moo. 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 Патки велат шарлатански и риба одат Blub. 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 >> Дејвид Џ MALAN: Тоа е тоа за 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 Farnham. 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