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