Джейсон Хиршхорн: Добро пожаловать. Так всего за несколько анонсы прежде чем мы начнем. Так разделов, каждый должен уже срезы уже. Разделы нормально работать с воскресенья по вторник. Так вы, ребята, должны получить свои задания. И тогда, я думаю на следующей неделе Вы будете с вашего фактического ТФ. Так что если у вас есть какие-либо вопросы, или Беда, или вы забыли разделе. Некоторые люди делают это. Просто дайте нам знать. Стрелять нам письмо на головах. Тогда рабочие часы. Мы начали рабочие часы на прошлой неделе. Часы работы каждую неделю. Понедельник в Леверетта 8:00 до 11:00. По вторникам в квад, так Кабот 8:00 до 11:00. Среда, Mather с 8:30 до 11:30. И четверг Annenberg 8:00 до 11:00. Так царапинам, много людей не нужно приемные часы помочь для нуля, который это абсолютно прекрасно. Если вы это сделаете, это абсолютно нормально, а. Но в будущем, проблема наборы, они получают гораздо сложнее. Таким образом, это будет вашим другом. Определенно пойдите в рабочее время. Запланируйте на рабочее время. Когда вы дойдете до проблема установить четыре, пять, шесть, семь, Вы должны пойти в рабочие часы. Вот где много помощь и выполняется работа. Я думаю, что в прошлом году, как раз для пример, в четверг night-- так что я думаю, что проблема наборы были из-за пятницу. Так в четверг вечером, мы должны были бы 200, 250 студентов в рабочее время. Так определенно использовать это. Это ваши лучшие друзья. Как это где, если вы застрял на множестве проблем, это где вы, вероятно, получить помощь. Так рабочие часы. Хорошо так те объявления. Анонсы закончите, так что давайте начнем. ОК, прибор. Разве скачать все прибор еще? Нет. Как и в так себе. Я вроде скачал прибор. Прямо так, что прибор новый в этом году, так что мы, вероятно, будет иметь некоторые ошибки в нем. Поэтому, пожалуйста, загрузите его как можно раньше. Так проблема установить один собирается рассказать Вы точно, как загрузить его. Начало работы установки прямо здесь. Это собирается рассказать вам, как скачать прибор. Так определенно скачать Прибор скорее раньше, чем позже. Инструкции в P множества спец. Так что, если вы будете ждать до среды ночь, а затем у вас возникли проблемы, и вы, отправьте нам письмо на полночь в ночь на среду что вы не можете скачать прибор, это не законным основанием для продления. Вы должны сделать это сейчас, и у вас будут проблемы. Я пытался загрузить его прошлой ночью. Я столкнулся с немного неприятности. Если вы столкнетесь с проблемами установка, безусловно, хит повторную попытку, потому что я просто попал повторить Пару раз, и в конечном итоге это сработало, которая не имеет никакого чувство, но она делает. Так определенно повторить, но если вас придумать к кирпичной стене, стрелять нам письмо на головах, и мы будем более чем рады помочь вам, ребята. Как дела? СТУДЕНТ: Просто быстрый вопрос. Если они проверяют стиль, какая-то часть что говорит нам не включать этот. Джейсон Хиршхорн: Пока нет. СТУДЕНТ: Это говорит выполнить его. Как вы выполнить что в убедитесь, что это в вашей системе? Джейсон Хиршхорн: Ты собирается запустить команду Баш. Я пойду за что позже. Прохладный. Так прибор может быть немного пугающим, потому что вы привыкли к виду работает в графическом интерфейсе пользователя. Так было царапинам графический пользовательский Интерфейс, так что я имею в виду, что? Я имею в виду, что когда вы программируете, Вы в основном с помощью блоков кода. Вы видите код и все в таком духе. Прибор, вы собираетесь делать вещи в среде командной строки. И так до конца ваша жизнь программирования, Вы собираетесь делать вещи в среде командной строки. Так что это хорошо, чтобы прыгать в начале и получить некоторый опыт. Так давайте сделаем это. Так вот Роб. ОК, так что давайте просто прыгать в командной строке вещи. Так что это устройство. Кто-нибудь может сказать мне, почему мы используем прибор? Что такое прибор? Кто-нибудь знает? Как дела? СТУДЕНТ: Это просто виртуальная машина что вы ведете свой аппарат таким образом, что вы можете получить по ОС разногласия между Mac и PC. Джейсон Хиршхорн: Прекрасно. СТУДЕНТ: Это универсальный шаблон. Джейсон Хиршхорн: Да, это как универсального шаблона. Отлично. Так что да, это виртуальная машина. Так что это в основном операционной системы. Это операционная система. Это эквивалентно ваш Mac, или вы ПК, или ваш Linux. Это то же самое. И таким образом, вы можете сделать подобную гадость. Если вы хотели, вы могли бы выходить в интернет, например. Вы не можете видеть его, но прямо здесь, в Google Chrome. Вы можете выходить в интернет, если вы хотите, чтобы. Это операционная система. И по этой причине мы делаем это потому, что это гораздо проще, когда мы раздавали инструкции и все. Если это всего лишь равномерное среда, это намного легче для нас, и это гораздо проще для вас. Вы же не собираетесь работать в это возникнут какие-либо особенностей когда вы программируете. Мы знаем точно, что Вы собираетесь работать в. Так что прибор тут. Поэтому, когда вы начинаете программирование, вы собирается спуститься левый угол. Там немного коробка. Вы собираетесь щелкните его. Это ваш окно терминала. Так что это, где вы собираетесь быть много семестра. Итак, позвольте мне увеличить немного. Хорошо, таким образом, двигающийся терминала окно немного отличается. Во-первых, нет никаких иконок. Я не могу ничего нажимать. Там нет ничего, чтобы нажать кнопку. Таким образом, вы должны выяснить, путь к выяснить, где вы находитесь, что здесь, и как передвигаться. Так два самых полезных команд, вероятно, которые ls-- так что вы думаете Ls делает? СТУДЕНТ: Список. Джейсон Хиршхорн: Списки, да. Это просто список алгоритмов в каталоге. А потом кд. Так скажем, я хотел кд CS50, что же, что делать? Да? СТУДЕНТ: Изменяет каталог. Джейсон Хиршхорн: Отлично, да. Это просто меняет каталог. Итак, давайте вернемся. Так как же я? Так скажем, я хотел пойти возврат к предыдущему каталогу. Да, конечно. СТУДЕНТ: Я думаю, что вы пишете кд просто без ничего. Джейсон Хиршхорн: Вы можете сделать это. Так прекрасно. Так что, если я пишу кд, это на самом деле происходит в поп меня резервное копирование в домашний каталог. Итак, вы видите эту тильды, что собирается поп меня обратный путь до где волна является. Так это будет поп меня назад в домашний каталог. Но, допустим, я сделал что-то вроде этого. Скажем кд CS50. Ls снова. У меня другой материал. кд супер разделе. CD файл, так что я собираюсь глубоко. А потом скажем, я хочу просто трещать назад к вершине. кд. Скажем, я не хочу этого делать. Скажем, я просто хочу, чтобы трещать назад до каталог, который был прямо надо мной. Как мне это сделать? Так скажем кд CS50. кд supersection. Так давайте я здесь. Скажем, я просто хочу, всплывал один раз. Как мне это сделать? Да, в чем дело? СТУДЕНТ: Вы просто наберите кд снова supersection. Джейсон Хиршхорн: Вы могли бы сделать это. Ну я в supersection. СТУДЕНТ: О, один раньше. Джейсон Хиршхорн: Да, так что вы могли бы сделать это. Вы делаете кд ~ CS50. Так что, если вы посмотрите здесь, это Ваш путь прямо здесь. Это ваш путь. Таким образом, вы могли серьезно просто пойти кд ~ / CS50. Бум, вы там. Что более простой способ сделать это, хотя? Это было совершенно правильно, но что чуть более простой способ сделать это, потому что много раз вы собираетесь чтобы прыгать в каталогах, выпрыгнув из каталогов. Итак, давайте вернемся. кд supersection. Так скажем, я хочу вернуться действительно быстро. Вы можете сделать что-то вроде кд точка точка. Это собирается поп Вы поддерживаете реальный быстрый. Так кд supersection. компакт-диск. Скажем, я нахожусь здесь. Кстати, понятно, это хорошо, потому что моя Окно становилось немного грязный. Так Ls, так что я не хочу, чтобы быть здесь больше. кд точка точка. Возьмите меня в один. Cd точка точка берет меня один. Cd точка точка и обратно к себе домой. Итак, кд, Ls. Вероятно, наиболее важным вещи, потому что ты понадобится знать, где вы находитесь. Ls собирается сказать вам где вы находитесь, и кд как вы собираетесь прыгать. Вы также можете сделать некоторые другие полезные. Так, например, Ls. Ls просто собираюсь показать вам, каталоги в файле. Он также собирается показать вам файлы. Но это только собирается показать вам то, что там. Если вы хотели что-то немного более прохладным, и вы собираетесь на самом деле это через пару недель. Ls тире л. Это выводит Немного больше информации. Кто-нибудь может угадать с левой стороны стороны drwx, RWX и все в таком духе. Кто-нибудь есть идеи Что это может означать? СТУДЕНТ: Разрешения. Джейсон Хиршхорн: Да, прекрасно. Права доступа. Таким образом, вы будете приходится иметь дело с этим когда вы делаете веб-программирования позже. Если вы когда-нибудь в Интернете, и вы нажали на изображении или нажал на поле, и это говорит permission-- как разрешения не допускается, или как Разрешение не предоставляется или любой другой, это потому, что, когда они программирования, они не установить эти разрешения чтобы позволить вам сделать это. Так где, что приходит. ОК, так что это здорово. Таким образом, мы прыгали вокруг. Мы можем посмотреть на вещи в наш каталог. Но как сделать вещи? У меня каталоги здесь. Это потрясающе. Как сделать, чтобы новый каталог? Скажите, что я хочу сделать новый каталог прямо сейчас. Вы можете сделать что-то вроде этого, MkDir. Так что каталог. Так что же вы хотите, чтобы называют этот каталог? СТУДЕНТ: Awesome. Джейсон Хиршхорн: Awesome. Я люблю это. Сделать каталог удивительным. И там вы идете. Поэтому нам нужен список. У вас есть новый каталог. И вы можете сказать, что это каталог в вашем приборе потому что у него есть этот цвет, не так ли? Так что это, как голубоватый фиолетовый или любой другой. Итак, давайте менять. Давайте изменим каталог. Пойдем в directory-- да, в чем дело? СТУДЕНТ: Есть ли список все это [неразборчиво] онлайн? Джейсон Хиршхорн: Да, я положу им до on-- мы будем иметь слайды. Это будет PDF. Мы поместим их на всех. Да, жаль, что это много команд. если вы хотите, чтобы я замедлить, или вернуться, или что-нибудь подобное, определенно, дайте мне знать. Это много, чтобы поглотить сразу. Как дела? СТУДЕНТ: Могу ли я спросить, потенциально глупый вопрос? Джейсон Хиршхорн: Там нет глупых вопросов. СТУДЕНТ: Есть. Каталог для просто ищете на информации, где вы храните его. Джейсон Хиршхорн: Да. СТУДЕНТ: Это по существу что вы делаете? Так что, когда мы делаем что-то, привет мир или любой другой, он хранится в каталоге, да? Джейсон Хиршхорн: Да. СТУДЕНТ: Это правда за все. Все хранится в каталоге. Джейсон Хиршхорн: Да. Всякий раз, когда вы делаете это, любой каталог вы находитесь в, это будет в основном храните его в этом каталоге. СТУДЕНТ: И когда мы называем его, мы называем его из каталога. Джейсон Хиршхорн: Да, так каталог, где это эс. Так что это вроде как если у вас есть новую папку на рабочем столе и тогда вы написать текст Файл, поместить его в этой папке, что файл находится в этой папке. Имеет ли это смысл? СТУДЕНТ: Да. Джейсон Хиршхорн: Да, в чем дело? СТУДЕНТ: Могу ли я просто прошу вас сделать его немного больше? Джейсон Хиршхорн: О, да. Извините. Проектор так плохо. У нас было столько проблем с этим раньше. Так лучше? Это слишком большая? СТУДЕНТ: Нет, нет это не так. Джейсон Хиршхорн: Нет, это не так. Не слишком ли мало? Как дела? СТУДЕНТ: Я сожалею, что команда для очистки? Джейсон Хиршхорн: О, понятно. Если вы хотите, чтобы очистить, просто введите ясно. ясно ввести. На последнем прибора, что это в основном делает, это не очистить информацию, это только отчасти переложить все вниз один экран. Так что, если вы набрали clear-- для пример, скажем, я прокрутки вверх. Я могу перемещаться вверх. Это все, что я сделал. Но если я печатаю ясно, а затем Я прокрутку вверх, вот мой материал. Так что это не стирая его, это просто в основном давая вам новый кадр. СТУДЕНТ: Как вам [Неразборчиво] каталог? Джейсон Хиршхорн: Мы получим там. [Смех] Медленная свой бросок. Хорошо. Итак, так что мы в каталог прямо сейчас. Так Давид, я думаю, что в лекции он сделал некоторый интересный материал. Итак, давайте напишем программу. Таким образом, вы можете сделать что а ряд различных способов. Вы можете использовать любой вид текстового редактора. Вы можете использовать Nano, вы можно использовать Vim, Emacs. Те несколько сложнее. Или вы можете использовать что-то в здесь, что называется Gedit. Извините. Gedit не счастлив. Так Gedit в основном просто текстовый редактор. Так же, как I редактирования текста слова процессор или что-то подобное. Так он получил хороший Интерфейс так же, как это. Таким образом, вы делаете что-то подобное. Так на самом деле, позвольте мне дать его назвать, потому что я никогда не делал этого. Так что же вы хотите, чтобы назвать нашу первую программу? Это просто будет сказать привет. СТУДЕНТ: [неразборчиво]. Джейсон Хиршхорн: Вам не хватает воображения. ОК, Gedit. Привет. Я собираюсь сделать .txt. Итак, вот оно. Итак, давайте напишем программу. Так что я думаю, что вы видели это в лекции. Вам нужен основную функцию. Boop. Так что это просто основная функция. Больше? Да, жаль. ОК так что вам нужно основную функцию. Я думаю, что я прыгать пистолет немного, но это никогда не плохо, чтобы получить используется для такого рода вещи. Так основная функция, каждый C программа вы буду писать для остальной части этого Конечно будет иметь основную функцию. Кто-нибудь знает, почему? Как дела? СТУДЕНТ: Начало. Джейсон Хиршхорн: Ровно, так это говорит ваша программа, с чего начать. Так что, если вы не имеете основную функцию, и компиляции это и материал, он не собирается, чтобы знать, должны были начать. Главная всегда там, где начинается. Так у вас есть основную функцию, а затем Кто-нибудь помнит, как печатать? СТУДЕНТ: Printf. Джейсон Хиршхорн: Да, Printf. Printf привет. Хорошо, теперь я дал вам, ребята, до на провал, но это скомпилировать. СТУДЕНТ: Нет. Джейсон Хиршхорн: Почему? Там в несколько причин. Конечно. СТУДЕНТ: Это не имеет стандарт [неразборчиво]. Джейсон Хиршхорн: Прекрасно. Так что же это называется здесь? СТУДЕНТ: [неразборчиво] Джейсон Хиршхорн: Это Файл заголовка, не так ли? Это файл заголовка. И вы совершенно правы. Вы оба правы. Таким образом, чтобы включать в себя, что, я просто делаю фунт включают в себя стандартные вход выходного .h. Имею ли я хорошо идти теперь? Будет ли это скомпилировать? СТУДЕНТ: Нет. Джейсон Хиршхорн: Почему бы и нет? СТУДЕНТ: Это [неразборчиво] текст. Джейсон Хиршхорн: Да, удивительный. Так что я только что сделал это. Так что я спас его, но Gedit hi.txt. Так что теперь, если я сделаю Ls, вот оно. Прямо здесь. О, это не в удивительный. Я, должно быть, вышел. О, прекрасно. Как мы ставим это в удивительным? Так что я не хочу его здесь, в моем доме каталог со всем остальным. Я хочу, чтобы положить его в папку. Как мне это сделать? Не слишком сильно. Перемещение. Таким образом, мы уже узнали Л.С., список. CD, чтобы изменить каталоги. кд точка точка поднять из каталогов. И теперь мы собираемся начать движение вокруг файлы. Таким образом, чтобы перейти просто двигаться hi.txt, и Я собираюсь поставить его в удивительный. Только будьте осторожны. Всякий раз, когда вы пишете в командной строки, все имеет значение. Так прописные вопросы. Если бы я сделал нижний регистр, это не будет знать, что происходит. Так что все вопросы быть очень конкретным. Так бегите, LS. Ни для кого уже не здесь. Давайте изменим каталог в удивительный. Ls. Бум, что она есть. И кто-то упомянул, почему это не было бы собрать. Почему не собирается собрать снова? Да? СТУДЕНТ: Это не в .c. Джейсон Хиршхорн: Прекрасно. Это не .c, с таким, как я, собирается переименовать его в .c? Что простой способ сделать это? Давайте использовать команду мы просто сделали. Таким образом, мы только собираемся двигаться hi.txt к hi.c. Ls hi.c. А потом просто для удовольствия, давайте просто прыгнуть в этом действительно быстро. hi.c. Вы заметите, что это хорошо и красочно. Так что это просто какая-то полезными Цвета, когда вы программировании. Так INT и пустота, те типы данных. Мы пойдем за тех, кто в секунду. Привет это строка. Но полезные цвета. Так что, если вам когда-нибудь случайно выбрать неправильный расширение, Вы должны иметь эти цвета. Как дела? СТУДЕНТ: Как я могу скопировать в файл [неразборчиво] в другой файл? Джейсон Хиршхорн: О, я собираюсь показать вам, что слишком. Так копирования удалить находятся на скамье подсудимых. Давайте сделаем это. Убедитесь, что он работает. Сделать привет. Работы, запустите его. Так ./hi удивительным. Это ваша первая программа. Позвольте мне сделать его больше. Так действительно good-- Да, в чем дело? СТУДЕНТ: Почему было бы что когда я беру Gedit, это не дает мне еще один Линия для GEdit hi.txt? Это просто ставит курсор на линии. СТУДЕНТ: Да. [Неразборчиво]. Джейсон Хиршхорн: Подождите, так сказать, что снова. СТУДЕНТ: Когда я набираю Gedit, в Первый раз, первый line-- Джейсон Хиршхорн: до там на самом верху? СТУДЕНТ: Не имеет J Гарвард Прибор, и курсор просто все до упора влево. Джейсон Хиршхорн: Все до упора влево? СТУДЕНТ: Да. Кто-нибудь еще есть что? Джейсон Хиршхорн: Ой, ну J Гарвард, как и имя пользователя. Так что это просто стандартная имя пользователя. СТУДЕНТ: Это перестает отвечать на запросы. Джейсон Хиршхорн: О, это перестает отвечать на запросы. Итак, то, что вы должны сделать, это Вы должны закрыть из Gedit. Так близко от Gedit, и он должен вернуться. Так Gedit открытым на Прибор прямо сейчас? Если вы выходите из него, он должен вернуться, и вы должны быть хорошо идти. Сделал это работает? СТУДЕНТ: Так же вы используете Команда Gedit к open-- Джейсон Хиршхорн: Нет, первый Команда Gedit было ошибкой. Первая команда Gedit, Я делать GEdit hi.txt. Так что я дать ему имя, так Gedit hi.txt. hi.txt это имя файла. Первый был просто ошибка, а затем Я быстро закрыл из программы. Таким образом, вопрос был если я Gedit, я не будет в состоянии реально сделать что-нибудь еще в моей командной строки пока я не закрыть эту Gedit, поэтому я думаю, что это то, что они столкнулись с. Так закройте Gedit. Это будет вернуться из этого Программа, а затем вы будете быть в состоянии фактически введите в командной строке снова. Это хорошо? Наркотик. Так что нужно обязательно закрыть это если вы столкнетесь с проблемами. Итак, очень хороший вопрос Секунду назад была копировании. Так что теперь я hi.c. Но, допустим, я хочу, чтобы изменить его. Я хочу, чтобы это было немного лучше. Я хочу сказать, привет класса. Но я хочу, чтобы этот шаблон. Я не придется переписывать Вся программа снова. Я хочу, чтобы сохранить шаблон. Как скопировать? Легко. Так ср hi.c newhi.c. Теперь у меня есть два. И тогда я могу открыть newhi.c, и вместо того, чтобы просто сказать привет, Скажу привет класс! Так что я вернусь. Выйдите. Вернитесь к моему командной строки. Ls сделать newhi. Запустите его. Там. Это лучше, намного лучше. Так что, если вы хотите скопировать что-то, просто, как, что. ср копирования. Таким образом, мы пошли за перемещением, делает каталоги, копирование. Давайте посмотрим, что еще я должен перейти? О, да. Пойдем по этому поводу. Таким образом, это было потрясающе. Скажем, я хотел to-- Ой, подождите. Я собираюсь вернуться в удивительный. Скажем, я не хочу, эти файлы прямо здесь. Скажем, я хочу их в новый каталог как в каталоге удивительным. Я хочу, чтобы начать организацию, так что теперь я собираюсь иметь новую директорию с именем привет. Он получил все программы Я пишу называется привет. Так как же нам это сделать? СТУДЕНТ: Перейдите в каталог. Джейсон Хиршхорн: Да. привет. Boop. MkDir hi_dir. Это жаловался, потому что I уже имел привет здесь. Так что теперь у меня есть каталог привет. Так что теперь я хочу, чтобы переместить все, все программы, которые я написал, Я хочу, чтобы переместить их в каталог привет. Просто чистый материал. Как мне это сделать? СТУДЕНТ: [неразборчиво]. Джейсон Хиршхорн: Перемещение это, правильно? Так что давайте двигаться. Да? СТУДЕНТ: Какая разница между привет и hi.c что у нас уже есть. Джейсон Хиршхорн: О, hi.c является актуальной. Так вот файл, который вы написали. Так что, если вы собираетесь открыть его в Gedit или Nano, это то, что вы печатаете в. При компиляции его, а затем Вы получаете исполняемый файл. Это привет. Так что если вы открыли привет, что происходит быть куча бред вам. Это в основном будет куча компьютерных команд. Как дела? СТУДЕНТ: Что означают все цвета? Синий, вероятно, каталог. Что-желтый? Джейсон Хиршхорн: Те, являются исполняемыми файлами. Так что, когда я сделать hi.c, его дал me-- так что я могу это сделать. Прыжки пистолет. Так удалить привет да. Итак, давайте делать Ls. У меня нет привет больше. Так что, когда вы делаете, это когда тебя принять программу, которую написал и вы сделать исполняемый файл. Так что hi.c-- хорошо, сделать привет. Я думаю, что он пошел за это в лекции. Это связка инструкции компилятора. Таким образом, вместо того, чтобы на самом деле написать лязг со всем этим. Это флаги. Вы просто напишите сделать. Таким образом, это делает исполняемые файлы. Так что, когда вы делаете Ls, теперь у вас есть привет. Так что это то, что вы собирается реально работать. И так вы запустите что делать ./hi, и это вызывает вашу программу. Но если я пытаюсь сделать это с hi.c, нет, это не будет работать. Да, действительно это смысл? СТУДЕНТ: Мм-хм. Джейсон Хиршхорн: Прохладный. Подождите, я хотел сказать что-то еще. Просто действительно быстро, в случае кому-то интересно, когда вы выпрыгнуть из каталог, это точка точка. Кто-нибудь есть идеи о том, что может быть, только особые средства точечные? СТУДЕНТ: [неразборчиво]. Джейсон Хиршхорн: Это на самом деле текущий каталог. Так что это ваш текущий каталог. Так что я здесь. Я в удивительный. Если я делаю кд точку, оно ничего не делает. Он принимает меня в моем текущем каталоге. Так немного излишним, но у вас есть чтобы сделать это, так ./ ваше имя программы, для того, чтобы запустить свой Программа, вы должны это сделать. Хорошо. СТУДЕНТ: Если вы кд точка точка точка, однако многие точки будет это просто взять вас что многие каталоги? Джейсон Хиршхорн: Вы имеете в виду как кд точка точка точка точка? СТУДЕНТ: Да. Джейсон Хиршхорн: Нет. Так на самом деле Запомнить меня Ls -l? Если я делаю что-то еще, что я могу Ls -a. Так что это говорит, -а показывает вам все. Так он показывает вам вещи, которые скрытые и вещи, которые не скрытые. Так что, если вы заметили, что, когда я сделал всего Ls, я только что видел, что вещи, материал, который я сделал. Если я делаю -a, это будет чтобы показать мне все. И так текущей директории, каталог над ним. Имеет ли это смысл? Да? СТУДЕНТ: Но это не на самом деле в каталоге. Текущий каталог не сам по себе, так зачем показывать тех, с точками внутри? Джейсон Хиршхорн: Вы имеете в виду, что это как это не в каталоге. СТУДЕНТ: справа. Поэтому у нас есть список вещей, что находитесь в каталоге. Джейсон Хиршхорн: Я думаю, это в каталоге. Как -a показывает все, даже если она скрыта внутри директории. Так что я думаю, что это просто путь к текущий каталог, если это имеет смысл. Это немного рекурсивной. Это как Inception. Как дела? СТУДЕНТ: Так вы сказали, -a показывает [неразборчиво]? Джейсон Хиршхорн: -а, да. СТУДЕНТ: Что делает его [неразборчиво]? Джейсон Хиршхорн: Ну, например, давайте вернемся к вершине. Это, как правило, вещи вы не должны беспорядок с и вам не нужно беспокоиться о. Так что это своего рода дома. Если я делаю -а, я получаю тонны материала. Все, что материал. И вам не нужно возиться с любой из этих вещей. Определенно не начать ходить здесь и просто удалить материал. [Смех] Да, это было немного больше удобные вещи, но это хорошо, чтобы знать. Я думаю, что это хорошо, чтобы знать. Но если вы не хотите, чтобы ввести -a в объеме данного курса, просто забыть. Как дела? СТУДЕНТ: Какова Ls -l? Джейсон Хиршхорн: Это показывает разрешения. В основном вы используете, что для разрешений, так -l. Он показывает вам немного немного больше информации, но опять же, это немного Чуть больше удобный материал. Это всего лишь разрешения. Так разрешений из папки. Так что, например, допустим, я сделал Папка, так d представляет каталог. Так что те каталоги. А потом читать, писать, выполнять. Так что те права доступа для Я думаю, что пользователю, группе, мир. Полностью заходит слишком далеко. Вы собираетесь идти в этот, как недель с этого момента, но только так вы знаете, те права. Как дела? СТУДЕНТ: Можете ли вы ясно, а не просто перейти к следующей вещи, может you-- Джейсон Хиршхорн: Вы имею в виду на самом деле удалить? Я не знаю. Я никогда не делаю этого. Почему вы хотите это сделать? Почему вы это сделали? Мне нравится это. Вы живете на краю. Ты как я не хочу все это. Это интенсивный. СТУДЕНТ: [неразборчиво]. Джейсон Хиршхорн: Да, мы можем сделать это. К сожалению, возиться с размером является полностью бесконтрольного меня прямо сейчас. Пойдем. Да, так что теперь я не могу подняться больше. Так что все я учил Вы ушли навсегда. Спасибо. Мы сделали наши каталоги. Мы сделали наши файлы и все в таком духе что, таким образом, у нас еще есть все, что вещи. Хорошо, я пойду быстро. Так действительно быстро. Так скажем, я в удивительный. Скажем, я хотел переехать все в новый каталог потому что я просто хочу, организовать его, не так ли? Так как я могу это сделать. Перемещение. Мы собираемся снова использовать ход. Так двигаться hi.c. И то, что вы можете сделать, это Вы начинаете листинг вещи, и последнее, что вы перечисляете это где он собирается переместить его. Так двигаться hi.c, привет newhi newhi.c, hi_dir. И так он переехал все в Последнее, что вы упомянули. Итак изменить каталог, hi_dir Ls. Все находится в там. Так что это хороший и более организованными. Хорошо, допустим, я ненавижу мой оригинальный привет программа. Я хочу, чтобы избавиться от него. Как мне избавиться от него? Как дела? СТУДЕНТ: [неразборчиво]. Джейсон Хиршхорн: Скажем, я просто хочу, чтобы удалить программу, так что просто привет. Нет, вы правы. Так что это гт, но вы гт привет. Это собирается дать вам немного предупреждение. Это скажет ты уверен, что хотите удалить этот, и да я. Если вы не хотите, чтобы предложено подобное потому что у вас нет времени для предупреждения, удалить -f. Это еще один флаг. Это как -l. Это как -a. Это всего лишь флаги, Вы даете этим командам. Так удалить -f. -f е означает силу. Так заставить его. Я не хочу получать сообщения. Так удалить -f. Давайте сделаем hi.c. Просто избавился от него. Это не говорил мне. Но, допустим, вместо Я сделано с этого каталога. Я хочу, чтобы избавиться от каталога. Так что я удалить hi_dir. Нет, это не работает. Нет, так он не будет препятствовать мне удалить каталог. Разве есть идея нибудь? СТУДЕНТ: Является ли это удалить реж? Джейсон Хиршхорн: Так удалить, как это? СТУДЕНТ: Нет. Просто [неразборчиво]. Джейсон Хиршхорн: Нет, сейчас нет привет. Там просто hi_dir. Так что это каталог. Так на самом деле то, что вы хотите сделать, is-- ой, у вас есть идея? Я вижу, как половина стороны. СТУДЕНТ: [неразборчиво]. Джейсон Хиршхорн: ОК. СТУДЕНТ: [неразборчиво]. Джейсон Хиршхорн: ОК. Так что, если я хочу, чтобы удалить каталог, удалить -r. Это рекурсивная. Так удалить этот рекурсивный каталогов. Поэтому я хочу, чтобы ты в этот каталог, удалить все в папке, а затем избавиться от каталога. А потом я собираюсь е, а, потому, что я не хочу, чтобы побудить меня с предупреждениями после она удаляет каждый файл. Так удалить -rf hi_dir. Бум, он ушел. Только будьте осторожны, когда вы используете это. Я собираюсь использовать его здесь тоже. -rf удивительным. Он исчез. Будьте осторожны, когда вы используете это. Если вы используете что здесь и что-то типа как это, никогда не делайте этого. Это удалит все на своем Прибор никогда не предупредив вас. И я сделал это. Классификация проблема устанавливает в 4:00, я был пытается удалить проблемные установленные каталоги, и я сделал это. И я был, как о, мой бог. Не do-- я попытался отменить его. Вы можете отменить. Команда C просто отменяет все, но я уже удалены, как 75%. Так что я разрушил его. И люди делают это. Каждый делает это. Не делайте этого, хотя в этом семестре. Это отстой. Я нервничал, имеющих его здесь. Я собираюсь удалить его. [Смех] Можете себе представить? ОК, вопросы. Да? СТУДЕНТ: Так что, если мы делаем все, вы делаете здесь, это то же самое как раз собирался в деле Файл-Сохранить как [неразборчиво]. Джейсон Хиршхорн: О, Вы имеете в виду через Gedit. СТУДЕНТ: Да. Джейсон Хиршхорн: Да это так. Gedit полезно. Так Gedit очень полезно. В этом классе, вы можете сделать много вещей через Gedit. Вы можете сэкономить. Вы можете переименовать. Вы можете перемещать файлы и все в таком духе, что, но только правдиво, когда вы идете в 50-- хорошо вы находитесь в 50-- 51, если вы идете в 61, это будет ваша жизнь. Это командная строка. Это где вы будете программировать для остальной части вашей жизни, так определенно использовать Gedit, если вы хотите. Определенно хороший способ начать. Для первой проблемой устанавливает, безусловно, использовать, но каждый раз в то время попытаться получить больше используется более комфортно с аргументами командной строки. Но вы можете, определенно. Как дела? СТУДЕНТ: Так что, когда мы хотим удалить один из файлов, которые мы сделали, Есть два способа. [Неразборчиво]. Есть ли способ, когда вы удаление каталога просить строке, чтобы вы не до конца удалением? Джейсон Хиршхорн: гт -г. Так не заставляйте его. Так гт -г. Это собирается пройти рекурсивно, удалить все, подскажет вам, после того как все, что сведут вас с ума. Как я почти исключительно делать гт -f и гт -rf, просто постоянно. Я, как у меня нет времени. Я занятой человек. Ладно, в чем дело? Да. СТУДЕНТ: Есть ли отменить или мусорное ведро, или что-нибудь подобное? Джейсон Хиршхорн: Нет. [Смех] Я мог бы вернуться и получить свой прибор, который я только что удалили, нет. Нет, нет, нет. Если вы гт, она должна пройти. Как дела? СТУДЕНТ: Таким образом, вы можете [Неразборчиво] вместе. Джейсон Хиршхорн: Да, именно так. Так, например, вы видели РМ -rf. Скажем, я хочу, чтобы сделать Ls -LA, он показывает мне все, даже скрытые вещи с их правами. СТУДЕНТ: Так то г, на -r Флаг, если у нас нет, что, мы не можем удалить каталог, не так ли? Джейсон Хиршхорн: справа. СТУДЕНТ: Так что говорит, что мы хотим что-то делать с каталогом? Это то, что это значит? Джейсон Хиршхорн: -r означает рекурсивно. Так каталог собирается есть в нем файлы, не так ли? Так что вы хотите сделать, это вы хочу пойти в этот каталог, удалить все, все файлы в этом каталоге, затем выскочить и удалить Фактический каталог. Так -r означает рекурсивный, сделайте это все рекурсивно, если это имеет смысл. Да. СТУДЕНТ: Так каталоги имеют [Неразборчиво] и просто удалить его. Или вы still-- Джейсон Хиршхорн: Давайте попробуем. Так MkDir пустым. Удалить пустой. Нет. СТУДЕНТ: Нет, так вы все равно должны the-- Джейсон Хиршхорн: Да, всегда. Так -r, -rf, пусто. Удивительный. Больше вопросов? Я думаю, что это ваша авария Конечно на командной строки вещи. Любые вопросы, потому что мы собираемся перепрыгнуть на типы данных, и петли, и все такое? Как дела? СТУДЕНТ: у меня нет CS50 показывая, как один из моих каталогов. Разве это нормально? Джейсон Хиршхорн: О, да. Это мое. Да, вот где мой решения ваших вещей есть. [Смех] Так что да, это абсолютно нормально. Я думаю, что вы, вероятно, просто эти четыре. Я думаю, что может быть нормальным. Да. ОК, еще вопросы? Я знаю, что было очень быстро. Как дела? СТУДЕНТ: Я увидел синий зеленый цвет. Что это? Джейсон Хиршхорн: Это означает, что каталог. СТУДЕНТ: И это синий? Джейсон Хиршхорн: О, Вы имеете в виду этот синий зеленый? СТУДЕНТ: Нет. Джейсон Хиршхорн: Этот синий зеленый? СТУДЕНТ: Нет. Когда вы listed-- Джейсон Хиршхорн: О. Как это? СТУДЕНТ: Да, иконы. Джейсон Хиршхорн: О, это. Я не знаю. Что это значит? Так что, кажется, указывающей на каталог. СТУДЕНТ: Это выглядит почти как псевдоним. Джейсон Хиршхорн: Это может быть. Вам не нужно знать, что. Больше вопросов? Удивительный. Если у вас есть какие-либо вопросы, Я знаю, что было много. Много этой информации будет онлайн. Я положу его в Интернете для вас, ребята. Раздел B будет онлайн, а также. Или, если у вас есть вопросы, просто подойти и спросить меня. Держи. Так что теперь Шарон и Ханна рассмотрим некоторые логики позади проблемы установите один. Шарон: О мой бог. Неприятности. Ханна: В то же время, я Ханна. Это Шарон. Мы оба CS50 ТФ, и мы собираемся дать вам немного интро на пару важных вещи для задачи установлен один. Все, начиная от типов данных в условных выражениях, чтобы для петель. Петли в целом. Шарон: И в конце концов, мы посмотрим на P установлен один, и что вы должны знать это. Итак, давайте начнем с типов данных. Вы, ребята, должны быть знакомы с те, которые выделены синим цветом. Таким образом, мы можем начать с целых чисел. Интс являются целыми числами, таким образом, один, два, три, четыре. поплавки, плавающей точки. Как чисел с знаков после запятой, так 5.2 или даже 5.0. Chars являются символы, такие как A, B, C. И строка, вы, ребята, все знают. Как CS50 или привет и мира. Bool является логическим, поэтому у нас есть истинные и ложные, как наш Boolean. Так что, если что-то вычисляет, чтобы truth-- 5 равен 5, что рассчитывает на истинный, и если у нас есть 5 равен 4, это ложным, так что вычисляет ложь. И здесь мы связаны Размер всех этих типов данных. И вы должны знать это для вашей викторины, так что это может быть полезно помню, но мы разместим их. На самом деле они уже размещены. Таким образом, вы должны быть знакомы с те, выделены синим цветом. Джейсон Хиршхорн: Real быстро, на всякий случай вам хочу знать разницу между полукокса и строки. Так что, когда вы пишете материал, всякий раз, когда у вас есть что-то вроде "привет" что будет строка. Так что если есть два котировки, что это строка. Но если бы я был на "ч" так, что это строка. Но если у меня есть только один цитата, это символ. И так в чем же Разница спросите вы. Ну, разница это один байт памяти. Это 4 байт памяти. Шарон: плавать? Опишите его снова? ОК, это вроде как и ряд что имеет десятичную точку с ним, так 5.2 или даже 5.0 является поплавок по сравнению с только 5 является интервал. СТУДЕНТ: [неразборчиво]. Шарон: О, это может иметь много знака после запятой, так 5,675 до 3,1415. Да? СТУДЕНТ: Нужно ли нам знать все размеры для этого? Шарон: Да. СТУДЕНТ: [неразборчиво]. Шарон: Вы не волнуйтесь о белые те только пока. Ханна: Облигации размещены на CS50.net/sections. СТУДЕНТ: Просто из любопытство, есть утилита чтобы, зная размер файлов вы называя так, что мы должны знать? Шарон: Итак, это типы данных, но да. Таким образом, в данном случае, что бы занимают больше памяти или больше места? Джейсон Хиршхорн: Так для конкретного примера, в Я думаю проблема набора четыре или пять, мы собираюсь дать вам кучу из данных, и вы в основном должны пройти эти данные. Так что это полезно знать, что если у вас так много чисел, что будет что. Так скажем, я дал вам десять целые числа, что размер, что? СТУДЕНТ: 40. Джейсон Хиршхорн: 40 байт, право. Таким образом, вы, возможно, должны знать, что ОК, мне нужно, чтобы перейти 40 байт. Так скажем, вместо этого он 40 символов, then-- допустим, я дал вам 10 символов, то вы знаете, хорошо, я только нужно прыгать 10 байт. Так что это очень полезно знать Размер фактических типов данных, потому что много раз вы будете прыгать вокруг данных, так что вам нужно знать, как далеко прыгать. СТУДЕНТ: Какая разница между кавычек и одной цитатой? Джейсон Хиршхорн: ОК, две цитаты является строкой. Одна цитата является символ. СТУДЕНТ: Как оперативно, в чем разница? Они оба говорят привет. Джейсон Хиршхорн: Ой, извините. Это просто ч. К сожалению, это не ясно. СТУДЕНТ: Так верхняя одно-- Джейсон Хиршхорн: Это это строка, да. Так что это два символа, не так ли? Строка, привет. Но, допустим, я просто был один символ, если я ставлю две кавычки просто ч, что это строка. Это строка ч. Имеет ли это смысл? Так что это четыре байта. Но, допустим, я избавился из что только положить один. Одна цитата. Теперь это символ, символ ч. Так точно такая же вещь, другой тип данных. Это только один байт, в то время как строка была четыре байта. Да. СТУДЕНТ: Так что, если вы пытаетесь хранить слово как Давид, Вы хотели бы использовать строку, потому что независимо от того, как долго строка, это займет только четыре байта если это не долго долго или двойной, в котором case-- поэтому, если это выходит за рамки четырех символов, то Вы хотите, чтобы превратить его в строку. Разве что вообще логика. Джейсон Хиршхорн: Если он выходит за одного персонажа, это строка. СТУДЕНТ: Так нет [неразборчиво] для хранения четырех письмо Слово как четыре человека или три буквы Слово как три отдельные символы потому что будет только три байта, в отличие от трех частей строки. Джейсон Хиршхорн: Вы могли бы сделать это. Вы можете сделать это, но я не думаю, что это действительно стоящее, потому что вы только экономии одного байта. Вы знаете, о чем я говорю? В большой схеме вещей, что не будет большого значения. Но, например, Printf, если вы печатаете п и вас есть три символов можно напечатать что out-- скажем вам C-A-T, Вы можете распечатать кошку просто делает один символ один символ один символ, или вы можете распечатать строку кошку. Это та же самая вещь. Таким образом, вы могли бы сделать это так, но-- СТУДЕНТ: Это не собирается чтобы спасти вас, что много. Джейсон Хиршхорн: Да. Головная боль, что это было бы вызвать не стоит. Да? СТУДЕНТ: Например, Вы имели час с одного против двух, в одинарные или двойные кавычки. Почему вы хотите, чтобы сохранить одна буква в виде строки. Для чего, что когда-нибудь служить? Джейсон Хиршхорн: Я не знаю. Я имею в виду, это действительно зависит от программы. Например, я думаю, что в дальнейшем Вы получите в командной строке вещи. Так, например, вместо того, чтобы меня обращаюсь к вам за integer-- жаль, я могу говорить в вас? Ханна: Да. Джейсон Хиршхорн: Так Например, вместо меня просят что-то с Получить конце, который Я думаю, что вы, возможно, видели лекцию, там может быть командной строки. Вы просто введите его в в командной строке. Это все равно, - / hello4 или что-то, или helloh ч, что угодно. Вы делаете это в командной строке вместо того, просили об этом, что командная строка всегда Строка, является ли это четыре или ч, что всегда является строкой. Так вот один из примеров, когда вы могли бы есть особая буква или особая число, представленное в виде строки. Шарон: Ладно. А потом вот некоторые основные операторы. Надеюсь, вы уже знакомы с Первые четыре только в целом. Так там сложение, вычитание, умножения и деления, и убедитесь, что вы используете правильные клавиши. А тут еще и по модулю, который некоторые из вас может быть не очень хорошо знакомы. И то, что по модулю делает то, что если взять этот пример 4% 2, он принимает оставшуюся часть что это делает в дивизионе. Так 4 делится на 2, 2, и нет никакого остатка. 4 делим на 3 = 1 и 1/3, и поэтому остаток 1. Таким образом, это вычисляет одному. И затем 4% 5 представляет собой долю 4/5, и остаток представляет собой 4. Имеет ли это смысл? Хорошо, прохладно. И мы следуем PEMDAS здесь. Таким образом, некоторые логические выражения. Так вы, ребята, видели равна равных сравнить, скажем, два числа. Так что если 5 равна равна 5, что рассчитывает к истине. Убедитесь, что вы есть только один знак равенства. Для не равных, это бац или восклицательный. Ханна: Две равные знаки когда вы делаете равенства. Шарон: О, да. Убедитесь, что вы не есть один знак равенства. А потом в течение не равных, это удар равен. И тогда вы можете посмотреть менее, больше. А то у нас логично и и логично или прямо здесь. А что, что делает это, если Вы помните, в пустом когда у вас был этот блок что сказал и, а затем вас может соответствовать два различных частей есть, это то, что это и делает. И убедитесь, что вы сделать две амперсандов. И этот ключ можно найти в сторону право, прямо под кнопку Удалить. Вопрос? СТУДЕНТ: Что было [неразборчиво]? Шарон: ОК, так что если вы только делаете один, вы сравниваете биты. Так что, если вы помните, что биты являются, они 0 и 1, а так который сравнивая что-то еще. Итак, мы собираемся сосредоточиться на этом пока все. Джейсон Хиршхорн: Так один равняется как назначение, не так ли? Так, например целое х равен 4. Вы говорите, что переменная х равна 4. Так 1 равна является назначение, но НСРА и трубы или бары, как Шарон сказал, что они битовых операторов. Вам не нужно беспокоиться о том, что. СТУДЕНТ: Когда вы используете логический и и логично или снова? Я просто забыл, когда ты это делаешь. Ханна: Конечно, так что если вы когда-либо хотели чтобы проверить, если две вещи верны, Например, допустим, я хочу, чтобы проверить что число между 5 и 15, Я бы сказал, убедитесь, что число больше 5. Так скажем, если х больше чем 5, и меньше, чем 15. Так для того, чтобы этого целого Заявление оценить, верно, Вы должны оба вида суб заявления оценить истинный. С или вам нужно только один из двух или оба. СТУДЕНТ: Великий, спасибо. Шарон: А также в пустом, я уверен в большом количестве ваших проектов Вы были, если касаясь края или если касаясь другой спрайт затем вновь или что-то. Ханна: Ладно, так почему мы заботиться о всех этих Booleans? У нас есть эти структуры, которые вы когда- видел в скреста называется условные. И условные что-нибудь, из сформировать, если какое-либо условие или некоторые Логический Правда, потом сделать код между этими фигурными скобками. Таким образом, вы можете видеть справа вот к царапинам блок. У вас есть это, если то, и что-нибудь что идет в этом маленьком форме, что Похоже, this-- I Не знаю, что вы бы позвоните that-- что собирается булево или состояние. Итак, еще раз, логическое или условие нибудь что либо оценить, истинным или ложным. И опять же, вы можете комбинировать Booleans. Вы можете иметь, опять же, х больше чем 5 и х составляет менее 15. Или вы можете просто иметь один тех х составляет менее 5. Итак, в C Это слева. Это просто ключевое слово, если. В скобках, состояние или Boolean. И затем код в между эти два фигурные скобки будет выполнять только, будет работать, только если что состояние или что Логическое верно. Имеет ли это смысл? Удивительный. Хорошо. А потом, как вы можете видели в пустом, мы также можем добавить на остальное, который является в основном что-нибудь между Фигурные скобки под еще будет выполнять, только если условие ложно. Сделать смысл? Любые вопросы по этим двум? Удивительный. Прохладный. Так вот небольшой пример. Скажем, мы хотим, чтобы определяют, на основе времени, должны ли мы сказать, хорошо утро или добрый вечер. Скажу, если это до 12:00, мы собираемся сказать доброе утро, в противном случае мы будем сказать добрый вечер. И когда я сказал, что в противном случае, что эквивалентно в C до этого еще. Итак, мы собираемся, чтобы проверить, военная время меньше, чем 12:00, сказать доброе утро. В противном случае говорят, хорошо провести вечер. СТУДЕНТ: Таким образом, мы бы реально получить этот вход для военного времени с самого начала строки. Ханна: Право. Сделал Где-то в другом месте мы бы на самом деле должны предоставить эту информацию. Прямо здесь это не имеет значения. Мы даже не объявил его. Я предполагаю, что где-то выше эта программа, я объявил время, или попросил время, или-- что-нибудь еще в этом примере? Удивительный. Хорошо, теперь у нас есть в дополнение в том, что просто, если еще формате, у нас есть два других различных структур. Итак, сначала мы должны переключатель Заявление, и вот Общий вид выключателя заявлении. Вы должны переключиться ключевое слово Точно так же у вас есть ключевое слово, если. И тогда вход, в этом случае п. Так что это может работать только с целыми числами. Так что вход н имеет чтобы быть целым числом, ОК? И мы собираемся выполните одно из следующих случаев в зависимости от того, что это значение п. Таким образом, в этом случае, вы сначала сравнить п равна постоянной одном, если это так, сделать все, вид с отступом здесь. Я могу указать на него, потому что я слишком коротким. Если это не равно постоянной один и вместо равна постоянной два, мы собираемся следовать, что второй блок, и мы можем сделать это столько раз, как мы хотим, а затем, что по умолчанию, если это не соответствует ни одному из вышеуказанных случаев, выполнить этот код. Здесь Есть вопросы? Это одна немного сложнее. Да? СТУДЕНТ: Перерыв означающий что? Ханна: Конечно, поэтому, как только мы входим что блок, если мы найдем, скажем, наша н, на самом деле равна постоянной одном, мы вводим это блок после двоеточия. Мы делаем все, что находится на что линия комментируя, а затем мы нарушаем, то есть мы выходим этого Переключатель полностью. СТУДЕНТ: ОК. Ханна: Мм-хм? СТУДЕНТ: Каково отступ необходимо, или вам нужно [неразборчиво]? Ханна: Конечно. Так что, как всегда, отступы не является строго необходимым. Компьютер не безразлично отступ вы. Мы, как люди, которые читать ваш код, не все равно. Так что это намного проще посмотреть на экране и увидеть, о, я знаю точно, что происходит, когда п равно постоянной. Если бы мне пришлось случайные отступы, я не будет в состоянии сказать так легко. Да? СТУДЕНТ: Так что, если захотите, чтобы пользователь выбрать один из вариантов, что у нас есть в списке, будет мы используем, я думаю, [неразборчиво], но получить целое число от их и положить, что в п? Ханна: Совершенно верно. Так скажем, мы хотели чтобы проверить, что число. Мы сказали, о, введите целое число от 0 до 5, скажем. Мы могли бы попросить, что н, попросить этого значения, а затем каждый из этих случаев. И опять же, это то, что мы могли бы очень легко сделать с тем, если заявления, не так ли? Мы могли бы иметь, если равно случаю один, если равно случае два, если равно случаю три, так далее, и так далее. Это немного быстрее и немного чище. Это своего рода просто с хорошим структуры сейчас. СТУДЕНТ: Быстрее, как в письменном виде? Или это запустить Компьютер немного быстрее? Ханна: Это работает немного быстрее. Да? СТУДЕНТ: Так дважды Тире просто комментировать или-- Ханна: О, мне так жаль. Я не указывают на это. Хорошо, если у вас есть, что, //, это комментарий. Просто // это комментарий. Так любое время компьютерной видит, что он собирается сказать в порядке, все, что следует это, я просто хочу, чтобы их игнорировать. Я собираюсь делать вид, вам даже не писал, что. СТУДЕНТ: Так что это [неразборчиво]. Ханна: Это абсолютно ничего не делает. Но если бы я написал что-то вроде на Первый комментарий я написал вместо Printf говорят поздравления, которые вы ввели постоянная один, что бы что-то. Да? СТУДЕНТ: Так и в реальной жизни, дело будет просто быть числом а затем [неразборчиво] будет еще один целое. Ханна: Совершенно верно. СТУДЕНТ: И вам нужно эллипсы? Ханна: Извините? СТУДЕНТ: Вам нужно что? Ханна: О, нет. Мне жаль. Это было как раз, чтобы указать, что вы можете продолжаться до тех многих случаях, как вы хотите. Давайте сделаем конкретный пример, что может сделать вещи немного более ясно. Итак, допустим, я говорю, Хорошо, дай мне целое п что представляет собой номер класса, специально класс информатика число. Так что, если вы дадите мне 50, Я собираюсь сказать большое. CS50 представляет собой введение в компьютер наука, а затем я собираюсь сломать. Значит, я выскочить из Вся это заявление переключатель, так что теперь я сделал выполнения кода, ОК? Если вы дали мне вместо 51, я бы печатать второе утверждение. И потом, если ты дал мне некоторые число, которое не было 50 или 51, Я собираюсь сказать, извините, я не знакомы с этим классом. Да? СТУДЕНТ: Вы не должны перерыв. Ханна: Я сожалею, я не имею перерыв? СТУДЕНТ: Что делать, если. Ханна: Ой, что если Вы не должны перерыв? Отличный вопрос. А что случилось бы в вас пойдет в, и вы бы проверить я равняться 50? И скажем, да, вы были равны 50, вы бы напечатать заявление. И тогда вы бы продолжать выполнение, так что вы бы сказать, я равняться 51? А вы бы пойти дальше и идти через любом случае, как это? Да? СТУДЕНТ: Есть строка по умолчанию аналогично говоря еще? Ханна: Совершенно верно. Очень хорошо. Это как-то поймать все. СТУДЕНТ: Так что, если у вас не было перерыва и тогда один из тематических отчетности правда, и тогда его сказал увеличение п на 1, то это было бы автоматически сделать следующий. Было бы проверить случай 51, и затем отобразить, что, а? Ханна: Да, я думаю, что будет работать. Таким образом, можно получить вид грязно, так перерыв это хорошо иметь. Да? СТУДЕНТ: Без перерыва бы это сделать по умолчанию? Ханна: Это хороший вопрос. Джейсон Хиршхорн: Я думаю, что это просто работает. Так что если у вас нет break-- так допустим, я сделал 50 и его проверили 50, и было бы напечатать это. Распечатайте CS50 также внедрение информатике. Вы не должны перерыв, он должен идти и продолжать идти, пока не встретит перерыв. Так что, если нет перерыва, он собирается продолжать идти. Это собирается печатать все остальное вне. Ханна: Так что я думаю, что будет быть в том числе по умолчанию. Джейсон Хиршхорн: Да. Ханна: Хороший вопрос. Да? СТУДЕНТ: дело рассматривается ли функция? Ханна: Я сожалею? СТУДЕНТ: дело рассматривается ли функция? Ханна: Это дело рассматривается функция. Я бы не решился сказать, что. Джейсон Хиршхорн: Так обычно когда вы видите функции они будут в фигурные скобки. Так, например, когда вы смотрите в коде, например, главный. Это было Основные открытые скобка, то пустота, близко скобка. Functions-- они в основном всегда вы увидите скобки. Так дело, если дело не есть какие-то скобки, это ваша подсказка, что это не функция. Но это не так. Да? СТУДЕНТ: Не кажется, что сделать переключение функции? Ханна: Значит ли это, марки переключить функцию. СТУДЕНТ: В том смысле, что вы положили что-то в, он дает вам один из случаев. Джейсон Хиршхорн: я не стал бы называть его функция. Не все с круглые скобки, является функцией. Я имею в виду, что это подсказка что она является функцией. Я бы не сказал, переключатель Функция, потому что это не действительно возвращение ничего. Вы получите в том, что больше. Ханна: Да, просто думаю, о нем, как если структуры. СТУДЕНТ: Можете ли вы гнездо это в случае, если структуры? Ханна: Да, вы гнездо почти все, что. СТУДЕНТ: сказал Барри котировки вроде как такой же, как в другом месте. Так может вы замените котировки с еще? Ханна: Не в этот конкретный Структура, так как переключатель Заявление ожидает слово дефолт. Компьютер знает, что по умолчанию значит что-то особенное, что значит улов все. Что-нибудь еще на этом. У нас есть еще один, чтобы пройти. Да? СТУДЕНТ: [неразборчиво]. Ханна: Разница между с запятой и двоеточие. Так запятой всегда сказать Компьютер я сделал с этой линии. Вы можете пойти дальше и выполнить его. Это полная линия. Толстой кишки собирается, в данном случае, приведу вас в конкретном блоке. Так с запятой всегда использовать до конца строки. Двоеточие используется для Разнообразие других случаях. СТУДЕНТ: Это эквивалентно просто говорю, если п равно 50, то бла-бла-бла. Ханна: Мм-хм. СТУДЕНТ: Это просто то же самое [неразборчиво]. Ханна: Совершенно верно. И мы сказали, что это работает немного быстрее. Если у нас не было перерыва, было бы, если, если, если. Если у нас есть перерыв, это как если еще, если еще, если еще, если. Прохладный? Джейсон Хиршхорн: Поэтому, когда кодирование, вы можете просто использовать, если в другом месте, но я думаю, что в прошлом году на викторине мы было им написать Переключатель, так на всякий случай. Ханна: Но, безусловно, ничего плохого. Мы не ожидаем вас беспокоиться о производительности сумасшедшие вещи. Просто если еще совершенно нормально. Это просто хорошая вещи, чтобы быть в курсе. И вот наш последний такого рода подпадает под эту условную категорию. У нас есть что-то Общее состояние формы?, а затем кусочек кода, который произойдет, если условие истинно. А потом двоеточие, немного кусок кода, который выполняется, если условие ложно, точка с запятой. Мы закончили с этой линии. Так синтаксически это немного некрасиво. Мы собираемся пройти через Пример, который я думаю, что это наиболее ясно. Поэтому мы хотим, чтобы назначить строка профессор к одному из этих двух значений, либо Дэвид Malan или не Дэвид Малан, ОК? Таким образом, вы должны быть знакомы со строкой, профессор =. Мы собираемся назначить строку к переменной называется профессора. Теперь мы хотим проверить частности состояние. В этом случае, наше условие является class_num = = 50. А теперь может быть хорошее время, чтобы указать, когда у нас есть строка профессор =, Что один знак равенства. Это назначение. В то время как в class_num = = 50, это две равные знаки. Это проверка качества. Таким образом, мы собираемся сказать, число классов равно 50? Если это так, назначить профессор Дэвид Малан. Если нет, то назначить профессора чтобы не Дэвид Малан. Любые вопросы есть? Опять же, это просто что-то это хорошо знать. Вы можете сделать это с тем, если в другом месте. Хорошая задача практика может быть, чтобы, когда Вы идете домой, прямо точно такой же условно в если еще виде, потому что вы можете сделать. Здесь Есть вопросы? Ладно, я думаю, что мы собираюсь идти на петлях. Удивительный. Шарон: Хорошо, давайте поговорим о время как петли. Итак, сначала слева вы видите here-- ОК, что говорит в то время, в то время как (состояние). И тогда вы this-- мы можем изменить это? Джейсон Хиршхорн: Это отрезаны. Шарон: ОК, а затем там Также фигурные скобки. Так делать вид, что вьющиеся брекеты там выше и ниже делать это снова и снова. Так, если условие в тех Скобки истинно, то вы должны продолжать делать все, что в то время цикла. Так, например, мы могли бы сделать проблему практики. Я ношу два серьги Прямо сейчас, так скажем, если я ношу по крайней мере один Услышав, хлопайте в ладоши. Так что, если мы собираемся пойти через это, мы going-- [Хлопая] Не так ли? И я ношу один, и-- ОК. Да. Я не ношу серьги больше, так больше. Итак, то, что, когда вы бы остановить. И это, можно сказать, является эквивалентно почти переменных. Скажем у вас есть переменное количество сережек. Таким образом, хотя число серьги больше чем или равно 1, ладоши. А потом, после хлопка руки, декремента серьги. У, как серьги минус 1. Так уменьшения количества серьги, и тогда вы будете идти через время цикла два раза. И если условие всегда true-- так что если, скажем, 2 = = 2, и 2 всегда равна 2, не так ли? Тогда вы бы всегда сделать что-то там, и это эквивалентно почти навсегда цикл, который мы имели в пустом. Да? СТУДЕНТ: Являются ли обе стороны всего различные способы написания то время как цикл? Шарон: Так мы сосредоточены на этом первом. А потом так давайте сравним это с делать во время цикла. Так что они немного отличаются. Итак, допустим, состояние по-прежнему в то время как я ношу по крайней мере один серьгу, и я не ношу любые серьги прямо сейчас. И скажем, сделать и еще хлопать время Я ношу по крайней мере один сережку. Что должно произойти? [Хлопает] Ой-ой, ребята. Итак, вы должны хлопать один раз, потому что в основном вы пройти первую часть кода. Вы не сделать это независимо от того, что и Затем вы видите состояние некоторое время, и вы вернетесь в что петля, если это правда. Значит ли это, имеет смысл? СТУДЕНТ: Вы всегда сделать это в первый раз. Шарон: Вы всегда делать это на Первый раз независимо от того, или не то, что условие истинно или нет. Джейсон Хиршхорн: Когда делать Вы думаете, вы могли бы использовать это? Когда есть ли смысл использовать это? Ханна: Да? СТУДЕНТ: [неразборчиво]. Джейсон Хиршхорн: справа. Ханна: Очень хорошо. Джейсон Хиршхорн: Так когда вы подсказать пользователю, Вы собираетесь всегда хочу подсказать пользователю один раз. Вы всегда будете хотеть подсказать пользователю один раз. Так вместо того, чтобы в то время как петля, вы положить в сделать в то время как петли, потому что ты всегда собирается сделать это один раз. Если они дают вам Правильный ответ, вы закончите. Если они этого не делают, то вы вновь предложит их. Шарон: Ладно, для петель. Таким образом, в пустом, у нас было повторных блоков. Таким образом, мы хотели повторить то, скажем, в семь раз. Таким образом, мы только что сказали, повторить семь, и сказать, что я здесь, чтобы помочь вам Белоснежку! В C, у нас есть для петель, если мы хочу пройти через что-то определенное количество раз. Скажем, если мы инициализировать переменная гномы и сделать sure-- так первого блока тут до первой точки с запятой, мы инициализируем нашу переменную чтобы и мы установили его на 0. И наша переменная есть представляет собой целое число, Int. И имя переменной гномы, и мы отправились гномов в 0. И вторая часть между два с запятой является наше состояние. И так до тех пор, гномов меньше, чем семь, мы будем продолжать через этот цикл. И тогда последняя часть является то, что делать мы делаем в конце этого для петли? гномы ++, и это означает, что мы увеличить гномов на единицу каждый раз. Так что же произойдет здесь? Итак, сначала мы собираемся пройти. У нас есть гномов в 0, а затем мы собираемся печатать Я здесь, чтобы помочь вам Белоснежку! И тогда гномы собирается увеличить, потому что мы сказали гномов ++. Гномы будет 1. А потом мы compare-- гномов 1. Мы сравниваем его является гномы меньше, чем 7? Да. Я собираюсь пройти через это снова. Я здесь, чтобы помочь вам Белоснежку! И тогда гномы становится 2, а затем сравнить его. Есть 2 меньше, что 7? Да. Мы собираемся продолжать идти через. И мы собираемся пойти через это в семь раз. Таким образом, в конце концов, мы собираемся есть гномы = 0 распечатку Я здесь, чтобы помочь вам Белоснежку! Дворфы равно 1, 2, 3, 4, 5 и 6. Помните, что мы индекс 0. Итак, мы начинаем с 0. Да? СТУДЕНТ: Так что это отличается от дел потому что это не печать из первоначально на первый взгляд. Таким образом, можно продолжать то же самое. Не могли бы вы сделать это также с сделай петлю? Как и того же процесса. Условие гномы менее 7 или любой другой. Ответ меньше 7. Шарон: Таким образом, вы могли технически. Так что, если мы вернемся to-- вашего разговора о время цикла, не так ли? Так сделай то время как цикл немного отличается потому что мы гарантируем по крайней мере, один раз, что мы пойдем через него, так что самая большая разница. Но с время цикла мы могли сказать в то время как гномы меньше 7, сделать это, а затем увеличить гномов по одному. А то у нас для инициализации Гномы перед всей этой заявлением что он равен 0. Так что да, мы могли бы сделать, что с этим. Мм-хм? СТУДЕНТ: Можете ли вы вернуться в [неразборчиво]? Шарон: Для цикла? СТУДЕНТ: Да, так и с гномами ++, Похоже, это то, что вы делаете после Вы бежали другие средства. Шарон: Правильно. СТУДЕНТ: Не могли бы вы просто не имеют, что и положить it-- Шарон: Вы могли. СТУДЕНТ: Так это [неразборчиво] сразу после распечатать в следующей строке внизу. Шарон: Да, вы могли бы поставить его там. Но тогда вы бы просто оставить, что пустой. Джейсон Хиршхорн: Вы по-прежнему нужен с запятой, хотя. Шарон: Это выглядит немного неловко, но вы могли бы технически сделать это. Технически. Пожалуйста, не надо. Да? СТУДЕНТ: Есть ли альтернативы ++? Что-нибудь еще [неразборчиво]? Шарон: Технически это это гномы. Один знак равенства мы собираемся установить его на гномов плюс 1. Технически это что дворфов ++ средства. Имеет ли это смысл? СТУДЕНТ: Да, но Есть ли альтернатива? Как, если вы ever-- Шарон: Да, вы могли бы сделать гномов - -. СТУДЕНТ: [неразборчиво]. Шарон: Да, вы могли бы сделать множество вещей. Ханна: А вы могли бы увеличить на 2. Вы могли увеличиваться на 3. Все, что происходит, меняется, он будет в конечном итоге сделать состояние. СТУДЕНТ: Так что, если вы хотели, чтобы увеличить на 2, как бы вы написать что? Ханна: Вы можете либо написать dwarves-- Вы могли бы написать целую эту вещь. гномы = гномы + 2. Или немного обсчитывать. Я просто хочу, чтобы написать + равна 2. СТУДЕНТ: ОК, и вы бы написать, что там, где гномы ++ есть. Ханна: Совершенно верно. Шарон: Правильно. Был еще один вопрос? Да? СТУДЕНТ: [неразборчиво] гномы ++? Шарон: Таким образом, вы don't-- Джейсон Хиршхорн: Да, не нужно это есть. [Неразборчиво] очень закончится. Таким образом, вы делаете [неразборчиво] те, потому что ты вид раскалывается инициализацию, состояние, а изменение. В самом конце, вам не нужно это. Шарон: Также обратите внимание, вам не нужна точка с запятой после всей весь цикл. СТУДЕНТ: Как бы вы начать с начальное число отрицательное, например? Шарон: Вы можете инициализировать гномы равняться отрицательному 2. СТУДЕНТ: Вы просто тире 2? Шарон: Да, так Отрицательный знак, тире 2. СТУДЕНТ: Это [неразборчиво], чтобы инициализировать как гномы [неразборчиво]? Шарон: Да. Так что, если мы только инициализировать гномы ранее, просто сделать Int Гномов запятой, и тогда мы можем сделать гномы установить, что равно 0. СТУДЕНТ: Не могли бы мы сделать это раньше в Программа говоря INT гномы = 0, а затем просто-- Шарон: Просто не have-- так было бы пространство снова, но вы все равно должны с запятой. Да. Мм-хм? СТУДЕНТ: сказать ли этот код, что значение гномов является позже. Если вы спросите его, после всего этого является сделано, чтобы распечатать значение гномов. Шарон: Вы могли бы спросить его, чтобы сделать это. СТУДЕНТ: ОК. Шарон: Но вы бы должны спросить его, чтобы сделать это. Это не сделает это за вас. Я боюсь, чтобы положить свои сережки обратно. Сделайте это в конце для аплодисментов. Шучу. Джейсон Хиршхорн: Так вот, то же самое. Так инициализации в верхней части. Состояние, печать, изменение. Так что это точно так же, как что если кто-нибудь может увидеть, что. СТУДЕНТ: Почему бы вам не имеют запятой на первой линии? Шарон: Где? СТУДЕНТ: После первой строке. Шарон: После 4 в скобках? Потому что мы хотим, чтобы пойти через в этом цикле. И если вы посмотрите на петлях в Вообще, у них нет точки с запятой. Это не практично. Неужели мы хорошо? Еще один вопрос, еще два. Да? СТУДЕНТ: Это может быть немного продвинулись, но сделать гномы есть отличается [неразборчиво] из переменной [неразборчиво]. Шарон: Очень хорошо. СТУДЕНТ: [неразборчиво]. Шарон: Да, это так. Что? Джейсон Хиршхорн: Да, так он делает. Так как правило, объем что-то не в фигурных скобках. Так сфера всегда будет чтобы быть в фигурных скобках, но, что не будет делать много смысла для для петли потому что мы инициализации Гномы в этом фигурной скобкой. Так обычно сфера гномов, что Переменная не будет выходить за что. Это особый случай, хотя. Таким образом, вы инициализировать его в этих скобках, и тогда у вас есть сферу позже. Так особый случай. Они не должны иметь, что и что was-- Это имеет смысл? СТУДЕНТ: Нет. Джейсон Хиршхорн: я могу пойти по нему. Так что же вы до сих пор путают о? СТУДЕНТ: Как и в вы можете использовать dwarves-- вас очевидно, может использовать гномов [неразборчиво] вне формулы тоже? Джейсон Хиршхорн: Нет, нет. Так сфера это только внутри Фигурные скобки для для петли, да. Шарон: Но если вы инициализации Гномы вне цикл, то Вы можете использовать его в другом месте Там еще один вопрос? Нет? Хорошо. Таким образом, мы немного поговорили о вложенности для петель или гнездования условные, если заявления. Так вот пример того, где мы могли гнездо для петли. Допустим, у нас были печати эта таблица х прямо здесь. Мы, возможно, захотите to-- сначала, если мы просто не посмотреть на код и мы просто думать об этом, мы хочу пройти каждой строки и распечатать каждую колонку, не так ли? Имеет ли это смысл? Хорошо. И вот мы идем через каждая строка для в основном каждой строки, и есть три ряда. А потом в течение каждой строки для каждого столбца, и там четыре колонки, распечатать х. так. Когда строка и столбец 0 0, мы печатаем эту х. А потом мы продолжаем через петлю на колонке. Ряд прежнему 0, но колонна является одним. А потом колонка 2, а затем колонна 3. А потом мы выходим из этого цикл, потому что тогда колонке больше не меньше, чем 4. А потом мы печатаем новую линию, и мы идем к новой линии. А потом мы идем через следующий ряд, и ряд увеличивается на единицу, и мы пройти через это снова. Имеет ли это смысл? Да? СТУДЕНТ: Так гнездиться [неразборчиво] является просто положить его внутри для петли? Шарон: Так гнездования означает, что мы есть цикл в течение цикла, как Inception. СТУДЕНТ: Вам не нужно особый поворот или что-нибудь? Вы просто придерживаться его прямо внутри него? Шарон: Правильно. Да? СТУДЕНТ: Может быть [неразборчиво], но это похоже, что есть дополнительное пространство между всеми х годов. Я не знаю, если that's-- Если что были на самом деле делать программу, бы это сделать что-то подобное? Шарон: Так нет. Это было нажать Enter. Это было плохо с нашей стороны. Извиняюсь. Ханна: Как бы вы изменили в этом Программа, если вы сделали одну дополнительную линию? СТУДЕНТ: [неразборчиво]. Шарон: Хорошая работа. СТУДЕНТ: Вы можете также распечатать тот же вещь путем переключения вокруг колонны, не так ли? Шарон: Хм? СТУДЕНТ: Так, чтобы напечатать ваш маленький ххх, первая линия может сказать печать, и вместо того чтобы сказать строка, это говорит колонки. Шарон: Таким образом, вы могли бы изменить имена переменных, чтобы сделать это. Это то, что вы говорите? СТУДЕНТ: Нет, я просто говоря that-- так ты печать строк первого и затем печать столбцов. Вы можете также распечатать столбцы первой и Затем ряды, чтобы получить тот же схему? Шарон: Вы могли бы, но то вам придется быть осторожными, где Вы помещаете новую линию. И как бы вы вернуться назад? Джейсон Хиршхорн: Если Вы просто включили его и значения были разными, вместо того, four-- что это? Три на четыре. Я Вам придется четыре Строки и три колонки. Имеет ли это смысл? СТУДЕНТ: Да. Джейсон Хиршхорн: Так да, вы могли бы сделать это. Да, определенно. Шарон: Но что бы буквально только переключение имена переменных. Хорошо? Хорошо. Ладно, P установлен один. Итак, в первой части это Вы будете делать это, Марио. Шучу. Это больше похоже на это. И поэтому, когда мы просто смотрели на вложенные циклы, делая эту таблицу, думаю о том, как вы могли бы распечатать эти хэштеги таким образом. А потом прямо здесь, как бы вам печатать это право здесь, это открытое пространство. СТУДЕНТ: [неразборчиво]. Шарон: Да, вы просто напечатать пространство. ОК, так что просто думать об этом. Ханна: И то же самое часть поставленной задачи является программа под названием greedy.c, так что вы захочет думать о условных и убедившись, что вас может сделать правильное изменение. И одна маленькая предупреждение у нас есть для вас будет быть осторожным с плавающей запятой. Если что абсолютно ничего не значит для вас, он будет покрыт лекции на этой неделе а также в [неразборчиво] пройти через, которые вы, ребята, будете учиться люблю на проблемные наборов. Одна вещь, которую я действительно предлагаю, особенно с Mario.c, когда вы делаете проблему установить, если вы застряли, начать, делая это на бумаге. Написать его и на самом деле сидеть и претендует на компьютер, и идти through-- сказать Я был компьютер, как бы я следую это для перебора? Как бы мои переменные в течение цикла изменения? Так делать это на бумаге делает это 10 раз легче когда вы идете, чтобы сесть за компьютер. Так что моя маленькая пробка. Шарон: А также не думаю, что вам должны кодировать все сразу. Убедитесь, что вы повторяющийся процесс. Сделать немного, печать его, посмотреть, что происходит. Иногда это немного проб и ошибок. И пришел к рабочие часы. Супер весело. Джейсон Хиршхорн: поэтому все вопросы? Все правильные парни, что была ваша первая секция. Ханна: Спасибо, что пришли. Джейсон Хиршхорн: Спасибо за приехать. Шарон: Спасибо. [Аплодисменты]