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 Березня, 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 Це відбувається, щоб побачити справу Тисячу шістсот тридцять шість, про тих, рівні, 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 >> Якби я був на введення 1 701, який Я вважаю, всі ми вхід, 750 00:33:14,090 --> 00:33:17,500 було б пропустити цей випадок, прийшов до двох випадку, який є 1 701, 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