1 00:00:00,000 --> 00:00:03,290 >> [Играет музыка] 2 00:00:03,290 --> 00:00:04,989 3 00:00:04,989 --> 00:00:06,280 Джейсон Хиршхорн: ОК, все. 4 00:00:06,280 --> 00:00:07,460 Добро пожаловать в раздел. 5 00:00:07,460 --> 00:00:10,840 Это CS50, наш очень Первый супер раздела. 6 00:00:10,840 --> 00:00:13,700 Как вы все знаете, на следующей неделе регулярные разделы начнет, 7 00:00:13,700 --> 00:00:15,580 но на этой неделе мы все вместе. 8 00:00:15,580 --> 00:00:17,730 >> Существует сам. 9 00:00:17,730 --> 00:00:18,840 Меня зовут Джейсон. 10 00:00:18,840 --> 00:00:20,630 Я преподаватель информатики. 11 00:00:20,630 --> 00:00:23,910 У нас есть Энди, кто тут глава ТА CS50. 12 00:00:23,910 --> 00:00:27,630 И Scaz, профессор Брайан Scassellati, он профессор в области компьютерных наук. 13 00:00:27,630 --> 00:00:30,970 >> Мы являемся CS50 руководители в Йельском университете. 14 00:00:30,970 --> 00:00:34,992 Вы всегда можете связаться с нам heads@cs50.yale.edu. 15 00:00:34,992 --> 00:00:35,950 Мы будем на лекциях. 16 00:00:35,950 --> 00:00:37,547 Мы будем в рабочее время. 17 00:00:37,547 --> 00:00:40,130 Если когда-либо, что мы можем сделать для вас все, что вы должны, 18 00:00:40,130 --> 00:00:42,610 не стесняйтесь обратиться к нам. 19 00:00:42,610 --> 00:00:44,140 >> Так что мы будем делать сегодня? 20 00:00:44,140 --> 00:00:47,790 Или до этого, что идет на этой неделе? 21 00:00:47,790 --> 00:00:52,620 Так приемные часы: понедельник, вторник, Среда, четверг и, с 8:00 до 11:00. 22 00:00:52,620 --> 00:00:54,770 Там же график на сайте. 23 00:00:54,770 --> 00:00:57,830 >> Разделы, как я уже упоминал, начинают следующей неделе. 24 00:00:57,830 --> 00:01:01,390 И вы найдете на этой неделе, что Время вашего раздел, в какой день это, 25 00:01:01,390 --> 00:01:03,350 и кто ваш ТА. 26 00:01:03,350 --> 00:01:08,610 >> Проблема Set 1 производится при четверг на полдень, в пятницу в полдень с конца дня. 27 00:01:08,610 --> 00:01:10,817 Да, у вас есть девять дней поздно. 28 00:01:10,817 --> 00:01:12,150 И есть девять домашних заданий. 29 00:01:12,150 --> 00:01:14,320 А может использовать только один в конце дня за проблемы набора. 30 00:01:14,320 --> 00:01:17,930 Да, в сущности, все проблемы наборы из-за пятницу в полдень. 31 00:01:17,930 --> 00:01:18,550 Вот и все. 32 00:01:18,550 --> 00:01:20,400 Все, что детали на программе. 33 00:01:20,400 --> 00:01:22,360 >> Каждую пятницу, у нас есть обеды. 34 00:01:22,360 --> 00:01:25,230 Мы хотели, чтобы этот большой Конечно чувствовать себя немного меньше. 35 00:01:25,230 --> 00:01:26,580 Таким образом, вы всегда можете RSVP. 36 00:01:26,580 --> 00:01:30,050 Бесплатный обед с коллегами одноклассники и сотрудники. 37 00:01:30,050 --> 00:01:34,120 cs50.yale.edu/rsvp. 38 00:01:34,120 --> 00:01:36,940 >> Все эти вещи, которые У меня на экране, 39 00:01:36,940 --> 00:01:43,330 и больше, вы можете найти cs50.yale.edu или cs50.harvard.edu, если вы идете в Гарварде 40 00:01:43,330 --> 00:01:46,800 и смотреть это онлайн. 41 00:01:46,800 --> 00:01:50,240 >> Кроме того, на этих веб-сайтов, там тонна ресурсов для вас. 42 00:01:50,240 --> 00:01:54,610 Каждый лекция не только видео лекции, но также отмечает,. 43 00:01:54,610 --> 00:01:58,184 Кто-то будет смотреть лекции и делать заметки для вас. 44 00:01:58,184 --> 00:02:00,100 Таким образом, вы можете просто заплатить внимание в ходе лекций, 45 00:02:00,100 --> 00:02:03,970 или вы можете использовать свои заметки / Наши отмечает дополнить свои собственные заметки. 46 00:02:03,970 --> 00:02:04,987 >> Есть горки в Интернете. 47 00:02:04,987 --> 00:02:07,320 Источник code-- все Дэвид переходит в лекции, 48 00:02:07,320 --> 00:02:09,979 или Scaz переходит лекции, что Исходный код доступен онлайн 49 00:02:09,979 --> 00:02:11,750 а также, как как и я, упомянул видео. 50 00:02:11,750 --> 00:02:14,257 >> Разделы, также, все будет снят. 51 00:02:14,257 --> 00:02:15,840 Все эти слайды будут доступны. 52 00:02:15,840 --> 00:02:18,190 Все, что код будет быть доступны для вас. 53 00:02:18,190 --> 00:02:22,440 Есть шорты на сайт, где Сотрудники CS50 провести пять до 10 54 00:02:22,440 --> 00:02:24,130 минут, проходящие через темы для вас. 55 00:02:24,130 --> 00:02:26,750 Некоторые из тех, вы уже встречаются в проблемных множеств. 56 00:02:26,750 --> 00:02:30,430 >> Офисные часа, как я упомянул, понедельникам через четвергам, с 8:00 до 11:00. 57 00:02:30,430 --> 00:02:32,600 CS50 исследование представляет собой фантастический ресурс. 58 00:02:32,600 --> 00:02:37,100 Есть проблемы практики, образец слайдов, известные ошибки 59 00:02:37,100 --> 00:02:40,920 что студенты любят бежать в, для каждого существу тему мы 60 00:02:40,920 --> 00:02:42,650 будет охватывать в этом процессе. 61 00:02:42,650 --> 00:02:46,350 >> И, наконец, на этом слайде По крайней мере, Reference50 62 00:02:46,350 --> 00:02:49,690 которая дает вам информацию на все функции C 63 00:02:49,690 --> 00:02:53,160 Вы могли когда-либо возможно надеюсь использовать и многие, многие другие. 64 00:02:53,160 --> 00:02:55,690 >> Опять же, точка точка точка на в нижней части экрана 65 00:02:55,690 --> 00:02:59,990 это указывает, что есть даже больше ресурсов на этих двух сайтах: 66 00:02:59,990 --> 00:03:04,270 cs50.yale.edu, cs50.harvard.edu. 67 00:03:04,270 --> 00:03:05,840 >> Итак, что мы делаем сегодня? 68 00:03:05,840 --> 00:03:08,970 Ну, во-первых, я собираюсь дать вы посмотрите на ресурсы. 69 00:03:08,970 --> 00:03:10,010 Уже сделал это один. 70 00:03:10,010 --> 00:03:11,590 Посмотри на нас. 71 00:03:11,590 --> 00:03:16,430 >> Теперь, мы собираемся перейти на типы данных и операторы в С 72 00:03:16,430 --> 00:03:19,990 Затем Энди придет сюда и перейти библиотек C, Е (), 73 00:03:19,990 --> 00:03:24,570 функция, с которой вы уже знакомы или быстро станет очень 74 00:03:24,570 --> 00:03:25,530 знакомые. 75 00:03:25,530 --> 00:03:27,810 И вы также перейти условные и петли. 76 00:03:27,810 --> 00:03:30,900 >> И, наконец,, Scaz пойдут на CS50 ID. 77 00:03:30,900 --> 00:03:34,250 Если вы не нырнул в уже в задаче Набор 1, 78 00:03:34,250 --> 00:03:37,060 а также как использовать Команды терминала и полезные 79 00:03:37,060 --> 00:03:42,280 а затем дать вам несколько демо и практика кодирования в CS50 ID. 80 00:03:42,280 --> 00:03:45,130 >> Прежде, чем я прыгнуть в эту Содержание на этой стороне, 81 00:03:45,130 --> 00:03:46,770 Кто-нибудь есть какие-либо вопросы до сих пор? 82 00:03:46,770 --> 00:03:53,190 83 00:03:53,190 --> 00:03:54,030 Отлично. 84 00:03:54,030 --> 00:03:54,950 ХОРОШО. 85 00:03:54,950 --> 00:03:55,810 Изменение передач. 86 00:03:55,810 --> 00:03:58,760 >> [Переключения передач] 87 00:03:58,760 --> 00:04:03,070 >> Это был я сдвига передачи в ручном автомобиле. 88 00:04:03,070 --> 00:04:10,920 Так типы данных в C, вы не можете просто переменная х и он будет на линии 10, 89 00:04:10,920 --> 00:04:17,170 целое число, может быть, номер 1, в строке 20, десятичное число 10,5, 90 00:04:17,170 --> 00:04:20,500 а затем пару строк позже строка, я люблю CS50. 91 00:04:20,500 --> 00:04:25,052 >> В C, переменные могут быть только Одно дело, и только одна вещь. 92 00:04:25,052 --> 00:04:26,510 И поэтому вы должны дать им типы. 93 00:04:26,510 --> 00:04:28,780 И на этой доске, мы есть список типов. 94 00:04:28,780 --> 00:04:32,000 Есть символы, которые для обозначения знаков. 95 00:04:32,000 --> 00:04:36,850 Так вот одна буква А, B, C, Д. Это также может быть пространство, 96 00:04:36,850 --> 00:04:40,290 или, что также может быть новая линия характера. 97 00:04:40,290 --> 00:04:45,030 >> Есть целые числа, которые просто номера, вся numbers-- или целые 98 00:04:45,030 --> 00:04:47,130 rather-- но нет знаков после запятой. 99 00:04:47,130 --> 00:04:49,790 >> Для знаков после запятой, у нас есть чисел с плавающей запятой. 100 00:04:49,790 --> 00:04:53,200 Числа с плавающей точкой являются числа знаков после запятой. 101 00:04:53,200 --> 00:04:58,160 >> Тогда есть жаждет, которые существенно больше числа. 102 00:04:58,160 --> 00:05:01,160 Вы заметите, что долго 8 в то время как INT 4. 103 00:05:01,160 --> 00:05:02,640 Я вернусь к этому в секунду. 104 00:05:02,640 --> 00:05:07,390 Это потому, что жаждет может хранить еще больше, чем целые Int может хранить. 105 00:05:07,390 --> 00:05:10,100 Двухместный длинный поплавок. 106 00:05:10,100 --> 00:05:12,460 >> И, наконец, у нас есть Строка, которая является типом 107 00:05:12,460 --> 00:05:14,430 что вы, вероятно, использовали раньше. 108 00:05:14,430 --> 00:05:21,100 Если включить хэштегом # includeCS50.h в исходном файле, 109 00:05:21,100 --> 00:05:23,170 то вы можете использовать строковый тип. 110 00:05:23,170 --> 00:05:25,560 Это на самом деле не построен в С. 111 00:05:25,560 --> 00:05:27,760 >> Есть несколько других типов, а также. 112 00:05:27,760 --> 00:05:32,900 Но это являются главными с который вы будете использовать, и столкнуться. 113 00:05:32,900 --> 00:05:36,210 С, как, опять я упомянул, каждый переменная-- его 114 00:05:36,210 --> 00:05:38,620 может быть только один тип и один тип только. 115 00:05:38,620 --> 00:05:42,890 Это потому, что С является статически типизированный язык, в отличие 116 00:05:42,890 --> 00:05:45,780 динамически типизированных языках где, если вы создаете переменную 117 00:05:45,780 --> 00:05:50,081 Вы можете изменить то, что хранится в это, как вы идете в вашей программе. 118 00:05:50,081 --> 00:05:52,580 Сюда на правой руке сторона, у меня есть разные размеры 119 00:05:52,580 --> 00:05:57,440 из этих типов данных в байтах. 120 00:05:57,440 --> 00:05:59,710 Таким образом, характер 1 байт. 121 00:05:59,710 --> 00:06:01,250 Это 8 бит. 122 00:06:01,250 --> 00:06:05,530 И это означает, что из-за 8 биты есть восемь 0 и 1. 123 00:06:05,530 --> 00:06:08,280 Мы видели эти демо в первый неделю с того, что бинарные ламп. 124 00:06:08,280 --> 00:06:15,680 >> С 8 бит или 1 байт, мы можем представлять числа от 0 до 255. 125 00:06:15,680 --> 00:06:16,180 Правильно. 126 00:06:16,180 --> 00:06:18,770 Если все 8 бит 0, это 0. 127 00:06:18,770 --> 00:06:23,640 Если первый бит равен 1, это число , и так далее, все, вплоть до 255. 128 00:06:23,640 --> 00:06:28,290 И вот почему для символов, которые можно есть, по существу до 255 из них, 129 00:06:28,290 --> 00:06:31,210 но это много, чтобы охватить все символы мы должны использовать. 130 00:06:31,210 --> 00:06:38,060 >> Для целых чисел, вы можете иметь 0 и то у вас есть 2 к 32 минус 1. 131 00:06:38,060 --> 00:06:40,340 Те, как много вариантов у вас есть для целых чисел. 132 00:06:40,340 --> 00:06:44,780 >> Для долго, у вас есть 0 до 2 до 64 минус 1. 133 00:06:44,780 --> 00:06:48,860 Таким образом, вы должны много, много, Дополнительные параметры для длинных. 134 00:06:48,860 --> 00:06:54,220 >> Строки, это знак вопроса потому что это кульминация позже. 135 00:06:54,220 --> 00:06:55,000 Да. 136 00:06:55,000 --> 00:06:56,350 Я мог бы рассказать все это на краю своих мест, 137 00:06:56,350 --> 00:06:57,450 как то, что, что знак вопроса? 138 00:06:57,450 --> 00:06:58,390 Это кульминация. 139 00:06:58,390 --> 00:07:02,340 Мы в конечном счете охватить размер Строки и говорить больше о строках. 140 00:07:02,340 --> 00:07:04,692 Потому что на самом деле строка один из учебных колес 141 00:07:04,692 --> 00:07:06,400 мы надеваем в этом Конечно, в начале 142 00:07:06,400 --> 00:07:09,700 а затем снять позже на, потому что строки в C 143 00:07:09,700 --> 00:07:13,320 фактически являются указателями в символьных массивов. 144 00:07:13,320 --> 00:07:15,810 Но, опять же, это Скалолаз на потом. 145 00:07:15,810 --> 00:07:18,890 Прежде чем я перейду по любым вопросам, комментарии, вопросы по этому поводу? слайда 146 00:07:18,890 --> 00:07:25,800 147 00:07:25,800 --> 00:07:26,630 >> ХОРОШО. 148 00:07:26,630 --> 00:07:30,330 Я должен быть фантастическим, который объясняет. 149 00:07:30,330 --> 00:07:33,210 Кроме того, когда вы программируете, Вы собираетесь использовать эти операторы. 150 00:07:33,210 --> 00:07:36,730 Действительно простые признаки того, что может сделать простой операции, с которой вы, вероятно, 151 00:07:36,730 --> 00:07:38,340 уже хорошо знакомы. 152 00:07:38,340 --> 00:07:42,580 >> Например, в правой сторона, мы видим добавить. 153 00:07:42,580 --> 00:07:44,640 Чтобы добавить, вы просто сделать знак плюс. 154 00:07:44,640 --> 00:07:46,850 И поэтому вы, возможно, придется двух переменных х и у. 155 00:07:46,850 --> 00:07:48,810 Вы можете сделать X + Y в коде. 156 00:07:48,810 --> 00:07:52,790 Может быть, вы хотите сказать, вас, целью которых есть номер 7 и 3, 157 00:07:52,790 --> 00:07:55,780 Вы хотите, чтобы сохранить, что в переменной называется сумма. 158 00:07:55,780 --> 00:08:03,010 Вы можете сделать Int для типа, пространство сумма, название переменной = 7 + 3; 159 00:08:03,010 --> 00:08:05,780 >> Что бы, что магазин в сумме? 160 00:08:05,780 --> 00:08:07,190 Кто угодно? 161 00:08:07,190 --> 00:08:09,270 Если бы я был в сумме = 7 + 3. 162 00:08:09,270 --> 00:08:10,437 Что будет храниться в сумме? 163 00:08:10,437 --> 00:08:11,520 Вы можете просто кричать его. 164 00:08:11,520 --> 00:08:12,120 АУДИТОРИЯ: 10. 165 00:08:12,120 --> 00:08:12,995 >> Джейсон Хиршхорн: 10! 166 00:08:12,995 --> 00:08:14,870 Вот именно. 167 00:08:14,870 --> 00:08:19,520 Что о сумме в = 7 - 3, Я просто использовать эту тире знак. 168 00:08:19,520 --> 00:08:20,871 Что будет храниться? 169 00:08:20,871 --> 00:08:21,370 АУДИТОРИЯ: 4. 170 00:08:21,370 --> 00:08:22,203 Джейсон Хиршхорн: 4. 171 00:08:22,203 --> 00:08:25,770 Сумма, вероятно, неправильно название переменная, но 4 будет храниться. 172 00:08:25,770 --> 00:08:31,890 >> Для умножения в С, используйте маленький Звезда характер, вы не используете х. 173 00:08:31,890 --> 00:08:35,990 Чтобы разделить, использовать вперед Slash не символ разделения. 174 00:08:35,990 --> 00:08:39,580 И по модулю, используйте символ процента. 175 00:08:39,580 --> 00:08:47,900 >> Итак, давайте скажем, я хочу, чтобы увидеть INT г = 7% 3, что будет храниться в г? 176 00:08:47,900 --> 00:08:51,250 Так, что по существу просить что же по модулю делать? 177 00:08:51,250 --> 00:08:52,750 Кто-нибудь знает, что делает модулю? 178 00:08:52,750 --> 00:08:53,940 Да. 179 00:08:53,940 --> 00:08:54,870 у 4. 180 00:08:54,870 --> 00:08:56,120 СПИКЕР 1: Это остаток. 181 00:08:56,120 --> 00:08:58,369 Джейсон Хиршхорн: Это Остальная когда вы разделите. 182 00:08:58,369 --> 00:09:02,790 Так 7 делится на 3 2 1 остаток. 183 00:09:02,790 --> 00:09:04,690 Так 1 будет храниться. 184 00:09:04,690 --> 00:09:06,970 >> Вы сделали вычитание, но это, как это работает. 185 00:09:06,970 --> 00:09:09,140 Это то, что оператор по модулю делает. 186 00:09:09,140 --> 00:09:12,360 Это займет несколько делит его на другой номер и возвращается к вам 187 00:09:12,360 --> 00:09:14,590 остаток. 188 00:09:14,590 --> 00:09:19,770 Итак, еще раз, 7% 3 дает 1, поскольку 7 делится на 3 2 1 остаток, 189 00:09:19,770 --> 00:09:21,650 и возвращает остаток. 190 00:09:21,650 --> 00:09:24,470 >> Что о давайте вернемся на один шаг до этого знака деления. 191 00:09:24,470 --> 00:09:29,194 Если бы я сделал 7 / делится на 3 делает Кто-нибудь знает, что это вернется? 192 00:09:29,194 --> 00:09:30,090 >> СПИКЕР 2: 2. 193 00:09:30,090 --> 00:09:32,240 >> Джейсон Хиршхорн: Почему 2, а не 2.333? 194 00:09:32,240 --> 00:09:34,560 >> СПИКЕР 2: Я думаю, что это сокращает от после целого числа. 195 00:09:34,560 --> 00:09:36,310 Джейсон Хиршхорн: Так это точно. 196 00:09:36,310 --> 00:09:39,880 В C, если вы деление два числа, разделенные 7 3, 197 00:09:39,880 --> 00:09:43,430 он получает ответ, который в этом случае 2.3333 навсегда 198 00:09:43,430 --> 00:09:47,080 и он находит, что десятичную точку и рубит все от после запятой 199 00:09:47,080 --> 00:09:49,240 и он просто возвращает вам 2. 200 00:09:49,240 --> 00:09:51,120 >> Так что, если я сделал 8 делится на 3. 201 00:09:51,120 --> 00:09:54,010 Это на самом деле, мы знаем, что для возврата 2,666, 202 00:09:54,010 --> 00:09:57,050 но рубит все от в десятичной, обрезает все, 203 00:09:57,050 --> 00:09:58,640 и просто возвращает вам 2. 204 00:09:58,640 --> 00:10:02,090 Так 6 делится на 3, 7 делится на 3, 8 делится на 3, 205 00:10:02,090 --> 00:10:04,840 все собираемся вернуться к вам 2. 206 00:10:04,840 --> 00:10:08,770 >> Кто-нибудь знает, или предположение, о том, как я мог на самом деле получить 207 00:10:08,770 --> 00:10:10,790 полный ответ, если я хочу что десятичной? 208 00:10:10,790 --> 00:10:13,120 209 00:10:13,120 --> 00:10:13,620 Да. 210 00:10:13,620 --> 00:10:14,152 Преуспевать. 211 00:10:14,152 --> 00:10:15,110 СПИКЕР 3: Используйте поплавок? 212 00:10:15,110 --> 00:10:16,942 Джейсон Хиршхорн: Что вы имеете в виду? 213 00:10:16,942 --> 00:10:19,786 СПИКЕР 3: Потому что вы сказали, Поплавок для чисел [неразборчиво] 214 00:10:19,786 --> 00:10:22,900 215 00:10:22,900 --> 00:10:23,900 Джейсон Хиршхорн: Верно. 216 00:10:23,900 --> 00:10:26,100 Так, что это совершенно верно. 217 00:10:26,100 --> 00:10:28,440 7 представляет собой целое число. 218 00:10:28,440 --> 00:10:31,690 Но если бы я хотел, чтобы превратить это в число с плавающей точкой, 219 00:10:31,690 --> 00:10:34,674 Я бы хранить, что а 7,0, так как компьютер 220 00:10:34,674 --> 00:10:37,090 действительно stupid-- мы увидели, что с PB и J example-- 221 00:10:37,090 --> 00:10:38,930 это будет только делать то, что вы говорите это. 222 00:10:38,930 --> 00:10:40,846 >> Так что, если вы пишете 7, думаю, что это целое число. 223 00:10:40,846 --> 00:10:43,640 Если вы пишете 7.0, хотя мы знаете, эти вещи эквивалентны, 224 00:10:43,640 --> 00:10:45,550 он рассматривает, что подобно число с плавающей точкой. 225 00:10:45,550 --> 00:10:50,441 Так что, если вы сделали 7.0 делится на 3 или разделенная на 3,0, 226 00:10:50,441 --> 00:10:52,440 было бы говорить, хорошо, теперь мы имеем дело с поплавками. 227 00:10:52,440 --> 00:10:57,514 Я вернусь к вам 2.333333 навсегда. 228 00:10:57,514 --> 00:10:59,930 Но на самом деле не навсегда, потому что как мы видели также в лекции, 229 00:10:59,930 --> 00:11:03,350 эти числа с плавающей точкой не совсем точным. 230 00:11:03,350 --> 00:11:05,940 >> Так что, если вы хотите, что десятичной, или частью этого десятичной 231 00:11:05,940 --> 00:11:08,090 то вы должны use-- один из них должен быть числом с плавающей точкой 232 00:11:08,090 --> 00:11:11,048 и компьютер должен понять что это с плавающей точкой вы 233 00:11:11,048 --> 00:11:13,350 дело, не является целым числом. 234 00:11:13,350 --> 00:11:16,760 Любые вопросы по этой таблице на правая, так далеко? 235 00:11:16,760 --> 00:11:22,650 Или ваша левая сторона, ваш слева, с левой стороны. 236 00:11:22,650 --> 00:11:23,264 Да. 237 00:11:23,264 --> 00:11:23,972 СПИКЕР 4: Хорошо. 238 00:11:23,972 --> 00:11:26,216 Для как обычный целые числа, вы бы 239 00:11:26,216 --> 00:11:30,230 write-- Вы должны были бы написать плавать? 240 00:11:30,230 --> 00:11:31,920 >> Джейсон Хиршхорн: Да, так. 241 00:11:31,920 --> 00:11:34,400 Ну, если вы хотите создать переменная это поплавок, 242 00:11:34,400 --> 00:11:37,020 Вы должны сказать поплавок г равна кое-что. 243 00:11:37,020 --> 00:11:37,640 >> СПИКЕР 4: Хорошо. 244 00:11:37,640 --> 00:11:41,950 >> Джейсон Хиршхорн: Но если бы я хотел, чтобы сделать 7 разделенный на 3 и получить, что десятичной, 245 00:11:41,950 --> 00:11:48,540 Я хотел бы сделать поплавок г = 7,0 / 3,0; а что даст мне плавающей точкой 246 00:11:48,540 --> 00:11:49,273 номер. 247 00:11:49,273 --> 00:11:50,000 >> СПИКЕР 4: Хорошо. 248 00:11:50,000 --> 00:11:56,370 >> Джейсон Хиршхорн: Если бы я сделал что-то вроде INT г = 7 / на 3, 249 00:11:56,370 --> 00:12:00,856 что даст мне число, потому что те все целые числа. 250 00:12:00,856 --> 00:12:01,730 Имеет ли это смысл? 251 00:12:01,730 --> 00:12:02,320 >> СПИКЕР 4: Да. 252 00:12:02,320 --> 00:12:02,950 >> Джейсон Хиршхорн: ОК. 253 00:12:02,950 --> 00:12:03,450 Отлично. 254 00:12:03,450 --> 00:12:06,030 Любые другие вопросы о этой таблице? 255 00:12:06,030 --> 00:12:07,220 В самом деле? 256 00:12:07,220 --> 00:12:08,380 Я так взволнован. 257 00:12:08,380 --> 00:12:09,120 ХОРОШО. 258 00:12:09,120 --> 00:12:13,910 >> Таким образом, некоторые другие вещи, которые вы будете использовать, часто в условиях или петель, 259 00:12:13,910 --> 00:12:17,580 эти типы operators-- эти типы логических выражений. 260 00:12:17,580 --> 00:12:23,140 И, как мы узнали, == является то, что вы использовать, чтобы проверить, если две вещи равны. 261 00:12:23,140 --> 00:12:28,170 >> Так вот я проверяю, если х == у, давайте снова считать, что х 7 лет 3. 262 00:12:28,170 --> 00:12:33,220 Так что, если я написал 7 == 3, то, что бы, что вернуться ко мне? 263 00:12:33,220 --> 00:12:34,220 Это правда или ложь? 264 00:12:34,220 --> 00:12:35,275 >> АУДИТОРИЯ: Ложь. 265 00:12:35,275 --> 00:12:36,150 Джейсон Хиршхорн: ОК. 266 00:12:36,150 --> 00:12:37,370 Я чувствую, что каждый может получить это. 267 00:12:37,370 --> 00:12:39,054 Таким образом, все, что бы это вернуть? 268 00:12:39,054 --> 00:12:39,720 АУДИТОРИЯ: Ложь. 269 00:12:39,720 --> 00:12:40,130 Джейсон Хиршхорн: Ложь. 270 00:12:40,130 --> 00:12:40,850 Отлично. 271 00:12:40,850 --> 00:12:41,930 7 не равно 3. 272 00:12:41,930 --> 00:12:44,530 Так 7 == 3 вернется ложным. 273 00:12:44,530 --> 00:12:50,746 Вы есть не знак равенства, так что если я Проверено 7! = 3, то что бы это вернуть? 274 00:12:50,746 --> 00:12:51,370 АУДИТОРИЯ: Правда. 275 00:12:51,370 --> 00:12:52,650 Джейсон Хиршхорн: Правда. 276 00:12:52,650 --> 00:12:53,200 Отлично. 277 00:12:53,200 --> 00:12:55,990 Кто-то был очень решительным в спина и ценю это. 278 00:12:55,990 --> 00:12:59,070 Тогда у вас есть меньше, чем оператор, меньше или равно оператора, 279 00:12:59,070 --> 00:13:01,990 больше, чем оператор, больше или равным оператора. 280 00:13:01,990 --> 00:13:03,490 >> Так что еще здравомыслие проверка. 281 00:13:03,490 --> 00:13:05,660 Если бы я был 7 больше чем или равно 3. 282 00:13:05,660 --> 00:13:06,966 Что бы это вернуть? 283 00:13:06,966 --> 00:13:07,692 >> АУДИТОРИЯ: Правда. 284 00:13:07,692 --> 00:13:08,650 Джейсон Хиршхорн: Правда. 285 00:13:08,650 --> 00:13:10,050 Да. 286 00:13:10,050 --> 00:13:13,290 Это задней комнате, задняя сторона комнаты, фантастическое. 287 00:13:13,290 --> 00:13:16,240 Вы можете комбинировать эти выражения, если вам нравится, а также, 288 00:13:16,240 --> 00:13:21,880 с логическим и который && Или логическое ИЛИ который || 289 00:13:21,880 --> 00:13:22,800 ||. 290 00:13:22,800 --> 00:13:25,785 И вот теперь вы можете проверить два вещи together-- Это смешно? 291 00:13:25,785 --> 00:13:28,250 Почему это смешно? 292 00:13:28,250 --> 00:13:35,200 >> Так что, если я хотел, я могу сказать, это 7 больше, чем 3 и 2 меньше, чем 4? 293 00:13:35,200 --> 00:13:37,090 Ну, если 7 больше чем 3, что это правда. 294 00:13:37,090 --> 00:13:38,400 2 меньше, чем 4, что это правда. 295 00:13:38,400 --> 00:13:41,140 Так все это дело будет возвращена истина. 296 00:13:41,140 --> 00:13:45,130 >> Если я тестировал 7 больше, чем 3 и-- Я просто выбирая случайных чисел here-- 297 00:13:45,130 --> 00:13:47,340 4 меньше, чем 2, хорошо, что это ложь. 298 00:13:47,340 --> 00:13:49,610 Так истинным и ложным ложных. 299 00:13:49,610 --> 00:13:54,520 А можно пойти дальше, и вы, как объединить многие условия вместе, как вы хотите. 300 00:13:54,520 --> 00:14:00,000 >> Кто-нибудь есть какие-либо вопросы, комментарии, проблемы до сих пор? 301 00:14:00,000 --> 00:14:03,862 И я вижу, некоторые из вас съемке Из меня на экране, который я ценю. 302 00:14:03,862 --> 00:14:05,070 Надеюсь, это не Snapchat. 303 00:14:05,070 --> 00:14:06,417 Надеюсь, это для ваших заметок. 304 00:14:06,417 --> 00:14:08,500 Но все они собираются будет доступна онлайн. 305 00:14:08,500 --> 00:14:11,210 Таким образом, вы не должны сфотографировать это. 306 00:14:11,210 --> 00:14:15,150 Как я уже говорил, все будут доступны в Интернете для вас. 307 00:14:15,150 --> 00:14:15,650 ХОРОШО. 308 00:14:15,650 --> 00:14:17,980 Я собираюсь получить сцены, так же никого 309 00:14:17,980 --> 00:14:20,350 хочу сказать что-нибудь прежде чем это произойдет? 310 00:14:20,350 --> 00:14:21,080 Вопросов? 311 00:14:21,080 --> 00:14:21,680 >> [Реле ГОЛОСА] 312 00:14:21,680 --> 00:14:22,250 >> Джейсон Хиршхорн: О, остановиться. 313 00:14:22,250 --> 00:14:23,290 Вы, ребята, слишком хорошо. 314 00:14:23,290 --> 00:14:23,790 ХОРОШО. 315 00:14:23,790 --> 00:14:26,520 Я собираюсь пометить вне. 316 00:14:26,520 --> 00:14:27,240 Пойдем. 317 00:14:27,240 --> 00:14:29,570 >> ANDI Пэн: Мы собираемся сделать неловко микрофон изменение в настоящее время. 318 00:14:29,570 --> 00:14:32,280 >> Джейсон Хиршхорн: Я собирается снять это. 319 00:14:32,280 --> 00:14:33,946 ANDI Пэн: Цените поддержку, ребята. 320 00:14:33,946 --> 00:14:42,250 321 00:14:42,250 --> 00:14:43,180 Ты слышишь меня? 322 00:14:43,180 --> 00:14:43,930 Это хорошо? 323 00:14:43,930 --> 00:14:44,760 Отлично. 324 00:14:44,760 --> 00:14:45,630 Красивая. 325 00:14:45,630 --> 00:14:47,490 Позвольте мне просто подвернуть, что в. 326 00:14:47,490 --> 00:14:49,100 ХОРОШО. 327 00:14:49,100 --> 00:14:54,140 Итак, я собираюсь сделать, как гигант Информация сваливать на вас, ребята, прямо сейчас. 328 00:14:54,140 --> 00:14:57,370 И не беспокойтесь, если вообще вы не не после каждого мало линию, что 329 00:14:57,370 --> 00:14:58,812 Я собираюсь показать вам. 330 00:14:58,812 --> 00:15:00,770 Как сказал Джейсон, все полностью онлайн. 331 00:15:00,770 --> 00:15:03,780 Просто мы собираемся, чтобы попытаться ввести все с понятиями покрыта 332 00:15:03,780 --> 00:15:05,270 В некоторых из этих горок. 333 00:15:05,270 --> 00:15:06,582 Так что просто следовать. 334 00:15:06,582 --> 00:15:09,540 Не беспокойтесь, если вы не понимаете все; Однако, если в любой момент 335 00:15:09,540 --> 00:15:12,820 Вы чувствуете себя потерянным, поднимите рука, мы не будем останавливаться, не стоит беспокоиться. 336 00:15:12,820 --> 00:15:15,060 Круто. 337 00:15:15,060 --> 00:15:19,270 >> Поэтому я думаю, то, что Дэвид уже вроде упоминал в лекции 338 00:15:19,270 --> 00:15:23,240 и Джейсон вид ссылался до сегодняшнего дня это то, что библиотека. 339 00:15:23,240 --> 00:15:27,510 Таким образом, в программировании, мы должны эти вещи называются библиотеки. 340 00:15:27,510 --> 00:15:29,690 Где, по существу, все они просто набор 341 00:15:29,690 --> 00:15:32,610 функций, то есть по сути просто код, который 342 00:15:32,610 --> 00:15:35,070 уже были написаны кто-то еще, что мы все можем 343 00:15:35,070 --> 00:15:36,410 использовать в наших программах. 344 00:15:36,410 --> 00:15:38,790 >> Так как же нормальная Библиотека работа, верно? 345 00:15:38,790 --> 00:15:40,030 Вы входите в дверь библиотеки. 346 00:15:40,030 --> 00:15:41,890 У вас есть все эти книги, которые вы можете вытащить 347 00:15:41,890 --> 00:15:44,590 и вы можете получить доступ к информации в этих книгах. 348 00:15:44,590 --> 00:15:45,840 То же самое в программировании. 349 00:15:45,840 --> 00:15:48,820 >> У вас есть библиотека, которая уже были написаны другими людьми. 350 00:15:48,820 --> 00:15:51,530 И то, вы можете, программистом или студента, 351 00:15:51,530 --> 00:15:55,780 может получить доступ к этой библиотеке через хэштегом #include. 352 00:15:55,780 --> 00:15:59,720 >> Например, в C мы есть три C-- наиболее 353 00:15:59,720 --> 00:16:03,420 обычно используется три стандарта C libraries-- ввода / вывода библиотеки, 354 00:16:03,420 --> 00:16:05,540 строка библиотека, и математическая библиотека. 355 00:16:05,540 --> 00:16:07,610 >> Таким образом, внутри ваш первый пара проблема устанавливает, 356 00:16:07,610 --> 00:16:10,940 Это будут три что вы в первую очередь с помощью. 357 00:16:10,940 --> 00:16:14,610 Так как Давид уже объяснил в лекции, 358 00:16:14,610 --> 00:16:17,460 стандарт ввода / вывода библиотеки, или стандартный ввод / вывод библиотека 359 00:16:17,460 --> 00:16:18,620 именно это и делает. 360 00:16:18,620 --> 00:16:23,530 Это позволяет, в коде, для ввода ничего от пользователя и вывода, что 361 00:16:23,530 --> 00:16:25,960 на экран, по существу, печати на экран. 362 00:16:25,960 --> 00:16:29,990 >> И так каждый раз при использовании каких-либо функций, Например функция Е (), который 363 00:16:29,990 --> 00:16:33,319 мы собираемся перейти на следующий слайд, убедитесь, что включают в себя стандарт ввода / вывода 364 00:16:33,319 --> 00:16:36,360 Библиотека, иначе вы не собираетесь быть в состоянии использовать функцию Е (). 365 00:16:36,360 --> 00:16:39,110 Потому что вы, как программист никогда не писал эту функцию, 366 00:16:39,110 --> 00:16:41,840 вы используете только кто-то Код-либо в вашем собственном коде. 367 00:16:41,840 --> 00:16:43,620 >> Имеет ли это смысл все? 368 00:16:43,620 --> 00:16:44,520 Круто. 369 00:16:44,520 --> 00:16:48,530 >> И тогда мы, по существу получить на библиотека string.h и math.h 370 00:16:48,530 --> 00:16:52,970 библиотека, .h просто означает библиотеку, другие библиотеки, которые вы в конечном итоге 371 00:16:52,970 --> 00:16:55,310 использовать в коде. 372 00:16:55,310 --> 00:16:57,620 >> Тем не менее, для целей этой библиотеки, мы также 373 00:16:57,620 --> 00:17:01,170 have-- этого class-- у нас также есть то, что называют библиотеку CS50, 374 00:17:01,170 --> 00:17:05,270 cs50.h, где мы, Ваш прочтение создали 375 00:17:05,270 --> 00:17:07,369 многие важные и полезные функции. 376 00:17:07,369 --> 00:17:09,550 Так что вы, как программист может контрейлерных от 377 00:17:09,550 --> 00:17:14,470 то, что мы уже написали, так что эта функция доступна для вас 378 00:17:14,470 --> 00:17:15,599 для Вашего пользования. 379 00:17:15,599 --> 00:17:18,359 >> Я буду охватывающих несколько функции обычно используется, 380 00:17:18,359 --> 00:17:20,839 но знаю, что это все googleable онлайн. 381 00:17:20,839 --> 00:17:24,904 Не стесняйтесь, подтянуть библиотеку CS50 и то у вас есть все функции там. 382 00:17:24,904 --> 00:17:25,828 Да. 383 00:17:25,828 --> 00:17:28,140 >> СПИКЕР 5: Так что, если вы не были с помощью программного обеспечения, что 384 00:17:28,140 --> 00:17:29,916 предоставляется нам класс, делает, что 385 00:17:29,916 --> 00:17:32,698 означает, что мы должны были бы загрузить и найти этот заголовок файла себя и сказать 386 00:17:32,698 --> 00:17:33,840 компьютер, где это? 387 00:17:33,840 --> 00:17:34,320 >> ANDI Пэн: Большой вопрос. 388 00:17:34,320 --> 00:17:34,820 В точку. 389 00:17:34,820 --> 00:17:38,194 Так как если вы не физически присутствует в библиотеке, 390 00:17:38,194 --> 00:17:40,360 нет никакого способа для вас на самом деле пойти и открыть его. 391 00:17:40,360 --> 00:17:42,589 Таким образом, одно и то же с Программирование на С, вы 392 00:17:42,589 --> 00:17:45,880 должны убедиться, что вы используете наш Прибор, потому что библиотека уже 393 00:17:45,880 --> 00:17:47,270 были включены в него. 394 00:17:47,270 --> 00:17:50,020 А потом, когда вы хэштегом #include, библиотека там. 395 00:17:50,020 --> 00:17:50,520 Да. 396 00:17:50,520 --> 00:17:51,920 Хороший вопрос. 397 00:17:51,920 --> 00:17:53,461 Все хорошо? 398 00:17:53,461 --> 00:17:53,960 Круто. 399 00:17:53,960 --> 00:17:56,371 400 00:17:56,371 --> 00:17:56,870 Все в порядке. 401 00:17:56,870 --> 00:17:59,330 Итак, мы собираемся, чтобы ударить, существу, то, что 402 00:17:59,330 --> 00:18:01,620 первая функция, которая Мы, как программисты 403 00:18:01,620 --> 00:18:03,900 собираетесь использовать в нашем коде. 404 00:18:03,900 --> 00:18:05,690 Это называется функция Е (). 405 00:18:05,690 --> 00:18:08,450 Так, функция Е (), как я уже сказал в последний слайд, 406 00:18:08,450 --> 00:18:11,830 входит в стандартную I / O, стандартный ввод / вывод, библиотека. 407 00:18:11,830 --> 00:18:16,470 >> Поэтому убедитесь, что все, что вы using-- ой, дайте мне захватить лазер pointer-- 408 00:18:16,470 --> 00:18:18,660 всякий раз, когда вы используете функция Е (), 409 00:18:18,660 --> 00:18:21,790 Вы должны включить стандартный ввод / вывод библиотеки или еще, при компиляции, 410 00:18:21,790 --> 00:18:23,760 Вы собираетесь получить ошибку потому что компьютер будет как, 411 00:18:23,760 --> 00:18:26,140 о, я не знаю, где Е () является, ты не говоришь мне, где Е () 412 00:18:26,140 --> 00:18:26,830 является. 413 00:18:26,830 --> 00:18:30,150 Ну Е () входит в Standard I / O, так что, когда вы используете Е (), 414 00:18:30,150 --> 00:18:32,960 убедитесь, что иметь, что Линия над коде. 415 00:18:32,960 --> 00:18:36,040 >> Так, например, Е () вот функция. 416 00:18:36,040 --> 00:18:40,260 Все это делает что-то для печати в скобках для пользователя. 417 00:18:40,260 --> 00:18:44,840 Хотели бы кто-нибудь принять удар на каком эта строка кода справа 418 00:18:44,840 --> 00:18:46,420 здесь будет распечатать? 419 00:18:46,420 --> 00:18:48,730 Следовательно, ответ находится на экране. 420 00:18:48,730 --> 00:18:50,480 Кто угодно? 421 00:18:50,480 --> 00:18:51,380 >> ВЕРДИ: Нижняя. 422 00:18:51,380 --> 00:18:53,510 >> ANDI Пэн: Верди, почему бы тебе не пойти вперед и сказать всю заявление? 423 00:18:53,510 --> 00:18:55,718 >> ВЕРДИ: Здравствуйте, меня зовут Энди, и я 20 лет. 424 00:18:55,718 --> 00:18:57,270 ANDI Пэн: Ах, милые. 425 00:18:57,270 --> 00:19:00,240 Таким образом, в этой линии мы собираемся распечатать, Привет, меня зовут Энди, 426 00:19:00,240 --> 00:19:04,280 и я 20 лет, который на самом деле является настоящим заявлением. 427 00:19:04,280 --> 00:19:05,090 >> Синтаксис. 428 00:19:05,090 --> 00:19:08,830 Так пара синтаксических вопросов, которые Вы, ребята, хотите, чтобы убедиться, что вы знаете. 429 00:19:08,830 --> 00:19:09,360 Цитаты. 430 00:19:09,360 --> 00:19:13,170 Двойные кавычки рассказать компьютер, все, что внутри 431 00:19:13,170 --> 00:19:14,850 собирается быть напечатаны. 432 00:19:14,850 --> 00:19:16,620 >> Все внутри банки просто, как именно 433 00:19:16,620 --> 00:19:19,920 вы будете набирать его, за исключением Обычно в конце концов, 434 00:19:19,920 --> 00:19:23,610 мы собираемся хотите включить hash-- о sorry-- тире п. 435 00:19:23,610 --> 00:19:24,640 Так тире п. 436 00:19:24,640 --> 00:19:28,884 >> Кто-нибудь хочет сделать предположение на то, что делает, что к нашему коду? 437 00:19:28,884 --> 00:19:29,465 Да. 438 00:19:29,465 --> 00:19:30,840 СПИКЕР 6: Ставит его на новой линии. 439 00:19:30,840 --> 00:19:31,650 ANDI Пэн: Точно. 440 00:19:31,650 --> 00:19:34,660 Таким образом, все это делает позволяют все, что происходит 441 00:19:34,660 --> 00:19:37,520 после этого, после этого заявления, для печати на новой строке. 442 00:19:37,520 --> 00:19:40,030 Так что, когда вы пишете ваши код не случайно есть вещи, 443 00:19:40,030 --> 00:19:41,738 прикрепил к концу что вы не хотите. 444 00:19:41,738 --> 00:19:43,700 Это все становится аккуратно напечатан одну строку 445 00:19:43,700 --> 00:19:46,870 и тогда мы начинаем на следующей строке. 446 00:19:46,870 --> 00:19:50,970 >> Кто-нибудь помнит, что это запятой делает, когда мы кодирования? 447 00:19:50,970 --> 00:19:54,580 448 00:19:54,580 --> 00:19:55,330 Да. 449 00:19:55,330 --> 00:19:55,740 >> СПИКЕР 7: Заявление. 450 00:19:55,740 --> 00:19:56,010 >> ANDI Пэн: К сожалению? 451 00:19:56,010 --> 00:19:57,100 >> СПИКЕР 7: Есть ли в конечном заявление? 452 00:19:57,100 --> 00:19:57,766 >> ANDI Пэн: Да. 453 00:19:57,766 --> 00:20:02,670 Таким образом, в C, или какого-либо программирования язык, точка с запятой 454 00:20:02,670 --> 00:20:04,640 обозначает конец программирования линии. 455 00:20:04,640 --> 00:20:09,240 Так, например, в английском языке мы используем период сказать, О, это конец приговор. 456 00:20:09,240 --> 00:20:12,857 В программировании, то же самое, у нас есть точка с запятой, чтобы обозначить конец строки. 457 00:20:12,857 --> 00:20:14,690 Часто, когда вы начиная программировать, 458 00:20:14,690 --> 00:20:17,150 Вы понимаете, что вы забудьте добавить точку с запятой 459 00:20:17,150 --> 00:20:19,400 а затем попробуйте запустить свой Код и она не работает. 460 00:20:19,400 --> 00:20:21,520 И вы, как Ах, я не знаю, почему, она должна работать. 461 00:20:21,520 --> 00:20:24,394 >> Скорее всего, вы, вероятно, забыл точка с запятой или скобка или что-то 462 00:20:24,394 --> 00:20:25,020 где-то. 463 00:20:25,020 --> 00:20:27,740 Так, что это важно, чтобы помнить. 464 00:20:27,740 --> 00:20:29,627 Круто. 465 00:20:29,627 --> 00:20:31,960 Ладно, поднятием рук, как многие люди здесь когда-либо 466 00:20:31,960 --> 00:20:37,210 приняты А.П. Компьютерные науки или запрограммирован в Java, прежде чем, когда-либо? 467 00:20:37,210 --> 00:20:37,710 ХОРОШО. 468 00:20:37,710 --> 00:20:38,210 Прекрасный. 469 00:20:38,210 --> 00:20:41,340 Это не будет применяться то, но в Java, вы 470 00:20:41,340 --> 00:20:44,960 есть нечто, называемое System.out.println которые не существуют в C. 471 00:20:44,960 --> 00:20:49,927 >> Таким образом, в C, когда вам Чтобы добавить в переменных 472 00:20:49,927 --> 00:20:51,760 во что-нибудь Вы хотите распечатать, есть 473 00:20:51,760 --> 00:20:54,620 специфический синтаксис мы собираемся использовать. 474 00:20:54,620 --> 00:20:56,520 Это называется placeholding-- существу 475 00:20:56,520 --> 00:21:01,180 добавить заполнители на месте целого числа или переменной 476 00:21:01,180 --> 00:21:02,580 что мы хотим распечатать. 477 00:21:02,580 --> 00:21:07,430 >> Итак, как вы, ребята, можете видеть, что мы включены новый заголовок файла библиотеки здесь. 478 00:21:07,430 --> 00:21:09,130 Библиотека CS50. 479 00:21:09,130 --> 00:21:13,160 И, содержащаяся в пределах этого CS50 библиотеке общая функция, которую мы будем использовать 480 00:21:13,160 --> 00:21:15,610 в нашем курсе называется GetInt (). 481 00:21:15,610 --> 00:21:21,830 >> Хочет ли кто-нибудь принять удар на что GetInt (), возможно, будет делать. 482 00:21:21,830 --> 00:21:22,830 >> АУДИТОРИЯ: [неразборчиво] 483 00:21:22,830 --> 00:21:23,550 >> ANDI Пэн: К сожалению. 484 00:21:23,550 --> 00:21:24,370 Вас не слышу. 485 00:21:24,370 --> 00:21:25,511 Мэдди, кто. 486 00:21:25,511 --> 00:21:27,260 Мэдди: О, это побуждает Вы для целого. 487 00:21:27,260 --> 00:21:28,051 ANDI Пэн: Точно. 488 00:21:28,051 --> 00:21:30,670 Таким образом, это функция, другой функция, которая уже 489 00:21:30,670 --> 00:21:33,690 было написано кем-то другим что мы можем призвать в настоящее время. 490 00:21:33,690 --> 00:21:38,000 Все это является побудить вас, как пользователя, для ввода, что вы хотите в качестве кода 491 00:21:38,000 --> 00:21:41,850 работает и сохраняет whatever-- в этом случае мы GetInt () - ING, 492 00:21:41,850 --> 00:21:44,060 так что означает, что мы получение целое. 493 00:21:44,060 --> 00:21:46,150 >> И мы собираемся хранить что в другое целое число 494 00:21:46,150 --> 00:21:48,900 что мы только что сделали под названием возраста. 495 00:21:48,900 --> 00:21:51,500 Это имеет смысл для всех? 496 00:21:51,500 --> 00:21:52,190 Круто. 497 00:21:52,190 --> 00:21:56,400 >> Так что теперь мы сохранили этот целое, что мы побудили от пользователя, 498 00:21:56,400 --> 00:22:00,010 в этой переменной, мы создано типа Int называется возраст, 499 00:22:00,010 --> 00:22:03,720 мы можем идти вперед и место что функция в нашей Е (). 500 00:22:03,720 --> 00:22:08,970 Таким образом, синтаксис обычно на Е () является что там, где в реальных физических 501 00:22:08,970 --> 00:22:14,410 линия вы хотите, чтобы включить эту целое, вы что символ прямо, 502 00:22:14,410 --> 00:22:17,800 Символ процента, при этом тип переменной, что вы хотите. 503 00:22:17,800 --> 00:22:20,090 >> Таким образом, в этом случае возраст является целым числом. 504 00:22:20,090 --> 00:22:25,030 Таким образом, вы будете включать % я, потому что это целое число. 505 00:22:25,030 --> 00:22:26,860 И тогда после вашего Заявление, что вы собираетесь 506 00:22:26,860 --> 00:22:30,370 сделать запятую и Имя переменной. 507 00:22:30,370 --> 00:22:33,420 >> Так вот, мы собираемся, чтобы распечатать из, Привет, меня зовут Энди, 508 00:22:33,420 --> 00:22:35,730 и я пустые лет. 509 00:22:35,730 --> 00:22:38,890 Hashta-- или sorry--, возраст с любой I вход. 510 00:22:38,890 --> 00:22:42,790 Так что, если бы я был на ввод 20 для моего GetInt () здесь, 511 00:22:42,790 --> 00:22:44,500 было бы распечатать ту же самую вещь. 512 00:22:44,500 --> 00:22:47,990 Но, если бы я хотел, чтобы что-то входного еще, как возможно 40 или 45 лет, 513 00:22:47,990 --> 00:22:50,800 то вы увидите, что отражение соответственно в коде. 514 00:22:50,800 --> 00:22:52,886 >> Таким образом, это является примером о чем-то, в котором 515 00:22:52,886 --> 00:22:55,260 он печатает и выглядит Вы как будто это одно и то же, 516 00:22:55,260 --> 00:22:57,593 но под капотом компьютер есть на самом деле 517 00:22:57,593 --> 00:22:59,560 очень разные вещи происходит. 518 00:22:59,560 --> 00:23:00,060 Круто. 519 00:23:00,060 --> 00:23:02,760 520 00:23:02,760 --> 00:23:03,260 Все в порядке. 521 00:23:03,260 --> 00:23:06,940 Так что, если мы хотим несколько переменных? 522 00:23:06,940 --> 00:23:08,290 Довольно легко. 523 00:23:08,290 --> 00:23:09,150 То же самое. 524 00:23:09,150 --> 00:23:11,930 У нас также есть новые функции здесь называется GetString (), 525 00:23:11,930 --> 00:23:15,380 также включены в библиотеке CS50, что все это делает предложит пользователю 526 00:23:15,380 --> 00:23:18,120 для строки, которая просто набор символов, 527 00:23:18,120 --> 00:23:19,810 так как приговор или как имя. 528 00:23:19,810 --> 00:23:25,470 >> Таким образом, в этом случае, мы бы два заполнители% S для струнного и% I 529 00:23:25,470 --> 00:23:26,750 для целого числа. 530 00:23:26,750 --> 00:23:29,190 И мы собираемся следовать что двух переменных 531 00:23:29,190 --> 00:23:32,670 мы хотим включены в порядке, что они появляются в предложении. 532 00:23:32,670 --> 00:23:35,471 Так, например, меня зовут пустым, я хочу там имя, 533 00:23:35,471 --> 00:23:36,970 так что я собираюсь иметь имя первым. 534 00:23:36,970 --> 00:23:39,637 А потом после этого, я хочу, возраст, хотят иметь возраст секунду. 535 00:23:39,637 --> 00:23:42,720 И поэтому, если я хотел, чтобы ввести, Привет, меня зовут Энди, и я 20 лет. 536 00:23:42,720 --> 00:23:46,370 Если я вводятся Энди и 20, Точное же самое будет печатать; 537 00:23:46,370 --> 00:23:51,134 Однако, теперь у нас есть двухэтажное переменные имени, а также Int. 538 00:23:51,134 --> 00:23:51,634 Да. 539 00:23:51,634 --> 00:23:54,124 >> СПИКЕР 8: было бы возможность работать, если вы перешли 540 00:23:54,124 --> 00:23:55,620 имя и возраст, в конце, что? 541 00:23:55,620 --> 00:23:55,840 >> ANDI Пэн: Да. 542 00:23:55,840 --> 00:23:57,006 Это действительно хороший вопрос. 543 00:23:57,006 --> 00:23:59,520 Так Короче говоря, нет. 544 00:23:59,520 --> 00:24:03,070 Потому что имя и то, что age-- тип переменной имя? 545 00:24:03,070 --> 00:24:03,950 >> СПИКЕР 8: Строка. 546 00:24:03,950 --> 00:24:05,440 >> ANDI Пэн: А что тип переменной возраст? 547 00:24:05,440 --> 00:24:06,231 >> СПИКЕР 8: Целое. 548 00:24:06,231 --> 00:24:10,290 ANDI Пэн: Так вот у нас есть заполнитель для строки и числа, не так ли? 549 00:24:10,290 --> 00:24:13,350 Так что, если вы были, чтобы перейти них компьютер не будет знать. 550 00:24:13,350 --> 00:24:16,250 Это происходит для проверки строки, и если вы попытаетесь дать ему Int, 551 00:24:16,250 --> 00:24:18,083 это будет, как ждать я запутался, вам 552 00:24:18,083 --> 00:24:21,100 сказал мне, что я должен быть выделения памяти для Int. 553 00:24:21,100 --> 00:24:23,760 И вот здесь, когда он ожидает целое 554 00:24:23,760 --> 00:24:25,640 и вы даете ему имя и строка вместо 555 00:24:25,640 --> 00:24:28,931 это также будет очень запутанной, это не будет работать именно так, как вам это нужно. 556 00:24:28,931 --> 00:24:35,280 Так вот, называя и синтаксис очень важно для выполнения кода. 557 00:24:35,280 --> 00:24:37,991 Все хорошо? 558 00:24:37,991 --> 00:24:38,490 Да. 559 00:24:38,490 --> 00:24:39,476 Мэдди. 560 00:24:39,476 --> 00:24:44,620 >> Мэдди: Вот, я знаю, мы смотрели на примерах в классе, где они просят 561 00:24:44,620 --> 00:24:46,950 что ваш возраст, что ваше имя. 562 00:24:46,950 --> 00:24:50,250 Вот, это было бы его doesn't-- если мы должны были выполнить этот код, 563 00:24:50,250 --> 00:24:51,750 он не будет просить за это? 564 00:24:51,750 --> 00:24:54,740 Но вы просто ввода двух чисел а затем она будет работать, как, что? 565 00:24:54,740 --> 00:24:55,781 >> ANDI Пэн: Да, именно так. 566 00:24:55,781 --> 00:24:58,250 Так что, если вы хотели за это дисплей, пожалуйста, введите свой возраст, 567 00:24:58,250 --> 00:25:01,100 вы можете просто добавить функцию Е () что говорит, пожалуйста, введите свой возраст, 568 00:25:01,100 --> 00:25:01,600 над ним. 569 00:25:01,600 --> 00:25:02,711 Это хороший вопрос. 570 00:25:02,711 --> 00:25:03,210 Да. 571 00:25:03,210 --> 00:25:07,964 >> СПИКЕР 9: Так, уже будет включены в GetInt () [неразборчиво]. 572 00:25:07,964 --> 00:25:09,380 ANDI Пэн: Нет, на самом деле это не так. 573 00:25:09,380 --> 00:25:11,809 Таким образом, все это делает только побуждает пустой экран 574 00:25:11,809 --> 00:25:13,100 чтобы пользователю ввести что-то. 575 00:25:13,100 --> 00:25:17,420 Если вы хотите, если вы хотите, чтобы напечатать что-то, что говорит пользователю, как, 576 00:25:17,420 --> 00:25:21,110 пожалуйста, дайте мне свой возраст, то вам придется Е () сами. 577 00:25:21,110 --> 00:25:23,789 Потому что каждый использует это функция для различных вещей, 578 00:25:23,789 --> 00:25:26,080 Вы могли бы быть хранения возраст, Вы могли бы быть хранения адрес, 579 00:25:26,080 --> 00:25:28,060 Вы могли бы быть хранения телефонных номеров. 580 00:25:28,060 --> 00:25:31,190 И так это действительно до индивидуальные использования ваших парней 581 00:25:31,190 --> 00:25:34,390 за то, что вы хотите, чтобы сказать. 582 00:25:34,390 --> 00:25:34,890 Да. 583 00:25:34,890 --> 00:25:38,236 >> СПИКЕР 10: Так, только для разъяснения, где сделать вам ввести название возрасте 584 00:25:38,236 --> 00:25:43,020 так, что она показывается в месте% S? 585 00:25:43,020 --> 00:25:44,320 >> ANDI Пэн: Как и в пользователь? 586 00:25:44,320 --> 00:25:47,165 >> СПИКЕР 10: Да, как как я сделать it-- где я положил Энди, 587 00:25:47,165 --> 00:25:48,350 и где я могу положить 20? 588 00:25:48,350 --> 00:25:48,640 >> ANDI Пэн: Да. 589 00:25:48,640 --> 00:25:50,250 Так что, если вы были на самом деле запустить этот код, 590 00:25:50,250 --> 00:25:52,875 Я на самом деле не выполнив Код, это только здесь, прямо сейчас. 591 00:25:52,875 --> 00:25:56,910 Если бы я был для запуска кода, я бы скомпилировать код, сделать файл, 592 00:25:56,910 --> 00:26:00,760 запустить код, и тогда бы только два места для меня, чтобы ввести его. 593 00:26:00,760 --> 00:26:01,260 Да. 594 00:26:01,260 --> 00:26:03,843 Вы, ребята, будете видеть, когда вы играете с этим кодом сами. 595 00:26:03,843 --> 00:26:05,760 596 00:26:05,760 --> 00:26:09,645 >> Все права мы будем двигаться в следующем разделе, что 597 00:26:09,645 --> 00:26:11,610 мы будем покрытия сегодня. 598 00:26:11,610 --> 00:26:13,980 Мы собираемся пойти по тому, что условные утверждения. 599 00:26:13,980 --> 00:26:16,500 Так что, если вы, ребята, помните, и вспомнить из лекции, 600 00:26:16,500 --> 00:26:19,210 условные операторы, Все они представляют собой набор 601 00:26:19,210 --> 00:26:24,010 инструкций к компьютеру в которая, если некоторое условие истинно, 602 00:26:24,010 --> 00:26:27,470 Вы выполняете код внутри этого состояния. 603 00:26:27,470 --> 00:26:30,101 >> Таким образом, в основном Scratch-- большой темой с сегодняшнего дня 604 00:26:30,101 --> 00:26:32,850 является то, что вы, ребята, уже все видел логику все 605 00:26:32,850 --> 00:26:34,020 что мы покрытия. 606 00:26:34,020 --> 00:26:36,190 И все, что мы делаем, перевод что-то 607 00:26:36,190 --> 00:26:39,090 что было очень интуитивным в Царапины, и трудно его кодирования 608 00:26:39,090 --> 00:26:41,950 в синтаксисе мы будем использовать для класса, который С. 609 00:26:41,950 --> 00:26:47,550 Так логично, все это было блок является то, что кусок кода прямо там. 610 00:26:47,550 --> 00:26:49,995 Да. 611 00:26:49,995 --> 00:26:50,900 ХОРОШО. 612 00:26:50,900 --> 00:26:55,290 >> Мы также попасть в, если ... еще заявление, которое является лишь дополнительным слоем 613 00:26:55,290 --> 00:26:59,120 сложности в заявлении, если где компьютер занимает взглянуть на это 614 00:26:59,120 --> 00:27:04,260 и видит, если это условие истинно, делать все внутри этих двух кронштейнов, 615 00:27:04,260 --> 00:27:08,470 else-- так вроде как по умолчанию, если это не соответствует condition-- это сделать. 616 00:27:08,470 --> 00:27:10,120 Это как развилки. 617 00:27:10,120 --> 00:27:14,400 Если идет дождь снаружи, я положил на дождь куртку, иначе ничего 618 00:27:14,400 --> 00:27:16,330 я еще не поставил на дождь куртку. 619 00:27:16,330 --> 00:27:18,400 >> Что логика ли смысл всех? 620 00:27:18,400 --> 00:27:21,031 Круто. 621 00:27:21,031 --> 00:27:21,530 Все в порядке. 622 00:27:21,530 --> 00:27:24,970 Так как жесткий примере это, что мы хотели бы видеть в C 623 00:27:24,970 --> 00:27:28,890 если я хотел, чтобы создать Переменная называемые домашние часов. 624 00:27:28,890 --> 00:27:32,050 И если домашняя часов меньше чем пять, я говорю Жизнь прекрасна. 625 00:27:32,050 --> 00:27:33,070 Это замечательно. 626 00:27:33,070 --> 00:27:36,450 Тем не менее, говорят, что борьба real-- что то, что мы все в этот понедельник 627 00:27:36,450 --> 00:27:39,337 днем до Наука Хилл вероятно, делает прямо now-- 628 00:27:39,337 --> 00:27:40,170 АУДИТОРИЯ: [смеется] 629 00:27:40,170 --> 00:27:42,510 ANDI Пэн: Они, как мы будет, спасибо вам за это. 630 00:27:42,510 --> 00:27:46,180 То, как мы бы жестко это в С if-- давайте предположим, 631 00:27:46,180 --> 00:27:49,920 у нас уже есть переменная типа INT называется домашней часов прямо здесь. 632 00:27:49,920 --> 00:27:53,870 Если домашняя часов меньше, чем пять Е (), Жизнь прекрасна. 633 00:27:53,870 --> 00:27:57,330 Помните держать / п, потому что Вы хотите новую строку после. 634 00:27:57,330 --> 00:27:59,660 Остальное печати, борьба реальна. 635 00:27:59,660 --> 00:28:03,720 >> Понимает ли все, как Я перешел из этого блока 636 00:28:03,720 --> 00:28:07,610 в этот блок кода? 637 00:28:07,610 --> 00:28:08,110 Круто. 638 00:28:08,110 --> 00:28:11,030 639 00:28:11,030 --> 00:28:11,840 Все в порядке. 640 00:28:11,840 --> 00:28:15,930 >> Так что теперь мы собираемся, чтобы взглянуть на несколько операторов, если вообще. 641 00:28:15,930 --> 00:28:18,140 Итак, давайте предположим, что Целью этой программы 642 00:28:18,140 --> 00:28:20,870 было, мы предложит пользователю для сорта. 643 00:28:20,870 --> 00:28:24,450 Мы строку, используя GetInt () для класса, и они вводят значение, 644 00:28:24,450 --> 00:28:27,700 и вы хотите, чтобы отобразить какой тип класса они получили. 645 00:28:27,700 --> 00:28:30,730 >> Так что, если бы я был разработать программу, я значит, как правило, во всех наших глазах, 646 00:28:30,730 --> 00:28:35,490 90-100 является А, 80-90 является B, и так далее, и так далее. 647 00:28:35,490 --> 00:28:39,040 Что не так с этим кусок кода, который это не 648 00:28:39,040 --> 00:28:41,393 делать то, что я хочу это делать. 649 00:28:41,393 --> 00:28:41,892 Да. 650 00:28:41,892 --> 00:28:45,100 >> СПИКЕР 11: Они имеют более низкие пределы, но они не имеют верхних пределов. 651 00:28:45,100 --> 00:28:46,280 >> ANDI Пэн: Точно. 652 00:28:46,280 --> 00:28:47,950 Слышал все, что она сказала? 653 00:28:47,950 --> 00:28:50,200 Там будет верхняя пределы, но не ниже пределов. 654 00:28:50,200 --> 00:28:52,540 К сожалению, наоборот, нижние пределы, верхние пределы не. 655 00:28:52,540 --> 00:28:55,090 Так вы хотели бы принять удар на говоря 656 00:28:55,090 --> 00:28:58,945 что бы быть напечатаны на этот Экран, если бы я, чтобы запустить этот код. 657 00:28:58,945 --> 00:28:59,820 СПИКЕР 11: ошибка? 658 00:28:59,820 --> 00:29:01,140 ANDI PENG: ошибка? 659 00:29:01,140 --> 00:29:02,740 Великий думаю, не совсем правильно. 660 00:29:02,740 --> 00:29:05,465 Кто-нибудь есть еще один удар? 661 00:29:05,465 --> 00:29:06,640 Да, Аарон. 662 00:29:06,640 --> 00:29:10,099 >> Аарон: Если вы положили в нечто большее, чем 90, 663 00:29:10,099 --> 00:29:11,640 было бы показать все оценки, которые вы получили. 664 00:29:11,640 --> 00:29:13,640 Было бы показать вам получил A, Вы получили B, вы получили С. 665 00:29:13,640 --> 00:29:13,870 >> ANDI Пэн: Да. 666 00:29:13,870 --> 00:29:14,840 Вот именно. 667 00:29:14,840 --> 00:29:17,820 Так, что бы замечательно. 668 00:29:17,820 --> 00:29:21,781 Тем не менее, они взаимно Эксклюзивный, я думаю. 669 00:29:21,781 --> 00:29:23,280 Если бы я был запустить этот кусок кода. 670 00:29:23,280 --> 00:29:26,200 А потом давайте просто сказать, я вводится сорт 95. 671 00:29:26,200 --> 00:29:30,360 Так 95 теперь хранится в ИНТ называется сорт. 672 00:29:30,360 --> 00:29:33,610 >> И так С языка который работает наверху донизу, 673 00:29:33,610 --> 00:29:36,000 так что это всегда работать до дна. 674 00:29:36,000 --> 00:29:39,420 Так что придет сюда, читать, если сорт больше или равна 90, 675 00:29:39,420 --> 00:29:42,850 Е (), вы получили А. Великий, я есть 95, это больше, чем 90. 676 00:29:42,850 --> 00:29:44,866 Это будет печатать, Я получил А. Это будет 677 00:29:44,866 --> 00:29:48,850 взглянуть на это, если это будет говорят, хорошо 95 также больше, чем 80, 678 00:29:48,850 --> 00:29:52,970 он собирается напечатать вы также получили Got В-восклицательный знак, и так далее, и так 679 00:29:52,970 --> 00:29:53,690 д. 680 00:29:53,690 --> 00:29:55,890 >> Итак, как мы можем видеть, это общая ошибка 681 00:29:55,890 --> 00:30:00,760 что может произойти, когда мы написание кода, чтобы высматривать. 682 00:30:00,760 --> 00:30:05,430 Любой, какие-либо вопросы по Поэтому, что происходило? 683 00:30:05,430 --> 00:30:05,930 Отлично. 684 00:30:05,930 --> 00:30:08,920 685 00:30:08,920 --> 00:30:09,440 ХОРОШО. 686 00:30:09,440 --> 00:30:12,110 >> Итак, как мы это исправить, очевидно, следующий логический вопрос. 687 00:30:12,110 --> 00:30:16,290 Ну, у нас есть эти красивые вещи, названные если еще, если еще 688 00:30:16,290 --> 00:30:18,010 If Else отчетности. 689 00:30:18,010 --> 00:30:22,230 Таким образом, вы можете видеть, если вы хотели изменить эту проблему, 690 00:30:22,230 --> 00:30:25,260 Вы хотели, чтобы каждый из Условия взаимоисключающие, 691 00:30:25,260 --> 00:30:26,860 Вы бы добавьте еще ... если заявление. 692 00:30:26,860 --> 00:30:30,068 >> И это из course-- думать о них, как лестницы, или, как ступеньки на ladder-- 693 00:30:30,068 --> 00:30:34,050 Вы можете добавить как многие из них, как вы хочу столько условий, как вы хотите. 694 00:30:34,050 --> 00:30:36,790 Так вот, если я вводится класс будет 95. 695 00:30:36,790 --> 00:30:39,479 Если оценка больше, чем 95, Е (), я получил А. Великого. 696 00:30:39,479 --> 00:30:42,020 Это происходит, чтобы увидеть, если еще ... и это будет знать, О, нет, 697 00:30:42,020 --> 00:30:43,750 Я уже исполнилось первый еще. 698 00:30:43,750 --> 00:30:47,020 Я знаю-- или первый if-- Я знаю, что Я не должен смотреть на любой из них 699 00:30:47,020 --> 00:30:48,920 потому что один из них уже было верно. 700 00:30:48,920 --> 00:30:50,410 Так что собирается бежать сверху вниз. 701 00:30:50,410 --> 00:30:53,650 Как только первая истинно, то он собирается пропустить над всеми остальными 702 00:30:53,650 --> 00:30:54,675 из еще ... IFS. 703 00:30:54,675 --> 00:30:55,550 Имеет ли это смысл? 704 00:30:55,550 --> 00:30:57,841 Так, в этом случае у вас есть различные уровни проверки 705 00:30:57,841 --> 00:31:01,090 и как только один из них является ложным, Остальные также, они даже не проверить. 706 00:31:01,090 --> 00:31:03,577 707 00:31:03,577 --> 00:31:04,076 Круто. 708 00:31:04,076 --> 00:31:07,680 709 00:31:07,680 --> 00:31:08,180 Все в порядке. 710 00:31:08,180 --> 00:31:11,180 >> Таким образом, это является примером другой вроде условного оператора 711 00:31:11,180 --> 00:31:15,250 мы видим реже, но мы увидим их и использовать их. 712 00:31:15,250 --> 00:31:18,120 И они часто более эффективным для некоторых случаев. 713 00:31:18,120 --> 00:31:20,020 Таким образом, мы имеем то, что называется переключатель заявлении. 714 00:31:20,020 --> 00:31:25,140 Поэтому, прежде чем мы рассмотрели, что еще более еще Заявление, ПЧ ... Else. 715 00:31:25,140 --> 00:31:27,790 Здесь, у нас есть какие называется переключатель заявления. 716 00:31:27,790 --> 00:31:31,100 >> Так что, когда мы используем переключатель отчетность является ключевым? 717 00:31:31,100 --> 00:31:34,090 Таким образом, в заявлении переключателя, вы Обычно, как правило, на самом деле вам 718 00:31:34,090 --> 00:31:38,010 может только входные числа для вашего переменная, вы проверяете. 719 00:31:38,010 --> 00:31:42,390 Так что, если я хотел, чтобы проверить, если определенный number-- например 720 00:31:42,390 --> 00:31:43,720 сорт, если бы я получил 90. 721 00:31:43,720 --> 00:31:48,190 Я хочу, чтобы увидеть, если это А, B, или C. Я мог бы случай здесь. 722 00:31:48,190 --> 00:31:50,840 Тем не менее, дело имеет будет другой постоянной. 723 00:31:50,840 --> 00:31:53,170 >> Таким образом, в этом смысле, Переключатель заявление может только 724 00:31:53,170 --> 00:31:55,290 проверить равенство двух чисел. 725 00:31:55,290 --> 00:31:57,242 Это не проверяет что-нибудь еще. 726 00:31:57,242 --> 00:31:59,950 Так это то, что очень осторожны, когда вы используете этот. 727 00:31:59,950 --> 00:32:04,810 Так вот, если бы я хотел, чтобы проверить, если мой класс 90 равна 90 или 80 728 00:32:04,810 --> 00:32:08,500 или 70 или 60, а затем распечатать соответствующая оценка, 729 00:32:08,500 --> 00:32:11,420 Я бы мог написать, что в распределительном заявление. 730 00:32:11,420 --> 00:32:15,120 >> Так что придет сюда, проверка это целое число, равное этой постоянной? 731 00:32:15,120 --> 00:32:17,030 Если нет, то собирается пропустить. 732 00:32:17,030 --> 00:32:19,880 Это равно постоянной два, и так далее, и так далее, 733 00:32:19,880 --> 00:32:22,390 пока вы не нажмете по умолчанию, если ни один из них не равны. 734 00:32:22,390 --> 00:32:24,590 Как только один из них устанавливается равным, 735 00:32:24,590 --> 00:32:27,040 он собирается сделать это строка кода и перерыв. 736 00:32:27,040 --> 00:32:30,990 Это означает, что это собирается удар бежать, перерыв, и только полностью пропустить 737 00:32:30,990 --> 00:32:32,240 в нижней части кода. 738 00:32:32,240 --> 00:32:37,550 Так что в этом смысле, какие функции как ПЧ-то, если еще, если заявление. 739 00:32:37,550 --> 00:32:40,830 >> Так вот конкретный пример для вас, ребята. 740 00:32:40,830 --> 00:32:46,140 Итак, давайте предположим, что я хотел, чтобы создать переменную с именем году основал. 741 00:32:46,140 --> 00:32:50,230 И я хочу, чтобы подсказать пользователю ввести год, что их школа. 742 00:32:50,230 --> 00:32:53,300 Так что я могу создать переключатель заявление здесь. 743 00:32:53,300 --> 00:32:56,650 И давайте просто сказать, я ввода 1636. 744 00:32:56,650 --> 00:33:01,120 >> Этот код здесь увидите переключатель Год основания равна 1636, который. 745 00:33:01,120 --> 00:33:03,940 Это происходит, чтобы увидеть дело 1636, о тех, равны, 746 00:33:03,940 --> 00:33:06,230 Е () Разве ты не должен в этой школе, на севере? 747 00:33:06,230 --> 00:33:08,770 Потому что мы предполагаем, что они не иди сюда, если они идут в Гарвард, 748 00:33:08,770 --> 00:33:10,380 разбить и пропустить до конца. 749 00:33:10,380 --> 00:33:14,090 >> Если бы я был на ввод 1701, который Я полагаю, все мы вход, 750 00:33:14,090 --> 00:33:17,500 было бы пропустить этот случай, пришел до двух случае, который является 1701, 751 00:33:17,500 --> 00:33:19,660 и печать Добро пожаловать в Йельском университете! 752 00:33:19,660 --> 00:33:21,360 Перерыв, пропустить до конца. 753 00:33:21,360 --> 00:33:25,130 Иначе вы, вероятно, этот курс онлайн, в котором case-- удивительный прием 754 00:33:25,130 --> 00:33:29,020 чтобы Yale-- он собирается идти к печати по умолчанию, Привет Интернет! 755 00:33:29,020 --> 00:33:29,870 И сломать. 756 00:33:29,870 --> 00:33:30,466 Да. 757 00:33:30,466 --> 00:33:32,090 >> СПИКЕР 12: Можно ли использовать еще вместо дефолта там? 758 00:33:32,090 --> 00:33:34,550 >> ANDI Пэн: Нет, потому что так, что вся эта функция 759 00:33:34,550 --> 00:33:39,170 Переключатель построен, синтаксис вам нужно использовать, кейс по умолчанию. 760 00:33:39,170 --> 00:33:42,400 Это как если еще, если это одним это кейс по умолчанию. Да. 761 00:33:42,400 --> 00:33:45,650 СПИКЕР 13: Вы, возможно, уже сказал, что это, но вы можете иметь более двух случаях? 762 00:33:45,650 --> 00:33:48,066 ANDI Пэн: Да, вы могли бы есть столько дел, как вы хотите. 763 00:33:48,066 --> 00:33:50,050 Думайте об этом как раз нравится бесконечно добавления на. 764 00:33:50,050 --> 00:33:52,396 >> СПИКЕР 14: Если вы включается с 1701 1636, 765 00:33:52,396 --> 00:33:54,187 это не реально сделать разница не так ли? 766 00:33:54,187 --> 00:33:55,770 Это просто будет его проверке. 767 00:33:55,770 --> 00:33:56,900 >> ANDI Пэн: Это очень хороший вопрос. 768 00:33:56,900 --> 00:33:58,880 И мы будем касаться это позже, но только 769 00:33:58,880 --> 00:34:01,160 знаю, что это переключатель утверждение infinitely-- это 770 00:34:01,160 --> 00:34:03,536 более эффективным, чем него, и если иначе, если он работает, потому что 771 00:34:03,536 --> 00:34:06,660 используя другой тип функции, позволяет, по существу, только 772 00:34:06,660 --> 00:34:08,790 прыгать прямо к случае вам нужно быть в. 773 00:34:08,790 --> 00:34:10,547 Да. 774 00:34:10,547 --> 00:34:11,255 СПИКЕР 14: Прохладный. 775 00:34:11,255 --> 00:34:11,754 Спасибо. 776 00:34:11,754 --> 00:34:12,526 ANDI Пэн: Да 777 00:34:12,526 --> 00:34:16,687 >> СПИКЕР 14: А вы не могли сделать случаи, как и более. 778 00:34:16,687 --> 00:34:17,270 ANDI PENG: Нет 779 00:34:17,270 --> 00:34:19,860 Так, это то, что ограничения о Переключатель утверждение, что у вас есть 780 00:34:19,860 --> 00:34:21,564 иметь постоянные только, только целые числа. 781 00:34:21,564 --> 00:34:22,064 Да. 782 00:34:22,064 --> 00:34:25,179 783 00:34:25,179 --> 00:34:25,820 ХОРОШО. 784 00:34:25,820 --> 00:34:28,659 >> Так что это то, что вам Ребята будут сталкиваться менее часто, 785 00:34:28,659 --> 00:34:32,280 но я просто хотел, чтобы ввести его в дело. 786 00:34:32,280 --> 00:34:36,210 Мы имеем здесь то, что называется тройной оператор. 787 00:34:36,210 --> 00:34:39,370 Где, по существу, это просто как если заявление составлен в одну линию. 788 00:34:39,370 --> 00:34:42,630 Вот, я пойду на следующей строке следующая страница, потому что это легче увидеть. 789 00:34:42,630 --> 00:34:44,860 >> Таким образом, мы все видели это право? 790 00:34:44,860 --> 00:34:46,110 Это довольно легко следовать. 791 00:34:46,110 --> 00:34:51,290 Если бы я хотел, чтобы сделать переменную строка с именем s, если определенное количество 792 00:34:51,290 --> 00:34:54,770 Я даю это меньше, чем 100, я Чтобы назначить низко к строке, 793 00:34:54,770 --> 00:34:57,240 еще я хочу, чтобы назначить высокий. 794 00:34:57,240 --> 00:35:01,370 >> Это здесь делает ту же самую вещь эти восемь строк кода делают. 795 00:35:01,370 --> 00:35:03,600 Так вот, я хочу создать переменная строкой. 796 00:35:03,600 --> 00:35:08,520 И это состояние я проверки, если число меньше 100, 797 00:35:08,520 --> 00:35:12,750 то вы присвоить значение низкое, еще присвоить значение высокой. 798 00:35:12,750 --> 00:35:15,802 >> Эти слайды не будет онлайн, не беспокойтесь если вы, ребята, не получить это вниз. 799 00:35:15,802 --> 00:35:18,510 Это просто более простой способ, более эффективный способ написания кода. 800 00:35:18,510 --> 00:35:21,290 801 00:35:21,290 --> 00:35:21,810 ХОРОШО. 802 00:35:21,810 --> 00:35:25,190 >> Так что теперь мы собираемся Введите то, что для большинства людей 803 00:35:25,190 --> 00:35:28,660 , как очень, очень запутанной вещь, чтобы думать о на первый взгляд. 804 00:35:28,660 --> 00:35:30,226 В разделе петли. 805 00:35:30,226 --> 00:35:32,600 Таким образом, сегодня мы будем говорить три типа циклов. 806 00:35:32,600 --> 00:35:34,890 Мы собираемся начать с время цикл, то говорить о дел в то время как петли, 807 00:35:34,890 --> 00:35:36,740 а затем говорить о для петель. 808 00:35:36,740 --> 00:35:40,010 >> Так по существу, для более визуальные ученики там, 809 00:35:40,010 --> 00:35:44,410 у нас есть, по существу, графический описание того, что делает то время как цикл. 810 00:35:44,410 --> 00:35:48,290 Таким образом, в программировании, вы бы начать и введите петлю в определенной точке. 811 00:35:48,290 --> 00:35:49,470 Вы проверяете состояние. 812 00:35:49,470 --> 00:35:52,165 И если условие истинно, Вы выполняете код внутри. 813 00:35:52,165 --> 00:35:53,790 И вы вернетесь вокруг, и вы проверить. 814 00:35:53,790 --> 00:35:57,190 Если это все-таки правда, что вы держать работает Этот код по кругу в цикле. 815 00:35:57,190 --> 00:36:00,970 >> Тем не менее, второй, что состояние становится ложным, 816 00:36:00,970 --> 00:36:02,739 Вы собираетесь сломать и закончить цикл. 817 00:36:02,739 --> 00:36:05,030 А это, по существу, Синтаксис вы собираетесь использовать. 818 00:36:05,030 --> 00:36:08,250 В то время как определенное условие правда это сделать, если это не так, 819 00:36:08,250 --> 00:36:12,920 Вы собираетесь перейти в конец и двигаться вперед с вашей программой. 820 00:36:12,920 --> 00:36:13,690 ХОРОШО. 821 00:36:13,690 --> 00:36:17,250 >> Кто-нибудь есть пример на то, что потенциально может случиться 822 00:36:17,250 --> 00:36:19,160 если я пытаюсь запустить этот кусок кода? 823 00:36:19,160 --> 00:36:22,470 Кстати, SAJ-- это Scaz, Анди, Jason-- мы подписать наши письма, 824 00:36:22,470 --> 00:36:24,830 Любовь, Сай. 825 00:36:24,830 --> 00:36:25,573 Это мы. 826 00:36:25,573 --> 00:36:26,500 ХОРОШО. 827 00:36:26,500 --> 00:36:29,829 >> Кто-нибудь есть пример, или идея о том, что это было бы напечатать? 828 00:36:29,829 --> 00:36:30,870 Вид вопрос с подвохом. 829 00:36:30,870 --> 00:36:34,550 830 00:36:34,550 --> 00:36:39,380 Так вот, помните, состояние мы проверка это пока так. 831 00:36:39,380 --> 00:36:42,840 Таким образом, хотя это правда, то это в печать, я люблю Сай! 832 00:36:42,840 --> 00:36:48,460 Есть ли точка, в которой мы бы изменить что-либо в противном случае, чтобы? 833 00:36:48,460 --> 00:36:49,050 Без прав? 834 00:36:49,050 --> 00:36:51,470 >> Так здесь, у нас есть встречается, что, вероятно, 835 00:36:51,470 --> 00:36:54,310 будет подслушивания много Ваши программы, бесконечный цикл. 836 00:36:54,310 --> 00:36:56,268 Вы увидите, что если вы запустить этот кусок кода, 837 00:36:56,268 --> 00:36:58,160 это просто будет держать печать, я люблю Сай! 838 00:36:58,160 --> 00:37:00,701 В то время как мы ценим поддержку, мы не хотим, компьютеры 839 00:37:00,701 --> 00:37:02,910 к краху, потому что вы держать печать Я люблю Сай! 840 00:37:02,910 --> 00:37:05,320 >> Так что пожалуйста, пожалуйста избежать бесконечного цикла 841 00:37:05,320 --> 00:37:07,320 потому что это никогда не собирается оценить ложь 842 00:37:07,320 --> 00:37:08,780 и вы никогда не собираетесь для прерывания цикла. 843 00:37:08,780 --> 00:37:10,530 И вы собираетесь всасывается в навсегда. 844 00:37:10,530 --> 00:37:13,000 Круто. 845 00:37:13,000 --> 00:37:13,694 ХОРОШО. 846 00:37:13,694 --> 00:37:15,610 Второй тип контура мы будем говорить о сегодня 847 00:37:15,610 --> 00:37:17,580 это сделать, пока петли, в то время как петли делать. 848 00:37:17,580 --> 00:37:20,580 И это называется делать, пока цикл потому что у вас есть сделать и какое-то время. 849 00:37:20,580 --> 00:37:24,390 Так что это очень похоже на какое-то время цикл, но немного отличается. 850 00:37:24,390 --> 00:37:27,620 Здесь вы собираетесь делать все внутри этого 851 00:37:27,620 --> 00:37:29,747 в то время как некоторое условие истинно. 852 00:37:29,747 --> 00:37:32,580 Так что, если бы я был C и компьютер я текли этот кусок кода, 853 00:37:32,580 --> 00:37:33,880 Я взглянуть на вершине. 854 00:37:33,880 --> 00:37:36,890 Я иду в C, я говорю это сделает. 855 00:37:36,890 --> 00:37:40,550 А потом я проверить, а это Правда, я должен повторить его. 856 00:37:40,550 --> 00:37:42,750 Но в то время это неверно, то я двигаться вперед 857 00:37:42,750 --> 00:37:44,700 и я никогда не вернуться к этой петли снова. 858 00:37:44,700 --> 00:37:48,360 >> Может кто-нибудь принять удар в чем разница 859 00:37:48,360 --> 00:37:52,130 между этой петлей и одним мы просто смотрел на практически. 860 00:37:52,130 --> 00:37:52,717 Да. 861 00:37:52,717 --> 00:37:55,050 СПИКЕР 15: Состояние приходит после, а не раньше? 862 00:37:55,050 --> 00:37:55,841 ANDI Пэн: Точно. 863 00:37:55,841 --> 00:37:57,984 Так она сказала, что состояние приходит после, а не до. 864 00:37:57,984 --> 00:38:00,400 В конечном счете, разница между этим и время цикла 865 00:38:00,400 --> 00:38:03,597 является то, что вы только собираетесь сделать все это внутри, независимо от 866 00:38:03,597 --> 00:38:06,430 или не ваше состояние правда, и затем проверьте состояние. 867 00:38:06,430 --> 00:38:08,304 Таким образом, в этом случае, вы always-- таким образом, 868 00:38:08,304 --> 00:38:11,240 Вы всегда убедившись, все внутри работает, по крайней мере 869 00:38:11,240 --> 00:38:14,230 однажды проверяя если вы хотите, чтобы работать снова. 870 00:38:14,230 --> 00:38:18,040 >> А вот пример , когда мы будем использовать его. 871 00:38:18,040 --> 00:38:22,570 Так, например, если бы я хотел, чтобы иметь переменная типа Int назвал возраст, 872 00:38:22,570 --> 00:38:25,640 и я хочу, чтобы подсказать пользователь для их возраста, 873 00:38:25,640 --> 00:38:27,910 Я собираюсь сделать Е () Ваш возраст? 874 00:38:27,910 --> 00:38:30,330 возраст = GetInt (), которая побуждает пользователя. 875 00:38:30,330 --> 00:38:32,140 >> И некоторые люди будут действительно раздражает. 876 00:38:32,140 --> 00:38:34,931 И вы не хотите ошибки в ваших Программа кого-то, как ввод, 877 00:38:34,931 --> 00:38:36,680 О, я отрицательно 4 лет или любой другой. 878 00:38:36,680 --> 00:38:39,900 В этом случае, если они сделать это, это оценивает 879 00:38:39,900 --> 00:38:43,150 истина, что означает, что я собираюсь должны продолжать идти назад и делать это. 880 00:38:43,150 --> 00:38:45,310 Таким образом, это будет держать Re-запроса пользователя 881 00:38:45,310 --> 00:38:47,960 чтобы дать вам как настоящий Количество возраст, и это 882 00:38:47,960 --> 00:38:51,930 продолжать идти назад и переделать это, пока они не дают вам реальный возраст 883 00:38:51,930 --> 00:38:56,900 больше чем один, или не равен нулю. 884 00:38:56,900 --> 00:38:58,020 >> Так намекнуть, намек. 885 00:38:58,020 --> 00:39:02,263 Это будет очень, очень полезно для одного из ваших проблем Pset. 886 00:39:02,263 --> 00:39:04,155 Да. 887 00:39:04,155 --> 00:39:05,580 >> СПИКЕР 16: Упс, извините. 888 00:39:05,580 --> 00:39:06,288 >> ANDI Пэн: Да. 889 00:39:06,288 --> 00:39:09,424 >> СПИКЕР 16: Есть ли, не быть мудаком, но-- 890 00:39:09,424 --> 00:39:10,340 ANDI Пэн: Не беспокойтесь. 891 00:39:10,340 --> 00:39:11,990 СПИКЕР 16: --are есть различные правила, 892 00:39:11,990 --> 00:39:13,810 или ты просто забыть поставить цитату? 893 00:39:13,810 --> 00:39:14,250 >> ANDI Пэн: О, да. 894 00:39:14,250 --> 00:39:15,530 К сожалению, это полностью моя плохо. 895 00:39:15,530 --> 00:39:17,100 Это было определенно Предполагается, что цитата. 896 00:39:17,100 --> 00:39:17,690 Хороший улов. 897 00:39:17,690 --> 00:39:18,800 Это было бы не работать. 898 00:39:18,800 --> 00:39:22,070 899 00:39:22,070 --> 00:39:22,830 ХОРОШО. 900 00:39:22,830 --> 00:39:26,160 >> Таким образом, последний тип цикла мы поговорим о и, наконец, вид наиболее 901 00:39:26,160 --> 00:39:28,854 Комплекс для цикла. 902 00:39:28,854 --> 00:39:30,770 Не волнуйтесь, если вы не знаю, что это значит. 903 00:39:30,770 --> 00:39:32,061 Это довольно запутанной на первый взгляд. 904 00:39:32,061 --> 00:39:33,640 Мы пойдем в течение, например. 905 00:39:33,640 --> 00:39:37,040 >> Все, что происходит в цикле является то, что у вас есть три заявления 906 00:39:37,040 --> 00:39:38,380 что вы собираетесь включить. 907 00:39:38,380 --> 00:39:42,130 Таким образом, для определенной вещи, вы собирается инициализировать переменную. 908 00:39:42,130 --> 00:39:45,280 Вы собираетесь добавить условие которые этот цикл будет продолжать работать. 909 00:39:45,280 --> 00:39:47,790 А потом, в конце цикл, вы идете, чтобы обновить его. 910 00:39:47,790 --> 00:39:50,248 Вы можете обновить переменную что вы хотите, чтобы отслеживать. 911 00:39:50,248 --> 00:39:52,530 Таким образом, мы, как правило, используют для петель, когда мы 912 00:39:52,530 --> 00:39:55,390 хочу, чтобы запустить цикл для А определенное количество раз 913 00:39:55,390 --> 00:39:58,900 и мы уже знаем, О, я хочу этот цикл, чтобы выполнить, как в 10 раз, 914 00:39:58,900 --> 00:40:03,060 то вы do-- я пойду пример на следующей странице. 915 00:40:03,060 --> 00:40:07,830 >> Так вот, например, в пустом, если вы хотел что-то, чтобы повторить 10 раз, 916 00:40:07,830 --> 00:40:10,790 все, что вам сказать, было Повторить 10 раз, я люблю Сай! 917 00:40:10,790 --> 00:40:15,260 который является более приемлемым демонстрация поддержки для нас 918 00:40:15,260 --> 00:40:17,120 вместо бесконечного цикла. 919 00:40:17,120 --> 00:40:19,920 Здесь, как вы бы переход к C и записи 920 00:40:19,920 --> 00:40:26,040 что для int-- я собираюсь создать или объявить переменную типа Int имени я. 921 00:40:26,040 --> 00:40:30,089 Я собираюсь инициализации это 0, так что я = 0; 922 00:40:30,089 --> 00:40:31,630 и это будет мое состояние. 923 00:40:31,630 --> 00:40:33,860 Так я меньше 10. 924 00:40:33,860 --> 00:40:36,096 А потом на end-- последнее утверждение вы 925 00:40:36,096 --> 00:40:38,710 придется это обновление что происходит с переменной I 926 00:40:38,710 --> 00:40:40,206 в конце ваш цикл. 927 00:40:40,206 --> 00:40:42,830 Так что это своего рода заблуждение, потому что различные части этой линии 928 00:40:42,830 --> 00:40:44,871 происходят в разное типы цикла. 929 00:40:44,871 --> 00:40:46,746 Но я пойду больше псевдокод пример, что 930 00:40:46,746 --> 00:40:50,360 и, возможно, объяснить это просто немного лучше. 931 00:40:50,360 --> 00:40:51,500 >> Так вот. 932 00:40:51,500 --> 00:40:52,929 Это цикл мы только что видели. 933 00:40:52,929 --> 00:40:55,470 По существу в псевдокоде, то, что что происходит в этой программе, 934 00:40:55,470 --> 00:40:57,940 сначала я создаю я, его инициализации 0. 935 00:40:57,940 --> 00:41:00,440 Я проверяю, чтобы увидеть, если я это меньше, чем 10, и в этом случае 936 00:41:00,440 --> 00:41:02,840 первый раз это потому что 0 меньше, чем 10. 937 00:41:02,840 --> 00:41:04,727 Таким образом, цикл будет работать. 938 00:41:04,727 --> 00:41:06,310 А потом я собираюсь напечатать эту строку. 939 00:41:06,310 --> 00:41:11,240 И тогда в конце этой строки, прямо здесь, я собираюсь сделать приращение я, я ++, 940 00:41:11,240 --> 00:41:13,370 Все это означает, увеличивая его на единицу. 941 00:41:13,370 --> 00:41:15,460 >> Так я теперь 1. 942 00:41:15,460 --> 00:41:17,960 Потому что когда-то был 0, если я увеличить это, теперь 1. 943 00:41:17,960 --> 00:41:19,610 А потом я собираюсь вернуться к началу цикла 944 00:41:19,610 --> 00:41:20,730 и я проверить состояние. 945 00:41:20,730 --> 00:41:22,080 Это состояние по-прежнему верно? 946 00:41:22,080 --> 00:41:24,030 Да, 1 по-прежнему меньше, чем 10. 947 00:41:24,030 --> 00:41:27,370 Так что это в печать это снова, пойти и затем увеличить ввода, и проверить 948 00:41:27,370 --> 00:41:29,180 состояние непрерывно, непрерывно, 949 00:41:29,180 --> 00:41:33,290 пока вы в конечном итоге не получите до точки, где я 10. 950 00:41:33,290 --> 00:41:36,300 >> Вы собираетесь печатать это 10 раз а затем я намерен равняться 10. 951 00:41:36,300 --> 00:41:37,800 Вы собираетесь, чтобы проверить состояние. 952 00:41:37,800 --> 00:41:38,760 Есть 10 менее 10? 953 00:41:38,760 --> 00:41:40,370 Нет, это неверно. 954 00:41:40,370 --> 00:41:43,020 Таким образом, этот цикл не будет бежать, он собирается сломать, 955 00:41:43,020 --> 00:41:45,040 и вы собираетесь продолжать с вашим кодом. 956 00:41:45,040 --> 00:41:47,550 >> Итак, как вы, ребята, можете видеть, это это действительно отличный пример 957 00:41:47,550 --> 00:41:53,110 петли можно запрограммировать, что работает в течение определенного количества раз. 958 00:41:53,110 --> 00:41:54,457 Каждый ясно? 959 00:41:54,457 --> 00:41:54,956 Да. 960 00:41:54,956 --> 00:41:59,060 >> СПИКЕР 17: Как насчет приращения в геометрической прогрессии, он отличается кодирование? 961 00:41:59,060 --> 00:42:02,060 >> ANDI Пэн: Вы can-- мы пойдем из-за этого на следующем слайде. 962 00:42:02,060 --> 00:42:03,350 Хороший вопрос. 963 00:42:03,350 --> 00:42:05,910 Является anyone--, прежде чем я двигаться on-- кто вообще запутался, 964 00:42:05,910 --> 00:42:07,640 потому что это очень тяжело понятие. 965 00:42:07,640 --> 00:42:09,510 Не беспокойтесь, если you're-- ОК. 966 00:42:09,510 --> 00:42:10,010 Круто. 967 00:42:10,010 --> 00:42:12,836 968 00:42:12,836 --> 00:42:13,490 >> Все в порядке. 969 00:42:13,490 --> 00:42:14,610 Просто вообще слайд. 970 00:42:14,610 --> 00:42:18,020 Это в то время как петля делает то точно такой же вещь для цикла было. 971 00:42:18,020 --> 00:42:19,631 Это просто написано по-разному. 972 00:42:19,631 --> 00:42:22,130 Вы, ребята, можете ознакомится слайды в удобное для Вас позже. 973 00:42:22,130 --> 00:42:24,880 Но точно знаю, что есть несколько способы написать то же самое 974 00:42:24,880 --> 00:42:28,300 произойдет с различными петлями. 975 00:42:28,300 --> 00:42:28,800 ХОРОШО. 976 00:42:28,800 --> 00:42:32,380 >> Так, в настоящее время мы получаем в вопрос о том, если есть цикл внутри цикла. 977 00:42:32,380 --> 00:42:35,810 Мы входим в режиме реального Первоначальный тип вещи здесь. 978 00:42:35,810 --> 00:42:40,640 Если вы хотите, чтобы делать вещи кратное раз внутри других вещей 979 00:42:40,640 --> 00:42:44,129 что делать вещи несколько раз, вам хотят, что называется вложенным цикл. 980 00:42:44,129 --> 00:42:47,420 Для тех из вас, кто впервые видите это и получить очень путать, все, что мы делаем здесь 981 00:42:47,420 --> 00:42:50,580 оказывает цикл где у нас есть переменная подряд. 982 00:42:50,580 --> 00:42:54,500 Но внутри него, у нас также есть другое цикл колонны переменного называется. 983 00:42:54,500 --> 00:42:58,560 И я настоятельно рекомендую всем вам которые путают сначала держать 984 00:42:58,560 --> 00:43:00,310 track-- обратить на это, нарисуйте это. 985 00:43:00,310 --> 00:43:03,000 Не пытайтесь просто причине через него, рисовать его. 986 00:43:03,000 --> 00:43:06,630 >> В твоей голове, в этой части бумага, или что-то, записи ряд, 987 00:43:06,630 --> 00:43:08,614 отслеживать то, что ряд равен. 988 00:43:08,614 --> 00:43:10,780 Написать колонку, отслеживать что колонна равна. 989 00:43:10,780 --> 00:43:13,490 И следить за то, что печать с каждой итерации. 990 00:43:13,490 --> 00:43:16,320 Каждая итерация этого цикла, каждая итерации этого цикла увеличения, 991 00:43:16,320 --> 00:43:17,820 просто держать следуя логике. 992 00:43:17,820 --> 00:43:20,190 И я гарантирую вам, Вы будете любить то, что вы видите, 993 00:43:20,190 --> 00:43:24,307 потому что это тоже очень применим для ваших проблемных множеств. 994 00:43:24,307 --> 00:43:24,806 Круто. 995 00:43:24,806 --> 00:43:27,501 996 00:43:27,501 --> 00:43:28,000 Все в порядке. 997 00:43:28,000 --> 00:43:30,723 Так самое главное что вы, ребята, вероятно, все 998 00:43:30,723 --> 00:43:32,400 думать о прямо сейчас, Ваши Проблемные указан 1с, 999 00:43:32,400 --> 00:43:33,650 которые из-за четверг / пятницу. 1000 00:43:33,650 --> 00:43:36,890 1001 00:43:36,890 --> 00:43:39,710 >> В программе water.c, СОВЕТ Вы будете иметь 1002 00:43:39,710 --> 00:43:41,590 чтобы побудить пользователя для входа. 1003 00:43:41,590 --> 00:43:43,640 В программе mario.c Вы будете иметь 1004 00:43:43,640 --> 00:43:46,431 использовать вложенный цикл, который является для цикла внутри для цикла, 1005 00:43:46,431 --> 00:43:50,247 печатать блок пирамиды, по существу, как что Марио прыгать через. 1006 00:43:50,247 --> 00:43:53,330 И тогда в вашем greedy-- или, возможно, Внесения изменения, если какие-либо из вас, ребята 1007 00:43:53,330 --> 00:43:55,740 когда-либо слышал о that-- Вы будете иметь, чтобы быть очень 1008 00:43:55,740 --> 00:43:58,160 осторожны первых чисел с плавающей точкой. 1009 00:43:58,160 --> 00:44:01,860 Помните, плавающие десятичных и целые числа, не то же самое. 1010 00:44:01,860 --> 00:44:03,620 Следите, один из которых есть что. 1011 00:44:03,620 --> 00:44:05,953 И вы собираетесь использовать условные операторы, а также. 1012 00:44:05,953 --> 00:44:09,070 1013 00:44:09,070 --> 00:44:10,940 >> Ладно, последнее дело. 1014 00:44:10,940 --> 00:44:12,770 Я получил пару минут осталось. 1015 00:44:12,770 --> 00:44:13,460 Стиль. 1016 00:44:13,460 --> 00:44:19,320 Так что это то, что не на самом деле влияет на эффективность, 1017 00:44:19,320 --> 00:44:21,010 или фактический пробег вашего кода. 1018 00:44:21,010 --> 00:44:24,380 Тем не менее, это влияет нас Ваши грейдеры, как ваши читатели. 1019 00:44:24,380 --> 00:44:27,290 Это влияет себя, если вы пытаясь найти проблему. 1020 00:44:27,290 --> 00:44:30,700 Это влияет на читаемость кода. 1021 00:44:30,700 --> 00:44:34,070 >> Так стиль, как, когда вы пытаетесь стиль эссе для английского, если вы 1022 00:44:34,070 --> 00:44:36,070 не имеют пункты, у вас есть все доброе 1023 00:44:36,070 --> 00:44:39,190 из перемешаны вместе на одной линии, это делает его очень трудно для кого 1024 00:44:39,190 --> 00:44:42,620 читать ваше эссе, даже если Ваши пункты логически звук. 1025 00:44:42,620 --> 00:44:44,390 То же самое в программировании. 1026 00:44:44,390 --> 00:44:47,910 Вы можете иметь ужасно неясным код, который будет охватывать Scaz, 1027 00:44:47,910 --> 00:44:49,660 и он все еще может работать и функционировать. 1028 00:44:49,660 --> 00:44:53,110 Но для нас, как ваши прекрасные ТП, которые будут читать и оценивать ваши PSets, 1029 00:44:53,110 --> 00:44:54,460 это не очень красиво. 1030 00:44:54,460 --> 00:44:56,859 >> Поэтому, пожалуйста, ради нас и себя, 1031 00:44:56,859 --> 00:44:58,900 когда вы пытаетесь исправить проблема в коде, 1032 00:44:58,900 --> 00:45:00,774 и вы пытаетесь прочитать свой собственный код, убедитесь, 1033 00:45:00,774 --> 00:45:03,910 что вы будете следовать некоторым соглашениям что мы собираемся перейти на. 1034 00:45:03,910 --> 00:45:04,510 >> Итак, сначала. 1035 00:45:04,510 --> 00:45:07,070 Дайте переменные значимые имена. 1036 00:45:07,070 --> 00:45:11,450 Если вы хотите сохранить целое называется возраст, пожалуйста, назвать это возраст. 1037 00:45:11,450 --> 00:45:12,875 Не называйте это высота. 1038 00:45:12,875 --> 00:45:14,750 Когда вы пытаетесь хранить возраст в высоту, 1039 00:45:14,750 --> 00:45:16,722 Он делает все очень запутанным для нас. 1040 00:45:16,722 --> 00:45:17,930 Мы не хотели бы быть в замешательстве. 1041 00:45:17,930 --> 00:45:19,180 Вы не хотели бы быть в замешательстве. 1042 00:45:19,180 --> 00:45:20,350 Никто не любит быть в замешательстве. 1043 00:45:20,350 --> 00:45:23,100 Если вы собираетесь создать что-то, назвать это что-то значимое. 1044 00:45:23,100 --> 00:45:26,440 >> Тем не менее, в течение цикла, одного характер переменных, как правило, хорошо. 1045 00:45:26,440 --> 00:45:31,350 И в течение цикла, если вы хотите просто я, и J, K, не стесняйтесь, чтобы просто сделать это. 1046 00:45:31,350 --> 00:45:32,670 >> В соответствии инициализации. 1047 00:45:32,670 --> 00:45:33,770 Так что это значит? 1048 00:45:33,770 --> 00:45:37,600 Это означает, что технически, теоретически, Вы можете начать и создать 1049 00:45:37,600 --> 00:45:40,140 несколько переменных в одной строке. 1050 00:45:40,140 --> 00:45:42,820 Так, например, я могу создать целое число называется scaz_age, 1051 00:45:42,820 --> 00:45:47,110 и целое, называемое andi_age = 20, и целое называется jason_age 1052 00:45:47,110 --> 00:45:48,090 на той же линии. 1053 00:45:48,090 --> 00:45:52,060 И я могу также назначить только один из их и не другие до значений. 1054 00:45:52,060 --> 00:45:54,142 Мы просим вас, пожалуйста, не делайте этого. 1055 00:45:54,142 --> 00:45:57,350 Потому что здесь вы существенно создано три переменные, но только один из них 1056 00:45:57,350 --> 00:45:58,295 на самом деле имеет значение. 1057 00:45:58,295 --> 00:46:00,170 А потом, когда мы пытается читать ваш код, 1058 00:46:00,170 --> 00:46:01,850 или если вы пытаетесь исправить проблема в коде, 1059 00:46:01,850 --> 00:46:03,340 это очень запутанным, чтобы следовать. 1060 00:46:03,340 --> 00:46:09,300 Так что для вашего удобства чтения, для наш читаемость, не делайте этого. 1061 00:46:09,300 --> 00:46:10,355 >> Последовательные фигурные скобки. 1062 00:46:10,355 --> 00:46:12,980 Некоторые люди любят, чтобы поместить их Фигурные скобки в разных местах. 1063 00:46:12,980 --> 00:46:14,100 Это действительно не имеет значения. 1064 00:46:14,100 --> 00:46:17,900 Просто убедитесь, что вы последовательны в своих собственный код от того, где вы хотели бы поставить их. 1065 00:46:17,900 --> 00:46:18,950 >> В соответствии расстояние. 1066 00:46:18,950 --> 00:46:22,040 Если поставить пробел после цикл, всегда делают это. 1067 00:46:22,040 --> 00:46:24,930 Не просто нравится вид сделать это в некоторые места, не делают это в других. 1068 00:46:24,930 --> 00:46:26,580 Просто быть последовательным. 1069 00:46:26,580 --> 00:46:29,500 >> Во-вторых, если кто-нибудь хотел бы чтобы просмотреть Руководство CS50 стиль, 1070 00:46:29,500 --> 00:46:33,230 мы официально имеют стиль руководства, что говорит вам все из этих конвенций, 1071 00:46:33,230 --> 00:46:34,890 плюс больше. 1072 00:46:34,890 --> 00:46:35,530 Это онлайн. 1073 00:46:35,530 --> 00:46:38,670 Это как cs50.net/style~~pobj или что-то вроде того. 1074 00:46:38,670 --> 00:46:40,180 Вы можете Google это. 1075 00:46:40,180 --> 00:46:41,399 >> Последовательность является ключевым. 1076 00:46:41,399 --> 00:46:43,190 Так что не волнуйтесь, что другие люди делают, 1077 00:46:43,190 --> 00:46:46,180 просто убедитесь, что вы соответствует в пределах вашего собственного кода. 1078 00:46:46,180 --> 00:46:50,570 Кто-нибудь есть какие-либо вопросы по этому поводу? 1079 00:46:50,570 --> 00:46:51,070 Да. 1080 00:46:51,070 --> 00:46:53,370 >> СПИКЕР 18: Таким образом, правильное дело делать с инициализации просто 1081 00:46:53,370 --> 00:46:56,130 иметь их все в отдельную линия, это то, что вы говорите? 1082 00:46:56,130 --> 00:46:58,850 >> ANDI Пэн: Так что я редко такое бывает. 1083 00:46:58,850 --> 00:47:02,230 Но если вы хотите, чтобы, если вы хотите чтобы быть как сохранение места в коде, 1084 00:47:02,230 --> 00:47:04,000 или что-то, вы можете сделать это. 1085 00:47:04,000 --> 00:47:07,800 Мы просим, ​​чтобы вы просто не инициализировать одно, а другие не. 1086 00:47:07,800 --> 00:47:12,600 Так что, если вы хотите сделать Int scaz_age, INT andi_age, INT jason_age, это нормально. 1087 00:47:12,600 --> 00:47:15,600 Только не инициализировать один а не другие все. 1088 00:47:15,600 --> 00:47:18,380 1089 00:47:18,380 --> 00:47:19,904 >> Вопросов? 1090 00:47:19,904 --> 00:47:20,850 Все в порядке. 1091 00:47:20,850 --> 00:47:24,610 Я собираюсь пройти выключение микрофон, и лазерный указатель, 1092 00:47:24,610 --> 00:47:28,862 и эстафету Scaz в этой точке. 1093 00:47:28,862 --> 00:47:29,808 Это неловко. 1094 00:47:29,808 --> 00:47:32,650 1095 00:47:32,650 --> 00:47:33,200 Вот. 1096 00:47:33,200 --> 00:47:34,408 >> Брайан SCASSELLATI: Спасибо. 1097 00:47:34,408 --> 00:47:42,500 1098 00:47:42,500 --> 00:47:43,380 Как это для звука? 1099 00:47:43,380 --> 00:47:46,420 1100 00:47:46,420 --> 00:47:47,900 Звук хороший? , 1101 00:47:47,900 --> 00:47:49,220 Отлично. 1102 00:47:49,220 --> 00:47:50,350 ХОРОШО. 1103 00:47:50,350 --> 00:47:52,110 Так, привет всем. 1104 00:47:52,110 --> 00:47:56,540 >> Я собираюсь попробовать работать через практический пример с вас. 1105 00:47:56,540 --> 00:48:00,850 И мы собираемся использовать CS50-х среда разработки, то, что называется 1106 00:48:00,850 --> 00:48:03,120 Интегрированная среда разработки. 1107 00:48:03,120 --> 00:48:05,145 И вы видели это показано в лекции. 1108 00:48:05,145 --> 00:48:07,520 И в задаче Набор 1, вы будет иметь возможность 1109 00:48:07,520 --> 00:48:10,890 чтобы использовать его, и поиграть с это и привыкнуть к ней, 1110 00:48:10,890 --> 00:48:13,640 потому что мы собираемся использовать его до конца семестра. 1111 00:48:13,640 --> 00:48:20,350 >> Таким образом, в этом IDE, вы есть то, что выглядит как очень традиционной файловой браузере 1112 00:48:20,350 --> 00:48:21,890 набок. 1113 00:48:21,890 --> 00:48:24,360 У вас есть часть до топ, где вы собираетесь 1114 00:48:24,360 --> 00:48:28,850 чтобы увидеть исходный код, ваш CFile, код, который вы пишете. 1115 00:48:28,850 --> 00:48:31,880 И вниз дно, вы будете есть окно терминала 1116 00:48:31,880 --> 00:48:36,330 которые вы будете использовать, чтобы как скомпилировать программу 1117 00:48:36,330 --> 00:48:39,090 и запустить или выполнить программу. 1118 00:48:39,090 --> 00:48:40,100 ХОРОШО. 1119 00:48:40,100 --> 00:48:46,560 >> Так что просто дать нам немного фундамент, в этом окне терминала, 1120 00:48:46,560 --> 00:48:48,930 Вы будете используя набор команд 1121 00:48:48,930 --> 00:48:53,040 что стандартные команды до большинство Unix или Linux систем. 1122 00:48:53,040 --> 00:48:55,890 И поэтому, если вы когда-либо использовали любая форма Unix, Ubuntu, 1123 00:48:55,890 --> 00:48:59,140 или любой из других ароматизаторов, они собираются, чтобы посмотреть знакомы. 1124 00:48:59,140 --> 00:49:00,890 >> Если у вас нет, не беспокойтесь. 1125 00:49:00,890 --> 00:49:02,830 Там нет ничего сложного о них. 1126 00:49:02,830 --> 00:49:05,330 Они просто с помощью другой Синтаксис, другая имен 1127 00:49:05,330 --> 00:49:07,630 Конвенция, чем вы видели раньше. 1128 00:49:07,630 --> 00:49:12,190 >> Таким образом, чтобы перечислить файлы в пределах конкретного каталога, 1129 00:49:12,190 --> 00:49:15,310 они собираются использовать Команда называется LS, или список. 1130 00:49:15,310 --> 00:49:18,010 Если вы хотите, чтобы увидеть все со всеми подробностями, 1131 00:49:18,010 --> 00:49:21,535 Вы будете использовать команду Аргумент строка с Ls -l. 1132 00:49:21,535 --> 00:49:23,910 И покажу вам все Более подробно, в том числе 1133 00:49:23,910 --> 00:49:26,270 разрешений для файла. 1134 00:49:26,270 --> 00:49:31,190 >> Чтобы изменить каталог, Вы будете использовать команду CD. 1135 00:49:31,190 --> 00:49:35,180 И вы сможете изменить каталог и идти к вашей домашней директории. 1136 00:49:35,180 --> 00:49:38,500 Вот только компакт-диск всего Сам, компакт-диск с двумя 1137 00:49:38,500 --> 00:49:42,930 точки вернет вас на один Уровень к предыдущему каталогу. 1138 00:49:42,930 --> 00:49:46,400 И вы также можете компакт-диска на подкаталог, набрав в кд 1139 00:49:46,400 --> 00:49:48,500 и имя этого подкаталога. 1140 00:49:48,500 --> 00:49:50,540 >> Вы также можете создавать новые каталоги. 1141 00:49:50,540 --> 00:49:52,790 И мы собираемся идти через это всего за минуту. 1142 00:49:52,790 --> 00:49:54,498 Но только, чтобы положить все на экране. 1143 00:49:54,498 --> 00:49:56,310 Так что вы можете видеть их. 1144 00:49:56,310 --> 00:50:00,420 >> Вы также будете иметь возможность для работы с файлами непосредственно 1145 00:50:00,420 --> 00:50:02,100 из командной строки. 1146 00:50:02,100 --> 00:50:06,059 Вы сможете скопировать их, перемещать их, или удалить их, 1147 00:50:06,059 --> 00:50:07,600 то есть, фактически, чтобы удалить их. 1148 00:50:07,600 --> 00:50:10,310 1149 00:50:10,310 --> 00:50:15,350 >> CS50 IDE дает вам полный Сила аргументов командной строки. 1150 00:50:15,350 --> 00:50:20,280 И это означает, что вы также можете сделать очень опасные вещи. 1151 00:50:20,280 --> 00:50:21,560 ХОРОШО. 1152 00:50:21,560 --> 00:50:25,010 Например, вы можете удалить, или, что удаление, 1153 00:50:25,010 --> 00:50:28,750 файл, не спрашивая для подтверждения. 1154 00:50:28,750 --> 00:50:31,820 И вы можете даже удалить recursively-- это 1155 00:50:31,820 --> 00:50:38,940 тире г flag-- весь каталог и все его содержимое. 1156 00:50:38,940 --> 00:50:39,660 ХОРОШО. 1157 00:50:39,660 --> 00:50:42,940 Они перечислены в красный, потому что вы следует думать, "опасность" каждый раз, 1158 00:50:42,940 --> 00:50:45,000 Вы видите эти вещи. 1159 00:50:45,000 --> 00:50:45,920 ХОРОШО. 1160 00:50:45,920 --> 00:50:46,420 Все в порядке. 1161 00:50:46,420 --> 00:50:50,090 1162 00:50:50,090 --> 00:50:53,430 >> Теперь, наконец, вещи, которые являются будет очень ценным для вас, 1163 00:50:53,430 --> 00:50:57,270 есть несколько хороших трюки знать, как вы навигации 1164 00:50:57,270 --> 00:50:59,190 через этот окне терминала. 1165 00:50:59,190 --> 00:51:03,590 Во-первых, вы можете очистить экран в в любое время, просто набрав в ясно. 1166 00:51:03,590 --> 00:51:06,310 И вы увидите, мне сделать, что довольно часто. 1167 00:51:06,310 --> 00:51:09,990 Вы также можете просто отображать текст файла 1168 00:51:09,990 --> 00:51:13,992 набрав более и затем имя файла. 1169 00:51:13,992 --> 00:51:17,200 Затем Вы сможете прокручивать назад и вперед с, что как раз с пробела 1170 00:51:17,200 --> 00:51:19,010 и стрелки. 1171 00:51:19,010 --> 00:51:25,450 >> Если у вас есть, как мы делали сегодня в лекции, программа, которая работает непрерывно 1172 00:51:25,450 --> 00:51:29,190 в бесконечном цикле, вы может остановить эту программу 1173 00:51:29,190 --> 00:51:35,160 от выполнения набрав в управлении, что удерживая Control-C. 1174 00:51:35,160 --> 00:51:38,360 И вы, возможно, придется сделать это несколько раз. 1175 00:51:38,360 --> 00:51:40,620 Компьютер получает далеко впереди вас. 1176 00:51:40,620 --> 00:51:43,380 И иногда необходимо дать ему пару попыток 1177 00:51:43,380 --> 00:51:46,280 прежде, чем это будет на самом деле прийти до конца. 1178 00:51:46,280 --> 00:51:48,760 >> Вы также сможете Сортировать по командам 1179 00:51:48,760 --> 00:51:54,230 что вы только что ввели, используя клавишу вверх, Стрелка, а затем клавишу со стрелкой вниз. 1180 00:51:54,230 --> 00:51:57,560 И то, что наиболее полезно есть вместо вводить из длинных имен файлов, 1181 00:51:57,560 --> 00:52:02,209 Вы сможете использование Tab для автозаполнение несколько инструкций. 1182 00:52:02,209 --> 00:52:04,750 Теперь мы собираемся, чтобы продемонстрировать все те, всего на секунду. 1183 00:52:04,750 --> 00:52:06,780 Так что, если вы не помните, им, не волнуйтесь. 1184 00:52:06,780 --> 00:52:10,780 Это вещи, которые вы будете подобрать и использовать, как мы идем вместе. 1185 00:52:10,780 --> 00:52:11,470 ХОРОШО. 1186 00:52:11,470 --> 00:52:18,830 >> Таким образом, в отличие от C-- Scratch-- С компилируемый язык. 1187 00:52:18,830 --> 00:52:23,210 Это означает, что мы собираемся взять источник file-- это текст, который вы пишете, 1188 00:52:23,210 --> 00:52:26,500 команды, которые вы пишете, тем Е () заявления, петли, 1189 00:52:26,500 --> 00:52:32,580 все else--, и мы собираемся взять этот файл и передать его 1190 00:52:32,580 --> 00:52:34,670 в программе называется компилятор. 1191 00:52:34,670 --> 00:52:39,850 >> Компилятор будет принимать что текст, который вы написали 1192 00:52:39,850 --> 00:52:43,270 и перевести его в двоичные инструкции 1193 00:52:43,270 --> 00:52:46,010 что ваш компьютер на самом деле происходит использование. 1194 00:52:46,010 --> 00:52:49,700 Это называется объект или исполняемый файл. 1195 00:52:49,700 --> 00:52:55,320 Если вы посмотрите на этот файл, вы собираетесь чтобы увидеть код, который вы написали. 1196 00:52:55,320 --> 00:52:59,480 Если вы посмотрите на этот файл, вы собираетесь чтобы увидеть случайную последовательность символов 1197 00:52:59,480 --> 00:53:01,680 что не имеет смысла вообще. 1198 00:53:01,680 --> 00:53:03,250 Это потому, что это двоичный код. 1199 00:53:03,250 --> 00:53:05,560 Это не означало, чтобы вы читать. 1200 00:53:05,560 --> 00:53:08,690 >> Тем не менее, в любое время вы хотите, чтобы запустить что-то, что вы собираетесь 1201 00:53:08,690 --> 00:53:13,670 чтобы быть запущен этот объектный файл. 1202 00:53:13,670 --> 00:53:19,110 Так что, когда мы работаем с ними файлы, мы напишем файл в C. 1203 00:53:19,110 --> 00:53:23,400 Мы затем скомпилировать его, используя Команда, как макияж, который будет вызывать 1204 00:53:23,400 --> 00:53:27,070 компилятор лязг для языка C. 1205 00:53:27,070 --> 00:53:31,530 И будет производить объект подать, как вне, или в данном случае, 1206 00:53:31,530 --> 00:53:36,580 имя, мой файл, что я положил в. 1207 00:53:36,580 --> 00:53:37,780 Все в порядке. 1208 00:53:37,780 --> 00:53:39,790 >> Итак, давайте на самом деле попробовать это. 1209 00:53:39,790 --> 00:53:42,850 Так что я пришел с, например что я хотел попробовать. 1210 00:53:42,850 --> 00:53:47,380 И одна из вещей, которые очаровывает меня анимация. 1211 00:53:47,380 --> 00:53:51,010 Итак, мы собираемся, чтобы попытаться сделать немного анимации 1212 00:53:51,010 --> 00:53:53,760 используя только символы ASCII. 1213 00:53:53,760 --> 00:53:56,470 Персонажи мы можем напечатать легко предприятием. 1214 00:53:56,470 --> 00:54:00,890 >> Так вот мой лучший попытка на создание для Вас 1215 00:54:00,890 --> 00:54:07,005 анимация кролик работает в высокой траве. 1216 00:54:07,005 --> 00:54:07,505 А вот и он. 1217 00:54:07,505 --> 00:54:10,150 1218 00:54:10,150 --> 00:54:10,670 ХОРОШО. 1219 00:54:10,670 --> 00:54:14,050 Таким образом, он еще не работает, но он стоял в высокой траве. 1220 00:54:14,050 --> 00:54:17,810 >> Теперь, если бы я был аниматор, в старой школе 1221 00:54:17,810 --> 00:54:20,860 версия анимации, то, что я будет сделать, это я бы произвести 1222 00:54:20,860 --> 00:54:23,640 картина этого кролика в траве. 1223 00:54:23,640 --> 00:54:25,390 И тогда я бы произвести другой picture-- 1224 00:54:25,390 --> 00:54:30,600 другой, что они называют cell--, что что кролик незначительно перемещается. 1225 00:54:30,600 --> 00:54:34,870 А потом третья, что если бы кролик переехал немного дальше. 1226 00:54:34,870 --> 00:54:40,610 >> И я бы производить весь Последовательность этих клеток. 1227 00:54:40,610 --> 00:54:44,220 Некоторые, где кролик над на левой стороне. 1228 00:54:44,220 --> 00:54:47,050 А потом медленно движется, один один к середине. 1229 00:54:47,050 --> 00:54:51,120 А потом с середины на правый. 1230 00:54:51,120 --> 00:54:55,760 И если бы я тогда, действительно повезло, я мог бы поставить его вместе 1231 00:54:55,760 --> 00:54:57,970 и я мог оживить их. 1232 00:54:57,970 --> 00:55:00,370 И мой кролик работает по траве. 1233 00:55:00,370 --> 00:55:02,310 >> Это моя большая PowerPoint обмануть в течение дня. 1234 00:55:02,310 --> 00:55:02,809 ХОРОШО. 1235 00:55:02,809 --> 00:55:04,760 Так что это так хорошо, как он получает. 1236 00:55:04,760 --> 00:55:05,260 ХОРОШО. 1237 00:55:05,260 --> 00:55:08,455 Итак, вот еще один момент, вот наш кролик проходит через траву. 1238 00:55:08,455 --> 00:55:09,217 >> СПИКЕР 19: Опять. 1239 00:55:09,217 --> 00:55:11,050 Брайан SCASSELLATI: Один больше времени, все в порядке. 1240 00:55:11,050 --> 00:55:11,940 Там твой зайчик. 1241 00:55:11,940 --> 00:55:12,940 ХОРОШО. 1242 00:55:12,940 --> 00:55:15,470 >> Таким образом, сегодня, что мы собираемся сделать, мы собираемся 1243 00:55:15,470 --> 00:55:21,110 чтобы попытаться автоматизировать процесс производить эти клетки. 1244 00:55:21,110 --> 00:55:24,135 Мы не будем достаточно добраться до точки будучи в состоянии поместить их всех вместе. 1245 00:55:24,135 --> 00:55:28,900 Но, мы собираемся, чтобы попытаться автоматизировать Процесс формирования этой последовательности. 1246 00:55:28,900 --> 00:55:32,900 >> И это многое из того, анимация сегодня, как. 1247 00:55:32,900 --> 00:55:36,690 То есть, вы не делать вещи обязательно опираясь все вручную. 1248 00:55:36,690 --> 00:55:40,610 Мы используем компьютер для автоматизации части этого процесса. 1249 00:55:40,610 --> 00:55:41,110 ХОРОШО. 1250 00:55:41,110 --> 00:55:47,720 >> Итак, позвольте мне перейти Теперь к нашему CS50 IDE. 1251 00:55:47,720 --> 00:55:54,260 И я создал для us-- и пусть мне масштаба здесь немного bit-- Я 1252 00:55:54,260 --> 00:55:58,420 создал для нас отправной точкой. 1253 00:55:58,420 --> 00:56:03,830 >> Каждый раз, когда мы просим вас, чтобы сидеть вниз и написать кусок кода, 1254 00:56:03,830 --> 00:56:09,250 то, что мы действительно прошу вас сделать является мы просим, ​​чтобы решить проблему. 1255 00:56:09,250 --> 00:56:11,810 И то, как, что вы должны думать о том, что делать 1256 00:56:11,810 --> 00:56:17,900 это, начиная с некоторых простой частью этого решения. 1257 00:56:17,900 --> 00:56:21,730 А потом построить из этой части. 1258 00:56:21,730 --> 00:56:23,400 И это то, что мы собираемся сделать сегодня. 1259 00:56:23,400 --> 00:56:27,570 >> Таким образом, вместо того, чтобы пытаться все сразу написать всю кучу кода, который 1260 00:56:27,570 --> 00:56:30,770 будет производить те 10 анимация клетки, 1261 00:56:30,770 --> 00:56:35,506 мы собираемся, чтобы начать, а с одной части, которая работает. 1262 00:56:35,506 --> 00:56:37,380 И тогда мы будем строить немного вокруг, что 1263 00:56:37,380 --> 00:56:39,740 и немного больше и немного больше. 1264 00:56:39,740 --> 00:56:42,550 >> Теперь хорошая вещь о Решение проблем, так 1265 00:56:42,550 --> 00:56:46,716 является то, что это позволит вам начать всегда с чем-то, что вы знаете 1266 00:56:46,716 --> 00:56:51,130 работ и ввести один постепенное изменение. 1267 00:56:51,130 --> 00:56:54,090 И это отличный способ чтобы узнать, как кодировать, 1268 00:56:54,090 --> 00:56:58,590 потому что каждый раз, когда вы сделать изменение, вы видите, что воздействие она оказывает. 1269 00:56:58,590 --> 00:56:59,540 ХОРОШО. 1270 00:56:59,540 --> 00:57:01,450 >> Так вот наша отправная точка. 1271 00:57:01,450 --> 00:57:01,950 ХОРОШО. 1272 00:57:01,950 --> 00:57:08,030 Таким образом, в начале моего файла, У меня хэш #included stdio.h. 1273 00:57:08,030 --> 00:57:12,560 Это так, что я могу получить Е (), чтобы работать. 1274 00:57:12,560 --> 00:57:15,240 >> Я тогда у меня основную функцию. 1275 00:57:15,240 --> 00:57:18,760 И это по-прежнему выглядит немного тайной или неясным для некоторых из вас. 1276 00:57:18,760 --> 00:57:20,010 Ничего страшного. 1277 00:57:20,010 --> 00:57:23,190 Все это говорит, что основная функция принимает 1278 00:57:23,190 --> 00:57:27,830 нет arguments-- недействительными средства ничто в С и его 1279 00:57:27,830 --> 00:57:29,940 возвращается по конвенции целое число. 1280 00:57:29,940 --> 00:57:33,290 Главная всегда возвращает целое число, Обычно код говоря вещи 1281 00:57:33,290 --> 00:57:35,071 прошло хорошо или не хорошо. 1282 00:57:35,071 --> 00:57:35,570 ХОРОШО. 1283 00:57:35,570 --> 00:57:39,110 Но главная должен иметь, что сформировать для нас прямо сейчас. 1284 00:57:39,110 --> 00:57:42,080 >> Я затем положить в три строки кода. 1285 00:57:42,080 --> 00:57:46,760 И вместе с каждой линии Код, я положил комментарий. 1286 00:57:46,760 --> 00:57:51,340 Теперь одна из вещей, которые мы будем настаивать на том, что вы делаете, 1287 00:57:51,340 --> 00:57:55,320 и это такой важный практика программирования, 1288 00:57:55,320 --> 00:57:57,800 это всегда комментировать свой код. 1289 00:57:57,800 --> 00:58:02,550 Всегда записывать в Английский комментарий то 1290 00:58:02,550 --> 00:58:06,740 что вы думаете, Код должен делать. 1291 00:58:06,740 --> 00:58:11,360 Таким образом, позже, когда вы вернетесь к это, вы можете посмотреть на него, и вы можете сказать, 1292 00:58:11,360 --> 00:58:13,800 О, я помню, что я был пытается сделать с этим. 1293 00:58:13,800 --> 00:58:17,590 Или когда ТА садится с вами, чтобы попробуйте, чтобы помочь вам в рабочее время, 1294 00:58:17,590 --> 00:58:20,890 они могут посмотреть на это и идти, я видеть, что вы пытались сделать, 1295 00:58:20,890 --> 00:58:25,630 но вместо этого то, что происходит на самом деле. 1296 00:58:25,630 --> 00:58:26,130 ХОРОШО. 1297 00:58:26,130 --> 00:58:30,300 >> Так что я получил три части моего кода, Я собираюсь в первую очередь печать 1298 00:58:30,300 --> 00:58:33,110 из некоторых точек в начале. 1299 00:58:33,110 --> 00:58:37,480 Я затем распечатать мой чрезвычайно модный кролик. 1300 00:58:37,480 --> 00:58:40,600 И тогда некоторые немного точек в конце. 1301 00:58:40,600 --> 00:58:45,220 >> И эти три утверждения печати должны вам знакомым в этой точке. 1302 00:58:45,220 --> 00:58:47,350 Все, что я делаю в каждый из них я 1303 00:58:47,350 --> 00:58:49,780 печать из последовательности символов. 1304 00:58:49,780 --> 00:58:51,370 Там нет переменных. 1305 00:58:51,370 --> 00:58:54,320 Все просто плоский. 1306 00:58:54,320 --> 00:58:55,270 ХОРОШО. 1307 00:58:55,270 --> 00:59:07,340 >> Так что, если я иду вниз теперь мой terminal-- давайте посмотрим, если я могу получить это обратно out-- 1308 00:59:07,340 --> 00:59:09,370 и я собираюсь снова ввести ясно. 1309 00:59:09,370 --> 00:59:12,507 >> СПИКЕР 20: Есть ли у нас использовать двойной слеш комментарий? 1310 00:59:12,507 --> 00:59:14,340 Брайан SCASSELLATI: Может использовать double-- да. 1311 00:59:14,340 --> 00:59:16,920 Там же несколько способов оставлять комментарии C. Один 1312 00:59:16,920 --> 00:59:19,440 способ заключается в использовании двойной слэш. 1313 00:59:19,440 --> 00:59:24,910 Другой заключается в использовании черту и звезда а затем закройте со звездой и черты. 1314 00:59:24,910 --> 00:59:26,110 Все в порядке. 1315 00:59:26,110 --> 00:59:28,950 >> Прежде всего, я собираюсь начать навигацию здесь. 1316 00:59:28,950 --> 00:59:35,350 Так что, если я иду в моей домашней директории, Я изменил каталоги там, 1317 00:59:35,350 --> 00:59:40,230 Я собираюсь смотреть и видеть то, что в этом каталоге, Ls, перечислить. 1318 00:59:40,230 --> 00:59:43,230 Я собираюсь видите, что я получил две папки. 1319 00:59:43,230 --> 00:59:47,910 Давайте сделаем это немного больше здесь, так что мы все можем видеть его. 1320 00:59:47,910 --> 00:59:50,610 >> Я вижу, что я получил две папки. 1321 00:59:50,610 --> 00:59:53,510 Я изменю каталог перейти в рабочую область. 1322 00:59:53,510 --> 00:59:58,380 И я собираюсь только впечатать часть его, а затем просто нажмите Tab. 1323 00:59:58,380 --> 01:00:01,520 И это будет завершить остальное для меня. 1324 01:00:01,520 --> 01:00:03,370 Необычные. 1325 01:00:03,370 --> 01:00:04,960 >> Я буду смотреть и видеть в рабочей области. 1326 01:00:04,960 --> 01:00:08,431 И сейчас, я работаю на SuperSection 1327 01:00:08,431 --> 01:00:09,680 что мы учим сейчас. 1328 01:00:09,680 --> 01:00:10,971 Так что я пойду в этот каталог. 1329 01:00:10,971 --> 01:00:14,770 1330 01:00:14,770 --> 01:00:15,970 И, наконец, смотреть и видеть. 1331 01:00:15,970 --> 01:00:18,480 И я получил этот файл bunny.c. 1332 01:00:18,480 --> 01:00:20,980 >> Все права, поэтому позвольте мне ясно еще раз. 1333 01:00:20,980 --> 01:00:24,370 И я собираюсь снова now-- Я оставаясь в этом каталоге 1334 01:00:24,370 --> 01:00:27,540 и это говорит мне, что я нахожусь в что SuperSection каталог. 1335 01:00:27,540 --> 01:00:30,690 Я собираюсь идти вперед и сделать свой программный кролика. 1336 01:00:30,690 --> 01:00:33,730 1337 01:00:33,730 --> 01:00:38,810 И, что команда, чтобы кролик, в то время как звучание немного странным, 1338 01:00:38,810 --> 01:00:42,960 Также вызывает компилятор лязг. 1339 01:00:42,960 --> 01:00:46,470 >> И это производится для мне выход, который 1340 01:00:46,470 --> 01:00:52,130 исполняемый funny-- исполняемый файл называется кролика. 1341 01:00:52,130 --> 01:00:52,700 ХОРОШО. 1342 01:00:52,700 --> 01:00:56,700 Затем я могу, и это звучит еще хуже, выполнить кролика. 1343 01:00:56,700 --> 01:00:59,360 1344 01:00:59,360 --> 01:01:00,680 ХОРОШО. 1345 01:01:00,680 --> 01:01:03,150 И давайте посмотрим, что он делает. 1346 01:01:03,150 --> 01:01:04,527 ХОРОШО. 1347 01:01:04,527 --> 01:01:06,360 Это немного то, что я ожидал. 1348 01:01:06,360 --> 01:01:11,290 Я получил мою картину кролика там, но я вроде хотел все это само по себе. 1349 01:01:11,290 --> 01:01:13,186 Что я пропустил? 1350 01:01:13,186 --> 01:01:14,478 >> СПИКЕР 21: Slash л или сократить п. 1351 01:01:14,478 --> 01:01:15,602 Брайан SCASSELLATI: Слэш п. 1352 01:01:15,602 --> 01:01:16,580 ХОРОШО. 1353 01:01:16,580 --> 01:01:18,800 Так давайте вернемся сюда. 1354 01:01:18,800 --> 01:01:20,330 И я выйти из этого. 1355 01:01:20,330 --> 01:01:23,320 И я вернусь в этот. 1356 01:01:23,320 --> 01:01:27,720 И давайте теперь посмотрите от моей основной функции здесь. 1357 01:01:27,720 --> 01:01:29,280 >> И что же мне делать? 1358 01:01:29,280 --> 01:01:30,465 Я хочу закончить линию. 1359 01:01:30,465 --> 01:01:34,020 1360 01:01:34,020 --> 01:01:35,800 Так что я положил в комментарии. 1361 01:01:35,800 --> 01:01:38,430 Я положу в Е (). 1362 01:01:38,430 --> 01:01:41,350 И то, что я должен поставить в? 1363 01:01:41,350 --> 01:01:41,890 / п. 1364 01:01:41,890 --> 01:01:43,480 ХОРОШО. 1365 01:01:43,480 --> 01:01:46,040 Что я должен закончить его с? 1366 01:01:46,040 --> 01:01:47,100 Точка с запятой. 1367 01:01:47,100 --> 01:01:48,730 Все в порядке. 1368 01:01:48,730 --> 01:01:52,880 >> Теперь, один из действительно важные вещи, это убедиться, 1369 01:01:52,880 --> 01:01:56,720 каждый раз, когда вы вносите изменения в коде, что вы сохраните его. 1370 01:01:56,720 --> 01:02:01,380 Если вы не сохранили свой код, вы заметит немного звезд там. 1371 01:02:01,380 --> 01:02:03,420 И, что звезда говорит, что вам не сохраняются этот код. 1372 01:02:03,420 --> 01:02:07,790 >> Если я скомпилировать его прямо сейчас, это не собирается отражать этих изменений, 1373 01:02:07,790 --> 01:02:11,680 потому что компилятор смотрит на файл это на диске, а не файла, что это 1374 01:02:11,680 --> 01:02:13,790 открыть в редакторе. 1375 01:02:13,790 --> 01:02:14,290 Все в порядке. 1376 01:02:14,290 --> 01:02:20,830 >> Итак, давайте сохранить его, а затем мы пойдем прямо на сюда, приходят обратно. 1377 01:02:20,830 --> 01:02:24,670 Приходите ко мне в терминале. 1378 01:02:24,670 --> 01:02:27,193 И давайте еще раз очистить пространство. 1379 01:02:27,193 --> 01:02:30,690 1380 01:02:30,690 --> 01:02:35,760 >> И мы можем идти вперед и еще один Время сделать нашу программу кролика. 1381 01:02:35,760 --> 01:02:40,180 И выполнить кролика. 1382 01:02:40,180 --> 01:02:42,500 Это не работает. 1383 01:02:42,500 --> 01:02:43,950 Неправильный слеш. 1384 01:02:43,950 --> 01:02:52,280 Так что, если вы посмотрите на то, что я получил, я положил / п там, но я был неправильный черту. 1385 01:02:52,280 --> 01:02:56,190 >> Все, что ваш компьютер делает очень четко. 1386 01:02:56,190 --> 01:02:57,230 ОК? 1387 01:02:57,230 --> 01:03:01,250 Одна маленькая ошибка пунктуации, и вдруг вы не получите то, что вы хотите. 1388 01:03:01,250 --> 01:03:01,750 Все в порядке. 1389 01:03:01,750 --> 01:03:03,740 Итак, давайте масштаба обратно. 1390 01:03:03,740 --> 01:03:04,410 Мы вернемся. 1391 01:03:04,410 --> 01:03:07,930 Ну что сделать очень быстро ремонт. 1392 01:03:07,930 --> 01:03:09,270 Мы положить правую косую черту. 1393 01:03:09,270 --> 01:03:10,570 Мы спасем его. 1394 01:03:10,570 --> 01:03:13,410 Мы масштаба обратно. 1395 01:03:13,410 --> 01:03:16,730 >> По какой-то причине, это не быть счастливым, но давайте идти вперед 1396 01:03:16,730 --> 01:03:19,850 и мы вернемся к терминалу здесь. 1397 01:03:19,850 --> 01:03:22,940 Очистите его. 1398 01:03:22,940 --> 01:03:24,880 Мы масштаб. 1399 01:03:24,880 --> 01:03:28,410 И еще раз, мы будем делать кролика. 1400 01:03:28,410 --> 01:03:32,360 А теперь конечно, он работает. 1401 01:03:32,360 --> 01:03:33,240 Ура. 1402 01:03:33,240 --> 01:03:34,300 ХОРОШО. 1403 01:03:34,300 --> 01:03:39,580 >> Так давайте попробуем сделать это немного более общий. 1404 01:03:39,580 --> 01:03:46,750 Давайте посмотрим, если вместо того, чтобы просто печать одного конкретного кадра, 1405 01:03:46,750 --> 01:03:49,610 давайте посмотрим, если мы можем сделать это так что мы можем получить все 10 1406 01:03:49,610 --> 01:03:52,960 из тех анимационных кадров что мы хотели бы иметь. 1407 01:03:52,960 --> 01:03:56,550 Итак, еще раз, давайте Этот шаг за один раз. 1408 01:03:56,550 --> 01:03:59,900 >> Давайте сначала обобщить, не так что я все кадры, 1409 01:03:59,900 --> 01:04:03,990 но так я никого кадр, который я мог бы. 1410 01:04:03,990 --> 01:04:05,920 Так какая разница между кадрами? 1411 01:04:05,920 --> 01:04:07,377 Является ли кролик то же самое? 1412 01:04:07,377 --> 01:04:07,960 АУДИТОРИЯ: Да. 1413 01:04:07,960 --> 01:04:08,390 Брайан SCASSELLATI: Да. 1414 01:04:08,390 --> 01:04:09,370 Какая разница? 1415 01:04:09,370 --> 01:04:10,246 >> АУДИТОРИЯ: Должность. 1416 01:04:10,246 --> 01:04:11,870 Брайан SCASSELLATI: Его позиция, верно? 1417 01:04:11,870 --> 01:04:15,590 И, как я контролировать свою позицию? 1418 01:04:15,590 --> 01:04:17,340 Сколько точек я положить в начале 1419 01:04:17,340 --> 01:04:19,048 и сколько точек я положить в конце. 1420 01:04:19,048 --> 01:04:21,970 Так что мне пришлось пять на начало и пять в конце. 1421 01:04:21,970 --> 01:04:28,320 >> Давайте заменим, что пять с для цикла. 1422 01:04:28,320 --> 01:04:29,380 ХОРОШО. 1423 01:04:29,380 --> 01:04:32,330 И я собираюсь создать для петля теперь, скажет, 1424 01:04:32,330 --> 01:04:37,800 Я собираюсь печатать некоторое число из точек в начале. 1425 01:04:37,800 --> 01:04:39,600 Я собираюсь использовать переменную. 1426 01:04:39,600 --> 01:04:44,150 Давайте говорить, как о I в счетчик в моем цикле. 1427 01:04:44,150 --> 01:04:47,200 И я собираюсь объявить его наверху. 1428 01:04:47,200 --> 01:04:49,360 >> А потом в цикл Мне нужно сделать три вещи. 1429 01:04:49,360 --> 01:04:52,340 Первое, что мне нужно сделать, мне нужно для инициализации I. 1430 01:04:52,340 --> 01:04:56,570 То, что я должен инициализировать это начать, чтобы быть? 1431 01:04:56,570 --> 01:04:57,160 0. 1432 01:04:57,160 --> 01:04:58,310 ХОРОШО. 1433 01:04:58,310 --> 01:05:00,950 >> Тогда я должен сказать, что прекращение состояние? 1434 01:05:00,950 --> 01:05:03,020 Когда я должен остановиться? 1435 01:05:03,020 --> 01:05:05,983 Ну, сколько точек вы делаете хотите напечатать на этом? 1436 01:05:05,983 --> 01:05:06,921 >> АУДИТОРИЯ: Пять. 1437 01:05:06,921 --> 01:05:08,170 Брайан SCASSELLATI: Пять раз? 1438 01:05:08,170 --> 01:05:10,650 Как насчет давайте что-то делать разные, мы сделали пять. 1439 01:05:10,650 --> 01:05:12,584 Покажем, что это по-другому. 1440 01:05:12,584 --> 01:05:13,250 СПИКЕР 22: Два. 1441 01:05:13,250 --> 01:05:13,580 Брайан SCASSELLATI: Два. 1442 01:05:13,580 --> 01:05:14,080 ХОРОШО. 1443 01:05:14,080 --> 01:05:17,760 Так что, если я хочу две точки, что я должен положить здесь? 1444 01:05:17,760 --> 01:05:19,140 >> АУДИТОРИЯ: Три. 1445 01:05:19,140 --> 01:05:20,530 >> Брайан SCASSELLATI: Три. 1446 01:05:20,530 --> 01:05:21,400 ХОРОШО. 1447 01:05:21,400 --> 01:05:24,220 Сколько раз в том, что собирается пройти? 1448 01:05:24,220 --> 01:05:28,469 Вот собираюсь пройти через в три раза, 0, 1, 2 и, правильно? 1449 01:05:28,469 --> 01:05:30,010 Ладно, давайте вернемся до двух. 1450 01:05:30,010 --> 01:05:31,570 Теперь мы получим две точки. 1451 01:05:31,570 --> 01:05:35,800 И то, что я хочу, чтобы делать каждый раз я иду через петлю? 1452 01:05:35,800 --> 01:05:38,657 Что должно измениться каждый раз я пройти? 1453 01:05:38,657 --> 01:05:39,850 >> СПИКЕР 23: Добавить точку. 1454 01:05:39,850 --> 01:05:41,020 >> Брайан SCASSELLATI: Я должен продолжать идти. 1455 01:05:41,020 --> 01:05:41,978 Я собираюсь добавить точку. 1456 01:05:41,978 --> 01:05:45,310 Я собираюсь напечатать точку, каждый раз через петлю. 1457 01:05:45,310 --> 01:05:49,990 Но как я отслеживать, как много раз я был через петлю? 1458 01:05:49,990 --> 01:05:53,260 Я использую я, что Переменная, что счетчик. 1459 01:05:53,260 --> 01:05:57,110 >> Таким образом, каждый раз через, я собираюсь для увеличения счетчика на единицу. 1460 01:05:57,110 --> 01:06:00,670 Теперь, это то же самое для мне, как говорят I = + 1. 1461 01:06:00,670 --> 01:06:01,210 Ничего страшного. 1462 01:06:01,210 --> 01:06:04,653 Я мог бы сделать это that-- Мне нравится сокращение, так что я собираюсь сказать, я ++. 1463 01:06:04,653 --> 01:06:07,190 1464 01:06:07,190 --> 01:06:08,370 ХОРОШО. 1465 01:06:08,370 --> 01:06:10,680 >> Давайте делать то же самое здесь внизу. 1466 01:06:10,680 --> 01:06:11,846 Только я вроде сделал это один. 1467 01:06:11,846 --> 01:06:13,990 Я собираюсь дать вам, ребята сделать это один полностью. 1468 01:06:13,990 --> 01:06:14,260 Все в порядке. 1469 01:06:14,260 --> 01:06:15,426 >> Так что я должен написать здесь? 1470 01:06:15,426 --> 01:06:17,170 Вот мой цикл. 1471 01:06:17,170 --> 01:06:23,162 Я собираюсь сделать Е (), и я собираюсь сделать так, что я только распечатать одну точку 1472 01:06:23,162 --> 01:06:25,740 на этом дне. 1473 01:06:25,740 --> 01:06:27,740 >> То, что я должен написать внутри этого цикл теперь? 1474 01:06:27,740 --> 01:06:30,897 1475 01:06:30,897 --> 01:06:33,948 Ну, в первую очередь то, что переменные я должен использовать? 1476 01:06:33,948 --> 01:06:35,430 >> СПИКЕР 24: J. 1477 01:06:35,430 --> 01:06:36,880 >> Брайан SCASSELLATI: Я мог бы использовать J. 1478 01:06:36,880 --> 01:06:38,040 Могу ли я использовать тот же один? 1479 01:06:38,040 --> 01:06:39,961 Могу ли я использовать я снова? 1480 01:06:39,961 --> 01:06:40,460 Да. 1481 01:06:40,460 --> 01:06:45,531 Это нормально, потому что Is что я использую здесь, 1482 01:06:45,531 --> 01:06:47,780 Мне не нужно их снова, когда Я до этого момента. 1483 01:06:47,780 --> 01:06:52,240 1484 01:06:52,240 --> 01:06:53,790 >> Так что я должен инициализировать я к? 1485 01:06:53,790 --> 01:06:56,675 1486 01:06:56,675 --> 01:06:57,300 СПИКЕР 25: 10. 1487 01:06:57,300 --> 01:06:58,567 Брайан SCASSELLATI: 0. 1488 01:06:58,567 --> 01:06:59,400 Что я должен проверить? 1489 01:06:59,400 --> 01:07:02,960 Сколько точек я сейчас нужно в конце если я получил две точки в начале? 1490 01:07:02,960 --> 01:07:05,820 1491 01:07:05,820 --> 01:07:09,165 Мне нужно восемь в конце концов, так, что я должен проверить, я менее than-- 1492 01:07:09,165 --> 01:07:12,645 >> АУДИТОРИЯ: Семь, восемь, девять. 1493 01:07:12,645 --> 01:07:14,020 Брайан SCASSELLATI: Я слышал, семь. 1494 01:07:14,020 --> 01:07:14,810 Я слышал, восемь. 1495 01:07:14,810 --> 01:07:15,970 И услышал я девять. 1496 01:07:15,970 --> 01:07:16,470 ХОРОШО. 1497 01:07:16,470 --> 01:07:19,540 Так что мы все в праве ball-- Джейсон говорит 10. 1498 01:07:19,540 --> 01:07:21,550 ХОРОШО. 1499 01:07:21,550 --> 01:07:25,920 >> Если мне нужно две точки для первый, как многие делают 1500 01:07:25,920 --> 01:07:30,170 Я-- и мне нужно восемь точек для Последнее одно-- я положил два наверху, 1501 01:07:30,170 --> 01:07:31,743 что я должен положить вниз? 1502 01:07:31,743 --> 01:07:32,570 >> АУДИТОРИЯ: Восемь. 1503 01:07:32,570 --> 01:07:33,611 >> Брайан SCASSELLATI: Восемь. 1504 01:07:33,611 --> 01:07:35,695 Потому что собирается рассчитывать нуля до семи. 1505 01:07:35,695 --> 01:07:38,490 И это в восемь раз через петлю. 1506 01:07:38,490 --> 01:07:38,990 ХОРОШО. 1507 01:07:38,990 --> 01:07:41,774 И то, что я должен делать в конце? 1508 01:07:41,774 --> 01:07:42,670 >> АУДИТОРИЯ: я ++. 1509 01:07:42,670 --> 01:07:44,400 >> Брайан SCASSELLATI: я ++. 1510 01:07:44,400 --> 01:07:45,440 Все в порядке. 1511 01:07:45,440 --> 01:07:48,260 Так что выглядит довольно хорошо там. 1512 01:07:48,260 --> 01:07:50,620 Давайте попробуем и посмотрим, что он делает. 1513 01:07:50,620 --> 01:07:51,450 ХОРОШО. 1514 01:07:51,450 --> 01:07:53,770 Итак, мы собираемся, чтобы спасти его. 1515 01:07:53,770 --> 01:07:54,940 Ницца и сохранены. 1516 01:07:54,940 --> 01:07:56,910 >> Мы отдалиться. 1517 01:07:56,910 --> 01:07:58,220 Мы постараемся здесь в терминале. 1518 01:07:58,220 --> 01:08:01,440 1519 01:08:01,440 --> 01:08:02,970 Мы масштаб. 1520 01:08:02,970 --> 01:08:05,416 Ой. 1521 01:08:05,416 --> 01:08:09,990 Мы будем, еще раз, сделать нашу программу кролика. 1522 01:08:09,990 --> 01:08:14,460 И идти вперед и выполнить кролика. 1523 01:08:14,460 --> 01:08:15,980 И это так. 1524 01:08:15,980 --> 01:08:17,710 >> Так что наш кролик. 1525 01:08:17,710 --> 01:08:25,130 Где он имеет две точки в начале и восемью точками в конце. 1526 01:08:25,130 --> 01:08:27,540 Все еще со мной? 1527 01:08:27,540 --> 01:08:28,770 ХОРОШО. 1528 01:08:28,770 --> 01:08:29,580 >> Таким образом, мы построили его. 1529 01:08:29,580 --> 01:08:33,000 Мы построили один кролик, один конкретный кадр. 1530 01:08:33,000 --> 01:08:36,229 Теперь мы смогли обобщить, что строить 1531 01:08:36,229 --> 01:08:38,390 больше, различные виды рамок. 1532 01:08:38,390 --> 01:08:42,399 >> Теперь давайте идти вперед, и имеют это генерировать не только один кадр, 1533 01:08:42,399 --> 01:08:46,290 но давайте создавать 10 кадры, где мы медленно 1534 01:08:46,290 --> 01:08:50,569 сделать кролика переместить все путь через поле. 1535 01:08:50,569 --> 01:08:51,430 Все в порядке. 1536 01:08:51,430 --> 01:08:53,660 >> Давай вернемся. 1537 01:08:53,660 --> 01:08:54,839 И мы постараемся сегодня. 1538 01:08:54,839 --> 01:09:00,680 1539 01:09:00,680 --> 01:09:02,830 Так что я на самом деле нужно изменить здесь? 1540 01:09:02,830 --> 01:09:06,139 1541 01:09:06,139 --> 01:09:07,180 Что мне нужно изменить? 1542 01:09:07,180 --> 01:09:10,638 >> СПИКЕР 26: Сначала нужно изменить количество точек максимума 1543 01:09:10,638 --> 01:09:11,626 в начале. 1544 01:09:11,626 --> 01:09:16,850 Потому что, если мы делаем 10 точек, это будет необходимо с точностью до масштаба. 1545 01:09:16,850 --> 01:09:17,850 Брайан SCASSELLATI: Да. 1546 01:09:17,850 --> 01:09:23,760 Так что сейчас у меня это своего рода жестко всегда делать две точки в начале 1547 01:09:23,760 --> 01:09:27,890 и всегда делать восемь точек в конце. 1548 01:09:27,890 --> 01:09:30,660 >> Я хочу, чтобы построить еще один цикл, верно? 1549 01:09:30,660 --> 01:09:33,290 Потому что я не хочу построить только один кролик картину, 1550 01:09:33,290 --> 01:09:37,140 Я хочу, чтобы построить 10 кролика фотографии. 1551 01:09:37,140 --> 01:09:41,500 Поэтому мне нужно, чтобы построить еще один цикл, и, как я иду через этого цикла, 1552 01:09:41,500 --> 01:09:44,660 Я хочу изменить, сколько точки распечатать в начале 1553 01:09:44,660 --> 01:09:50,529 и сколько точек распечатать в конце концов, на основании которых цикл через петлю 1554 01:09:50,529 --> 01:09:52,270 Я нахожусь в. 1555 01:09:52,270 --> 01:09:52,770 Все в порядке. 1556 01:09:52,770 --> 01:09:54,430 >> Итак, давайте еще счетчика. 1557 01:09:54,430 --> 01:09:58,142 Кто-то, прежде чем сказал J, таким образом, мы будем делать еще J. 1558 01:09:58,142 --> 01:10:00,100 А теперь, мы собираемся построить еще цикл. 1559 01:10:00,100 --> 01:10:02,650 1560 01:10:02,650 --> 01:10:06,200 >> То, что происходит внутри этого цикла? 1561 01:10:06,200 --> 01:10:09,060 Этот материал должен идти внутри цикла, не так ли? 1562 01:10:09,060 --> 01:10:11,190 Есть ли у кролика идти внутри цикла? 1563 01:10:11,190 --> 01:10:13,390 Мне нужен кролик в каждый из этих 10 кадров? 1564 01:10:13,390 --> 01:10:14,099 >> АУДИТОРИЯ: Угу. 1565 01:10:14,099 --> 01:10:15,098 Брайан SCASSELLATI: Да. 1566 01:10:15,098 --> 01:10:17,250 Я хочу кролика в каждой из 10 кадров, верно? 1567 01:10:17,250 --> 01:10:20,531 Как насчет точек на конец, мне нужно это? 1568 01:10:20,531 --> 01:10:21,030 ХОРОШО. 1569 01:10:21,030 --> 01:10:22,550 >> Так что я собираюсь сделать отступ всех из них. 1570 01:10:22,550 --> 01:10:25,110 Я собираюсь выделить все это, и я собираюсь ударить Tab. 1571 01:10:25,110 --> 01:10:28,590 И что происходит, чтобы подтолкнуть их на всем протяжении немного, так что это легко для меня 1572 01:10:28,590 --> 01:10:32,010 чтобы увидеть, что в цикле. 1573 01:10:32,010 --> 01:10:33,710 И тогда я закончу его. 1574 01:10:33,710 --> 01:10:35,850 Давайте сказать. 1575 01:10:35,850 --> 01:10:36,430 ОК? 1576 01:10:36,430 --> 01:10:39,230 >> Теперь, в этом цикле, который Я building-- возгласы, 1577 01:10:39,230 --> 01:10:43,810 сделать это таким образом Вы можете see-- Я получил свой счетчик J. 1578 01:10:43,810 --> 01:10:45,630 Я начал его в 0. 1579 01:10:45,630 --> 01:10:47,829 Сколько раз я хочу пройти через этот цикл? 1580 01:10:47,829 --> 01:10:48,620 АУДИТОРИЯ: 10 раз. 1581 01:10:48,620 --> 01:10:49,786 Брайан SCASSELLATI: 10 раз. 1582 01:10:49,786 --> 01:10:51,402 Так что номер, который я должен поставить здесь? 1583 01:10:51,402 --> 01:10:52,880 >> АУДИТОРИЯ: 9, 10. 1584 01:10:52,880 --> 01:10:55,600 >> БРАЙАН SCASSELLATI: 9, 10, кто-то должен сказать, 11, верно? 1585 01:10:55,600 --> 01:10:58,190 1586 01:10:58,190 --> 01:11:01,585 Я хотел две точки, прежде чем и положил я меньше 2. 1587 01:11:01,585 --> 01:11:03,810 Я хотел восемь точек, Я положил я меньше, чем 8. 1588 01:11:03,810 --> 01:11:06,950 Теперь я хочу, чтобы пройти через 10 раз, так что я положил J менее than-- 1589 01:11:06,950 --> 01:11:07,590 >> АУДИТОРИЯ: 10. 1590 01:11:07,590 --> 01:11:08,610 >> Брайан SCASSELLATI: 10. 1591 01:11:08,610 --> 01:11:10,150 Там мы идем. 1592 01:11:10,150 --> 01:11:13,360 И то, что я делаю в конце концов к J? 1593 01:11:13,360 --> 01:11:15,310 ++ Увеличивать его. 1594 01:11:15,310 --> 01:11:16,230 ХОРОШО. 1595 01:11:16,230 --> 01:11:21,500 Теперь, вот хитрая часть, что произойдет прямо сейчас, если я это сделать? 1596 01:11:21,500 --> 01:11:24,537 Я собираюсь печатать 10 кадров? 1597 01:11:24,537 --> 01:11:26,370 СПИКЕР 27: я думаю, все они будет то же самое. 1598 01:11:26,370 --> 01:11:28,453 Брайан SCASSELLATI: Они Все то же самое, не так ли? 1599 01:11:28,453 --> 01:11:31,750 Потому что все из них по-прежнему будет положить две точки в начале. 1600 01:11:31,750 --> 01:11:34,162 Но я не хочу их всех есть две точки начала. 1601 01:11:34,162 --> 01:11:35,870 Сколько точек сделать I хочу в начале? 1602 01:11:35,870 --> 01:11:39,097 1603 01:11:39,097 --> 01:11:40,020 >> АУДИТОРИЯ: Изменение. 1604 01:11:40,020 --> 01:11:42,840 >> Брайан SCASSELLATI: Я хочу, чтобы это изменить, верно? 1605 01:11:42,840 --> 01:11:46,588 Так что у меня есть вот что меняется каждый раз, когда цикл проходит через? 1606 01:11:46,588 --> 01:11:48,242 >> АУДИТОРИЯ: Количество точек, к. 1607 01:11:48,242 --> 01:11:49,950 Брайан SCASSELLATI: J, число точек. 1608 01:11:49,950 --> 01:11:54,782 Так что я могу изменить, чтобы это было к. 1609 01:11:54,782 --> 01:11:59,190 В первый раз через цикл, что, что будет? 1610 01:11:59,190 --> 01:12:01,700 Что я могу установить J, чтобы в первую очередь? 1611 01:12:01,700 --> 01:12:02,420 >> АУДИТОРИЯ: 0. 1612 01:12:02,420 --> 01:12:05,700 >> Брайан SCASSELLATI: Так сколько раз я собираюсь это сделать? 1613 01:12:05,700 --> 01:12:06,750 0. 1614 01:12:06,750 --> 01:12:11,750 Во второй раз через цикл, Джея будет 1, потому что я его увеличить. 1615 01:12:11,750 --> 01:12:14,180 Сколько точек я собираюсь напечатать? 1616 01:12:14,180 --> 01:12:15,100 1. 1617 01:12:15,100 --> 01:12:19,904 В третий раз через петлю, сколько точек я собираюсь напечатать? 1618 01:12:19,904 --> 01:12:20,587 >> АУДИТОРИЯ: Три. 1619 01:12:20,587 --> 01:12:22,170 Брайан SCASSELLATI: J будет 3. 1620 01:12:22,170 --> 01:12:24,890 Сколько точек я собираюсь напечатать? 1621 01:12:24,890 --> 01:12:26,817 О, извините, J будет 2. 1622 01:12:26,817 --> 01:12:28,233 Сколько точек я собираюсь напечатать? 1623 01:12:28,233 --> 01:12:28,980 >> АУДИТОРИЯ: 2. 1624 01:12:28,980 --> 01:12:29,855 >> Брайан SCASSELLATI: 2. 1625 01:12:29,855 --> 01:12:32,460 ОК, так что я буду держать увеличивая, что, как мы идем вместе. 1626 01:12:32,460 --> 01:12:33,460 Как насчет внизу? 1627 01:12:33,460 --> 01:12:34,310 То, что происходит здесь? 1628 01:12:34,310 --> 01:12:38,080 Я не хочу 8 всегда в конце больше? 1629 01:12:38,080 --> 01:12:39,269 >> СПИКЕР 28: 10. 1630 01:12:39,269 --> 01:12:40,685 Брайан SCASSELLATI: Я хочу 10 точек? 1631 01:12:40,685 --> 01:12:43,440 1632 01:12:43,440 --> 01:12:44,620 Я хочу, чтобы изменить, слишком. 1633 01:12:44,620 --> 01:12:47,469 Так как я хочу, чтобы это изменить? 1634 01:12:47,469 --> 01:12:49,167 >> АУДИТОРИЯ: [неразборчиво]. 1635 01:12:49,167 --> 01:12:51,750 Брайан SCASSELLATI: Ну, если я пять точек в начале, 1636 01:12:51,750 --> 01:12:53,293 сколько точка-х я получаю в конце? 1637 01:12:53,293 --> 01:12:54,020 >> АУДИТОРИЯ: Пять. 1638 01:12:54,020 --> 01:12:55,630 >> Брайан SCASSELLATI: Если у меня есть шесть точек в начале, 1639 01:12:55,630 --> 01:12:56,875 сколько я могу получить в конце? 1640 01:12:56,875 --> 01:12:57,500 АУДИТОРИЯ: Четыре. 1641 01:12:57,500 --> 01:12:58,950 Брайан SCASSELLATI: Если я получил семь точек в начале, 1642 01:12:58,950 --> 01:13:00,204 сколько я могу получить в конце? 1643 01:13:00,204 --> 01:13:00,870 АУДИТОРИЯ: Три. 1644 01:13:00,870 --> 01:13:03,161 Брайан SCASSELLATI: Если я получил J точки в начале, 1645 01:13:03,161 --> 01:13:04,790 сколько я могу получить в конце? 1646 01:13:04,790 --> 01:13:07,520 10-J. 1647 01:13:07,520 --> 01:13:08,650 ХОРОШО. 1648 01:13:08,650 --> 01:13:10,390 Так давайте попробуем это. 1649 01:13:10,390 --> 01:13:13,180 >> Так что я иду, чтобы спасти нашу программу кролика. 1650 01:13:13,180 --> 01:13:16,270 Мы снова будем удалять. 1651 01:13:16,270 --> 01:13:19,090 Мы пойдем до нашего терминала. 1652 01:13:19,090 --> 01:13:20,180 Мы очистить его. 1653 01:13:20,180 --> 01:13:23,410 И увеличить. 1654 01:13:23,410 --> 01:13:26,410 Мы сделаем нашу программу кролика, снова. 1655 01:13:26,410 --> 01:13:27,690 И мы будем выполнять его. 1656 01:13:27,690 --> 01:13:30,462 1657 01:13:30,462 --> 01:13:32,090 Ой-ой. 1658 01:13:32,090 --> 01:13:34,580 >> Держись, давайте уменьшения масштаба. 1659 01:13:34,580 --> 01:13:36,860 Я получал 10 кадров? 1660 01:13:36,860 --> 01:13:38,970 Ну, сколько кролики я вижу там? 1661 01:13:38,970 --> 01:13:43,330 1, 2, 3, 4, 5, 6, 7, 8, 9, 10. 1662 01:13:43,330 --> 01:13:44,820 Я получил 10 кадров. 1663 01:13:44,820 --> 01:13:46,375 Они все одинаковые? 1664 01:13:46,375 --> 01:13:47,000 АУДИТОРИЯ: Да. 1665 01:13:47,000 --> 01:13:48,740 Нет. 1666 01:13:48,740 --> 01:13:50,000 >> Брайан SCASSELLATI: Нет 1667 01:13:50,000 --> 01:13:55,050 Это первая, то зайчик далеко слева. 1668 01:13:55,050 --> 01:13:57,541 И здесь, кролик далеко на 1669 01:13:57,541 --> 01:13:58,290 СПИКЕР 29: Право. 1670 01:13:58,290 --> 01:14:00,502 Брайан SCASSELLATI: Итак, то, что я забыл сделать? 1671 01:14:00,502 --> 01:14:01,750 СПИКЕР 30: Переход на новую строку. 1672 01:14:01,750 --> 01:14:04,041 Брайан SCASSELLATI: Я забыл чтобы начать новую линию, снова. 1673 01:14:04,041 --> 01:14:05,270 То же самое я сделал ошибку раньше. 1674 01:14:05,270 --> 01:14:07,120 Ладно, давайте исправим это. 1675 01:14:07,120 --> 01:14:11,690 Теперь, я все еще получил код там, чтобы сделать новую строку. 1676 01:14:11,690 --> 01:14:13,899 Почему это не работает? 1677 01:14:13,899 --> 01:14:15,440 СПИКЕР 31: Это не внутри цикла. 1678 01:14:15,440 --> 01:14:17,710 Брайан SCASSELLATI: О, это не внутри цикла. 1679 01:14:17,710 --> 01:14:18,520 Это верно. 1680 01:14:18,520 --> 01:14:20,150 Это здесь, сидя снаружи. 1681 01:14:20,150 --> 01:14:23,470 1682 01:14:23,470 --> 01:14:29,050 И для петли все что внутри этого текста. 1683 01:14:29,050 --> 01:14:35,500 >> Так что я собираюсь переехать это внутри цикл. 1684 01:14:35,500 --> 01:14:39,410 И я Tab перед ним на показывают, что он находится в правильном месте. 1685 01:14:39,410 --> 01:14:42,020 А теперь, мы спасем его снова. 1686 01:14:42,020 --> 01:14:44,350 Мы масштаб изображения. 1687 01:14:44,350 --> 01:14:45,770 Мы переключиться на нашем терминале. 1688 01:14:45,770 --> 01:14:48,330 1689 01:14:48,330 --> 01:14:50,360 Приблизить. 1690 01:14:50,360 --> 01:14:54,050 Мы переделать нашу программу кролика. 1691 01:14:54,050 --> 01:14:59,070 А теперь, теперь у нас есть наши 10 кадров. 1692 01:14:59,070 --> 01:15:00,190 >> [Хлопая] 1693 01:15:00,190 --> 01:15:02,120 >> Брайан SCASSELLATI: ОК. 1694 01:15:02,120 --> 01:15:04,080 Так. 1695 01:15:04,080 --> 01:15:08,370 Вот наша вложенными для петель. 1696 01:15:08,370 --> 01:15:13,140 Мы были способны генерировать в Внутренний контур сколько точек я хотел 1697 01:15:13,140 --> 01:15:15,320 печатать в начале, в конце. 1698 01:15:15,320 --> 01:15:21,570 И управляется внешний контур сколько кадров я строил. 1699 01:15:21,570 --> 01:15:26,340 Мы начали с одного маленького Ядро проблемы, 1700 01:15:26,340 --> 01:15:30,320 и мы построили из этой точки. 1701 01:15:30,320 --> 01:15:30,820 Все в порядке. 1702 01:15:30,820 --> 01:15:33,500 >> Давайте сделаем еще один шаг. 1703 01:15:33,500 --> 01:15:35,040 Вы готовы? 1704 01:15:35,040 --> 01:15:38,800 Там одна вещь, в здесь, где мы на самом деле вид получил 1705 01:15:38,800 --> 01:15:42,180 более сложность, чем нам нужно. 1706 01:15:42,180 --> 01:15:44,700 Давайте взглянем. 1707 01:15:44,700 --> 01:15:52,050 Таким образом, в нашей программе кролика, если я масштаба здесь, 1708 01:15:52,050 --> 01:15:54,980 Я на самом деле некоторые из же вещь снова и снова. 1709 01:15:54,980 --> 01:15:59,032 Что мне делать, это своего рода то же самое повторяется дважды? 1710 01:15:59,032 --> 01:16:00,310 >> СПИКЕР 32: Печать точки. 1711 01:16:00,310 --> 01:16:03,526 >> Брайан SCASSELLATI: Да Распечатать эти точки в два раза. 1712 01:16:03,526 --> 01:16:05,710 Действительно, я должен этот комментарий здесь. 1713 01:16:05,710 --> 01:16:09,037 Распечатать некоторые точки на начало, прямо здесь. 1714 01:16:09,037 --> 01:16:10,620 И тогда я напечатать некоторые точки в конце. 1715 01:16:10,620 --> 01:16:14,694 И я вроде то же самое. 1716 01:16:14,694 --> 01:16:17,110 То, что мы собираемся начать работали в ближайшие несколько недель 1717 01:16:17,110 --> 01:16:23,440 является возможность взять эти блоки код, который мы используем снова и снова, 1718 01:16:23,440 --> 01:16:25,800 и посредством процесса называется абстракция, 1719 01:16:25,800 --> 01:16:31,100 мы собираемся, чтобы вытащить их и записать их один раз, так что мы можем затем 1720 01:16:31,100 --> 01:16:35,130 использовать их снова и снова. 1721 01:16:35,130 --> 01:16:37,210 Так давайте попробуем это. 1722 01:16:37,210 --> 01:16:38,220 Готов? 1723 01:16:38,220 --> 01:16:42,200 >> Мы собираемся взять этот блок кода. 1724 01:16:42,200 --> 01:16:45,280 И я собираюсь взять его оттуда. 1725 01:16:45,280 --> 01:16:50,530 И я собираюсь define-- на дне, 1726 01:16:50,530 --> 01:16:53,130 Я собираюсь написать новую функцию. 1727 01:16:53,130 --> 01:16:54,750 Это не собирается ничего возвращать. 1728 01:16:54,750 --> 01:16:58,550 И я буду называть его printDots. 1729 01:16:58,550 --> 01:17:01,530 >> Это займет один Аргумент, целое число, 1730 01:17:01,530 --> 01:17:04,920 говорит howManyDots я должен напечатать. 1731 01:17:04,920 --> 01:17:09,310 1732 01:17:09,310 --> 01:17:17,720 И теперь вместо печати J точки, я буду печатать сказать howManyDots я должен напечатать. 1733 01:17:17,720 --> 01:17:21,581 >> И есть одна маленькая проблема. 1734 01:17:21,581 --> 01:17:22,580 Кто-нибудь знает, что это такое? 1735 01:17:22,580 --> 01:17:27,270 1736 01:17:27,270 --> 01:17:31,505 Что я, что перечислено здесь это не определено? 1737 01:17:31,505 --> 01:17:34,165 1738 01:17:34,165 --> 01:17:35,090 >> АУДИТОРИЯ: [неразборчиво] 1739 01:17:35,090 --> 01:17:37,465 >> Брайан SCASSELLATI: Ну, как многие точки определяется вплоть 1740 01:17:37,465 --> 01:17:40,584 здесь, но я использую эту переменную я. 1741 01:17:40,584 --> 01:17:43,750 Так что я собираюсь взять эту переменную я и я собираюсь, чтобы определить его вниз здесь 1742 01:17:43,750 --> 01:17:44,610 вместо этого. 1743 01:17:44,610 --> 01:17:49,683 >> Так что теперь это будет stay-- ой, получил шапки заблокировать на somehow-- Я 1744 01:17:49,683 --> 01:17:52,060 будет держать я вот здесь. 1745 01:17:52,060 --> 01:17:57,050 >> Так что теперь вот моя маленькая функция или подпрограмма, и она говорит: 1746 01:17:57,050 --> 01:18:00,640 сколько точек я собираюсь напечатать? 1747 01:18:00,640 --> 01:18:05,300 И он будет идти через эту петлю и печатать их снова и снова. 1748 01:18:05,300 --> 01:18:10,940 >> Я могу изменить мою, то программа здесь. 1749 01:18:10,940 --> 01:18:12,540 И то, что я называю это функция? 1750 01:18:12,540 --> 01:18:13,960 printDots. 1751 01:18:13,960 --> 01:18:17,060 Так что я буду называть printDots. 1752 01:18:17,060 --> 01:18:21,530 Сколько точек я хочу, чтобы напечатать первый раз, прежде чем кролик? 1753 01:18:21,530 --> 01:18:22,030 АУДИТОРИЯ: J. 1754 01:18:22,030 --> 01:18:23,230 Брайан SCASSELLATI: J. 1755 01:18:23,230 --> 01:18:27,110 Сколько точек я хочу, чтобы напечатать В конце концов, после кролик? 1756 01:18:27,110 --> 01:18:30,610 1757 01:18:30,610 --> 01:18:31,110 10-J. 1758 01:18:31,110 --> 01:18:35,020 1759 01:18:35,020 --> 01:18:38,010 >> И есть одна вещь, я не хватает. 1760 01:18:38,010 --> 01:18:43,740 Как вы видели в лекции сегодня, мы собираемся объявить printDots 1761 01:18:43,740 --> 01:18:52,430 до выше, с получением прототипа. 1762 01:18:52,430 --> 01:18:56,740 1763 01:18:56,740 --> 01:18:58,220 ХОРОШО. 1764 01:18:58,220 --> 01:19:03,530 >> Так что я сделал это, я попытался изолировать подержанной часть кода 1765 01:19:03,530 --> 01:19:06,430 что я сделал, снова и снова. 1766 01:19:06,430 --> 01:19:11,120 И я попытался вытащить его, так что все, что содержится в одном месте. 1767 01:19:11,120 --> 01:19:16,810 Таким образом, если у меня есть где-то ошибку, У меня только, чтобы исправить это в одном месте. 1768 01:19:16,810 --> 01:19:17,310 Все в порядке. 1769 01:19:17,310 --> 01:19:18,470 >> Итак, давайте сохранить его. 1770 01:19:18,470 --> 01:19:20,950 И давайте убедитесь, что он работает. 1771 01:19:20,950 --> 01:19:22,050 Итак, давайте выходить на улицу. 1772 01:19:22,050 --> 01:19:25,200 Мы пойдем снова в наш терминал. 1773 01:19:25,200 --> 01:19:27,960 Мы масштаб. 1774 01:19:27,960 --> 01:19:31,010 Мы сделаем этот процесс кролика. 1775 01:19:31,010 --> 01:19:32,380 >> Ой. 1776 01:19:32,380 --> 01:19:34,800 И это дало мне предупреждение. 1777 01:19:34,800 --> 01:19:37,070 Что это говорит мне? 1778 01:19:37,070 --> 01:19:39,870 Ну в любом из них раз, вы всегда хотите 1779 01:19:39,870 --> 01:19:44,170 для прокрутки до первого error-- Теперь на этом, я получил только один. 1780 01:19:44,170 --> 01:19:52,700 >> Он говорит мне, в bunny.c, на линии 8, колонка 9, есть проблема. 1781 01:19:52,700 --> 01:19:58,650 Это говорит, вы Об этом заявил Переменная я, и вы не использовали его. 1782 01:19:58,650 --> 01:20:02,230 >> Теперь, как правило, это не самый худший ошибка. 1783 01:20:02,230 --> 01:20:04,300 Вот легким исправить. 1784 01:20:04,300 --> 01:20:07,550 И в самом деле, мы можем вернуться в. 1785 01:20:07,550 --> 01:20:09,910 Мы можем вернуться к кролика. 1786 01:20:09,910 --> 01:20:13,010 И в этом случае, все, что мы нужно сделать, это избавиться от I, 1787 01:20:13,010 --> 01:20:16,630 потому что мы не используем я в главной больше. 1788 01:20:16,630 --> 01:20:19,860 Мы просто использовать его в нашей подпрограмме. 1789 01:20:19,860 --> 01:20:22,777 >> Итак, давайте спасти. 1790 01:20:22,777 --> 01:20:23,360 Мы вернемся. 1791 01:20:23,360 --> 01:20:26,760 1792 01:20:26,760 --> 01:20:28,630 И увеличить. 1793 01:20:28,630 --> 01:20:30,700 Мы еще раз сделать кролика. 1794 01:20:30,700 --> 01:20:33,810 1795 01:20:33,810 --> 01:20:36,530 И вот опять наши 10 кадров. 1796 01:20:36,530 --> 01:20:39,450 1797 01:20:39,450 --> 01:20:41,360 ХОРОШО. 1798 01:20:41,360 --> 01:20:43,190 >> Каждый раз, когда вы дали procedure-- Да. 1799 01:20:43,190 --> 01:20:44,690 СПИКЕР 33: У меня есть a-- я запутался. 1800 01:20:44,690 --> 01:20:45,892 Вы можете вернуться к коду? 1801 01:20:45,892 --> 01:20:46,850 Брайан SCASSELLATI: Да. 1802 01:20:46,850 --> 01:20:50,730 1803 01:20:50,730 --> 01:20:54,367 >> СПИКЕР 33: Итак, когда вы писали Ваш прототип, аргумент Вам 1804 01:20:54,367 --> 01:20:56,550 что его назвали назвали howMany? 1805 01:20:56,550 --> 01:20:57,540 Но, below-- 1806 01:20:57,540 --> 01:20:57,640 >> Брайан SCASSELLATI: О, да. 1807 01:20:57,640 --> 01:20:59,140 >> СПИКЕР 33: --called им что-то разные, я не понимаю. 1808 01:20:59,140 --> 01:21:00,240 >> Брайан SCASSELLATI: Почему они отличаются. 1809 01:21:00,240 --> 01:21:01,780 Так что это большой вопрос. 1810 01:21:01,780 --> 01:21:08,250 Таким образом, вопрос был, до здесь я написал howMany, 1811 01:21:08,250 --> 01:21:12,380 и внизу, я написал howManyDots. 1812 01:21:12,380 --> 01:21:15,590 >> Причина в том, что в вашем прототипа, это на самом деле не обращая внимания 1813 01:21:15,590 --> 01:21:17,090 с именами, которые вы ставите в. 1814 01:21:17,090 --> 01:21:20,530 Все это на самом деле заботится о то, что это целое число. 1815 01:21:20,530 --> 01:21:23,080 Она хочет знать вид что вы кладете в. 1816 01:21:23,080 --> 01:21:31,560 >> Теперь stylistically-- oops--, что я должен сделать, это мне нравится, чтобы сделать эти матч. 1817 01:21:31,560 --> 01:21:33,150 ХОРОШО. 1818 01:21:33,150 --> 01:21:36,430 Потому что будет держать его мне легче запомнить. 1819 01:21:36,430 --> 01:21:38,390 Но это было моей ошибкой Да. 1820 01:21:38,390 --> 01:21:47,620 >> СПИКЕР 34: И так для Прототип на работу, просто 1821 01:21:47,620 --> 01:21:50,510 писать эту линию, писать прототип, 1822 01:21:50,510 --> 01:21:53,932 позволяет эту функцию, которая поставляется прямо под ней идти до конца 1823 01:21:53,932 --> 01:21:55,140 и вернуть то, что это значит? 1824 01:21:55,140 --> 01:21:58,480 >> Брайан SCASSELLATI: Что это означает когда компилятор проходит, 1825 01:21:58,480 --> 01:22:01,930 она идет от верхней части код на дно. 1826 01:22:01,930 --> 01:22:05,430 И то, что этот прототип является, это в основном обещание. 1827 01:22:05,430 --> 01:22:09,570 >> Это говорит, что это будет функция, определенная где-то. 1828 01:22:09,570 --> 01:22:11,880 Это будет называться printDots. 1829 01:22:11,880 --> 01:22:15,110 И это займет один аргумент что будет целое число 1830 01:22:15,110 --> 01:22:18,590 и он собирается вернуться ничего, пустота типа. 1831 01:22:18,590 --> 01:22:19,310 ХОРОШО. 1832 01:22:19,310 --> 01:22:22,950 Я обещаю вам это будет определяется где-то по дороге. 1833 01:22:22,950 --> 01:22:25,590 Но в любое время вы видите что, как вы идете вниз 1834 01:22:25,590 --> 01:22:28,710 до конца мой Основная функция, я хочу 1835 01:22:28,710 --> 01:22:33,800 Вы для лечения, что в качестве функции который принимает одно целое число входных данных. 1836 01:22:33,800 --> 01:22:37,970 >> И поэтому, когда компилятор идет вниз через это, он видит, что обещания. 1837 01:22:37,970 --> 01:22:40,220 И когда он получает вниз, продолжает идти, продолжает идти, 1838 01:22:40,220 --> 01:22:43,060 он находит в первый раз printDots упоминается. 1839 01:22:43,060 --> 01:22:46,910 И это говорит, О, вы даете мне это к. J Вот целое. 1840 01:22:46,910 --> 01:22:49,570 >> Ну вы мне обещали, что будет целое число, и это правильно. 1841 01:22:49,570 --> 01:22:51,370 Ничего страшного. 1842 01:22:51,370 --> 01:22:53,880 И, наконец, вплоть на самом дне, 1843 01:22:53,880 --> 01:22:58,340 прежде, чем я до конца моей Файл, я делаю свое обещание 1844 01:22:58,340 --> 01:22:59,896 и я определить его. 1845 01:22:59,896 --> 01:23:01,868 ОК? 1846 01:23:01,868 --> 01:23:06,320 >> СПИКЕР 35: Таким образом, это saves-- Программа сохранит пробелы 1847 01:23:06,320 --> 01:23:09,570 что он идет назад и заполняет в конце? 1848 01:23:09,570 --> 01:23:12,140 >> Брайан SCASSELLATI: Это не о распределении памяти. 1849 01:23:12,140 --> 01:23:16,800 Это на самом деле просто о том, что тип вы ожидали увидеть. 1850 01:23:16,800 --> 01:23:19,340 Если эта вещь есть один Аргумент, или пять аргументов? 1851 01:23:19,340 --> 01:23:23,590 Если есть это целые числа будет дано ему, или строк? 1852 01:23:23,590 --> 01:23:25,780 Это все, что она смотрит сделать, чтобы проверить, 1853 01:23:25,780 --> 01:23:29,303 вы даете меня Правильный вид аргумента. 1854 01:23:29,303 --> 01:23:31,560 ОК? 1855 01:23:31,560 --> 01:23:32,300 Все в порядке. 1856 01:23:32,300 --> 01:23:38,570 >> Позвольте мне оставить вас с один бит, чтобы смотреть на. 1857 01:23:38,570 --> 01:23:44,850 ASCII Art не большая модель анимации, как сегодня. 1858 01:23:44,850 --> 01:23:50,850 Но некоторые люди, конечно, взять вещи и они толкают его до крайности. 1859 01:23:50,850 --> 01:23:56,790 >> Это, Давид показал, в лекции, кусок кода 1860 01:23:56,790 --> 01:24:02,150 что вы должны ни при каких обстоятельствах попробуйте, чтобы дублировать себя. 1861 01:24:02,150 --> 01:24:05,260 Потому что это страшно стилистически. 1862 01:24:05,260 --> 01:24:11,180 На самом деле, он предназначен, чтобы быть, как сложно, как можно прочитать. 1863 01:24:11,180 --> 01:24:11,680 ХОРОШО. 1864 01:24:11,680 --> 01:24:16,210 >> Таким образом, чтобы сделать снова, давайте масштаба здесь. 1865 01:24:16,210 --> 01:24:20,120 Я собираюсь идти, каталог изменений. 1866 01:24:20,120 --> 01:24:24,050 Я собираюсь подняться на один Уровень, к моему рабочей области. 1867 01:24:24,050 --> 01:24:29,760 Затем я изменить каталог, в этот другой каталог, что я создал. 1868 01:24:29,760 --> 01:24:36,190 >> И это международный Запутанный программирования C Конкурс. 1869 01:24:36,190 --> 01:24:40,650 Запутанный средства, как трудно как можно понять. 1870 01:24:40,650 --> 01:24:44,150 Так что пожалуйста, не пугайтесь, если вы посмотрите на это и идти, я не могу читать это. 1871 01:24:44,150 --> 01:24:46,350 Это точка. 1872 01:24:46,350 --> 01:24:47,700 ОК? 1873 01:24:47,700 --> 01:24:52,770 >> Но у нас есть это замечательная программа, что я 1874 01:24:52,770 --> 01:24:57,180 будем смотреть на просто набрав больше. 1875 01:24:57,180 --> 01:25:01,890 И давайте посмотрим, если я могу уменьшить просто немного, так что вы можете видеть это 1876 01:25:01,890 --> 01:25:03,940 >> И это программа. 1877 01:25:03,940 --> 01:25:08,080 Он назван endo.c. 1878 01:25:08,080 --> 01:25:14,850 И, похоже, этого ведра с вид букв Ж-Л-У-И-D в нем. 1879 01:25:14,850 --> 01:25:16,440 >> Это на самом деле программа. 1880 01:25:16,440 --> 01:25:20,260 Она написана в самый темный способ, что авторы могли бы 1881 01:25:20,260 --> 01:25:21,760 Напиши это. 1882 01:25:21,760 --> 01:25:29,210 Но это чудесный маленький кусок, который генерирует модель гидродинамики. 1883 01:25:29,210 --> 01:25:34,870 >> И поэтому мы собираемся дать что модель, что вход 1884 01:25:34,870 --> 01:25:42,520 Похоже, это, staired установить контейнеров 1885 01:25:42,520 --> 01:25:45,820 с небольшим количеством жидкости, некоторые Жидкость, наверху. 1886 01:25:45,820 --> 01:25:48,790 И мы будем иметь его имитации то, что происходит с ним. 1887 01:25:48,790 --> 01:25:52,415 >> Так что я буду называть эту функцию, эндо. 1888 01:25:52,415 --> 01:25:59,000 И я дам его, что Входной файл, который я имел. 1889 01:25:59,000 --> 01:26:02,830 И наша воплощением ASCII искусства. 1890 01:26:02,830 --> 01:26:08,960 Полный гидродинамический симулятор работает в нескольких строк кода. 1891 01:26:08,960 --> 01:26:13,750 >> Теперь то, что на самом деле очень Удивительно, об этом мало программы 1892 01:26:13,750 --> 01:26:17,280 является то, что я хочу, чтобы остановить это сейчас, так что я собираюсь использовать то, что команды? 1893 01:26:17,280 --> 01:26:18,660 >> АУДИТОРИЯ: Control-C. 1894 01:26:18,660 --> 01:26:20,390 >> Брайан SCASSELLATI: Control-C. ХОРОШО. 1895 01:26:20,390 --> 01:26:22,960 Так что я буду использовать Control-C. С Это будет остановить его. 1896 01:26:22,960 --> 01:26:25,330 Я ясно снова. 1897 01:26:25,330 --> 01:26:31,210 А теперь я иду для вызова Программа, выполнить программу, 1898 01:26:31,210 --> 01:26:33,740 используя в качестве входных данных. 1899 01:26:33,740 --> 01:26:36,760 1900 01:26:36,760 --> 01:26:42,700 >> И мы увидим динамику жидкости моделирование него плавки. 1901 01:26:42,700 --> 01:26:43,830 ХОРОШО. 1902 01:26:43,830 --> 01:26:48,180 Пожалуйста, не дайте эту программу быть вещь, что вас смущает. 1903 01:26:48,180 --> 01:26:52,220 Это так, что мы можем закончить на то круто и интересно. 1904 01:26:52,220 --> 01:26:53,930 ХОРОШО. 1905 01:26:53,930 --> 01:26:56,330 >> Желаем удачи в ваших проблемных множеств. 1906 01:26:56,330 --> 01:26:59,030 Мы будем рады ответить на вопросы после занятий. 1907 01:26:59,030 --> 01:27:01,180 Спасибо большое, ребята. 1908 01:27:01,180 --> 01:27:02,793