1 00:00:00,000 --> 00:00:12,510 2 00:00:12,510 --> 00:00:13,870 >> ROB: Добре. 3 00:00:13,870 --> 00:00:16,770 Ласкаво просимо в першій секції. 4 00:00:16,770 --> 00:00:17,480 Я Роб. 5 00:00:17,480 --> 00:00:18,806 >> ЙОСИП: Я Йосип. 6 00:00:18,806 --> 00:00:21,540 >> Роб: Так ми будемо пірнати право дюйм 7 00:00:21,540 --> 00:00:23,420 Перше, що потрібно говорити про є Appliance. 8 00:00:23,420 --> 00:00:27,150 Так що, сподіваюся, більшість з вас є скачав його вже. 9 00:00:27,150 --> 00:00:37,180 Але ви можете бачити інструкціям в cs50.net/appliance. 10 00:00:37,180 --> 00:00:38,430 О, Боже, тепер я сором'язливим. 11 00:00:38,430 --> 00:00:44,590 12 00:00:44,590 --> 00:00:45,430 Я все ще чую його. 13 00:00:45,430 --> 00:00:47,232 >> ЙОСИП: Нічого собі, це звучить як це дезорієнтований. 14 00:00:47,232 --> 00:00:52,460 >> Роб: Таким чином, деякі люди були з проблеми з нею, так що не чекайте, поки 15 00:00:52,460 --> 00:00:54,940 остання хвилина проблеми встановлений в спробувати вирішити Appliance і 16 00:00:54,940 --> 00:00:56,320 дізнавшись, що вона не працює. 17 00:00:56,320 --> 00:00:59,010 >> ЙОСИП: І якщо щось не працює і вам потрібна допомога, ви можете піти в 18 00:00:59,010 --> 00:01:03,390 cs50.net/discussion де ми є форум, де ви 19 00:01:03,390 --> 00:01:04,110 може поставити свої запитання. 20 00:01:04,110 --> 00:01:06,655 І ми повернемося до них в кінці кінців. 21 00:01:06,655 --> 00:01:07,490 >> ROB: Добре. 22 00:01:07,490 --> 00:01:12,180 Так що це те, що прилад виглядає. 23 00:01:12,180 --> 00:01:15,480 Знову ж, це просто зовсім окрема операційна система, що працює в рамках 24 00:01:15,480 --> 00:01:19,440 що операційна система встановлена ​​на працюють на вашому ноутбуці. 25 00:01:19,440 --> 00:01:24,450 І основні речі, які ви будете використовувати в Gedit. 26 00:01:24,450 --> 00:01:28,050 Так ми сподіваємося, це вже стати знайомий сайт. 27 00:01:28,050 --> 00:01:29,470 Термінал. 28 00:01:29,470 --> 00:01:31,890 >> І ви також можете запустити Chrome в Appliance. 29 00:01:31,890 --> 00:01:33,860 Там було кілька людей які повідомили Інтернет 30 00:01:33,860 --> 00:01:35,390 не працює в Appliance. 31 00:01:35,390 --> 00:01:38,090 І деякі з них просто припустив, що там не повинно бути 32 00:01:38,090 --> 00:01:39,190 Інтернет в Appliance. 33 00:01:39,190 --> 00:01:40,750 Але так, там, як передбачається бути інтернет. 34 00:01:40,750 --> 00:01:44,000 35 00:01:44,000 --> 00:01:46,410 >> Я скажу це прямо зараз, але це не так дійсно означають. 36 00:01:46,410 --> 00:01:50,680 Якщо Інтернет не працює, це те, що ви, як правило, потрібно 37 00:01:50,680 --> 00:01:52,180 для запуску, щоб виправити це. 38 00:01:52,180 --> 00:01:55,602 Якщо у вас виникли питання, Інтернету, не пам'ятаю, просто розмістити його на 39 00:01:55,602 --> 00:01:57,560 Обговорити, і ми будемо говорити, працювати, що. 40 00:01:57,560 --> 00:02:00,420 Але Інтернет повинен працювати. 41 00:02:00,420 --> 00:02:06,650 >> не так єдине, що - так, нічого інше справді актуальні. 42 00:02:06,650 --> 00:02:08,979 Але я просто хотів би відзначити, що - 43 00:02:08,979 --> 00:02:13,290 см. в цьому нижньому правому куті. 44 00:02:13,290 --> 00:02:16,530 Таким чином, кожен з ваших прилади повинні є IP-адресу. 45 00:02:16,530 --> 00:02:22,350 А пізніше в семестр, це IP- адреса стане більш актуальним, коли 46 00:02:22,350 --> 00:02:27,230 ви працюєте на веб-р-набір, тому що ви зможете отримати доступ до 47 00:02:27,230 --> 00:02:32,310 сайт ви працюєте на від вашого місцевий Chrome за допомогою цього IP-адреси. 48 00:02:32,310 --> 00:02:35,400 >> Але що мені подобається використовувати IP-адресу для - і ви не повинні робити це, я 49 00:02:35,400 --> 00:02:37,460 просто хочу вказати на це - 50 00:02:37,460 --> 00:02:39,540 тут. 51 00:02:39,540 --> 00:02:42,910 Так що це вікно терміналу на мій Mac, це не в 52 00:02:42,910 --> 00:02:44,580 Appliance взагалі. 53 00:02:44,580 --> 00:02:47,190 І ви можете подивитися, що ця команда робить. 54 00:02:47,190 --> 00:02:51,855 Але я збираюся SSH безпосередньо до мого Appliance. 55 00:02:51,855 --> 00:02:53,410 Я не знаю, що IP є. 56 00:02:53,410 --> 00:02:54,300 >> ЙОСИП: 168 - 57 00:02:54,300 --> 00:02:56,080 >> 168.224.1.0. 58 00:02:56,080 --> 00:02:59,950 >> Роб: Тому, як тільки я зробив з цим, увійдіть 59 00:02:59,950 --> 00:03:05,450 Тепер, в основному, це ідентично вікно терміналу в моїй Appliance. 60 00:03:05,450 --> 00:03:10,280 Так що я в значній мірі ніколи не працював з самого Appliance. 61 00:03:10,280 --> 00:03:12,550 Я просто завжди це працює у фоновому режимі згорнутого 62 00:03:12,550 --> 00:03:15,890 і SSHed в неї. 63 00:03:15,890 --> 00:03:24,270 >> Питання з це ви не збираєтеся , Щоб мати можливість використовувати Gedit легко 64 00:03:24,270 --> 00:03:25,600 безпосередньо від цього. 65 00:03:25,600 --> 00:03:31,500 Але якщо ви хочете бути справжнім круто хакер, то ви повинні звикнути до 66 00:03:31,500 --> 00:03:34,220 командного рядка текстовий редактор в будь-якому випадку. 67 00:03:34,220 --> 00:03:39,620 Так Вім і Emacs і нано, всі ці різні альтернативи. 68 00:03:39,620 --> 00:03:41,560 Нано, як правило, найпростіший. 69 00:03:41,560 --> 00:03:45,006 І я думаю, що це не має собі підсвічування синтаксису. 70 00:03:45,006 --> 00:03:47,620 О, ні, це повністю робить. 71 00:03:47,620 --> 00:03:49,870 Таким чином, ви можете використовувати Nano, тому що що один досить легко. 72 00:03:49,870 --> 00:03:52,000 >> Ви бачите всі ці команди в нижній частині. 73 00:03:52,000 --> 00:03:54,750 Цей маленький символ моркву. 74 00:03:54,750 --> 00:03:57,620 Якщо ви ще не бачили його раніше, ви будете , Ймовірно, побачити його багато зараз. 75 00:03:57,620 --> 00:04:02,350 Це зазвичай означає, управління морква, як знизу зліва від клавіатури 76 00:04:02,350 --> 00:04:04,130 керуючий символ. 77 00:04:04,130 --> 00:04:07,260 Так ось він каже мені, сюди - 78 00:04:07,260 --> 00:04:08,710 О, це не відрізали, якщо я збільшення масштабу 79 00:04:08,710 --> 00:04:11,040 Таким чином, управління, X, як Я збираюся вийти. 80 00:04:11,040 --> 00:04:14,710 І це говорить, що я можу вдарити Y для Так, для економії, N для Ні. 81 00:04:14,710 --> 00:04:17,190 Так от Nano. 82 00:04:17,190 --> 00:04:22,860 >> Вім і Emacs мають тенденцію бути трохи більш складним і переважною. 83 00:04:22,860 --> 00:04:28,840 Але ви можете звикнути до нього, і тоді ви будете любити його. 84 00:04:28,840 --> 00:04:30,590 Так ось, що. 85 00:04:30,590 --> 00:04:31,720 >> ЙОСИП: Немає необхідності робити це. 86 00:04:31,720 --> 00:04:31,840 >> Роб: Так. 87 00:04:31,840 --> 00:04:37,510 Ви можете вільно використовувати Gedit для Інша частина семестру. 88 00:04:37,510 --> 00:04:40,630 Таким чином, будь-який прилад, пов'язаних запитання? 89 00:04:40,630 --> 00:04:42,820 Або у вас є які-небудь думки на те, що ще необхідно говорити про те, про 90 00:04:42,820 --> 00:04:43,610 прилад? 91 00:04:43,610 --> 00:04:43,996 Так. 92 00:04:43,996 --> 00:04:47,720 >> Виступаючий 1: Коли ви SSHed в ваше річ, був пароль Багряний? 93 00:04:47,720 --> 00:04:48,390 >> Роб: Так. 94 00:04:48,390 --> 00:04:50,170 Пароль для майже все, в Appliance збирається 95 00:04:50,170 --> 00:04:52,473 бути Багряний. 96 00:04:52,473 --> 00:04:56,517 >> СПІКЕР 2: Установка як справжній IDE на приладі, чи буде він працювати? 97 00:04:56,517 --> 00:04:59,200 98 00:04:59,200 --> 00:05:07,290 >> Роб: Я уявляю собі Затемнення має Fedora версія, і в цьому випадку, так, 99 00:05:07,290 --> 00:05:08,420 Ви можете зробити це. 100 00:05:08,420 --> 00:05:10,875 Це, ймовірно, насправді не варто. 101 00:05:10,875 --> 00:05:11,742 >> СПІКЕР 2: ОК. 102 00:05:11,742 --> 00:05:15,924 Так що, напевно, простіше, якби я хотів використовувати Eclipse, просто використовувати рідну і 103 00:05:15,924 --> 00:05:17,646 потім завантажити на - 104 00:05:17,646 --> 00:05:21,090 >> Роб: О, це також, ймовірно, простіше. 105 00:05:21,090 --> 00:05:24,046 Але ви можете змусити його працювати в Appliance. 106 00:05:24,046 --> 00:05:27,740 >> ЙОСИП: І для камери, питання було, ви можете встановити інший 107 00:05:27,740 --> 00:05:29,490 IDE всередині Appliance? 108 00:05:29,490 --> 00:05:31,520 >> ROB: Затемнення бути Прикладом IDE. 109 00:05:31,520 --> 00:05:34,800 110 00:05:34,800 --> 00:05:36,050 Будь-які інші питання побутової? 111 00:05:36,050 --> 00:05:38,250 112 00:05:38,250 --> 00:05:38,680 Добре. 113 00:05:38,680 --> 00:05:44,920 >> Таким чином, ми тепер перейдемо до командного рядка інтерфейс, пов'язаних речей, так CLI. 114 00:05:44,920 --> 00:05:47,990 І знову ж, я просто хочу працювати в тут, тому що це ідентично 115 00:05:47,990 --> 00:05:52,780 працює в термінальному вікні в Appliance. 116 00:05:52,780 --> 00:05:54,160 Як це шрифт дивлячись? 117 00:05:54,160 --> 00:05:55,970 Це досить великий? 118 00:05:55,970 --> 00:05:57,000 Добре. 119 00:05:57,000 --> 00:06:02,480 >> Таким чином, є багато команд, які ви повинні отримати досить використовуватися для 120 00:06:02,480 --> 00:06:04,490 протягом семестру. 121 00:06:04,490 --> 00:06:09,480 Велика два для навігації є лс, список файли в цьому каталозі, а також 122 00:06:09,480 --> 00:06:11,380 кд, тому змінити каталог. 123 00:06:11,380 --> 00:06:18,390 Так що я можу змінити, щоб робочий стіл, а потім дуже поширена картина перейдіть в 124 00:06:18,390 --> 00:06:22,550 каталог і відразу Ls Що в каталозі. 125 00:06:22,550 --> 00:06:25,540 >> Люди також іноді не розуміють, що завершення Tab є річчю. 126 00:06:25,540 --> 00:06:28,370 Так як CD, VH, а потім я вдарив Tab. 127 00:06:28,370 --> 00:06:30,790 Я майже ніколи не вдрукувати вся річ. 128 00:06:30,790 --> 00:06:32,920 І потім, якщо я тримати удар Tab знову, воно буде автоматично 129 00:06:32,920 --> 00:06:33,670 почати лістинг для мене. 130 00:06:33,670 --> 00:06:37,000 Так що я можу кд віртуальних доменів, локальний хост. 131 00:06:37,000 --> 00:06:39,880 І це тільки збирається - 132 00:06:39,880 --> 00:06:43,380 у разі, якщо ви ще не чули термін раніше, каталог просто інше слово 133 00:06:43,380 --> 00:06:45,170 для папки. 134 00:06:45,170 --> 00:06:49,930 Так що тепер, якщо ви бачите - 135 00:06:49,930 --> 00:06:51,810 наведемо, що на самому верху. 136 00:06:51,810 --> 00:06:55,380 >> Так що тепер, якщо ви бачите в дужках, ви побачити маленький тильди, слеш, віртуальний хост, 137 00:06:55,380 --> 00:06:56,810 слеш, локальний хост. 138 00:06:56,810 --> 00:07:00,040 Так тильди, що називається в моєму домашньому каталозі. 139 00:07:00,040 --> 00:07:03,090 Це каталог ви коли ви SSH дюйма 140 00:07:03,090 --> 00:07:05,660 Це каталог, який ви знаходитесь в, коли Ви відкрийте термінал. 141 00:07:05,660 --> 00:07:08,650 Це місце, де ви починаєте. 142 00:07:08,650 --> 00:07:13,110 І тому я всередині моєї домашньої директорії, і я всередині віртуальний хост 143 00:07:13,110 --> 00:07:14,475 каталог всередині моєї домашньої директорії. 144 00:07:14,475 --> 00:07:19,670 А потім я всередині місцевий пройде каталог всередині цього. 145 00:07:19,670 --> 00:07:23,740 >> Таким чином, деякі інші корисні речі з CD - 146 00:07:23,740 --> 00:07:29,220 або ну загалом, так точка завжди відноситься до поточної директорії. 147 00:07:29,220 --> 00:07:31,130 Cd, точка є досить марною команда. 148 00:07:31,130 --> 00:07:35,150 Але все змінюється в поточний каталог. 149 00:07:35,150 --> 00:07:38,230 Більш корисним, з точки зору кд є точка, точка, яка є 150 00:07:38,230 --> 00:07:40,220 просто піти на один каталог вгору. 151 00:07:40,220 --> 00:07:43,360 >> І зауважте, що це - 152 00:07:43,360 --> 00:07:48,610 Я хочу сказати, псевдоніми, але вони символи, точка, і крапка, крапка, ці роботи 153 00:07:48,610 --> 00:07:51,740 для майже будь-якої команди ви знаходитесь думатиме працювати. 154 00:07:51,740 --> 00:07:55,370 Так як кд, ймовірно, де ви будете з використанням самих, але вони не 155 00:07:55,370 --> 00:07:56,780 речі, які просто кд розуміє. 156 00:07:56,780 --> 00:07:59,980 Це в значній мірі те, що ваш весь командного рядка розуміє. 157 00:07:59,980 --> 00:08:01,932 Багато програм розумію точка і точка, точка. 158 00:08:01,932 --> 00:08:04,830 159 00:08:04,830 --> 00:08:09,090 >> Так що інші корисні з них - CD, тире. 160 00:08:09,090 --> 00:08:13,460 Так що збирається принести мене Останній каталог, що я був усередині 161 00:08:13,460 --> 00:08:15,980 Так що іноді я буду робити щось подібне, ой, я працюю тут. 162 00:08:15,980 --> 00:08:21,110 І я бачу деякі помилки з чимось, і Я піду досліджувати його, перейшовши в 163 00:08:21,110 --> 00:08:24,020 деякі випадкові каталог десь. 164 00:08:24,020 --> 00:08:25,260 І я не знаю, якщо це буде нехай мене туди. 165 00:08:25,260 --> 00:08:25,720 Це буде. 166 00:08:25,720 --> 00:08:27,615 Так само роблю все, що хочу в цьому каталозі. 167 00:08:27,615 --> 00:08:28,950 Бла, бла, бла, бла, бла. 168 00:08:28,950 --> 00:08:31,770 І я подумала: все в порядку, я хочу щоб повернутися туди, де я був. 169 00:08:31,770 --> 00:08:34,490 кд, тире, і це приносить мені назад. 170 00:08:34,490 --> 00:08:39,970 >> Так що я збираюся кинути багато з них на вас сьогодні. 171 00:08:39,970 --> 00:08:43,730 Я не очікую, що ви запам'ятаєте всі з них. 172 00:08:43,730 --> 00:08:46,170 Це свого роду просто знаю, що вони існують. 173 00:08:46,170 --> 00:08:48,690 А потім, коли ви, як, хм, я хочу повернутися до 174 00:08:48,690 --> 00:08:51,870 каталог, який я був просто в, о, почекайте, щось на зразок цього існує. 175 00:08:51,870 --> 00:08:53,980 Ви не повинні просто введіть весь каталог знову. 176 00:08:53,980 --> 00:08:56,090 >> ЙОСИП: І в кінці кінців ви будете просто використовувати їх знову і знову, і 177 00:08:56,090 --> 00:08:57,830 це стане м'язова пам'ять. 178 00:08:57,830 --> 00:09:00,090 >> Роб: Так. 179 00:09:00,090 --> 00:09:02,930 Отже, як я вже говорив, що Тільда Ваш домашній каталог. 180 00:09:02,930 --> 00:09:04,820 Так що я можу CD, тильди. 181 00:09:04,820 --> 00:09:07,280 Але я навіть не доведеться зробити це, якщо я просто - 182 00:09:07,280 --> 00:09:09,760 Я повернуся в каталог так це не безглуздо приклад. 183 00:09:09,760 --> 00:09:14,560 Але якщо я просто роблю кд, це також само, як і перейдіть моєму домашньому каталозі. 184 00:09:14,560 --> 00:09:18,380 185 00:09:18,380 --> 00:09:19,880 Я роблю Command, К. 186 00:09:19,880 --> 00:09:24,015 >> ЙОСИП: Можна також ввести ясно, слово, і він повинен очистити його. 187 00:09:24,015 --> 00:09:28,650 >> Роб: І я думаю, також управління, L також робить це. 188 00:09:28,650 --> 00:09:29,690 Так багато різних способів. 189 00:09:29,690 --> 00:09:34,070 Я думаю, що є деякі відмінності, де ясно і управління, L буде просто 190 00:09:34,070 --> 00:09:37,280 дійсно підштовхнути його до вершини і Я все ще можу прокрутити назад. 191 00:09:37,280 --> 00:09:40,580 Команда, К буквально знищує все, і ви 192 00:09:40,580 --> 00:09:42,960 не може прокрутити назад. 193 00:09:42,960 --> 00:09:45,530 Принаймні, це як це працює в iTerm2. 194 00:09:45,530 --> 00:09:48,690 Я не знаю, як інші речі - 195 00:09:48,690 --> 00:09:49,360 о. 196 00:09:49,360 --> 00:09:55,450 >> З SSHing, так що якщо ви знаходитесь на Windows, ви будете мати, щоб завантажити PuTTY 197 00:09:55,450 --> 00:10:02,360 для того, щоб ЗОШ с Windows не робить є як вбудований SSH інструменту. 198 00:10:02,360 --> 00:10:06,150 З Mac, ви можете просто SSH безпосередньо з вікна терміналу. 199 00:10:06,150 --> 00:10:08,755 200 00:10:08,755 --> 00:10:09,690 ОК. 201 00:10:09,690 --> 00:10:11,840 Питання? 202 00:10:11,840 --> 00:10:19,260 >> З Л. С., так щось, щоб звикнути до з більшістю з цих команд - 203 00:10:19,260 --> 00:10:20,060 ну, я просто виконайте одну. 204 00:10:20,060 --> 00:10:21,310 Ls, тире, л. 205 00:10:21,310 --> 00:10:26,330 Так тире, л те, що ми збираємося викликати прапор Ls. 206 00:10:26,330 --> 00:10:30,770 І багато хто з цих команд є прапори що ви можете передати їм. 207 00:10:30,770 --> 00:10:35,020 Таким чином, в цьому випадку, тире, л це прапор що говорить його дати мені повний 208 00:10:35,020 --> 00:10:37,850 перелік всієї інформації з цих файлів. 209 00:10:37,850 --> 00:10:44,790 >> Таким чином, ми бачимо, що робочий стіл був зміна 30 липня в 12:54. 210 00:10:44,790 --> 00:10:47,160 Завантаження була змінена на 6 вересня. 211 00:10:47,160 --> 00:10:52,350 Це поточний розмір і байт цих каталогів. 212 00:10:52,350 --> 00:10:54,412 Ви не повинні розуміти, все це. 213 00:10:54,412 --> 00:11:00,380 >> Цей матеріал ліворуч, ці drwx х, що стане набагато більш актуальні 214 00:11:00,380 --> 00:11:02,290 пізніше, коли вам доводиться мати справу з - 215 00:11:02,290 --> 00:11:05,900 , Що пов'язано з тим, хто має дозволу дивитися на ці файли. 216 00:11:05,900 --> 00:11:09,880 І тому, якщо ви не були єдиним користувачем на цей комп'ютер, ви були б в змозі 217 00:11:09,880 --> 00:11:13,345 скажімо, добре, я повинен бути тільки один дозволили дивитися на цей файл або я 218 00:11:13,345 --> 00:11:14,870 збирається дозволить кожному подивитися на цей файл. 219 00:11:14,870 --> 00:11:17,710 Так хтось на моєму комп'ютері можете подивитися на цьому файлі. 220 00:11:17,710 --> 00:11:22,190 221 00:11:22,190 --> 00:11:25,600 Я навіть не знаю, що це - що ж це зробити? 222 00:11:25,600 --> 00:11:26,840 >> ЙОСИП: Я не зовсім впевнений, насправді. 223 00:11:26,840 --> 00:11:27,705 >> Роб: Не знаю. 224 00:11:27,705 --> 00:11:30,530 >> ЙОСИП: Але якщо ви не знаєте, є корисними команда, яку можна використовувати 225 00:11:30,530 --> 00:11:31,680 щоб сказати вам, що засіб виведення. 226 00:11:31,680 --> 00:11:33,780 І якщо ви введете в людині перед командою - 227 00:11:33,780 --> 00:11:35,000 так М-А-Н. Роб: Людина. 228 00:11:35,000 --> 00:11:37,690 Так людина є ще одним що є дуже корисним. 229 00:11:37,690 --> 00:11:39,540 І людина, к.с. 230 00:11:39,540 --> 00:11:47,320 Таким чином, чоловік сторінки, вони обидва команди, які ви збираєтеся використовувати 231 00:11:47,320 --> 00:11:50,330 в командному рядку, і вони також мають функцій, які будуть мати відношення 232 00:11:50,330 --> 00:11:52,530 з С. Таким чином, ви можете людині - 233 00:11:52,530 --> 00:11:53,720 і я проігнорував 3. 234 00:11:53,720 --> 00:11:57,410 Але людина 3 Е збирається принести до версії C з Printf. 235 00:11:57,410 --> 00:12:01,030 Але якщо я просто роблю чоловік Printf, це збирається вивести на екран командний Printf 236 00:12:01,030 --> 00:12:03,540 що відбувається в командному рядку. 237 00:12:03,540 --> 00:12:05,730 >> Так людина, к.с. 238 00:12:05,730 --> 00:12:09,030 Людина сторінки може бути досить переважною. 239 00:12:09,030 --> 00:12:12,770 Тут, однак, ви побачите це перерахування всіх цих прапорів, які Ls 240 00:12:12,770 --> 00:12:14,300 розуміє. 241 00:12:14,300 --> 00:12:17,876 Так що, якщо ми йдемо в тире, л, і - 242 00:12:17,876 --> 00:12:19,300 Я просто хочу, щоб кинути це на вас. 243 00:12:19,300 --> 00:12:23,050 Але з метою пошуку, ви хочете першим дотиком питання 244 00:12:23,050 --> 00:12:24,780 знак або кнопку слеш. 245 00:12:24,780 --> 00:12:26,040 Так слеш. 246 00:12:26,040 --> 00:12:29,000 >> І тоді я можу шукати для все, що захочу. 247 00:12:29,000 --> 00:12:33,780 Так що я збираюся скоротити для панелі, л. 248 00:12:33,780 --> 00:12:35,110 І там це було. 249 00:12:35,110 --> 00:12:37,450 Так використовувати довгий формат лістингу. 250 00:12:37,450 --> 00:12:40,060 Це не допоможе мені зрозуміти, що що конкретний стовпець мав на увазі, але я 251 00:12:40,060 --> 00:12:44,480 Припустимо, десь тут було б пояснити, що. 252 00:12:44,480 --> 00:12:48,740 Так що використовуйте довідкові сторінки для будь-якої команди що ви не відразу зрозумів. 253 00:12:48,740 --> 00:12:51,080 >> Я цілком впевнений, ви можете навіть чоловік, людина. 254 00:12:51,080 --> 00:12:53,070 Інтерфейс до онлайн довідники. 255 00:12:53,070 --> 00:12:57,700 256 00:12:57,700 --> 00:13:03,570 О, одна остання той, який, може бути, трохи актуальним є лс, тире,. 257 00:13:03,570 --> 00:13:08,490 Так помітити, якщо я просто роблю Ls, Я отримую ці п'ять файлів. 258 00:13:08,490 --> 00:13:11,480 Якщо я це зроблю Ls, тире, я отримати набагато більше файлів. 259 00:13:11,480 --> 00:13:15,350 Таким чином, загальна риса між усіма цими нові файли є точка заздалегідь. 260 00:13:15,350 --> 00:13:21,220 >> Таким чином, конвенція є те, що файл, який починається з точки прихований. 261 00:13:21,220 --> 00:13:25,300 Таким чином, ви не хочете, щоб подивитися файл, ви не хочете, щоб він возитися з 262 00:13:25,300 --> 00:13:26,750 позицією в каталозі каталог. 263 00:13:26,750 --> 00:13:30,020 І тільки коли ви явно задати, Все в порядку, Ls, тире, покажи мені. 264 00:13:30,020 --> 00:13:32,830 Варто для всіх файлів, в тому числі приховані. 265 00:13:32,830 --> 00:13:37,260 266 00:13:37,260 --> 00:13:39,270 Таким чином, деякі інші команди. 267 00:13:39,270 --> 00:13:41,323 О, питання в цій точці? 268 00:13:41,323 --> 00:13:41,746 Так. 269 00:13:41,746 --> 00:13:45,914 >> СПІКЕР 3: Коли ви робите Ls, , Що точка, точка? 270 00:13:45,914 --> 00:13:46,870 >> ROB: Ох. 271 00:13:46,870 --> 00:13:48,780 Так що це те, що я мав на увазі. 272 00:13:48,780 --> 00:13:50,890 Це те ж саме, де Я можу, наприклад, компакт, точки, точки. 273 00:13:50,890 --> 00:13:56,790 Технічно, точка і точка, точка є файли, які існують в кожен 274 00:13:56,790 --> 00:14:03,620 каталог, де знаходиться файл точка відноситься в поточному каталозі. 275 00:14:03,620 --> 00:14:06,930 Так що якщо я кд, точка, я просто хочу, залишитися в каталозі. 276 00:14:06,930 --> 00:14:10,870 І крапка, крапка завжди відноситься до попередня каталог на один рівень вище. 277 00:14:10,870 --> 00:14:18,200 Так що, якщо я йду в журналах і Ls, тире, ін, Побачимося точка, точка. кд розставити всі крапки, точка 278 00:14:18,200 --> 00:14:20,390 приносить мені в попередній каталог. 279 00:14:20,390 --> 00:14:24,530 280 00:14:24,530 --> 00:14:25,780 Так. 281 00:14:25,780 --> 00:14:27,160 282 00:14:27,160 --> 00:14:28,110 ОК. 283 00:14:28,110 --> 00:14:33,070 >> Так ще один досить важливий команда РМ. 284 00:14:33,070 --> 00:14:35,650 Так ось що ми збираємося використовувати для видалення. 285 00:14:35,650 --> 00:14:38,100 І дозвольте мені насправді роблять інше Команда в першу чергу. 286 00:14:38,100 --> 00:14:39,610 Так MkDir. 287 00:14:39,610 --> 00:14:42,770 Mkdir, як ви можете створювати каталоги. 288 00:14:42,770 --> 00:14:47,530 І я створю тимчасовий каталог і увійти в цю тимчасову директорію. 289 00:14:47,530 --> 00:14:49,590 І, як і слід було очікувати, вона порожня. 290 00:14:49,590 --> 00:14:53,680 Але якщо я Ls, тире, а, я до сих пір точка і крапка, крапка, тому що точка належить до 291 00:14:53,680 --> 00:14:54,480 поточний каталог. 292 00:14:54,480 --> 00:14:56,170 І крапка, крапка ставиться до попередня каталог. 293 00:14:56,170 --> 00:14:58,700 А ті, завжди буде існувати незалежно від того, каталог ви всередині 294 00:14:58,700 --> 00:15:01,910 295 00:15:01,910 --> 00:15:09,010 >> І це абсолютно не потрібно Команда, але сенсорний. 296 00:15:09,010 --> 00:15:11,880 Я просто використовувати його, тому що це простий спосіб для створення файлів. 297 00:15:11,880 --> 00:15:16,180 Так торкнутися, доторкнутися б, доторкнутися з просто збирається створити три файли звані, 298 00:15:16,180 --> 00:15:17,845 б, в, що абсолютно порожні. 299 00:15:17,845 --> 00:15:20,450 300 00:15:20,450 --> 00:15:24,980 Таким чином, точка мені створюючи ті, в перше місце займає саме так, що гт 301 00:15:24,980 --> 00:15:26,250 як ми можемо видалити їх. 302 00:15:26,250 --> 00:15:27,850 Так гт,. 303 00:15:27,850 --> 00:15:30,960 Це збирається запитати мене, зніміть регулярне порожній файл? 304 00:15:30,960 --> 00:15:33,170 А потім я скажу Так. 305 00:15:33,170 --> 00:15:39,090 >> Так що якщо я точно знаю, що я хочу стерти файл без необхідності 306 00:15:39,090 --> 00:15:44,500 запропоновано, видалити регулярну порожній файл?, то гт, тире, е буде 307 00:15:44,500 --> 00:15:48,230 Прапор, який говорить, змусити видалити без навіть спонукало мене, о, ти 308 00:15:48,230 --> 00:15:49,710 впевнені, що хочете видалити файл? 309 00:15:49,710 --> 00:15:50,810 Так, я впевнений. 310 00:15:50,810 --> 00:15:56,050 Так RM, тире, FB буде просто зробити це, не питаючи. 311 00:15:56,050 --> 00:15:57,950 >> То давайте зробимо ще кілька каталогів. 312 00:15:57,950 --> 00:16:03,670 MkDir, tmp2, CD, tmp2, торкнутися, сенсорний б. 313 00:16:03,670 --> 00:16:04,300 ОК. 314 00:16:04,300 --> 00:16:08,180 Так що тепер я хочу, щоб видалити tmp2 як каталог. 315 00:16:08,180 --> 00:16:10,316 Так гт tmp2. 316 00:16:10,316 --> 00:16:12,920 Ви не можете видалити TMP2, це каталог. 317 00:16:12,920 --> 00:16:21,370 Так що питання в тому, що РМ НЕ відразу працювати з каталогами. 318 00:16:21,370 --> 00:16:26,530 Він використовується лише для для файлів, таких як файли, які не є каталог. 319 00:16:26,530 --> 00:16:30,800 >> І так, що ми можемо зробити ось гт, тире, м. 320 00:16:30,800 --> 00:16:35,160 Це означає рекурсивно, які могли б нічого не означає для вас ще. 321 00:16:35,160 --> 00:16:38,280 Але коли ви отримуєте на рекурсії, це означатиме більше. 322 00:16:38,280 --> 00:16:43,540 Так RM, тире, г, tmp2 збирається рекурсивно перейти в цей каталог. 323 00:16:43,540 --> 00:16:45,540 Так спуститися в каталозі TMP2? 324 00:16:45,540 --> 00:16:47,330 Так, підемо на це. 325 00:16:47,330 --> 00:16:49,360 Чи хочемо ми, щоб видалити TMP2 /? 326 00:16:49,360 --> 00:16:49,745 Так. 327 00:16:49,745 --> 00:16:51,830 Чи хочемо ми, щоб видалити TMP2 / B? 328 00:16:51,830 --> 00:16:52,840 Так. 329 00:16:52,840 --> 00:16:55,170 Тепер ми хочемо, щоб видалити tmp2 каталог? 330 00:16:55,170 --> 00:16:56,040 Так. 331 00:16:56,040 --> 00:16:58,410 І ось тепер каталог і все, що всередині 332 00:16:58,410 --> 00:16:59,660 з вона була вилучена. 333 00:16:59,660 --> 00:17:02,850 334 00:17:02,850 --> 00:17:07,250 >> Існує технічно команда видалити каталог що ви можете використовувати для видалення 335 00:17:07,250 --> 00:17:11,670 каталоги, але це працює тільки на порожніх каталогів в будь-якому випадку. 336 00:17:11,670 --> 00:17:14,109 І бачити, що, давайте просто зробити MkDir, TMP2 знову. 337 00:17:14,109 --> 00:17:15,940 TMP2 торкніться. 338 00:17:15,940 --> 00:17:16,800 ОК. 339 00:17:16,800 --> 00:17:22,770 Так що, якщо я намагаюся видалити dirtmp2, воно буде кажуть, каталог не порожній. 340 00:17:22,770 --> 00:17:29,540 Так що я не в значній мірі не використовуйте видалити Команда реж будь-якому випадку, тому RM, тире, 341 00:17:29,540 --> 00:17:35,140 г працюватиме на порожніх каталогів і не-порожні папки. 342 00:17:35,140 --> 00:17:37,760 >> А також, якщо я не хочу, щоб пройти через це всього процесу 343 00:17:37,760 --> 00:17:40,720 убування в каталог і видалення кожного окремого файлу, RM, 344 00:17:40,720 --> 00:17:44,190 тире, ВЧ, tmp2. 345 00:17:44,190 --> 00:17:45,670 А тепер його немає. 346 00:17:45,670 --> 00:17:51,220 >> Щось бути обережним про те, RM, тире, ВЧ. 347 00:17:51,220 --> 00:17:53,660 І це лякає мене навіть ввести його, тому що, якщо я випадково 348 00:17:53,660 --> 00:17:55,090 натисніть Введення або щось. 349 00:17:55,090 --> 00:18:02,735 Так RM, тире, ВЧ, Тільда ​​б, без спонукало мене, е не просить 350 00:18:02,735 --> 00:18:05,670 мене, він автоматично видалить вся моя домашня директорія і 351 00:18:05,670 --> 00:18:06,780 все в ньому. 352 00:18:06,780 --> 00:18:11,460 Таким чином, ви можете думати, що це дурний вчинок. 353 00:18:11,460 --> 00:18:12,830 І добре, що це. 354 00:18:12,830 --> 00:18:18,600 >> Але це може відбутися дуже легко аварії, якщо, скажімо, я хотів, щоб видалити 355 00:18:18,600 --> 00:18:21,640 моя риса, каталог віртуальний хост. 356 00:18:21,640 --> 00:18:26,610 І тільки у швидкій набору тексту, Я випадково це зробити. 357 00:18:26,610 --> 00:18:31,880 Це зніме рекурсивно як мій домашній каталог і каталог віртуальний хост 358 00:18:31,880 --> 00:18:35,450 в даному конкретному каталозі, просто трапляється не існує зараз. 359 00:18:35,450 --> 00:18:39,520 Але це було б ще видалити вся моя домашня директорія. 360 00:18:39,520 --> 00:18:43,090 Принаймні, не маючи е, це викликало б мене в першу чергу. 361 00:18:43,090 --> 00:18:45,670 І я був би як, о, ні, я не хочу цього робити. 362 00:18:45,670 --> 00:18:50,570 Але люди, слеш, в тому числі мені, як правило, потрапляють в 363 00:18:50,570 --> 00:18:53,090 Звичка завжди ВЧ-ня. 364 00:18:53,090 --> 00:18:58,713 Навіть звичайні файли, які я можу просто RM, с, я, як правило, просто гт, тире, ВЧ, с. 365 00:18:58,713 --> 00:19:01,330 Тільки будьте обережні, коли ви ВЧ-Ing. 366 00:19:01,330 --> 00:19:03,160 >> СПІКЕР 4: Що C робити? 367 00:19:03,160 --> 00:19:11,570 >> Роб: З Я кажу про те, що C-файлу в цьому каталозі, що гт, с. 368 00:19:11,570 --> 00:19:15,730 >> ЙОСИП: І що більш небезпечно, якщо ви використовуєте зіркою, це відноситься до всього в 369 00:19:15,730 --> 00:19:16,450 каталог. 370 00:19:16,450 --> 00:19:20,040 Так що я зазвичай, як правило, зробити, це я буду перейти в каталог, і я хочу 371 00:19:20,040 --> 00:19:21,510 видалити всі файли там. 372 00:19:21,510 --> 00:19:23,640 Так RM, тире, ВЧ, зірка. 373 00:19:23,640 --> 00:19:25,700 >> Роб: Так. 374 00:19:25,700 --> 00:19:26,780 Кт, тире, ВЧ, зірка. 375 00:19:26,780 --> 00:19:29,530 >> ЙОСИП: І якщо ви не будете обережні якій директорії ви знаходитесь в - 376 00:19:29,530 --> 00:19:33,340 Я не був у темп, але я був випадково в моєму домашньому каталозі, 377 00:19:33,340 --> 00:19:35,450 то я видалю всі в моєму домашньому каталозі. 378 00:19:35,450 --> 00:19:39,095 І я насправді зробили це раніше, і Я думаю, що ви зробили це до чи 379 00:19:39,095 --> 00:19:40,640 Джей перед зробив це. 380 00:19:40,640 --> 00:19:42,480 >> Роб: Я випадково видалив - 381 00:19:42,480 --> 00:19:44,480 так що ігнорувати цю команду на деякий час. 382 00:19:44,480 --> 00:19:45,800 >> ЙОСИП: Чи не весело. 383 00:19:45,800 --> 00:19:52,650 >> Роб: Так в каталозі бен слеш є купа бінарних файлів, де будете 384 00:19:52,650 --> 00:19:54,840 бути знайомі них, як брязкотом. 385 00:19:54,840 --> 00:20:00,740 Ну, брязкіт і в основному всі вони речі, які я біжу по команді 386 00:20:00,740 --> 00:20:02,060 лінія в цій косою бен каталог. 387 00:20:02,060 --> 00:20:03,090 >> ЙОСИП: Як Ls знаходиться тут. 388 00:20:03,090 --> 00:20:06,285 >> Роб: Так точка, слеш, лс б список цей каталог. 389 00:20:06,285 --> 00:20:08,120 >> ЙОСИП: Rm також у цьому каталозі. 390 00:20:08,120 --> 00:20:12,770 >> Роб: Я випадково RM, RF-е вид бен, які віддалені будь-яку команду, що міг 391 00:20:12,770 --> 00:20:14,380 можливо тільки мріяти. 392 00:20:14,380 --> 00:20:18,085 Які тоді я просто перевстановити Нова техніка в цій точці. 393 00:20:18,085 --> 00:20:20,170 >> ЙОСИП: Так що будьте дуже обережні, коли Ви використовуєте цю команду. 394 00:20:20,170 --> 00:20:21,120 >> АУДИТОРІЯ: [нерозбірливо]? 395 00:20:21,120 --> 00:20:22,640 >> Роб: Так. 396 00:20:22,640 --> 00:20:24,135 Це також погана звичка потрапити. 397 00:20:24,135 --> 00:20:27,920 398 00:20:27,920 --> 00:20:30,170 Якщо ви помітили, я тепер - 399 00:20:30,170 --> 00:20:33,580 добре, ви не можете помітити, але мій зум-в, може бути, може. 400 00:20:33,580 --> 00:20:35,360 Так що я тепер корінь @ прилад. 401 00:20:35,360 --> 00:20:39,790 Так jharvard є користувач ми хочемо Вам завжди використовувати. 402 00:20:39,790 --> 00:20:43,820 Коренева є користувач, який має дозвіл зробити абсолютно нічого. 403 00:20:43,820 --> 00:20:50,260 >> Так помітити, коли я jharvard, якщо я намагаюся кд - 404 00:20:50,260 --> 00:20:52,461 що каталог, який? 405 00:20:52,461 --> 00:20:53,980 О, корінь є гарним прикладом. 406 00:20:53,980 --> 00:20:54,950 Так кд, корінь. 407 00:20:54,950 --> 00:20:56,030 Доступ заборонений. 408 00:20:56,030 --> 00:21:00,060 Тому що, якщо ми подивимося на цей список - 409 00:21:00,060 --> 00:21:02,410 і знову ж, ви не повинні повністю зрозуміти це. 410 00:21:02,410 --> 00:21:09,210 Але ці три риси говорять що не дозволяйте будь-який інший 411 00:21:09,210 --> 00:21:11,120 Користувач в цей каталог. 412 00:21:11,120 --> 00:21:14,540 І каталог трапляється належати кореню користувача. 413 00:21:14,540 --> 00:21:20,310 >> Тому той факт, що я jharvard і немає той, хто не корінь допускається в 414 00:21:20,310 --> 00:21:23,490 цей каталог, що означає, що я збирається отримати доступ заборонений, коли я 415 00:21:23,490 --> 00:21:25,160 спробувати кд в неї. 416 00:21:25,160 --> 00:21:31,370 Тому, коли я корінь, у мене є дозвіл на робити абсолютно все, в тому числі 417 00:21:31,370 --> 00:21:34,660 видалити важливих файлів до і Appliance 418 00:21:34,660 --> 00:21:36,640 знищити всю річ. 419 00:21:36,640 --> 00:21:41,240 >> Так що це погана звичка, щоб потрапити в просто бродив навколо 420 00:21:41,240 --> 00:21:43,650 Операційна система як корінь. 421 00:21:43,650 --> 00:21:46,520 Я роблю це в будь-якому випадку. 422 00:21:46,520 --> 00:21:48,710 Питання? 423 00:21:48,710 --> 00:21:52,230 І я буду вийти корінь, залишитися, як jharvard. 424 00:21:52,230 --> 00:21:54,510 ОК. 425 00:21:54,510 --> 00:21:55,820 >> Більш відповідні команди. 426 00:21:55,820 --> 00:22:03,975 Так повертаючись в наш темп, Команда мв виступає за хід. 427 00:22:03,975 --> 00:22:05,450 Ви можете переміщати. 428 00:22:05,450 --> 00:22:07,610 Тепер ми хочемо назвати це б, так що тепер це називається б. 429 00:22:07,610 --> 00:22:10,650 Або, може бути ми хочемо рухатися б на один каталог вгору. 430 00:22:10,650 --> 00:22:12,730 Так що тепер порожній каталогу файлів. 431 00:22:12,730 --> 00:22:15,410 Я повернуся в моєму домашньому каталозі, і ми бачимо, що б це тут, тому що 432 00:22:15,410 --> 00:22:19,230 домашній каталог був один каталог вгору від каталог, б був дюйма 433 00:22:19,230 --> 00:22:24,710 434 00:22:24,710 --> 00:22:26,580 >> Там також СР 435 00:22:26,580 --> 00:22:33,210 Так ср копіювання супер розділ, точка, текст. 436 00:22:33,210 --> 00:22:35,750 Я можу назвати це з, точка, текст. 437 00:22:35,750 --> 00:22:39,780 Тепер у нас є і супер розділ, точка, текст, і з, точка, текст. 438 00:22:39,780 --> 00:22:41,340 Це також працює з каталогами. 439 00:22:41,340 --> 00:22:44,040 440 00:22:44,040 --> 00:22:46,560 Я RF-ED один файл. 441 00:22:46,560 --> 00:22:48,200 Так ср - 442 00:22:48,200 --> 00:22:51,710 Ну, по-перше давайте спробуємо CP, ТМР, TMP2. 443 00:22:51,710 --> 00:22:53,220 Так опускаючи каталогу TMP. 444 00:22:53,220 --> 00:22:57,440 Так схоже на RM, поведінка за умовчанням , Щоб не працювати з каталогами. 445 00:22:57,440 --> 00:23:01,570 >> І знову, як і РМ, за замовчуванням поведінка - ну, змусити його працювати 446 00:23:01,570 --> 00:23:04,230 з каталогами є, тире-р від готелю. 447 00:23:04,230 --> 00:23:09,240 Так скопіювати рекурсивно темп Каталог, в TMP2. 448 00:23:09,240 --> 00:23:13,700 І ось тепер у нас є і TMP і TMP2, і це не те, що корисно, так як TMP 449 00:23:13,700 --> 00:23:16,814 був порожнім в першу чергу. 450 00:23:16,814 --> 00:23:18,660 TMP2. 451 00:23:18,660 --> 00:23:22,680 >> Тепер давайте копіювати TMP в TMP2. 452 00:23:22,680 --> 00:23:27,900 І ми бачимо, що tmp2 також має файл , Оскільки каталог і 453 00:23:27,900 --> 00:23:32,220 все всередині, що Каталог був скопійований. 454 00:23:32,220 --> 00:23:36,000 І це може бути дещо корисно якщо, скажімо, ви працюєте 455 00:23:36,000 --> 00:23:38,860 з проблеми встановити один - 456 00:23:38,860 --> 00:23:41,320 або насправді, пізніші домашніх завдань є ще більш важливо, тому що 457 00:23:41,320 --> 00:23:43,660 буде ціла купа файлів і речей. 458 00:23:43,660 --> 00:23:47,010 >> Але ви просто хочете, на частку по-друге, ви, як, все в порядку, я 459 00:23:47,010 --> 00:23:50,210 збирається спробувати щось інше. 460 00:23:50,210 --> 00:23:57,860 Дозвольте мені просто скопіювати всю свою pset1 Каталог, в pset1 резервного копіювання, так що якщо 461 00:23:57,860 --> 00:24:01,490 Я в кінцевому підсумку загвинчування речі, я можу повернутися в мою каталозі резервних копій. 462 00:24:01,490 --> 00:24:07,340 Є більш підходящі способи версіями резервне копіювання коду, але 463 00:24:07,340 --> 00:24:10,610 це завжди швидкий спосіб просто зробити що у вас є копія чогось 464 00:24:10,610 --> 00:24:11,860 що ви збираєтеся змінити. 465 00:24:11,860 --> 00:24:16,974 466 00:24:16,974 --> 00:24:27,090 >> Так луна також команда одноразовим, що вид sillily просто друкувати на 467 00:24:27,090 --> 00:24:31,540 командного рядка, що саме ви хотіли б повторити. 468 00:24:31,540 --> 00:24:32,680 Так луна привіт. 469 00:24:32,680 --> 00:24:35,420 Ми просто надрукувати привет. 470 00:24:35,420 --> 00:24:38,030 Ехо привіт світ. 471 00:24:38,030 --> 00:24:39,800 Ми надрукуємо привіт світ. 472 00:24:39,800 --> 00:24:44,350 Це входить у вживання, коли ви почати об'єднання команд. 473 00:24:44,350 --> 00:24:48,300 >> І знову ж, не очікують, що ви повністю зрозуміти цього, але це 474 00:24:48,300 --> 00:24:49,910 що подивитися. 475 00:24:49,910 --> 00:24:52,470 І потім, якщо ви погуглити приклади або ви розумієте що ви хочете зробити 476 00:24:52,470 --> 00:24:55,030 щось, це може бути корисно. 477 00:24:55,030 --> 00:24:59,020 Так що давайте, як приклад, так лс, тире, л. 478 00:24:59,020 --> 00:25:01,160 Так от я бачу вихід Л., тире, л. 479 00:25:01,160 --> 00:25:06,560 І я кажу, добре, я хочу, щоб зберігати, що у файл. 480 00:25:06,560 --> 00:25:11,620 Все це вихід тут, я хочу покласти в окремий файл. 481 00:25:11,620 --> 00:25:16,080 >> Так що це трохи більше, ніж символ це те, що ми збираємося, щоб дзвонити. 482 00:25:16,080 --> 00:25:18,570 Ми перенаправлення вихід в файл. 483 00:25:18,570 --> 00:25:21,680 Давайте назвемо файл бла, тому що це те, що я, як правило, завжди називають його. 484 00:25:21,680 --> 00:25:26,430 Так що тепер ми бачимо, у нас є подати бла прямо тут. 485 00:25:26,430 --> 00:25:30,270 І якщо я відкрити його, я буду бачити, що це точно так виведення команди 486 00:25:30,270 --> 00:25:31,990 що я просто втік. 487 00:25:31,990 --> 00:25:36,020 І точно так само, можна - 488 00:25:36,020 --> 00:25:41,260 якщо це вихід в файл, цей буде отримати дані з файлу. 489 00:25:41,260 --> 00:25:45,790 490 00:25:45,790 --> 00:25:47,050 Що таке команда, що я - 491 00:25:47,050 --> 00:25:49,620 >> ЙОСИП: Я думаю, що ви можете використовувати менше або більше, напевно. 492 00:25:49,620 --> 00:25:53,031 >> Роб: А як щодо просто менш бла? 493 00:25:53,031 --> 00:25:53,930 Я не знаю. 494 00:25:53,930 --> 00:25:57,870 Якщо ви приїхали в цей сценарій, як і є psets, що це корисно для. 495 00:25:57,870 --> 00:25:59,950 >> ЙОСИП: Можна передати його в луна. 496 00:25:59,950 --> 00:26:02,920 Труба файл в луна, щоб побачити його. 497 00:26:02,920 --> 00:26:04,060 >> Роб: Це труба. 498 00:26:04,060 --> 00:26:04,860 >> ЙОСИП: Вибачте. 499 00:26:04,860 --> 00:26:06,190 >> ROB: Добре. 500 00:26:06,190 --> 00:26:12,720 Таким чином, це вихід в файл. 501 00:26:12,720 --> 00:26:18,700 Це отримати текст з файлу і передати його в програму. 502 00:26:18,700 --> 00:26:20,560 І ви також побачите цього хлопця. 503 00:26:20,560 --> 00:26:24,410 Так що це свого роду те і інше відразу. 504 00:26:24,410 --> 00:26:28,310 А насправді, я познайомлю два нових команди просто використовувати його. 505 00:26:28,310 --> 00:26:33,060 >> Історія являє собою зручний команда, яка просто збирається роздрукувати список 506 00:26:33,060 --> 00:26:34,940 все, що я коли-небудь в командному рядку. 507 00:26:34,940 --> 00:26:38,290 Отже, ми бачимо тут все, що у мене є управляє цим весь час. 508 00:26:38,290 --> 00:26:39,540 Багато Ls років. 509 00:26:39,540 --> 00:26:41,570 510 00:26:41,570 --> 00:26:48,470 >> І ще один корисний команда Grep, що його мета полягає в пошуку більш 511 00:26:48,470 --> 00:26:52,060 текст шукаєте моделей, ну, шукаю все, що ви 512 00:26:52,060 --> 00:26:53,310 хочу його шукати. 513 00:26:53,310 --> 00:26:59,770 І так зручно використання тут, скажімо ми хочемо, щоб захопити історію. 514 00:26:59,770 --> 00:27:03,860 І я хочу, щоб шукати команд де я - те, що 515 00:27:03,860 --> 00:27:05,000 корисний шукати? 516 00:27:05,000 --> 00:27:06,898 >> ЙОСИП: [нерозбірливо]? 517 00:27:06,898 --> 00:27:09,710 >> Роб: Або давайте просто подивіться на все стосується, з якої причини. 518 00:27:09,710 --> 00:27:13,850 Так що це, що це буде виглядати. 519 00:27:13,850 --> 00:27:15,560 І ви не повинні повністю зрозуміти, що. 520 00:27:15,560 --> 00:27:20,570 Але ідея тут, історія дає той же висновок, що зробив тут 521 00:27:20,570 --> 00:27:25,030 де це роздруківка всій Історія всього, що я коли-небудь працювати. 522 00:27:25,030 --> 00:27:27,030 Ми тоді, до речі, що - 523 00:27:27,030 --> 00:27:30,230 так що замість того, щоб друкувати його на екрані, ми хочемо передати, що до 524 00:27:30,230 --> 00:27:34,640 Команда Grep який шукає усі примірники слова дотик. 525 00:27:34,640 --> 00:27:40,280 >> І це, використовуючи цю комбінацію Історія інструменти та Grep, я бачу, в порядку, 526 00:27:40,280 --> 00:27:44,820 ось всі команди я коли-небудь бігти, і ось кілька поширеним. 527 00:27:44,820 --> 00:27:45,510 Ми на дні. 528 00:27:45,510 --> 00:27:47,930 І це також дає мені команду Я просто побіг, що було 529 00:27:47,930 --> 00:27:51,240 Слово сенсорний в ньому. 530 00:27:51,240 --> 00:27:58,500 Але труба є досить корисна річ для об'єднання декількох програм. 531 00:27:58,500 --> 00:28:04,670 А насправді, це ярлик для оренди мені вихід Історія подати бла, і 532 00:28:04,670 --> 00:28:10,190 дозвольте мені вичленувати використанням файлової бла як те, що я хочу, щоб переглянути. 533 00:28:10,190 --> 00:28:13,460 Так труба просто ярлик для цих двох команд. 534 00:28:13,460 --> 00:28:13,950 Так. 535 00:28:13,950 --> 00:28:15,306 >> СПІКЕР 4: [нерозбірливо]? 536 00:28:15,306 --> 00:28:16,556 >> Роб: Так. 537 00:28:16,556 --> 00:28:20,142 538 00:28:20,142 --> 00:28:21,110 Що таке - 539 00:28:21,110 --> 00:28:21,858 О. 540 00:28:21,858 --> 00:28:24,820 Давайте перевіримо. 541 00:28:24,820 --> 00:28:29,170 Так кішки, собаки, риби. 542 00:28:29,170 --> 00:28:33,770 Тому я хочу, щоб вичленувати. 543 00:28:33,770 --> 00:28:37,680 Даш, г, знову ж таки, буде рекурсивно, тому я хочу, щоб спуститися вниз 544 00:28:37,680 --> 00:28:38,870 всі каталоги. 545 00:28:38,870 --> 00:28:43,210 Я хочу рекурсивно вичленувати інформацію про всіх - і дозвольте мені тимчасово отримати 546 00:28:43,210 --> 00:28:44,460 це з шляху. 547 00:28:44,460 --> 00:28:48,650 548 00:28:48,650 --> 00:28:50,740 Ігнорувати мене. 549 00:28:50,740 --> 00:28:51,360 ОК. 550 00:28:51,360 --> 00:28:56,740 >> Тому я хочу, щоб тимчасово вичленувати інформацію про усі примірники слова риби. 551 00:28:56,740 --> 00:29:00,510 І ось, що я роблю це змісту рекурсивно для слова риби. 552 00:29:00,510 --> 00:29:05,410 І зірка означає по всім з них файли в цьому каталозі. 553 00:29:05,410 --> 00:29:08,930 І так він дав мені доступ заборонений, тому що це не дозволено читати, що 554 00:29:08,930 --> 00:29:10,060 конкретний файл. 555 00:29:10,060 --> 00:29:14,040 Але він знайшов рибу у файлі, випробування. 556 00:29:14,040 --> 00:29:18,450 >> Я міг би також сказати, зокрема, тільки я хочу подивитися у файлі бла, в 557 00:29:18,450 --> 00:29:19,580 цьому випадку він нічого не знайдете. 558 00:29:19,580 --> 00:29:20,990 Я тільки хочу подивитися у файлі, випробування. 559 00:29:20,990 --> 00:29:22,240 Він знайде рибу. 560 00:29:22,240 --> 00:29:25,980 561 00:29:25,980 --> 00:29:29,260 Це досить корисна команда знати в цілому. 562 00:29:29,260 --> 00:29:31,640 Є кілька альтернатив для Grep , Які повинні бути більш 563 00:29:31,640 --> 00:29:36,780 програміст доброзичливий, але я, як правило, як і раніше падати назад на Grep. 564 00:29:36,780 --> 00:29:38,030 Питання? 565 00:29:38,030 --> 00:29:39,965 566 00:29:39,965 --> 00:29:40,919 ОК. 567 00:29:40,919 --> 00:29:42,520 >> Чи є інші команди? 568 00:29:42,520 --> 00:29:45,270 О. 569 00:29:45,270 --> 00:29:48,370 Просто одноразовим той, який я завжди знайти буде весело буде кал. 570 00:29:48,370 --> 00:29:55,610 Так помічають, коли я перебуваю в цей прекрасний повноекранний режим, у мене немає, як верх 571 00:29:55,610 --> 00:29:56,720 Панель інструментів або що-небудь. 572 00:29:56,720 --> 00:29:59,530 Так кал просто дає мені миленький календар, правильно 573 00:29:59,530 --> 00:30:02,380 тепер відрізані, я вважаю. 574 00:30:02,380 --> 00:30:04,770 Але миленький команда. 575 00:30:04,770 --> 00:30:06,540 >> ЙОСИП: Це [нерозбірливо]. 576 00:30:06,540 --> 00:30:09,170 Інші команди, які ви, можливо, бачив включають брязкіт і зробити. 577 00:30:09,170 --> 00:30:11,180 Ми підемо на них в більш докладно пізніше. 578 00:30:11,180 --> 00:30:13,400 Але якщо ви працюєте на PSET, ви повинні бути 579 00:30:13,400 --> 00:30:15,160 знайомі з тех. 580 00:30:15,160 --> 00:30:16,640 >> ROB: Добре. 581 00:30:16,640 --> 00:30:18,520 Питання по командного рядка речей? 582 00:30:18,520 --> 00:30:22,450 583 00:30:22,450 --> 00:30:23,260 Добре. 584 00:30:23,260 --> 00:30:27,416 Так давайте перейдемо до деяких С-пов'язані речі. 585 00:30:27,416 --> 00:30:28,666 Змінні математика. 586 00:30:28,666 --> 00:30:39,078 587 00:30:39,078 --> 00:30:40,060 ОК. 588 00:30:40,060 --> 00:30:45,230 Так само, як ми повинні були математику в порожньому, Ви можете також використовувати математику в С. 589 00:30:45,230 --> 00:30:49,270 >> Перш ніж ми перейдемо до того, що повністю, так змінні. 590 00:30:49,270 --> 00:30:53,920 Пам'ятайте, що всякий раз, коли ви розкажете змінна, наприклад ціле х або флоат у, вас 591 00:30:53,920 --> 00:30:56,710 повинні дати це ввести до ім'я змінної. 592 00:30:56,710 --> 00:31:03,020 Так типи, які ми бачили дотепер, внутр, поплавок, двічі, довго довго, що я 593 00:31:03,020 --> 00:31:06,150 насправді не знаю, якщо ми в Видно, що до цих пір. 594 00:31:06,150 --> 00:31:07,700 >> Є деякі інші. 595 00:31:07,700 --> 00:31:09,990 Ми бачимо символ. 596 00:31:09,990 --> 00:31:13,920 Там в короткий, яка, як це протилежністю довго довго, де це 597 00:31:13,920 --> 00:31:16,650 менше, ніж ціле. 598 00:31:16,650 --> 00:31:18,580 Ми також бачили, рядок. 599 00:31:18,580 --> 00:31:23,070 Так що особливого в рядок? 600 00:31:23,070 --> 00:31:25,350 Чому я кажу, що це не зовсім, як межд? 601 00:31:25,350 --> 00:31:27,030 >> СПІКЕР 4: Це дійсно не існує. 602 00:31:27,030 --> 00:31:27,990 >> Роб: Так. 603 00:31:27,990 --> 00:31:31,820 Таким чином, єдина причина, у нас є рядок пояснюється тим, що, коли ви робите 604 00:31:31,820 --> 00:31:33,215 хеш, включають cs50.h. 605 00:31:33,215 --> 00:31:36,530 606 00:31:36,530 --> 00:31:42,670 І ми побачимо приклади цього пізніше - о, що не впоратися з цим добре - 607 00:31:42,670 --> 00:31:46,160 де cs50.h робить щось уздовж ліній типу 608 00:31:46,160 --> 00:31:49,230 визначення, символ зірки, рядок. 609 00:31:49,230 --> 00:31:53,280 >> І так це говорить, що ми навіть не знаю, що символ зірки ще. 610 00:31:53,280 --> 00:31:56,770 Але це говорить ми хочемо рядок. 611 00:31:56,770 --> 00:32:00,250 Будь-яке місце, ви використовуєте рядок, ви можна було б за допомогою сЬаг зірку, 612 00:32:00,250 --> 00:32:04,670 який насправді є одним з видів, що існує в мові Сі. 613 00:32:04,670 --> 00:32:06,680 Але ми повернемося до цього. 614 00:32:06,680 --> 00:32:07,860 Так, і це йде назад. 615 00:32:07,860 --> 00:32:10,170 Акуратні. 616 00:32:10,170 --> 00:32:15,370 >> Так само і з BOOL де справжні і несправжні. 617 00:32:15,370 --> 00:32:22,510 Це дійсно не вбудований тип в С. Замість цього, це просто, це має 618 00:32:22,510 --> 00:32:23,740 нульове значення? 619 00:32:23,740 --> 00:32:26,200 Тоді ми просто розглянути це помилковими. 620 00:32:26,200 --> 00:32:27,350 Чи має це значення - 621 00:32:27,350 --> 00:32:30,530 ну, це має будь значення, яке не дорівнює нулю? 622 00:32:30,530 --> 00:32:32,200 Тоді ми будемо враховувати, що це правда. 623 00:32:32,200 --> 00:32:35,940 Так одна правда, два, правда, нічого нуля вірно. 624 00:32:35,940 --> 00:32:38,710 625 00:32:38,710 --> 00:32:42,790 Отже, це ті,. 626 00:32:42,790 --> 00:32:47,624 Питання про оголошення змінних і типи змінних і все, що? 627 00:32:47,624 --> 00:32:48,100 Так. 628 00:32:48,100 --> 00:32:52,384 >> СПІКЕР 4: Для довго довго, в книзі, він сказав, що мав бути довгий довгий внутр. 629 00:32:52,384 --> 00:32:54,288 Але просто довго довго працювати? 630 00:32:54,288 --> 00:32:58,210 631 00:32:58,210 --> 00:33:01,470 >> Роб: Таким чином, ці модифікатори типів. 632 00:33:01,470 --> 00:33:04,170 Так внутр х. 633 00:33:04,170 --> 00:33:07,710 Таким чином, ми можемо також сказати, без знака Int х. 634 00:33:07,710 --> 00:33:09,640 Ми можемо сказати, коротка внутр х. 635 00:33:09,640 --> 00:33:12,570 Ми можемо сказати, довго довго внутр х. 636 00:33:12,570 --> 00:33:17,250 Але значною мірою будь-який з цих речей, які я тільки що сказав, без знака Int, короткий інтервал, 637 00:33:17,250 --> 00:33:21,480 довго довго внутр, ви можете позбутися від внутр і він просто буде вважати, 638 00:33:21,480 --> 00:33:22,510 що ви мали на увазі Int. 639 00:33:22,510 --> 00:33:26,045 Так непідписаних х, які просто означає - 640 00:33:26,045 --> 00:33:29,400 Ви знаєте, як правило, з міжнар, Ви можете сказати х дорівнює негативний 3? 641 00:33:29,400 --> 00:33:31,636 С без знака Int, ви не можете. 642 00:33:31,636 --> 00:33:34,480 >> ЙОСИП: І знову, для камери, Питання було, в чому різниця 643 00:33:34,480 --> 00:33:37,796 між довгого довгого міжнар і просто довго довго? 644 00:33:37,796 --> 00:33:38,410 >> Роб: Так. 645 00:33:38,410 --> 00:33:42,850 Так що я майже ніколи не написати довгий довгий Int. 646 00:33:42,850 --> 00:33:44,100 Я напишу довго довго. 647 00:33:44,100 --> 00:33:47,770 648 00:33:47,770 --> 00:33:50,636 >> ЙОСИП: Є запитання? 649 00:33:50,636 --> 00:33:51,886 >> Роб: ОК. 650 00:33:51,886 --> 00:33:56,180 651 00:33:56,180 --> 00:34:02,390 Так нерозумно трохи нагадуванням про те, що, як ми оголошуємо змінну і ініціалізувати 652 00:34:02,390 --> 00:34:04,450 змінна і оголосити ще один змінної і ініціалізації 653 00:34:04,450 --> 00:34:05,870 все в одному кроці. 654 00:34:05,870 --> 00:34:09,370 Таким чином, оголошення змінної і змінна ініціалізації немає 655 00:34:09,370 --> 00:34:11,120 до, але може бути на тому ж рядку. 656 00:34:11,120 --> 00:34:15,409 657 00:34:15,409 --> 00:34:20,060 >> Тому у нас є стандартні математичні оператори що ви звикли до - 658 00:34:20,060 --> 00:34:22,199 плюс, мінус, поділ, раз. 659 00:34:22,199 --> 00:34:24,389 Там також модулю, який ми будемо бачити. 660 00:34:24,389 --> 00:34:29,060 Існує немає, принаймні, З вбудований блок 661 00:34:29,060 --> 00:34:31,765 зведення в ступінь вставки оператор. 662 00:34:31,765 --> 00:34:33,770 Ну, є оператор вставки, але це не влада. 663 00:34:33,770 --> 00:34:34,239 >> ЙОСИП: Але це не зведення в ступінь, Так. 664 00:34:34,239 --> 00:34:36,210 >> Роб: Не використовуйте каретку припустити, що це означає 665 00:34:36,210 --> 00:34:39,980 як квадрат або будь-який інший. 666 00:34:39,980 --> 00:34:42,289 Таким чином, деякі речі, щоб мати на проти про розділення. 667 00:34:42,289 --> 00:34:46,282 668 00:34:46,282 --> 00:34:48,880 Я буду стояти. 669 00:34:48,880 --> 00:34:51,315 Так заявив ініціалізації відповідь. 670 00:34:51,315 --> 00:34:54,670 Так ми говоримо, поплавок відповідь дорівнює 1, поділеній на 10. 671 00:34:54,670 --> 00:34:57,500 Роздрукувати відповідь до двох десяткових знаків. 672 00:34:57,500 --> 00:35:02,180 >> І це та річ, що я б людині Printf щоб з'ясувати, що 673 00:35:02,180 --> 00:35:05,110 якого біса робить%, точка, 2f означає? 674 00:35:05,110 --> 00:35:07,930 І це просто означає,, ну, ігноруючи 0,2. 675 00:35:07,930 --> 00:35:10,420 І%, е те, що ми використовуємо друкувати плавати. 676 00:35:10,420 --> 00:35:15,370 0.2 говорить, друку, плавати до двох десяткових знаків. 677 00:35:15,370 --> 00:35:19,600 Так ця програма має помилку, і ви, можливо, бачив це раніше в деяких 678 00:35:19,600 --> 00:35:20,870 до CS Звичайно. 679 00:35:20,870 --> 00:35:22,170 Але що це за помилка? 680 00:35:22,170 --> 00:35:23,050 >> СПІКЕР 5: Нуль. 681 00:35:23,050 --> 00:35:24,130 >> Роб: Так. 682 00:35:24,130 --> 00:35:29,630 Тому, коли ми говоримо, відповідь дорівнює 1 ділиться на 10, ми хочемо, щоб 683 00:35:29,630 --> 00:35:31,610 відповісти рівним 0,1. 684 00:35:31,610 --> 00:35:37,450 Але 1 ділиться на 10, 1 Ціле число, 10 є цілим числом. 685 00:35:37,450 --> 00:35:41,060 І тому, коли ми робимо ціле розділене на ціле число, ми збираємося повернутися 686 00:35:41,060 --> 00:35:42,190 цілим числом. 687 00:35:42,190 --> 00:35:43,660 Так 1 ділиться на 10 становить 0,1. 688 00:35:43,660 --> 00:35:46,760 >> Оскільки вона повинна дати нам ціле, це просто збираєтеся викинути, що 689 00:35:46,760 --> 00:35:49,410 коми і сказати, що відповідь 0. 690 00:35:49,410 --> 00:35:55,314 І тому, коли ми друкуємо відповісти тут, він збирається надрукувати 0,00. 691 00:35:55,314 --> 00:35:58,430 >> ЙОСИП: І як примітка, це насправді відкидає те, що після того, як 692 00:35:58,430 --> 00:35:59,390 десяткового дробу. 693 00:35:59,390 --> 00:36:03,180 Так що якщо ви замість цього повинні були 6 ділиться на 10, можна подумати, що це дасть вам 694 00:36:03,180 --> 00:36:05,200 0.6, а потім ви б округлити до 1. 695 00:36:05,200 --> 00:36:10,520 Але насправді, що відбувається, коли вона введіть Завдання так, що вона падає, що є 696 00:36:10,520 --> 00:36:11,470 після коми. 697 00:36:11,470 --> 00:36:13,020 Так 0,6 дійсно стає 0. 698 00:36:13,020 --> 00:36:13,370 >> Роб: Так. 699 00:36:13,370 --> 00:36:15,160 І ми будемо говорити TRUNCATE для цього. 700 00:36:15,160 --> 00:36:21,760 Тому, коли ви приведений до міжнар, десяткова обрізане. 701 00:36:21,760 --> 00:36:23,980 Таким чином, виправлення, що - є насправді два. 702 00:36:23,980 --> 00:36:27,890 І я збираюся зробити, що другий, тому що це одне набагато легше виправити. 703 00:36:27,890 --> 00:36:32,670 >> Так що виправлення використовувати поплавці в дивізіоні. 704 00:36:32,670 --> 00:36:34,720 І справді, у вас є тільки зробити один з них з плаваючою крапкою. 705 00:36:34,720 --> 00:36:37,400 Але це дещо ясніше всього зробити обидва плаває. 706 00:36:37,400 --> 00:36:41,170 Так 1,0 поділене на 10,0 є ділення двох поплавців. 707 00:36:41,170 --> 00:36:43,970 Таким чином, відповідь буде в кінцевому підсумку поплавок, і так ви будете 708 00:36:43,970 --> 00:36:48,050 Правильна друк 0,10 тут. 709 00:36:48,050 --> 00:36:52,220 >> Те, що не працює так добре Про те, що, ну, звичайно, це було легко 710 00:36:52,220 --> 00:36:56,240 достатньо, щоб перетворити 1 до плавати, зробивши його 1.0. 711 00:36:56,240 --> 00:37:02,180 Але що, якщо замість того, щоб у нас було два цілих числа як Int х дорівнює 1 і INT у 712 00:37:02,180 --> 00:37:05,660 дорівнює 10, а потім ми хотіли щоб у х, поділене на у? 713 00:37:05,660 --> 00:37:10,420 Так що це не легко просто зробити X.0 або щось. 714 00:37:10,420 --> 00:37:12,790 >> Таким чином, виправити, щоб, що кидає. 715 00:37:12,790 --> 00:37:19,780 Так лиття є способом в C для перетворення від одного типу змінної до іншого. 716 00:37:19,780 --> 00:37:22,320 Таким чином, тут, 1 є цілим числом. 717 00:37:22,320 --> 00:37:27,050 І, поставивши цей поплавець перед це, ми лиття 1 до поплавця. 718 00:37:27,050 --> 00:37:30,350 І таким чином, це буде конвертувати 1 до 1,0. 719 00:37:30,350 --> 00:37:33,380 І це буде конвертувати 10 до 10,0. 720 00:37:33,380 --> 00:37:36,790 >> І тоді всі ведуть себе подібно попередня версія, яку ми тільки що показали 721 00:37:36,790 --> 00:37:42,190 де, як і очікувалося, ми отримуємо 0,10 і він буде друкувати, що. 722 00:37:42,190 --> 00:37:44,120 І ми можемо зробити це з змінні, теж. 723 00:37:44,120 --> 00:37:47,376 Так що можна сказати, поплавок х поділене на число з плаваючою точкою у. 724 00:37:47,376 --> 00:37:48,626 >> ЙОСИП: Є запитання? 725 00:37:48,626 --> 00:37:54,182 726 00:37:54,182 --> 00:38:00,090 >> Роб: Так само, як у звичайній математики, у нас є пріоритет операцій. 727 00:38:00,090 --> 00:38:06,960 Таким чином, в математичному класі, ви, швидше за все називати його порядок операцій. 728 00:38:06,960 --> 00:38:09,890 Тут, офіційний термін пріоритет операторів. 729 00:38:09,890 --> 00:38:15,230 Але пріоритет операторів, або найбільш оператори, є, як ви очікуєте. 730 00:38:15,230 --> 00:38:22,660 >> Так само, як у математиці, 2 рази 10 збирається бути згруповані більш тісно, ​​ніж 731 00:38:22,660 --> 00:38:25,410 це 10 розділити на 2, а потім 2. 732 00:38:25,410 --> 00:38:29,745 Порядок операцій, він буде робити 2 раз 10, 10 ділиться на 2, а потім 733 00:38:29,745 --> 00:38:32,720 він буде робити 20 плюс 5 плюс 2. 734 00:38:32,720 --> 00:38:37,020 Так що це, як і очікувалося, і ви можете використовувати дужки для групування виразів. 735 00:38:37,020 --> 00:38:41,063 Ви не можете використовувати квадратні дужки для групування виразів. 736 00:38:41,063 --> 00:38:41,544 Так? 737 00:38:41,544 --> 00:38:43,468 >> СПІКЕР 5: Не могли б ви насправді просто повернутися одну секунду? 738 00:38:43,468 --> 00:38:47,316 Чи можете ви кинути Int в рядок? 739 00:38:47,316 --> 00:38:53,330 >> Роб: Так що в C, можна привести нічого Ви хочете все, що завгодно. 740 00:38:53,330 --> 00:38:55,600 Це не означає, що це хороша річ, щоб зробити. 741 00:38:55,600 --> 00:38:59,760 Тому, коли ви граєте Int щоб рядок, що означає - 742 00:38:59,760 --> 00:39:03,240 і ми отримаємо цього набагато ретельніше - 743 00:39:03,240 --> 00:39:03,720 >> ЙОСИП: Багато пізніше. 744 00:39:03,720 --> 00:39:06,840 >> Роб: Я не хочу сказати, багато пізніше, тому я спробував змінити свій вирок. 745 00:39:06,840 --> 00:39:13,370 Ми увійдемо в нього набагато ретельніше пізніше, де дійсно, коли у вас є 746 00:39:13,370 --> 00:39:14,810 Мінлива рядок - 747 00:39:14,810 --> 00:39:17,160 тому рядок може бути як завгодно довго, чи не так? 748 00:39:17,160 --> 00:39:21,850 І ми говорили, що внутр є чотири байти і довго довго вісім 749 00:39:21,850 --> 00:39:23,620 байт і поплавець на чотири байти. 750 00:39:23,620 --> 00:39:29,520 Так рядком, так само, як Int, має тільки певну кількість байтів до нього. 751 00:39:29,520 --> 00:39:31,800 І це буде чотири байти. 752 00:39:31,800 --> 00:39:34,750 >> Але рядок може бути досить необмежено довго, чи не так? 753 00:39:34,750 --> 00:39:40,190 Так привіт світ вже, якщо це 10 символів або будь-який інший, що вже 754 00:39:40,190 --> 00:39:42,670 буде протягом 4 байта Я може поміститися в рядок. 755 00:39:42,670 --> 00:39:51,140 І так, як струни дійсно працює в тому, що вони знаходяться там, де в пам'яті, що рядок 756 00:39:51,140 --> 00:39:52,380 в даний час зберігається. 757 00:39:52,380 --> 00:39:57,290 >> І так тут, коли я кажу, рядок х одно привіт світ, всередині х є 758 00:39:57,290 --> 00:40:01,840 просто кажу, про, привіт зберігається світ саме в це місце в пам'яті. 759 00:40:01,840 --> 00:40:07,060 Так що, якщо ми намагаємося кинути ціле число рядок, то ми намагаємося інтерпретувати 760 00:40:07,060 --> 00:40:10,500 деякі випадкові частина пам'яті у вигляді рядка. 761 00:40:10,500 --> 00:40:14,465 І це майже завжди ламає речі. 762 00:40:14,465 --> 00:40:17,040 >> ЙОСИП: Але якщо це бентежить Ви, ми будемо покривати його 763 00:40:17,040 --> 00:40:17,550 більш докладно пізніше. 764 00:40:17,550 --> 00:40:17,850 >> Роб: Так. 765 00:40:17,850 --> 00:40:20,540 Це де ви збираєтеся щоб потрапити в покажчики. 766 00:40:20,540 --> 00:40:25,485 І, що є значним шматок два тижні цього курсу. 767 00:40:25,485 --> 00:40:28,275 >> СПІКЕР 6: Чи працює це як об'єкти на інших мовах чи ні насправді? 768 00:40:28,275 --> 00:40:34,050 >> Роб: Так на інших мовах, об'єктів будуть представлені за допомогою покажчиків. 769 00:40:34,050 --> 00:40:37,070 770 00:40:37,070 --> 00:40:38,793 Це не одне і те ж, все ж. 771 00:40:38,793 --> 00:40:42,110 772 00:40:42,110 --> 00:40:42,910 Будь-які думки? 773 00:40:42,910 --> 00:40:43,760 >> ЙОСИП: Ні. 774 00:40:43,760 --> 00:40:44,185 Ніяких думок. 775 00:40:44,185 --> 00:40:44,980 >> Роб: ОК. 776 00:40:44,980 --> 00:40:46,994 >> ЙОСИП: Наступна. 777 00:40:46,994 --> 00:40:48,255 >> Роб: Просто йти з цим. 778 00:40:48,255 --> 00:40:48,670 Добре. 779 00:40:48,670 --> 00:40:51,120 Так по модулю. 780 00:40:51,120 --> 00:40:53,900 Так само, як у нас є плюс, мінус, розділити і помножити. 781 00:40:53,900 --> 00:40:56,720 Так по модулю є одним ви можете не бачили раніше. 782 00:40:56,720 --> 00:40:59,540 І це якраз говорить, дають мені залишок. 783 00:40:59,540 --> 00:41:02,850 Так 55% 10. 784 00:41:02,850 --> 00:41:06,840 Інша частина робить 55 ділиться на 10 буде 5. 785 00:41:06,840 --> 00:41:09,630 Так 55% 10 травня. 786 00:41:09,630 --> 00:41:12,260 І 3% 5 буде 3. 787 00:41:12,260 --> 00:41:14,180 8% 8 буде 0. 788 00:41:14,180 --> 00:41:15,903 16% 15 буде 1. 789 00:41:15,903 --> 00:41:20,670 >> ЙОСИП: Одна річ, з цим відзначити, теж може не працювати, як очікувалося 790 00:41:20,670 --> 00:41:22,700 якщо ви використовуєте негативне число. 791 00:41:22,700 --> 00:41:26,215 Так негативна 5% 4, деякі люди Можна подумати, що це - 792 00:41:26,215 --> 00:41:28,890 793 00:41:28,890 --> 00:41:33,808 що б ви подумали негативний 5% 4 буде? 794 00:41:33,808 --> 00:41:34,792 >> СПІКЕР 5: Один. 795 00:41:34,792 --> 00:41:37,920 >> ЙОСИП: Таким чином, деякі люди кажуть, що один, деякі люди кажуть, негативну. 796 00:41:37,920 --> 00:41:38,450 Але те, що - 797 00:41:38,450 --> 00:41:40,820 >> Роб: Я б навіть не мають сказав один з них. 798 00:41:40,820 --> 00:41:42,370 >> ЙОСИП: Два, вибачте. 799 00:41:42,370 --> 00:41:43,240 Деякі люди кажуть, - 800 00:41:43,240 --> 00:41:43,450 >> Роб: Три. 801 00:41:43,450 --> 00:41:43,800 >> ЙОСИП: Три? 802 00:41:43,800 --> 00:41:44,890 >> Роб: Негативний - 803 00:41:44,890 --> 00:41:45,950 те, що було - негативний п'ять - 804 00:41:45,950 --> 00:41:47,100 >> ЙОСИП: Три, три, три. 805 00:41:47,100 --> 00:41:48,450 Вибачте. 806 00:41:48,450 --> 00:41:51,910 Тому що по модулю, взагалі кажучи, коли ви бачили його в іншому місці, це зазвичай означає, 807 00:41:51,910 --> 00:41:54,000 повернутися позитивне число, чи не так? 808 00:41:54,000 --> 00:42:01,160 >> Роб: Так що, коли ми говоримо в математиці,% 10 х, вони, як правило, хочуть, щоб дати вам - 809 00:42:01,160 --> 00:42:05,980 якщо ми мод на 10, то ми очікуємо, що отримати номер від 0 до 9. 810 00:42:05,980 --> 00:42:09,860 У тут, що це не так, що ви отримаєте повернувся від'ємні числа. 811 00:42:09,860 --> 00:42:15,898 >> ЙОСИП: Так негативна 5% 4 буде негативним 1. 812 00:42:15,898 --> 00:42:19,325 >> Роб: Але це рідко, що ви мо-Ing негативні числа з самого початку. 813 00:42:19,325 --> 00:42:25,490 814 00:42:25,490 --> 00:42:25,970 Пропустіть це. 815 00:42:25,970 --> 00:42:27,314 >> ЙОСИП: Так. 816 00:42:27,314 --> 00:42:29,420 >> Роб: Мех. 817 00:42:29,420 --> 00:42:29,990 ОК. 818 00:42:29,990 --> 00:42:36,400 Отже останнє, що потрібно відзначити, про поплавці є це небезпечну поведінку, 819 00:42:36,400 --> 00:42:39,850 але поплавці не точна уявлення. 820 00:42:39,850 --> 00:42:46,190 Так повертаючись до байт знову, пам'ятайте що внутр завжди чотири байти і 821 00:42:46,190 --> 00:42:47,830 Поплавок завжди чотири байти. 822 00:42:47,830 --> 00:42:51,340 Так приклад Лукаса досить добре. 823 00:42:51,340 --> 00:42:55,730 >> Так що думайте з 1 розділений на 3. 824 00:42:55,730 --> 00:42:57,800 Так 0,3333333. 825 00:42:57,800 --> 00:43:03,540 Якщо у мене є тільки 32 біта, як може Я зберігаю 0,33333 саме? 826 00:43:03,540 --> 00:43:07,250 І, може бути, з якоїсь причини, ви говорите, Все в порядку, добре, давайте просто скажемо, 827 00:43:07,250 --> 00:43:13,210 що саме цей 1011001, давайте просто сказати, що повинно бути 0,333333. 828 00:43:13,210 --> 00:43:16,960 Ну, у вас є тільки кінцеве число ці біти, так що це неможливо 829 00:43:16,960 --> 00:43:22,550 представляють кожен з плаваючою точкою цінність, дана всього 32 біт. 830 00:43:22,550 --> 00:43:25,580 >> Ну, це неможливо уявити будь-який з плаваючою точкою цінність, дана нескінченна - 831 00:43:25,580 --> 00:43:28,480 добре, враховуючи будь-яке кінцеве число бітів. 832 00:43:28,480 --> 00:43:38,265 Так що питання тут, ну, коли ми використовували друкувати до двох десяткових знаків, 833 00:43:38,265 --> 00:43:42,000 ми правильно отримати відповідь 0,10. 834 00:43:42,000 --> 00:43:47,510 Але під капотом, це дійсно зберігатися як можна ближче до 835 00:43:47,510 --> 00:43:51,790 0.10 як тих бітів може представляти. 836 00:43:51,790 --> 00:43:53,200 Чи є це на наступному слайді? 837 00:43:53,200 --> 00:43:53,830 Або чи не так? 838 00:43:53,830 --> 00:43:54,660 >> ЙОСИП: Так, це те, що. 839 00:43:54,660 --> 00:43:55,750 >> Роб: Blegh, blegh. 840 00:43:55,750 --> 00:43:57,760 >> ЙОСИП: Так, ви можете просто тягнути ноти небагато. 841 00:43:57,760 --> 00:43:59,700 >> Роб: Я просто збираюся для збільшення в на останньому на що. 842 00:43:59,700 --> 00:44:00,950 О, чорт візьми, це [нерозбірливо]. 843 00:44:00,950 --> 00:44:06,089 844 00:44:06,089 --> 00:44:08,300 Так що число. 845 00:44:08,300 --> 00:44:12,300 Це те, що буде надруковано якщо ми запустимо цю програму. 846 00:44:12,300 --> 00:44:20,340 І зауважте, що насправді не має великого значення якщо ми тільки піклуючись про як 847 00:44:20,340 --> 00:44:21,920 2:58 знаків після коми. 848 00:44:21,920 --> 00:44:26,700 Як ми тільки спочатку надруковані 0,10, і саме тому ми не бачили нічого поганого. 849 00:44:26,700 --> 00:44:31,380 Але як тільки ми починаємо отримувати в точніше, точне число, що це 850 00:44:31,380 --> 00:44:35,660 уявляючи, ми бачимо, що вона не може точно представляють 0,1. 851 00:44:35,660 --> 00:44:40,900 >> І частина проблеми тут, як, Все в порядку, все гаразд, але, добре, 852 00:44:40,900 --> 00:44:46,120 по-перше, що, якщо ми спробували зробити, Відповідь дорівнює дорівнює 0,1? 853 00:44:46,120 --> 00:44:49,200 Хіба що збирається повернутися вірно чи невірно? 854 00:44:49,200 --> 00:44:51,850 І тому важко сказати. 855 00:44:51,850 --> 00:44:53,330 Я думаю, що це насправді може повернутися вірно. 856 00:44:53,330 --> 00:44:55,265 Чи буде перша - 857 00:44:55,265 --> 00:44:56,180 Я не знаю. 858 00:44:56,180 --> 00:45:00,090 Відповідь як тільки ви починаєте справу зі значеннями з плаваючою комою, ви в значній 859 00:45:00,090 --> 00:45:05,150 багато не повинні використовувати рівність через це неточності. 860 00:45:05,150 --> 00:45:09,470 >> І всі ви знаєте, що це сота після коми, що 861 00:45:09,470 --> 00:45:13,670 з плаваючою точкою не зміг правильно обробляти. 862 00:45:13,670 --> 00:45:18,180 І так рівність тільки не увінчаються успіхом, навіть хоча число - якби Ти був 863 00:45:18,180 --> 00:45:24,450 використовуючи точні цифри, цифри повинні були точно такими ж. 864 00:45:24,450 --> 00:45:27,790 Це протягом як 50 розрахунки з використанням цих плаваючих 865 00:45:27,790 --> 00:45:30,270 значення точки, помилка може побудувати все вище і вище і вище, і 866 00:45:30,270 --> 00:45:31,125 речі просто помилитися. 867 00:45:31,125 --> 00:45:33,870 >> ЙОСИП: І були дійсно відомі приклади цього випадку. 868 00:45:33,870 --> 00:45:37,190 Як інженери НАСА отримали це невірно, що призведе ракети вибухнути в 869 00:45:37,190 --> 00:45:38,665 повітря після того як вони були розпочаті. 870 00:45:38,665 --> 00:45:41,490 І багато таких питань, як, що. 871 00:45:41,490 --> 00:45:41,956 Так що так. 872 00:45:41,956 --> 00:45:45,218 >> СПІКЕР 6: Коли ви говорите, 0,3 п, це усічення решта? 873 00:45:45,218 --> 00:45:46,468 Чи це округлити вгору або вниз? 874 00:45:46,468 --> 00:45:48,800 875 00:45:48,800 --> 00:45:50,200 >> Роб: Буде Printf навколо нього? 876 00:45:50,200 --> 00:45:52,180 >> ЙОСИП: Я думаю, що Е буде скорочуватися. 877 00:45:52,180 --> 00:45:52,640 >> Роб: ОК. 878 00:45:52,640 --> 00:45:59,890 Так що ми можемо так само йдуть в протилежному Напрям цього, де в цьому випадку 879 00:45:59,890 --> 00:46:03,320 найближчий вона може представляти 0.1 була з цим номером. 880 00:46:03,320 --> 00:46:06,820 Найближчий він міг би представляють 0,2 знаходиться у протилежному 881 00:46:06,820 --> 00:46:11,420 напрямок, +0,199999996356 або щось. 882 00:46:11,420 --> 00:46:17,480 Так що, якщо ми пішли в цьому напрямку речі, то Е 0.3 е повернеться 883 00:46:17,480 --> 00:46:20,866 1.99 замість 2.00. 884 00:46:20,866 --> 00:46:22,960 >> ЙОСИП: І я не зовсім впевнений на що. 885 00:46:22,960 --> 00:46:25,430 Можливо, ви захочете написати невеликий, трохи Програма просто перевірити, що. 886 00:46:25,430 --> 00:46:29,370 >> Роб: Хоча, те, що ми впевнені в тому, що якби ви спробували кинути, що в 887 00:46:29,370 --> 00:46:33,660 внутр, і лиття до міжнар збирається привести до його усічення десяткові, якщо 888 00:46:33,660 --> 00:46:38,140 спробі привести 1.9999999 до міжнар, ви отримаєте 1. 889 00:46:38,140 --> 00:46:41,440 І тому потрібно використовувати круглий функція в математичній бібліотеки. 890 00:46:41,440 --> 00:46:44,190 891 00:46:44,190 --> 00:46:45,440 Питання? 892 00:46:45,440 --> 00:46:47,660 893 00:46:47,660 --> 00:46:48,982 ОК. 894 00:46:48,982 --> 00:46:54,000 >> ЙОСИП: Так як перейти до умов і логічних виразів. 895 00:46:54,000 --> 00:46:58,120 Таким чином, ви бачили їх раніше. 896 00:46:58,120 --> 00:47:07,420 А насправді, дозвольте мені переконатися, що мої Комп'ютер у потрібному форматі тут. 897 00:47:07,420 --> 00:47:08,670 Простір. 898 00:47:08,670 --> 00:47:10,630 899 00:47:10,630 --> 00:47:13,870 На жаль, ми збираємося мати справу трохи з обрізанням по краях. 900 00:47:13,870 --> 00:47:15,830 >> Але так, ви, хлопці, бачили це перш в порожньому. 901 00:47:15,830 --> 00:47:19,930 Так що це прямо тут є вираженням , Який використовується в 902 00:47:19,930 --> 00:47:21,250 умовний оператор. 903 00:47:21,250 --> 00:47:23,930 Так відповісти більше нуля волі сказати вам, істинним або хибним. 904 00:47:23,930 --> 00:47:26,530 І це дійсно важливо, тому що вони дозволяють нам представити 905 00:47:26,530 --> 00:47:28,670 Логіка в наш код. 906 00:47:28,670 --> 00:47:32,820 >> Так, наприклад, ця програма написано в порожньому, який просить користувача 907 00:47:32,820 --> 00:47:36,980 для цілого числа і каже їм Чи ціле число, яке вони дали вам було 908 00:47:36,980 --> 00:47:38,690 позитивне чи негативне число. 909 00:47:38,690 --> 00:47:42,980 І перетворення сюди, щоб побачити це Ви спочатку роздрукувати заяву, 910 00:47:42,980 --> 00:47:43,870 дайте мені ціле. 911 00:47:43,870 --> 00:47:45,980 А потім ви просите у них ціле число. 912 00:47:45,980 --> 00:47:49,870 >> І тоді ви використовувати умовну логіку над тут, щоб перевірити, чи є це число 913 00:47:49,870 --> 00:47:52,030 насправді більше нуля чи ні. 914 00:47:52,030 --> 00:47:58,960 Так от у нас є логічне вираження всередині умовного Якщо заяву. 915 00:47:58,960 --> 00:48:00,660 Чи є якісь запитання? 916 00:48:00,660 --> 00:48:03,030 Чи є питання про те, що? 917 00:48:03,030 --> 00:48:03,950 ОК. 918 00:48:03,950 --> 00:48:06,140 >> Таким чином, є більше, ніж просто більше, ніж, звичайно. 919 00:48:06,140 --> 00:48:10,385 Ви можете побудувати логічні вирази використовуючи більшість видів речей, які ви 920 00:48:10,385 --> 00:48:11,150 буде думати про в математиці. 921 00:48:11,150 --> 00:48:12,370 Так більше. 922 00:48:12,370 --> 00:48:13,740 Це повинно бути менше. 923 00:48:13,740 --> 00:48:14,990 Вибачте. 924 00:48:14,990 --> 00:48:18,520 925 00:48:18,520 --> 00:48:19,760 І відстань. 926 00:48:19,760 --> 00:48:22,971 >> Роб: не дай Бог ви залишите його. 927 00:48:22,971 --> 00:48:23,620 >> ЙОСИП: Добре. 928 00:48:23,620 --> 00:48:25,950 Так більше ніж, менше ніж, більше ніж, або дорівнює, менше 929 00:48:25,950 --> 00:48:27,070 ніж, або дорівнює. 930 00:48:27,070 --> 00:48:31,980 Ми використовуємо подвійні рівних для перевірки рівність, тому що один дорівнює кошти 931 00:48:31,980 --> 00:48:32,810 Призначення, вірно? 932 00:48:32,810 --> 00:48:33,140 Так. 933 00:48:33,140 --> 00:48:37,130 І тоді ми зможемо також не дорівнює по використовуючи знак оклику, на рівних. 934 00:48:37,130 --> 00:48:41,530 >> І цей символ знак оклику може також бути продовжений так, щоб, якщо ви хочете 935 00:48:41,530 --> 00:48:44,050 інвертувати небудь Boolean вираз, ви можете зробити це. 936 00:48:44,050 --> 00:48:48,530 Так що це буде оцінити в вірно тільки якщо відповідь менш 937 00:48:48,530 --> 00:48:51,240 або дорівнює нулю. 938 00:48:51,240 --> 00:48:53,950 Є питання з цього приводу? 939 00:48:53,950 --> 00:48:55,180 ОК. 940 00:48:55,180 --> 00:48:58,840 >> Таким чином, ви можете також комбінувати їх вираження, використовуючи логічні І і 941 00:48:58,840 --> 00:48:59,790 Логічне АБО. 942 00:48:59,790 --> 00:49:03,530 Так що це просто символ А, який повинен бути зрушення, 7. 943 00:49:03,530 --> 00:49:07,720 І це символ труба, яка НЕ рядкова Л. Це один 944 00:49:07,720 --> 00:49:09,440 ось прямо над вхідними ключ. 945 00:49:09,440 --> 00:49:12,870 Таким чином, ви використовуєте два з них, щоб символізувати логічно І логічно Або. 946 00:49:12,870 --> 00:49:18,180 >> Так що це буде повертати тільки вірно, якщо відповідь є один, два, три або чотири. 947 00:49:18,180 --> 00:49:23,030 І це буде повертати тільки вірно, якщо відповідь виходить, що з обох сторін. 948 00:49:23,030 --> 00:49:26,190 Так що це не один, два, три або чотири. 949 00:49:26,190 --> 00:49:28,385 І те, як ви будете використовувати що в виразі - 950 00:49:28,385 --> 00:49:29,990 >> Роб: Або нуль чи п'ять. 951 00:49:29,990 --> 00:49:32,200 >> ЙОСИП: Нуль або п'ять. 952 00:49:32,200 --> 00:49:32,380 Вибачте. 953 00:49:32,380 --> 00:49:33,320 Так, так, так. 954 00:49:33,320 --> 00:49:34,180 ОК. 955 00:49:34,180 --> 00:49:38,980 І тут зараз, так само, як буде використовувати цей вираз, менше 956 00:49:38,980 --> 00:49:42,000 вираз сторона Якщо умовно заяву, ви б також використовувати його в 957 00:49:42,000 --> 00:49:47,800 Точно так же просто покласти його всередину дужки із заяви If. 958 00:49:47,800 --> 00:49:54,020 Так що це Е тільки стріляти, якщо відповідь є один, два, три або чотири. 959 00:49:54,020 --> 00:49:56,002 Будь-які питання по поєднуючи вирази? 960 00:49:56,002 --> 00:50:00,450 961 00:50:00,450 --> 00:50:04,240 >> Так що є ще один умовний конструкт ми називаємо If / Else. 962 00:50:04,240 --> 00:50:08,120 Так в основному, це тепер означає, ОК, якщо те, що я хотів перевірити, чи не був 963 00:50:08,120 --> 00:50:11,600 правда, потім перейти до іншої, і виконати цю іншу дію. 964 00:50:11,600 --> 00:50:15,570 Таким чином, в даному конкретному випадку, я запитав користувач для цілого числа. 965 00:50:15,570 --> 00:50:17,790 Чи є ціле число, більше нуля? 966 00:50:17,790 --> 00:50:18,310 Так? 967 00:50:18,310 --> 00:50:20,100 Ну, тоді вони вибрали позитивне число. 968 00:50:20,100 --> 00:50:22,320 Якщо ні, то він повинен мати був негативним або нульовим. 969 00:50:22,320 --> 00:50:27,530 Таким чином, ви вибрали негативне число або нуль в цьому випадку. 970 00:50:27,530 --> 00:50:29,235 Так. 971 00:50:29,235 --> 00:50:30,485 Або нулю. 972 00:50:30,485 --> 00:50:36,320 973 00:50:36,320 --> 00:50:39,300 >> А потім у нас також є If / Else, Якщо і інше. 974 00:50:39,300 --> 00:50:45,640 Так що це дозволяє нам виконати послідовність речі тільки тоді, коли першими невдачу. 975 00:50:45,640 --> 00:50:49,540 Таким чином, в цьому випадку, в даний час ми робимо останній ви обираєте нулю. 976 00:50:49,540 --> 00:50:53,080 Так що, якщо вони не вибрали позитивної, ні негативне число, то вони повинні 977 00:50:53,080 --> 00:50:53,640 вибрали нулю. 978 00:50:53,640 --> 00:50:56,720 Так що просто йде вниз ланцюга, як це. 979 00:50:56,720 --> 00:50:59,960 >> Так приклад того, як Якщо відрізняється від - 980 00:50:59,960 --> 00:51:02,590 If / Else відрізняється від просто послідовність Іф. 981 00:51:02,590 --> 00:51:07,680 І це загальне питання, який люди запитують, ну, якщо ви отримуєте, як 982 00:51:07,680 --> 00:51:11,265 95 в CS50, що це буде Програма сказати вам? 983 00:51:11,265 --> 00:51:12,600 >> СПІКЕР 5: Ви отримали А. 984 00:51:12,600 --> 00:51:13,490 >> ЙОСИП: Так. 985 00:51:13,490 --> 00:51:14,960 У тебе кожен один з тих, правильно. 986 00:51:14,960 --> 00:51:17,130 Ви отримали А, у тебе є B, ви отримав рахунок і D, чи не так? 987 00:51:17,130 --> 00:51:19,770 Так все це отримати оцінку для того. 988 00:51:19,770 --> 00:51:23,570 Таким чином, у той час як 95 більше, ніж 90, це також більше 80, це також 989 00:51:23,570 --> 00:51:25,790 більше, ніж 70, і це також більше, ніж 60. 990 00:51:25,790 --> 00:51:27,620 Таким чином, ви отримали всі ці сорти. 991 00:51:27,620 --> 00:51:31,630 І я припускаю, що ви б тільки хочу А. 992 00:51:31,630 --> 00:51:34,060 >> Спосіб виправити це, щоб замінити ті, з решта / Якщо 'и. 993 00:51:34,060 --> 00:51:37,540 Таким чином, у цьому сценарії, він бачить, що 95 є більше, ніж 90, і потім він робить 994 00:51:37,540 --> 00:51:38,885 не оцінити залишок з тверджень. 995 00:51:38,885 --> 00:51:41,900 996 00:51:41,900 --> 00:51:43,150 Будь-які питання про те, що? 997 00:51:43,150 --> 00:51:48,580 998 00:51:48,580 --> 00:51:52,470 >> Так що є ще один умовний вид структура, яку ми маємо тут, який ми 999 00:51:52,470 --> 00:51:53,390 викликати перемикач заяву. 1000 00:51:53,390 --> 00:51:57,390 Так що це дозволяє в принципі перевірити що значення ряду ви поклали 1001 00:51:57,390 --> 00:51:59,000 в розподільному заяві є. 1002 00:51:59,000 --> 00:52:03,200 Таким чином, у цьому сценарії, ми переводимо від п і ми говоримо, про, якщо п 1003 00:52:03,200 --> 00:52:04,710 один, а потім роздрукувати цю заяву. 1004 00:52:04,710 --> 00:52:07,910 І потім перерва, а це означає, вихід з перемикача заяві. 1005 00:52:07,910 --> 00:52:12,670 >> Якщо це не був один, то, ну просто зрештою перевірити всі ці випадки. 1006 00:52:12,670 --> 00:52:16,280 І так він перевіряє, якщо це один або два або три, і він друкує відповідно. 1007 00:52:16,280 --> 00:52:19,780 І те, що це ключове слово за замовчуванням тут кошти, якщо вони не ввести будь 1008 00:52:19,780 --> 00:52:21,690 з тих, то говорять Невірний. 1009 00:52:21,690 --> 00:52:25,910 Так скажімо, я прошу п і користувач дає мені чотири. 1010 00:52:25,910 --> 00:52:29,470 Ну, це не відповідає жодній з тих випадків, так що це буде роздрукувати те, що в 1011 00:52:29,470 --> 00:52:30,540 розділ за замовчуванням. 1012 00:52:30,540 --> 00:52:31,180 Так, питання? 1013 00:52:31,180 --> 00:52:32,614 >> СПІКЕР 5: Чи можна використовувати Boolean вираження замість 1014 00:52:32,614 --> 00:52:33,570 один, два, чи три? 1015 00:52:33,570 --> 00:52:36,940 >> ЙОСИП: Таким чином, питання ви можете використовувати Логічні вирази замість одного, 1016 00:52:36,940 --> 00:52:37,940 два, і три? 1017 00:52:37,940 --> 00:52:40,520 А в С, я вважаю, вам не можу цього зробити. 1018 00:52:40,520 --> 00:52:44,320 Але на інших мовах, які ви, можливо, зіткнутися в кінці 1019 00:52:44,320 --> 00:52:46,460 семестр, як JavaScript, ви можете. 1020 00:52:46,460 --> 00:52:50,050 Ну, вам доведеться обчислити перший що значення, а потім використовувати його в 1021 00:52:50,050 --> 00:52:50,650 перемикання заяву. 1022 00:52:50,650 --> 00:52:50,930 Так? 1023 00:52:50,930 --> 00:52:54,760 >> Роб: Так що частина на користь комутатора заяви буде думати про якщо ви зробили це 1024 00:52:54,760 --> 00:52:58,680 як If / Else, так як, якщо п одно дорівнює одиниці або будь-який інший. 1025 00:52:58,680 --> 00:53:00,300 Останнє / Якщо п одно дорівнює два, що завгодно. 1026 00:53:00,300 --> 00:53:01,960 Останнє / Якщо п одно дорівнює трьом. 1027 00:53:01,960 --> 00:53:05,930 Так чином програма буде працювати це буде послідовно знижуватися, що список 1028 00:53:05,930 --> 00:53:07,500 і перевірити, є н один? 1029 00:53:07,500 --> 00:53:08,040 Нє-а. 1030 00:53:08,040 --> 00:53:09,070 Є н два? 1031 00:53:09,070 --> 00:53:09,490 Нє-а. 1032 00:53:09,490 --> 00:53:10,940 Є н три? 1033 00:53:10,940 --> 00:53:11,710 Так. 1034 00:53:11,710 --> 00:53:12,610 Зробіть це. 1035 00:53:12,610 --> 00:53:15,270 >> У той час як з вимикачем заяв, це насправді в змозі зібрати, щоб це було 1036 00:53:15,270 --> 00:53:16,360 дуже швидко. 1037 00:53:16,360 --> 00:53:19,550 І як тільки він говорить перемикач, це каже, все в порядку, п два, я 1038 00:53:19,550 --> 00:53:23,060 негайно збирається стрибнути туди, де Я повинен почати виконання. 1039 00:53:23,060 --> 00:53:26,080 Я не збираюся спочатку перевірити, є п один, п два? 1040 00:53:26,080 --> 00:53:28,860 Він може відразу почати робити що він повинен робити. 1041 00:53:28,860 --> 00:53:33,830 >> І з цієї причини, він не може прийняти логічні умови. 1042 00:53:33,830 --> 00:53:36,480 Або ж вона повинна була б зробити послідовне, начебто, все в порядку, це н 1043 00:53:36,480 --> 00:53:37,820 більше нуля? 1044 00:53:37,820 --> 00:53:41,140 Останнє п більше 10 або будь-який інший. 1045 00:53:41,140 --> 00:53:44,780 >> ЙОСИП: У цьому випадку, якщо ви використовували Якщо / інакше, якщо, то перемикач буде 1046 00:53:44,780 --> 00:53:47,792 запустити приблизно в три рази швидше, ніж якщо / інакше, якщо. 1047 00:53:47,792 --> 00:53:53,060 1048 00:53:53,060 --> 00:53:56,040 Ми можемо організувати перемикач в таких чином, що ми не ламаються 1049 00:53:56,040 --> 00:53:57,520 після кожного з випадків. 1050 00:53:57,520 --> 00:54:00,960 Так що в цьому випадку, я розбиття Номери, які ми вибираємо в один і 1051 00:54:00,960 --> 00:54:04,250 дві з яких не високі цифри і три з яких велика кількість. 1052 00:54:04,250 --> 00:54:08,290 >> Таким чином, в цьому випадку, якщо п одно одному або двом, це вийде на випадок, а потім він буде 1053 00:54:08,290 --> 00:54:10,640 провалитися, бо немає перерви. 1054 00:54:10,640 --> 00:54:11,610 І це буде в кінцевому підсумку тут. 1055 00:54:11,610 --> 00:54:15,360 Так що, якщо ми вибираємо один, він буде робити Printf а потім розбити так що жоден з 1056 00:54:15,360 --> 00:54:17,610 це виконується. 1057 00:54:17,610 --> 00:54:21,870 І, звичайно, якщо вони входять в трьох або щось ще, то це буде пропускати 1058 00:54:21,870 --> 00:54:25,320 ті, а не піти туди, і це буде виконувати замість 1059 00:54:25,320 --> 00:54:27,490 відповідні лінії. 1060 00:54:27,490 --> 00:54:29,390 Чи є питання про те, що? 1061 00:54:29,390 --> 00:54:29,780 Так? 1062 00:54:29,780 --> 00:54:32,642 >> СПІКЕР 4: Не могли б ви отримаєте помилку, якщо вам була перерва після випадку, якщо один, але це 1063 00:54:32,642 --> 00:54:34,550 не їсти щось для нього зробити? 1064 00:54:34,550 --> 00:54:37,820 >> ЙОСИП: Таким чином, питання б ви отримуєте помилка, якщо у вас є перерва після 1065 00:54:37,820 --> 00:54:39,730 випадку, якщо один, але немає нічого, щоб зробити? 1066 00:54:39,730 --> 00:54:41,520 І відповідь буде негативною. 1067 00:54:41,520 --> 00:54:43,172 Ви не будете насправді отримаєте помилку. 1068 00:54:43,172 --> 00:54:44,590 Так, мм хм. 1069 00:54:44,590 --> 00:54:54,540 >> Так як свого роду невеликі зміни тут, Я збираюся поставити Printf тут. 1070 00:54:54,540 --> 00:54:55,790 Упс. 1071 00:54:55,790 --> 00:55:00,994 1072 00:55:00,994 --> 00:55:04,880 Отже, що б це надрукувати, якщо Я поклав одну в якості вхідних даних? 1073 00:55:04,880 --> 00:55:07,530 1074 00:55:07,530 --> 00:55:07,770 Так. 1075 00:55:07,770 --> 00:55:10,360 Це скаже вам, це не займе багато велика кількість в два рази, чи не так? 1076 00:55:10,360 --> 00:55:13,500 Тому що це буде хіт, що перший випадок, вона не буде ламатися, і вона впаде 1077 00:55:13,500 --> 00:55:15,730 через до другого випадку. 1078 00:55:15,730 --> 00:55:16,950 Будь-які питання про те, що? 1079 00:55:16,950 --> 00:55:18,280 >> Роб: Чи було у вас ще одне питання? 1080 00:55:18,280 --> 00:55:20,840 >> ЙОСИП: Добре, охолодити. 1081 00:55:20,840 --> 00:55:22,400 Добре. 1082 00:55:22,400 --> 00:55:25,780 Так що є щось ще ми називаємо потрійний оператор, який в основному 1083 00:55:25,780 --> 00:55:29,010 альтернативний синтаксис робити Якщо і тоді інше. 1084 00:55:29,010 --> 00:55:30,470 І це дозволяє робити все це в одному рядку. 1085 00:55:30,470 --> 00:55:34,110 Таким чином, в цій конкретній програмі, Я прошу у користувача п. 1086 00:55:34,110 --> 00:55:37,190 І якщо п більше 100, я говорю їх вони вибрали велику кількість. 1087 00:55:37,190 --> 00:55:39,560 Останнє я скажу їм, що вони взяв невелике число. 1088 00:55:39,560 --> 00:55:43,030 >> Так що ми можемо використовувати цю дуже довго синтаксис, Рядок, S, а потім перевірити, якщо п 1089 00:55:43,030 --> 00:55:45,260 більше 100 і призначити це відповідним чином. 1090 00:55:45,260 --> 00:55:49,450 Але ми можемо зробити це набагато більш коротким За допомогою цієї потрійний синтаксис оператора 1091 00:55:49,450 --> 00:55:52,090 який включає в себе питання Торгова марка і двокрапка. 1092 00:55:52,090 --> 00:55:55,070 Таким чином, знак питання по суті задати питання, чи не так? 1093 00:55:55,070 --> 00:55:56,625 >> Роб: Може бути, збільшити на що. 1094 00:55:56,625 --> 00:55:57,372 >> ЙОСИП: Так. 1095 00:55:57,372 --> 00:56:00,210 Хороше питання. 1096 00:56:00,210 --> 00:56:02,550 Так що це потрійний оператор. 1097 00:56:02,550 --> 00:56:06,100 Я спочатку поставити запитання, п більше, ніж 100? 1098 00:56:06,100 --> 00:56:09,770 Якщо це так, то я виконаю перший частину перед двокрапкою. 1099 00:56:09,770 --> 00:56:13,360 Якщо це не так, то я виконаю Друга частина після двокрапки. 1100 00:56:13,360 --> 00:56:16,640 Так, якщо п більше 100, Потім він вибирає високу і ставить 1101 00:56:16,640 --> 00:56:18,360 що в рядок с. 1102 00:56:18,360 --> 00:56:22,170 Якщо п менше 100, він вибирає низький а потім поміщає це в рядки с. 1103 00:56:22,170 --> 00:56:30,186 Так що буде конденсуватися цей великий шматок вниз, в тій єдиній рядка. 1104 00:56:30,186 --> 00:56:32,010 >> СПІКЕР 5: Це популярні? 1105 00:56:32,010 --> 00:56:36,070 >> ЙОСИП: Так, це є досить популярним для речі, де, по суті, які ви хочете 1106 00:56:36,070 --> 00:56:38,700 у завдання на основі свого роду стані. 1107 00:56:38,700 --> 00:56:43,110 І в цьому випадку, ми намагалися щоб привласнити значення рядка с. 1108 00:56:43,110 --> 00:56:44,840 Це не так - 1109 00:56:44,840 --> 00:56:47,670 Я думаю, я насправді не воліють це в інших випадках. 1110 00:56:47,670 --> 00:56:49,390 Але це особливо корисно для цього завдання. 1111 00:56:49,390 --> 00:56:54,490 >> Роб: Це досить поширена схема де у вас є змінна, яка 1112 00:56:54,490 --> 00:56:58,200 ви збираєтеся сказати, якщо щось, встановіть ця змінна одному значенню; інакше покласти 1113 00:56:58,200 --> 00:56:59,810 ця змінна на інше значення. 1114 00:56:59,810 --> 00:57:03,360 І це сценарій де використовувати потрійний. 1115 00:57:03,360 --> 00:57:05,220 >> ЙОСИП: І ви економите багато ліній, вірно? 1116 00:57:05,220 --> 00:57:08,090 І це тільки робить ваш код, можливо, трохи більш читабельним. 1117 00:57:08,090 --> 00:57:08,635 Так, питання? 1118 00:57:08,635 --> 00:57:12,384 >> СПІКЕР 6: Для потрійних, могли б ви піти, одно рядок з сек, знак питання? 1119 00:57:12,384 --> 00:57:15,280 І тоді ви могли б, скажімо, п'ять різних варіантів. 1120 00:57:15,280 --> 00:57:18,310 І залежно від того, що кількість п був, що б ви вибрали один з тих? 1121 00:57:18,310 --> 00:57:22,210 >> ЙОСИП: Так питання в тому, чи є роду синтаксису де ви можете зробити рядок 1122 00:57:22,210 --> 00:57:25,910 з одно п, а потім більше двох опції після цього знак питання? 1123 00:57:25,910 --> 00:57:29,740 І проста відповідь: ні, ні дійсно хороший спосіб зробити це, якщо тільки 1124 00:57:29,740 --> 00:57:33,850 Ви хочете гніздо багаторазового потрійних оператори всередині один одного. 1125 00:57:33,850 --> 00:57:38,050 >> Ви могли б зробити, як п більше 100, знак питання, а потім ще 1126 00:57:38,050 --> 00:57:41,850 потрійний оператор, п більше 50, знак питання, і гніздо його таким чином. 1127 00:57:41,850 --> 00:57:45,240 Але в цьому сценарії, ваш код це отримувати вид нечитабельним, і брудний, 1128 00:57:45,240 --> 00:57:47,920 і було б краще просто піти в If / Else заяву в цій точці. 1129 00:57:47,920 --> 00:57:54,530 >> Роб: А також, як примітка боку, PHP неправильно реалізує потрійний 1130 00:57:54,530 --> 00:57:58,053 оператор, що вкладені Тернар навіть не працюють так, як повинні. 1131 00:57:58,053 --> 00:57:58,840 >> ЙОСИП: Так. 1132 00:57:58,840 --> 00:58:01,170 Так що стає трохи заплутаним, особливо, коли ви йдете 1133 00:58:01,170 --> 00:58:02,145 на різні мови. 1134 00:58:02,145 --> 00:58:04,810 >> Роб: Це помилка досить, що мови неправі про це. 1135 00:58:04,810 --> 00:58:08,030 1136 00:58:08,030 --> 00:58:11,510 >> ЙОСИП: Так насправді, просто щоб уточнити, чи всі знають, що це 1137 00:58:11,510 --> 00:58:13,900 % С робить тут? 1138 00:58:13,900 --> 00:58:15,650 Будь-які питання про те, що? 1139 00:58:15,650 --> 00:58:19,760 Я думаю, тільки для камери,% з в основному дозволяє нам поставити заглушку 1140 00:58:19,760 --> 00:58:20,790 на рядок. 1141 00:58:20,790 --> 00:58:23,920 А потім в кінці, ми вказуємо, що Мінлива ми хочемо поставити в це 1142 00:58:23,920 --> 00:58:25,500 місце тримач с. 1143 00:58:25,500 --> 00:58:27,730 Так що в основному приймає сек і це ставить його в тут. 1144 00:58:27,730 --> 00:58:32,130 І тоді це буде роздрукувати, ви вибрали висока або ви вибрали менше число. 1145 00:58:32,130 --> 00:58:33,770 ОК. 1146 00:58:33,770 --> 00:58:36,970 >> Так петлі дозволяють виконувати речі круговими рухами, чи не так? 1147 00:58:36,970 --> 00:58:40,300 Ви, можливо, зіткнувся з цим в Подряпини у вигляді Назавжди петлі 1148 00:58:40,300 --> 00:58:45,650 або Повторюйте До або Повторити зокрема кількість разів. 1149 00:58:45,650 --> 00:58:47,540 Так чому це добре для нас? 1150 00:58:47,540 --> 00:58:51,500 Ну, в С,, у нас є це пісня реалізовані в порожньому, що 1151 00:58:51,500 --> 00:58:53,450 співає, це пісня який ніколи не закінчується. 1152 00:58:53,450 --> 00:58:55,710 Це просто йде вперед і вперед і на віки віків. 1153 00:58:55,710 --> 00:58:59,395 Ну, ви не можете дійсно зробити програму що має нескінченне число Printf 1154 00:58:59,395 --> 00:59:00,850 заяви в це, правильно? 1155 00:59:00,850 --> 00:59:04,900 >> Таким чином, в даному конкретному випадку, в одну сторону що ви могли б зробити цю роботу і 1156 00:59:04,900 --> 00:59:09,330 для того щоб висновок назавжди є замість цього використовувати той час як цикл. 1157 00:59:09,330 --> 00:59:13,640 Так Хоча цикл буде виконуватися що в тілі двох фігурних дужок, що 1158 00:59:13,640 --> 00:59:17,250 належить йому на підставі того, що умова. 1159 00:59:17,250 --> 00:59:21,170 Таким чином, в цьому конкретному прикладі вище, якщо ми хочемо надрукувати це назавжди, що 1160 00:59:21,170 --> 00:59:23,590 ми могли б зробити? 1161 00:59:23,590 --> 00:59:25,190 Ну, звичайно, не так? 1162 00:59:25,190 --> 00:59:32,290 >> Так що це свого роду поєднує в собі ідею деякого логічного виразу 1163 00:59:32,290 --> 00:59:33,610 разом з петлею. 1164 00:59:33,610 --> 00:59:35,780 І ми дізналися про булевих вираження раніше. 1165 00:59:35,780 --> 00:59:39,650 Тому, коли умова всередині що то час залишається вірним, цей цикл 1166 00:59:39,650 --> 00:59:41,480 буде виконувати далі і далі і далі. 1167 00:59:41,480 --> 00:59:44,640 І в цьому випадку, якщо ми просто поставити його з правдою, це викликає нескінченне 1168 00:59:44,640 --> 00:59:49,310 петля, яка друкує пісню і на і на як ми бажали, перш ніж без 1169 00:59:49,310 --> 00:59:52,410 що має програму, яка має нескінченну кількість Printf звітності, яка є 1170 00:59:52,410 --> 00:59:55,220 неможливо. 1171 00:59:55,220 --> 00:59:57,810 >> Так переконливіше, хоча, Ви можете використовувати це з 1172 00:59:57,810 --> 00:59:59,710 змінної і стан. 1173 00:59:59,710 --> 01:00:04,420 Так скажімо, ми хочемо повторити Фраза, абсолютно неосудним, 10 разів. 1174 01:00:04,420 --> 01:00:08,380 Так що ви можете зробити з While петлі Ви можете ініціалізувати лічильник 1175 01:00:08,380 --> 01:00:10,860 змінна за межами У той час як цикл до 10. 1176 01:00:10,860 --> 01:00:14,360 І то переважно, кожного разу ви йдете через час циклу, ви роздрукувати 1177 01:00:14,360 --> 01:00:19,090 заяву, а потім ви зменшуєте змінна-лічильник до наприкінці, 1178 01:00:19,090 --> 01:00:23,020 в якийсь момент, як тільки ми віднімаємо I досить раз, 1 з I достатню кількість разів - 1179 01:00:23,020 --> 01:00:27,290 і просто уточнити, я мінус мінус означає, що я дорівнює I мінус 1. 1180 01:00:27,290 --> 01:00:31,280 >> Це буде в основному приносять I до Точка, в якій, як тільки я потрапив нулю, це 1181 01:00:31,280 --> 01:00:35,260 не стан вже не так і так що виходить з петлі. 1182 01:00:35,260 --> 01:00:37,045 Так абсолютно неосудним друкує тільки 10 разів. 1183 01:00:37,045 --> 01:00:39,550 1184 01:00:39,550 --> 01:00:41,080 Будь-які питання про деякий час циклу? 1185 01:00:41,080 --> 01:00:44,580 1186 01:00:44,580 --> 01:00:46,790 ОК. 1187 01:00:46,790 --> 01:00:50,550 >> Так що є спосіб, яким ми можемо робити те, що ми просто зробив в більш стислій формі з 1188 01:00:50,550 --> 01:00:51,715 що ми називаємо Для циклу. 1189 01:00:51,715 --> 01:00:55,750 Так петля Для складається з ініціалізація, умова, і 1190 01:00:55,750 --> 01:00:58,950 оновлення, так само, як у нас було раніше в цей час циклу. 1191 01:00:58,950 --> 01:00:59,890 Так що давайте поглянемо. 1192 01:00:59,890 --> 01:01:02,900 У цьому час циклу, у нас були ініціалізації, тоді ми повинні були 1193 01:01:02,900 --> 01:01:04,260 стан, що ми перевірили. 1194 01:01:04,260 --> 01:01:06,450 І тоді ми повинні були поновлення крок на самому верху. 1195 01:01:06,450 --> 01:01:10,060 >> З петлею для, це в основному бере ці три речі і конденсується 1196 01:01:10,060 --> 01:01:11,370 вниз, в одному рядку. 1197 01:01:11,370 --> 01:01:15,130 Таким чином, перше, що він робить у Для циклу є ініціалізація. 1198 01:01:15,130 --> 01:01:19,090 А потім ви з комою, а потім Ви робите умова, яку я 1199 01:01:19,090 --> 01:01:22,200 більше нуля йде туди, і потім крок оновлення. 1200 01:01:22,200 --> 01:01:26,470 Так що це отримує здійснюється на самого кінця тіла циклу. 1201 01:01:26,470 --> 01:01:28,790 Таким чином, ці дві програми по суті, еквівалентні. 1202 01:01:28,790 --> 01:01:31,960 1203 01:01:31,960 --> 01:01:33,870 >> Є питання? 1204 01:01:33,870 --> 01:01:37,000 Так що одна відмінність між цими двома? 1205 01:01:37,000 --> 01:01:38,000 Може хто-небудь вказати на це? 1206 01:01:38,000 --> 01:01:40,480 Це може бути трохи тонше. 1207 01:01:40,480 --> 01:01:41,930 Це просто дуже невелика різниця. 1208 01:01:41,930 --> 01:01:42,330 Так? 1209 01:01:42,330 --> 01:01:49,008 >> СПІКЕР 5: Ви не могли б використовувати змінна Я межами цикл 1210 01:01:49,008 --> 01:01:49,962 [Нерозбірливості]? 1211 01:01:49,962 --> 01:01:50,900 >> ЙОСИП: Абсолютно вірно. 1212 01:01:50,900 --> 01:01:53,550 Так що це те, що ми доберемося до пізніше назвав мінлива область. 1213 01:01:53,550 --> 01:01:56,610 Але по суті, це десяткового I життя за межами цього час циклу. 1214 01:01:56,610 --> 01:01:59,800 Тому, як тільки це Хоча петля робиться виконання, я буду в змозі використати я пізніше 1215 01:01:59,800 --> 01:02:00,880 на в програмі. 1216 01:02:00,880 --> 01:02:05,430 >> У той час як з цим Для циклу, це внутр Я задається область всередині цього циклу. 1217 01:02:05,430 --> 01:02:10,240 І оскільки він знаходиться всередині цієї частини петлі для, який починається 1218 01:02:10,240 --> 01:02:13,200 в дужках і закінчується фігурна дужка там. 1219 01:02:13,200 --> 01:02:16,120 Все, що оголошується всередині тут не може бути використана поза. 1220 01:02:16,120 --> 01:02:20,420 Так що, якщо я намагаюся використовувати I межами, воно буде скажіть, неоголошену символ. 1221 01:02:20,420 --> 01:02:22,420 І по суті, я б не став бути в змозі використати його. 1222 01:02:22,420 --> 01:02:28,460 >> Роб: І добре, 10 років тому, в буквально всі випадки, фігурні дужки є 1223 01:02:28,460 --> 01:02:31,140 що ви використовували, щоб визначити, видимості змінної. 1224 01:02:31,140 --> 01:02:37,240 Так там, Int я дорівнює 10 оголошений всередині цього 1225 01:02:37,240 --> 01:02:38,520 набір фігурні дужки. 1226 01:02:38,520 --> 01:02:42,530 І так то до тих пір, як ви намагаєтеся використовувати I до цього фігурної дужки, це прекрасно. 1227 01:02:42,530 --> 01:02:47,090 1228 01:02:47,090 --> 01:02:51,460 Ви можете побачити, коли ви набираєте зробити, вам см. тире, тире, STD, одно, C99. 1229 01:02:51,460 --> 01:02:57,100 >> Так що це більш пізня версія C, що GCC реалізував, що також дає 1230 01:02:57,100 --> 01:02:58,740 цей ярлик. 1231 01:02:58,740 --> 01:03:03,505 Так що це використовується для не пустять в С. А Ви можете зрозуміти, чому, тому що це внутр 1232 01:03:03,505 --> 01:03:07,600 Я знаходиться за межами цього фігурної дужки, але він як і раніше вважається в 1233 01:03:07,600 --> 01:03:09,750 Масштаби цих фігурні дужки. 1234 01:03:09,750 --> 01:03:14,120 Але це дуже зручна річ, і тому він є хорошим продовженням. 1235 01:03:14,120 --> 01:03:15,370 >> ЙОСИП: Є запитання? 1236 01:03:15,370 --> 01:03:17,550 1237 01:03:17,550 --> 01:03:19,260 ОК. 1238 01:03:19,260 --> 01:03:22,820 Так в чому ж корисніше, що іноді Ви хочете роду динамізму в 1239 01:03:22,820 --> 01:03:23,410 ваш цикл, чи не так? 1240 01:03:23,410 --> 01:03:26,350 Ви ж не хочете, щоб просто обов'язково друкувати повністю неосудним весь час, ви 1241 01:03:26,350 --> 01:03:28,650 хочете відраховувати від 10 або щось. 1242 01:03:28,650 --> 01:03:32,010 І тому ви можете використовувати змінну лічильник Усередині цього циклу, а також. 1243 01:03:32,010 --> 01:03:35,530 І в цьому випадку, ця програма просто відлік від 10 до упору. 1244 01:03:35,530 --> 01:03:39,260 І що це не друкувати? 1245 01:03:39,260 --> 01:03:42,790 Це не друкує нулю, Добре, тому що, коли - 1246 01:03:42,790 --> 01:03:45,460 Так, це також не друкує 11. 1247 01:03:45,460 --> 01:03:49,200 >> Так що не друкує нулю, тому що, коли Я дорівнює нулю, пам'ятайте, він оцінює 1248 01:03:49,200 --> 01:03:52,170 умова перш ніж він йде на виконати тіло циклу. 1249 01:03:52,170 --> 01:03:56,820 І коли я дорівнює нулю, це невірно, тому він не роздруковувати відлік 1250 01:03:56,820 --> 01:04:00,200 нулю, він просто друкує рахунки вниз 10 все, аж до 1. 1251 01:04:00,200 --> 01:04:03,420 Якщо ми насправді хотіли, щоб роздрукувати нулю, то ми б поставити знак рівності 1252 01:04:03,420 --> 01:04:04,750 після цього більше, ніж знак. 1253 01:04:04,750 --> 01:04:09,400 1254 01:04:09,400 --> 01:04:10,130 ОК. 1255 01:04:10,130 --> 01:04:16,410 >> Так один із способів зробити перевірку вхідних даних, які коли ви попросите користувача робити 1256 01:04:16,410 --> 01:04:18,620 щось, ви хочете переконатися, що вони слідувати вашим вказівкам, полягає у використанні 1257 01:04:18,620 --> 01:04:19,400 У той час як цикл, чи не так? 1258 01:04:19,400 --> 01:04:22,990 Таким чином, в даному конкретному випадку, я прошу для позитивного числа, а потім я 1259 01:04:22,990 --> 01:04:23,810 очікує введення. 1260 01:04:23,810 --> 01:04:28,210 >> А потім я перевірив Хоча вхід менше нуля, продовжують запитувати їх. 1261 01:04:28,210 --> 01:04:32,100 Так що, поки вони дають мені номер що не є позитивним, запитують, 1262 01:04:32,100 --> 01:04:33,600 продовжувати запитувати, продовжують запитувати. 1263 01:04:33,600 --> 01:04:35,860 Але те, що є свого роду дивно про це? 1264 01:04:35,860 --> 01:04:38,570 Або те, що, здається, не оптимальна про ця структура прямо тут? 1265 01:04:38,570 --> 01:04:44,282 1266 01:04:44,282 --> 01:04:44,758 Будь? 1267 01:04:44,758 --> 01:04:45,234 Так? 1268 01:04:45,234 --> 01:04:47,614 >> СПІКЕР 6: Ви повторюючи інструкція двічі. 1269 01:04:47,614 --> 01:04:48,100 >> ЙОСИП: Вірно. 1270 01:04:48,100 --> 01:04:50,090 Тому у нас є два Printf заяви тут, чи не так? 1271 01:04:50,090 --> 01:04:53,440 Так що є спосіб, яким ми могли б отримати це просто до одного, що б зробити наш 1272 01:04:53,440 --> 01:04:57,170 Код легше читати і трохи більш чистою. 1273 01:04:57,170 --> 01:05:00,180 І тоді ми не мали б вже Отримати в два рази, а також. 1274 01:05:00,180 --> 01:05:03,740 І один із способів ви можете зробити це за допомогою Зроби While Loop. 1275 01:05:03,740 --> 01:05:07,670 >> І Зроби Хоча цикл в основному інша форма якийсь час циклу, де 1276 01:05:07,670 --> 01:05:11,460 все, що всередині фігурних дужок запускається на виконання принаймні, один раз. 1277 01:05:11,460 --> 01:05:14,840 Так тут, я заявляю, внутр вхід, поза першою. 1278 01:05:14,840 --> 01:05:18,100 А потім я просто сказати, зробити це Інструкція тоді як вхід 1279 01:05:18,100 --> 01:05:19,140 менше нуля. 1280 01:05:19,140 --> 01:05:20,530 Так він потрапляє в робити в першу чергу. 1281 01:05:20,530 --> 01:05:24,190 Він завжди буде виконувати це принаймні один раз, так буде завжди попросити користувача 1282 01:05:24,190 --> 01:05:25,960 для введення хоча б раз. 1283 01:05:25,960 --> 01:05:29,390 А потім він оцінює цей вхід, і це продовжується по колу. 1284 01:05:29,390 --> 01:05:30,135 Так, питання? 1285 01:05:30,135 --> 01:05:32,602 >> СПІКЕР 6: Чи є спосіб зробити це [Нерозбірливості] типи, як, якщо ви говорите, 1286 01:05:32,602 --> 01:05:34,268 GetString, і хтось [нерозбірливо] 1287 01:05:34,268 --> 01:05:35,220 чи є спосіб, щоб [нерозбірливо] 1288 01:05:35,220 --> 01:05:40,060 >> ЙОСИП: Так питання в тому, чи є спосіб зробити перевірку вхідних даних, якщо користувач 1289 01:05:40,060 --> 01:05:41,850 не ставить в праві тип змінної? 1290 01:05:41,850 --> 01:05:44,460 Так що, якщо ми просимо для міжнар і вони дати нам рядок замість. 1291 01:05:44,460 --> 01:05:49,110 І у функціях, які ми реалізуємо для вас, GetInt, GetString у всіх 1292 01:05:49,110 --> 01:05:52,680 ті функції, вони насправді вже робити такого роду базової системи введення типу 1293 01:05:52,680 --> 01:05:54,120 перевірка під капотом. 1294 01:05:54,120 --> 01:05:57,390 Так що якщо ви використовуєте функції, які ми дав вам, ви дійсно не повинні. 1295 01:05:57,390 --> 01:06:01,380 >> Але якщо ви хочете, щоб виглядати більш про те, як ви реально можете зробити це, ви можете подивитися 1296 01:06:01,380 --> 01:06:03,360 під капотом на файл I/O-- 1297 01:06:03,360 --> 01:06:07,990 неподавання, стандартні функції вводу / виводу як читання зі стандартного вводу і 1298 01:06:07,990 --> 01:06:08,580 стандартний висновок. 1299 01:06:08,580 --> 01:06:10,630 І ви можете отримати краще уявлення про те, як ви могли б зробити це. 1300 01:06:10,630 --> 01:06:13,670 >> Роб: Одне з питань, тим не менш, саме на прикладі ви 1301 01:06:13,670 --> 01:06:17,070 сказав, ви очікуєте рядок і я ввести Int. 1302 01:06:17,070 --> 01:06:20,110 Як би ви сказати, різниця між навмисно бажаючи 1303 01:06:20,110 --> 01:06:23,130 Рядок 123 проти бажаючи десяткового 123? 1304 01:06:23,130 --> 01:06:29,230 не так рядок, це в значній мірі немає ніякого перевірка, це просто те, що вони 1305 01:06:29,230 --> 01:06:31,600 вступив ви інтерпретувати у вигляді рядка. 1306 01:06:31,600 --> 01:06:35,790 >> Int легше, тому що незалежно від того, вхід ви берете від користувача, ви 1307 01:06:35,790 --> 01:06:37,470 завжди приймаючи рядок. 1308 01:06:37,470 --> 01:06:40,650 І так, що рядок, яку ви можете потім перевірити, всі з них 1309 01:06:40,650 --> 01:06:44,218 фактично цифрам? 1310 01:06:44,218 --> 01:06:45,170 >> ЙОСИП: ОК. 1311 01:06:45,170 --> 01:06:46,420 Будь-які питання про зроби той час як цикл? 1312 01:06:46,420 --> 01:06:49,170 >> Роб: Так, і це теж - 1313 01:06:49,170 --> 01:06:55,130 повертаючись до області, кілька загальних помилка намагається використовувати деякі місцеві 1314 01:06:55,130 --> 01:06:59,540 змінна зсередини цієї Do-While петля всередині цього умови. 1315 01:06:59,540 --> 01:07:02,850 А насправді, якщо ми просто позбулися це і сказав, внутр вхід дорівнює 1316 01:07:02,850 --> 01:07:06,990 GetInt, то компілятор буде кричати на нам, тому що вхід не існує 1317 01:07:06,990 --> 01:07:08,900 за межами рамки ці фігурні дужки. 1318 01:07:08,900 --> 01:07:10,792 >> ЙОСИП: І саме тому ми потрібен цей модельний ряд тут. 1319 01:07:10,792 --> 01:07:13,620 1320 01:07:13,620 --> 01:07:14,630 ОК. 1321 01:07:14,630 --> 01:07:17,530 Таким чином, ви можете також вийти з цикл рано, якщо ви хочете. 1322 01:07:17,530 --> 01:07:21,240 Так що це інший спосіб реалізації, що ми просто реалізується. 1323 01:07:21,240 --> 01:07:24,340 І замість того, використовуючи умову в дужках, ми використовуємо 1324 01:07:24,340 --> 01:07:26,920 Якщо заява всередині тіла з Зроби той час як цикл. 1325 01:07:26,920 --> 01:07:30,000 >> А в принципі, коли вхід нарешті більше нуля, то ми будемо 1326 01:07:30,000 --> 01:07:31,000 вирватися з петлі. 1327 01:07:31,000 --> 01:07:33,420 І тому ми будемо з усіх аж тут. 1328 01:07:33,420 --> 01:07:37,920 І ви можете бачити, що це буде ймовірно бути кращим у цьому 1329 01:07:37,920 --> 01:07:39,870 сценарій, тому що це трохи трохи чистішим і трохи 1330 01:07:39,870 --> 01:07:41,380 біт легше читати. 1331 01:07:41,380 --> 01:07:45,210 У той час як це, ви як би є зайві рядки в ньому. 1332 01:07:45,210 --> 01:07:47,890 Це просто трохи потворніше, Я думаю, в деякому сенсі. 1333 01:07:47,890 --> 01:07:48,530 Так, питання? 1334 01:07:48,530 --> 01:07:52,178 >> СПІКЕР 4: ламається тільки отримати Ви з одного набору дужок? 1335 01:07:52,178 --> 01:07:53,080 >> ЙОСИП: Вірно. 1336 01:07:53,080 --> 01:07:58,100 Таким чином, питання зламає тільки щоб ви з однієї петлі? 1337 01:07:58,100 --> 01:07:59,280 І відповідь буде позитивною. 1338 01:07:59,280 --> 01:08:04,290 Так що якщо у вас є вкладені цикли, для Наприклад, якщо у мене є Для внутр я дорівнює 0 1339 01:08:04,290 --> 01:08:09,040 до 10, а потім Для Int J НЕ дорівнює 0 до 10, якщо я вирватися з внутрішньої 1340 01:08:09,040 --> 01:08:12,310 цикл, я все одно буду йти до зовнішньої петлі. 1341 01:08:12,310 --> 01:08:15,760 Так що буду продовжувати виступати операції на вулицю. 1342 01:08:15,760 --> 01:08:17,640 Будь-які питання про те, що? 1343 01:08:17,640 --> 01:08:18,000 Так? 1344 01:08:18,000 --> 01:08:21,760 >> СПІКЕР 5: Але зламати тільки функції для фігурних дужках, не для інших 1345 01:08:21,760 --> 01:08:22,230 заяви? 1346 01:08:22,230 --> 01:08:22,700 [Нерозбірливості] 1347 01:08:22,700 --> 01:08:27,620 >> ЙОСИП: Таким чином, питання буде перерва тільки функція для петель на відміну від 1348 01:08:27,620 --> 01:08:29,014 інші заяви, якби? 1349 01:08:29,014 --> 01:08:32,950 І так, це так, тому що ви порушуєте з циклу, праворуч, 1350 01:08:32,950 --> 01:08:33,630 в деякому сенсі. 1351 01:08:33,630 --> 01:08:37,215 >> Роб: У переважній більшості випадків, це це свого роду, якщо щось, 1352 01:08:37,215 --> 01:08:37,660 потім перерва. 1353 01:08:37,660 --> 01:08:41,580 Так що вам не доведеться ламати звернутися в Якщо це обертає навколо нього. 1354 01:08:41,580 --> 01:08:45,250 А також, це не так багато з петлі, але пам'ятайте, що перемикачі також 1355 01:08:45,250 --> 01:08:46,340 вирвався з перервами. 1356 01:08:46,340 --> 01:08:48,390 Ми бачили перерви використовуються з перемикачами раніше. 1357 01:08:48,390 --> 01:08:52,189 >> ЙОСИП: І ви також можете використовувати їх в той час як петлі і для петель. 1358 01:08:52,189 --> 01:08:54,560 Є питання? 1359 01:08:54,560 --> 01:08:55,830 ОК. 1360 01:08:55,830 --> 01:08:57,779 Так що наступного до є функції. 1361 01:08:57,779 --> 01:09:01,500 Таким чином, ви, можливо, використовував один з цих BYOB блоки у вашій подряпин проекту. 1362 01:09:01,500 --> 01:09:04,569 І це в основному дозволяє визначити набір 1363 01:09:04,569 --> 01:09:05,680 інструкції, яким необхідно слідувати. 1364 01:09:05,680 --> 01:09:09,569 >> І те, що я маю на увазі, що це давайте подумаємо повернутися до математики, право, алгебра. 1365 01:09:09,569 --> 01:09:13,370 У вас є те, що ми називаємо функцією х, деяка змінна, і скажемо, це 1366 01:09:13,370 --> 01:09:16,080 функція е х одно х плюс 5. 1367 01:09:16,080 --> 01:09:20,410 Таким чином, ви можете думати про е х а ця чорна вікно, в якому візьмуть 15 в, а потім 1368 01:09:20,410 --> 01:09:22,590 виробляє 20. 1369 01:09:22,590 --> 01:09:26,630 >> Так більш загально, функція те, що займає кілька входів і 1370 01:09:26,630 --> 01:09:27,880 потім виробляє деякі виходи. 1371 01:09:27,880 --> 01:09:31,920 1372 01:09:31,920 --> 01:09:32,960 І чому функції добре? 1373 01:09:32,960 --> 01:09:35,189 Вони хороші для цілого ряду причин. 1374 01:09:35,189 --> 01:09:40,470 Чи означає хтось хоче прийняти удар на те, що організація означає? 1375 01:09:40,470 --> 01:09:42,630 З точки зору того, чому функцій корисним? 1376 01:09:42,630 --> 01:09:43,090 Так? 1377 01:09:43,090 --> 01:09:44,735 >> СПІКЕР 4: Це робить ваш код більш читабельним. 1378 01:09:44,735 --> 01:09:45,399 >> ЙОСИП: Вірно. 1379 01:09:45,399 --> 01:09:47,670 Таким чином, одна з речей, це робить Ваш код більш читабельним, чи не так? 1380 01:09:47,670 --> 01:09:53,710 Замість того, як Int х одно х раз х раз х, у мене може бути куб х, 1381 01:09:53,710 --> 01:09:57,190 який є більш зручним для читання і більше зрозумілою для читача. 1382 01:09:57,190 --> 01:10:01,150 >> Організація також з точки зору розділивши свій код у керованій 1383 01:10:01,150 --> 01:10:05,610 частини, так що замість того, щоб реалізувати це все в одному довгий відрізок 1384 01:10:05,610 --> 01:10:09,070 в основному, ви можете роду розділити його в, як, в порядку, давайте напишемо функцію 1385 01:10:09,070 --> 01:10:11,910 в куб щось, давайте напишемо функціонувати в квадрат щось. 1386 01:10:11,910 --> 01:10:15,950 Таким чином, ви можете розбити його на крихітні, маленькі деталі, які ви можете вирішувати 1387 01:10:15,950 --> 01:10:18,944 на відміну від намагається боротися велика проблема все відразу. 1388 01:10:18,944 --> 01:10:21,806 >> Роб: Або навіть крихітні, маленькі деталі, які Ви і партнер може вирішувати. 1389 01:10:21,806 --> 01:10:22,283 >> ЙОСИП: Так. 1390 01:10:22,283 --> 01:10:23,855 >> Роб: Таким чином, замість обох Ви намагаєтеся впровадити один 1391 01:10:23,855 --> 01:10:27,170 функціонувати одночасно. 1392 01:10:27,170 --> 01:10:28,800 >> ЙОСИП: Спрощення. 1393 01:10:28,800 --> 01:10:30,050 Хто-небудь хоче зробити припущення? 1394 01:10:30,050 --> 01:10:33,080 1395 01:10:33,080 --> 01:10:33,410 Так? 1396 01:10:33,410 --> 01:10:34,675 >> СПІКЕР 5: Більше повторення. 1397 01:10:34,675 --> 01:10:35,260 >> ЙОСИП: Вірно. 1398 01:10:35,260 --> 01:10:39,210 Таким чином, одна річ, яку ви можете зробити з спрощення в тому, що це свого роду на 1399 01:10:39,210 --> 01:10:42,520 тією ж схемою, повторного використання в тому, що як тільки я написати функцію куба, я можу 1400 01:10:42,520 --> 01:10:45,410 просто використовувати, що знову і знову і знову знову в моїй програмі, а не вводити 1401 01:10:45,410 --> 01:10:49,610 х раз х раз х більш і знову і знову. 1402 01:10:49,610 --> 01:10:52,980 І спрощення тут також просто означає, що вона робить ваш код роду 1403 01:10:52,980 --> 01:10:55,900 простіше налагоджувати, як тільки ви розділити це до по функціях. 1404 01:10:55,900 --> 01:10:58,250 Бо тоді ви можете локалізувати WHERE Ваші проблеми роду є. 1405 01:10:58,250 --> 01:11:00,910 1406 01:11:00,910 --> 01:11:02,160 Є питання? 1407 01:11:02,160 --> 01:11:04,200 1408 01:11:04,200 --> 01:11:06,540 >> Так ще одна ідея є абстракцією, чи не так? 1409 01:11:06,540 --> 01:11:07,390 Це чорний ящик. 1410 01:11:07,390 --> 01:11:11,360 Як ви знаєте, що GetInt робить отримувати введення від користувача? 1411 01:11:11,360 --> 01:11:12,510 Ми ще не сказав вам, чи не так? 1412 01:11:12,510 --> 01:11:15,670 Все, що ми сказали вам, GetInt робить саме те, що він говорить, що робить. 1413 01:11:15,670 --> 01:11:18,440 Таким чином, навіть якщо ми не розповімо вам, як це працює, ви будете знати. 1414 01:11:18,440 --> 01:11:21,670 >> Таким чином, в даному випадку, це четвірка функція, яка робить 1415 01:11:21,670 --> 01:11:24,520 різні речі для входу для отримання висновку. 1416 01:11:24,520 --> 01:11:28,050 І ви можете в чотири рази ряд шляхом множення його на чотири. 1417 01:11:28,050 --> 01:11:30,790 Або ви можете, що ми називаємо трохи зрушити його на два. 1418 01:11:30,790 --> 01:11:32,960 І ми поговоримо про це трохи пізніше. 1419 01:11:32,960 --> 01:11:36,570 І немає ніякої необхідності знати, як це Функція насправді працює, поки його 1420 01:11:36,570 --> 01:11:37,640 працює як заявлено. 1421 01:11:37,640 --> 01:11:40,740 >> Так під капотом, я міг би бути як, повернутися вхідні раз 1422 01:11:40,740 --> 01:11:41,690 вісім ділиться на два. 1423 01:11:41,690 --> 01:11:42,510 І ви не знаєте, чи не так? 1424 01:11:42,510 --> 01:11:44,970 Все, що вам потрібно знати, це те, що він говорить. 1425 01:11:44,970 --> 01:11:48,070 Так ось корисна річ про абстракції. 1426 01:11:48,070 --> 01:11:52,910 >> І ось ще що є свого роду ця ідея локалізувати свій код до одного 1427 01:11:52,910 --> 01:11:54,280 Окремий розділ. 1428 01:11:54,280 --> 01:11:57,450 Так що якщо у вас є проблеми, ви не повинні піти на всьому протязі Вашого коду намагається 1429 01:11:57,450 --> 01:11:58,730 виправити, де проблема була. 1430 01:11:58,730 --> 01:12:00,990 Таким чином, в цьому випадку, я реалізував куб неправильно. 1431 01:12:00,990 --> 01:12:02,820 Я думав, куб був множення на три. 1432 01:12:02,820 --> 01:12:05,760 >> Таким чином, в даному випадку, це одна програма що просто вже множення на три 1433 01:12:05,760 --> 01:12:06,750 скрізь. 1434 01:12:06,750 --> 01:12:10,910 І є ще одна програма, яка має факторізовать куб з в функцію. 1435 01:12:10,910 --> 01:12:14,040 І ось тепер, якщо я хочу, щоб виправити свою помилку тут, я повинен виправити кожну лінію 1436 01:12:14,040 --> 01:12:15,620 коду в цій програмі. 1437 01:12:15,620 --> 01:12:19,190 У той час як, з іншого боку, якщо я використовую Функція, мені потрібно тільки змінити 1438 01:12:19,190 --> 01:12:20,650 що було не так в одному місці. 1439 01:12:20,650 --> 01:12:25,330 1440 01:12:25,330 --> 01:12:28,730 >> Таким чином, в галузі інформатики, ми подзвонити входи і виходи. 1441 01:12:28,730 --> 01:12:31,640 Входи називаються параметри або аргументи, і виходи називаються 1442 01:12:31,640 --> 01:12:32,950 повертати значення. 1443 01:12:32,950 --> 01:12:39,000 І ми побачимо, як це допомагає нам розібратися з визначення функції в секунду. 1444 01:12:39,000 --> 01:12:41,430 Так що це визначення функції для Cubing. 1445 01:12:41,430 --> 01:12:45,110 Таким чином, він приймає вхідний сигнал, а потім він повертає, що число раз 1446 01:12:45,110 --> 01:12:47,020 Сам три рази. 1447 01:12:47,020 --> 01:12:48,020 Так що давайте розірвати цей вниз. 1448 01:12:48,020 --> 01:12:53,090 >> Тому у нас є заголовок функції, яка в основному складається з трьох речей. 1449 01:12:53,090 --> 01:12:56,050 Тому у нас є параметри, які , Як я вже говорив, 1450 01:12:56,050 --> 01:12:57,680 Входи в цій функції. 1451 01:12:57,680 --> 01:12:59,300 А потім ми даємо функції ім'я. 1452 01:12:59,300 --> 01:13:00,740 У цьому випадку він називається куб. 1453 01:13:00,740 --> 01:13:03,860 А потім ми визначаємо, які типу з повертається значення. 1454 01:13:03,860 --> 01:13:06,760 >> Таким чином, в цьому випадку, моя функція куб бере у вигляді цілого числа, і це також 1455 01:13:06,760 --> 01:13:07,890 повертає ціле. 1456 01:13:07,890 --> 01:13:11,510 Так що, якщо я проходжу в два, два є цілим числом, вона повертає вісім мені, що 1457 01:13:11,510 --> 01:13:13,250 є цілим числом. 1458 01:13:13,250 --> 01:13:15,420 Так повертати параметри ім'я типу. 1459 01:13:15,420 --> 01:13:16,670 Питання про те, що? 1460 01:13:16,670 --> 01:13:19,440 1461 01:13:19,440 --> 01:13:24,230 >> А потім повертається значення насправді вказано наприкінці, кажучи повернення 1462 01:13:24,230 --> 01:13:27,540 , А потім повертаються всі містить повертається значення. 1463 01:13:27,540 --> 01:13:30,940 Таким чином, в цьому випадку, якщо ми поставити все це разом, функція приймає в 1464 01:13:30,940 --> 01:13:35,100 параметри, це називається і те, і вона повертає щось, що тип 1465 01:13:35,100 --> 01:13:36,350 що ми говоримо, що це збиралося бути. 1466 01:13:36,350 --> 01:13:39,830 1467 01:13:39,830 --> 01:13:41,080 Є питання? 1468 01:13:41,080 --> 01:13:43,710 1469 01:13:43,710 --> 01:13:45,080 >> Так як же нам використовувати функцію? 1470 01:13:45,080 --> 01:13:49,230 Ну, ми напишемо функцію, а потім ми використовуємо його в нашій програмі, чи не так? 1471 01:13:49,230 --> 01:13:51,565 Так що я назвав його куб, і то я можу використовувати куб. 1472 01:13:51,565 --> 01:13:54,200 >> Але, що важливо відзначити, є те, що порядок важливий. 1473 01:13:54,200 --> 01:13:58,100 Якщо у мене є куб нижче основної, це збираєтеся працювати в кубі. 1474 01:13:58,100 --> 01:14:00,360 І в цей момент, немає нічого називається куб в програмі, і це 1475 01:14:00,360 --> 01:14:02,550 просто буде схоже, у мене є ніяка ідея, що куб ні. 1476 01:14:02,550 --> 01:14:05,060 >> Так він розповість вам, неявна декларація функції. 1477 01:14:05,060 --> 01:14:06,690 Це помилка, що з'являється. 1478 01:14:06,690 --> 01:14:10,230 І тому в даному випадку, куб нижче Основний, так що не збирається 1479 01:14:10,230 --> 01:14:12,006 знати про це. 1480 01:14:12,006 --> 01:14:14,724 >> СПІКЕР 5: Так головний, як правило, остання функція визначена? 1481 01:14:14,724 --> 01:14:17,290 >> ЙОСИП: Так питання в тому, є основним зазвичай останній 1482 01:14:17,290 --> 01:14:18,170 річ, яку ви б визначити? 1483 01:14:18,170 --> 01:14:19,730 І немає. 1484 01:14:19,730 --> 01:14:22,280 Це тому, що ми зазвичай подобається головний щоб бути на вершині, чи не так? 1485 01:14:22,280 --> 01:14:24,640 Тому що це перше, що ви хочу відкрити програміст 1486 01:14:24,640 --> 01:14:25,640 Програма бачити. 1487 01:14:25,640 --> 01:14:29,950 І так як ми вирішити цю проблему ми хочете основний, щоб бути на вершині, але 1488 01:14:29,950 --> 01:14:33,750 функції, які ми хочемо, ми хочемо їх бути нижче основної ще бути в змозі використати 1489 01:14:33,750 --> 01:14:34,930 їх всередині основної? 1490 01:14:34,930 --> 01:14:36,870 >> Ну, ми використовуємо те, що ми називаємо прототип функції. 1491 01:14:36,870 --> 01:14:40,830 Так що прототип функції істотно чи є це першим бере те, що 1492 01:14:40,830 --> 01:14:45,060 підпис або заголовок функції з того, що ми хочемо реалізувати вниз 1493 01:14:45,060 --> 01:14:47,420 тут, і ми розмістили його на верхня частина програми. 1494 01:14:47,420 --> 01:14:51,400 >> Так що в цьому випадку говорять, що, мовляв, пізніше в нашій програмі, ми збираємося 1495 01:14:51,400 --> 01:14:55,010 давати обіцянку реалізувати це Функція називається внутр куб, який приймає 1496 01:14:55,010 --> 01:14:56,260 ціле вхід. 1497 01:14:56,260 --> 01:15:00,870 Так що тепер, тому що це вище основної, Головний, він збирається сказати, ой, ну, 1498 01:15:00,870 --> 01:15:03,910 пізніше в програмі, що буде там, щоб я міг звертатися до нього, так що я буду 1499 01:15:03,910 --> 01:15:05,230 просто дайте їй пройти через на даний момент. 1500 01:15:05,230 --> 01:15:07,660 >> А потім на дні, ми реалізуємо куб. 1501 01:15:07,660 --> 01:15:11,180 А потім головний просто скажу, добре, він буде свого роду сполучною ланкою 1502 01:15:11,180 --> 01:15:12,250 ці два символи разом. 1503 01:15:12,250 --> 01:15:14,320 І ми розповімо, що це означає надалі. 1504 01:15:14,320 --> 01:15:17,090 І так будете знати, що це Функція куб, який він повинен використовувати. 1505 01:15:17,090 --> 01:15:19,630 1506 01:15:19,630 --> 01:15:23,383 >> Роб: [нерозбірливо] про бажання Основний внизу або 1507 01:15:23,383 --> 01:15:24,880 кращих, я бачив й інше. 1508 01:15:24,880 --> 01:15:28,630 Є речі, які так само, як поставити основний внизу. 1509 01:15:28,630 --> 01:15:32,520 Але як тільки проект отримує особливо великий, зазвичай основний знаходиться в 1510 01:15:32,520 --> 01:15:34,290 подати всі свої власні. 1511 01:15:34,290 --> 01:15:38,170 І в цей момент, як внутр куб лінія буде - 1512 01:15:38,170 --> 01:15:42,460 всередині stdio.h купа ліній просто так міжнар 1513 01:15:42,460 --> 01:15:44,010 куб внутр лінійний вхід. 1514 01:15:44,010 --> 01:15:50,170 >> І тому ці прототипи речей, які ви як правило, покласти у файли заголовків, в 1515 01:15:50,170 --> 01:15:52,140 чого, це не має значення. 1516 01:15:52,140 --> 01:15:54,700 Ну, це не має значення. 1517 01:15:54,700 --> 01:15:56,070 Ті, завжди йдуть у верхній частині. 1518 01:15:56,070 --> 01:15:59,490 І якщо основний не є файлом всі свої власні, Ви не повинні хвилюватися про приміщення 1519 01:15:59,490 --> 01:16:02,360 Окремі прототипи функцій у файлі. 1520 01:16:02,360 --> 01:16:05,370 >> ЙОСИП: І ми повернемося до цього трохи Трохи пізніше, коли Роб починає говорити 1521 01:16:05,370 --> 01:16:06,380 про компіляції. 1522 01:16:06,380 --> 01:16:09,480 І таким чином, є також різниця між параметром і аргументу. 1523 01:16:09,480 --> 01:16:12,500 І параметр саме те, що ми називаємо ці входи, коли 1524 01:16:12,500 --> 01:16:13,820 визначимо функцію. 1525 01:16:13,820 --> 01:16:16,950 І ми називаємо це аргумент, коли ми насправді передати його в функцію. 1526 01:16:16,950 --> 01:16:19,600 >> Таким чином, в даному випадку, це параметр, як ми вже говорили раніше. 1527 01:16:19,600 --> 01:16:24,130 І коли ми насправді використовувати його там, куб х, то х саме по собі є 1528 01:16:24,130 --> 01:16:25,910 що ми називаємо аргумент до функції куба. 1529 01:16:25,910 --> 01:16:28,150 >> Роб: Так аргументи параметра є - 1530 01:16:28,150 --> 01:16:33,270 є це розходження, дуже плутати взаємозамінні. 1531 01:16:33,270 --> 01:16:37,090 На даний момент, для мене, це як один з ці слова, що, коли я бачу його в 1532 01:16:37,090 --> 01:16:41,190 дикий, я не можу допомогти, але відразу Питання про те, що вони використовують його в 1533 01:16:41,190 --> 01:16:44,120 правильний контекст, тому що Різниця в тому, досить тонкі, що просто 1534 01:16:44,120 --> 01:16:45,500 всі схильні - 1535 01:16:45,500 --> 01:16:48,530 Я майже завжди говорю аргумент незалежно від того, що я маю на увазі. 1536 01:16:48,530 --> 01:16:51,230 1537 01:16:51,230 --> 01:16:54,630 >> Йосип: і функції також корисні за те, що ми називаємо побічні ефекти. 1538 01:16:54,630 --> 01:16:59,230 Так функція не може приймати ніяких входів, і він не може також призвести жодного виходу. 1539 01:16:59,230 --> 01:17:03,280 Таким чином, в даному випадку, я визначення підпрограму, яка має ще 1540 01:17:03,280 --> 01:17:03,970 повертати значення. 1541 01:17:03,970 --> 01:17:07,730 А для того, щоб вказати, що ми використовуємо що ми називаємо порожнечу тут. 1542 01:17:07,730 --> 01:17:10,890 І так побічний ефект цієї функції є те, що він просто друкує матеріал 1543 01:17:10,890 --> 01:17:11,920 до цієї сторінки. 1544 01:17:11,920 --> 01:17:13,840 Це насправді не приймати будь входи, і це не робить 1545 01:17:13,840 --> 01:17:15,360 насправді виробляють ніяких виходів. 1546 01:17:15,360 --> 01:17:18,230 >> Але це може бути корисним у тому сенсі якщо ви хочете, наприклад, налагодження 1547 01:17:18,230 --> 01:17:21,530 щось у вашій програмі, якщо ви хочете написати невеликий підпрограму, яка 1548 01:17:21,530 --> 01:17:25,160 друкує, скажімо, зміст пам'яті або щось. 1549 01:17:25,160 --> 01:17:29,800 І так ці побічні ефекти іноді корисно поза контекстом 1550 01:17:29,800 --> 01:17:33,010 просто подобається входи і виходи. 1551 01:17:33,010 --> 01:17:34,260 Є питання? 1552 01:17:34,260 --> 01:17:37,270 1553 01:17:37,270 --> 01:17:44,240 >> І в кінець даний конкретний ділянку, що ж це програма? 1554 01:17:44,240 --> 01:17:47,420 Я дам вам, хлопці пару секунд, щоб прочитати його. 1555 01:17:47,420 --> 01:17:52,720 1556 01:17:52,720 --> 01:17:56,880 На самому базовому рівні, що ми хочемо сказати, що це міняє х і у, чи не так? 1557 01:17:56,880 --> 01:18:00,090 >> Так як багато хто з вас насправді думаю, це буде обміняти х і у? 1558 01:18:00,090 --> 01:18:02,160 Підніміть руку. 1559 01:18:02,160 --> 01:18:02,760 Ніхто. 1560 01:18:02,760 --> 01:18:03,070 ОК. 1561 01:18:03,070 --> 01:18:06,720 Хто думає, що він буде не змінити х і у? 1562 01:18:06,720 --> 01:18:09,120 І сума, яка була не вся кімната. 1563 01:18:09,120 --> 01:18:10,440 Таким чином, деякі люди не впевнені. 1564 01:18:10,440 --> 01:18:10,920 ОК. 1565 01:18:10,920 --> 01:18:11,630 Це розумно. 1566 01:18:11,630 --> 01:18:16,450 >> Так що давайте йти через те, що відбувається, коли ви насправді викликати функції спочатку в 1567 01:18:16,450 --> 01:18:18,320 для того, щоб відповісти на це питання. 1568 01:18:18,320 --> 01:18:21,430 Так що це те, що пам'ять роду виглядає. 1569 01:18:21,430 --> 01:18:23,860 Це ніби як спрощеної моделі про те, що пам'ять виглядає, коли 1570 01:18:23,860 --> 01:18:24,800 ви запускаєте програму. 1571 01:18:24,800 --> 01:18:27,270 Так що те, що називається стек сюди і 1572 01:18:27,270 --> 01:18:28,330 те, що називається купу. 1573 01:18:28,330 --> 01:18:30,950 І ці ростуть назустріч середина пам'яті. 1574 01:18:30,950 --> 01:18:33,860 >> Таким чином, в даному конкретному випадку, коли Ви викликаєте функцію, це 1575 01:18:33,860 --> 01:18:35,680 отримує покласти в стек. 1576 01:18:35,680 --> 01:18:38,900 І тоді все, що міститься в тому, що Функція залишається в тому, що ми називаємо, що 1577 01:18:38,900 --> 01:18:40,550 кадр стека функції. 1578 01:18:40,550 --> 01:18:44,500 І так, щоб отримати хороший візуалізацію це, let's - наприклад, у нас було 1579 01:18:44,500 --> 01:18:45,960 Програма основний раніше. 1580 01:18:45,960 --> 01:18:47,820 І всередині основної, ми назвали куб. 1581 01:18:47,820 --> 01:18:50,650 Так головний б спочатку піти в стеку кадр, тому що це перша функція 1582 01:18:50,650 --> 01:18:51,640 це називається. 1583 01:18:51,640 --> 01:18:55,740 >> А потім, коли куб називається всередині Головний, він отримує поставити на вершині головної 1584 01:18:55,740 --> 01:18:57,790 всередині пам'яті. 1585 01:18:57,790 --> 01:19:02,090 Так що ви помітите у тому, що куб є свої власні параметри і її 1586 01:19:02,090 --> 01:19:02,950 власні місцеві жителі. 1587 01:19:02,950 --> 01:19:06,720 Тому, коли ви насправді щось передати функція, параметри, які він 1588 01:19:06,720 --> 01:19:09,910 отримує копії того, що було передається з основною. 1589 01:19:09,910 --> 01:19:14,140 >> І начебто пояснити це, давайте пройти через програми. 1590 01:19:14,140 --> 01:19:16,960 Тому у нас є стек, це тільки частина стека. 1591 01:19:16,960 --> 01:19:21,240 І те, що ми робимо, ми спочатку ініціалізувати х і у в один і два. 1592 01:19:21,240 --> 01:19:22,400 Тому у нас є ці маленькі коробочки. 1593 01:19:22,400 --> 01:19:25,310 Вони сидять в стеку Головна автора кадр в стек. 1594 01:19:25,310 --> 01:19:26,580 Вони містять один і два. 1595 01:19:26,580 --> 01:19:28,820 >> Зараз ми називаємо підкачки. 1596 01:19:28,820 --> 01:19:33,940 Що відбувається, є проходимо х і у в своп і своп створює свої копії 1597 01:19:33,940 --> 01:19:36,520 з тих змінні для використання всередині її кадру стека. 1598 01:19:36,520 --> 01:19:39,920 Так що тепер там, у нас є, які містить значення, х мав, і б, 1599 01:19:39,920 --> 01:19:41,620 який містить значення, яке у мали. 1600 01:19:41,620 --> 01:19:42,670 Так один, два. 1601 01:19:42,670 --> 01:19:47,130 >> І ви помітите, що це окремий від х і у, всередині основної. 1602 01:19:47,130 --> 01:19:51,390 Таким чином, ми тепер створити тимчасовий змінна містить. 1603 01:19:51,390 --> 01:19:56,100 Покладемо а одно б, так що зміни від одного до двох. 1604 01:19:56,100 --> 01:19:59,340 І те покладемо б рівну до темп, який є одним. 1605 01:19:59,340 --> 01:20:01,640 >> І то зараз ми виходимо з з цієї функції. 1606 01:20:01,640 --> 01:20:04,310 1607 01:20:04,310 --> 01:20:07,410 При виході з функції, кадр стека отримує з стека. 1608 01:20:07,410 --> 01:20:08,270 Ми називаємо це натиснути. 1609 01:20:08,270 --> 01:20:12,750 Ви натискаєте кадру стека в стек і ви поп, якщо з стека. 1610 01:20:12,750 --> 01:20:16,080 І так, що відбувається це все, що був у цьому кадрі стека роду просто 1611 01:20:16,080 --> 01:20:17,280 йде у вогні. 1612 01:20:17,280 --> 01:20:19,180 НЕ І так, що більше не існує. 1613 01:20:19,180 --> 01:20:20,470 >> Але що ми помітили? 1614 01:20:20,470 --> 01:20:23,690 Ми ніколи фактично змінив значення х і у, вірно? 1615 01:20:23,690 --> 01:20:26,530 Так що ті, залишився локальним для основної. 1616 01:20:26,530 --> 01:20:29,900 І, передавши речі в своп, ми насправді ніколи не міняв ці цінності. 1617 01:20:29,900 --> 01:20:31,260 І що ж ми називаємо це? 1618 01:20:31,260 --> 01:20:33,040 Ми називаємо це проходження за значенням. 1619 01:20:33,040 --> 01:20:36,860 >> Таким чином, в C, коли ви проходите речі в Функції, він передає їх за значенням і 1620 01:20:36,860 --> 01:20:40,160 робить копію них функція у використанні. 1621 01:20:40,160 --> 01:20:43,980 А ми будемо знати про щось під назвою передача за посиланням пізніше, але це 1622 01:20:43,980 --> 01:20:45,390 як ви можете вирішити цю проблему. 1623 01:20:45,390 --> 01:20:47,080 Але ми не будемо турбуватися про що до пізніше. 1624 01:20:47,080 --> 01:20:52,200 >> Роб: А насправді, цей термін, проходження за посиланням, і С не має навіть 1625 01:20:52,200 --> 01:20:54,270 проходячи повз посилання. 1626 01:20:54,270 --> 01:20:56,760 З виключно має передача за значенням. 1627 01:20:56,760 --> 01:20:59,630 Незалежно від того, що ви робите, ви не завжди проходячи копію чогось. 1628 01:20:59,630 --> 01:21:03,395 Це просто, що, як і я, звичайно, згадав що раніше з покажчиками 1629 01:21:03,395 --> 01:21:07,690 і що рядок насправді просто чотири байт вказуючи куди-небудь в пам'яті. 1630 01:21:07,690 --> 01:21:11,890 >> Ну, якщо у мене є цей рядок, і це говорив мені, що те, де рядок - 1631 01:21:11,890 --> 01:21:15,470 добре, якщо у мене є цей покажчик, щоб це розмістити в пам'яті, то я можу передати 1632 01:21:15,470 --> 01:21:19,160 Копія цього покажчика на функцію, і що функція все ще знає, де в 1633 01:21:19,160 --> 01:21:19,780 пам'яті це. 1634 01:21:19,780 --> 01:21:22,950 Так як з цих покажчиків повинні бути звернені на те ж місце в пам'яті і 1635 01:21:22,950 --> 01:21:26,460 ось як ми збираємося бути в змозі змінити речі поза 1636 01:21:26,460 --> 01:21:29,852 поточний кадр стека. 1637 01:21:29,852 --> 01:21:31,040 >> ЙОСИП: Ви хочете зробити компіляції? 1638 01:21:31,040 --> 01:21:31,820 >> Роб: Ні, це 5:30. 1639 01:21:31,820 --> 01:21:32,910 >> ЙОСИП: ОК. 1640 01:21:32,910 --> 01:21:35,040 Це 5:30. 1641 01:21:35,040 --> 01:21:35,360 ОК. 1642 01:21:35,360 --> 01:21:39,280 Так ми покриємо компіляції Я думаю, в Наступний розділ, або ваш розділ 1643 01:21:39,280 --> 01:21:42,795 лідер буде в цій точці. 1644 01:21:42,795 --> 01:21:43,272 І - 1645 01:21:43,272 --> 01:21:44,630 >> Роб: Є запитання? 1646 01:21:44,630 --> 01:21:46,760 >> ЙОСИП: Є запитання? 1647 01:21:46,760 --> 01:21:47,150 Так? 1648 01:21:47,150 --> 01:21:52,469 >> СПІКЕР 5: Використання рядків з CS50, будь-яка функції, які ми хочемо використовувати для 1649 01:21:52,469 --> 01:21:53,880 ті, що буде, як функцій C. 1650 01:21:53,880 --> 01:21:59,050 CS50 не пішов в і зробив будь-які додаткові. 1651 01:21:59,050 --> 01:22:01,850 >> ROB: Правильно. 1652 01:22:01,850 --> 01:22:08,155 Будь-який з С, як ви [нерозбірливо] буде використовувати ті на наших струн. 1653 01:22:08,155 --> 01:22:12,400 >> ЙОСИП: І останнє, що я хочу Згадка в тому, що у нас є керівництво по стилю 1654 01:22:12,400 --> 01:22:13,130 для цього класу. 1655 01:22:13,130 --> 01:22:13,360 >> Роб: О, так. 1656 01:22:13,360 --> 01:22:15,270 >> ЙОСИП: Так що, якщо ви приїхали з програмування фон і раніше, ви 1657 01:22:15,270 --> 01:22:17,750 можуть мати певні угоди, коли ви пишете код, як покласти 1658 01:22:17,750 --> 01:22:20,950 дужки на одному рядку або зокрема способи відступів 1659 01:22:20,950 --> 01:22:22,240 або іменування змінних. 1660 01:22:22,240 --> 01:22:26,870 У цьому класі ми хочемо слідувати конкретних стиль керівництва тільки тому, що, 1661 01:22:26,870 --> 01:22:31,100 добре, якщо ви виходите і працювати в промисловість, ви збираєтеся очікувати 1662 01:22:31,100 --> 01:22:34,780 слідувати керівництву стилю Компанія, з якою ви йдете в. 1663 01:22:34,780 --> 01:22:38,040 >> Як, наприклад, Facebook, я думаю, має особливе роду іменування 1664 01:22:38,040 --> 01:22:38,760 Конвенція. 1665 01:22:38,760 --> 01:22:42,570 І є відмінності між верблюда обсадні змінні і так само, як 1666 01:22:42,570 --> 01:22:44,610 розділяючи їх підкреслення. 1667 01:22:44,610 --> 01:22:52,170 А також, я думаю, найголовніше, як наприклад, відступи, чи не так? 1668 01:22:52,170 --> 01:22:56,440 >> Ми фігурні дужки почати, де умова, і вони 1669 01:22:56,440 --> 01:22:57,730 є на наступному рядку. 1670 01:22:57,730 --> 01:23:01,230 І ми також покласти фігурні дужки в навіть якщо це тільки одна лінія. 1671 01:23:01,230 --> 01:23:06,100 І багато разів, є способи зробити це де ви можете залишити ці дужки 1672 01:23:06,100 --> 01:23:08,380 , Якби це тільки одна лінія за твердженням If. 1673 01:23:08,380 --> 01:23:12,070 Але в цьому класі, ми хочемо слідувати конкретних стиль керівництва тільки так ви отримаєте 1674 01:23:12,070 --> 01:23:13,550 використовується для такого роду речі. 1675 01:23:13,550 --> 01:23:16,410 >> Роб: Так, і стиль 50 збирається життя це керівництво по стилю, і ми 1676 01:23:16,410 --> 01:23:18,080 збираєтеся використовувати стиль 50 до ступеня коді. 1677 01:23:18,080 --> 01:23:25,150 Так що робить речі простіше для нас, і сподіваюсь, не повинні робити речі, які 1678 01:23:25,150 --> 01:23:30,120 набагато гірше для вас, враховуючи стандартизований стиль не повинно бути, 1679 01:23:30,120 --> 01:23:31,460 нереально. 1680 01:23:31,460 --> 01:23:36,000 >> ЙОСИП: І, нарешті, знайти свій стиль гід, перейдіть до manual.cs50.net/style. 1681 01:23:36,000 --> 01:23:37,725 І так. 1682 01:23:37,725 --> 01:23:40,575 >> СПІКЕР 4: Ви збираєтеся провести в життя будь-які символи в рядку? 1683 01:23:40,575 --> 01:23:42,480 >> Роб: Так. 1684 01:23:42,480 --> 01:23:45,405 >> ЙОСИП: Вибачте, хлопці. 1685 01:23:45,405 --> 01:23:47,680 >> Роб: Це як один з єдиних. 1686 01:23:47,680 --> 01:23:50,420 На даний момент, я в порядку з 120. 1687 01:23:50,420 --> 01:23:52,460 Я в порядку з висловлюванням 120 символів в рядку. 1688 01:23:52,460 --> 01:23:53,830 Я розумію, що бути якийсь межа. 1689 01:23:53,830 --> 01:23:57,130 Я думаю, що 80 настільки мала, але ми в життя його. 1690 01:23:57,130 --> 01:24:00,260 >> ЙОСИП: Особисто я думаю, з З 80 символів більше ОК. 1691 01:24:00,260 --> 01:24:04,160 Як тільки ви почнете одержувати в іншому Мови, як JavaScript і PHP, а не 1692 01:24:04,160 --> 01:24:08,860 так розумно просто обмежити це до 80 символів. 1693 01:24:08,860 --> 01:24:09,260 ОК. 1694 01:24:09,260 --> 01:24:12,780 Ну, це було супер розділі. 1695 01:24:12,780 --> 01:24:14,750 Хто-небудь хоче цукерку? 1696 01:24:14,750 --> 01:24:16,000 >> СПІКЕР 4: Так. 1697 01:24:16,000 --> 01:24:18,667