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