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 >> Дэвид Дж Малан: Это, это CS50. 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 это действительно часть из Гарвардский Марк I, и это 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 сорвал большой моли из Марка II компьютер, положите его в связующем, 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 Так понять, что те так называемый [? Scribd?] Замечания 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 Сделай это. 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 URL-адрес для этого на курс-х сайт, для тех, кто незнаком. 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 в классе, или показывать вплоть до In Between разделе. 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 И сами разделы начнет в неделю три CS50 нулевым индексом. 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 >> Все в порядке. 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 Таким образом, мы ввели код последней неделю, хотя Pictoral. 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 Ну, это выглядело немного что-то вроде этого. 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 Включить стандартный I / O точка час, INT основной пустота, а затем открыть фигурная скобка, недалеко 159 00:07:13,990 --> 00:07:19,430 фигурная скобка, Printf привет запятой мир, Обратная косая черта н, точка с запятой, Сохранить, сделано. 160 00:07:19,430 --> 00:07:19,930 ХОРОШО. 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 Компилятор существует Mac OS, Windows, Linux, любое количество операционных систем, 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 будет выглядеть немного Arcane, и немного менее дружественным 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 Так, наконец, мы увидели этот пример здесь, Hello World программа. 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 И мы объясним, прежде чем долгое какой Int, а главное, силы, и все, что 201 00:09:14,040 --> 00:09:18,770 есть, но, по крайней мере я вижу здесь уже знакомы Hello World. 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 Printf привет мир, с некоторыми цитирует, с обратной косой черты, 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 Printf строка кода так же, как желтый кусок головоломки наверху. 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 , но это будет сказать Int я получает ноль, я меньше, чем 10, я ++, 219 00:10:12,820 --> 00:10:14,056 а затем Printf снова. 220 00:10:14,056 --> 00:10:15,430 Но там будет узоры. 221 00:10:15,430 --> 00:10:18,434 А для тех из вас, кто знаком с А. П. информатики, или Java, 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 Int счетчик равен нулю, в то время как верно, что 230 00:10:45,460 --> 00:10:48,100 является то, что та же самая идея, прежде чем из делать что-то навсегда, 231 00:10:48,100 --> 00:10:49,530 и я просто хочу, чтобы PRINTF. 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 >> Логическое выражение, что-то вроде SX, чем у менее, или х меньших у, 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 Standard I / O, точка ч, а то некоторые странные угол 253 00:11:53,160 --> 00:11:57,330 Кронштейны ниже, что. INT основной недействительными, а затем Printf привет мир. 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 Что Printf, например? 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 может начать визуализировать по крайней мере, Printf принимает в какой-либо форме ввода. 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 мы использовали то, что называется CS50 прибор. 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 то, что называется, как VMware, или VirtualBox, или любое количество 303 00:14:00,590 --> 00:14:04,450 другие инструменты, и на их Mac или PC или что-то компьютер они имели в прошлом году 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 А потом внутри этой программы они откроют CS50 прибор. 307 00:14:12,220 --> 00:14:14,710 И эффект в том, что ли ваш предшественник 308 00:14:14,710 --> 00:14:17,780 бежал Mac OS или Окна, он или она 309 00:14:17,780 --> 00:14:22,910 Впоследствии было новое окно на их Экран работает среды CS50 в. 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 Linux, в частности, Ubuntu Linux, и это 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 Так называемый CS50 IDE, который на базе программного обеспечения с открытым исходным кодом, 324 00:15:03,730 --> 00:15:07,380 и поддерживает платформу что компания под названием Cloud9 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 Вы, наверное, нажал его значок на вашем Mac или PC. 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 И вот что CS50 IDE сейчас. 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 так же IDE CS50 имеют именно это. 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 Первоначально в C, а затем в член в PHP и JavaScript, 356 00:16:21,860 --> 00:16:24,739 и, возможно, для окончательного проекты, Руби или Java или Python, 357 00:16:24,739 --> 00:16:27,280 или любое количество языков поддерживается в этой среде. 358 00:16:27,280 --> 00:16:30,130 Это вовсе не связаны чтобы CS50 специально. 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 по умолчанию, в буквальном смысле введения, благодаря Дэну Armendariz, и Дино, 368 00:16:57,110 --> 00:17:01,070 и Дэн Брэдли в команде CS50 на протяжении многих мимо многих месяцев, менее комфортно 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 что только наша Chrome браузера, который может быть Firefox, 376 00:17:23,894 --> 00:17:26,640 может быть Internet Explorer, или какой-либо другой браузер, а также. 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 Привет мир. 391 00:18:06,700 --> 00:18:11,210 >> Но давайте догадаться, теперь, на то, что это первое, более тайной линия, есть. 392 00:18:11,210 --> 00:18:15,100 Sharp включают, открытый под углом кронштейн, стандартный ввод / вывод точка ч, 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 Кто-то другой уже решил, что с функцией PRINTF 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 Printf является одним из них, и что первая строка кода 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 Неважно. 426 00:19:32,310 --> 00:19:32,970 Это нормально. 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 И по крайней мере, в настоящее время, в эта среда Linux, 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 Это происходит, чтобы позволить вам сделать много больше вещей, чем просто какой Microsoft 448 00:20:16,790 --> 00:20:20,390 или Apple, позволяет делать с их графическое операционной системы. 449 00:20:20,390 --> 00:20:23,270 >> Так что, когда я ударил Enter, сейчас, ничего не происходит на этот раз 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 Компилятор мы собираемся начать использовать называется Лязг, для языка C. 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 написал в файле под названием привет точка с, я буквально просто введите лязг привет C 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 >> Так что, если я вернусь в мой исходный код на CS50 IDE, 477 00:21:40,370 --> 00:21:47,860 и я вместо этого лязг привет кроватка C Введите уведомление ничто, кажется, чтобы это произошло, 478 00:21:47,860 --> 00:21:49,790 но почти всегда в эта среда Linux, 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 является программа под названием Clang. 496 00:22:38,504 --> 00:22:40,920 Так что это или старая школа эквивалент двойного щелчка 497 00:22:40,920 --> 00:22:42,860 на Microsoft Word или Значок некоторых программы. 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 Посмотрим. 521 00:23:44,030 --> 00:23:45,230 Данный файл или каталог отсутствует. 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 хороший. 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 И мы предварительно настроен CS50 IDE знать 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 В чем дело? 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 Так, Noobie ошибка. 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 но оказывается, что C, а много таких языков, как это, 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 и тому подобное. 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 Я собираюсь использовать Оператор присваивания в C, 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 и использовать функцию лет, что Printf был разработан, чтобы быть динамичным. 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 Так же есть С функции, такие как Printf, что может занять два входа. 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 По этой логике Printf является функцией, принимает два входа, один из которых 637 00:28:55,320 --> 00:28:58,810 является заполнителем, что бы вы надеетесь Printf собирается делать с этим входом? 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 с если у вас есть, на самом деле, запрограммирован в Java, как некоторые из вас, 668 00:30:14,620 --> 00:30:16,980 но вы можете научить его новые вещи. 669 00:30:16,980 --> 00:30:20,900 И в самом деле, мы сделали это CS50, даже если к концу семестра, 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 изначально у нас есть включить CS50 точка час. 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 Так эта строка кода сообщает компилятор, эй, Clang, посмотрите 684 00:31:01,090 --> 00:31:03,570 в этом файле в течение целого куча кода, который CS50 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 Так что если вы когда-либо использовали DOS, Linux, или, или Unix 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 Как тебя зовут? 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 Ну вот. 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 как и авторы Printf, и затем динамически 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 Дэвид Дж Малан: Да, так INT х равен получить п. 758 00:34:00,250 --> 00:34:03,760 Мы никогда не видели ничего из этого раньше, но, вероятно, INT 759 00:34:03,760 --> 00:34:08,179 символ какой-то Переменная [? от?] целое. 760 00:34:08,179 --> 00:34:09,040 Так INT для целого числа. 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 Получить Int, конечно, так же, как получить строку, 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 Так заметить здесь, все это время мой пользователя Имя для этого аккаунт jharvard. 782 00:35:02,970 --> 00:35:06,620 Я в CS50 IDE, иначе IDE50. 783 00:35:06,620 --> 00:35:11,030 А теперь в синем здесь, упоминание, но от окружающей среды, от того, где я. 784 00:35:11,030 --> 00:35:16,050 И в самом деле, если я увеличить до вершины здесь, обратите внимание, что у меня есть IDE50 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 Данный файл или каталог отсутствует еще более ясно. 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 CD один источник пространство Среда введите и теперь 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 Но если я не сотрудничают, давайте посмотрим, что получить INT делает. 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 ХОРОШО. 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 Все в порядке. 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 >> Так внутри реализации из получите INT, какой программирование 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 И в течение нескольких недель мы будем на самом деле выглядят в библиотеке CS50 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 Что? 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 INT основной недействительными является эквивалентом нашего, когда зеленый флаг щелчке 848 00:37:41,405 --> 00:37:44,030 так что мы собираемся оставить это быть на сегодняшний день, и мы вернемся, 849 00:37:44,030 --> 00:37:46,940 в конечном итоге, к тому, что, как INT силы есть, но сейчас, 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 Конвенция в C это делать слэш слэш, а затем несколько краткие слова, 854 00:37:58,910 --> 00:38:01,500 не полный приговор, как правило, не пункт, 855 00:38:01,500 --> 00:38:05,310 что только объясняет вам, или ваш TF, или другие читатели или коллеги, 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 >> Как? 863 00:38:20,460 --> 00:38:22,060 Ну, вот подсказка. 864 00:38:22,060 --> 00:38:23,610 Вот добывания Int. 865 00:38:23,610 --> 00:38:25,984 И на основе предыдущего поведение, кажется, Get INT 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 И это, по-видимому, в том, как C мы выражаем, если еще, филиал, 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 Вы хотите-- 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 Вы не видели C, по-видимому, и, вероятно, никто другой язык. 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 Никакого давления. 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 Printf, хорошо. 916 00:40:05,230 --> 00:40:09,120 И обратите внимание, с CS50 IDE и IDE frankly-- 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 И если вы действительно хотите свой ум чтобы быть согнуты в JavaScript и PHP, 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 и я сделать Condition Zero точка слэш состояние нулю, 1005 00:44:06,240 --> 00:44:07,490 Я хотел бы целое пожалуйста. 1006 00:44:07,490 --> 00:44:08,090 Посмотрим. 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 Там нет меньше, чем INT или равна подписать или больше или равно подписать, 1059 00:46:02,340 --> 00:46:05,430 где один над другим, что вы можно выразить в как Microsoft Word. 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 это то, что? 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 в среде Linux, вы не должны ввести из неточность и принять 1096 00:47:29,380 --> 00:47:30,010 весь день. 1097 00:47:30,010 --> 00:47:32,910 Это вообще, если вы нажмете Tab, то будет закончить свою мысль для вас, 1098 00:47:32,910 --> 00:47:36,660 на основе слов, которые доступны в текущем каталоге. 1099 00:47:36,660 --> 00:47:37,160 ХОРОШО. 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 И получается, Printf поддерживает некоторые функции 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 ХОРОШО. 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 >> Поддерживать. 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 Вот и все. 1155 00:49:52,340 --> 00:49:56,410 Для CS50 мы, увидимся в пятницу. 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