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