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