[ПРОИГРЫВАНИЕ ВИДЕО] -А Триумф математическое и механической умение это большой новый автомат калькулятор в Гарвардском университете. Сложные проблемы математики положил через машину в закодированном виде на ленте точно решена в ничтожно малая часть времени, необходимого для расчета человека. Предназначен для ускорения всех форм математическое и научное исследование, гигант механическая мозг будет работать для ВМС США до конца войны. [КОНЕЦ ПРОСМОТРА] Дэвид Дж Малан: Это, это CS50. Прошлое было волшебное место, но если вы когда-либо Интересно, что это устройство в Гарвардском научного центра, это действительно часть из Гарвардский Марк I, и это на дисплее в настоящее время за последние много лет. И то, что вы увидите встроенные в набор проблем один взгляд за кулисы на то, что это устройство сделали, и делает, профессора Гарри Льюис, который в наука отдел здесь компьютер. Так об этом немного позже. Но сегодня мы начинаем переход с прошлой недели на это, и мы привезем упоминания одной фотографии здесь что на самом деле довольно известный. Кто-нибудь знает, что это здесь на экране? По крайней мере, согласно мифу. Да. Аудитория: первый вирус. Дэвид Дж Малан: Так было, мол, самый первый фактический ошибка в компьютере. Сейчас в реальности слово ошибка, за ошибку в программе, был с нами для некоторых время в физическом мире, и это был один из первых документально времена, когда кто-то действительно сорвал большой моли из Марка II компьютер, положите его в связующем, а затем записал ее в качестве первого известная ошибка чтобы на самом деле были найдены физически. Так, таким образом, был введен что в сегодняшней знания. Все, начиная от последней неделя доступны в Интернете. В частности ресурсов, которые вы, возможно, не обязательно заметите, особенно если сюда лично. Таким образом, одна из учебных собратьев каждый год делает канонический набор нот, так что вы не должны держать Ваша голова вниз, стараясь транскрибировать большинство ничего что может случиться здесь, в классе. Так понять, что те так называемый [? Scribd?] Замечания в Интернете, конечно слайды и исходный код, который мы используем в классе. Мы полнотекстовые стенограммы также доступны. Так что если вы смутно помню некоторые Термин, и вы хотите, чтобы посмотреть его немного более легко, понять, что все того, что для поиска в Интернете. Как пошаговые также. Действительно, сегодня мы начинаем смотреть на язык программирования низкого уровня, скоро будет известно к нам как С, и это очень легко в своего рода заблудиться после нескольких моменты времени, и потом вроде удивления как мы фактически получили некоторые более сложный пример из простых. И так понимаю, что мы будем вишневый выбрать какой-то во время занятий представительных примеров, но понимают, что гораздо больше, также доступны в Интернете, так что вы можете работать через него в своем собственном темпе, Однако вы наиболее комфортно. Но мы остановились с программы, которые были только в этом. Так я нажимаю зеленый флаг, и что это программа? Говорит, привет, мир. Это делает кошка сказать привет в своем маленьком мире в левом верхнем стороне пользовательского интерфейса нуля в. Но мы начали внедрять некоторые термины на прошлой неделе. И так, все, как это мы назвали то, что? Что может быть общий термин для этого? Да. Метод или заявление. Конечно, это действие. Сделай это. И все же было другие формы поцарапать, кроме того, эти так называемые Заявление, они также такие вещи, которые мы называли то, что? Да. Таким образом, цикл. И в этом случае, эта вещь повторы, очевидно, в 10 раз. Там это навсегда блок. Там есть пара других. И сегодня мы собираемся, чтобы увидеть, как перевести это в более современном мире, если хотите, даже если это собирается показаться на первый взгляд гораздо более сложных. Но это были действительно петель. И тогда у нас есть такие вещи, как это, который имел такую ​​форму, и, по сути задаваемые вопросы. И мы говорили на них как что? АУДИТОРИЯ: логическое выражение. Дэвид Дж Малан: Да. Логическое выражение. Что-то, что является истинным или ложь, да или нет, один или ноль, Однако вы хотите, чтобы смотреть на мир. Но мы назвали тех, Логический выражения, и мы подключить их в условиях, или филиалов. И в мире Царапинам, все красиво блокировки с точки зрения его формы, если он делает логический смысл делать так, но вы не должны останавливаться на просто делаем одно дело условно, вы можете иметь пословиц раскошелиться на дороге и делать ту или иную, если условие истинно или нет. А потом, как вы увидите, если вы еще этого не сделали, Вы даже можете гнезде эти блоки. Так царапинам растет, чтобы заполнить формы что вы, возможно, захотите, чтобы вставить в него, так что вы можете выразить наиболее какая-то логика, что вы, возможно, захотите сделать. Теперь несколько слов о объявлением для здесь и Нью-Хейвен. Так секционирования начинается сегодня. URL-адрес для этого на курс-х сайт, для тех, кто незнаком. Разделы будет возможность собраться вместе в гораздо более интимной обстановке чем [? Сандерс?] Позволяет, с 10 до 20 с одноклассниками преподавания стажировку в различных направлениях, и различные шагах, если вы того пожелаете. Действительно предложения курсов различные разделы для тех, кто менее комфортно, более комфортно, и где-то между ними, и роль большого пальца здесь, нет формальное определение, но если вы менее комфортно, вы вроде знаете это. Вы немного бесстрашный о Идея активизации ногу, пожалуй, обратно в классе, или показывать вплоть до In Between разделе. Если вы уже программирования, так как вам шесть лет, более комфортно, возможно, для вас. И если это вид жеребьевки, это именно то, что между ними предназначается, чтобы быть. Теперь, в то же время, для класса такого размера, это берет нас некоторое время, чтобы разделе все, поэтому мы так называемая, супер разделы, подойдя это выходные и в начале следующей недели, так что взгляните на сайте Курса для тех, которые, конечно широкий, а также для тех, кто снимал кто не может сделать их. И сами разделы начнет в неделю три CS50 нулевым индексом. Проблема установить 0 уже на веб-сайте курса. И понимаю, что у вас есть девять дней в этом конце семестра. Так что это обновление от последнего году, когда у нас было пять дней поздно. Так что, если вам интересно,, у нас есть девять проблемных наборы. Вы должны девять дней поздно, каждый из которых Вы можете потратить только один в неделю на. Это фактически делает все проблема устанавливает за пятницу, но цель положить немного немного психологического давления на вас, чтобы попытаться получить вещи в четверг потому что, как вы скоро обнаружите, к лучшему или к худшему, большинство все в мире программного обеспечения заканчивается занял гораздо больше времени, чем вы ожидаете. Так считают своего рода возможностей, чтобы помочь себе цель четверг, но утешение в том, что, да, все из-за пятницу. И если вы представить их на Четверг, это замечательно. Там нет бонусных баллов или дополнительных кредит на эти сроки. Это означало, что только костыль. И рабочие часы, и здесь и в Нью-Хейвене, в лицо, если вы хотели бы встретиться с любым из наших курсов преподавания стипендиатов и центров сертификации для помощи. Все в порядке. Так что теперь, давайте сделаем это более реальным. И на мгновение он собирается начать чтобы получить немного больше тайной, но очень быстро в пятницу и на следующей неделе мы будем в состоянии сделать гораздо больше, чем мы могли до сих пор в царапина. Таким образом, мы ввели код последней неделю, хотя Pictoral. Это было головоломки. И мы формализованы, что это то, что называется исходный код, но будет ли выглядеть? Ну, это выглядело немного что-то вроде этого. И в самом деле, только вида дразнить, где мы можем пойти с этим. Я собираюсь идти вперед и открыть окно здесь, и я просто хочу, чтобы выбрать новый файл. И я иду, чтобы спасти этот файл а что-то вроде привет точка в. Больше на том выборе слова в минуту. И это, как кто-то может идти о написании программы. Включить стандартный I / O точка час, INT основной пустота, а затем открыть фигурная скобка, недалеко фигурная скобка, Printf привет запятой мир, Обратная косая черта н, точка с запятой, Сохранить, сделано. ХОРОШО. Я написал мой первый программа, но она собирается чтобы быть невероятно восторг потому что, когда я на самом деле запустить эту программу, конечно, первым письменной форме сделать привет, а затем точка слэш привет, и мы пройти через это в гораздо более подробно в настоящее время, это все, что он делает. Любая поп не открывать любые окна. Это ничего не делать особенно фантазии. Все это делает то, что я сказал его делать, но, как мы доберемся до этого? И, как мы строим на что? Ну, давайте познакомимся несколько разные понятия здесь. Таким образом, одна, мы собираемся начать используя программу под названием компилятор. Компилятор существует Mac OS, Windows, Linux, любое количество операционных систем, и мы скоро ввести вас в среда, что мы будем использовать, но компилятор просто общее термин для части программного обеспечения который принимает исходный код и производит объектный код из него. Другими словами, если вы есть в качестве входного источника Код, что-то вроде того, что я только что ввели, это в конечном счете приводит объектный код. И объектный код на самом деле просто причудливый способ сказать, что это выводит нулевой и один годов. Другими словами, источник Код, хотя это будет выглядеть немного Arcane, и немного менее дружественным чем нуля на первый взгляд, это по крайней мере что-то что мы, люди, можем понять. Это своего рода выглядит и звучит как Английский, хотя это очень кратким. В то время как в программировании нулями и одним, поскольку наши предшественники были сделать, Несколько лет назад, не было Особенно весело вызов. И все же, это то, что компьютер по-прежнему понимает. Так компилятор получает от нас Исходный код в объектный код. Это как открытие файла с компилятор, и, когда вы сохраните его, вы получите эти нули и единицы. Таким образом, мы увидим, как сделать что в минуту. Но давайте попробуем, чтобы обеспечить Мост между последнюю неделю, и это, так что даже, как мы зацикливаться на таких вещах, как фигурные скобки, и точки с запятой, и скобки, и все эти интеллектуально интересным аспекты программирования, что очень понятно поездка людей рано на, понимать, что все идеи Сегодня, такие же, как в прошлом. Так, наконец, мы увидели этот пример здесь, Hello World программа. Ну, начиная с сегодняшнего дня, если мы хотим осуществить тот же программу, это будет выглядеть кое-что как это. И мы объясним, прежде чем долгое какой Int, а главное, силы, и все, что есть, но, по крайней мере я вижу здесь уже знакомы Hello World. Между тем, такие вещи, как Функция, скажем привет, очень просто будет очень простое утверждение, как это. Printf привет мир, с некоторыми цитирует, с обратной косой черты, с запятой, но подробнее об этом в будущем. Петли, тем временем, это цикл, который, Конечно, говорит привет мир навсегда, и это одна собирается выглядеть немного странно, чем в последней, но если я что-то сказать как, в то время как верно, я Затем можно распечатать Привет мир снова и снова и снова и снова. А потом, как вы можете вид из начала, чтобы вывести здесь, Настоящая Конвенция использования Фигурные скобки это своего рода походит охватывающей отступом строки кода там. Printf строка кода так же, как желтый кусок головоломки наверху. Таким образом, мы не собираемся говорить вечно, мы собираемся сказать, в то время как верно, но мы увидим, почему это немного позже. Между тем, если у нас есть цикл, как это, где вы повторить что-то конечное число раз, на этот раз тоже это собирается занять немного привыкнуть , но это будет сказать Int я получает ноль, я меньше, чем 10, я ++, а затем Printf снова. Но там будет узоры. А для тех из вас, кто знаком с А. П. информатики, или Java, или любое количество других языках, почти все из этих конструкций Таким образом, далеко должен выглядеть в основном знакомы. Так переменная. Так вот простой царапинам отрывок, что устанавливает переменную счетчик до нуля, а затем навсегда говорит счетчик, и Затем он изменяет значение счетчика на единицу. Так что начинается с нуля, а затем один, два, три. Ну, как мы могли бы ввести, что в этот новый язык немного аналогично? Int счетчик равен нулю, в то время как верно, что является то, что та же самая идея, прежде чем из делать что-то навсегда, и я просто хочу, чтобы PRINTF. И теперь это становится немного странным, процентов я, но об этом впереди, но эти идеи в точности то же самое. Мы только сейчас должны придерживаться синтаксис, что компьютер собирается потребовать от нас. Логическое выражение, что-то вроде SX, чем у менее, или х меньших у, и у меньшего, чем г. Это будет выглядеть кое-что как это, с скобки всего как в математике для хорошей мерой просто гарантировать, что порядок операций как мы намерены. А теперь, условия. Так что, если х меньше, чем у, скажем, х меньше чем у, то, если х больше у, сказать х больше у, в противном случае логически, х должна быть равна у. Таким образом, вы могли бы реализовать что-то вроде этого в пустом, или вы могли бы реализовать он в этом синтаксисе. И опять, фигурные скобки являются своего рода давая нам ту же форму, головоломки штук, но синтаксис, теперь, пожалуй начинают следовать некоторые закономерности. Итак, что же это нам дает здесь? Так что мы тогда на нашем основной программы. Давайте на самом деле, в настоящее время, сделать что-то с ним. Таким образом, в этом самый первый строке мы видим резкое включают, Standard I / O, точка ч, а то некоторые странные угол Кронштейны ниже, что. INT основной недействительными, а затем Printf привет мир. Так что просто сделать шаг. Кто-то, кто никогда не программировал ранее, по крайней мере, объяснить одну из этих линий. Использование возможно, некоторые из жаргон прошлой неделе. Что Printf, например? Да. АУДИТОРИЯ: [неразборчиво] Дэвид Дж Малан: Да. Это функция, или заявление, от терминологии на прошлой неделе. И это действие что делает что-то. Теперь эта функция, или это утверждение, не это, кажется, принять какие-то вход? И в чем смысл делает это кажется, принять вход, если так? Вход, что я имею в виду, что? Да. АУДИТОРИЯ: [неразборчиво] Дэвид Дж Малан: Да. Так выцарапать несколько штук головоломки где вы можете параметризовать его. Вы могли бы сказать повторения блокировать, сколько раз повторять, так, чтобы был вход виды, и, как нуля был маленький белый заполнитель по количеству вы вводите, так что мы используем в этом Текст мира скобки чтобы дать нам, что круглую форму в которых мы можем подключить свой вклад. Ведь десятки лет назад когда этот язык, называемый С, был изобретен не один Предполагается, что это один из нас, эти несколько лет спустя, мы бы нужна функция, которая говорит привет. Правильно? Было бы неплохо, если бы там было кусок головоломки, или ключевые слова, что называется привет, что буквально говорит привет. Но мы не должны этого. Мы можем что-то гораздо более низкой Уровень, как общего печать Команда, которая принимает ввод, и печатает все, что мы хотели. Так заметить теперь картина что начнут появляться. Открытые Парень, недалеко находится скобка по-видимому, охватывает вход, и тогда я вижу дважды цитирует на обоих концах. Существует еще странно обратный слеш п, но, надеюсь, теперь вы может начать визуализировать по крайней мере, Printf принимает в какой-либо форме ввода. Не так, как удобный Царапина, но это просто как того подключен некоторого значения там. Хорошо, теперь давайте на самом деле сделать что-то с этим. Таким образом, некоторые из вас, возможно, знаете, от имея перед покупки класс, болтали с друзьями, что в течение многих лет мы использовали то, что называется CS50 прибор. Это был термин, описывающий технологию называется виртуальная машина, которая это часть программного обеспечения, ЧТО ВАШИ предшественники бы загрузить с Сайт Курса бесплатно. Они также скачать бесплатно кусок программного обеспечения, называемого гипервизором, то, что называется, как VMware, или VirtualBox, или любое количество другие инструменты, и на их Mac или PC или что-то компьютер они имели в прошлом году и в прошлые годы, они будет дважды щелкните значок чтобы запустить эту программу называется гипервизор. А потом внутри этой программы они откроют CS50 прибор. И эффект в том, что ли ваш предшественник бежал Mac OS или Окна, он или она Впоследствии было новое окно на их Экран работает среды CS50 в. Таким образом, виртуальная машина позволяет запускать один операционной системы внутри другой, и это именно то, что мы сделали. На протяжении почти всего курса мы использовать операционную систему под названием Linux, в частности, Ubuntu Linux, и это это очень хороший способ в прошлом лет Убедившись, что все в процессе только что ту же среду. И вы можете использовать любой вид компьютер, вы действительно хотите. Среди недостатков, тем не менее, были, как это было два гигабайта чтобы скачать этот вещь. Это не обязательно работать на супер хорошо люди, чьи компьютеры, что, может быть, только был концерт или так ОЗУ, или не слишком много гигагерц скорости процессора, и поэтому в этом году, по это и другие причины, у нас был переход к этой среде. Так называемый CS50 IDE, который на базе программного обеспечения с открытым исходным кодом, и поддерживает платформу что компания под названием Cloud9 поддерживает в Европе, что позволяет нам иметь по существу что точно такой же, как в среду последние годы, но в так называемой облаке. Так что облако? Вы, наверное, нажал его значок на вашем Mac или PC. Что такое облако? Да? Чуть громче. Да. Это просто куча компьютеров в другом месте, что хранить данные и запустить Программное обеспечение и тому подобное. Так что это на самом деле просто к слову де юре описания [? арендуемой?] компьютеры, которые живут в другом месте. Это вы, сами, не обязательно иметь. Так что, когда ваши данные, или ваш программы, в облаке, это просто означает, что это на кого-то Чужая компьютеры в другом месте, а не, скорее всего, на вашем физическая ноутбук или настольный. И вот что CS50 IDE сейчас. Отныне вы будете идти к определенной Ссылка, что познакомит Вас чтобы, в задаче набор 1, в этом неделю, которые затем, при входе в систему дать вам эту среду. И так же, как к царапинам был несколько различных панелей, участвующие, так же IDE CS50 имеют именно это. На верхнем левой стороне здесь, вы увидите знакомый файловый браузер. Таким образом, любой из файлов, которые поместить в эту среду только собираетесь находиться здесь. Файлы и папки. На вершине прямо здесь, Вы увидите место, где вы можете написать свой код. Первоначально в C, а затем в член в PHP и JavaScript, и, возможно, для окончательного проекты, Руби или Java или Python, или любое количество языков поддерживается в этой среде. Это вовсе не связаны чтобы CS50 специально. А потом в нижнем углу здесь, особенно для тех, кто более комфортно, у вас есть что-то называется окно терминала. И это окно терминала позволяет Вам выполнить любую команду, что вам хочу в этом облачной среде. Это позволяет устанавливать любая дополнительная программа что вы хотите, потому что вы так называется корень, или администратора. Итак, другими словами, даже если это в конечном счете, в облаке, и хотя у нас есть упрощена это до некоторой степени по умолчанию, в буквальном смысле введения, благодаря Дэну Armendariz, и Дино, и Дэн Брэдли в команде CS50 на протяжении многих мимо многих месяцев, менее комфортно режим, который скрывает много из Первоначально запутанной отвлечения. Все существует в представляют собой типичный компьютерную систему что вы могли бы использовать в реальном мире. Итак, что же все это значит, и что мы можем реально сделать с ним? Давайте на самом деле заглянуть в программе. Так что я собираюсь открыть текущая среда здесь, что только наша Chrome браузера, который может быть Firefox, может быть Internet Explorer, или какой-либо другой браузер, а также. Это полный скрининг здесь на данный момент. И я хочу, чтобы на самом деле дразнить кроме того, что эта программа была. Итак, давайте взглянем, путем увеличения в до началу, на то, что я сделал, и как я попал сюда. Так вот те, точное же строк кода. Так что это заявление, как вы упомянули ранее. Функция, которая говорит привет. Фигурные скобки, на линия четыре строки шесть, предположительно вид конверта что линия связать его с сутью моей программы. Так на самом деле, это главное ключевое слово, это там, на третьей линии, Вы можете думать о том, что в качестве эквивалента того, что, когда зеленый флаг щелчке блокировать в царапина. Так что все, что мы имеем здесь, когда зеленый флаг щелчке печать, или сказать, Привет мир. Но давайте догадаться, теперь, на то, что это первое, более тайной линия, есть. Sharp включают, открытый под углом кронштейн, стандартный ввод / вывод точка ч, закрыть углом кронштейн. Что делать, что, возможно, особенно если вы программировали прежде в какой-либо другой язык. Да? АУДИТОРИЯ: [неразборчиво] Дэвид Дж Малан: Да. Точно. Таким образом, это дает вам доступ к библиотека, так сказать, функций. И библиотека функций Функции, которые кто-то еще написал, либо недавно или давно, так что вы не нужно изобретать колесо. Например, мы не должны знать, в 2015 году, как писать код, который ставит характер на моем экране. Кто-то другой уже решил, что с функцией PRINTF так что я могу сортировать абстрактного от этого, или слой на вершине его или ее Код, и теперь просто взять разумеющимся, что любая программа я пишу может что-то напечатать на экране. Таким образом, это первая линия есть на первом этапе включает в себя так называемое заголовочный файл для стандартной библиотеки. Так видите, язык которые мы в настоящее время работает была стандартной библиотеки с большим количеством функций. Printf является одним из них, и что первая строка кода означает дать мне доступ к эти функции, так что я не нужно изобретать колесо, что. Теперь давайте перейдем к нижней части окна и делать то, что я делал раньше. Минуту назад, когда я был свистом через код, вводить его в первый раз, Я очень быстро набирается, сделать привет. Что было то, что все о бы вы догадались? Что я делаю? Да? Неважно. Это нормально. Да. АУДИТОРИЯ: Компиляция его. Дэвид Дж Малан: Да. Это было просто компиляции. Правильно? Даже если это совершенно не знаком Вам, это довольно по-английски, как. Это, конечно, не нули и те,, так что я до сих пор нужно, чтобы запустить его через что так называемая Программа, компилятор, что происходит принять его в качестве входных данных и производить продукцию. И по крайней мере, в настоящее время, в эта среда Linux, но это не обязательное условие, это там, где мы начнем, Вы вообще взаимодействовать с компьютерные системы, как это на так называемой командной строки. Так с миганием быстрое и клавиатура, и не столько мышь, а не столько окон и иконки и меню, а все текстовые. И хотя это чувствует, сначала взгляд, может быть, как шаг назад, это на самом деле гораздо больше, мощный и выразительный способ контролировать компьютер особенно, как вы, самостоятельно, становятся более комфортно с менее. Это происходит, чтобы позволить вам сделать много больше вещей, чем просто какой Microsoft или Apple, позволяет делать с их графическое операционной системы. Так что, когда я ударил Enter, сейчас, ничего не происходит на этот раз потому что очевидно Программа привет до даты. И то, что была команда Я побежал за что? Точка слэш привет, и привет мир. Теперь давайте шаг резервное на мгновение. Оказывается, что сделать привет просто Упрощенный способ компиляции программы. Давайте просто ввести одна часть жаргон, но потом отойти от него, так как это не все, что интересно для сегодняшних целей. Компилятор мы собираемся начать использовать называется Лязг, для языка C. И это программу, которая просто работать как мы делали в командной строке там. И поэтому, если я хочу компилировать программу, что я написал в файле под названием привет точка с, я буквально просто введите лязг привет C войти. Самое смешное в том, по историческим причинам, если я не указать Название программы что я хочу для вывода, если я не указать имя файла для тех нулей и те,, очень странный Конвенция была принята года назад где он чувствовал себя своего рода хороший ответ в то время, а давайте просто произвольно называем Первая программа мы собираем точку вне. Приходит первым в алфавите. Отъезда, это выход. Таким образом, мы будем называть программу по умолчанию точка из. И это нормально, потому что, если я хочу, чтобы запустить программу в этом тексте, основанного окружающая среда, я просто введите точка слэш точку из войти. И она будет работать именно так, как раньше. Итак, давайте посмотрим, что очень быстро. Так что, если я вернусь в мой исходный код на CS50 IDE, и я вместо этого лязг привет кроватка C Введите уведомление ничто, кажется, чтобы это произошло, но почти всегда в эта среда Linux, когда ничего плохого не кажется случиться, что означает что-то хорошее произошло на самом деле. Если вы не видите ошибку сообщение, все, вероятно, хорошо. И в самом деле, если я сейчас точка слэш точку из ввести, я веду свой же программу. Я до сих пор программу привет от ранее, потому что на самом деле, это будет так гораздо приятнее просто введите сделать вместо запоминания эти заклинания команды, но давайте посмотрим, как мы может улучшить это, тем не менее. Таким образом, это команда для компиляции кода. Эта команда для запуска скомпилированный код в дальнейшем. Как я могу указать имя файла? Ну давайте просто ввести еще один кусок жаргоне. Когда вы находитесь в этом текстовый окружающей среды, Вы будете хотеть, чтобы указать вещи, названные аргументы командной строки. Какие это просто причудливый способ сказать, Другими словами в строке, что изменять поведение независимо Программа вы работаете. Так в частности, программа я работает, введя имя лязг, является программа под названием Clang. Так что это или старая школа эквивалент двойного щелчка на Microsoft Word или Значок некоторых программы. Я вместо этого просто введя его имя, но в этой версии команды, Я тогда тире уплотнительное пространство привет привет пространство точка гр. Таким образом, даже если вы никогда не играл в этом мире прежде, просто взять то, что предположение вовсе тире о делать привет? Или то, что это говорит лязг делать? Да. АУДИТОРИЯ: [неразборчиво] Дэвид Дж Малан: Да. Это просто устанавливает выход файла, чтобы быть привет вместо глупее точка из. И, действительно, давайте попробуем это. Так что, если я сейчас, в первую давайте сделаем это, г м привет. Вот удалить. И это скажет удалить обычный файл привет, который излишне тайной, но это только средства вы хотите удалить файл, и я печатаю у для да. И обратите внимание, если вы взглянув на вершине слева, она исчезнет из там. Позвольте мне теперь делать лязг тире вывода и Я собираюсь идти вперед и делать привет, во всех крышек, привет точка гр. Теперь, если я точка слэш привет, что бы вы хотели? Может быть, это с учетом регистра. Может быть, это не так. Посмотрим. Данный файл или каталог отсутствует. И мы можем рода обмануть, просто глядя в левом верхнем углу. Что я, очевидно, сохранить программу как? Все шапки привет. Так на самом деле, это происходит чтобы сделать разницу. Так что теперь привет мир вернулся. Теперь это все прекрасно и хорошо, и все очень Дурманящий, в то увязнуть в них Детали, но понимание их хороший. Ввод из них более длинные заклинания не собирается быть особенно весело, так что люди в мире изобрел другую программу, несколько лет назад, называется сделать, чтобы совсем просто позволяет ввести марку, название программы Вы хотите сделать, и сделать умный в том, что это будет выглядеть в текущая папка, иначе каталоге, и если у вас есть файл называется привет точка с, что файл будет компилировать для вас в программе под названием привет. Так что это гораздо проще способ делает более загадочные команды что мы делали раньше. И мы предварительно настроен CS50 IDE знать что он должен делать вывод тире и ряд другие флаги, или аргументы командной строки, что мы увидим в ближайшее время. Но теперь давайте на самом деле что-то более интересное. Просто набрав из привет мир все время не все, что убедительно. Итак, позвольте мне идти вперед и изменение эта программа и сказать, привет Дэвид. Теперь я собираюсь пойти сюда. Я собираюсь идти вперед и делают привет. И сейчас снова вы видите сделать показывает вам больше Последовательность команд, что это делать, потому что мы предварительно настроен это то, что путь, но мы не нужно беспокоиться сейчас что он делает другой, чем она есть составление точка слэш привет, привет мир. В чем дело? Да. АУДИТОРИЯ: [неразборчиво] Дэвид Дж Малан: Да. Так, Noobie ошибка. Я заметил, что это супер тонкий, но звездочка здесь, в закладке просто означает, что вы не сохранили его, и браузеры и другие программы сделать это иногда. Так управления или команды с с должны сохранить его. Теперь позвольте мне идти вперед и повторно запустите программу. Повторно. Право, так что это многоэтапный процесс. Ни один из которых не является особенно сложным, но в любое время мы изменим файл, мы должны изменить в результате нули и единицы, и точка слэш привет. Вау. Так что это очень восторг что мы просто распечатать это. Давайте делать вещи немного более динамичным, сейчас. Ну, оказывается, что, как и Царапины, С поддерживает переменные. И получается, если вы хотите иметь переменную, которая хранит не число, как мы как правило, делали с нуля, но как слово, или фраза или имя, вы можно указать переменную к типу строки. Таким образом, мы увидим больше это всего мгновение, но оказывается, что C, а много таких языков, как это, имеют весьма специфические типы переменных. Это не просто нравится алгебру, где вы получите х, а у, и г и тех, кто просто всегда номера, в языке программирования Вы можете сохранять номера, вы можете хранить отдельные символы, можно хранить целые слова, вы могли бы хранить целые изображения, звуковые файлы целые, и тому подобное. Таким образом, мы должны указать, что тип нашей переменной. И конвенции я буду называть моего переменная с только потому, что это сжатое, и с обозначает строку. А потом я собираюсь хранить Внутри этой переменной, просто нравится с нуля когда я использую набор блок, Я собираюсь использовать Оператор присваивания в C, который достаточно хорошо это равно знак, но знак равенства делает это. Она движется что-то справа в левая сторона выражения. Так что я сделал, чтобы быть ясно, в Линия пять, как я объявил переменную. Я сказал компьютер, дайте мне память для переменной, называют это с, и заранее знать, что я собираюсь чтобы помещать строку в нем. И строка просто последовательность символов. Это слово, или фраза, или пункт, но это последовательность символов. Это не числа. Что строку я собираюсь быть положить в эту переменную? Ну, по-видимому, цитирую конец цитаты ", Ханна". Теперь обратите внимание, что рисунок на развивающихся. Там это выражение левая рука. Там это выражение правая рука, разделенных знаком равенства. И только сделать предположение, если знакомы, тем не менее, с тем, что точка с запятой делает. Что это, вероятно, делает для нас? Да? АУДИТОРИЯ: [неразборчиво] Дэвид Дж Малан: Да. Это просто прекращение линию. Правильно? Компьютеры хотите быть прямо сказал, буквально, что делать. Как арахисовым маслом и желе пример сэндвич, если вы не укажете именно то, что вы собираетесь, это может быть оставлено на усмотрение или ошибок. Точка с запятой означает, вот именно для этой команды. Это будучи супер точной, и это очень легкая вещь, чтобы бросить. Так что теперь эта программа, кажется, не не быть по-другому ведет себя любой, пока я сделать его более динамичным. Таким образом, вместо того, чтобы жестко мог моя собственная имя, позвольте мне поставить значение заполнителя. И получается, что, и я знаю это от прочитав документацию, и использовать функцию лет, что Printf был разработан, чтобы быть динамичным. Вы не должны знать заранее какие слова вы хотите, чтобы положить в него. Вместо этого, вы можете иметь Прототип, как процент с, что собирается рассказать компьютер, поставить здесь строку. Какие строки мы хотим поставить там? Уилл оказывается, что между ними скобки, которые помнят, разграничить вход для функции, если у вас есть разделенные запятой список вещей, здесь, мы на самом деле проходят в нескольких Входы в функцию. Так как и некоторые царапинам блоки, вы не могли бы играл с ними Ваши проекты пока или вообще, некоторые Скретч блоки имеют два входа. Два белых списков, вы можете введите число, или слова в. Так же есть С функции, такие как Printf, что может занять два входа. И опять же, это запятая отделяющий их. Таким образом, в английском языке, снова, даже если Вы никогда не программировали, По этой логике Printf является функцией, принимает два входа, один из которых является заполнителем, что бы вы надеетесь Printf собирается делать с этим входом? Это происходит, чтобы сказать привет Ханна, надеюсь. Таким образом, чтобы сделать это, мы должны сохранить его. Я собираюсь, чтобы уменьшить. Я собираюсь вернуться сюда и сказать, сделать привет войти. Ой. Что-то не так, и на самом деле это довольно подавляющим. У меня есть шесть строк кода и, как 12 строк ошибок. Так, с нетерпением ждем этого. Так что здесь происходит? Так что лучший правило здесь, особенно, когда вы начинаете, не отвлекаться на материал на дне. На самом деле, я очень сознательно просто прокручивается до потому что очень часто, компьютер находится не все так радужно устройства. Это будет запутаться. Если он видит, что одно он не понимает, это может ошибка Другая строк кода, так как неправильные, даже если они прекрасно. Таким образом, вы всегда хотите работать сверху вниз через ошибки. И правда, это супер тайной на данный момент. Ошибка, использование необъявленных Идентификатор строки. Разве я имею в виду стандарт? Нет, я имел в виду строки. И это указывает на, может быть, это опечатка. Вроде как, проверки орфографии в очень вызывающим образом, но причина здесь, и вы будете знать, это просто практике, является что получается, что строка не существует в С. Действительно, С является особенно старый язык, и это очень низкий уровень, и это не много возможностей что вы, возможно, уже выросли с если у вас есть, на самом деле, запрограммирован в Java, как некоторые из вас, но вы можете научить его новые вещи. И в самом деле, мы сделали это CS50, даже если к концу семестра, все эти учебные диски будет снята, что мы делаем в них Первая пара недель изначально у нас есть включить CS50 точка час. Какой файл заголовка. Подробнее об этом в будущем. Это файл, который содержит функции, что мы написали для вас. И среди этих функций функции для получения вклада от пользователя, как струны, и цифры и реальные цифры, и многое другое. Но он также имеет несколько ярлыков. Это определяет логическое как тип данных. С не имеют истинной или ложной. Но мы можем дать ему понятие истинным или ложным путем этой библиотеки. И это также не есть строка построен в пока мы не включить эту строку. Так эта строка кода сообщает компилятор, эй, Clang, посмотрите в этом файле в течение целого куча кода, который CS50 была написана так, что кто с помощью этого файла может принять как должное Особенности они добавили. Так что теперь позвольте мне идти вперед и очистить экран, и если интересно, я просто говорю, что контроль л каждый раз, чтобы очистить экран, или вы можете ввести ясно. Я просто собираюсь идти вперед и в настоящее время Тип сделать привет, и все будет хорошо. Тем не менее тайный выход, но это не ошибочное сообщение. Теперь, если я точка слэш привет, и как в сторону, точка слэш незнакомые большинству. Это просто означает,, точка означает текущий каталог. Так что если вы когда-либо использовали DOS, Linux, или, или Unix Вы могли бы сделать что-то как кд точка точка, где точка точка означает идти в обратном направлении в Время, или идти в обратном направлении, или выше в каталоге. Дот просто означает искать в текущий каталог. Я хочу привет, который находится прямо здесь. И действительно, в настоящее время он говорит, привет Ханна. И если я могу изменить его снова Марии, перекомпилировать он будет делать привет, точка слэш привет, программа постоянно меняется. Но это еще довольно глупо программа. Если я хочу, чтобы отправить эту программу, или дать его другу, или дать его Марии или Анны по этому вопросу, это нормально. Я могу настроить его для них обоих, но это никогда не будет динамичным. Они не могут изменить ее, когда она компилируется вниз в этих нулей и единиц. Итак, что мы сделали что-то умнее? Что делать, если, вместо того, чтобы жестко прописанных в программе имя этого человека, Что, если мы просто получить строка по требованию? Итак, другими словами, позвольте мне сделать это. Я собираюсь перекомпилировать эту программу. И позвольте мне увеличить на дне настоящее. Сделать привет точка слэш привет. Теперь ничто не происходит. Можем ли мы получить быстрый добровольца сделать что-то случится? Давай до. Как тебя зовут? Панчо: Панчо. Дэвид Дж Малан: Пачо? Давай до. Как только вы получите здесь, это будет очень восторг, но это более интересно чем мне его наборе. Если вы хотите, чтобы идти вперед и введите имя, я сделал эту программу только для вас. Просто введите свое имя. Войти. Замечательно. Ладно, спасибо очень много. Панчо: Спасибо очень много. Дэвид Дж Малан: ОК. [Аплодисменты] Это был очень добрый. Ну вот. Что мы делаем? Таким образом, мы, наконец, по крайней мере, сделал это программа динамичным. Теперь, конечно, все еще по конструкции восторг, но мы, наконец, иметь возможность Теперь, чтобы написать код заранее, много как и авторы Printf, и затем динамически адаптироваться на основе материалов мы передал, либо программистом, или с помощью человека, который на самом деле взаимодействие с программой. Так давайте теперь попробуем на самом деле сделать несколько другие конструкции и посмотреть, если мы не можем сделать программы Сами сложнее. Так что давайте идти вперед и вместо пишу это с нуля, Я собираюсь пойти сегодня в Исходный код, и все это доступно на курс-х сайт, и вы можете перетащить его в собственной среде прийти в пятницу сразу проблемы набор 1 дает вам инструкции, или вы могли бы сделать это в командной строке, как хорошо, но еще не в р набор 1. Давайте посмотрим, что в этой программе здесь называют, гадюка точка гр. Теперь я уже прокомментировал это, но что нового? На первый взгляд, то, что линия кода абсолютно нового? Наверное, не принципиально Теперь знакомы. АУДИТОРИЯ: [неразборчиво] Дэвид Дж Малан: Да, так INT х равен получить п. Мы никогда не видели ничего из этого раньше, но, вероятно, INT символ какой-то Переменная [? от?] целое. Так INT для целого числа. Это просто быть более кратким. х просто произвольно. х и у и г по-прежнему довольно разумно для чисел, но в целом мы будем использовать слова сразу наши программы становятся все более сложными. Получить Int, конечно, так же, как получить строку, , вероятно, будет получать целочисленное от пользователя, а затем мы собираемся сделать то же самое с у. И, видимо, даже если это Последняя строка, 24, выглядит более сложным, он собирается сказать сумму этого и что это другая вещь. И заметьте процентов я вероятно, означает, что? Какую роль процентов я по-видимому, служить? Это просто заполнители. Правильно? Процент с была для строки, процентов я для целого числа. Там будет процентов е с плавающей точкой значение, которое это просто число с десятичной точкой. Другими словами, действительное число. Итак, давайте на самом деле скомпилировать программировать очень быстро и делают гадюка. Упс. Хорошая возможность. Так заметить здесь, все это время мой пользователя Имя для этого аккаунт jharvard. Я в CS50 IDE, иначе IDE50. А теперь в синем здесь, упоминание, но от окружающей среды, от того, где я. И в самом деле, если я увеличить до вершины здесь, обратите внимание, что у меня есть IDE50 и я вижу это слово, если вы вид повернуть голову в сторону, рабочее пространство. В двух словах, то, что Я вижу тильды слэш рабочее пространство означает, что в данном тексте среда, основанная на командной, Я в текстовом эквиваленте Этот графический папку здесь. Так что, когда я точка слэш гадюка, она не говорит о верховенстве чтобы целевой гадюка остановку. Я не знаю, что это значит, но это плохо для какой-то причине. Данный файл или каталог отсутствует еще более ясно. Где же тогда? На основании того, где я нажал чтобы открыть файл раньше. Где он может быть? Это, вероятно, в источнике одним Вт, в среду, и я могу видеть это, действительно, если я открываю, что до. Существует точка гадюка с, но в Этот текст на основе окружающей среды, снова, я должен быть супер явным. Если я хочу, чтобы изменить каталоги в один источник среду, мне нужно ввести, CD один источник пространство Среда введите и теперь мои быстрые изменения дать мне визуальный сигнал, что Я, в самом деле, в другом месте в моем окружении, но теперь я могу делать сделать гадюка, это, кажется, работает, точка слэш гадюка, дай мне целое. Один. Два. Сумма одного и двух три. Но если я не сотрудничают, давайте посмотрим, что получить INT делает. Дайте мне целое. Нет. Повторите. ХОРОШО. Прекрасно. 50. 50. Все в порядке. Так что, наконец, сотрудничает. И это одни из функциональность, что эти функции может быть построен за вас. Так внутри реализации из получите INT, какой программирование построить с прошлой недели, вероятно, в там заставить такое поведение повторить попытку, попробуйте, повторить? Да, там, наверное, своего рода цикл. Это будет выглядеть синтаксически отличается от блоков нуля, в но это действительно что внутри файла. И в течение нескольких недель мы будем на самом деле выглядят в библиотеке CS50 а то, что внутри, но есть петля наложения именно это. Давайте играть в глупые Игра здесь с этим файлом. Состояние нулю точка гр. Мы просто собираемся в общем начать отсчет с нуля. И я продолжаю прокрутки прошлое некоторые вещи на вершине. В синий здесь, разграничены со всеми из этих звезд и косой черты, те из вас, кто запрограммировать прежде, что это такое? Почему мы продолжаем пропускать над ним? Что? АУДИТОРИЯ: Это комментарий. Дэвид Дж Малан: Да. Это просто комментарий. Это комментарий для человека читать, что в нашем случае, говорит нам, что имя файла в том, кто ее написал, и что он делает, так что вам не придется прочитать код знать, что этот файл это все о. Это просто описание, но функционально это не имеет значения. И я даже могу удалить его из мой файл и он не имеет никакого влияния. Сочные линии эти Первые два здесь и сейчас. INT основной недействительными является эквивалентом нашего, когда зеленый флаг щелчке так что мы собираемся оставить это быть на сегодняшний день, и мы вернемся, в конечном итоге, к тому, что, как INT силы есть, но сейчас, заметить, что я сделал здесь, вы можете также, если у вас есть в соответствии комментарии, если у вас есть мысль вы хотите поделиться о конкретной строки кода, Конвенция в C это делать слэш слэш, а затем несколько краткие слова, не полный приговор, как правило, не пункт, что только объясняет вам, или ваш TF, или другие читатели или коллеги, что ваш код делает. Таким образом, вместо того, чтобы иметь смотреть на это и вывести из линий девять и 10, что это делает, в соответствии восемь Я просто дать комментарий к спросить пользователя для целого, то я не должен думать слишком трудно о чем линии девять и 10. Я просто знаю, что это то, что вместе они делают. Как? Ну, вот подсказка. Вот добывания Int. И на основе предыдущего поведение, кажется, Get INT достаточно умны, чтобы убедиться, что человек сотрудничает и дает его целое число. Но теперь мы видим это. И это напоминает нуля. Я утверждая, что я Анализируя введенные пользователем, но несколько неточно. И это, по-видимому, в том, как C мы выражаем, если еще, филиал, вилка в дороге, но я говорят несколько неточно. Что ошибка в этой программе? О дальше назад? Да. АУДИТОРИЯ: [неразборчиво] нулю. Дэвид Дж Малан: Да. Так что, если я печатаю в нуле, давайте рассмотрим именно в этом случае, или в углу так, если вы будете. Так что, если я печатаю в ноль, что из блоки собирается, видимо, захватить его? Условный или иначе? Еще, и это скажет, Вы выбрали отрицательное число. И в самом деле, ноль не допускается чтобы быть положительным или отрицательным, и так, что бы ошибочно. Это было бы ошибкой. Так как мы можем это исправить? Кто-то, кто никогда не программировал раньше? Вы хотите-- АУДИТОРИЯ: [неразборчиво] Дэвид Дж Малан: Складывание? АУДИТОРИЯ: [неразборчиво] Дэвид Дж Малан: О, у вас есть? Кто-то, кто никогда не программировал ранее. Хотите попробовать свои силы в это, в красной рубашке? Давай до. Ах да, давай вверх, если вы не возражаете. Так что никогда не запрограммировав прежде, чем ваше имя? Лорен: Лорен. Дэвид Дж Малан: Лорен, все в порядке. Так исправить эту ошибку для нас. Вы не видели C, по-видимому, и, вероятно, никто другой язык. Так исправить эту программу для нас. Приятно познакомиться я. Никакого давления. Лорен: Да. Дэвид Дж Малан: Но опять же, если это азартная игра идет по плану, вынос здесь будет быть, просто еще раз, чтобы начать замечать закономерности и вывести из существующего синтаксиса как еще вы могли бы выразить самостоятельно, не каламбур, в целях захватить дополнительную сценарий. Так мы говорим иначе, если. Printf, хорошо. И обратите внимание, с CS50 IDE и IDE frankly-- стоит для комплексного Среда разработки. Это просто причудливый способ сказать программа, которая поможет вам программу. Это делает дружественный пользовательский вещи, как при вводе одного скобки, это автоматически дает вам другой. Презумпция того, что вы в конце концов захотят ввести, что, и это также делает его в кавычки. Так что я хотел линию 23. 99% пути там. Кто-то хочет, чтобы звонить в с наконечником? Я слышал запятой от аудитории. Хорошо. Так что завершает это. А теперь, я просто немного ужас с линии 21. Как мы хотим, чтобы это выразить? Какой вопрос мы хотим спросить, как вы думаете? Так, ранее мы задавали вопрос, если п больше нуля, сделать это. В противном случае, сделать это. Таким образом, мы должны выбрать задать вопрос здесь. АУДИТОРИЯ: [неразборчиво] Дэвид Дж Малан: Хорошо. Так, если п равна нулю. Отлично. Так давайте остановимся здесь. Спасибо вам большое за это страшась. Позвольте мне дать вам немного заслуженной стресс мяч, возможно, есть. Таким образом, мы уже почти там. На самом деле, Лорен, если вы не ум, позвольте мне сделать один настроить здесь, только, чтобы быть устойчивым, даже то, что мы видели в пустом, то, что я хочу сделать с линиями 21 и 24, только на основе вновь о том, как мы делали это в пустом, возможно? АУДИТОРИЯ: Перемещение его. Дэвид Дж Малан: Да, переместить его вверх. Таким образом, состояние другой, третий, или четвертый или пятый, или окончательное отделение, должны действительно пришел позже, и это только по соглашению, просто потому, что если вы будете. Так мне нужно сделать этой настройки. И мне нужно поставить свою фигурная скобка сюда. И теперь, эта программа будет компилироваться. Мы так близко, но есть очень, очень тонкий ошибка. Давай посмотрим что происходит. Во-первых, позвольте мне идти вперед и уменьшения масштаба. Я собираюсь идти вперед и введите сделать состояние нулевой. О, я лгал. Теперь компилятор на самом деле очень умный. И я действительно не понимаю, это сообщение об ошибке. Используя результат присвоения в состоянии без скобок, по-видимому, плохо. Но что это значит? Ну опять же, глядя на модели в коде, что мы видели раньше, что линия 17 на самом деле делает, даже если Лорен предназначены немного в противном случае? Да. АУДИТОРИЯ: [неразборчиво] Дэвид Дж Малан: Да. Так что помните, знак равенства, по-видимому, как мы использовали его раньше, не на равных. Его назначение, справа налево. Так строка 17 в настоящее время это состояние, и это выполнение кода внутри скобок, но когда код выполняется, что происходит с нулевым значением? То, что происходит в значении п? Став нулю. Так, если п становится равным нулю, и снова, как в последнюю неделю, мы обычно говорим, что нуль является ложной и одна правда, или да нет это одно и не равна нулю. Так истинным и ложным, одно и 0. Если н от линии 17 была учитывая значение 0, равна нулю правда? Нет. По определению, ноль это ложь. Это соглашение мы собирается цепляться двигаться вперед. Так будет линии 18, 19, и 20 либо применить сейчас, логично? Они не могут. Таким образом, мы задали вопрос но не совсем точно, и вы не знаете, не это, если Вы видели это, решение в С когда вы хотите, чтобы выразить равенство, вы говорите, равно равных. Так знак равенства уже используется до по заданию, справа налево. Равно равна средства равными. И если вы действительно хотите свой ум чтобы быть согнуты в JavaScript и PHP, есть равна равна равных, которые значит что-то еще в целом, но мы вернемся к тому, что в скором времени. Так что это просто исправить, но понимаю, супер просто, чтобы сделать эту ошибку, а потом удивляются, и борьба за несколько минут, если не часы, почему мой код не выполнение, как я намерен? Это потому, что вы не сказали это именно то, что вы имели в виду. Так что почти идеально, и это было здорово что мы наткнулись два маленьких вещи, потому что теперь, если мы их исправить, и я сделать Condition Zero точка слэш состояние нулю, Я хотел бы целое пожалуйста. Посмотрим. Нет. Это происходит, чтобы заставить меня сделать это. Так 42. Я выбрал положительное число. Так что теперь, как я могу доказать, эта программа правильно? Если вы математик, вы не можете действительно доказать это методом проб и ошибок, правильно? Вы можете не только доказательство, пример, но, по крайней мере в качестве программиста мы не будет пытаться доказать, сейчас что это на самом деле правильно, но я, наверное, следует проверить некоторые представительства случаев. Я проверил 42. Я мог бы проверить 43. Я мог бы проверить 44. Тест 45. Правильно? Но что я мог сделать это очень долго. Что бы еще немного интересные случаи попробовать? АУДИТОРИЯ: [неразборчиво] нулю. Дэвид Дж Малан: Так нулю. Конечно. И хорошо, что у нас есть это на этот раз, благодаря новым кодом Лорен. Что другой хороший случай попробовать? АУДИТОРИЯ: отрицательный. Дэвид Дж Малан: отрицательный, а может быть, что-то немного больше, так что, возможно отрицательное 42, но в целом, когда тестирования программ двигаться вперед, вы захочет думать к себе, как то, что являются основными разные случаи. И я осмелюсь сказать, негативное дело, положительный случай, и случай нулевой в значительной степени округляет эти из. Давайте посмотрим на вариант этого же. Условия одну. Это правильное решение здесь, так что вы увидите два и в Интернете, если вы идете через прохождение, будет, как правило не увеличивать эти ступенчато, пока мы получить именно правильный подход. Что делать, если мы хотели спросить два вопроса сразу? Позвольте мне открыть это вместо. Номера переключатель, по причинам, мы увидим в другой раз. Что нового синтаксически здесь? Я в настоящее время играет в игру где компьютер говорит мне, дай мне целое от одного до 10, и тогда я, судя вход пользователя. В английском языке, основана на код вы видите здесь синим, что эта программа делает? АУДИТОРИЯ: [неразборчиво] взял большой или маленький номер. Дэвид Дж Малан: Да. Это просто рассмотрении ли Я выбрал большой, или среду, или небольшое количество на основе очень произвольное определение малых, средних, и большая здесь, но уведомление синтаксис, который нового это. Там нет меньше, чем INT или равна подписать или больше или равно подписать, где один над другим, что вы можно выразить в как Microsoft Word. Таким образом, в языке программирования вы как правило, просто сделать два символа, один за другим. И то, что делает это, вероятно, представляют, амперсанд амперсанд. АУДИТОРИЯ: [неразборчиво] Дэвид Дж Малан: Да. Это просто означает, и потому, что он Получается, что авторы С используется один амперсанд, которые вы могли бы подумать был бы идеальным для понятия из и, уже израсходованы, так амперсанд амперсанд на самом деле захватывает случай мы на самом деле хотите. Итак, давайте наткнуться двух вещей. Позвольте мне идти вперед и открыть один. Что-то, что это немного беспокоит. Неточность точка гр. Позвольте мне представить две вещи здесь. Один из них, обратите внимание, что мы можем сделать, математика, а так же, как раньше, когда мы сделали плюс двух чисел х и у. Что это, по-видимому программа делает? Я не прокомментировал еще, и я представил процентов п, но я быстро сказал ранее процентов е означает плавающей точкой значение, которое будет действительное число. Что-то с десятичной пункт, который не является целым числом. Что вы думаете, это программа пытается показать мне на экране? Да? Аудитория: результат один над 10. Дэвид Дж Малан: Да. Что в результате одного делится на 10. Правильно, потому что все из вас, наверное, выросли, зная, что один над 10 это то, что? Да, это просто 1/10 или 0,1. Правильно? Итак, давайте посмотрим, что это на самом деле. Итак, позвольте мне идти вперед и сохранить этот. Позвольте мне перейти сюда. Сделать неточность точка слэш неточность, и уведомление, тоже в среде Linux, вы не должны ввести из неточность и принять весь день. Это вообще, если вы нажмете Tab, то будет закончить свою мысль для вас, на основе слов, которые доступны в текущем каталоге. ХОРОШО. Таким образом, вы были правы. Один разделенный на 10, на самом деле, 0,1. Но я немного любопытно. И получается, Printf поддерживает некоторые функции в котором вы можете указать более Количество по умолчанию знаков после запятой. Так что, если я хочу, чтобы увидеть 10 десятичной точки я могу сделать, процентов для символа-заполнителя, точка 10 для, дают мне 10 десятичных точек, а потом еще с плавающей точкой значение, и, как в сторону, что это обратная косая черта н по-видимому, мы продолжаем использовать? Оказывается, что это символ новой строки. Это очень явным образом говорить с компьютером, переместить курсор к следующей Линия После того как вы сделали. И мы увидим, что произойдет когда мы не делаем этого. Позвольте мне сделать перекомпилировать неточность. Теперь точка слэш неточность. ХОРОШО. Тем не менее в порядке. Один разделенный на 10. Теперь я получаю немного любопытно, хотя. Что делать, если я смотрю 20 десятичной указывает, перекомпилировать, повторно, и, как в сторону для скорость, вы также можете использовать Ваш стрелки вверх и вниз, чтобы прокрутить истории, так что вам не придется держать перепечатывания этих команд, введите. Да. Я не узнать, что в начальной школе. Ладно, так что давайте мне см, как 29 мест вне. Может быть, это просто случайность. Может быть, мой компьютер действует странно. Это не вещь, не так ли? Это что-то делает детерминировано. Так что неточность. Хорошо, что перепутались. Так что же происходит? Таким образом, очевидно СВОЙ учитель лежал Вам все это время для Причины, по которым мы увидим в скором времени. Но давайте закончим с одной другой программе. Это немного программы кто-то написал несколько лет назад, и это на самом деле часть конкурса. Никто на самом деле не пишет код как это, и если вы делаете, Это стилю проблема. Но люди делают это за хвастовство правами. Чтобы записать наиболее запутанной ищу программу, которая тем не менее, делает что-то интересное. И записка Я думал, мы бы оставить на сегодня перед Колтон играет с нами здесь, это запустить эту программу, который, даже в только с помощью С в этом текстовый среда, дает нам это. Черт возьми. [Смех] Поддерживать. [Неразборчиво] с тире л м. Вы увидите волшебный заклинание, что мы увидим в ближайшее время. [Неразборчиво] Все правильно. И теперь вы можете даже делать вещи, как это. Вот и все. Для CS50 мы, увидимся в пятницу. [Играет музыка] [Аплодисменты]