1 00:00:08,483 --> 00:00:11,477 [Powered by Google Translate] [ROCK MUSIC] 2 00:00:32,435 --> 00:00:35,429 [MUSIC - "Шчаслівыя разам" Чарапахі] 3 00:01:27,330 --> 00:01:30,170 DAVID малая: Сёння мы пачнем наша даследаванне 4 00:01:30,170 --> 00:01:32,710 Асновы інфарматыкі і наша ўвядзенне, 5 00:01:32,710 --> 00:01:35,070 Зараз, у мастацтве праграмавання, якія, які 6 00:01:35,070 --> 00:01:36,260 Толькі адзін прыклад. 7 00:01:36,260 --> 00:01:39,600 Але ў тым жа духу вырашэння праблемы, ведаем, што 8 00:01:39,600 --> 00:01:42,080 Традыцыйны Дзень Puzzle CS50 з'яўляецца заўтра. 9 00:01:42,080 --> 00:01:45,190 Калі вы яшчэ не RSVPed да гэтай падзеі, вы можаце пайсці ў 10 00:01:45,190 --> 00:01:47,510 cs50.net/rsvp. 11 00:01:47,510 --> 00:01:50,940 Вы можаце прынесці каманды з двух, трох ці чатырох. 12 00:01:50,940 --> 00:01:53,080 Вам будзе аспрэчана з праблемамі, як той, які вы бачылі 13 00:01:53,080 --> 00:01:54,190 там у самым пачатку. 14 00:01:54,190 --> 00:01:57,000 Усе новыя праблемы ў гэтым годзе, калі вы прынялі ўдзел у мінулым годзе, і вы 15 00:01:57,000 --> 00:01:59,680 будуць мець магчымасць для таго, каб выйграць некаторыя казачныя прызы. 16 00:01:59,680 --> 00:02:02,750 Сярод іх, Wii і некаторыя падарункавыя сертыфікаты і да т.п., 17 00:02:02,750 --> 00:02:05,650 Усё тое час, балты з CS50 студэнтаў і аднакласнікаў 18 00:02:05,650 --> 00:02:07,720 і піцу і Facebook. 19 00:02:07,720 --> 00:02:10,430 Так пра гэта заўтра, калі вы хацелі б. 20 00:02:10,430 --> 00:02:13,330 >> У гэтым і складаецца CS50, для тых з вас далучыцца да нас для 21 00:02:13,330 --> 00:02:14,510 першы раз. 22 00:02:14,510 --> 00:02:18,030 І ведайце, што гэты курс асабліва маюць намер атрымаць 23 00:02:18,030 --> 00:02:22,605 Вас праз гэты курс, каб яе канчатковая мэта, у які момант вы 24 00:02:22,605 --> 00:02:24,270 будзе мець не толькі разуменне гэтых 25 00:02:24,270 --> 00:02:26,450 Асновы інфарматыкі, але вы павінны будзеце 26 00:02:26,450 --> 00:02:29,120 гэта вельмі практычны набор навыкаў, якія затым можна забраць у 27 00:02:29,120 --> 00:02:31,370 уласны аддзел, няхай гэта будзе тэхнічных навук, 28 00:02:31,370 --> 00:02:33,570 прыкладная матэматыка, натуральныя навукі, натуральныя 29 00:02:33,570 --> 00:02:34,780 навука, ці таму падобнае. 30 00:02:34,780 --> 00:02:37,030 Сапраўды, тое, што так выдатна аб кампутарнай навуцы гэтыя 31 00:02:37,030 --> 00:02:39,900 дзён у тым, што гэта менавіта так, прыдатныя да 32 00:02:39,900 --> 00:02:40,990 ўсе віды палёў. 33 00:02:40,990 --> 00:02:46,210 І хоць сёння, мы будзем толькі падрапаць паверхню 34 00:02:46,210 --> 00:02:49,020 вельмі традыцыйны мова праграмавання, вядомай як C, мы будзем 35 00:02:49,020 --> 00:02:51,040 Замест глядзець на тое, што называецца Scratch, нешта з 36 00:02:51,040 --> 00:02:53,420 якіх гэтая гісторыя печыва любоў была рэалізавана адна з вашых 37 00:02:53,420 --> 00:02:57,020 папярэднікаў ў мінулыя гады, каб распавядаць гісторыі, ствараць гульні, 38 00:02:57,020 --> 00:03:00,060 для стварэння інтэрактыўнага мастацтва, і фактычна пачаць, каб абгарнуць наш 39 00:03:00,060 --> 00:03:02,240 розумаў вакол некаторых з фундаментальных канструкцый, 40 00:03:02,240 --> 00:03:05,390 ляжаць у аснове праграм, але ў кантэксце, як вы ўбачыце, што гэта 41 00:03:05,390 --> 00:03:09,140 значна менш страшна, што нашмат менш таямніцай, чым вы ўбачыце 42 00:03:09,140 --> 00:03:10,140 ў хуткім часе. 43 00:03:10,140 --> 00:03:12,410 І разумею, таксама, для тых з вас толькі што далучыліся да нас гэтая 44 00:03:12,410 --> 00:03:16,170 семестра, фразы, па якіх мы скончылі лекцыю ў сераду, 45 00:03:16,170 --> 00:03:20,260 гэта не так важна, дзе вы ў канчатковым выніку па адносінах да вашага 46 00:03:20,260 --> 00:03:22,950 Аднакласнікі ў гэтым класе, але дзе вы, да канца семестра 47 00:03:22,950 --> 00:03:27,190 У тыдзень 11, у канчатковым выніку ў адносінах да сябе прама ў той жа дзень. 48 00:03:27,190 --> 00:03:32,000 >> Такім чынам, без далейшых цырымоній, гэта таксама варта адзначыць, што 49 00:03:32,000 --> 00:03:34,450 тых, хто меней зручныя, тыя дзесьці паміж імі, з'яўляюцца 50 00:03:34,450 --> 00:03:36,825 Акрамя таго, у канструкцыі гэтага, вядома, не ў любой недахоп 51 00:03:36,825 --> 00:03:38,760 VIS-A-VIS тым больш зручнымі 52 00:03:38,760 --> 00:03:39,920 ўступленне ў гэтым класе. 53 00:03:39,920 --> 00:03:41,810 Як вы ўбачыце на працягу тыдня, каб прыбыць, у нас розныя 54 00:03:41,810 --> 00:03:44,600 трэкаў для розных задні фон, часткі для тых, 55 00:03:44,600 --> 00:03:46,500 менш камфортна, больш зручныя, тыя, дзесьці 56 00:03:46,500 --> 00:03:47,250 паміж імі. 57 00:03:47,250 --> 00:03:49,520 Як вы ўбачыце ў гэтыя выхадныя і на наступным тыдні, дзве версіі 58 00:03:49,520 --> 00:03:52,410 Найбольш праблема набору ў стандартным выданні і хакерскіх так 59 00:03:52,410 --> 00:03:55,390 што вы ўсё можаце самастойна абраць па шляху, з якім вы 60 00:03:55,390 --> 00:03:56,615 Найбольш зручнымі. 61 00:03:56,615 --> 00:03:58,770 >> Такім чынам, сёння мы паглыбімся ў гэтую праграмаванні 62 00:03:58,770 --> 00:04:00,060 мову пад назвай Scratch. 63 00:04:00,060 --> 00:04:02,250 Гэта графічны мова праграмавання, і ўсё ж яна мае 64 00:04:02,250 --> 00:04:04,500 ж функцыі, некаторыя з моў высокага ўзроўню мы будзем 65 00:04:04,500 --> 00:04:07,050 даследаваць пазней у семестр, у тым ліку і C 66 00:04:07,050 --> 00:04:08,670 JavaScript і PHP. 67 00:04:08,670 --> 00:04:11,890 Але гэта адбываецца, каб дазволіць нам пазбегнуць некаторых адцягваюць 68 00:04:11,890 --> 00:04:14,890 на ранняй стадыі сінтаксісу, такія рэчы, як кропка з коскі, дужкі, 69 00:04:14,890 --> 00:04:17,720 і іншыя таемныя дэталі, якія, на першы погляд, проста не 70 00:04:17,720 --> 00:04:19,916 на ўсіх інтэлектуальна цікавая і, як правіла, атрымліваюць у 71 00:04:19,916 --> 00:04:22,310 шлях ад некаторых фундаментальных разумення. 72 00:04:22,310 --> 00:04:24,870 З пункту гледжання зараз структура падтрымкі наперад, зразумеў, што гэта 73 00:04:24,870 --> 00:04:27,570 Інструмент, CS50 Абмеркаваць, які будзе звязаны з курсу 74 00:04:27,570 --> 00:04:30,320 сайт пазней сёння, з'яўляецца інтэрнэт-форуме абмеркавання ў 75 00:04:30,320 --> 00:04:32,480 якіх вы зможаце задаваць пытанні адзін аднаму і 76 00:04:32,480 --> 00:04:35,020 персаналу, і гэта таксама інструмент, як мы ўбачым на наступным тыдні, 77 00:04:35,020 --> 00:04:37,240 якія мы будзем выкарыстоўваць даволі integratedly ў 78 00:04:37,240 --> 00:04:38,780 працоўны час, а таксама. 79 00:04:38,780 --> 00:04:41,670 Сапраўды, гадзіны працы пачнуцца ў панядзелак, і, шчыра кажучы, першы 80 00:04:41,670 --> 00:04:43,930 тыдзень у непрацоўны час даволі нізкі ключ. 81 00:04:43,930 --> 00:04:46,820 >> Я не думаю, што вы знойдзеце драпіна усё, што даступна. 82 00:04:46,820 --> 00:04:48,930 Гэта даволі відавочныя, як мы ўбачым, і так, што 83 00:04:48,930 --> 00:04:51,380 мы будзем выкарыстоўваць гэта на сённяшні дзень з'яўляецца выманне некаторых з 84 00:04:51,380 --> 00:04:53,990 Асноўныя ідэі, якія, затым, захоўваюцца на працягу ўсёй 85 00:04:53,990 --> 00:04:54,900 Астатняя частка семестра. 86 00:04:54,900 --> 00:04:57,980 Але, пачынаючы з панядзелка, ў 8:00 вечара па 11:00 вечара будзе 87 00:04:57,980 --> 00:05:01,530 Прыёмныя гадзіны ў Annenberg над мозгам перапынку. 88 00:05:01,530 --> 00:05:04,490 Секционирование 2 пачнецца гэтым вечарам, так што ўжо ў гэтым 89 00:05:04,490 --> 00:05:07,260 выходныя, перайдзіце на cs50.net/section, і вы будзеце 90 00:05:07,260 --> 00:05:08,530 быць зададзены шэраг пытанняў. 91 00:05:08,530 --> 00:05:10,290 Сярод іх, як бы вы апісалі вашу 92 00:05:10,290 --> 00:05:12,040 ўзровень камфорту на сённяшні дзень? 93 00:05:12,040 --> 00:05:14,450 Там няма жорсткага, хуткага правілы адносна таго, хто, у якім вядро. 94 00:05:14,450 --> 00:05:17,170 Гэта проста такая штука, што вы, верагодна, ведаеце, калі вы 95 00:05:17,170 --> 00:05:20,280 Сярод тых, хто менш камфортна ці не. 96 00:05:20,280 --> 00:05:21,350 >> І цяпер, пакрокавыя кіраўніцтва. 97 00:05:21,350 --> 00:05:24,020 Спецыфікацыя праблема набору на гэтым тыдні, як стандартных, 98 00:05:24,020 --> 00:05:28,560 і хакерскіх выданні, так, цяпер на cs50.net як цяпер. 99 00:05:28,560 --> 00:05:31,500 І вы ўбачыце, што першы з гэтых выданняў, 100 00:05:31,500 --> 00:05:33,940 Standard Edition кожны тыдзень, суправаджаюцца тое, што мы 101 00:05:33,940 --> 00:05:36,550 тэлефануйце код кіраўніцтве сесіі на чале з адным з 102 00:05:36,550 --> 00:05:39,100 выкладанні курсу стыпендыятаў для Вас праз, забяспечваюць 103 00:05:39,100 --> 00:05:42,290 Саветы па, і вы атрымаеце ўніз, асаблівы шлях, калі гаворка ідзе 104 00:05:42,290 --> 00:05:44,150 для пачатку гэтыя праблемы мностваў. 105 00:05:44,150 --> 00:05:46,790 Такім чынам, з кожнай з гэтых праблемных устанаўлівае, калі вы ніколі не жадаючых 106 00:05:46,790 --> 00:05:50,250 для сябе, дзе я магу пачаць, вы пачынаеце з гэтым 107 00:05:50,250 --> 00:05:50,890 пакрокавыя кіраўніцтва. 108 00:05:50,890 --> 00:05:53,450 І на самай справе, дазвольце мне прадставіць Zamyla Чан, гэта 109 00:05:53,450 --> 00:05:55,870 выкладанне годзе чалавек, які будзе кіраваць кожным 110 00:05:55,870 --> 00:05:56,910 аднаго з гэтых мінанняў. 111 00:05:56,910 --> 00:05:57,961 Zamyla? 112 00:05:57,961 --> 00:06:03,370 >> [Апладысменты] 113 00:06:03,370 --> 00:06:03,975 ZAMYLA CHAN: О, прывітанне, усім. 114 00:06:03,975 --> 00:06:05,130 Мяне клічуць Zamyla. 115 00:06:05,130 --> 00:06:08,250 Я малодшы вучыўся на інжынера ў Winthrop дома. 116 00:06:08,250 --> 00:06:10,890 Але я стараюся і ўсталяваць за многія камп'ютэрныя навукі курсы, як я 117 00:06:10,890 --> 00:06:13,350 можа, менавіта таму я вельмі рады быць вядучым гэтага 118 00:06:13,350 --> 00:06:14,590 год пакрокавыя кіраўніцтва. 119 00:06:14,590 --> 00:06:16,950 Праходжання, для мяне былі неад'емнай часткай маёй CS50 120 00:06:16,950 --> 00:06:17,910 вопыт. 121 00:06:17,910 --> 00:06:22,710 У кіраўніцтве для кожнай р-мноства, мы пройдзем 122 00:06:22,710 --> 00:06:25,580 Праблема устаноўлены разам, глядзець на праблемы, выгляд 123 00:06:25,580 --> 00:06:27,360 падзяліць іх на кіраваныя укусаў. 124 00:06:27,360 --> 00:06:28,990 Я дам вам парады, метады, для атрымання 125 00:06:28,990 --> 00:06:30,820 да канца і прыступіць да працы. 126 00:06:30,820 --> 00:06:33,510 Я спадзяюся, што ўбачу ўсіх вас на пакрокавыя кіраўніцтва. 127 00:06:33,510 --> 00:06:34,720 Калі вы не можаце зрабіць гэта ў твар, то 128 00:06:34,720 --> 00:06:36,580 калі ласка, мелодыю ў Інтэрнэце. 129 00:06:36,580 --> 00:06:36,840 >> DAVID малая: Выдатна. 130 00:06:36,840 --> 00:06:37,950 Дзякуй, Zamyla. 131 00:06:37,950 --> 00:06:40,870 Так разумею, што пакрокавых кіраўніцтваў, сапраўды, у пятніцу 132 00:06:40,870 --> 00:06:43,110 днём, але гэта наўмысна дызайну, так што 133 00:06:43,110 --> 00:06:45,750 нават калі вы не жадаеце наведваць заняткі ў пятніцу 134 00:06:45,750 --> 00:06:48,490 Днём, відэа будзе ўсё хутчэй больш 135 00:06:48,490 --> 00:06:48,990 у выхадныя дні. 136 00:06:48,990 --> 00:06:51,880 Так разумею, што cs50.net будзе ўсё ў Zamyla 137 00:06:51,880 --> 00:06:53,130 пакрокавыя кіраўніцтва. 138 00:06:54,800 --> 00:06:56,890 І што ёсць сённяшняя дата і час, 3:00 PM 139 00:06:56,890 --> 00:06:58,370 Harberd Hall, 104. 140 00:06:58,370 --> 00:07:00,080 І некаторыя з навучанні стыпендыятаў таксама падрыхтавалі 141 00:07:00,080 --> 00:07:03,250 некаторыя заўвагі для вас завочна, каб даць вам крыху 142 00:07:03,250 --> 00:07:06,760 пункту гледжання аб тым, што іх вопыт і ўступленне ў 143 00:07:06,760 --> 00:07:08,990 выходзячы з CS50 быў. 144 00:07:08,990 --> 00:07:11,250 Такім чынам, калі мы маглі б цьмяны святло на імгненне, я даю вам 145 00:07:11,250 --> 00:07:18,100 Некаторыя з супрацоўнікаў CS50 ст. 146 00:07:18,100 --> 00:07:20,440 >> JACKSON Steinkamp: Я ўзяў CS50 ў мінулым годзе, на першым курсе ў 147 00:07:20,440 --> 00:07:22,880 ўпасці, і гэта абсалютна падарваў мой розум. 148 00:07:22,880 --> 00:07:25,090 Я ніколі не прымаў ніякага праграмавання класаў і раней, 149 00:07:25,090 --> 00:07:26,380 і ніколі не вярнуўся з любога кампутара навукі 150 00:07:26,380 --> 00:07:27,320 вопыту. 151 00:07:27,320 --> 00:07:29,240 І толькі я пачуў шум з нагоды класа і 152 00:07:29,240 --> 00:07:30,050 вырашыў прыняць яго. 153 00:07:30,050 --> 00:07:31,780 >> JULIA Мительман: Гэта было сапраўды весела, вельмі цікавым. 154 00:07:31,780 --> 00:07:33,480 Я да гэтага часу, і па гэты дзень - 155 00:07:33,480 --> 00:07:36,560 Я толькі нядаўна ўбачыла ў мяне ёсць дыскета, што Давід даў нам 156 00:07:36,560 --> 00:07:38,140 на наш першы дзень лекцый. 157 00:07:38,140 --> 00:07:40,020 Я павесіў яго на сцяну. 158 00:07:40,020 --> 00:07:42,410 Гэта, напэўна, крыху тармазной, але я вісеў на маёй 159 00:07:42,410 --> 00:07:46,930 сцены ў класе ў якасці напамінку аб тым, як халаднавата было. 160 00:07:46,930 --> 00:07:49,240 >> TRAVIS DOWNS: Гэта так няёмка. 161 00:07:49,240 --> 00:07:50,770 >> JACKSON Steinkamp: Кампутарныя навукі з'яўляецца тое, што вы 162 00:07:50,770 --> 00:07:52,370 павінны паспрабаваць, нават калі вы не з тых, 163 00:07:52,370 --> 00:07:54,980 традыцыйнай навукі. 164 00:07:54,980 --> 00:07:58,510 Гэта ўласны вопыт, і CS50 будзе пераканацца, што вы 165 00:07:58,510 --> 00:08:01,520 падтрымліваецца таксама праз яго з яго цэлая армія TFS. 166 00:08:01,520 --> 00:08:03,700 >> ALI нама: Я прыняў гэта як на першым курсе, і таму я зрабіў шмат 167 00:08:03,700 --> 00:08:04,215 новых сяброў. 168 00:08:04,215 --> 00:08:07,170 Я таксама пазнаёміўся з гэтым усё канцэнтрацыю і 169 00:08:07,170 --> 00:08:10,770 Увесь інжынернай школе, і я вельмі рэкамендую яго 170 00:08:10,770 --> 00:08:14,360 і вітаць Вас на нашым CS50 сям'і. 171 00:08:14,360 --> 00:08:17,510 >> Янив YACOBY: CS50 толькі навучыць вас, як выкарыстоўваць інструменты 172 00:08:17,510 --> 00:08:19,210 , Якія з'яўляюцца шырока даступнымі. 173 00:08:19,210 --> 00:08:21,840 Вам проста патрэбен ноўтбук, неабходна вэб-браўзэр, і вы 174 00:08:21,840 --> 00:08:26,030 трэба навучыцца пісаць код, і вы сапраўды можаце пабудаваць 175 00:08:26,030 --> 00:08:27,400 акуратныя рэчы. 176 00:08:27,400 --> 00:08:31,660 >> KAREN XIAO: Гэта так выдатна мець магчымасць зрабіць нешта 177 00:08:31,660 --> 00:08:34,580 і ёсць людзі выкарыстоўваюць яго, а людзі гэта бачаць, і гэта 178 00:08:34,580 --> 00:08:35,900 Што я сапраўды люблю пра гэта. 179 00:08:35,900 --> 00:08:37,429 >> Цім Маклафлін: - пачуццё агульнасці, я думаю, у гэтым 180 00:08:37,429 --> 00:08:39,470 вядома, больш, чым любы іншы курс я ўзяў да гэтага часу. 181 00:08:39,470 --> 00:08:41,350 Вы не проста з другога - 182 00:08:41,350 --> 00:08:42,740 Вы не запаўненнем іншым патрабаванням. 183 00:08:42,740 --> 00:08:45,310 Вы не проста збіраецца лекцыі і збіраецца раздзеле. 184 00:08:45,310 --> 00:08:49,630 Але вы робіце тоны рэчаў, якія ўсё 185 00:08:49,630 --> 00:08:51,560 праграмаванне і ўсё аб тэхналогіі, але гэта не 186 00:08:51,560 --> 00:08:53,090 сапраўды адчуваю, што клас вялікую частку часу. 187 00:08:53,090 --> 00:08:55,012 >> TRAVIS DOWNS: І ў першы дзень, яны раздалі торт, і 188 00:08:55,012 --> 00:08:56,215 Я быў імгненна распрададзены. 189 00:08:56,215 --> 00:08:57,822 >> JACOB PRITT: Бесплатные прысмакі і піцу. 190 00:08:57,822 --> 00:08:59,820 >> ZAMYLA CHAN: - незалежна ад вашых інтарэсаў узроўні, я думаю, 191 00:08:59,820 --> 00:09:05,170 што CS50, вы будзеце мець задавальненне, і вы будзеце інтэлектуальна 192 00:09:05,170 --> 00:09:06,070 стымулюецца. 193 00:09:06,070 --> 00:09:07,926 >> MARK GROZEN-Сміт: Гэта заўсёды вечарыне ў класе, і гэта 194 00:09:07,926 --> 00:09:09,990 вечарынка кожную ноч працуюць над вашым р-мноства. 195 00:09:09,990 --> 00:09:11,880 >> JACKSON Steinkamp: Кожны раз, калі вы скончыце праблема набору, вы 196 00:09:11,880 --> 00:09:13,710 будзе адчуваць сябе, як вы скончылі праект. 197 00:09:13,710 --> 00:09:16,580 >> MELISSA NIU: Гэта быў першы год, і я зрабіў пакупкі. 198 00:09:16,580 --> 00:09:19,030 У мяне былі чатыры класа гатовыя, і я быў у Annenberg. 199 00:09:19,030 --> 00:09:21,670 І я натрапіць на аднаго, і ён кажа, эй, я раблю пакупкі 200 00:09:21,670 --> 00:09:24,330 гэтага класа называюць CS50, і вы павінны пайсці са мной. 201 00:09:24,330 --> 00:09:28,150 Скончылася тым, што, што восень, а пасля гэтага класа, я 202 00:09:28,150 --> 00:09:30,510 падумаў, што я збіраюся непаўналетняга ў CS. 203 00:09:30,510 --> 00:09:33,760 Але вось я, праз тры гады, яшчэ вучачыся кампутара 204 00:09:33,760 --> 00:09:36,680 навука і фактычна робяць гэта ў якасці асноўнай, і я любіў кожную 205 00:09:36,680 --> 00:09:37,780 Момант яго. 206 00:09:37,780 --> 00:09:39,030 >> ROB Боуден: я паняцця не маю. 207 00:09:46,408 --> 00:09:48,060 >> ALI нама: Давайце паглядзім. 208 00:09:48,060 --> 00:09:49,200 >> MELISSA NIU: Вар'яцтва. 209 00:09:49,200 --> 00:09:50,610 >> Выступоўца 1: Я адчуваю, што я быў бы вельмі клішэ. 210 00:09:50,610 --> 00:09:52,530 Я проста кажу, быццам бы, дзіўны. 211 00:09:52,530 --> 00:09:53,540 >> Янив YACOBY: Даступнасць. 212 00:09:53,540 --> 00:09:55,080 >> JACOB PRITT: Бесплатные прысмакі і піцу. 213 00:09:55,080 --> 00:09:57,310 >> TRAVIS DOWNS: Не магу адмовіць класа, які раздае торт. 214 00:09:57,310 --> 00:09:58,510 >> Цім Маклафлін: Энергетыка. 215 00:09:58,510 --> 00:10:00,040 >> Vipul Шехават: Essential. 216 00:10:00,040 --> 00:10:02,636 >> ROB Боуден: Дазвольце мне прыдумаць адказ. 217 00:10:02,636 --> 00:10:04,480 Я думаю, што ёсць нешта. 218 00:10:04,480 --> 00:10:07,092 О, божа. 219 00:10:07,092 --> 00:10:13,370 Так, Роб мяне завуць Боуден, і гэта CS50. 220 00:10:13,370 --> 00:10:16,340 >> [Апладысменты] 221 00:10:20,810 --> 00:10:23,390 DAVID малая: Добра, давайце пачнем маляваць карціну 222 00:10:23,390 --> 00:10:26,230 напрамкі, у якіх мы можам пайсці, і давайце пазнаёмімся 223 00:10:26,230 --> 00:10:28,190 гэтая канцэпцыя вядомая як тут псевдокод. 224 00:10:28,190 --> 00:10:29,560 Так псевдокоде гэта не праграмаванне 225 00:10:29,560 --> 00:10:30,810 Мова сам па сабе. 226 00:10:30,810 --> 00:10:33,250 У гэтым няма нічога тэхнічных сама па сабе, але гэта ўсяго толькі свайго роду 227 00:10:33,250 --> 00:10:36,490 агульны спосаб выказаць сябе даволі дакладна, 228 00:10:36,490 --> 00:10:39,730 алгарытмічных даволі, даволі працэдурна, але без 229 00:10:39,730 --> 00:10:42,570 турбуючыся аб тым, якую мову вы выражэнні 230 00:10:42,570 --> 00:10:43,150 сябе цалі 231 00:10:43,150 --> 00:10:46,280 Гэта некаторыя мадэлі англійскай мовы і моў праграмавання з 232 00:10:46,280 --> 00:10:48,790 якое вам пашчасціла быць знаёмым, так што мы можам пачаць 233 00:10:48,790 --> 00:10:50,600 напісанне такога роду рэчы, як мы ідзем. 234 00:10:50,600 --> 00:10:54,450 І на самай справе, Іосіф, я магу пазычыць вам на сцэну, каб быць 235 00:10:54,450 --> 00:10:55,490 пісец тут? 236 00:10:55,490 --> 00:11:00,130 Я пайшоў наперад тут загадзя і забыўся надзець 237 00:11:00,130 --> 00:11:02,920 на некаторых шкарпэтак сёння, і гэта будзе сярод нашых больш 238 00:11:02,920 --> 00:11:03,780 смешныя прыклады. 239 00:11:03,780 --> 00:11:04,580 >> Цяпер, ты мне патрэбен тут. 240 00:11:04,580 --> 00:11:05,630 Я зраблю шкарпэткі частку. 241 00:11:05,630 --> 00:11:08,040 Такім чынам, у нас ёсць трохі нататніка. 242 00:11:08,040 --> 00:11:09,940 Гэта літаральна TextEdit ў Mac. 243 00:11:09,940 --> 00:11:12,270 Мы на самай справе не збіраўся напісаць праграму якая працуе, але 244 00:11:12,270 --> 00:11:14,220 мы толькі збіраемся пачаць накідваць на аснове псевдокод 245 00:11:14,220 --> 00:11:17,830 па некаторых парадаў вы дае мяне тут. 246 00:11:17,830 --> 00:11:20,760 Дык вось мой кучу шкарпэтак дома. 247 00:11:20,760 --> 00:11:23,320 У мяне няма шкарпэтак, калі я прачынаюся раніцай, і мы зараз 248 00:11:23,320 --> 00:11:26,280 трэба напісаць праграму, алгарытм роду, з якім 249 00:11:26,280 --> 00:11:27,900 каб атрымаць гэтыя шкарпэткі на нагах. 250 00:11:27,900 --> 00:11:30,860 І на гэтым шляху, давайце паглядзім, калі мы спатыкнуцца, або сутыкнуцца, 251 00:11:30,860 --> 00:11:32,860 некаторыя з ідэй, якія вы будзеце мець, каб пачаць 252 00:11:32,860 --> 00:11:35,470 думаць аб значна больш сур'ёзна, пры праграмаванні 253 00:11:35,470 --> 00:11:37,950 каб вашы праграмы не паводзяць сябе зусім па прызначэнні. 254 00:11:37,950 --> 00:11:39,580 >> Так што я сяджу тут. 255 00:11:39,580 --> 00:11:41,180 У мяне ёсць куча шкарпэтак. 256 00:11:41,180 --> 00:11:43,780 Што першае, што разумнае чалавечае істота будзе 257 00:11:43,780 --> 00:11:46,600 рабіць, калі мэтай з'яўляецца пакласці на пару шкарпэтак? 258 00:11:46,600 --> 00:11:49,190 Хтосьці даў мне адзін крок, і толькі адзін крок. 259 00:11:49,190 --> 00:11:49,796 Да? 260 00:11:49,796 --> 00:11:50,690 Аўдыторыя: Сагніце ўніз. 261 00:11:50,690 --> 00:11:54,290 DAVID малая: нагнуцца, добра. 262 00:11:54,290 --> 00:11:55,540 Крок другі. 263 00:11:59,975 --> 00:12:00,645 Крок другі. 264 00:12:00,645 --> 00:12:01,840 Аўдыторыя: Падніміце свой шкарпэтку. 265 00:12:01,840 --> 00:12:03,220 DAVID малая: Падніміце свой шкарпэтку. 266 00:12:03,220 --> 00:12:07,610 Такім чынам, невялікае двухсэнсоўнасці тут, і гэта з'яўляецца адным з першых 267 00:12:07,610 --> 00:12:09,380 каменем перапоны, што мы павінны свядома 268 00:12:09,380 --> 00:12:10,290 сустракаемся тут. 269 00:12:10,290 --> 00:12:14,110 Гэта крыху неадназначным, так забраць свой шкарпэтку. 270 00:12:14,110 --> 00:12:17,425 Добра, я вазьму гэта адно, а кампутар, разумеюць, усяго 271 00:12:17,425 --> 00:12:20,420 біт, не будзе мець такога роду чалавечага інстынкту проста 272 00:12:20,420 --> 00:12:21,490 выбраць бліжэйшы да вас. 273 00:12:21,490 --> 00:12:23,590 Мы збіраемся мець, каб пачаць, у хуткім часе, выказваючы 274 00:12:23,590 --> 00:12:24,610 сябе больш дакладна. 275 00:12:24,610 --> 00:12:26,600 >> Добра, другі крок, гэта забраць вашыя шкарпэткі. 276 00:12:26,600 --> 00:12:27,520 Мы возьмем яго. 277 00:12:27,520 --> 00:12:28,620 Крок трэці. 278 00:12:28,620 --> 00:12:29,532 У задняй часткі. 279 00:12:29,532 --> 00:12:30,900 Аўдыторыя: Знайсці прыдатную пару. 280 00:12:30,900 --> 00:12:32,060 DAVID малая: Знайсці прыдатную пару. 281 00:12:32,060 --> 00:12:34,740 Такім чынам, гэта добра. 282 00:12:34,740 --> 00:12:35,650 Я павінен быў выбраць гэты шкарпэтку. 283 00:12:35,650 --> 00:12:39,200 Такім чынам, мэтай з'яўляецца знайсці падыходны насок, зараз, але тое, што 284 00:12:39,200 --> 00:12:39,990 што гэта значыць? 285 00:12:39,990 --> 00:12:42,130 Разумнага чалавечага істоты, як і ў сераду, калі я толькі 286 00:12:42,130 --> 00:12:44,700 ведаў, як знайсці Mike Smith у тэлефоннай кнізе, толькі выгляд 287 00:12:44,700 --> 00:12:45,640 пайшоў са сваім інстынктам. 288 00:12:45,640 --> 00:12:49,220 Але тут, гэта відавочна, што гэта шкарпэтку тут, але кампутар 289 00:12:49,220 --> 00:12:51,350 Не будзе так інстынктыўна. 290 00:12:51,350 --> 00:12:53,830 Кампутар будзе мець набор бітаў, як мы 291 00:12:53,830 --> 00:12:55,380 абмяркоўвацца ў сераду, і тыя 292 00:12:55,380 --> 00:12:56,710 арганізавана как-то ў памяці. 293 00:12:56,710 --> 00:13:00,400 Але справа ў тым, што кампутар мае толькі здольнасць 294 00:13:00,400 --> 00:13:03,390 глядзець на рэчы па адной за раз, і на самай справе, нават мы 295 00:13:03,390 --> 00:13:05,980 людзі - нават калі ён адчувае, як я паглядзеў уніз і раскол 296 00:13:05,980 --> 00:13:08,900 Секунду праз я ведаю, дзе насок, мой мозг і вочы 297 00:13:08,900 --> 00:13:12,000 Меркавана зрабіў хуткі абястлушчанае тых шкарпэтках, а затым замкнёнай 298 00:13:12,000 --> 00:13:13,400 на кожнае пытанне. 299 00:13:13,400 --> 00:13:15,780 >> Такім чынам, калі мы будзем усё больш мэтанакіраванымі цяпер, як кампутар, 300 00:13:15,780 --> 00:13:17,780 Як мне знайсці гэтага прыдатную пару? 301 00:13:17,780 --> 00:13:18,890 Ну, у нас ёсць для перабору. 302 00:13:18,890 --> 00:13:21,440 Мы павінны, магчыма, цыкл па гэтай мешаніне шкарпэткі 303 00:13:21,440 --> 00:13:25,760 падлогу якой я кажу нешта накшталт ДЛЯ КОЖНАГА шкарпэтку, падняць яго 304 00:13:25,760 --> 00:13:30,195 ўверх, а калі ж форму і памеры, як і іншыя адзінкі, то 305 00:13:30,195 --> 00:13:32,150 кропка, кропка, кропка, мы будзем працягваць гэтую гісторыю. 306 00:13:32,150 --> 00:13:34,430 Такім чынам, для кожнага шкарпэткі, таму я падымаю гэты. 307 00:13:34,430 --> 00:13:36,520 Я правяраю гэта роўна гэта. 308 00:13:36,520 --> 00:13:38,250 Гэта не так, таму я адклаў боку. 309 00:13:38,250 --> 00:13:39,220 Тады я ітэрацыі зноў. 310 00:13:39,220 --> 00:13:40,340 Гэта адзін роўнымі? 311 00:13:40,340 --> 00:13:42,010 Не, гэта не так, таму я адклаў яе ў бок. 312 00:13:42,010 --> 00:13:42,710 Ці з'яўляецца гэта? 313 00:13:42,710 --> 00:13:43,200 Няма. 314 00:13:43,200 --> 00:13:43,670 Гэты? 315 00:13:43,670 --> 00:13:44,520 Не, і гэтак далей. 316 00:13:44,520 --> 00:13:48,730 І, нарэшце, спадзяюся, я буду сутыкнуцца з гэтай шкарпэтку тут. 317 00:13:48,730 --> 00:13:51,350 Так што, калі гэта той жа формы, памеру, вазьмеце яго. 318 00:13:51,350 --> 00:13:53,980 >> А цяпер, што б быць наш наступны крок тут? 319 00:13:53,980 --> 00:13:54,402 Да? 320 00:13:54,402 --> 00:13:56,090 Аўдыторыя: Вызначыць правае ад левага. 321 00:13:56,090 --> 00:13:58,980 DAVID малая: Добра, вызначыць правую і левую, так 322 00:13:58,980 --> 00:14:01,870 На шчасце, такога роду работ. 323 00:14:01,870 --> 00:14:04,020 Трохі сіметрычны, ці я проста насіць іх такім чынам. 324 00:14:04,020 --> 00:14:07,020 Добра, я вызначыў права. 325 00:14:07,020 --> 00:14:09,980 І цяпер, перш чым мы пачнем, дазвольце мне адзначыць, што Іосіф 326 00:14:09,980 --> 00:14:12,890 рабілі тут як свайго роду разбіраюцца праграміста. 327 00:14:12,890 --> 00:14:15,800 Такім чынам, яшчэ раз, няма ніякіх адзін з спосабаў зрабіць гэта, але толькі за межамі 328 00:14:15,800 --> 00:14:18,480 Нумарацыя радкоў, Іосіф ўжо пачалі гэта рабіць 329 00:14:18,480 --> 00:14:19,460 накшталт водступу. 330 00:14:19,460 --> 00:14:21,950 Сапраўды, гэта вельмі распаўсюджаная канвенцыі ў галіне праграмавання, 331 00:14:21,950 --> 00:14:26,110 якім Калі вы робіце нешта итерационный, цыкл стылю, як 332 00:14:26,110 --> 00:14:28,480 Мы якое разумее з ангельскай фразы "для кожнага 333 00:14:28,480 --> 00:14:31,090 шкарпэтак, "канвенцыя ў псевдокоде і, як мы ўбачым, 334 00:14:31,090 --> 00:14:33,410 нармальныя мовы праграмавання, гэта проста абзац. 335 00:14:33,410 --> 00:14:36,240 Націсніце прабел некалькі разоў, націсніце клавішу Tab і да т.п., 336 00:14:36,240 --> 00:14:40,660 так што ўкладзеныя пад "Для кожнага шкарпэткі" з'яўляецца кавалак 337 00:14:40,660 --> 00:14:43,430 Рэчы, якія вы павінны зрабіць у выніку гэтага цыклу. 338 00:14:43,430 --> 00:14:45,940 Так вось усё, што перадачы семантычна. 339 00:14:45,940 --> 00:14:48,620 Цяпер Між тым, "Калі гэта такі ж формы і памеру," 340 00:14:48,620 --> 00:14:51,590 Тое, што "Вазьміце яго" з водступам далейшым проста азначае, што 341 00:14:51,590 --> 00:14:54,370 гэта адзіная рэч, якую вы павінны зрабіць, калі гэта ўмова, 342 00:14:54,370 --> 00:14:59,770 калі гэта галіна, якая скрыжаванні дарог, на самай справе праўда. 343 00:14:59,770 --> 00:15:02,130 >> Так што зараз тут, мы знаходзімся на чацвёртым этапе, вызначыць правую і левую. 344 00:15:02,130 --> 00:15:03,410 Я вызначаны правы. 345 00:15:03,410 --> 00:15:05,150 Дайце мне Крок пяты. 346 00:15:05,150 --> 00:15:07,880 І тэхнічна, мы маглі б сапраўды назваць 347 00:15:07,880 --> 00:15:09,510 для кожнай рэчы - 348 00:15:09,510 --> 00:15:11,450 Вы, верагодна, варта нумараваць усе радкі, калі 349 00:15:11,450 --> 00:15:12,190 мы збіраемся гэта зрабіць. 350 00:15:12,190 --> 00:15:14,006 Язэп: [неразборліва] 351 00:15:14,006 --> 00:15:14,610 DAVID малая: [неразборліва]? 352 00:15:14,610 --> 00:15:16,070 Добра, добра, добра, мы зробім гэта ваш шлях. 353 00:15:16,070 --> 00:15:19,590 Добра, так што крок пяці гадоў, як мы гэта робім правы шкарпэтку? 354 00:15:19,590 --> 00:15:22,310 Як мы можам перайсці да наступнага, тут? 355 00:15:22,310 --> 00:15:22,730 Да? 356 00:15:22,730 --> 00:15:24,300 Аўдыторыя: Падніміце правую нагу. 357 00:15:24,300 --> 00:15:27,100 DAVID малая: Падніміце правую нагу, добра. 358 00:15:27,100 --> 00:15:29,330 Крок шэсць? 359 00:15:29,330 --> 00:15:30,728 Хутка. 360 00:15:30,728 --> 00:15:31,202 Так. 361 00:15:31,202 --> 00:15:33,100 Аўдыторыя: Знайсці адкрыты канец шкарпэткі. 362 00:15:33,100 --> 00:15:34,440 DAVID малая: Добра, знайсці адкрыты канец шкарпэткі. 363 00:15:34,440 --> 00:15:34,840 Так добра. 364 00:15:34,840 --> 00:15:37,180 Дык вось, калі шчыра, вельмі распаўсюджаны інстынкт будзе проста 365 00:15:37,180 --> 00:15:39,880 пакласці на правы шкарпэтку, але гэта таксама даволі неадназначна. 366 00:15:39,880 --> 00:15:42,750 Калі кампутар або чалавек дакладна ведае, што гэта значыць, 367 00:15:42,750 --> 00:15:45,160 ён не будзе выконваць, што, так вось, у мяне ёсць 368 00:15:45,160 --> 00:15:46,520 знойдзена адкрыццё акцыі. 369 00:15:46,520 --> 00:15:48,222 Крок сем? 370 00:15:48,222 --> 00:15:49,700 Аўдыторыя: націсніце пальцамі ног. 371 00:15:49,700 --> 00:15:51,070 DAVID малая: Touch пальцы. 372 00:15:51,070 --> 00:15:53,546 Такім чынам, зараз мы ідзем - 373 00:15:53,546 --> 00:15:56,480 Добра, я збіраюся прыняць некаторыя вольнасці тут. 374 00:15:56,480 --> 00:15:57,110 Дзякуй. 375 00:15:57,110 --> 00:15:59,210 Крок восем? 376 00:15:59,210 --> 00:16:00,060 Пакладзеце на насок. 377 00:16:00,060 --> 00:16:02,060 Добра, так што цяпер я, думаю, што мы досыць блізка, каб сартаваць прыняць 378 00:16:02,060 --> 00:16:03,480 гэтага дома. 379 00:16:03,480 --> 00:16:05,980 Добра, так што гэта ідзе ўверх. 380 00:16:05,980 --> 00:16:07,950 Я вазьму некаторыя вольнасці з тым, што гэта азначае на самай справе. 381 00:16:07,950 --> 00:16:08,920 Пастаўце шкарпэтку. 382 00:16:08,920 --> 00:16:10,853 Добра, зараз кроку дзевяць? 383 00:16:10,853 --> 00:16:11,740 Аўдыторыя: Пакладзеце нагу. 384 00:16:11,740 --> 00:16:12,510 DAVID малая: Дзякуй. 385 00:16:12,510 --> 00:16:15,610 Крок дзевяць, паклаў нагу, і цяпер мы можам паўтарыць. 386 00:16:15,610 --> 00:16:19,540 Такім чынам, па-відаць, зараз мы можам ісці ў крок 10 і сказаў выяўлення 387 00:16:19,540 --> 00:16:21,960 пакінуў шкарпэтку, але гэта мабыць ўжо зрабілі. 388 00:16:21,960 --> 00:16:24,100 >> І такім чынам, я магу сартаваць, паўторыце гэтыя крокі. 389 00:16:24,100 --> 00:16:25,260 Але такога роду ўзнікае пытанне. 390 00:16:25,260 --> 00:16:28,100 Да гэтага апошні раз мы хацелі паўтарыць нешта, мы 391 00:16:28,100 --> 00:16:30,730 зрабіў гэта ў шмат разоў, зноў і зноў, для 392 00:16:30,730 --> 00:16:32,660 Кожны цыкл, так бы мовіць. 393 00:16:32,660 --> 00:16:36,420 Ці мае сэнс выкарыстоўваць цыкл для таго, каб апрацоўваць як 394 00:16:36,420 --> 00:16:38,470 левы і правы шкарпэтку? 395 00:16:38,470 --> 00:16:40,460 Таму што ён адчувае, як гэтыя аперацыі з'яўляюцца ў значнай ступені 396 00:16:40,460 --> 00:16:43,090 ідэнтычнымі, за выключэннем таго, што адзін пачынаецца тут і адно 397 00:16:43,090 --> 00:16:44,850 Тут пачынаецца? 398 00:16:44,850 --> 00:16:47,400 У нас цыкл, ці ж мы проста працягваць пісаць крокаў 399 00:16:47,400 --> 00:16:48,745 10, 11 і 12? 400 00:16:48,745 --> 00:16:50,540 Аўдыторыя: Loop. 401 00:16:50,540 --> 00:16:52,240 >> DAVID малая: Добра, так цыкле. 402 00:16:52,240 --> 00:16:54,730 Я на самой справе сказаў бы проста працягваць ісці. 403 00:16:54,730 --> 00:16:55,720 Дык чаму ж гэта так? 404 00:16:55,720 --> 00:16:57,940 Ну, гэта на самай справе першы з нашых невідавочным 405 00:16:57,940 --> 00:17:01,210 праектных рашэнняў, а на самай справе, адна з метрык, з якімі 406 00:17:01,210 --> 00:17:03,990 мы пачынаем ацэньваць, для сябе і для вас, 407 00:17:03,990 --> 00:17:06,780 Якасць праграмы, наколькі добра распрацаваная яна ёсць. 408 00:17:06,780 --> 00:17:09,619 Вы зрабілі мінімальнае колькасць працы, неабходнай для 409 00:17:09,619 --> 00:17:12,480 атрымаць працу хутчэй за ўсё, альбо ў выглядзе 410 00:17:12,480 --> 00:17:15,430 Ваш час або ў тэрмінах часу працы кампутара? 411 00:17:15,430 --> 00:17:17,589 Колькі аперацый робіць гэта бярэ, каб выканаць? 412 00:17:17,589 --> 00:17:20,180 Так што, магчыма, гэта магчымасць для цыклу, паколькі 413 00:17:20,180 --> 00:17:22,829 Як толькі я пачала капіявання і ўстаўкі, як Язэп эфектыўна 414 00:17:22,829 --> 00:17:25,010 пачнуць рабіць у момант, ты накшталт марнаваць 415 00:17:25,010 --> 00:17:27,140 час, і ты вядзеш сябе ў два разы выразныя. 416 00:17:27,140 --> 00:17:30,260 >> Але ў той жа час, гэта сапраўды толькі два спецыяльных 417 00:17:30,260 --> 00:17:31,890 выпадках, налева і направа. 418 00:17:31,890 --> 00:17:34,930 І калі раней, я мог бы мець 10 або 20 або больш шкарпэткі 419 00:17:34,930 --> 00:17:37,960 куча, гэта вызначана мае сэнс не ёсць 50 ліній 420 00:17:37,960 --> 00:17:40,180 Код кажучы праверыць гэты шкарпэтку, потым наступны, 421 00:17:40,180 --> 00:17:41,300 Затым наступны. 422 00:17:41,300 --> 00:17:43,450 Вось, гэта крыху менш, відавочна, і я б прапанаваў 423 00:17:43,450 --> 00:17:44,390 што мы маглі б пайсці ў любы бок. 424 00:17:44,390 --> 00:17:46,720 Мы можам альбо, што цыкл, хоць ён толькі завесы 425 00:17:46,720 --> 00:17:50,620 у два разы, ці мы можам проста скапіяваць і ўставіць ледзь-ледзь 426 00:17:50,620 --> 00:17:53,270 Тут для таго, каб атрымаць працу. 427 00:17:53,270 --> 00:17:55,210 Але гэтая праграма глючыць, так бы мовіць. 428 00:17:55,210 --> 00:17:59,120 Ён можа мець некаторыя памылкі, памылкі, ці кутняй выпадках, так 429 00:17:59,120 --> 00:18:00,860 кажуць, што мы сапраўды не чакалі. 430 00:18:00,860 --> 00:18:03,400 Нічога пайшло не так на гэты раз, але што пайшло не так 431 00:18:03,400 --> 00:18:06,100 Пры выкананні гэтай праграмы? 432 00:18:06,100 --> 00:18:07,040 Аўдыторыя: Вы не маеце любыя шкарпэткі. 433 00:18:07,040 --> 00:18:08,980 >> DAVID малая: Так не магло быць і шкарпэткі існуе наогул. 434 00:18:08,980 --> 00:18:10,380 Так што давайце лічыць, што кут выпадак. 435 00:18:10,380 --> 00:18:14,670 Такім чынам, калі мы маглі б пракруціць назад да першага кроку, так што крок адзін быў 436 00:18:14,670 --> 00:18:16,540 нахіліцца, так што праверку. 437 00:18:16,540 --> 00:18:21,250 Крок другі, забраць свой шкарпэтку, а затым знайсці адпаведныя шкарпэтку, 438 00:18:21,250 --> 00:18:22,420 вызначыць права. 439 00:18:22,420 --> 00:18:25,050 Мы, быццам бы зрабілі цэлую кучу здагадак, і гэта, 440 00:18:25,050 --> 00:18:27,720 шчыра кажучы, чаму праграма часам краху. 441 00:18:27,720 --> 00:18:30,240 Калі вы праграміст, зрабіў некаторыя здагадкі, як 442 00:18:30,240 --> 00:18:33,000 вядома, там будзе шкарпэткі ці напэўна ёсць адбываецца 443 00:18:33,000 --> 00:18:35,310 каб пакінуць памяць у кампутары, вядома, там збіраецца 444 00:18:35,310 --> 00:18:37,420 быць дыскавай прасторы засталося на цвёрдым дыску - 445 00:18:37,420 --> 00:18:39,040 Ну, а калі вы робіце гэтыя здагадкі, і гэта не так, 446 00:18:39,040 --> 00:18:41,880 На самай справе, рэальнасць, якая ведае, што часам кампутар 447 00:18:41,880 --> 00:18:42,520 збіраецеся рабіць? 448 00:18:42,520 --> 00:18:44,450 А часам, калі вы атрымліваеце які верціцца шар пляжы ці 449 00:18:44,450 --> 00:18:47,750 змёрзлыя вокны і да т.п., вось менавіта таму, што некаторыя 450 00:18:47,750 --> 00:18:50,980 Праграміст не меркаваў, гэтыя так званыя выпадкі куце. 451 00:18:50,980 --> 00:18:53,050 Што яшчэ магло пайсці не так у гэтай праграме? 452 00:18:53,050 --> 00:18:53,330 Да? 453 00:18:53,330 --> 00:18:55,950 >> Аўдыторыя: Вам не прыйдзецца правую нагу і левую нагу. 454 00:18:55,950 --> 00:18:58,920 DAVID малая: Добра, не можа мець як правую нагу і 455 00:18:58,920 --> 00:19:01,940 Левая нага, і таму гэтая праграма не можа быць універсальна 456 00:19:01,940 --> 00:19:02,590 дастасавальныя. 457 00:19:02,590 --> 00:19:03,658 Іншыя? 458 00:19:03,658 --> 00:19:05,650 Залы: Вы маглі б узяў сірату шкарпэтку. 459 00:19:05,650 --> 00:19:07,970 DAVID малая: я бы ўзяў сірату насок, так 460 00:19:07,970 --> 00:19:11,250 несупадаючыя насок, які проста не мае братоў і сясцёр, таму што ў мяне 461 00:19:11,250 --> 00:19:13,650 страціў яго, ён разрываецца, гэта ў мыццё яшчэ, і таму падобнае. 462 00:19:13,650 --> 00:19:15,550 Так што, таксама, на самай справе не былі апрацаваны. 463 00:19:15,550 --> 00:19:15,790 Да? 464 00:19:15,790 --> 00:19:17,510 Залы: Вы, магчыма, ужо шкарпэткі. 465 00:19:17,510 --> 00:19:19,050 DAVID малая: Я, магчыма, ужо шкарпэткі. 466 00:19:19,050 --> 00:19:20,080 Я на самой справе не праверыць. 467 00:19:20,080 --> 00:19:23,350 Калі ў вас няма шкарпэтак, затым зраблю 468 00:19:23,350 --> 00:19:24,330 лініі адзін і два. 469 00:19:24,330 --> 00:19:24,980 А гэта можа здарыцца. 470 00:19:24,980 --> 00:19:26,880 Вы засынаеце з вашымі шкарпэткамі, і да таго падобнае, так 471 00:19:26,880 --> 00:19:28,860 , Што таксама вельмі разумным вуглом выпадак. 472 00:19:28,860 --> 00:19:29,630 А можа быць, адзін другога? 473 00:19:29,630 --> 00:19:31,310 Аўдыторыя: шкарпэтку навыварат. 474 00:19:31,310 --> 00:19:34,000 DAVID малая: Так шкарпэтку навыварат, так што мы зрабілі ніякай памылкі 475 00:19:34,000 --> 00:19:35,330 праверкі, карацей кажучы. 476 00:19:35,330 --> 00:19:38,550 Мы не правяралі, калі дзяржава свету так, як мы чакалі. 477 00:19:38,550 --> 00:19:41,310 Мы не правяралі, калі мы на самай справе знайшоў тое, што мы шукаем. 478 00:19:41,310 --> 00:19:43,310 >> І хоць гэта з'яўляецца свайго роду смешны прыклад 479 00:19:43,310 --> 00:19:46,110 з удзелам шкарпэткі, у рэшце рэшт, гэта менавіта тое, 480 00:19:46,110 --> 00:19:48,740 роду мысленне неабходна мець пры напісанні праграм, 481 00:19:48,740 --> 00:19:51,740 нават у драпін, а таксама ў C, у JavaScript, у PHP, 482 00:19:51,740 --> 00:19:53,920 таму што ў адваротным выпадку, вашы праграмы будуць праяўляць 483 00:19:53,920 --> 00:19:56,980 эквіваленту, што кручэнне пляжны валейбол ці проста даць 484 00:19:56,980 --> 00:19:58,210 недакладныя вынікі. 485 00:19:58,210 --> 00:20:00,250 Так што вялікі дзякуй тут, каб нашы пісцом Джозэфа. 486 00:20:00,250 --> 00:20:05,060 [Апладысменты] 487 00:20:05,060 --> 00:20:06,850 >> DAVID малая: Добра, так у чым жа, у 488 00:20:06,850 --> 00:20:08,230 Сапраўды, кампутарная праграма? 489 00:20:08,230 --> 00:20:09,670 Ну, давайце кінем хуткі погляд на 490 00:20:09,670 --> 00:20:11,100 Прадстаўнік тут. 491 00:20:11,100 --> 00:20:15,260 Такім чынам, гэта праграма, напісаная на мове, званым C. З 492 00:20:15,260 --> 00:20:17,830 даволі стары гэтыя дні, але многія новыя мовы будуюцца 493 00:20:17,830 --> 00:20:18,460 на ім. 494 00:20:18,460 --> 00:20:21,180 Сапраўды, PHP, адзін з вэб-арыентаваных моў, якія мы будзем 495 00:20:21,180 --> 00:20:24,050 выкарыстоўваць бліжэй да канца семестра, сама па сабе мае тое, што называецца 496 00:20:24,050 --> 00:20:27,550 перакладчык, праграма, якая напісана на C, але пра гэта 497 00:20:27,550 --> 00:20:28,690 У многіх тыдняў. 498 00:20:28,690 --> 00:20:30,840 Але ў гэтай праграме, а гэта што значыць напісаць 499 00:20:30,840 --> 00:20:32,880 Праграма, хоць і вельмі просты. 500 00:20:32,880 --> 00:20:35,540 У нас ёсць некаторыя даволі загадкавыя сінтаксісу, але вы можаце 501 00:20:35,540 --> 00:20:38,340 напэўна, здагадаліся, нават калі вы ніколі не праграмавалі раней, што 502 00:20:38,340 --> 00:20:39,750 гэта робіць праграма. 503 00:20:39,750 --> 00:20:43,640 На самай справе, я не ведаю, што Printf ёсць, але, вядома, друкаваць 504 00:20:43,640 --> 00:20:45,700 выклікае ва ўяўленні ідэю друкаваць нешта. 505 00:20:45,700 --> 00:20:48,590 А так так, гэтая праграма ў канчатковым рахунку, будзе раздрукаваць 506 00:20:48,590 --> 00:20:50,250 словы «Hello, World». 507 00:20:50,250 --> 00:20:53,390 >> Цяпер, ці ёсць у вас Mac ці PC або Linux кампутары, шанцы 508 00:20:53,390 --> 00:20:55,550 , Па меншай меры, калі вы запампавалі некаторыя свабодна 509 00:20:55,550 --> 00:20:58,000 даступна праграмнае забеспячэнне, вы маглі пісаць праграмы на 510 00:20:58,000 --> 00:21:00,310 свой ноўтбук на працягу досыць доўгага часу цяпер. 511 00:21:00,310 --> 00:21:03,040 У Mac OS, напрыклад, ёсць такая праграма пад назвай 512 00:21:03,040 --> 00:21:05,340 Тэрмінал, які пастаўляецца з Mac, якія, як правіла, у вашай 513 00:21:05,340 --> 00:21:07,550 Утыліты тэчку, і яна наогул адкрываецца чорна- 514 00:21:07,550 --> 00:21:09,820 белым або белыя і чорныя вокны, на якім у вас ёсць 515 00:21:09,820 --> 00:21:11,410 падкажуць, на якім можна ўводзіць каманды. 516 00:21:11,410 --> 00:21:13,060 Так што гэта на самай справе нагадваюць тое, што кампутары 517 00:21:13,060 --> 00:21:15,100 было раней графічны карыстацкі 518 00:21:15,100 --> 00:21:16,710 інтэрфейсы, GUI, прыйшлі разам. 519 00:21:16,710 --> 00:21:19,200 Зараз, у Windows, у вас ёсць аналагічны механізм у выглядзе 520 00:21:19,200 --> 00:21:20,130 з каманднага радка. 521 00:21:20,130 --> 00:21:23,430 >> Але тое, што я збіраюся зрабіць, так гэта адкрыць, скажам, 522 00:21:23,430 --> 00:21:26,580 TextEdit зноў, так жа праграмы мы выкарыстоўвалі для 523 00:21:26,580 --> 00:21:28,870 псевдокоде хвіліну назад, і я збіраюся ісці наперад і 524 00:21:28,870 --> 00:21:30,080 напісаць сваю першую праграму. 525 00:21:30,080 --> 00:21:34,030 Ўключыць stdio.h, што б гэта ні сродкаў, Int асноўны 526 00:21:34,030 --> 00:21:36,880 пустата, што б гэта ні сродкаў, а затым у сярэдзіне тут, 527 00:21:36,880 --> 00:21:40,560 Е ("Hello, World."). І тады блізка цытаты, 528 00:21:40,560 --> 00:21:42,340 зачыніць хлопец, кропка з коскі. 529 00:21:42,340 --> 00:21:44,460 Цяпер я збіраюся ісці наперад і проста націснуць Command-S. Я збіраюся 530 00:21:44,460 --> 00:21:47,650 ісці наперад і захаваць гэта як hello.c, таму канвенцыі ў 531 00:21:47,650 --> 00:21:50,530 свет праграмавання C з'яўляецца імя файла з кропкай. 532 00:21:50,530 --> 00:21:52,880 Я збіраюся проста пакласці ў хатні каталог Джона Гарварда, 533 00:21:52,880 --> 00:21:56,370 Тут, націсніце кнопку Захаваць, і цяпер я збіраюся перайсці да гэтага 534 00:21:56,370 --> 00:21:59,110 акно тэрмінала, які зноў гэта чорна-белыя радкі 535 00:21:59,110 --> 00:22:00,860 дзе я магу выконваць каманды. 536 00:22:00,860 --> 00:22:04,550 >> Я магу запускаць праграмы, увёўшы сваё імя, а не 537 00:22:04,550 --> 00:22:06,710 падвойнаму пстрычцы значкоў ў звычайным сэнсе. 538 00:22:06,710 --> 00:22:10,590 Але справа ў тым, пра C у тым, што мова, як З першага 539 00:22:10,590 --> 00:22:13,150 прыходзіць у такім выглядзе, тое, што называецца зыходным кодам. 540 00:22:13,150 --> 00:22:15,400 Тое, што выглядае крыху як ангельскую мову, але гэта 541 00:22:15,400 --> 00:22:17,980 Вызначана менш, як англійская, чым псевдокод Язэпа 542 00:22:17,980 --> 00:22:18,930 Хвіліну таму. 543 00:22:18,930 --> 00:22:20,560 Гэта крыху больш складаных. 544 00:22:20,560 --> 00:22:22,830 Здаецца прытрымлівацца некаторых ўзорамі або правіл. 545 00:22:22,830 --> 00:22:25,300 Той факт, што ў мяне ёсць фігурныя дужкі, кропкі з коскай, двукоссі, 546 00:22:25,300 --> 00:22:28,240 вуглавыя дужкі, адчувае, як кампутар прыйшоў з гэтай 547 00:22:28,240 --> 00:22:29,250 роду мову. 548 00:22:29,250 --> 00:22:32,010 Але калі я пайду, зараз, гэта акно тэрмінала, я магу запусціць 549 00:22:32,010 --> 00:22:35,250 каманда, якая збіраецца пераўтварыць зыходны код 550 00:22:35,250 --> 00:22:36,610 так званы аб'ектны код. 551 00:22:36,610 --> 00:22:39,690 Гэта збіраецца канвертаваць Англійская-падобны сінтаксіс для нулёў 552 00:22:39,690 --> 00:22:41,760 і тыя, тыя ж самыя віды з нулёў і адзінак, мы 553 00:22:41,760 --> 00:22:42,820 гаварылі пра асяроддзе. 554 00:22:42,820 --> 00:22:44,810 Зараз, я збіраюся выканаць каманду называюць Clang. 555 00:22:44,810 --> 00:22:47,750 Больш падрабязна аб гэтым у бліжэйшыя тыдні, але гэта праграма з 556 00:22:47,750 --> 00:22:52,330 які я магу пераўтварыць hello.c ў цэлую кучу 557 00:22:52,330 --> 00:22:53,640 з нулёў і адзінак. 558 00:22:53,640 --> 00:22:54,950 >> Зараз, я выканаць гэтую каманду. 559 00:22:54,950 --> 00:22:57,940 Я бег Clang, а потым я сказаў сабе працаваць на гэтым файле 560 00:22:57,940 --> 00:23:00,630 называецца hello.c, які я стварыў хвіліну назад, і 561 00:23:00,630 --> 00:23:02,090 нішто, здаецца, здарылася. 562 00:23:02,090 --> 00:23:05,550 Але на самай справе, калі б я памацаў мой хатні каталог, я хацеў бы бачыць 563 00:23:05,550 --> 00:23:09,620 што гэта глупства імем a.out праграма існуе ў цяперашні час. 564 00:23:09,620 --> 00:23:12,250 Гэта проста імя па змаўчанні для праграмы пры запісе ў 565 00:23:12,250 --> 00:23:15,140 С. Мы можам змяніць гэта ў канчатковым выніку, але a.out з'яўляецца 566 00:23:15,140 --> 00:23:18,340 Назва праграмы я проста ператвараюцца ў нулі і адзінкі. 567 00:23:18,340 --> 00:23:21,490 А цяпер, што гэта нулі і адзінкі, мой Mac, у дадзеным выпадку, ці 568 00:23:21,490 --> 00:23:24,670 вашага ПК з Windows, можна зразумець тыя біты, тыя, 569 00:23:24,670 --> 00:23:25,410 нулёў і адзінак. 570 00:23:25,410 --> 00:23:29,130 І таму, калі я ударыў Enter, я бачу "Hello, World!" 571 00:23:29,130 --> 00:23:31,270 >> Але гэта трохі багі. 572 00:23:31,270 --> 00:23:34,110 Я не зусім сказаць "прывітанне, свет: паветра: - jharvard". Паветра 573 00:23:34,110 --> 00:23:35,020 імя майго кампутара. 574 00:23:35,020 --> 00:23:37,730 Jharvard гэта імя ўліковага запісу, так што я выразна 575 00:23:37,730 --> 00:23:41,070 выключыць з праграмы? 576 00:23:41,070 --> 00:23:42,480 Нейкія радка. 577 00:23:42,480 --> 00:23:45,150 Я не трапіў у эквіваленце Enter або зварот карэткі, 578 00:23:45,150 --> 00:23:47,760 і гэта, зноў жа, сведчыць той факт, што кампутары могуць 579 00:23:47,760 --> 00:23:49,800 толькі тое, што вы кажаце ім зрабіць. 580 00:23:49,800 --> 00:23:52,400 І тое, што я не казаў кампутара рухацца 581 00:23:52,400 --> 00:23:53,860 курсора на наступны радок - 582 00:23:53,860 --> 00:23:55,200 ну, гэта, вядома, не збіраюся проста зрабіць гэта 583 00:23:55,200 --> 00:23:56,750 саманадзейна для мяне. 584 00:23:56,750 --> 00:24:00,860 Так што, калі я вяртаюся да маёй праграме, і я кажу \ п - 585 00:24:00,860 --> 00:24:03,180 Такім чынам, \ п, як мы хутка ўбачым, гэта шлях 586 00:24:03,180 --> 00:24:06,910 якія прадстаўляюць дзіўныя рэчы, як знакі новага радка, рэчы 587 00:24:06,910 --> 00:24:08,840 якія маглі б быць вынікам 588 00:24:08,840 --> 00:24:09,940 ўдару клавішу ўводу. 589 00:24:09,940 --> 00:24:11,730 Але цяпер, проста ведаю, што ўдары Enter ключ будзе 590 00:24:11,730 --> 00:24:14,170 проста зрабіць наш код выглядае дзіўным, так што свет вырашыў, вы ведаеце, 591 00:24:14,170 --> 00:24:16,580 што, каб трымаць рэчы прыгажэй, каб трымаць яго ў адным радку, давайце 592 00:24:16,580 --> 00:24:19,070 проста сказаць \ п ўяўляе новую лінію. 593 00:24:19,070 --> 00:24:22,260 Дазвольце мне захаваеце свой файл, вярніцеся ў акно тэрмінала, і 594 00:24:22,260 --> 00:24:25,290 паўторныя a.out, Enter. 595 00:24:25,290 --> 00:24:28,374 Тым не менш памылкі, але навошта? 596 00:24:28,374 --> 00:24:29,750 >> Аўдыторыя: [неразборліва] 597 00:24:29,750 --> 00:24:31,540 DAVID малая: Так, так што мне трэба перакампіляваць. 598 00:24:31,540 --> 00:24:34,610 Такім чынам, для кампіляцыі праграмы проста азначае, ператварыць яго з крыніцы 599 00:24:34,610 --> 00:24:37,660 код, аб'ектны код, зыходны код нулёў і адзінак. 600 00:24:37,660 --> 00:24:40,830 Цяпер, сам факт, што я ўдарыў захаваць у гэтым TextEdit не мае 601 00:24:40,830 --> 00:24:43,450 , Якія датычацца тых нулёў і адзінак, таму што ў першую чаргу неабходна 602 00:24:43,450 --> 00:24:48,260 Скажыце Clang эй, я змяніў гэтыя радкі кода, 603 00:24:48,260 --> 00:24:49,040 зыходны код. 604 00:24:49,040 --> 00:24:51,010 Вам неабходна аднавіць a.out. 605 00:24:51,010 --> 00:24:52,990 Нішто, здаецца, здарылася, але ў кампутары, 606 00:24:52,990 --> 00:24:55,820 у камандным радку, так што казаць, калі нічога не адбываецца, 607 00:24:55,820 --> 00:24:57,510 Звычайна гэта азначае, што ўсё добра. 608 00:24:57,510 --> 00:24:59,040 Калі нешта здараецца, гэта азначае, 609 00:24:59,040 --> 00:25:00,420 Вы сапсавалі, наогул. 610 00:25:00,420 --> 00:25:04,020 >> Такім чынам, давайце зараз пераходзім да a.out, ды і зараз, у мяне ёсць "прывітанне, 611 00:25:04,020 --> 00:25:04,440 свету ". 612 00:25:04,440 --> 00:25:05,990 А цяпер, што аб гэтых нулёў і адзінак? 613 00:25:05,990 --> 00:25:07,520 Дзе, уласна, такія? 614 00:25:07,520 --> 00:25:10,710 Ну, я не магу сапраўды проста нейкая капацца вельмі 615 00:25:10,710 --> 00:25:11,210 эфектыўна. 616 00:25:11,210 --> 00:25:12,650 Дазвольце мне адкрыць TextEdit. 617 00:25:12,650 --> 00:25:14,060 Вось a.out. 618 00:25:14,060 --> 00:25:17,390 Дазвольце мне ісці наперад і адкрыць гэта, і гэта, мабыць, тое, што мая 619 00:25:17,390 --> 00:25:19,080 Праграма выглядае. 620 00:25:19,080 --> 00:25:21,570 Так што я адкрыў, не hello.c, але a.out. 621 00:25:21,570 --> 00:25:23,960 Але гэта на самай справе не тое, што мая праграма на самай справе. 622 00:25:23,960 --> 00:25:26,450 Зразумела, што гэта свайго роду літарных знакаў. 623 00:25:26,450 --> 00:25:28,670 Я не бачу ніякіх нулёў і адзінак, але гэта 624 00:25:28,670 --> 00:25:30,780 a.out, таму што гэта праграма. 625 00:25:30,780 --> 00:25:33,540 Нулі і адзінкі - але TextEdit, як вынікае з назвы, гэта 626 00:25:33,540 --> 00:25:37,130 гэтак жа, як Нататнік на Windows, гэта проста тэкставы рэдактар, так што гэта 627 00:25:37,130 --> 00:25:39,730 заблытанай ўсе гэтыя нулі і адзінкі, як 628 00:25:39,730 --> 00:25:41,870 калі б яны былі, то якія? 629 00:25:41,870 --> 00:25:43,380 ASCII сімвалаў. 630 00:25:43,380 --> 00:25:45,020 >> Так ўспомнім ў сераду, мы проста прыйшлі да гэтага 631 00:25:45,020 --> 00:25:48,740 адвольнае адлюстраванне лічбаў, або бітаў, на лісты, якія змяшчаюць 632 00:25:48,740 --> 00:25:51,690 алфавіт і знакі прыпынку і да таго падобнае. 633 00:25:51,690 --> 00:25:54,920 Такім чынам, TextEdit, што гэта тэкставы рэдактар ​​скажаючы 634 00:25:54,920 --> 00:25:57,270 гэтыя мадэлі з нулёў і адзінак, якія павінны быць 635 00:25:57,270 --> 00:25:59,990 друк словы, як "прывітанне, свет". Гэта іх адлюстравання 636 00:25:59,990 --> 00:26:02,150 як ASCII, і менавіта таму ён выглядае крыху брудным. 637 00:26:02,150 --> 00:26:04,910 Цяпер, ёсць некаторыя намёкі на правільнасць тут. 638 00:26:04,910 --> 00:26:08,090 Звярніце ўвагу, калі я вылучыць, ёсць намёк на самай справе "прывітанне, 639 00:26:08,090 --> 00:26:10,810 свету ", так што недзе ў гэтай праграме 640 00:26:10,810 --> 00:26:12,120 прапанова, якое я напісаў. 641 00:26:12,120 --> 00:26:14,610 Але давайце ісці наперад і цяпер бачым з іншай праграмай. 642 00:26:14,610 --> 00:26:17,420 Гэта не той, які мы будзем выкарыстоўваць, што часта, але ён таксама пастаўляецца з 643 00:26:17,420 --> 00:26:19,970 Mac і будзе ўнутры CS50 прыбора. 644 00:26:19,970 --> 00:26:23,940 Дазвольце мне ісці наперад і адкрыць з дапамогай праграмы пад назвай XXD. 645 00:26:23,940 --> 00:26:26,530 >> Назад у дзень, большасць праграм былі названы даволі загадкава: 646 00:26:26,530 --> 00:26:28,200 і таму тэндэнцыя працягваецца. 647 00:26:28,200 --> 00:26:31,160 Але-B азначае плюнуць гэтую праграму ў двайковым выглядзе. 648 00:26:31,160 --> 00:26:32,330 Не запусціць яго. 649 00:26:32,330 --> 00:26:35,770 Паказаць мне, як нулі і адзінкі, і гэта C 650 00:26:35,770 --> 00:26:37,190 Праграма, якую мы толькі што напісалі. 651 00:26:37,190 --> 00:26:39,920 Зараз, я, як чалавек тут, я шчыра не ведаю, што 652 00:26:39,920 --> 00:26:42,230 гэтыя розныя ўзоры з нулёў і адзінак ўяўляюць. 653 00:26:42,230 --> 00:26:45,320 Назад у дзень, я, з маім перфакарт і да т.п., будзе 654 00:26:45,320 --> 00:26:48,080 на самай справе трэба паглядзець, што гэтыя розныя мадэлі 655 00:26:48,080 --> 00:26:51,560 01111000, на самай справе ўяўляюць. 656 00:26:51,560 --> 00:26:54,390 Ці яшчэ горш, я павінен быў бы зрабіць штампоўкі або стварэння 657 00:26:54,390 --> 00:26:56,130 з гэтых мадэляў з нулёў і адзінак. 658 00:26:56,130 --> 00:27:00,410 Але цяпер, прыняць на веру, што працэсар, Intel унутры, так 659 00:27:00,410 --> 00:27:03,440 казаць, усярэдзіне ўсе нашы кампутары ў гэтыя дні, ведае, 660 00:27:03,440 --> 00:27:05,100 як інтэрпрэтаваць гэтыя нулі і адзінкі. 661 00:27:05,100 --> 00:27:07,010 А некаторыя нулі і адзінкі азначаюць друку. 662 00:27:07,010 --> 00:27:09,040 Некаторыя нулёў і адзінак азначае прайграванне гуку. 663 00:27:09,040 --> 00:27:13,630 Некаторыя нулёў і адзінак азначае прымаць карыстацкі ўвод з клавіятуры. 664 00:27:13,630 --> 00:27:15,960 Там ўсе віды розных мадэляў, але мы, на шчасце, 665 00:27:15,960 --> 00:27:19,680 як людзі, толькі ў агульных рысах трэба турбавацца аб праграмаванні на 666 00:27:19,680 --> 00:27:21,270 гэта даволі высокім узроўні. 667 00:27:21,270 --> 00:27:24,320 А ў іншых класах CS вы можаце пагрузіцца глыбей і паглядзець 668 00:27:24,320 --> 00:27:26,820 на рэчы, як гэтыя нулі і адзінкі, ці яшчэ 669 00:27:26,820 --> 00:27:28,000 іншага яшчэ. 670 00:27:28,000 --> 00:27:29,210 >> Такім чынам, цяпер давайце пераўтворым гэта. 671 00:27:29,210 --> 00:27:32,550 Давайце рухацца вельмі хутка ад C і рухацца да чаму-то 672 00:27:32,550 --> 00:27:36,390 трохі больш суцяшальныя, крыху больш цікавай, у тым, што 673 00:27:36,390 --> 00:27:39,340 мы можам вярнуць нашу анімацыю, гукі і да т.п., 674 00:27:39,340 --> 00:27:40,940 ясна, пазбег нас у гэтым 675 00:27:40,940 --> 00:27:42,480 даволі прымітыўны інтэрфейс. 676 00:27:42,480 --> 00:27:46,430 Дык гэта ж праграму ў C можа быць прадстаўлена цяпер у гэтым 677 00:27:46,430 --> 00:27:50,060 Мова праграмавання называецца драпін наступным чынам. 678 00:27:50,060 --> 00:27:54,230 Гэта эквівалент гэтай праграмы прывітанне свет напісаны на 679 00:27:54,230 --> 00:27:57,370 гэты стыль паззл мове пад назвай Scratch. 680 00:27:57,370 --> 00:28:00,600 Такім чынам, дазвольце мне ісці наперад і адкрываць гэтую праграму. 681 00:28:00,600 --> 00:28:01,850 Ён зноў заклікаў да драпін. 682 00:28:01,850 --> 00:28:03,880 Гэта ў вольным доступе, і гэта тое ж самае мы 683 00:28:03,880 --> 00:28:05,120 пачалася сёння на. 684 00:28:05,120 --> 00:28:07,790 >> Так што тут Scratch, і ён разбіваецца на некалькі 685 00:28:07,790 --> 00:28:09,700 розных частак. 686 00:28:09,700 --> 00:28:12,690 На самым верхнім правым куце, у нас ёсць так званыя стадыі, і 687 00:28:12,690 --> 00:28:13,670 Сапраўды, там печыва 688 00:28:13,670 --> 00:28:15,440 выконваецца толькі трохі назад. 689 00:28:15,440 --> 00:28:19,660 І на гэтым этапе, што называецца спрайт, знакаў ці 690 00:28:19,660 --> 00:28:21,030 аб'ектаў або асоб. 691 00:28:21,030 --> 00:28:23,320 Гэта сапраўды не мае значэння, як вы думаеце пра іх, але яны 692 00:28:23,320 --> 00:28:26,740 з'яўляюцца праграмуемымі, рухомых рэчаў, і ў гэтым выпадку, гэта 693 00:28:26,740 --> 00:28:30,730 праграмы, што наш студэнт напісаў мае некалькі пернікаў 694 00:28:30,730 --> 00:28:32,990 печыва, пару кругавых печыва, цэлы букет 695 00:28:32,990 --> 00:28:35,430 сэрца, цэлую кучу ачкоў. 696 00:28:38,170 --> 00:28:42,420 З-за гэтага, ён або яна можа запраграмаваць кожную з гэтых 697 00:28:42,420 --> 00:28:44,720 асобныя знакі па асобнасці. 698 00:28:44,720 --> 00:28:46,480 >> Такім чынам, што гэта значыць для праграмавання гэтых персанажаў? 699 00:28:46,480 --> 00:28:49,440 Добра, дазвольце мне ісці наперад і націсніце на гэтую левай руцэ печыва 700 00:28:49,440 --> 00:28:51,830 і перайдзіце да левай верхняй тут. 701 00:28:51,830 --> 00:28:53,670 У верхнім левым майго экрана ў цяперашні час з'яўляецца 702 00:28:53,670 --> 00:28:55,280 так званыя сцэнары вобласці. 703 00:28:55,280 --> 00:28:58,790 Гэта свайго роду чысты ліст, на пачатковым этапе, на якім я магу 704 00:28:58,790 --> 00:29:01,540 перацягнуць кавалачкі галаваломкі, што, шчыра кажучы, зрабіць 705 00:29:01,540 --> 00:29:03,020 менавіта тое, што яны кажуць. 706 00:29:03,020 --> 00:29:05,820 На самым версе гэтай чаркі кавалачкі галаваломкі з'яўляецца слова 707 00:29:05,820 --> 00:29:09,340 Калі Зялёны сцяг Націснуў, і калі вы раней не заўважалі, 708 00:29:09,340 --> 00:29:12,300 так, як я пачаў, што печыва песня была націску, у літаральным сэнсе, 709 00:29:12,300 --> 00:29:13,320 зялёны сцяг. 710 00:29:13,320 --> 00:29:16,590 Так што паззл у левым верхнім куце ёсць азначае, што пры 711 00:29:16,590 --> 00:29:19,780 чалавечыя клікі зялёны сьцяг, працягнуў рабіць 712 00:29:19,780 --> 00:29:21,110 Наступныя рэчы. 713 00:29:21,110 --> 00:29:23,330 >> Цяпер, што ж яны печыва працягнуць рабіць? 714 00:29:23,330 --> 00:29:25,810 Я сапраўды не ведаю, як інтэрпрэтаваць гэта, але 715 00:29:25,810 --> 00:29:29,220 печыва па-відаць ўсталяваць яго канаўцы да нуля, то яна чакала 716 00:29:29,220 --> 00:29:31,740 трох секунд, затым ён змяніў свае групы ў адну, то 717 00:29:31,740 --> 00:29:33,590 пачакаў секунду, затым яна змяніла сваё 718 00:29:33,590 --> 00:29:35,100 пазу назад да аднаго. 719 00:29:35,100 --> 00:29:37,373 І тады гэта на самай справе выглядае крыху памылка, не павінна 720 00:29:37,373 --> 00:29:39,440 павінны змяніць свой пазу зноў і зноў, калі гэта не 721 00:29:39,440 --> 00:29:43,380 змяняецца ў іншым месцы, але гэта шэраг крокаў, гэта тое, што 722 00:29:43,380 --> 00:29:46,800 дыктаваць паводзіны дадзенага печыва. 723 00:29:46,800 --> 00:29:49,180 Так што давайце на самай справе пракруціць назад і не глядзець на тое, 724 00:29:49,180 --> 00:29:50,430 гэтак складанага няма. 725 00:29:50,430 --> 00:29:52,260 Дазвольце мне ісці наперад і перайдзіце ў меню Файл, Новы, 726 00:29:52,260 --> 00:29:53,560 і атрымаць чыстага ліста. 727 00:29:53,560 --> 00:29:56,590 >> Так што цяпер, я сапраўды ёсць пустая вобласць сцэнар, пустая сцэна, 728 00:29:56,590 --> 00:29:59,380 з нашай нуля спрайт па змаўчанні, а ў левым верхнім 729 00:29:59,380 --> 00:30:01,670 на экране ў мяне паддон ўсіх сваіх 730 00:30:01,670 --> 00:30:03,400 даступных частак галаваломкі. 731 00:30:03,400 --> 00:30:06,300 І мы не будзем прайсці праз амаль што многія з гэтых рэчаў 732 00:30:06,300 --> 00:30:09,470 сёння, таму што, зноў жа, большасць з іх відавочныя, але мы будзем 733 00:30:09,470 --> 00:30:12,370 паспрабаваць класіфікаваць іх і паказаць на падабенства 734 00:30:12,370 --> 00:30:15,380 з гэтымі мовамі будучыні, да якога мы будзем ныраць. 735 00:30:15,380 --> 00:30:19,180 А ў левым верхнім куце вось першая Калі Зялёны сцяг націску 736 00:30:19,180 --> 00:30:22,170 так што дазвольце мне перацягнуць гэты тут, паменшыць трохі. 737 00:30:22,170 --> 00:30:25,780 І калі я націскаю на зялёны сьцяг, нічога не адбываецца, таму што 738 00:30:25,780 --> 00:30:29,360 Я не надаваў ніякага логіцы, любое заяву, так бы мовіць, у 739 00:30:29,360 --> 00:30:31,040 , Што зялёны сцяг, так што дазвольце мне ісці да 740 00:30:31,040 --> 00:30:32,500 Катэгорыі сюды. 741 00:30:32,500 --> 00:30:34,840 Я ў цяперашні час у кантрольнай катэгорыі. 742 00:30:34,840 --> 00:30:37,630 Я замест гэтага збіраецца спусціцца на катэгорыю выглядае, і 743 00:30:37,630 --> 00:30:39,970 ёсць цэлая куча рэчаў, якія кажуць, што тут Скажыце, 744 00:30:39,970 --> 00:30:43,110 Падумайце, змяненне колеру, Switch касцюма. 745 00:30:43,110 --> 00:30:44,860 >> Так што вы можаце рабіць глупства з касцюмамі і 746 00:30:44,860 --> 00:30:45,870 гукі і да таго падобнае. 747 00:30:45,870 --> 00:30:49,970 Дазвольце мне ісці наперад і проста сказаць Скажыце, а зараз заўважыла, як я перацягнуць 748 00:30:49,970 --> 00:30:52,940 і адмовіцца ад гэтага кавалачка, ён захоча, каб замкнуцца 749 00:30:52,940 --> 00:30:55,010 ў адпаведную форму. 750 00:30:55,010 --> 00:30:58,020 Таму, калі я іду наперад і адпусціў маю мыш, яны замыкаюць 751 00:30:58,020 --> 00:31:01,770 разам, і зараз, калі я іду сюды і націсніце зялёны сьцяг, 752 00:31:01,770 --> 00:31:05,910 Котка ж на самай справе павітацца, таму што гэта тое, што ўнутры 753 00:31:05,910 --> 00:31:06,980 гэтай белай скрынцы. 754 00:31:06,980 --> 00:31:08,900 Мы хутка пабачым, што гэта белае поле тое, што называецца 755 00:31:08,900 --> 00:31:10,250 Аргумент, або параметр. 756 00:31:10,250 --> 00:31:12,560 Гэта спосаб змены паводзін, у дадзеным выпадку, 757 00:31:12,560 --> 00:31:15,070 паззл, але калі я хачу сказаць менавіта тое, што я сказаў, 758 00:31:15,070 --> 00:31:18,610 да, скажам прывітанне, свет, цяпер я магу вярнуцца сюды, 759 00:31:18,610 --> 00:31:21,990 Націсніце кнопку Play, і "прывітанне, свет" з'яўляецца тое, што сказаў. 760 00:31:21,990 --> 00:31:24,340 >> Такім чынам, мы ў літаральным сэнсе праграмавання цяпер. 761 00:31:24,340 --> 00:31:27,540 Гэта яшчэ не ўсё, што пераканаўчых праграмы, але па крайняй меры 762 00:31:27,540 --> 00:31:30,140 гэта крыху больш пераканаўчым, чым тое, што выглядае, па крайняй 763 00:31:30,140 --> 00:31:31,300 першы погляд, накшталт гэтага. 764 00:31:31,300 --> 00:31:34,190 І мы можам вельмі хутка атрымаць ўсё больш выразным 765 00:31:34,190 --> 00:31:36,600 таму што ў Scratch, як і ў іншых мовах, ёсць усе 766 00:31:36,600 --> 00:31:40,010 роду заявы, а не толькі гаварыць або нешта раздрукаваць, але 767 00:31:40,010 --> 00:31:42,650 Вы можаце рабіць рэчы, як чаканне, як мы толькі што бачылі 768 00:31:42,650 --> 00:31:44,240 печыва, некаторы колькасць секунд. 769 00:31:44,240 --> 00:31:46,440 Вы можаце гуляць гукамі ў асяроддзі нуля толькі 770 00:31:46,440 --> 00:31:49,050 як вы можаце ў нармальных гукавых праграм гульня кампутара. 771 00:31:49,050 --> 00:31:52,440 Вы можаце праверыць, што называецца лагічных выразаў. 772 00:31:52,440 --> 00:31:55,630 Так што цяпер, давайце пачнем дадаць да нашага інструментар некаторыя тэрміны 773 00:31:55,630 --> 00:31:58,840 што на самой справе ставіцца да прыкладу, што Язэп і я 774 00:31:58,840 --> 00:32:00,080 Тут з шкарпэткамі. 775 00:32:00,080 --> 00:32:03,040 Такім чынам, заявы проста канстатацыяй факту. 776 00:32:03,040 --> 00:32:04,160 Зрабіце гэта. 777 00:32:04,160 --> 00:32:07,370 Дырэктыва для спрайт, ці мне чалавека, каб зрабіць нешта. 778 00:32:07,370 --> 00:32:10,420 Лагічнае выраз з'яўляецца тое, што мае значэнне, 779 00:32:10,420 --> 00:32:14,580 так званага сапраўднага значэння, што гэта альбо нуль або адзін, ілжывай або 780 00:32:14,580 --> 00:32:17,890 Праўда, уключаны або выключаны, няма або так. 781 00:32:17,890 --> 00:32:19,730 Не мае значэння, наколькі вы думаеце пра гэта, але гэта 782 00:32:19,730 --> 00:32:20,700 двайковы дзяржавы. 783 00:32:20,700 --> 00:32:22,610 Як Nate абмяркоўваецца ў відэа ў сераду, два 784 00:32:22,610 --> 00:32:23,570 розныя рэчы. 785 00:32:23,570 --> 00:32:25,740 >> Такім чынам, у Scratch, лагічныя выразы здарыцца, каб паглядзець 786 00:32:25,740 --> 00:32:28,910 як гэтыя сінія аб'екты тут, і ў гэтым выпадку пытанне 787 00:32:28,910 --> 00:32:30,960 Знак азначае, што вы задаеце пытанне. 788 00:32:30,960 --> 00:32:34,250 Ёсць коткі, або спрайт, датыкаючыся да мышы? 789 00:32:34,250 --> 00:32:36,580 Так што гэта толькі адзін з прыкладаў драпін блока, які збіраецца 790 00:32:36,580 --> 00:32:39,950 , Каб мы маглі праверыць так ці не, гэта мыш дакранаючыся 791 00:32:39,950 --> 00:32:40,790 спрайт на экране? 792 00:32:40,790 --> 00:32:42,840 І гэта можа быць карысна, калі вы сапраўды хочаце, каб рабіць рэчы 793 00:32:42,840 --> 00:32:43,820 з дапамогай мышы. 794 00:32:43,820 --> 00:32:46,470 У дадатак да лагічных выразаў, у нас ёсць рэчы 795 00:32:46,470 --> 00:32:49,110 накшталт мышы, так што вы можаце выявіць, што выгляд 796 00:32:49,110 --> 00:32:50,200 пытанне. 797 00:32:50,200 --> 00:32:52,590 Мы можам зрабіць матэматыку, калі вы на самой справе хочаце, і ёсць 798 00:32:52,590 --> 00:32:55,170 на самай справе больш пераканаўчым выкарыстоўвае для гэтага не толькі чыстым 799 00:32:55,170 --> 00:32:56,400 арыфметыкі, як мы ўбачым. 800 00:32:56,400 --> 00:32:59,690 Псеўда выпадковасці і робіць вашу праграму здаецца, думаюць, 801 00:32:59,690 --> 00:33:03,490 або паводзіць сябе па-рознаму ў залежнасці ад некаторых, здавалася б выпадковых велічынь, 802 00:33:03,490 --> 00:33:06,610 а то ў нас такія рэчы, як лагічныя выразы, як AND. 803 00:33:06,610 --> 00:33:08,830 Так што калі вы сапраўды хочаце, каб праверыць два значэнні, мы ўбачым у 804 00:33:08,830 --> 00:33:11,110 Драпіна, што мы сапраўды можам праверыць, калі гэта 805 00:33:11,110 --> 00:33:13,190 праўдзівыя і гэта праўда. 806 00:33:13,190 --> 00:33:15,300 Напрыклад, у выпадку мае шкарпэткі, я мог бы ў 807 00:33:15,300 --> 00:33:19,045 самым канцы задаў пытанне, калі не шкарпэтку на правую і шкарпэтак 808 00:33:19,045 --> 00:33:20,610 уключаны, кінуць паліць. 809 00:33:20,610 --> 00:33:22,710 Вы ўсё зрабілі за дзень, так што было б 810 00:33:22,710 --> 00:33:24,300 магчымасць для гэтага. 811 00:33:24,300 --> 00:33:27,740 >> Так што давайце ісці наперад і паспрабаваць сабраць некаторыя з іх разам 812 00:33:27,740 --> 00:33:31,570 і ідзём у пару прыкладаў больш 813 00:33:31,570 --> 00:33:32,610 пераканаўчымі, чым гэты. 814 00:33:32,610 --> 00:33:35,770 Такім чынам, дазвольце мне ісці наперад тут і адкрыць некаторыя прыклады 815 00:33:35,770 --> 00:33:38,350 , Які заўсёды будзе на вэб-сайце курсу, а таксама і 816 00:33:38,350 --> 00:33:39,870 адкрыць hello2. 817 00:33:39,870 --> 00:33:42,910 Такім чынам, у hello2 тут, у нас ёсць праграма, якая робіць некалькі 818 00:33:42,910 --> 00:33:46,290 рэчы, але гэта не робіць гэта настолькі эфектыўна, наколькі мы маглі. 819 00:33:46,290 --> 00:33:48,900 Дык вось ён кажа: "прывітанне, свет" на працягу адной секунды, а затым чакае 820 00:33:48,900 --> 00:33:49,450 на секунду. 821 00:33:49,450 --> 00:33:51,720 А потым робіць гэта зноў, а затым робіць гэта зноў. 822 00:33:51,720 --> 00:33:55,530 Так што, калі я націскаю на зялёны сьцяг, Scratch кажа: "Добры дзень, свет. 823 00:33:55,530 --> 00:33:57,160 Добры дзень, свет. 824 00:33:57,160 --> 00:34:00,080 Добры дзень, свет ». І гэта, відавочна, кандыдат у цяперашні час для 825 00:34:00,080 --> 00:34:00,860 паляпшэнне. 826 00:34:00,860 --> 00:34:03,070 >> Што такое нязначнае паляпшэнне, спадзяюся, мы можам 827 00:34:03,070 --> 00:34:07,610 Цяпер зрабіць, калі да драпін падтрымлівае канцэпцыю? 828 00:34:07,610 --> 00:34:08,310 Свайго роду цыкл. 829 00:34:08,310 --> 00:34:10,960 Некаторыя віды паўтору, зараз, было б добра, таму дазвольце мне 830 00:34:10,960 --> 00:34:11,920 на самай справе паспрабаваць. 831 00:34:11,920 --> 00:34:13,870 Дазвольце мне на самой справе пайсці і перамясціць гэта. 832 00:34:13,870 --> 00:34:16,449 Такім чынам, апавяшчэнне можа аддзяліць блокі так жа лёгка, як вы можаце дадаць у 833 00:34:16,449 --> 00:34:17,420 прымацуеце іх. 834 00:34:17,420 --> 00:34:20,730 Адпусці мяне пад кантролем, пракруціць ўніз тут, і сапраўды, 835 00:34:20,730 --> 00:34:24,000 ёсць гэты кавалак галаваломкі тут, паўтор і назаўсёды і 836 00:34:24,000 --> 00:34:24,870 Калі назаўсёды. 837 00:34:24,870 --> 00:34:28,500 Такім чынам, ёсць шэраг спосабаў выражэння цыклічных канструкцый 838 00:34:28,500 --> 00:34:29,340 У Scratch. 839 00:34:29,340 --> 00:34:31,730 Той, які я, верагодна, хочаце тут не назаўсёды, таму што я толькі 840 00:34:31,730 --> 00:34:34,639 хочам, каб гэта адбылося тры разы, але, верагодна, паўтарыць. 841 00:34:34,639 --> 00:34:38,449 Такім чынам, дазвольце мне паўтарыць перацягнуць сюды, і перацягнуць яго, і 842 00:34:38,449 --> 00:34:42,530 Цяпер замест таго каб сказаць "прывітанне, свет" тры асобных разы, 843 00:34:42,530 --> 00:34:44,230 Дазвольце мне перацягнуць гэты паззл тут. 844 00:34:44,230 --> 00:34:46,610 І хоць яна не ўпісваецца, праграма разумны 845 00:34:46,610 --> 00:34:48,920 дастаткова, каб зразумець яно будзе расці, каб запоўніць, так што гэта 846 00:34:48,920 --> 00:34:51,270 форму, што матэрыя і не абсалютны памер. 847 00:34:51,270 --> 00:34:54,030 Дазвольце мне змяніць паўтораў да трох, а цяпер адпусьціў мяне 848 00:34:54,030 --> 00:34:56,560 наперад і перацягнуць Пачакайце адну секунду там жа. 849 00:34:56,560 --> 00:34:59,220 Гэта будзе хапаць у а, і таму цяпер я збіраюся перацягнуць 850 00:34:59,220 --> 00:35:01,370 гэтыя хлопцы тут і проста выкінуць іх, таму што я 851 00:35:01,370 --> 00:35:02,710 не маюць патрэбы ў іх больш. 852 00:35:02,710 --> 00:35:05,920 Дазвольце мне маштаб і націсніце зялёны сцяг зараз, і мы маем 853 00:35:05,920 --> 00:35:09,600 тую ж праграму, але, як я і прадказваў раней, лепш 854 00:35:09,600 --> 00:35:12,200 распрацаваны, таму што вы можаце сабе ўявіць, як дрэнна гэта праграма 855 00:35:12,200 --> 00:35:14,410 атрымалі б, вядома, эстэтычна, калі б вам прыйшлося 856 00:35:14,410 --> 00:35:16,640 пачаць капіяванне і ўстаўка, капіяванне і ўстаўка, або 857 00:35:16,640 --> 00:35:20,020 перацягваннем ж цыраваць рэчы зноў і зноў. 858 00:35:20,020 --> 00:35:22,260 >> Цяпер, проста кажу рэчы на ​​экране, друк 859 00:35:22,260 --> 00:35:25,350 Экран, на самай справе ўсё не так цікава, так давайце адкрыем 860 00:35:25,350 --> 00:35:26,580 3. дысперсія тут. 861 00:35:26,580 --> 00:35:29,810 А цяпер, як вы ўбачыце, гэта будзе хутка раздражняць - 862 00:35:29,810 --> 00:35:30,850 [MEOW] 863 00:35:30,850 --> 00:35:31,940 DAVID малая: - але гэта таксама міла. 864 00:35:31,940 --> 00:35:35,244 [MEOW] 865 00:35:35,244 --> 00:35:37,460 DAVID малая: Добра, так лепш, і мы, безумоўна, можа выкарыстоўваць гэта 866 00:35:37,460 --> 00:35:41,060 жа пераход адрыў да гэтага ў цыкл 867 00:35:41,060 --> 00:35:43,520 структуры, але давайце зробім яго яшчэ больш цікавым. 868 00:35:43,520 --> 00:35:47,480 >> Дазвольце мне ісці наперад і адкрываць 1/4 дысперсія тут, дзе я 869 00:35:47,480 --> 00:35:50,020 прымаць рэчы адзін крок наперад. 870 00:35:50,020 --> 00:35:54,450 Такім чынам, у адпаведнасці з гэтым, па-дурному, хоць гэта на першы 871 00:35:54,450 --> 00:35:58,530 погляд, тое, што гэтая праграма збіраецеся рабіць? 872 00:35:58,530 --> 00:35:59,790 Гэта будзе мяўкаць раз. 873 00:35:59,790 --> 00:36:00,160 Чаму? 874 00:36:00,160 --> 00:36:03,340 Ну, адзін ёсьць, наколькі я ведаю, заўсёды менш, чым два. 875 00:36:03,340 --> 00:36:04,890 Там няма паняцця выпадковасці тут. 876 00:36:04,890 --> 00:36:07,240 Я літаральна жорстка адзін і два, але гэта 877 00:36:07,240 --> 00:36:10,370 Напрыклад, зараз на самай справе з дапамогай лагічнага выразы. 878 00:36:10,370 --> 00:36:13,650 Шмат што падабаецца, як Іосіф зрабіў у сваім псевдокоде, водступы, калі 879 00:36:13,650 --> 00:36:17,170 Вы знойдзеце шкарпэткі затым выканаеце наступныя дзеянні, тут мы маем 880 00:36:17,170 --> 00:36:19,750 Калі адно выраз менш, чым два, то - 881 00:36:19,750 --> 00:36:21,820 а на самай справе ў нас нават ёсць трохі водступаў, 882 00:36:21,820 --> 00:36:24,480 дзе фіялетавыя злёгку водступам справа - 883 00:36:24,480 --> 00:36:26,600 Тады вы будзеце гуляць гук мяу. 884 00:36:26,600 --> 00:36:30,060 Зараз, у гэтым выпадку, што адзін заўсёды менш, чым два, так што гэта 885 00:36:30,060 --> 00:36:31,970 гэта свайго роду пустая трата стане. 886 00:36:31,970 --> 00:36:34,890 Але мы зможам, як мы ўбачым, для падлучэння іншых рэчаў у 887 00:36:34,890 --> 00:36:37,420 гэтыя запаўняльнікі, дзе адзін і два цяпер. 888 00:36:37,420 --> 00:36:41,340 Такім чынам, давайце прасоўвацца да прыкладу пяці з гэтых некалькіх 889 00:36:41,340 --> 00:36:45,850 прывітанняў і паглядзець на тое, што гэтая праграма будзе рабіць. 890 00:36:45,850 --> 00:36:48,710 >> Так што цяпер, у англійскай прапанове, як робіць гэта 891 00:36:48,710 --> 00:36:51,460 Праграма сябе паводзіць? 892 00:36:51,460 --> 00:36:52,950 Аўдыторыя: мяўкае палову часу. 893 00:36:52,950 --> 00:36:55,380 DAVID малая: палова Meow па часе, так што гэта спосаб 894 00:36:55,380 --> 00:36:56,700 перадачы вельмі простая ідэя. 895 00:36:56,700 --> 00:36:59,400 Хоць мы, здараецца, выкарыстоўваючы некаторыя няроўнасці тут 896 00:36:59,400 --> 00:37:01,860 у некаторых нумарах, гэта сапраўды толькі камуністычнай праграмы 897 00:37:01,860 --> 00:37:09,490 Дарэчы, дакладны спосаб, сказаць, калі манета ўпадзе арлом, перайдзіце 898 00:37:09,490 --> 00:37:10,270 наперадзе і мяўкаць. 899 00:37:10,270 --> 00:37:13,540 Ці наадварот, калі манета ўпадзе хвасты, не мяўкаць. 900 00:37:13,540 --> 00:37:15,110 І ў гэтым выпадку, як мы можам выказаць гэта? 901 00:37:15,110 --> 00:37:17,950 Мы выбіраем выпадковае лік ад 1 да 10, і калі гэта 902 00:37:17,950 --> 00:37:21,110 лік менш 6, ісці наперад і мяўканне. 903 00:37:21,110 --> 00:37:22,260 І як жа гэта сюды трапілі? 904 00:37:22,260 --> 00:37:24,620 Ну зноў, заўважце, проста перацягнуўшы і 905 00:37:24,620 --> 00:37:26,190 рэчы пстрычкі. 906 00:37:26,190 --> 00:37:28,020 >> Такім чынам, цяпер давайце паглядзім, калі гэта выпадковасць працуе. 907 00:37:28,020 --> 00:37:29,845 Дазвольце мне ісці наперад і націсніце зялёны сцяг. 908 00:37:29,845 --> 00:37:31,120 [MEOW] 909 00:37:31,120 --> 00:37:32,000 DAVID малая: Добра. 910 00:37:32,000 --> 00:37:33,430 [MEOW] 911 00:37:33,430 --> 00:37:35,260 DAVID малая: Добра. 912 00:37:35,260 --> 00:37:38,510 Добра, добра, так што мы атрымалі галавы, галовы, хвасты эфектыўна. 913 00:37:38,510 --> 00:37:39,295 Хвасты. 914 00:37:39,295 --> 00:37:39,590 [MEOW] 915 00:37:39,590 --> 00:37:41,829 DAVID малая: Heads. 916 00:37:41,829 --> 00:37:43,220 [MEOW] 917 00:37:43,220 --> 00:37:44,040 DAVID малая: Выдатна. 918 00:37:44,040 --> 00:37:46,220 Гэта заўсёды няёмка, калі толькі статыстычна вы атрымліваеце дрэнны 919 00:37:46,220 --> 00:37:48,510 бегаць, і ўсё гэта галовах, і праграма на самай справе не 920 00:37:48,510 --> 00:37:49,230 працаваць як можна было б спадзявацца. 921 00:37:49,230 --> 00:37:51,210 Але на гэты раз ён працаваў, і мы, здаецца, ёсць, калі б мы зрабілі 922 00:37:51,210 --> 00:37:53,830 гэта бясконцую колькасць раз, 50% шанцаў. 923 00:37:53,830 --> 00:37:56,950 Цяпер зноў жа, не ўсё, што цікава, толькі робячы котак 924 00:37:56,950 --> 00:37:59,840 мяу, так што давайце паглядзім, калі мы не можам прасунуць гэтую крыху далей 925 00:37:59,840 --> 00:38:01,820 тут, у шосты версіі. 926 00:38:01,820 --> 00:38:05,620 Такім чынам, зараз у нас ёсць сапраўды раздражняе версіі - 927 00:38:05,620 --> 00:38:08,215 [Мяўкаць кожныя некалькі секунд] 928 00:38:08,215 --> 00:38:10,640 DAVID малая: - і гэта тое, што вядома, наогул, як 929 00:38:10,640 --> 00:38:11,670 бясконцы цыкл. 930 00:38:11,670 --> 00:38:14,190 >> Так бясконцы цыкл у гэтым выпадку дрэнна сябе адчувае. 931 00:38:14,190 --> 00:38:16,970 Гэта вызначана збіраюся пачаць гучанне дрэннае, і яшчэ бясконцая 932 00:38:16,970 --> 00:38:18,740 Завесы не заўсёды дрэнна. 933 00:38:18,740 --> 00:38:20,910 Ці можаце вы ўзгадаць кантэкст, у кампутарных праграмах, дзе трэба 934 00:38:20,910 --> 00:38:22,910 на самой справе хочаце бясконцы цыкл? 935 00:38:22,910 --> 00:38:23,691 Да? 936 00:38:23,691 --> 00:38:26,520 Аўдыторыя: Калі вы хочаце, каб праверыць стан. 937 00:38:26,520 --> 00:38:28,240 DAVID малая: Добра, калі вы хочаце працягваць правяраць стан? 938 00:38:28,240 --> 00:38:29,190 Як што? 939 00:38:29,190 --> 00:38:30,440 Аўдыторыя: [неразборліва] 940 00:38:36,060 --> 00:38:38,170 DAVID малая: Добра, добра, так што калі ў вас некалькі праграм, некаторыя 941 00:38:38,170 --> 00:38:40,440 выгляд хатняй аўтаматызацыі рэч, дзе вы хочаце, каб пастаянна 942 00:38:40,440 --> 00:38:41,980 Манітор нешта выпадку. 943 00:38:41,980 --> 00:38:42,850 Ці з'яўляюцца святло? 944 00:38:42,850 --> 00:38:45,020 Ёсць святло, таму што, можа быць, у вас ёсць таймер, і 945 00:38:45,020 --> 00:38:47,360 Вы хочаце, каб сысці, вам давядзецца нешта рабіць 946 00:38:47,360 --> 00:38:48,290 зноў і зноў. 947 00:38:48,290 --> 00:38:50,540 І на самай справе, кажучы пра таймеры, любы з вас, хто 948 00:38:50,540 --> 00:38:53,100 Гадзіннік на кампутары ці лічбавыя гадзіны, гэта 949 00:38:53,100 --> 00:38:54,210 бясконцы цыкл. 950 00:38:54,210 --> 00:38:56,980 Ён працягвае абнаўляць часу, таму што ён увесь час 951 00:38:56,980 --> 00:38:59,750 праверка і праверка і праверка ёсць час змянілася, 952 00:38:59,750 --> 00:39:01,000 і калі так, о, мой Бог. 953 00:39:03,670 --> 00:39:04,740 Гадзіннік, нарэшце, змяніўся. 954 00:39:04,740 --> 00:39:07,020 Ён павінен паказваць, што каштоўнасць для вас. 955 00:39:07,020 --> 00:39:10,880 Такім чынам, у той час як вялікую частку часу бясконцыя цыклы з'яўляюцца памылкай, 956 00:39:10,880 --> 00:39:13,950 або па крайняй меры дрэнным рашэннем дызайну, часам яны не робяць 957 00:39:13,950 --> 00:39:14,785 маюць сваю каштоўнасць. 958 00:39:14,785 --> 00:39:18,170 >> Ну, давайце рухацца далей тут, каб hello7. 959 00:39:18,170 --> 00:39:20,410 Так што цяпер праграма будзе атрымаць крыху больш інтэрактыўным. 960 00:39:20,410 --> 00:39:23,120 Дазвольце мне павялічыць тут, і зноў, гэта тое, што прыемна 961 00:39:23,120 --> 00:39:23,640 Аб Scratch. 962 00:39:23,640 --> 00:39:26,760 І мы будзем выкарыстоўваць гэта, каб быць ясным, Scratch, толькі сёння і ў 963 00:39:26,760 --> 00:39:27,780 Праблема наступным тыдні ўстаноўлены. 964 00:39:27,780 --> 00:39:31,920 Але ў панядзелак, мы пагрузіцца ў С. У гэтай праграме, гэта так, 965 00:39:31,920 --> 00:39:33,190 назаўсёды, у наступным. 966 00:39:33,190 --> 00:39:35,890 Калі закранаць паказальнік мышы - зараз, хто 967 00:39:35,890 --> 00:39:36,420 кантэксту тут? 968 00:39:36,420 --> 00:39:39,670 Ну, і заўважыў, што хто абраны тут унізе 969 00:39:39,670 --> 00:39:43,060 Справа знаходзіцца кошка, спрайт адзін, так што гэтыя сцэнары, гэта 970 00:39:43,060 --> 00:39:45,720 Праграма, ставіцца да яго адмыслова. 971 00:39:45,720 --> 00:39:48,950 Так што, калі котка дотыку паказальніка мышы, то гэта будзе 972 00:39:48,950 --> 00:39:51,350 каб гуляць у гэтую ўніз і чакаць дзве секунды, і 973 00:39:51,350 --> 00:39:53,030 затым паўтарыць да млоснасці. 974 00:39:53,030 --> 00:39:55,360 >> Так што давайце ісці наперад і ўдарыў гульню. 975 00:39:55,360 --> 00:39:57,580 Нічога не адбываецца, але калі я хачу, каб пагладзіць 976 00:39:57,580 --> 00:39:59,310 Котка зараз, я магу проста. 977 00:39:59,310 --> 00:40:01,130 [MEOW] 978 00:40:01,130 --> 00:40:02,244 DAVID малая: чароўныя. 979 00:40:02,244 --> 00:40:05,956 [MEOW] 980 00:40:05,956 --> 00:40:08,750 DAVID малая: Добра, менш раздражняе, але таксама атрымлівае сумна, 981 00:40:08,750 --> 00:40:11,480 так што давайце рухацца далей і паглядзець, калі мы не можам ўводзіць 982 00:40:11,480 --> 00:40:12,460 трохі больш логікі. 983 00:40:12,460 --> 00:40:14,300 Гэта быў прыклад сем. 984 00:40:14,300 --> 00:40:16,090 >> Тут у прыклад восем, мы збіраемся 985 00:40:16,090 --> 00:40:18,670 ўвесці ELSE стане. 986 00:40:18,670 --> 00:40:21,440 Так шмат, як літаральнае скрыжаванні дарог, у якіх вы можаце пайсці 987 00:40:21,440 --> 00:40:24,260 налева або вы можаце ісці прама, стан, пры праграмаванні 988 00:40:24,260 --> 00:40:28,120 мову, як Scratch, або, як мы ўбачым, C, можа дазволіць вам 989 00:40:28,120 --> 00:40:32,230 ідуць у адным напрамку або сябрам праз IF ELSE пабудаваць. 990 00:40:32,230 --> 00:40:35,160 Так што цалкам літаральна, калі дотыку паказальніка мышы, гэта 991 00:40:35,160 --> 00:40:38,680 будзе гуляць нейкі гук, інакш ён будзе гуляць гэтую сябра 992 00:40:38,680 --> 00:40:39,800 гук, мяўканне. 993 00:40:39,800 --> 00:40:42,510 Зараз, калі вы можаце заключыць з назвы гэтыя гукі, вы можаце 994 00:40:42,510 --> 00:40:45,310 напэўна, здагадаліся, што гэтая праграма прызначаецца, каб выклікаць ва ўяўленні 995 00:40:45,310 --> 00:40:46,250 ідэі. 996 00:40:46,250 --> 00:40:48,742 Гэтая котка мяўкае шчасліва. 997 00:40:48,742 --> 00:40:49,230 [MEOW] 998 00:40:49,230 --> 00:40:51,410 DAVID малая: на шчасце, але не 999 00:40:51,410 --> 00:40:52,926 вельмі хацеў быць закрануты. 1000 00:40:52,926 --> 00:40:54,550 [Раве] 1001 00:40:54,550 --> 00:40:57,500 DAVID малая: Такім чынам, зараз у нас ёсць кот, які будзе крычаць на вас. 1002 00:40:57,500 --> 00:41:00,570 >> Добра, добра, адзін апошні прыклад з коткамі тут, і 1003 00:41:00,570 --> 00:41:02,920 Давайце адкрытай версіі дзевяці гэтым тут. 1004 00:41:02,920 --> 00:41:06,190 Такім чынам, зараз у нас ёсць наступная самым раздражняльным гукам, што я мог 1005 00:41:06,190 --> 00:41:11,630 знайсці, таму мы павінны маржа або марскога льва, хто збіраецца 1006 00:41:11,630 --> 00:41:13,222 выканайце наступныя дзеянні. 1007 00:41:13,222 --> 00:41:20,870 [SEAL Барка] 1008 00:41:20,870 --> 00:41:23,310 DAVID малая: Добра, так гэта будзе працягвацца, пакуль вы высветліць, як 1009 00:41:23,310 --> 00:41:24,640 гэтая праграма працуе. 1010 00:41:24,640 --> 00:41:28,560 Таму ў гэты раз, гэта жывёла мае два сцэнарыя, і што 1011 00:41:28,560 --> 00:41:31,050 Тут цікава тое, што гэтыя сцэнары збіраюцца выконваць 1012 00:41:31,050 --> 00:41:32,260 паралельна. 1013 00:41:32,260 --> 00:41:35,340 Такім чынам таму, што яны абодва пачынаюцца з адным зялёным сцягам націску 1014 00:41:35,340 --> 00:41:38,080 Гэта як пайсці, як гэта, і абедзве праграмы пачнецца паказ гэтага 1015 00:41:38,080 --> 00:41:41,370 аднойчы нават калі яны цыкл назаўжды. 1016 00:41:41,370 --> 00:41:44,420 Такім чынам, у верхняй сцэнар, у мяне ёсць логіка. 1017 00:41:44,420 --> 00:41:49,275 Якія функцыі, якія забяспечваюць там? 1018 00:41:49,275 --> 00:41:50,740 [SEAL Барка] 1019 00:41:50,740 --> 00:41:51,670 Аўдыторыя: [неразборліва] 1020 00:41:51,670 --> 00:41:53,295 DAVID малая: Калі гэта што? 1021 00:41:53,295 --> 00:41:53,760 [SEAL Барка] 1022 00:41:53,760 --> 00:41:55,852 Аўдыторыя: Калі прыглушаных да нуля, ён збіраецца працягваць гуляць 1023 00:41:55,852 --> 00:41:58,410 гучала. [SEAL Барка] 1024 00:41:58,410 --> 00:41:58,940 DAVID малая: Добра, добра. 1025 00:41:58,940 --> 00:42:01,960 Так што, калі прыглушаныя, незалежна ад гэтага, гэтая аранжавая рэч роўная нулю, 1026 00:42:01,960 --> 00:42:05,370 Тады гуляць гук марскога льва і думаць: "О, 1027 00:42:05,370 --> 00:42:06,770 прывітанне, "на працягу двух секунд. 1028 00:42:06,770 --> 00:42:09,380 Зараз, я не ведаю, што гэта прыглушаныя, але нуля выклікае ва ўяўленні 1029 00:42:09,380 --> 00:42:11,230 Ідэя ілжывай ці не. 1030 00:42:11,230 --> 00:42:14,490 Так што, калі прыглушаныя з'яўляецца ілжывым, так што калі не адключаны, 1031 00:42:14,490 --> 00:42:15,660 працягваць гуляць гук. 1032 00:42:15,660 --> 00:42:17,350 Добра, добра, як мы можам адключыць гэтую рэч? 1033 00:42:17,350 --> 00:42:19,310 >> Ну, давайце паглядзім на другі сцэнар там. 1034 00:42:19,310 --> 00:42:22,130 Другі сцэнар кажа усталяваны прыглушаных да нуля. 1035 00:42:22,130 --> 00:42:25,180 Звярніце ўвагу, што гэта таксама аранжавыя, так што драпін робіць гэта колер 1036 00:42:25,180 --> 00:42:27,400 блокі ў той жа адценне, калі гэта свайго роду 1037 00:42:27,400 --> 00:42:28,850 лагічна звязаныя паміж сабой. 1038 00:42:28,850 --> 00:42:32,850 Гэтак жа, як прыглушаныя папоўніць быў аранжавым, так адключаны тут 1039 00:42:32,850 --> 00:42:34,060 згаданыя ў аранжавым блоку. 1040 00:42:34,060 --> 00:42:36,170 Але гэта значэнне зменнай, так як у 1041 00:42:36,170 --> 00:42:39,170 Алгебра, у вас ёсць х, у і г, у праграмаванні ў вас ёсць 1042 00:42:39,170 --> 00:42:41,440 зменных, але яны ў цэлым - 1043 00:42:41,440 --> 00:42:42,580 давайце паўзу на імгненне і зразумець, як 1044 00:42:42,580 --> 00:42:44,280 каб спыніць гэты брэх. 1045 00:42:44,280 --> 00:42:45,480 Як мне гэта зрабіць? 1046 00:42:45,480 --> 00:42:46,480 [SEAL Барка] 1047 00:42:46,480 --> 00:42:47,920 DAVID малая: Добра. 1048 00:42:47,920 --> 00:42:49,490 Ён спыніўся. Добра. 1049 00:42:49,490 --> 00:42:52,230 >> Гэтак жа, як у алгебры ў вас ёсць зменныя х, у, г, а ў 1050 00:42:52,230 --> 00:42:55,260 праграмавання, якія маюць такія зменныя, як х, у, г, як правіла, 1051 00:42:55,260 --> 00:42:57,330 неадабрэннем, таму што яны зусім не выразна. 1052 00:42:57,330 --> 00:43:00,070 Яны не маюць ніякага сэнсавага значэння наогул, так што ў большасці 1053 00:43:00,070 --> 00:43:02,110 Мовы праграмавання, зменныя могуць мець поўную 1054 00:43:02,110 --> 00:43:05,270 Оперы імёны або слова ці фразы, як прыглушаныя, не кажучы 1055 00:43:05,270 --> 00:43:06,030 што яны робяць. 1056 00:43:06,030 --> 00:43:09,380 Такім чынам, гэта другі сцэнар таксама слухаў назаўсёды, і ён сказаў, 1057 00:43:09,380 --> 00:43:12,100 калі ключ, Касмічныя клавішы клавіятуры, з'яўляецца 1058 00:43:12,100 --> 00:43:13,370 націску знак пытання. 1059 00:43:13,370 --> 00:43:16,300 Так што стан з лагічнага выразы, што гэта 1060 00:43:16,300 --> 00:43:19,010 збіраецца адказаць на пытанне, альбо праўдзіва або ілжыва, 1061 00:43:19,010 --> 00:43:22,880 то ў мяне ўнутры яго, калі прастору націску клавішы 1062 00:43:22,880 --> 00:43:28,020 Калі прыглушаныя роўная нулю, устаноўлены прыглушаныя да аднаго, ELSE ўсталяваць прыглушаных да нуля. 1063 00:43:28,020 --> 00:43:30,510 Такім чынам, гэта іншае скрыжаванні дарог, і звярніце ўвагу, як я 1064 00:43:30,510 --> 00:43:33,500 укладзенымі два, калі ўмовы, з'яўляецца спосабам праверкі з'яўляецца 1065 00:43:33,500 --> 00:43:36,610 Прабел націснутай, таму што калі гэта так, я альбо хочуць ісці па гэтым 1066 00:43:36,610 --> 00:43:38,000 так ці так. 1067 00:43:38,000 --> 00:43:40,210 І як я магу інвертаваць значэнне прыглушаныя? 1068 00:43:40,210 --> 00:43:41,410 Я павінен праверыць гэта нуль? 1069 00:43:41,410 --> 00:43:45,890 Калі так, то гэта адно, другое зрабіць гэта нуль таму пераключэнне 1070 00:43:45,890 --> 00:43:47,670 сваіх дзвюх дзяржаў. 1071 00:43:47,670 --> 00:43:50,030 >> Добра, у нас ёсць тое некаторыя з гэтых фундаментальных 1072 00:43:50,030 --> 00:43:50,540 канструкцыямі. 1073 00:43:50,540 --> 00:43:52,810 У нас ёсць лагічныя выразы, і разумею, таксама, гэтыя 1074 00:43:52,810 --> 00:43:54,050 Не ўсё, што незнаёмыя. 1075 00:43:54,050 --> 00:43:56,730 На самай справе, вось хуткі скрыншот з Гарвардскага курсу CS50 1076 00:43:56,730 --> 00:43:59,740 гандлёвы інструмент, і любы вэб-сайт, што там ёсць сцяжкоў 1077 00:43:59,740 --> 00:44:02,420 і падзенне падзення, сапраўды, увесь гэты час, выкарыстоўваюць 1078 00:44:02,420 --> 00:44:03,430 Лагічных выразаў. 1079 00:44:03,430 --> 00:44:05,760 У гэтым выпадку тут, калі вы ўсталюеце сцяжок побач з 1080 00:44:05,760 --> 00:44:08,620 Вядома больш або роўная 4,5, або жа побач з 1081 00:44:08,620 --> 00:44:11,200 факультэт, вы паказваеце лагічны выраз. 1082 00:44:11,200 --> 00:44:14,780 Пакажыце мне курсаў, для якіх гэты выраз праўдзівае. 1083 00:44:14,780 --> 00:44:17,080 Ці маеце рацыю, не канфліктуе з курсаў я 1084 00:44:17,080 --> 00:44:20,440 прымаць, калі гэта праверылі, то так, вы хочаце праверыць 1085 00:44:20,440 --> 00:44:22,890 што ўмова, што вы хочаце, каб яго ігнараваць. 1086 00:44:22,890 --> 00:44:25,170 Такім чынам, лагічныя выразы з'яўляюцца свайго роду ўсё вакол, але калі 1087 00:44:25,170 --> 00:44:28,080 мы ставім іх ва ўмовы, калі ці ўмовы, калі 1088 00:44:28,080 --> 00:44:30,480 Эльсес, ці мы можам нават імітаваць глыбокі 1089 00:44:30,480 --> 00:44:32,830 узроўняў, IF ELSE IF ELSE - 1090 00:44:32,830 --> 00:44:34,430 так што гэта свайго роду патройны дзяржавы. 1091 00:44:34,430 --> 00:44:36,920 Вы можаце ісці па гэтым шляху або так ці так. 1092 00:44:36,920 --> 00:44:39,680 Мы можам захаваць ўкладання рэчаў, каб пайсці ў розных напрамках. 1093 00:44:39,680 --> 00:44:41,800 >> Так драпіна гэтыя завесы, як Forever. 1094 00:44:41,800 --> 00:44:44,750 Яна мае наступныя функцыі, такія як Паўтарыць 10, некаторыя 1095 00:44:44,750 --> 00:44:46,260 канечны лік раз. 1096 00:44:46,260 --> 00:44:49,040 У нас ёсць магчымасць зараз, каб усталяваць зменныя, таму ў дадзеным выпадку 1097 00:44:49,040 --> 00:44:51,810 Я абвясьціў, напрыклад, зменная званыя шкарпэткі. 1098 00:44:51,810 --> 00:44:54,340 Я ініцыялізуецца ў 0, і гэта яшчэ адзін напрамак 1099 00:44:54,340 --> 00:44:56,940 мы маглі б узяць тут з Іосіфам, якому, магчыма, я 1100 00:44:56,940 --> 00:45:00,150 проста адсочваць, колькі шкарпэтак у мяне ёсць, і спыніць 1101 00:45:00,150 --> 00:45:03,490 праграмы, калі значэнне гэтай зменнай роўна 2. 1102 00:45:03,490 --> 00:45:05,660 Гэта быў бы яшчэ адзін спосаб роду абагульнення, што 1103 00:45:05,660 --> 00:45:08,820 праблемы і рабіць нешта зноў і зноў. 1104 00:45:08,820 --> 00:45:12,080 Ну, давайце ісці наперад і цяпер ўвесці пару новых рэчаў. 1105 00:45:12,080 --> 00:45:14,100 Так што тыя з вас, да праграмавання вопыт будзе 1106 00:45:14,100 --> 00:45:17,120 Вядома, што многія мовы маюць масівы або вектары або 1107 00:45:17,120 --> 00:45:19,970 спісы, і сапраўды, драпіна нешта накшталт гэтага, таксама. 1108 00:45:19,970 --> 00:45:22,510 Такім чынам, давайце паглядзім, калі мы не можам узяць рэчы на ​​наступны ўзровень тут. 1109 00:45:22,510 --> 00:45:24,920 Калі ў мяне ёсць магчымасць, то зараз, з гэтымі кавалачкі галаваломкі, каб 1110 00:45:24,920 --> 00:45:29,080 нешта дадаць, напрыклад, слова ці ліку, зменнай, я магу 1111 00:45:29,080 --> 00:45:30,550 пачынаюць назапашвацца рэчы. 1112 00:45:30,550 --> 00:45:33,630 І гэта на самай справе вельмі дарэчы такія рэчы, як гульні, 1113 00:45:33,630 --> 00:45:35,810 ролевых гульняў, дзе ты накшталт хадзіць 1114 00:45:35,810 --> 00:45:38,600 некаторыя фантазіі свеце, збіраючы рэчы, збіраючы рэчы, 1115 00:45:38,600 --> 00:45:39,900 зарабляць ачкі, і таму падобнае. 1116 00:45:39,900 --> 00:45:42,310 Вы можаце сачыць за нейкі інвентар, і 1117 00:45:42,310 --> 00:45:45,180 Сапраўды, гэта тое, што адзін з нашых былых студэнтаў тут зрабілі з 1118 00:45:45,180 --> 00:45:47,750 тое, што называецца Fruitcraft RPG. 1119 00:45:47,750 --> 00:45:51,820 >> Такім чынам, дазвольце мне ісці наперад і адкрываць гэтую рэч тут, і ў 1120 00:45:51,820 --> 00:45:56,260 Fruitcraft, у нас ёсць гэты свет уверх на вяршыню. 1121 00:45:56,260 --> 00:45:58,820 Такім чынам, дазвольце мне ісці наперад і націсніце зялёны сцяг. 1122 00:45:58,820 --> 00:46:01,040 Звярніце ўвагу на левы верхні з'яўляецца свайго роду інвентарызацыю. 1123 00:46:01,040 --> 00:46:04,110 Гэта ажыццяўляецца ў драпін як тое, што мы называем масіва або 1124 00:46:04,110 --> 00:46:06,890 спіс, і цяпер у нас ёсць гэтая маленькая анімацыя. 1125 00:46:06,890 --> 00:46:10,440 Гэтак жа, як мы пачалі раней з гэтай гісторыяй кахання печыва, 1126 00:46:10,440 --> 00:46:13,320 і тады мы прасунуліся на котак і марскіх львоў, зараз мы можам 1127 00:46:13,320 --> 00:46:15,100 рэчы, якія з'яўляюцца яшчэ больш інтэрактыўным. 1128 00:46:15,100 --> 00:46:18,250 І гэты маленькі блакітны хлопец, я магу пачаць рухацца вакол яго 1129 00:46:18,250 --> 00:46:19,500 трохі тут як дома. 1130 00:46:19,500 --> 00:46:22,570 Так гэта выглядае, як быццам ён атрымаў выхад тут, таму я выкарыстоўваю 1131 00:46:22,570 --> 00:46:25,260 клавішы са стрэлкамі, уверх, уніз, налева направа. 1132 00:46:25,260 --> 00:46:28,370 І зараз я звонку, так няхай тое, што я трапіў сюды. 1133 00:46:28,370 --> 00:46:30,920 Падобна на тое, аранжавыя, і сапраўды, як толькі я дакранаюся 1134 00:46:30,920 --> 00:46:33,110 аранжавы, ён атрымлівае пляснуўся ў маім інвентары. 1135 00:46:33,110 --> 00:46:35,640 Калі я іду сюды, каб вішні, зараз у мяне ёсць сёе-тое 1136 00:46:35,640 --> 00:46:36,760 астатняе ў маім інвентары. 1137 00:46:36,760 --> 00:46:39,100 І гэта ўсё прыгожа і міла, але думаць пра тое, як цяпер, гэта 1138 00:46:39,100 --> 00:46:39,840 рэалізаваны. 1139 00:46:39,840 --> 00:46:42,490 Ну, у нас гэта паняцце спісу, і гэта відавочна 1140 00:46:42,490 --> 00:46:45,470 паззл, што вы толькі што сказалі, што вы хочаце дадаць да гэтага, дадайце 1141 00:46:45,470 --> 00:46:46,950 апельсіна, дадаць вішні. 1142 00:46:46,950 --> 00:46:48,540 Цяпер, тое, што гэтая маленькая сіняя хлопец робіць? 1143 00:46:48,540 --> 00:46:49,810 Ну, ён спрайт. 1144 00:46:49,810 --> 00:46:52,190 І па-відаць, аранжавы і вішні - 1145 00:46:52,190 --> 00:46:54,140 яны самі былі асобныя спрайт. 1146 00:46:54,140 --> 00:46:56,980 І, выкарыстоўваючы ўмовы ў лагічныя выразы, 1147 00:46:56,980 --> 00:47:00,530 Студэнт быў, верагодна, у стане выказаць Калі сіні хлопец 1148 00:47:00,530 --> 00:47:04,590 дакранаючыся вішні затым дадаць слова вішня яго 1149 00:47:04,590 --> 00:47:07,890 інвентарызацыі, а затым і схаваць вішні спрайт. 1150 00:47:07,890 --> 00:47:10,600 Такім чынам, пад капотам, там, верагодна, па-ранейшаму з'яўляецца вішня 1151 00:47:10,600 --> 00:47:11,350 спрайт там. 1152 00:47:11,350 --> 00:47:14,160 Мы толькі што сказалі, каб ён стаў эфектыўным нябачным. 1153 00:47:14,160 --> 00:47:16,340 >> Цяпер, калі я працягваць ісці сюды, мы таксама можам гэта зрабіць 1154 00:47:16,340 --> 00:47:19,150 праксімальных рэч, куды я магу пайсці і прачытаць знак. 1155 00:47:19,150 --> 00:47:23,170 Такім чынам, калі сінія хлопец дакранаючыся знак, мы можам гэта сказаць блока 1156 00:47:23,170 --> 00:47:26,455 гэтак жа, як коткі гаварыў з намі ў словах, прывітанне, раней, "Got 1157 00:47:26,455 --> 00:47:26,880 некаторыя гародніна? 1158 00:47:26,880 --> 00:47:29,290 Прынясіце яго да садавіны месца ". Добра, так і цяпер, па-відаць, 1159 00:47:29,290 --> 00:47:30,550 У мяне ёсць напрамкі. 1160 00:47:30,550 --> 00:47:33,050 Я магу пайсці сюды, каб плады месца, выраўнаваць сябе ў парадак 1161 00:47:33,050 --> 00:47:33,740 з дзвярыма. 1162 00:47:33,740 --> 00:47:35,390 Дык вось, я тут. 1163 00:47:35,390 --> 00:47:38,120 Я магу падысці да чалавека за стойкай. 1164 00:47:38,120 --> 00:47:40,330 Ён выяўляе, што я побач з ім, таму ён не павінен быць 1165 00:47:40,330 --> 00:47:46,780 зусім аднолькава кранальна, і я выйграў. 1166 00:47:46,780 --> 00:47:49,890 Так што ў нас ёсць Fruitcraft RPG. 1167 00:47:49,890 --> 00:47:52,200 >> Такім чынам, мы можам зрабіць рэчы яшчэ больш прасунуты, чым гэта. 1168 00:47:52,200 --> 00:47:53,200 Мы можам дадаць гукі. 1169 00:47:53,200 --> 00:47:54,610 Мы можам дадаць псеўда выпадковасці. 1170 00:47:54,610 --> 00:47:56,260 Мы можам дадаць складанасці. 1171 00:47:56,260 --> 00:47:58,490 Дазвольце мне ісці наперад тут, і замест таго, рабіць гэта сам, 1172 00:47:58,490 --> 00:48:01,240 Дазвольце мне паказаць вам адну з больш складаных уяўленняў 1173 00:48:01,240 --> 00:48:06,640 мы атрымалі ў мінулым годзе ад пэўных нейкі Блэйк. 1174 00:48:06,640 --> 00:48:08,910 Можа ў нас ёсць адзін добраахвотнік, які зручна з'яўляцца на 1175 00:48:08,910 --> 00:48:12,600 камера і з'яўляецца для гуляеце ў гульню? 1176 00:48:12,600 --> 00:48:13,450 Як наконт прама там? 1177 00:48:13,450 --> 00:48:15,380 Падымайся. 1178 00:48:15,380 --> 00:48:19,680 Добра, так што гульня, якую вы толькі што несвядома 1179 00:48:19,680 --> 00:48:20,780 падахвоціліся гуляць - 1180 00:48:20,780 --> 00:48:25,910 [Апладысменты] 1181 00:48:25,910 --> 00:48:28,610 DAVID малая: - гэта нешта з мінулага называецца 1182 00:48:28,610 --> 00:48:30,100 "Frogger". Як цябе клічуць? 1183 00:48:30,100 --> 00:48:30,730 RENDA: Рэндзі. 1184 00:48:30,730 --> 00:48:31,050 DAVID малая: Redna? 1185 00:48:31,050 --> 00:48:32,530 RENDA: Гэта як Брэнда з б. 1186 00:48:32,530 --> 00:48:33,190 DAVID малая: Добра, Рэндзі. 1187 00:48:33,190 --> 00:48:33,590 Давід. 1188 00:48:33,590 --> 00:48:34,580 Вельмі прыемна. 1189 00:48:34,580 --> 00:48:38,690 >> Так вось у "Frogger", і калі б мы маглі павялічыць гучнасць толькі 1190 00:48:38,690 --> 00:48:39,780 трохі, вы гэта маленькае 1191 00:48:39,780 --> 00:48:41,010 Зялёная жаба на дне. 1192 00:48:41,010 --> 00:48:43,940 Вы можаце выкарыстоўваць налева, направа, уверх і ўніз, і ваша мэта складаецца ў 1193 00:48:43,940 --> 00:48:46,510 перайсці вуліцу, перасекчы раку, і дакрануцца да лілеі 1194 00:48:46,510 --> 00:48:47,760 у верхняй частцы. 1195 00:48:52,090 --> 00:48:53,440 Aw. 1196 00:48:53,440 --> 00:48:54,630 Яшчэ адзін т - 1197 00:48:54,630 --> 00:48:56,400 паўтор, усё ў парадку? 1198 00:48:56,400 --> 00:48:58,890 Давайце хіт прыпынку. 1199 00:48:58,890 --> 00:49:00,140 Ніхто не бачыў гэтага. 1200 00:49:10,470 --> 00:49:12,930 [Апладысменты] 1201 00:49:17,023 --> 00:49:17,850 [Апладысменты] 1202 00:49:17,850 --> 00:49:19,341 DAVID малая: Так. 1203 00:49:19,341 --> 00:49:20,832 Вельмі добра зроблена. 1204 00:49:20,832 --> 00:49:22,082 Выдатна, дзякуй. 1205 00:49:27,300 --> 00:49:29,430 >> Так што не было Frogger. Зараз, калі вы ведаеце, што ў Вас ёсць 1206 00:49:29,430 --> 00:49:32,170 атрымаў сабе ў яшчэ адзін валанцёр для розных 1207 00:49:32,170 --> 00:49:34,910 гульня прадстаўлены іншым студэнтам. 1208 00:49:34,910 --> 00:49:35,560 Вы хочаце, каб прыйсці на ўверх? 1209 00:49:35,560 --> 00:49:36,576 Як цябе клічуць? 1210 00:49:36,576 --> 00:49:37,000 RICHARD: Рычард. 1211 00:49:37,000 --> 00:49:37,420 DAVID малая: Рычард. 1212 00:49:37,420 --> 00:49:39,732 Усё ў парадку, Рычард, давай ўверх. 1213 00:49:39,732 --> 00:49:42,187 [Апладысменты] 1214 00:49:45,140 --> 00:49:47,030 DAVID малая: у вас ёсць нешта, што будзе гучаць 1215 00:49:47,030 --> 00:49:54,180 знаёмы ў бліжэйшы час, так што тут вашы ўказанні. 1216 00:49:54,180 --> 00:49:56,580 Такім чынам, у цяперашні час некаторыя кавалачкі галаваломкі збіраюцца для пракруткі уверх 1217 00:49:56,580 --> 00:49:58,150 з экрана, якія выглядаюць як злева 1218 00:49:58,150 --> 00:49:59,450 або направа уверх ці ўніз. 1219 00:49:59,450 --> 00:50:01,230 Вы будзеце мець, каб ўразіць стрэлкі такім чынам, 1220 00:50:01,230 --> 00:50:04,540 , Што адпавядае тым кавалачкі галаваломкі выстройваюцца ў чаргу з 1221 00:50:04,540 --> 00:50:05,720 запаўняльнікаў на вяршыні. 1222 00:50:05,720 --> 00:50:07,500 Таму, калі вы бачыце стрэлку налева, і ён на адной лініі з левай 1223 00:50:07,500 --> 00:50:09,260 стрэлку, націсніце левую стрэлку. 1224 00:50:09,260 --> 00:50:10,866 Вы можаце пачаць. 1225 00:50:10,866 --> 00:50:13,674 [MUSIC - "мацней" Kayne WEST] 1226 00:51:21,222 --> 00:51:23,470 DAVID малая: Усё правільна, вялікі выбух апладысментаў для Рычарда. 1227 00:51:23,470 --> 00:51:26,082 [Апладысменты] 1228 00:51:32,426 --> 00:51:33,720 DAVID малая: Вельмі добра зроблена. 1229 00:51:33,720 --> 00:51:34,110 Дзякуй. 1230 00:51:34,110 --> 00:51:37,104 [Апладысменты] 1231 00:51:41,600 --> 00:51:44,330 >> DAVID малая: Так весела і, па-відаць, свайго роду 1232 00:51:44,330 --> 00:51:46,590 жахліва, як гэта можа быць, каб ажыццявіць тое, як 1233 00:51:46,590 --> 00:51:49,550 здавалася б, складаныя, як гэта, разумееш, што студэнт 1234 00:51:49,550 --> 00:51:51,450 не ставіў перад сабой і проста напісаць гэта ўсё адразу. 1235 00:51:51,450 --> 00:51:54,200 Замест гэтага, вы можаце зламаць праблема, як здавалася б, складаныя 1236 00:51:54,200 --> 00:51:56,840 як гэта ў значна меншых кавалкаў, і гэта таксама 1237 00:51:56,840 --> 00:51:57,560 будзе тэмай. 1238 00:51:57,560 --> 00:52:00,490 Горшае, што вы можаце зрабіць у напісанні праграмы ў большасці любыя 1239 00:52:00,490 --> 00:52:03,480 мову, каб сесці, стаць сапраўды узбуджаны, напісаць 1240 00:52:03,480 --> 00:52:07,200 ўсю гэтую чортаву рэч, а потым проста спадзяюся, што гэта працуе, 1241 00:52:07,200 --> 00:52:08,510 раз, калі вы скончылі пісаць. 1242 00:52:08,510 --> 00:52:10,920 Хутчэй за ўсё, працэс праграмавання як правіла, павінны 1243 00:52:10,920 --> 00:52:13,440 вельмі наўмысным, вельмі итерационный, у якім вы проста 1244 00:52:13,440 --> 00:52:16,955 ўсталяваны вельмі маленькія крокі для сябе, маленькія кавалачкі 1245 00:52:16,955 --> 00:52:20,070 Вы хочаце, каб адкусіць, і так, што ў вас ёсць гэтыя разважнасці 1246 00:52:20,070 --> 00:52:21,740 чэкі, мала вехі вы можаце сустрэцца. 1247 00:52:21,740 --> 00:52:24,170 А потым пабудаваць на вяршыні тых, для стварэння больш 1248 00:52:24,170 --> 00:52:25,400 складаныя рэчы да гэтага часу. 1249 00:52:25,400 --> 00:52:26,820 >> Так, напрыклад, як мы маглі б ісці аб 1250 00:52:26,820 --> 00:52:28,380 ажыццяўленне такой гульні? 1251 00:52:28,380 --> 00:52:30,160 Ну, шчыра кажучы, я б, вядома, пачаць з толькі што 1252 00:52:30,160 --> 00:52:32,260 падтрымка аднаго ключа адначасова. 1253 00:52:32,260 --> 00:52:34,840 Давайце проста рэалізаваць падтрымку са стрэлкай налева. 1254 00:52:34,840 --> 00:52:37,610 Такім чынам, студэнт павінен быў нейкім чынам стварыць у Photoshop, або ў 1255 00:52:37,610 --> 00:52:40,340 Драпіна сябе з дапамогай маленькага графічнага рэдактара, 1256 00:52:40,340 --> 00:52:42,680 стрэлкай, якая выглядае як адзін у левым верхнім куце ёсць, проста 1257 00:52:42,680 --> 00:52:43,910 шэрыя рамкі. 1258 00:52:43,910 --> 00:52:46,610 Тады студэнт павінен быў высвятліць, што ж, у каардыната 1259 00:52:46,610 --> 00:52:48,380 пакласці яго, куды пакласці яго ў акно. 1260 00:52:48,380 --> 00:52:50,730 0, 0, тут, так што вы павінны высветліць колькасць 1261 00:52:50,730 --> 00:52:53,690 кропак, або кропак, каб кампенсаваць, што стрэлка ад 1262 00:52:53,690 --> 00:52:54,800 у верхняй частцы экрана. 1263 00:52:54,800 --> 00:52:57,040 А потым аднойчы, што знаходзіцца ў месцы, ваша праграма на самай справе не 1264 00:52:57,040 --> 00:53:00,380 нічога рабіць, так што вы тады патрэбны другі спрайт, для 1265 00:53:00,380 --> 00:53:04,470 Напрыклад зялёнай стрэлкай, які таксама паказвальнай налева, і вы 1266 00:53:04,470 --> 00:53:06,710 Затым неабходна, каб пачаць пісаць некалькі сцэнарыяў для гэтага. 1267 00:53:06,710 --> 00:53:09,310 >> А вы заўважылі, напэўна, што гэтыя рэчы сталі прыходзіць у 1268 00:53:09,310 --> 00:53:11,470 розных хуткасцях, а колеру былі ў розных 1269 00:53:11,470 --> 00:53:13,750 месцах, і гэта таму, што студэнт выкарыстаў крыху 1270 00:53:13,750 --> 00:53:14,990 псеўда выпадковасці. 1271 00:53:14,990 --> 00:53:17,440 І псеўда-выпадковасць, я проста азначае выбраць нумар 1272 00:53:17,440 --> 00:53:20,230 паміж чымсьці і чымсьці, таму што вы можаце 1273 00:53:20,230 --> 00:53:22,890 пачынаюць карце рэчаў, як калі лік ад аднаго да 1274 00:53:22,890 --> 00:53:24,940 пяць, ну, давайце зробім рэч зялёнага колеру. 1275 00:53:24,940 --> 00:53:28,290 Калі гэта паміж 6 і 10, давайце зробім паззл 1276 00:53:28,290 --> 00:53:29,730 замест чырвонага. 1277 00:53:29,730 --> 00:53:31,840 Да таго часу, пакуль у вас ёсць спосаб стварэння свайго роду 1278 00:53:31,840 --> 00:53:34,730 выпадковасцю, вы можаце прымаць рашэнні, грунтуючыся на тым 1279 00:53:34,730 --> 00:53:35,260 выпадковасць. 1280 00:53:35,260 --> 00:53:37,490 І я ўвесь час кажу псеўдавыпадковых таму што ёсць 1281 00:53:37,490 --> 00:53:38,390 маленькі брудны сакрэт. 1282 00:53:38,390 --> 00:53:41,130 Кампутары не могуць прыдумаць выпадковых лікаў. 1283 00:53:41,130 --> 00:53:42,800 Яны могуць рабіць толькі тое, што яны сказалі, таму што 1284 00:53:42,800 --> 00:53:44,110 яны тэхнагенных прылад. 1285 00:53:44,110 --> 00:53:45,880 Яны не могуць проста адгадаць лік, як мы, людзі, 1286 00:53:45,880 --> 00:53:46,960 адчуваю, што мы можам. 1287 00:53:46,960 --> 00:53:50,970 Кампутар павінен зрабіць нешта матэматычнае, абуджаючы 1288 00:53:50,970 --> 00:53:53,970 Ілюзія матэматычныя ліку, часам з выкарыстаннем 1289 00:53:53,970 --> 00:53:57,420 Бягучы дзень час як ўклад у высвятленне таго, што 1290 00:53:57,420 --> 00:53:59,570 Колькасць вярнуцца, але пра гэта ў іншы раз. 1291 00:53:59,570 --> 00:54:02,060 А цяпер проста ведаю, што мы можам стварыць псеўда выпадковасці. 1292 00:54:02,060 --> 00:54:04,610 >> Таму, як толькі ў мяне ёсць здольнасці да стрэлку налева, каб пачаць 1293 00:54:04,610 --> 00:54:07,990 з'яўляюцца ў розны час і з рознай хуткасцю, то 1294 00:54:07,990 --> 00:54:10,230 Я магу вярнуцца і дадаць некаторыя з іх, калі ўмовы. 1295 00:54:10,230 --> 00:54:14,950 Калі гэта спрайт дакранаючыся іншага, і стралкі налева 1296 00:54:14,950 --> 00:54:16,330 клавіша была націснутая - 1297 00:54:16,330 --> 00:54:17,900 так тры ўмовы ў гэтым выпадку. 1298 00:54:17,900 --> 00:54:20,750 Я магу выкарыстоўваць, што і блок, магчыма, у гэтым выпадку - 1299 00:54:20,750 --> 00:54:23,210 Тады я хачу, каб ісці наперад і павялічыць кошт. 1300 00:54:23,210 --> 00:54:25,130 І на вяршыні, у нас ёсць рахунак, у нас ёсць Awesome, 1301 00:54:25,130 --> 00:54:26,510 Крута, добра, і Бу. 1302 00:54:26,510 --> 00:54:29,810 Так што мабыць пяці зменных, што гэты студэнт 1303 00:54:29,810 --> 00:54:32,220 выкарыстоўваецца для адсочвання гэтых розных паказчыкаў. 1304 00:54:32,220 --> 00:54:34,180 Карацей кажучы, канчатковым вынікам з'яўляецца дзіўным. 1305 00:54:34,180 --> 00:54:37,320 Гэта весела, гэта цікава гуляць, гэта прыцягненне, але гэта не 1306 00:54:37,320 --> 00:54:38,380 дзе студэнт пачаў. 1307 00:54:38,380 --> 00:54:42,210 Ён або яна пачалася значна меншы набор крокаў. 1308 00:54:42,210 --> 00:54:44,470 >> Так што некаторыя іншыя блокі, якія мы можам 1309 00:54:44,470 --> 00:54:45,760 перапляценне ў гэтых праграмах? 1310 00:54:45,760 --> 00:54:48,750 Ну, вось гэта іншае паняцце ў большасці моў, 1311 00:54:48,750 --> 00:54:50,730 Драпіна сярод іх, вядомы як патокі. 1312 00:54:50,730 --> 00:54:54,660 Такім чынам, кампутар можа на самай справе сапраўды не зрабіць некалькі рэчаў 1313 00:54:54,660 --> 00:54:56,730 Час, па меншай меры, не звычайна. 1314 00:54:56,730 --> 00:54:59,930 Хутчэй за ўсё, кампутар звычайна мае толькі адзін працэсар, і нават 1315 00:54:59,930 --> 00:55:02,230 хоць кампутары супер хутка і можа, такім чынам, 1316 00:55:02,230 --> 00:55:04,740 стварыць ілюзію рабіць некалькі рэчаў адначасова - 1317 00:55:04,740 --> 00:55:06,180 правяраючы сваю пошту, атрымліваць імгненны 1318 00:55:06,180 --> 00:55:07,770 Паведамленне, друк дакумент - 1319 00:55:07,770 --> 00:55:11,530 сапраўды, кампутар проста скакаць ад друку на IMing 1320 00:55:11,530 --> 00:55:15,160 да электроннай пошце, таму і назад і наперад і назад так хутка, што мы 1321 00:55:15,160 --> 00:55:18,170 павольным кемлівыя людзі проста не разумеюць, што гэта на самай справе 1322 00:55:18,170 --> 00:55:21,240 запуску гэтых праграм трохі за адзін раз. 1323 00:55:21,240 --> 00:55:23,960 Цяпер, гэта трохі белага ляжаць у гэтыя дні, таму што, у цяперашні час, 1324 00:55:23,960 --> 00:55:26,740 многія нашы кампутары з'яўляюцца так званыя шмат'ядравыя, так што вы 1325 00:55:26,740 --> 00:55:29,760 адзін працэсар, але некалькі ядраў, якія накшталт як 1326 00:55:29,760 --> 00:55:31,760 наяўнасць некалькіх працэсараў. 1327 00:55:31,760 --> 00:55:35,020 >> І таму часам, кампутары сапраўды можа зрабіць некалькі рэчаў 1328 00:55:35,020 --> 00:55:38,500 у той час, але ў цэлым у рамках праграмы, праграмы 1329 00:55:38,500 --> 00:55:40,200 спадзявацца на гэтыя рэчы называюцца патокамі. 1330 00:55:40,200 --> 00:55:43,160 Такім чынам, паток накшталт мініяцюрнай праграмы, якая можа 1331 00:55:43,160 --> 00:55:46,540 існуюць разам з другога мініятурны праграмы і можа працаваць 1332 00:55:46,540 --> 00:55:51,250 Паралельна, або па крайняй меры можа працаваць у ілюзіі, што 1333 00:55:51,250 --> 00:55:52,990 яны працуюць адначасова. 1334 00:55:52,990 --> 00:55:55,060 Так драпін падтрымлівае гэтыя рэчы называюцца патокамі. 1335 00:55:55,060 --> 00:55:57,580 Вы можаце мець некалькі сцэнарыяў выканання адразу ж, як мы 1336 00:55:57,580 --> 00:56:00,220 зрабіў з марской леў, і гэта дазваляе нам на самой справе 1337 00:56:00,220 --> 00:56:03,620 то ёсць узаемадзеянне паміж гэтымі спрайт. 1338 00:56:03,620 --> 00:56:09,910 Дазвольце мне ісці наперад тут і пацягніце ўверх, скажам, патокаў і 1339 00:56:09,910 --> 00:56:11,870 гуляць у гэтую наступным чынам. 1340 00:56:11,870 --> 00:56:13,950 У нас ёсць два спрайт, кожная з якіх мы ўбачым, 1341 00:56:13,950 --> 00:56:15,720 мае толькі адзін сцэнар. 1342 00:56:15,720 --> 00:56:18,000 І вы заўважыце, як уяўляецца, некаторыя выведкі ў 1343 00:56:18,000 --> 00:56:21,335 Котка ў гэтым, таму што ён становіцца бліжэй - 1344 00:56:21,335 --> 00:56:21,730 [Раве] 1345 00:56:21,730 --> 00:56:24,540 DAVID малая: - і бліжэй да маленькай птушцы. 1346 00:56:24,540 --> 00:56:26,570 >> Такім чынам, як птушка аперацыйнай? 1347 00:56:26,570 --> 00:56:28,200 Што ж, давайце паглядзім на птушку ў першую чаргу. 1348 00:56:28,200 --> 00:56:31,220 Птушка сцэнара сказаў, калі зялёны сцяг націску, перайдзіце на х 1349 00:56:31,220 --> 00:56:34,020 роўная адмоўнай 115 і ў роўная 150. 1350 00:56:34,020 --> 00:56:37,010 Так што я проста зразумеў, выпадковае месца, дзе я хацеў 1351 00:56:37,010 --> 00:56:39,580 Птушка, каб пачаць, і я проста пляснуўся яго там па змаўчанні. 1352 00:56:39,580 --> 00:56:42,800 Тады назаўсёды, калі не дакранаючыся коткі, так што гэта іншая 1353 00:56:42,800 --> 00:56:45,080 выгляд цыклічнай канструкцыяй, але тая ж ідэя, зрабіць гэта зноў і 1354 00:56:45,080 --> 00:56:45,780 зноў і зноў. 1355 00:56:45,780 --> 00:56:49,410 Да таго часу, пакуль вы не дакранайцеся да котцы, перамясціць тры крокі, і 1356 00:56:49,410 --> 00:56:51,680 калі вы знаходзіцеся на краю, отскок, дзе гэта свайго роду 1357 00:56:51,680 --> 00:56:53,320 адлюстраванне ў тым сэнсе, більярд. 1358 00:56:53,320 --> 00:56:56,140 Дык вось, як птушка рухаецца вакол выглядзе 1359 00:56:56,140 --> 00:56:58,890 здавалася б, выпадкова, але гэта толькі таму, што ён адскокваючы 1360 00:56:58,890 --> 00:57:00,170 Сцены ў гэтым выпадку. 1361 00:57:00,170 --> 00:57:03,170 >> Цяпер кошка, між тым, гэта свайго роду падман. 1362 00:57:03,170 --> 00:57:05,520 Котка, калі зялёны сцяг націску, так, пачынаецца ў 1363 00:57:05,520 --> 00:57:07,390 некаторыя месцы, выпадковым месцы - 1364 00:57:07,390 --> 00:57:09,590 па крайняй меры часткова ў адпаведнасці з выбарам 1365 00:57:09,590 --> 00:57:11,430 выпадковы зялёны блок там - 1366 00:57:11,430 --> 00:57:14,660 , А затым назаўжды, калі дакранацца да птушкі, гуляць льва гук, 1367 00:57:14,660 --> 00:57:15,790 а затым спыніць сцэнар. 1368 00:57:15,790 --> 00:57:18,560 Так што, калі я сказаў, спыніць або да выхаду, ёсць галаваломкі 1369 00:57:18,560 --> 00:57:20,600 кавалак у драпін, што будзе проста забіць праграму на што 1370 00:57:20,600 --> 00:57:22,900 момант, таму што гэта свайго роду лагічна зрабіць. 1371 00:57:22,900 --> 00:57:25,030 Але з іншага боку, вось, звернеце ўвагу на тое, што адбудзецца. 1372 00:57:25,030 --> 00:57:28,470 Кропка ў бок птушкі і адзін крок. 1373 00:57:28,470 --> 00:57:31,390 Так што гэты момант да птушкі гэта свайго роду перавага коткі 1374 00:57:31,390 --> 00:57:34,640 ёсць у тым, што гэта саманавядзення на рухомую птушку, і мы можам 1375 00:57:34,640 --> 00:57:37,370 Зараз робяць гэтую праграму яшчэ больш цікавай. 1376 00:57:37,370 --> 00:57:41,520 Замест перамяшчэння на адзін крок за адзін раз за цыкл працэсара, на 1377 00:57:41,520 --> 00:57:44,280 стукнуць званком, так бы мовіць, дазвольце мне ісці наперад і 1378 00:57:44,280 --> 00:57:47,350 рухацца, скажам, пяць крокаў, у той час, як кошка. 1379 00:57:47,350 --> 00:57:51,120 Абярыце пункт Выканаць, і цяпер ён сапраўды лічыць яго хутка. 1380 00:57:51,120 --> 00:57:55,620 Калі мы падвоіў гэтую далей 10 крокаў, яна як бы ідзе 1381 00:57:55,620 --> 00:57:56,370 Права на яго. 1382 00:57:56,370 --> 00:57:57,750 Цяпер мы можам даць птушцы, 1383 00:57:57,750 --> 00:57:59,540 Магчыма, трохі пераваг. 1384 00:57:59,540 --> 00:58:02,370 Пойдзем да птушкі і сказаць замест перамяшчэння трох крокаў, 1385 00:58:02,370 --> 00:58:07,140 давайце рухацца яму 30 крокаў. 1386 00:58:07,140 --> 00:58:08,700 Але ён усё роўна быў злоўлены ў рэшце рэшт. 1387 00:58:08,700 --> 00:58:10,430 >> Дык вось, у нас ёсць дзве тэмы. 1388 00:58:10,430 --> 00:58:13,230 Ён складзены ў драпін з двума сцэнарамі і два 1389 00:58:13,230 --> 00:58:16,150 спрайт, але ідэя на іншыя мовы, што вы можаце 1390 00:58:16,150 --> 00:58:19,220 пісаць, па сутнасці, занадта шмат праграм, як гэта і ёсць 1391 00:58:19,220 --> 00:58:22,950 іх працаваць па-сапраўднаму, ці ўвогуле магчыма, паралельна. 1392 00:58:22,950 --> 00:58:25,280 >> Цяпер, ёсць таксама гэтая канцэпцыя ў праграмаванні вядома як 1393 00:58:25,280 --> 00:58:28,010 падзей, і гэта тое, што мы не ўбачым у C, 1394 00:58:28,010 --> 00:58:30,500 мову, вядомы як С. Мы ўбачым бліжэй да канца семестра 1395 00:58:30,500 --> 00:58:33,240 ў вэб-праграмаванні, калі мы ўвядзем JavaScript і 1396 00:58:33,240 --> 00:58:36,970 Паняцце будынак вэб-старонак, якія з'яўляюцца дынамічнымі і ўзаемадзейнічаць 1397 00:58:36,970 --> 00:58:37,710 з карыстальнікамі. 1398 00:58:37,710 --> 00:58:40,430 Такім чынам, у гэтым выпадку, у нас ёсць вельмі просты прыклад двух 1399 00:58:40,430 --> 00:58:43,860 спрайт, хлопчык і дзяўчынка, кожны з якіх маюць свае адпаведныя 1400 00:58:43,860 --> 00:58:48,040 тэмы, але чамусьці гэтыя два ўзаемадзеянне-сувязь шляхам 1401 00:58:48,040 --> 00:58:49,490 таго, што называецца падзеямі. 1402 00:58:49,490 --> 00:58:52,750 Такім чынам, дазвольце мне ісці наперад тут і павялічыць на сцэнар хлопчыка, 1403 00:58:52,750 --> 00:58:54,050 які выглядае наступным чынам. 1404 00:58:54,050 --> 00:58:57,510 Пры націску зялёны сьцяг, назаўсёды зрабіць наступнае. 1405 00:58:57,510 --> 00:59:01,510 Калі ключ прастору, або прабел, націску, скажам, 1406 00:59:01,510 --> 00:59:03,900 Марка на працягу двух секунд, гэта чыста эстэтычная на 1407 00:59:03,900 --> 00:59:06,860 экран, маленькі бурбалка прамовы, але затым у эфір. 1408 00:59:06,860 --> 00:59:09,240 >> Такім чынам, трансляцыя іншы драпін кавалак, што гэта 1409 00:59:09,240 --> 00:59:12,050 Прадстаўнік класа функцыянальнасць у праграмаванні 1410 00:59:12,050 --> 00:59:15,080 , Што дазваляе розных праграмах, розныя тэмы, 1411 00:59:15,080 --> 00:59:17,120 Інтэр-сувязь, каб хоць неяк адправіць 1412 00:59:17,120 --> 00:59:18,520 паведамленні, адно на іншае. 1413 00:59:18,520 --> 00:59:21,930 Пераходзячы паперку ​​ў класе з'яўляецца свайго роду нізкіх тэхналогій 1414 00:59:21,930 --> 00:59:22,700 эквівалентныя. 1415 00:59:22,700 --> 00:59:24,300 Такім чынам, трансляцыя падзеі. 1416 00:59:24,300 --> 00:59:26,210 Я магу адправіць гэта паведамленне, і словы падзеі 1417 00:59:26,210 --> 00:59:27,270 з'яўляецца цалкам адвольным. 1418 00:59:27,270 --> 00:59:30,000 Драпіны часам гэта падзенне падзення, так што я проста падышоў 1419 00:59:30,000 --> 00:59:33,230 са выпадковым словам, як падзея, таму што цяпер, што хлопчык робіць 1420 00:59:33,230 --> 00:59:36,600 калі я націскаю на ключ, ён перадае гэтую падзею. 1421 00:59:36,600 --> 00:59:39,270 І калі я зараз паглядзіце на сцэнар дзяўчыны, яе сцэнар 1422 00:59:39,270 --> 00:59:42,690 супер проста, таму што ўсё, што ёй трэба зрабіць, гэта не дзейнічае, калі 1423 00:59:42,690 --> 00:59:44,100 зялёны сьцяг кнопкі. 1424 00:59:44,100 --> 00:59:47,910 Яна прызначана для дзеянняў, калі яна атрымлівае цытата, канец цытаты, 1425 00:59:47,910 --> 00:59:51,210 "Падзея", і ў гэты момант, яна слухае, такім чынам, для 1426 00:59:51,210 --> 00:59:52,960 так званыя падзеі зноў і зноў. 1427 00:59:52,960 --> 00:59:55,790 Як толькі яна атрымлівае гэтым выпадку яна будзе крычаць 1428 00:59:55,790 --> 00:59:57,680 Polo працягу двух секунд. 1429 00:59:57,680 --> 01:00:01,090 >> І таму вы, магчыма, можа вывесці з гэтага, што менавіта 1430 01:00:01,090 --> 01:00:03,190 Наступны вынік будзе. 1431 01:00:03,190 --> 01:00:04,910 Дазвольце мне пстрыкніце зялёны сцяг. 1432 01:00:04,910 --> 01:00:06,610 Нічога не адбываецца, таму што мне трэба рабіць? 1433 01:00:06,610 --> 01:00:07,310 Аўдыторыя: Space Bar. 1434 01:00:07,310 --> 01:00:08,630 DAVID малая: Space Bar. 1435 01:00:08,630 --> 01:00:11,990 Хлопчык кажа Марка Пола кажа дзяўчына. 1436 01:00:11,990 --> 01:00:13,670 Але гэта не жорстка як такой. 1437 01:00:13,670 --> 01:00:16,740 Гэта ўзаемадзеянне-сувязь паміж скрыптоў, так што зараз мы 1438 01:00:16,740 --> 01:00:19,240 ёсць магчымасць зрабіць яшчэ больш складаныя праграмы, у якіх 1439 01:00:19,240 --> 01:00:22,830 гэтыя двое неяк паміж зносінамі. 1440 01:00:22,830 --> 01:00:25,260 >> Такім чынам, у якіх кірунках мы можам прыняць гэта? 1441 01:00:25,260 --> 01:00:28,260 Ну, у задачу мноства 0, сапраўды, мэта складаецца ў тым, каб 1442 01:00:28,260 --> 01:00:29,830 весела правесці час з нуля. 1443 01:00:29,830 --> 01:00:32,440 Для хакерам выданне, вы будзеце атрымліваць задавальненне, а не з больш 1444 01:00:32,440 --> 01:00:35,850 складаная версія драпін называецца BYOB, зборкі 1445 01:00:35,850 --> 01:00:38,040 Уласныя блокі, але ідэя тая ж. 1446 01:00:38,040 --> 01:00:38,780 Вы зможаце - 1447 01:00:38,780 --> 01:00:39,710 Так, гэта было наўмысна. 1448 01:00:39,710 --> 01:00:42,450 Ён прыйшоў з Берклі. 1449 01:00:42,450 --> 01:00:45,200 BYOB Гэта версія хакер выданне гэтага, але абодва 1450 01:00:45,200 --> 01:00:48,180 , Дэмаграфіі, Standard Edition і хакерскіх выданні, так 1451 01:00:48,180 --> 01:00:50,940 Мэта пад рукой на працягу бліжэйшага тыдня на самай справе проста нырнуць у 1452 01:00:50,940 --> 01:00:53,050 глыбока, каб вашыя рукі брудныя з праграмаваннем, і зрабіць 1453 01:00:53,050 --> 01:00:55,240 нешта цікавае, нешта зрабіць інтэрактыўным, каб 1454 01:00:55,240 --> 01:00:58,020 нешта мастацкае, зрабіць нешта весела на самай справе 1455 01:00:58,020 --> 01:01:01,020 прадэманстраваць, так што да канца тыдня, вы будзеце мець праект, 1456 01:01:01,020 --> 01:01:03,770 не толькі для вашага першага CS50 PSET, але вы павінны будзеце 1457 01:01:03,770 --> 01:01:05,620 сёе-тое, што вы можаце паказаць у Annenberg да 1458 01:01:05,620 --> 01:01:08,830 сяброў і нават сем'і, загрузіўшы яго на сайт Масачусецкага тэхналагічнага інстытута. 1459 01:01:08,830 --> 01:01:11,760 І так, як я сказаў у сераду мы чакаем, што 90% класа, 1460 01:01:11,760 --> 01:01:13,970 увогуле, рабіць стандартныя выдання. 1461 01:01:13,970 --> 01:01:16,660 Зразумейце, што ёсць таксама гэта выйсце для тых з вас, хто 1462 01:01:16,660 --> 01:01:18,990 у адваротным выпадку маглі знайсці сабе трохі сумна з асновамі 1463 01:01:18,990 --> 01:01:21,650 і сапраўды хочаце вывучыць і выпрацаваць бачанне ў вас ужо 1464 01:01:21,650 --> 01:01:25,380 ёсць з папярэдняга фон у гэтым больш дружалюбным 1465 01:01:25,380 --> 01:01:26,240 навакольнага асяроддзя. 1466 01:01:26,240 --> 01:01:29,030 >> Такім чынам, дазвольце мне падцягнуць яшчэ адзін прыклад, што адзін з нашых былых 1467 01:01:29,030 --> 01:01:33,830 Тут студэнты зрабілі і трохі распавесці нешта праз песню. 1468 01:01:33,830 --> 01:01:37,430 Гэта так жа, як гэта гуляе, думаю пра тое, як вы ідзяце па нагоды 1469 01:01:37,430 --> 01:01:40,520 рэалізацыі гэтай праграмы з дапамогай менавіта гэтых жа 1470 01:01:40,520 --> 01:01:44,180 будаўнічыя блокі, трохі псеўда-выпадковасць, а 1471 01:01:44,180 --> 01:01:46,010 Трохі знаёмую песню. 1472 01:01:46,010 --> 01:01:47,910 Калі б мы маглі павялічыць гучнасць ледзь-ледзь? 1473 01:01:47,910 --> 01:01:49,160 [MUSIC - "гэта Raining Men" Weather Girls] 1474 01:03:02,261 --> 01:03:03,930 >> DAVID малая: Вось менавіта для CS50. 1475 01:03:03,930 --> 01:03:05,860 Мы будзем бачыць Вас у панядзелак. 1476 01:03:05,860 --> 01:03:21,152 [Апладысменты]