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