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