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 ALLISON BUCHHOLTZ-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 Аз съм Алисън Buchholtz-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 Аз също съм на PAF, така че всеки 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 Аз съм Computer Science концентратор. 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 Щях да отида до Med училище. 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 броя, но подобно, 04 часа в понеделник, 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'S или два от 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 >> Така че много от TFS го използвате. 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 ще има всички тези TFS, [Недоловим] ви заобикалят. 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 Cool. 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 Повече бонбони за всички вие. 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 Mine ще бъде точно там. 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 OK, хладно. 260 00:10:45,300 --> 00:10:46,781 261 00:10:46,781 --> 00:10:47,280 Lovely. 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 С Марио, аз съм сигурен, че вие, момчета направиха нещо като междинно съединение и е равна на 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 Cool. 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 И така, ние имаме инициализация, както виждаме там, с инт аз 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 Cool. 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 >> Така че за изрично случая с Марио, той щеше да направи ФОРМАТ, въведете цяло число, 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 OK. 374 00:15:54,180 --> 00:15:55,651 375 00:15:55,651 --> 00:15:56,150 Cool. 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 Така че ние знаем, че ФОРМАТ "Въведете положително число" 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 Am I говори прекалено бързо? 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 OK. 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 Cool. 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. 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 Cool. 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-- получите някои инт да ги вход. 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 Cool. 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 I е равно на нула, и е по-малко от три в този момент, нали? 513 00:22:26,680 --> 00:22:27,780 Така че, който проверява навън. 514 00:22:27,780 --> 00:22:33,370 И ние казваме, OK, печат е каквото и да е в температурата и. 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 Awesome. 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 Cool? 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 >> STUDENT: Между това, че и просто обявяване [недоловим] над най-отгоре. 560 00:24:39,830 --> 00:24:42,470 >> ALLISON BUCHHOLTZ-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 Ние не сме просто правиш CLASS SIZE да бъде драматична. 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 Cool. 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 Lovely. 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 >> STUDENT: Трябва ли да бъде по-малко или равно на 2. 594 00:25:55,704 --> 00:25:56,920 595 00:25:56,920 --> 00:26:01,094 >> ALLISON: Така че това би могло да бъде по-малко или равно на 2, или тя може да бъде по-малко от 3. 596 00:26:01,094 --> 00:26:02,510 И какво е основанието за това? 597 00:26:02,510 --> 00:26:05,135 >> STUDENT: The [недоловим], 0, 1, 2. 598 00:26:05,135 --> 00:26:06,080 >> ALLISON: Точно така. 599 00:26:06,080 --> 00:26:12,180 Така в масив с размер N, ние само индекси на п минус 1. 600 00:26:12,180 --> 00:26:13,700 601 00:26:13,700 --> 00:26:14,200 Cool. 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 Awesome. 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 >> STUDENT: Дали пространството брои като нулевата терминатор? 667 00:29:02,906 --> 00:29:04,780 ALLISON: Така че пространството е не нулев терминатор. 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 STUDENT: Какво е най- удивителен равен отново? 671 00:29:13,552 --> 00:29:17,080 ALLISON: Така че, това е, което се отнасят. 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 Cool. 683 00:29:42,590 --> 00:29:44,260 Всичко добро там? 684 00:29:44,260 --> 00:29:44,760 Awesome. 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 OK. 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 STUDENT: [недоловим] скоби. 733 00:33:08,259 --> 00:33:09,140 ALLISON: скоби. 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 Cool. 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 >> STUDENT: аз се равнява на 0? 744 00:33:27,420 --> 00:33:31,400 >> ALLISON: Така INT и е равна на 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 И тогава ние ще имаме някои ФОРМАТ на цяло число, 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 Това ще бъде името на масив, който е INT масив, нали? 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 Cool. 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 >> STUDENT: [недоловим] 768 00:34:19,705 --> 00:34:20,659 >> ALLISON: Да. 769 00:34:20,659 --> 00:34:26,383 770 00:34:26,383 --> 00:34:27,798 >> STUDENT: Аз имам един въпрос. 771 00:34:27,798 --> 00:34:30,288 Възможно ли е трябвало да тире скоби? 772 00:34:30,288 --> 00:34:34,150 >> ALLISON: Така скоби трябва да се наредят с за линия, и след това всичко 773 00:34:34,150 --> 00:34:35,699 вътре в скоби трябва да бъдат разчленени. 774 00:34:35,699 --> 00:34:37,824 >> STUDENT: Добре, трябва ли за линия се отмества? 775 00:34:37,824 --> 00:34:41,159 >> ALLISON: The за линия не трябва да се отмества в този момент. 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 >> STUDENT: Трябва ли да има скобите след например? 781 00:34:55,687 --> 00:34:59,050 782 00:34:59,050 --> 00:35:01,260 >> ALLISON: Да, ако сте инициализиране по този начин. 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 >> STUDENT: Мислех, че е имало скоби за този пример. 788 00:35:17,281 --> 00:35:19,010 >> ALLISON: Не, те са скоби. 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 би било инт например конзоли три. 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 STUDENT: Така че, защо не сме скоби в този пример? 804 00:36:08,260 --> 00:36:11,030 ALLISON: Значи, в коя част? 805 00:36:11,030 --> 00:36:14,645 STUDENT: не бихме да речем, Int например скоби 806 00:36:14,645 --> 00:36:19,710 се равнява на скоби [недоловим] скоби за пример. 807 00:36:19,710 --> 00:36:20,900 >> ALLISON: О, съжалявам. 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 >> STUDENT: [недоловим] не го прави. 815 00:36:29,750 --> 00:36:31,270 >> ALLISON: Не, вие трябва да имате скоби, защото в противен случай това е 816 00:36:31,270 --> 00:36:32,810 Няма да декларираме масив. 817 00:36:32,810 --> 00:36:33,685 STUDENT: [недоловим]. 818 00:36:33,685 --> 00:36:34,200 Съжалявам за това. 819 00:36:34,200 --> 00:36:36,200 >> ALLISON: За съжаление, трябва скоби след пример. 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 >> Лия: Лия. 831 00:36:58,426 --> 00:36:59,340 >> ALLISON: Лия. 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 Cool. 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 или в Scratch, когато сте имали този велик идея за игра, 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 Cool. 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-- Сигурен съм, че вие, момчета, Всички видяхме това, както казах, с Scratch. 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 Но ако подходим на парче, вие казвате, OK, 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 >> Но големите неща, за да know-- така че първо един точно тук е нашият вид замяна. 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 >> С C, винаги се нуждаят от връщане тип. 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 OK. 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 Списък A параметър е просто синоним на това, което са нашите входове? 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 пъти пад пъти на ПНА, 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 Cool. 982 00:43:29,570 --> 00:43:31,350 983 00:43:31,350 --> 00:43:32,120 Awesome. 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 Така че ние имаме някакъв инт куб вход, така че това е пълна програма тук. 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 Cool. 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 >> ALLISON: Стеф? 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 >> STUDENT: Вие казвате [недоловим] преди всъщност се справят с нея. 1004 00:44:10,230 --> 00:44:11,700 >> ALLISON: Помните ли защо? 1005 00:44:11,700 --> 00:44:13,158 >> STUDENT: No. 1006 00:44:13,158 --> 00:44:14,620 >> ALLISON: OK. 1007 00:44:14,620 --> 00:44:16,090 Gold звезда. 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 Той ще каже, OK, какво е това куб функция? 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 Awesome. 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 OK. 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 И тогава местните жители на куба, който е когато действителното cubing случва. 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 Cool? 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 Awesome. 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 OK. 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 >> Така че ние имаме тази празнота суап функция 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 б. 1131 00:49:24,110 --> 00:49:27,046 И ние имаме някои временни променлива, която е. 1132 00:49:27,046 --> 00:49:30,050 а получава определен за и след това б получава възлага на TEMP 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 действителната X и Y години. 1141 00:49:55,960 --> 00:50:02,370 Така че един от начините да се мисли за това е that-- преструват, те са суап. 1142 00:50:02,370 --> 00:50:03,130 OK? 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 Cool. 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 И вие сте като OK готино. 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 String масив, да. 1186 00:51:40,690 --> 00:51:41,980 Cool. 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 >> STUDENT: арг в. 1194 00:51:55,640 --> 00:51:56,961 1195 00:51:56,961 --> 00:51:58,950 >> ALLISON: Така арг в поддържа брояч. 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 >> И тогава арг V, както казахме, е просто низ масив. 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 Имате някаква точка наклонена черта копирайте INFILE outfile. 1217 00:53:02,850 --> 00:53:06,670 Така че, ако арг в е броят на низове че ние сме преминава в командата 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 И тогава вторият ще бъде INFILE. 1227 00:53:28,065 --> 00:53:29,290 1228 00:53:29,290 --> 00:53:30,930 Третият ще бъде outfile. 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 Cool. 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 Cool. 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 OK. 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 ще бъде много полезно за Caesar Cipher. 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 Cool. 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 >> Така че, както виждаме тук, имаме главни букви A, която е точно там. 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 И малки букви A е 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 Space има своя собствена special-- Забравя къде е тук. 1308 00:56:22,581 --> 00:56:23,080 Ah. 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 Math е трудно. 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 >> Cool. 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 Каква е нашата цифрова номер за малки букви A? 1347 00:58:15,645 --> 00:58:16,270 STUDENT: Seven. 1348 00:58:16,270 --> 00:58:19,420 1349 00:58:19,420 --> 00:58:24,550 >> ALLISON: Значи малки букви A е 97 и главни букви A е 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 >> ALLISON: 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 STUDENT: A номер. 1360 00:58:46,730 --> 00:58:48,604 ALLISON: Ние сме печат от действителен брой. 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 Cool. 1370 00:59:15,020 --> 00:59:18,862 Така за всеки един от тях, какво ще се печат? 1371 00:59:18,862 --> 00:59:19,825 >> STUDENT: A характер. 1372 00:59:19,825 --> 00:59:20,830 >> ALLISON: A характер. 1373 00:59:20,830 --> 00:59:21,330 Cool. 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 от главна C, и последният ще бъде с малки букви A. 1379 00:59:36,410 --> 00:59:42,530 И последният one-- ние всъщност ще да влязат в какво луда процента 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 Cool. 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 ти започваш да се направи точка черта Caesar След като напишете програма, 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 Имаме арг срещу масив това е всичко тип низ. 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 просто преобразува низ с Int. 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 Cool. 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 Awesome. 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 >> STUDENT: Нула. 1457 01:03:16,603 --> 01:03:18,350 >> ALLISON: Нула. 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 >> АУДИТОРИЯ: One. 1461 01:03:23,660 --> 01:03:24,700 >> ALLISON: Cool. 1462 01:03:24,700 --> 01:03:29,280 И тогава този последният е просто да показва you-- може би се чудите, OK, 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 >> STUDENT: 0. 1477 01:04:06,042 --> 01:04:07,430 >> ALLISON: 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 Cool. 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