>> [Музыка, якая іграе]
АЛЛИСОН Бухгольц-AU: Прывітанне ўсім.
Сардэчна запрашаем на ваш першы Афіцыйны падзел CS50.
Як вы можаце, бачыць гэта Раздзел CS50-як, проста
каб падцягнуць нашу парадак дня на сёння.
Так, хто я, як я ўпэўнены, што Вы ўсё цікава.
Я твой TF.
Я не проста выпадковы студэнт хто выдае сябе за свой TF.
>> І я збіраюся прайсці праз збольшага ёсць раздзелы будуць цячы,
што мы чакаем, рэсурсы, гэтак далей і да таго падобнае.
Мы збіраемся казаць пра масівах, ASCII Функцыі, аргументы каманднага радка,
і гэта не тут, але Я таксама буду дапамагаць
вы, здаецца, прадумаць Ваш наступны PSET на гэтым тыдні.
Які я ўпэўнены, што вы ўсё цэняць.
>> Так, першы question-- хто я, акрамя вашай буянай TF тут.
Я Элісан Бухгольц-Au.
Гэта мой другі год TFing CS50.
Я таксама TF CS51 вясной.
Вы маглі б бачыць зноў ёсць калі вы вырашылі ўзяць яго.
Я таксама СУП, так што любы Freshmen-- і калі вы не пачатковец,
гэта мой трэці год як кансультаванне хлопец.
Я вельмі добра разбіраюцца ў раю вам на жыццё і курсы
у CS, а не ў CS.
Я інфарматыка канцэнтратар.
Я старэйшы ў Adams House, лепшы дом.
І, перш чым я перайшоў на CS мой Sophomore Вясна,
Я быў на самай справе біямедыцынскіх інжынер.
Я збіраўся пайсці ў медыцынскую школу.
Я збіраўся быць лекар-траўматолаг.
І што мае цалкам змянілася, так як я ўзяў CS50.
Я ўзяў курс мой Sophomore восень.
Гэта было маё першае знаёмства з CS-небудзь.
Я быў адным з 78% з вас, хто быў нулявы вопыт паступаюць,
і гэта цалкам змяніла маё жыццё.
І зараз я працую на Microsoft, і ваша выдатная TF.
І CS50, верагодна, адзін з лепшых падзей
што я меў тут у Harvard-- і прымаючы клас
і быць у стане дапамагчы навучыць студэнтаў, як вы.
>> Так што я вельмі рады што вы ўсе тут.
У выпадку, калі вы прыйшлі ў позна, ёсць цукеркі,
якія вы павінны адчуваць сябе свабодна прыходзіць захоп, або адправіць
хто-то, каб схапіць яго за вас.
Гэта нармальна.
Я не хачу, каб з'есці што.
Мая пакой мае дастаткова шакалад, так вы ўсе павінны паспрабаваць і скончыць гэта.
Я ведаю, што ёсць 100 штук, але як, 04:00 у панядзелак,
Я думаю, што кожны можа выкарыстоўваць цукар.
>> Так што ўсё з вас, хто афіцыйна ў маім раздзеле
павінны былі атрымаць па электроннай пошце ад мяне з маім нумарам тэлефона,
пошта address-- саромейцеся дадаваць мяне Gchat, не саромейцеся дадаваць мяне ў Facebook,
а таксама для астатніх з вас, Вы можаце напісаць мне прама тут.
Ёсць два H-х.
Усе заўсёды робіць як два L'ы ці два C а.
Два H ў апошнім імя.
У адваротным выпадку гэта будзе адбівацца і Я не збіраюся, каб атрымаць вашу электронную пошту.
>> Так што не саромейцеся, напішыце мне, звязацца са мной у любы час.
Я, магчыма, не вярнуцца да Вы на працягу 24 хвілін,
але я абяцаю вярнуцца Вам на працягу 24 гадзін.
Калі вы патэлефануеце мне за паўгадзіны да Ваш PSET звязана, вы быць як,
Я паняцця не маю, што я раблю Элісан.
Дапамажы мне.
Я збіраюся супакоіць Вас, але ў рэшце рэшт,
калі вы тэлефануеце мне за паўгадзіны да Ваш PSET звязана ні з чым напісана,
Я збіраюся быць, як, ну, можа быць, гэты час, каб выкарыстоўваць гэтую позні дзень.
Так што я буду адказваць на ўсе вашы Запыты ў вельмі своечасова.
Мой тэлефон, як правіла, прыкладаецца да маіх рук.
Я, як правіла, рэагуюць значна хутчэй, чым за 24 гадзіны,
але я магу толькі гарантыя 24 гадзіну адказ.
>> Добра.
Дык чаму мы тут?
Акрамя таго, калі ў вас ёсць пытанні па у любы час, калі ласка, дайце мне ведаць.
Я шмат казаць.
Я кажу хутка, але, калі ласка, не саромейцеся перарываць мяне.
Гэта дае мне перадышку, а таксама.
Так раздзелы раз для нас на самой справе проста апусканне
у, атрымаць некаторыя практычны вопыт, каб прайсці тым, што мы згадвалі
у класе або ў навучальных матэрыялаў, якія мы рэкамендуем вам, хлопцы онлайн.
І мы будзем на самай справе прайсці некаторыя з гэтых рэсурсаў у няшмат.
>> Такім чынам, некаторыя заўвагі па раздзеле падтрымкі.
CS50-- адным з рэчаў, якая робіць гэта адзін з маіх любімых заняткаў
Адчуванне такое, што вы ніколі не самотныя.
У нас ёсць супрацоўнікі больш чым 100 людзі, якія тут, каб дапамагчы вам.
У нас ёсць працоўныя гадзіны З панядзелка па чацвер.
Так што ёсць вельмі шмат людзей, якія люблю клас гэтак жа, як і я
і хто на самай справе тут таму што яны хочуць быць тут.
Большасць з нас студэнты, і гэта падобны да пятага класа ў дадатак
у астатняй частцы нашай працы.
>> І гэта шмат працы, але мы робім гэта таму, што мы любім яе,
і мы сапраўды любім, каб навучыць вас і дапамагчы падзяліцца сваім хваляваннем
для гэтага прадмета і класа.
Таму, калі ласка, скарыстацца.
Пайшлі размовы нам.
Я самотна, калі мае студэнты не размаўляць са мной, так што калі вы хочаце,
прыходзяць тусавацца са мной.
Гэта будзе выдатна.
>> Так раздзел, відавочна, адзін з вашых самых вялікіх рэчаў.
Мы пойдзем праз рэчы што вы даведаліся ў лекцыі,
зрабіць некалькі кароткіх прыкладаў калі ў нас ёсць час,
і наогул выгляд атрымаць уяўленне аб рэчах
Вы павінны думаць аб для ваша праблема ўсталяваць.
Shorts-- колькі людзей на самой справе глядзеў відэа з нуля
Кароткая?
Любы пазнаеш мяне?
Такім чынам, гэта вельмі выдатна.
Вы пэўна павінны глядзець тыя.
Шмат працы было ўкладзена ў іх.
І яны проста азначала быць маленечкія часткі для вас проста глядзець
на працягу трох-чатырох хвілін і атрымаць Лепшае разуменне канцэпцыі.
Прагулка throughs-- як многія людзі глядзелі
што скразныя для папярэдніх?
Zamyla Дзіўна, ці не так?
Маўляў, я хацеў бы быць Zamyla часам.
Так вызначана выкарыстоўваць вашыя скразныя.
Яна будзе разбіць яго на невялікі, маленечкія часткі.
І калі ў вас ёсць гэтыя велізарныя характарыстыкі з вашых праблемных набораў,
гэта будзе сапраўды важна каб мець магчымасць проста знайсці дзе-
каб пачаць працаваць павольна, і праз яго.
>> Добра, у нас таксама ёсць Study50, які з'яўляецца study50.harvard.edu, я лічу.
Вы можаце проста Google вучыцца, і гэта будзе прыдумаць.
Гэта адно з Лепшыя рэсурсы ў нас ёсць.
Гэта PowerPoints з нотамі і практыкі праблемы для вас
з рашэння, што вы можаце фактычна ісці праз.
Так што, калі вы калі-небудзь хацелі больш практыкі, больш, чым мы ў секцыях ці больш
чым вашы праблемныя набораў, гэта сапраўды месца я заклікаю вас ісці.
Ён быў пабудаваны летам мінулага года некаторыя з маіх сапраўды добрых сяброў.
І гэта дзіўна.
На самай справе, шмат горак што я буду выкарыстоўваць для часткі
будзе паступаць з Study50.
>> Так шмат у ТФ выкарыстоўваць яго.
І, нарэшце, як я вышэйзгаданы, гадзіны працы.
Калі ў вас узніклі праблемы з хатнім заданнем, вы
ўзніклі праблемы з Канцэпцыя, прыйшлі да працоўныя гадзіны.
Перайсці на пачатку тыдня, калі вы можаце.
Ідзі к квад, таму што гэта збольшага далёка.
Ніхто не любіць хадзіць там.
Але гэта ў вашых інтарэсах, таму што тады ты
будзе мець усе гэтыя ТФ, [Неразборліва] атачаюць вас.
І асабліва цяпер, Проста савет, чацвяргах
вельмі халодны цяпер у Mather таму Вашых psets
абумоўлены, па чацвяргах.
І ведаючы, хоча выкарыстоўваць свае познія дні яшчэ.
>> Так што калі ў вас узніклі Праблема з паняццямі,
Ёсць шмат TFs хто там, каб дапамагчы вам.
Так што прыязджайце да Mather ў чацвер.
Калі вы хочаце ўбачыць мяне, Я збіраюся быць там.
Я звычайна раблю сваю ўласную хатнюю працу, таму што ніхто не хоча маёй дапамогі.
Так што прыязджайце нам.
>> Нам насустрач.
Так як многія людзі прынялі ўдзел лекцыі ці назіраў яго ў Інтэрнэце?
Як многія людзі пайшлі ў супер падзел на мінулым тыдні?
Прахладны.
Гэта на самай справе справядлівае лік.
Як многія з вас чыталі вашы спец на працягу гэтага тыдня, для вашага PSET?
Ох, я ганаруся вамі, хлопцы!
Больш цукеркі для y'all.
>> Добра, так што мы маем на ўвазе "Нам насустрач", з'яўляецца
што раздзел сапраўды толькі будзе супер карысна для вас
калі вы прыехалі ў прачытаўшы ваш Спецыфікацыя для PSET.
Таму што, калі я іду праз агляд рэчаў, якія вы павінны шукаць для,
ён не збіраецца рабіць як шмат сэнсу, калі вас
Не ведаю, што ўсталяваць ваша праблема збіраецца прасіць вас зрабіць.
>> Калі вы не прыйдзеце да падзелу, відавочна, Я не магу быць, што карысна для вас.
Я не збіраюся прымаць гэта блізка да сэрца, калі Вы не прыйшлі да маёй секцыі прама зараз,
але, безумоўна, вы павінны.
Калі вы не можаце, праглядаць іх у Інтэрнэце.
Яны там па прычыне.
Шахта будзе тут.
Як вы заўважылі, мы запісваецца, так што буду там для вас, хлопцы.
Як добра, збіраецца lectures-- што, відавочна,
дзе вы атрымліваеце пачаць Вашага матэрыялу тут.
Так што я, безумоўна, паспрабаваць дапамагчы вам столькі, колькі я магу,
але я магу толькі сустрэцца з вамі да гэтага часу.
Вы павінны роду нам насустрач там.
>> Grading-- так, вы ўсё хто атрымаў ліст ад мяне,
ты мой афіцыйны падзел.
Я буду сартавання вашыя psets.
І я проста хачу сказаць адну рэч, што Вы павінны сапраўды звярнуць увагу на
з'яўляюцца каментары.
Каментары часцяком больш карысна чым фактычны кошт мы даць вам.
І каментары на самай справе дзе я праводжу шмат майго часу
калі я прафілявання.
Так што я быў бы ўдзячны гэта калі вы чытаеце іх.
І яны на самой справе, як вы збіраецеся каб даведацца больш пра дызайн і стылі
і рэчы, якія трохі менш выразаць і сухі.
>> Так сапраўды звярнуць увагу на гэтыя заўвагі.
Калі ў вас ёсць пытанні пра іх, або пытанні аб вашым рахунку,
калі ласка, прыходзьце пагаварыць са мной альбо да падзелу,
Я, напэўна, боўтацца У вестыбюлі, ці пасля гэтага.
Калі вы хочаце запланаваць адзін-на-адзін аб тым, як
Вы можаце дапамагчы палепшыць пазней хатніх заданняў, проста дайце мне ведаць.
>> А потым проста пара саветаў для вас, хлопцы.
Так адзін з самых вялікіх рэчаў Я заўсёды падкрэсліваю, каб мой раздзел
калі вы вучыцеся, як код з'яўляецца пісаць рэчы на ​​паперы ў першую чаргу.
Калі ў вас ёсць план на гульню для дзе ваш код павінен пайсці
і што для гэтага трэба зрабіць і гэта разбіваецца
у маленькія кавалачкі псевдокоде Код вы выпісалі,
Вы збіраецеся быць менш верагодна, каб зрабіць сінтаксічныя памылкі
ці зарэгістравацца, калі цыкл, які не мае яшчэ.
Калі вы ведаеце, дзе вы знаходзіцеся адбываецца ў цэлым, вы
менш верагодна, каб зрабіць гэтыя малюсенькія памылкі, якія часам прымаюць вас
гадзін, каб выправіць, таму што вы, як, дзе ў мяне адсутнічае гэты кранштэйны?
>> На гэтай ноце, калі ласка, выкарыстоўвайце Style50.
Асабліва, калі ты збіраецца працоўны час,
калі ваш код ўсе перайшоў у адзін бок,
гэта палітыка, вядома што мы можам сказаць, гэта выправіць
так што, падобна, Style50 кажа трэба, а потым мы вам дапаможам.
Дык гэта будзе зрабіць вашу жыццё прасцей.
Гэта зробіць наша жыццё прасцей.
Усе больш шчаслівым.
Кожны атрымлівае лепшыя ацэнкі.
Хіба гэта не тое, што мы ўсе хочам?
>> Так пісаць рэчы на ​​паперы, перш чым Вы калі-небудзь дакрануцца кампутар.
Пагаворыце рэчы на ​​высокім узроўні, і пераканайцеся, што вы ведаеце, куды вы ідзяце.
І калі вы не ўпэўненыя, сесці з кім-то
і ісці іх шляхам, крок за крокам што ваш код павінен рабіць.
І ў дзевяці выпадках з 10, вы будзеце як, ой, я забыўся о, калі ўмова
ці я забыўся кропку з коскі тут або Я абнаўляю гэтую зменную няправільна.
Так вось мае парады для поспеху.
>> Так, паколькі каля паловы з вас глядзець як вы прынялі ўдзел супер раздзел,
Я проста хачу, каб вельмі коратка прайсці завес,
якія не былі на нашым арыгінальным парадку дня.
Але яны вельмі важныя.
І таму я збіраюся роду хуткасці праз тыя
перш чым патрапіць у наш фактычны падзел.
Перш чым зрабіць гэта, ёсць любы questions-- лагістычных,
асабіста, ёсць усё, што вы хочаце
ведаць пра мяне або пра падзел або клас у цэлым?
Усё добра?
Добра, прахалодна.
Выдатны.
>> Так loops-- вы, хлопцы, павінны ўсё прызнаць гэтыя часткі з нуля.
Так завесы ў асноўным толькі спосаб для нас, каб зрабіць што-то
некаторы колькасць разоў, некаторыя паўтораныя Дзеянне заснавана на некаторыя ўмоўныя.
Такім чынам, мы маем тры розных тыпу.
У нас ёсць цыкл, у той час як, і рабіць-то час.
>> Такім чынам, для loops-- мы проста павінны вельмі Генеральны план тут цыкл.
І гэта вельмі зручна, калі вы ведаеце, як шмат разоў нешта трэба выканаць.
Калі мы гаворым пра астатнія завесы, вы будзеце
зразумець, чаму гэта важнае адрозненне.
Але для завес з'яўляюцца для чаго-то набору.
Вы ведаеце, вы можаце разлічыць колькасць
ці вы ведаеце, колькі разоў вы хачу гэта паўтараецца ў пачатку.
>> Так што калі вы бачыце тут, мы ёсць толькі агульнае роду
з шкілета рамках для для завесы тут.
Такім чынам, для-ініцыялізацыі, гэта дзе Вашы зменныя ініцыялізуюцца.
З Марыё, я ўпэўнены, што вы, хлопцы, зрабілі нешта накшталт INT I роўны 0.
Вось дзе, што здарылася б у сіні.
У вас ёсць ваш стан, якое гэта тое, што правяраецца кожны раз.
Калі гэта ўмова праўдзіва, то Астатняя частка кода выконвае.
Тады ён будзе працаваць again-- і спытаць.
А то ў нас абнаўлення, дзе вы абнаўляеце ваш зменную.
Так, зноў жа, з, як Марыё, я ўпэўнены, што вы, хлопцы, зрабілі што-то, як я плюс плюс.
Такім чынам, кожны раз, калі пятля пабег, я атрымаў абноўлены так
што, калі мы выязджалі яго супраць некаторы ўмова, гэта мяняецца.
>> Таму што, калі вам проста ёсць статычнай зменнай,
калі ён выконвае ў першы раз, гэта проста хачу, каб выканаць бясконца.
Такім чынам, вы павінны пераканацца, што вы абнавіць зменную правільна.
І ў нас таксама ёсць проста Візуальнае прадстаўленне ёсць.
Усё добра?
Для завес.
Калі бачылі іх у свой PSET.
Прахладны.
>> Дык вось як раз просты прыклад.
Раздрукаваць гэта CS50!
10 разоў.
І так у нас ёсць ініцыялізацыю, як мы бачым, ёсць, з INT I
роўны 0, для мяне гэта менш чым 10, і я плюс плюс.
І гэта будзе друкаваць, што ў 10 разоў.
>> Такім чынам, хоць loops-- а завесы Выдатна, калі ты не абавязкова
павінны ведаць, колькі разоў гэта збіраецца абнавіць ў пачатку.
Вы проста ёсць некаторыя стан, які правяраецца.
І гэта можа быць нешта накшталт while-- давайце браць прыклад з вашай PSET.
Калі Марыё, вы спрабуеце ўваход адмоўнае лік.
Ці не так?
Вы павінны былі паўторна прапануе свайго карыстальніка.
Такім чынам, вы можаце сказаць: добра, калі карыстальнік ўводзіць што-то менш за нуль, зноўку аператыўнага
ім.
І я ўпэўнены, што, магчыма, прыйдзецца было нешта, што некаторыя з вас
выкарыстоўваць у кодзе.
>> Так што гэта проста.
У вас ёсць у той час, некаторыя ўмоўна, што правяраецца
кожны раз, калі код ідзе выконваць.
Калі гэта праўдзіва, мы запускаем яго.
У адваротным выпадку мы не робім.
І тое, што на самой справе important-- тое, што я
думаю, што Дэвід казаў пра у lecture-- з'яўляюцца брекеты.
Што б ні было ў межах брекеты гэта тое, што выконваецца.
Калі вы забыліся тых, брекеты, гэта толькі збіраецца
каб быць на лініі непасрэдна пасля ў той час быў пакараны.
>> Так што калі ў вас ёсць тры рэчы, якія павінны
адбудзецца, калі гэты стан ацэньваецца як ісціна,
і ў вас няма гэтых брекетов, толькі Першае, што павінна здарыцца.
Так што будзьце вельмі дасведчаныя аб дзе вы размясцілі свае брекеты.
Калі вы будзеце з Style50, гэта, безумоўна, дапаможа вам.
Прахладны.
>> Так што гэта адваротны адлік ад 10 да нуля.
І, як вы бачыце тут, мы ініцыялізаваць некаторыя лічыльнік за яе межамі.
Адна рэч, якая адрозніваецца тым, мы не ініцыялізацыі нашу зменную
у нашай час цыклу.
Гэта ініцыялізацыі па-за ім.
Мы проста проста пакласці стан на працягу нашага часу.
Такім чынам, у дадзеным выпадку, гэта ў той час як Колькасць больш за нуль.
І мы друкуем тое, што наш адлік, а затым мы памяншаем нашу зменную.
І гэта яшчэ адна рэч, каб заўважыць.
Наша абнаўленне не адбудзецца на працягу што першая частка той час цыклу.
Гэта будзе на самой справе адбылося ў брекеты, цела вашага тэксту.
>> Так што-то час loops-- рабіць-то час завес вялікія для праверкі карыстальніка.
Такім чынам, некаторыя з вас, магчыма, таксама выкарыстоўваецца гэта ў вашым PSET.
Вы можаце сказаць: рабіць, як, спытайце ў карыстальніка ўвод.
І потым, калі, як, на ўваходзе менш некаторага колькасці.
>> Такім чынам, для яўнага выпадку з Марыё, ён будзе рабіць Printf, увядзіце цэлы лік,
а затым некаторы цэлае лік раўняецца GetInt.
І тады гэта будзе на самой справе выканаць гэты код у першую чаргу.
Вы на самой справе прыйдзецца свайго роду цэлае.
І тады вы маглі б сказаць: у той час як што лік менш за нуль.
Так што гэта будзе зрабіць, гэта гэта збіраецца выканаць па крайняй меры адзін раз.
Гэта збіраецца праверыць стан.
Калі ўмова праўда, ён будзе працаваць зноў.
>> Так што-то час завесы выдатна падыходзіць для праверкі карыстальніка,
таму што вы ведаеце код збіраецца выканаць па крайняй меры,
адзін раз, у той час як з у той час як завесы, вы не
гарантуецца, што гэта будзе выконваць адзін раз.
Гэта збіраецца праверыць стан а затым прыняць рашэнне, каб выканаць яго,
а рабіць нешта час будзе выканаць код спачатку
а затым праверыць, ці з'яўляецца Вы павінны паўтарыць яго.
Ці мае гэта адрозненне сэнс для ўсіх?
Добра.
Прахладны.
>> Такім чынам, у дадзеным выпадку, гэта свайго роду з таго, што я казаў,
Гэта паўторнае падказкі да вас атрымаць станоўчае лік.
Такім чынам, мы ведаем, што Printf "Калі ласка, увядзіце станоўчае лік"
а на самай справе просяць, што уваход будзе адбывацца па меншай меры, адзін раз.
Калі карыстальнік з'яўляецца злом і трымае ўводу адмоўнага ліку, якія
ведае, колькі разоў ён будзе выконваць.
Але гэты код гарантавана для выканання па меншай меры, адзін раз.
І вось чаму гэта выдатна для праверкі ўваход.
І вы будзеце выкарыстоўваць, што зусім няшмат.
>> Добра, якія-небудзь пытанні да гэтага часу?
Мы ўсе добра?
Я кажу занадта хутка?
Мы добра?
Добра.
Выдатна
>> Такім чынам, мы збіраемся, каб ісці наперад і казаць пра масівах.
Прахладны.
Так масівы ў асноўным за ўсё структуры дадзеных
што дазволіць нам захоўваць рэчы такога ж тыпу.
Так што, калі вы калі-небудзь масіў, гэта альбо проста прыйдзецца цэлымі
ці гэта проста будзе мець паплаўкі ці гэта проста прыйдзецца знакаў.
Вы не збіраецеся мець Int з сімвал з паплаўком з двайны.
Адна рэч.
Масівы проста адзін памер, або яны проста адзін тып.
>> Так вось у нас ёсць масіў памерам тры з трыма лікамі ў ім.
Яны маглі плавае, але мы хачу сказаць, што яны цэлымі.
Так адна справа разумець, што масівы ўяўляюць сабой набор памер пры ініцыялізацыі
ім, і яны не easily-- так як вы ўсё менш камфортна,
Вы павінны толькі думаць пра іх як Не маючы магчымасці пашырыць у памеры.
Аднак большая вы адправіцеся ваш масіў у пачатку,
гэта памер ён збіраецца застацца, таму што масівы
з'яўляюцца бесперапынныя блокі памяці.
І калі вы, хлопцы, атрымаеце ў трохі больш
аб тым, як памяць на самай справе выклаў на дыскі і ў кучы і стэка,
гэта зробіць крыху больш сэнсу.
>> Але вы маглі б проста думаць аб як, гэта проста шэраг месцаў на дыску.
І вы не можаце гарантаваць, што ёсць будзе вольная прастора пасля яго.
Вы можаце ініцыялізаваць масіў з трох, а затым, можа быць, вы
ініцыялізаваць іншы масіў з пяці пазней, і гэта адразу пасля гэтага.
Так што, калі вы былі прайсці пляма тры ў гэтым першым масіве,
Вы пісалі б над чым-то яшчэ.
Так масівы are-- для вас, хлопцы, проста думаць пра іх як фіксаванага памеру.
>> Так стварэння array-- вы збіраецеся трэба зрабіць гэта зусім няшмат.
Такім чынам, у адной і той жа дарозе, што ў нас ёсць Агульная структура для нашага для завес,
у нас ёсць добры генерал Структура нашага масіва.
Паколькі яны аднаго тыпу, усё элементы масіва маюць адзін тып,
неабходна ініцыялізаваць што гэта тып.
>> Так што, як вы бачыце тут, у нас ёсць міленькі кранштэйны тыпу дадзеных.
Так што калі мы ствараем Int Масіў, што будзе Int.
Калі мы ствараем сімвал Масіў, гэта будзе знак.
Калі мы ствараем радок Масіў, гэта будзе радок.
А потым імя вашага масіва, усё, што вы хацелі б, каб гэта было.
Так можа быць, гэта вынікі тэстаў або, можа быць, гэта студэнты або, можа быць, гэта цукеркі.
Што б вы ні вырашылі назваць ваш Масіў, гэта тое, што гэта будзе.
>> А потым у дужках, вы будзеце мець памер, які вы хочаце.
Так, мы захоўвання 10 студэнтаў або мы захоўвання 15 відаў цукерак?
Што ня.
Такім чынам, у нашым прыкладзе, мы ствараем масіў
памеру трох, што вы, хлопцы см прама тут, на правым.
І калі мы ўпершыню ініцыялізаваць гэта, усе усталёўваецца ў нуль.
Так што гэта проста думаў, з як чысты ліст.
У нас ёсць усе гэтыя прасторы, у нас ёсць усе гэтыя скрынкі мы маглі размясціць нашы дадзеныя ў,
але яны проста пусты у цяперашні час.
>> Так што, калі мы хочам, каб на самой справе прызначыць іх гэтыя значэння,
мы робім так, як прама пад тут паказвае.
Такім чынам, вы павінны незалежна імя вашага масіў, а затым тое, што індэкс вы хочаце.
Такім чынам, індэкс ставіцца да проста, як, што слот мы глядзім на.
І галоўнае, каб заўважыць з'яўляецца тое, што масівы нулявога індэксуюцца.
Так што, калі мы хочам, каб першы прастору ў памяці нашага масіва, яна будзе роўная нулю.
Калі мы хочам, каб другі, гэта будзе адзін.
Калі мы хочам, каб трэція, што гэта будзе два.
Гэтак далей і да таго падобнае.
>> Якія жа прычыне, умоўна, калі мы робім для loops-- Я ўпэўнены,
вы, хлопцы, было цікава, чаму мы пачынаем з 0 па параўнанні з 1?
І гэта таму, што, калі мы пераходзім ў выкарыстанні масіваў, ён адлюстроўвае карэктна.
Так што, калі вы хочаце, каб ітэрацыі ў масіў, яго
робіць нашмат больш сэнсу ў Ці павінен я роўная 0, таму што мы
ведаю, што будзе адпавядаць на першым месцы ў памяці.
Усё добра з гэтым?
Прахладны.
>> А потым на дно тут проста яшчэ адзін спосаб ініцыялізацыі масіва.
У вас яшчэ ёсць ваш тып дадзеных і імя,
але замест таго, каб рэальна паставіўшы памер там,
вы можаце проста зрабіць пустыя дужкі.
А потым з іх кучаравыя дужкі на дне,
Вы можаце проста ўвесці дадзеныя, якія Вы хочаце, падзеленых коскамі.
І што аўтаматычна кажуць, добра, я бачу,
што ў вас ёсць тры рэчы ў гэтых дужках.
Так што я ведаю, што мне трэба вылучыць тры блокі памяці, а затым захаваць іх.
>> Такім чынам, першы варыянт, вы маглі б выкарыстоўваць калі вы пытаецеся свой карыстачу ўводзіць
значэння, так што вы можаце перабору масіва
і ask-- атрымаць Int каб увесці іх.
Калі вы ведаеце значэння загадзя, ён робіць нашмат больш сэнсу
выкарыстоўваць другі спосаб.
Але ў большасці выпадкаў, вы можаце не ведаць што гэтыя значэння будзе.
Прахладны.
Яшчэ пытанні?
Добра.
>> Так доступе elements-- так адзін з вялікіх рэчаў аб масівах
з'яўляецца тое, што яны носяць выпадковы характар доступ, а гэта азначае, што вам
не павінны глядзець праз кожны блок.
Калі вы ведаеце, што вас хачу тое, што ў блоку два,
Вы можаце проста сказаць, дайце мне блакаваць два.
І вось чаму яны Індэксы настолькі важныя,
і гэта, як мы на самай справе атрымаць да іх доступ.
Такім чынам, у гэтым выпадку, як мы бачылі раней, калі мы былі прысваення значэнняў, у адным
раней, у нас было імя і Індэкс мы хацелі доступу, ці не так?
Такім чынам, у адной і той жа дарозе, што і ўсе мы зрабіць, каб на самой справе цягнуць, што з дадзеных.
У нас ёсць імя, і мы ёсць індэкс, які мы жадаем.
>> Такім чынам, у дадзеным выпадку, для цыклу сюды ў ніжняй, хто
ведаю, што ён робіць, што б гэта раздрукаваць?
Mmhmm?
Дакладна.
Так што так, гэта проста перабор.
я роўная zero-- мы можам ісці праз код толькі хутка.
Я роўны нулю, я менш чым тры на дадзены момант, ці не так?
Так што правярае.
І мы кажам: ОК, друк е усё, што знаходзіцца ў тэмпературы я.
я нуль прама тут, калі мы ўпершыню перабору, таму мы ідзем на першым месцы,
і мы кажам, добра, 65 лік мы хочам раздрукаваць.
Дык гэта будзе раздрукаваць 65 а затым зрабіць новую лінію.
Я буду абнаўляць, так ён друкуе 87.
Ён абнаўляе раз, і ён будзе друкаваць 30.
Усё крута?
Дзіўны.
>> Добра.
Дык вось накшталт адзін што я казаў, як
Вы можаце адсочваць чыйсьці рахунак і чаму
Вы б выкарыстоўваць першы спосаб ініцыялізацыі
замест гэтага другога шляху.
І гэта проста праходзіць.
І звярніце ўвагу, у нас ёсць памер класа 30.
І мы ініцыялізацыі гэта масіў цэлых лікаў, што з'яўляецца памерам 30.
А потым мы ітэрацыі праз і мы
задаючы карыстальніку для ўводу ацэнкі для кожнага з іх
а затым прызначыўшы яе асаблівае месца ў памяці
дзе-то ў гэтым масіве.
Прахладны?
Ці мае гэта сэнс для ўсіх?
Mmhmm?
>> Так хэштэгу вызначыць памер класа 30 з'яўляецца дырэктывай препроцессора,
які проста азначае, што ён gets-- ён мае зрабіць як працэсу кампіляцыі.
Вы можаце думаць пра гэта як глабальная пераменная.
Тое, як мы робім гэта typically-- гэта дазваляе ваш код
Каб быць больш лёгка зменена.
Так скажам, што наш памер класа раптам выходзіць ад 30 да 15,
калі б я не вызначана гэта так, я б павінны прайсці праз усю сваю праграму
і змяніць кожны асобнік 30 да 15.
Але з гэтым, я атрымліваю змяніць адзін месца, і ўсё астатняе мяняецца.
>> Калі вы калі-небудзь хацелі зрабіць хэш вызначыць у выпадку
дзе вы адсочваць некаторыя ўсталяваць колькасць балаў для класа
ці вы карыстаецеся шэраг які будзе выкарыстоўвацца, як,
па ўсёй вельмі доўгага праграмы, гэта лепш, каб вызначыць, што ў пачатку
так што, калі калі-небудзь гэта зменіцца, вы атрымаеце змяніць адно месца замест 100.
Так?
>> СТУДЕНТ: Паміж рабіць гэта і проста абвясціць [неразборліва] над самым верхнім.
>> АЛЛИСОН Бухгольц-AU: Так што мае справу з efficient--
гэта збольшага выходзіць за рамкі што мы можам ахапіць ў гэтым раздзеле.
Ён павінен зрабіць больш з эфектыўнасцю і, як усё на самой справе
працаваць у працэсе кампіляцыі.
Калі вы хочаце, каб сапраўды ведаць пра гэта, я шчаслівы паслаць вас
па электроннай пошце з рэсурсамі каля яго.
Hash вызначыць, як правіла, пераважным для рэчаў.
І як вы код больш, вы выгляд даведацца нюансы
пра тое, калі вы павінны выкарыстоўваць Глабальны параўнанні з хэш вызначыць.
Але да пары да часу, Вы на самой справе не маюць
турбавацца аб гэта што кароткі адказ.
Усё добра з гэтым?
А таксама, калі вы хочаце выкарыстоўваць хэш вызначыць,
гэта сапраўды важна заўважыць што імя павінна быць у верхнім рэгістры.
Мы не проста робім КЛАС ПАМЕР быць драматычным.
Гэта на самай справе павінны быць у верхнім рэгістры.
Прахладны.
Што-небудзь яшчэ ёсць?
Мы добра?
Выдатны.
Сардэчна запрашаем.
>> ОК, так што я хачу, каб вы, хлопцы, паглядзіце на гэта і паглядзець, калі вы можаце знайсці яе.
Я дам вам падказку.
Гэта дзе-то ў гэтым для завесы.
Mmhmm?
>> СТУДЕНТ: Павінен быць менш або роўна 2.
>> Элісан: Так можа быць менш або роўна 2, ці ён можа быць менш, чым 3.
І тое, што развагі на што?
>> СТУДЕНТ: [неразборліва], 0, 1, 2.
>> Элісан: Роўна.
Так у масіве памеру п, толькі індэксы п мінус 1.
Прахладны.
І тады мы можам атрымаць сапраўды вар'яты і атрымаць шматмерныя масівы.
Адна з праблем, калі я ўзяў яго ў мой год неабходныя шматмерныя масівы,
і я думаю, што адзін з іх можа спатрэбіцца гэта ў гэтым годзе, так было зручна.
Абгарніце галаву вакол яго цяпер.
Гэта будзе гукнуцца Вы, але ў прахалодным чынам.
Такім чынам, вы можаце на самой справе проста думаю шматмерных масіваў
як масівы масіваў.
Такім чынам, вы можаце роду думаеце пра гэта зверху веславаць, як першы пакет з памяццю.
І гэта адзін Другая частка памяці,
і апошняя радок Трэці ўчастак памяці.
І ў тым, што, ёсць масіў.
Але, вядома, гэта лягчэй адлюстраваць, як гэта.
>> Такім чынам, вы ініцыялізаваць яго такім жа чынам.
Гэта сімвал Савет тры на тры.
Так у вас ёсць тры шэрагу і тры калонкі.
Мы прадстаўляе гэта так.
А вы б доступ да яго ў Сапраўды гэтак жа, слупок за радком.
І так 1,1, як мы бачым, тут.
Мы прысвойваем нуль, нуль там.
2,0 і 0,2.
Такім чынам, вы б проста адкрыць them-- калі хто калі-небудзь рабіў лінейную алгебру,
гэтак жа, як вы да элемента ў Matrice, гэта тая ж ідэя тут.
Такім чынам, вы можаце звязаць яго назад у матэматыцы.
Вы не павінны хвалявацца занадта шмат пра гэта прама цяпер.
Гэта добра, што экспазіцыю, ведаць, што вы можаце зрабіць гэта.
Вы можаце стварыць некаторыя вар'ят number-- вы можаце
стварыць вар'яты масіваў усё, што я збіраюся сказаць.
[Неразборліва]
Гэта становіцца трохі вар'ятам, але гэта сапраўды выдатна.
Дзіўны.
>> А потым, у нас ёсць прыклад тут.
Гэта вылічае даўжыню радка.
Так як многія людзі ведалі, што струны, што вы карыстаецеся
проста масівы сымбаляў?
Добра, так.
Такім чынам, вы, хлопцы, можаце думаць, што ў вас ёсць ня б масівы і раней, але любы час
Вы карыстаецеся GetString ў Бібліятэка CSView, вы
на самай справе проста просяць масіў знакаў.
І мы бярэм на сябе ўсе што на заднім канцы для вас.
Але вы выкарыстоўвалі масівы, так як вы пачалі.
Вы проста не ведаю, што яшчэ.
>> І кожны раз, калі ў вас ёсць масіў сімвалаў або масіў, які захоўвання радок,
Апошняе, што заўсёды што называецца нуль-тэрмінатар, які
гэта прама тут.
І гэта ў канцы кожнае слова, якое вы шануйце.
Так што, калі мы хочам, каб высветліць, Даўжыня радка, мы можам казаць,
Ну, вы ведаеце, Змесціва гэтага блока
ня роўная нашай нулявы сімвал.
Гэта азначае, што існуе некаторая Характар ​​ёсць, што мы на самай справе
клапаціцца аб тым, што гэта частка слова.
Вы павялічыць даўжыню.
А потым, калі мы на самай справе атрымаць канец слова, гэта будзе спыніць
і яна верне нашу даўжыню для нас.
Mmhmm?
>> СТУДЕНТ: Ці ёсць прастора разлічваць як нулявы сімвал?
Элісан: Так прастору не пусты тэрмінатар.
Так што калі ў вас ёсць multiple-- прастору на самай справе з'яўляецца канкрэтнае значэнне ASCII.
СТУДЕНТ: Што Клічнік роўна зноў?
Элісан: Так, гэта тое, што вы звярніцеся да.
Калі вы калі-небудзь чулі мяне ў працоўны час, Я заўсёды называюць яго, як, бац роўна.
Так выбуху няма.
Так што гэта не раўняецца.
Так што, калі вы спрабуеце калі нешта ілжыва,
Вы ведаеце заўсёды, удар усё зменная, а калі ілжыва,
гэта ацэньваецца як ісціна і вас можна зрабіць цікавы матэрыял з гэтым.
Больш падрабязна аб гэтым пазней.
Прахладны.
Ўсё там добра?
Дзіўны.
>> Так што зараз прыйшоў час вашых хлопчыкаў і дзяўчынак, каб працаваць, так як я кажу.
Таму я хачу, каб ты проста стварыць масіў з цэлымі лікамі адзін, два, а тры,
а потым іх раздрукаваць.
Вы не павінны рабіць, як, Асноўны, бла, бла, бла, што заўгодна.
Я проста хачу, каб вы ініцыялізацыі масіў, а затым стварыць
цыкл іх друкаваць out-- або ў той час як цыкл, залежыць ад вас.
>> Я проста дам вам пару хвілін, каб працаваць над гэтым.
Я збіраюся адпачыць мой голас.
Калі ў вас ёсць якія-небудзь пытанні, я шчаслівы каб прыйсці і пагаварыць з вамі, хлопцы.
Не саромейцеся казаць адзін з адным.
Атрымаць больш цукерак.
На самай справе, я проста хадзіць з цукеркамі.
Як гэта?
>> Вы хочаце, каб нейкія?
Хто-небудзь яшчэ ў гэтым зале хачу цукерку?
Вы таксама можаце прыняць больш аднаго, хлопцы.
Вазьміце жменю, калі вы хочаце.
Травень таксама.
Усе астатнія добра?
Добра.
>> Акрамя таго, я збіраюся стварыць ананімны Google Форма,
і вы, хлопцы, можаце проста прадставіць зваротная сувязь пасля кожнага раздзела
калі ёсць што-то вы хочаце палепшыць або тое, што вы хочаце зрабіць.
Калі я занадта бадзёры для вас, я магу наладзіць яго ўніз.
Я ствару што і адправіць, што да вас ўсім потым.
>> Добра.
Так што давайце пачынаць з малога.
Як бы мы ініцыялізаваць масіў?
Што тып нашага масіва?
INT, ці не так?
ОК, так што вы хочаце, каб выклікаць ваш масіў?
Int масіў, крута.
Добра, так што мы павінны Int Int масіў роўная, і што мы маем пасля гэтага?
СТУДЕНТ: [неразборліва] дужкі.
Элісан: Брекеты.
А потым у фігурных дужках?
Адзін коска два коска тры.
Прахладны.
Так што ўсё ў парадку.
Так што цяпер у нас ёсць наш цыкл.
Такім чынам, у першай частцы нашага для завесы, што мы маем?
>> СТУДЕНТ: я роўны 0?
>> Элісан: Так INT I роўны 0, і то што гэта наш стан?
Што я збіраюся быць менш?
Менш за тры, і як мы абнаўляем я?
Я плюс плюс, яго абнаўлення па адным.
І тады мы будзем мець некаторыя Printf ад цэлага,
і што, што ў мінулым частка, якая на самай справе
хачу сказаць, што мы павінны быць друк?
Было б назву Масіў, які з'яўляецца цэлалікавых масіў, ці не так?
І тое, што ў дужках Int масіва?
я.
[? Так што я?] Называецца мой прыклад, але там вы ідзяце.
Не тое, каб дрэнна.
Усё добра?
Прахладны.
>> Такім чынам, мы зрабілі з масівамі.
Віншую.
Вам удалося ітэрацыі праз усе the-- так?
>> СТУДЕНТ: [неразборліва]
>> Элісан: Так.
>> СТУДЕНТ: У мяне ёсць пытанне.
Вы павінны водступ дужкі?
>> Элісан: Так брекеты павінны выбудоўвацца з для завесы, а затым усё
ўнутры дужкі павінны быць водступ.
>> СТУДЕНТ: ОК, павінны для завесы з водступам?
>> Элісан: для завесы ня трэба мець водступ ў гэтай кропцы.
Калі вы былі ў асноўным, калі мы на самай справе было галоўнай функцыі тут,
ён будзе з водступам ад галоўнай.
Але ў дадзеным выпадку, гэта выдатна.
Так, пытанне.
>> СТУДЕНТ: Вы павінны мець дужкі пасля Напрыклад?
>> Элісан: Так, калі вы ініцыялізацыі гэта такім чынам.
Так што памятаеце, гэта ўжо другі спосаб ініцыялізацыі масіва дзе
у нас ёсць дужкі, а затым наша фактычная Дадзеныя, падзеленыя коскамі ўнутры.
>> СТУДЕНТ: Я думаў, што было Кранштэйны для гэтага прыкладу.
>> Элісан: Не, яны дужкі.
Яны дужкі.
Калі вы яго ініцыялізацыі што другі шлях, гэта брекеты.
Калі б мы павінны былі сказаць, INT example-- калі мы проста хацелі чысты масіў для цэлых лікаў,
было б INT прыклад дужкі тры.
Кранштэйны ўяўляюць памер.
Калі ў вас ёсць фігурныя дужкі, гэта фактычныя дадзеныя
Вы змяшчаеце ў яго такім чынам.
Мы можам пракруціць таму вельмі хутка.
>> Такім чынам, у гэтым, гэта толькі наша Першапачатковы масіў, ініцыялізацыя.
І вось, мы індывідуальна прысваення плямы на іх,
такім чынам, гэта ўяўляе сабой індэкс наш масіў, таму ў нас ёсць дужкі.
Але тут, калі вы заўважылі, у нас пакінулі нашы дужкі без памеру,
і мы яго ініцыялізацыі з фактычныя дадзеныя усё-у-адным з фігурнымі дужкамі.
СТУДЕНТ: Дык чаму б нам не мець дужкі ў гэтым прыкладзе?
Элісан: Так, у якой частцы?
СТУДЕНТ: Ці не будзе ў нас скажам, прыклад INT кранштэйны
раўняецца дужкі [неразборліва] кранштэйны для прыкладу.
>> Элісан: Ой, прабачце.
Ты маеш рацыю.
У нас ёсць дужкі ёсць.
Выбачайце, хлопцы, мой дрэнны.
Так, вы павінны мець дужках пасля прыкладу.
Вы цалкам маеце рацыю.
>> СТУДЕНТ: [неразборліва] не робяць.
>> Элісан: Не, вы павінны мець кранштэйны, таму што ў адваротным выпадку гэта
не збіраецца абвясціць масіў.
СТУДЕНТ: [неразборліва].
На жаль пра гэта.
>> Элісан: На ​​жаль, вам трэба дужках пасля прыкладу.
Памылка друку.
Добры ўлоў, залатая зорка для вас.
Акрамя таго, калі вы задаеце пытанне, калі вы, хлопцы, проста скажыце мне вашыя імёны,
Мне б вельмі хацелася, што.
Я хацеў бы быць у стане ведаю ўсе вашыя імёны.
Я не збіраюся да холаду патэлефанаваць вам, я на самой справе
у проста хачу ведаць вашыя імёны.
Таму, калі ласка, на самай справе сказаць мне вашы імёны.
>> LEAH: Лія.
>> Элісан: Лія.
Такім чынам, functions-- Я ведаю, у кароткай яны казалі пра гэта падчас лекцыі.
Так функцыі накшталт проста як гэтыя маленькія маленечкія рэчы
дзе вы праходзіце ў ўваходы, што-то чароўны адбываецца, і вы атрымаеце выхады.
Прахладны.
Такім чынам, вы на самой справе выкарыстоўваецца Многія з іх ужо.
Атрымаць Int, атрымаць радок, друку п.
Усе гэтыя функцыі дзе вы проста называць іх,
ёсць шмат чароўных рэчаў адбываецца ў фонавым рэжыме
што вам не абавязкова бачыць, і вы атрымаеце тое, што вы хочаце.
Ці, па меншай меры, вы атрымаеце тое, што вы спадзяюся, што вы хочаце.
>> І ў асноўным кропка функцый, і адзін з галоўных тэм CS,
гэта зламаць код на кіраваныя часткі.
Калі вы пачнеце пісаць гэтыя сапраўды доўгія праграмы,
або ў пустым, калі вы былі Гэты гранд-ідэя для гульні,
Вы павінны быць у стане разбіць яго да, як, у парадку, як мне пачаць?
Якія маленькія кавалачкі, што мне трэба?
О, я павінен спытаць Карыстальнік чагосьці.
Цяпер мне трэба нешта надрукаваць.
О, мне трэба, каб вылічыць гэта значэнне.
>> І, даведаўшыся, як разбіць ваш Код і вялікія праблемы вы
ёсць у гэтых маленькіх кавалачкаў і стварэння функцый
на самай справе адзін з вялікія краевугольныя CS.
Такім чынам, вы можаце думаць аб функцыі гэтак жа, як як чорны скрыню, чароўны чорны скрыню,
што вы паклалі рэчы ў і вы атрымаеце некаторы выснову.
А астатнія праграмы ня трэба абавязкова ведаць,
што адбываецца ўнутры гэтага чорнага скрыні.
Усё гэта хвалюе ёсць што ўваходзіць і што выходзіць.
Прахладны.
>> Такім чынам, чаму функцыі?
Organization-- як я ўжо сказаў, калі ты справу з вельмі вялікімі базамі кода,
як вы арганізуеце ваш код будзе нашмат лягчэй, калі вы карыстаецеся функцыі.
Таму што вы зможаце быць, як, у парадку ў гэтым,
гэта тое, што робіць гэтая функцыя і вось тое, што іншы чалавек робіць.
І вы можаце лёгка ўбачыць як яны ўсё падыходзяць адзін аднаму.
Так разбіваючы яго на ўсе гэтыя кіраваныя падраздзелы.
>> Так simplification-- Я ўпэўнены, што вы, хлопцы, усе бачылі гэта, як я ўжо сказаў, з нуля.
У вас ёсць гэты вялікі ідэю, і Вы паходзіце, як гэта ўсё працуе?
Але калі падысці да яго па частках, вы кажаце, у парадку,
як зрабіць, каб у адным шпрыцы плаваюць па экране?
Гэта крыху лягчэй.
Так добра выкарыстанне функцыянальных мадэляў ваш код значна лягчэй чытаць.
Гэта палягчае адладку, якія, як Вы атрымліваеце ў вашых наступных праблемных набораў,
Вы збіраецеся сапраўды хачу быць у стане зрабіць.
І яны таксама лягчэй распрацоўваць і ажыццяўляць.
Вы можаце закадаваць да невялікі функцыянаваць адносна хутка
і пераканайцеся, што ён працуе супраць спрабуе Для стварэння гэтай цэлую доўгую праграму
а затым роду прайсці і паглядзець, што працуе, а што няма.
>> А потым паўторнага.
Так функцыі трэба толькі каб быць запісана адзін раз,
а затым вы можаце выкарыстоўваць іх столькі разоў, колькі гэта магчыма.
Так што гэта, як, экалагічны, у пэўным сэнсе.
Калі ў вас нешта накшталт друк е, дзе вас
давялося выпісаць магію, якая ідзе на за друк е кожнага часу
Вы хацелі нешта надрукаваць, вы будзе даволі стаміўся ад яго
да канца.
>> Адна з рэчаў, якія вы будзеце даведацца ў пазнейшыя заняткі CS,
або адзін з лепшых парады, якія я атрымліваю
гэта, калі вы капіявання і ўстаўкі Код, ён, верагодна, варта быць функцыяй.
Калі ў вас ёсць сапраўды такі ж лініі на працягу ўсяго вашага кода,
калі вы ўлічылі іх, Ваш код будзе, верагодна,
быць, як, у пяць разоў карацей і значна больш зручным для чытання.
І замест таго, каб ліквідаваць усе гэтыя розныя месцы, дзе рэчы
можа пайсці не так, у вас ёсць адна функцыя што вы можаце ліквідаваць.
І я абяцаю, шмат што з гэтага Можа здацца свайго роду абстрактны зараз,
але, як вы атрымаеце ў далейшым і пазней праблема ўсталёўвае,
гэта будзе зрабіць нашмат больш сэнсу і сапраўды кіравацца дадому.
Ці ёсць пытанні аб функцыях да гэтага часу?
Чаму мы іх дапамогай?
Я ведаю, што мы не атрымалі ў вашывы пяшчаны яшчэ.
Так вызначэнні function-- так жа, як масівы, нам трэба нейкае of-- гэта
гэта проста агульны выхад.
Такім чынам, гэта з'яўляецца функцыяй, гэта проста хачу, каб куб некаторы ўклад.
І на наступным старонцы, на самай справе, у нас ёсць усе гэтыя дзіўныя дробязі тут.
Дык, можа кожны чытаць што, з цікаўнасці?
Я ведаю, фіялетавы і чорны можа быць трохі цяжка.
>> Але вялікія рэчы, каб знаю-- таму першы адзін прама тут наша які вяртаецца тып.
Такім чынам, гэта кажа аб выхадзе гэтай функцыі, калі, у дадзеным выпадку,
пакласці ў якое-то колькасць, што мы атрымліваць у тым, што лік у кубе.
Так яно і павінна быць інтэрвал у гэтым выпадку.
Можа быць, гэта будзе двайны або то яшчэ пазней, але ў гэтым выпадку,
гэта унутр.
>> З с, вы заўсёды павінны які вяртаецца тып.
Гэта будзе інтэрвал.
Гэта будзе паплавок.
Гэта будзе двайны.
Але вы павінны паказаць, што гэтая функцыя будзе вяртаць.
У адваротным выпадку гэта будзе крычаць на Вы, і гэта не будзе кампіляваць.
Вы будзеце сумна, і я буду сумаваць.
І гэта проста не добра.
Добра.
>> І тады ў нас ёсць імя функцыі.
І як вы можаце бачыць тут, з з ёсць гэта вельмі паслядоўна парадыгма.
Які ваш тып, як называецца, а затым некаторыя іншыя рэчы ў канцы.
Так у нас ёсць тып якое вяртаецца, наша імя функцыі, а затым
у нас ёсць загаловак з наш спіс параметраў.
>> Так што спіс параметр, што гэтая функцыя зойме ў?
Спіс параметраў з'яўляецца проста сінонім, якія нашы ўваходы?
І такім жа чынам, то мы павінны вызначыць нашу функцыю
і даць яму вяртанне увядзіце, кожны з нашых уваходаў
павінен мець тып, звязаны з ім.
Такім чынам, мы ведаем, што наша функцыя можа на самай справе працаваць з.
>> Такім чынам, у дадзеным выпадку, у нас ёсць некаторыя Int ўваход.
Такім чынам, яшчэ раз, гэта будзе тып і тое, што вы зараз гэта называюць.
А потым, як вы бачыце, тут, у нас ёсць наша цела.
Такім чынам, мы маем некаторую INT выхад, што з'яўляецца толькі нашы ўваходныя раз сам
Сам раз, якія проста кубікі яго.
А потым мы вернемся, што выхад.
>> Такім чынам, як вы бачыце тут, у нас ёсць Int разоў перавышае цэлалікавых раз INT,
так ён вяртае Int, якая быў абвешчаны там.
Так што ўсё згуртаванай.
Усе задаволеныя.
Ваша функцыя будзе працаваць.
І гэта толькі агульная рэч.
Так заўсёды тып якое вяртаецца, Імя і ваш спіс параметраў.
Кожная рэч у вашым Спіс параметраў, ці ўваход,
павінен мець тып, звязаны з ім.
І тады ў вас ёсць ваш Цела тут з тым, што
Вы хочаце зрабіць з вашым уваходам.
>> І то, відавочна, вам хачу што-то вярнуць.
Часам функцыі будзе проста вярнуцца.
Яны фактычна не вяртаць што-то для вас выкарыстаць.
Але вы павінны вярнуцца ў некаторым родзе.
І калі вы робіце Вашы ўласныя функцыі,
мы можам атрымаць у тым, што крыху глыбей.
Асабіста, калі вы хочаце, ёсць шмат з розных рэчаў, якія вы маглі б зрабіць там.
Усё добра?
Усё ў гэтым спісе, які вы хочаце мяне перайсці, што вы не разумееце?
Усё добра там?
Прахладны.
Дзіўны.
>> Такім чынам, мы змяшчаем усё гэта разам.
Такім чынам, мы маем некаторую INT куб ўваход, так гэта поўная праграма тут.
Да гэтага часу ў мяне ёсць выгляд даваў вам
хлопцы фрагменты, якія могуць ісці ў рамках праграмы.
Мы толькі глядзелі на функцыі.
Але вось уся праграма.
Так як многія з вас памятаюць Слова прататып з лекцыі?
Прахладны.
У нас ёсць адзін.
Як цябе клічуць?
>> Стеф: Стеф.
>> Элісан: Стеф?
ОК, дзіўным.
Так, ты памятаеш, што прататып з'яўляецца?
>> СТУДЕНТ: Вы кажаце, што [неразборліва] перш чым вы сапраўды мець справу з ім.
>> Элісан: Вы памятаеце, чаму?
>> СТУДЕНТ: Не.
>> Элісан: ОК.
Залатая зорка.
Так што, так, прататыпам ў нас ёсць загадзя, таму што ў адваротным выпадку,
наш кампілятар будзе крычаць на нас.
Гэта будзе сказаць, у парадку, што гэта за функцыя куб?
Як, вы ў літаральным сэнсе ёсць мне нічога не сказаў пра гэта.
Гэта як калі вы хадзіць у клас,
і хто-то накшталт: ёсць віктарына сёння.
І вы хочаце, вы ніколі не казаў мне пра гэта.
Я не задаволены намі.
Прататып у асноўным, як Ваш план кажучы, глядзець.
Галавы.
Там будзе праведзена віктарына на гэты дзень.
Не хвалявацца, калі вы дабіраецеся да яго.
Вы збіраецеся быць у парадку.
>> Так што ўсё прататып сапраўды, гэта сказаць Асноўны, я збіраюся выкарыстоўваць гэтую функцыю.
Я абяцаю я вызначаю яго пазней.
Не вырадак, у мяне.
Проста збярыце і рабіць тое, што я кажу вам.
Таму ў нас ёсць прататып ёсць проста, каб зрабіць наш кампілятар шчаслівым.
І гэта ў асноўным абяцанні, што Вы вызначылі гэтую функцыю пазней
і што вы не проста патэлефанаваўшы гэтая выпадковая рэч, што гэта
не ведаю, што ты збіраюся рабіць.
>> Такім чынам, у дадзеным выпадку, мы маем галоўны тут.
Мы ініцыялізаваць некаторы цэлае х.
Гэта два.
Мы збіраемся, каб раздрукаваць што х.
Мы збіраемся куб х.
Як бачыце, у нас ёсць наш Аб'яву функцыі
тут, што мы казаў аб раней.
Гэта будзе куб х, а затым, калі мы памятаеце, функцыю куба фактычна
вяртае цэлы лік у нам, якія захоўваюцца
у х раз, так што мы можам надрукаваць з васьмі, або куба х прама цяпер.
Ці мае гэта сэнс для ўсіх?
Мы добра?
Добра.
Дзіўны.
>> Добра.
Колькі з вас, хлопцы Памятаеце, што гэта так гэта
у асноўным толькі ваш Стэк і ваша куча,
проста візуалізацыя як памяць захоўваецца тут.
Так што мы проста хочам зрабіць Пераканайцеся, што вы разумееце,
як яны прадстаўлены ў памяці.
Калі вы бераце класы як CS61 і іншае пазней,
Вы атрымаеце, каб даведацца гэта значна больш, у глыбіні, і гэта сапраўды выдатна.
Я вельмі рэкамендую яго.
Але цяпер, я дам Вы шырокі агляд
так што вам не прыйдзецца ведаю вашывы пяшчаны.
>> Так верхняй проста тэкставы сегмент, які змяшчае фактычныя нулі і адзінкі,
двайковы за гэта.
І гэта выкарыстоўваецца для захоўвання глабальныя зменныя, калі ў вас ёсць.
Па меры прасоўвання ўніз, мы ёсць, як вы бачыце тут,
ініцыялізаваны дадзеныя, неинициализированный Дадзеныя, а затым кучы.
>> Такім чынам, мы сапраўды не гаварыць аб кучы прама цяпер.
Мы вернемся да яго пазней.
У цяперашні час, я проста хачу, каб махаць рукамі і сказаць:
Вам не трэба ведаць пра гэта цяпер.
Але мы пагаворым крыху Крыху пра стэку.
Так стэк where-- нас ёсць зум ст.
Гэта на самай справе, як праграма мы проста глядзелі на месца ў памяці.
>> Так што ж адбываецца, кожны раз мы выклікаем функцыю,
мы атрымліваем тое, што называецца стэк рама, якая з'яўляецца адным з іх.
Так Асноўныя-х параметраў.
Дык гэта тыя рэчы, што мы праходзім ў магістралі.
Такім чынам, яны маюць рацыю тут унізе, таму што гэта першае, што мы называем.
А потым мы пяройдзем да асноўных гадоў Мясцовыя жыхары, і, калі мы кажам, што,
мы маем на ўвазе лакальныя зменныя што захоўваюцца ў асноўны.
Так мясцовыя жыхары тут быць, як, х роўна двум, у гэтым выпадку.
Таму што гэта лакалізаваная на галоўную.
Усе памятаюць вобласць, пераходзячы што ў лекцыі?
Добра.
Так, толькі зменныя, ініцыялізуюцца ў асноўны.
Дык вось чаму ў нас ёсць асноўны [? вакал. ?]
>> А потым на працягу асноўнай, мы называем куб.
Ці не так?
Такім чынам, мы атрымліваем яшчэ адзін кадр з параметрамі куба.
Такім чынам, у гэтым выпадку, куба Параметры зараз
х, што мы прайшлі ў, два, якія мы прайшлі ў.
І тады мясцовыя жыхары куба, які з'яўляецца дзе фактычная кубічныя адбываецца.
А потым ён вяртаецца.
>> Так што ж адбываецца, як кубік на самай справе што ён павінен рабіць, то ён вяртае.
Калі ён вяртаецца, гэты кадр сыходзіць, і яго вярнуліся ўніз да галоўнай.
А потым на працягу асноўнай, мы можа на самай справе раздрукаваць яго.
Так што, калі вы вярнуліся што-тое, калі ваша функцыя вяртае,
гэта як перадачы гэтых каштоўнасцяў у рамка пад ім, а затым сыходзіць.
І рэчы павінны выканаць у парадку.
>> І калі вы атрымліваеце на буйных праграм, мы можам зрабіць кулер і больш складаным
дыяграм.
Але зараз, гэта проста агульны агляд
так у вас ёсць выгляд разуменне таго, што
адбываецца, калі вы выклікаеце функцыю і як гэта выглядае на самай справе ў памяці.
Прахладны?
Усё добра?
Дзіўны.
>> Такім чынам, гэта той, які знаходзіцца проста спрабую памяняць рэчы.
Як мы бачым, тут, у нас ёсць наш прататып функцыі
так што наш кампілятар ня крычаць на нас.
У нас ёсць некалькі асноўных, і мы Для пераключэння х і у.
Яны не зрабілі гэта дэма ў лекцыі яшчэ, ёсць яны?
Яны маюць не?
Добра.
Такім чынам, мы збіраемся пайсці над самой гэтай коратка.
Вы атрымаеце ў гэтым прыкладзе больш у глыбіні, я думаю, на гэтым тыдні.
І тады на наступным тыдні мы можам на самай справе пагрузіцца ў, чаму гэта не працуе.
>> Такім чынам, мы маем гэтую пустэчу Function here-- падпампоўкі.
Так пустата проста азначае, што нічога не вяртаецца.
І ў нас ёсць своп Int А і INT б.
І ў нас ёсць нейкае часовае Пераменная вось.
атрымлівае прызначэнне ў б, а затым б атрымлівае прызначэнне на тэмп
так што і Б значэння цяпер ўключаецца.
>> Але, паварот сюжэту, гэта не працуе.
І часткай гэтага сапраўды ёсць рабіць з тым, што
і б тут, тыя, якія атрымліваюць прайшлі ў Тут, на самай справе копіі хну.
Таму, калі функцыя фактычна вяртае, ён перамыкаецца копіі, але не
фактычная х і у-х.
Так адзін спосаб думаць аб гэта that-- выгляд, гэта своп.
Добра?
Такім чынам, у асноўным, у нас ёсць х і ў ініцыялізацыі.
Але калі мы на самай справе ісці да для гэтых кадраў з свопу,
мы перадаем значэння за да яго, і яны ініцыялізацыі.
>> І яны толькі калі-небудзь жыць прама тут.
Так і б жыць тут.
І яны атрымліваюць месцамі.
Але, калі мы вернемся, мы не зрабіць што-небудзь з і б.
і б адпачынак з нашай функцыяй.
І так х і ў застаюцца тымі ж.
Вы атрымаеце больш у тым, як выправіць, што і як мы фактычна маем справу з, што пазней.
>> Але гэта толькі адна рэч, на выгляд, майце на ўвазе.
Выкарыстоўвайце яго для будучыні.
Не хвалюйцеся, калі што не зрабіў усе пачуццё ў свеце.
Яны з'яўляюцца копіямі з'яўляецца вялікая рэч.
Калі вы збіраецеся ўзяць што-небудзь ад гэтага, вы прайшлі ў копіях.
Так арыгіналы застаюцца тымі ж.
Усё добра?
Прахладны.
>> Так аргументы каманднага радка.
Я ўпэўнены, што ў пачатку вы, хлопцы, усе былі тыя вялікія, як, Int асноўныя пустаты.
І вы, як, ОК прахалодзе.
Я сапраўды не клапачуся.
Гэта менавіта тое, што я павінен напісаць.
Але ў вашых новых праграм, Асабліва ў гэтым PSET,
і чаму там мел на зямлі?
>> З вашага наступнага PSET, вы будзе бачыць гэта.
Int асноўны, INT аргумент с, Радок дуга v, кранштэйны.
Так, з таго, што мы проста даведаўся сёння, што
мы лічым, што другі параметр або што другі элемент тут?
Гэта масіў.
Які тып масіва?
Радок масіў, так.
Прахладны.
Дык вось, як вы збіраецеся каб быць абвясціўшы іх цяпер.
>> Ці памятае хто- што яны азначаюць?
Няма?
Хм?
>> СТУДЕНТ: аргумент с.
>> Элісан: Так аргумент з трымае лічыльнік.
Гэта унутр.
Гэты лік, ці не так?
Так што вы думаеце, што лік мае?
Так.
Так аргумент з з'яўляецца лік радкоў якія складаюць камандную радок.
Так што, калі б мы павінны былі do-- фактычна, ёсць прыклады, пасля гэтага,
таму я не буду забягаць наперад.
Гэты лік радкоў, проста зрабіць свой каманднага радка.
>> Так што, калі вы гэта робіце, як, кропка слэш Марыё, гэта адзін радок, якая робіць гэта.
У гэтай частцы, вы сапраўды будзеце для кармлення ў камандным радку,
як я ўпэўнены, што вы, хлопцы, хто прачытаў спецыфікацыі пілу.
Такім чынам, у тых выпадках, можа быць, вы будзеце ёсць два ці тры аргумэнты.
Гэта будзе карысная рэч у выкарыстанні.
>> І тады аргумент супраць, як мы ўжо казалі, гэта проста радок масіва.
Так што на самай справе захоўвае тое, што Вы ўвялі ў камандным радку.
Таму ў нас ёсць гэтыя.
У вас ёсць які-кропка слэш скапіяваць входной_файл выходной_файл.
Такім чынам, калі C Arg гэта колькасць радкоў што мы перадаем ў каманду
лінія, што наша аргумент з у гэтым выпадку?
Тры.
Дакладна.
>> Так што аргумент супраць нуля?
Так што першае, што мы захавалі?
Dot слэш копію, дакладна.
І тады другі будзе входной_файл.
Трэці будзе выхадны файл.
Так што пра АГ супраць трох?
Было б пустой, таму што гэта канец нашага масіва, ці не так?
Прахладны.
>> І тады тое, што каля шостага адной?
Гэта свайго роду пытанне з падвохам.
Иш.
Ці ведаем мы, што гэта такое?
Гэта вызначана.
Мы паняцця не маем, што гэта можа быць.
Гэта ўсё, што прама пасля масіва ў памяці,
і мы паняцця не маюць, што гэта такое.
І гэта небяспечна чапаць тых, рэчы, таму што для ўсіх вы ведаеце,
гэта нейкая частка памяці, што вас не павінен быць нулявым або доступу.
І ён можа рабіць вар'яты рэчы.
Яна называецца празмерна індэксацыі Ваш звязаны ў масіў.
Не выходзіць за межы вашай Масіў, або дрэнныя рэчы могуць здарыцца.
Вы вярнуцца і, быццам бы, законаў фізікі былі знішчаны
або што-то.
Прахладны.
Ці мае гэта сэнс для ўсіх?
Ці не занадта дрэнна.
>> Так што цяпер, кожны гэта любімая частка, PSET агляд.
Ура!
Добра.
Так што для тых з вас, хто не чытаў Pset спецыфікацыі,
Вы робіце некаторыя сапраўды цікавы матэрыял з крыптаграфіяй.
Вы збіраецеся стварыць Цэзар Cipher і Vigenere Cipher.
Вы пэўна павінны чытаць спец каб убачыць, як гэтыя працы.
І калі ў вас узніклі якія-небудзь праблемы аб што ён павінен на самай справе рабіць,
калі ласка, прыходзьце пагаварыць са мной, напішыце мне або тэкст мне.
Я вакол.
>> Такім чынам, ёсць тры асноўных рэчы тут, што мы
хачу пагаварыць about-- толькі збольшага з падаўжэнні лекцыі.
Рэчы, якія вы, магчыма, не ведаюць, о, карысныя парады і інструменты.
Так што мы збіраемся рабіць Кароткі агляд ASCII,
таму што гэта будзе супер важна для Cipher Vigenere ст.
Мы збіраемся пераўтварэнні Ўваходы каманднага радка, якія
будзе вельмі карысна для шыфр Цэзара.
А потым па модулю.
Прахладны.
>> Так, ASCII адлюстроўвае сімвалы ў ліку.
Гэта выдатны графік.
Вы павінны мець гэта закладкі недзе.
Вы хочаце яго для Ваш першы сярэднетэрміновай.
Я ўпэўнены, што кожны чалавек мае гэта Графік на іх сярэднетэрміновага ліста.
Так вывучаць яго.
Люблю гэта.
Трымаеце яго пад рукой.
Гэта будзе карысна.
>> І ўсё гэта з'яўляецца кадаваньне які адлюстроўвае літарныя і лікавыя,
і іншыя сімвалы ў Нумары для нашага кампутара.
Таму што, вядома, у канец, усё, што мы захоўваць
збіраецца атрымаць ператворанае да нулёў і адзінак,
так што мы павінны нейкім чынам прадстаўляць Тэкст і сімвалы, якія мы ўсе
прывыклі бачыць у якасці свайго роду нумарам.
>> Так як мы бачым тут, у нас ёсць прапісныя, якія тут жа.
Гэта 65.
І ў ніжнім рэгістры 97.
Такім чынам, вы можаце зразумець out-- як я ўжо казаў,
калі ў вас масіў з некалькіх Радкі, што кожны з іх
канчаецца нулявым сімвалам.
Было б прастору.
Прастору мае свой уласны special-- Я не памятаю, дзе гэта тут.
Ах.
32 з'яўляецца прасторай.
Так што ўсё карты да яго.
>> Таму ў нас ёсць ASCII матэматыку.
Pro tip-- ў Vigenere-х, вас можа ўзнікнуць спакуса
канвертаваць вашыя нумары для цэлых лікаў, але на самой справе лепш, практыка
каб мець магчымасць выкарыстоўваць персанажы, як гэта
калі вы на самой справе маніпулявання іх.
Так што, калі вы хочаце выкарыстоўваць лічбы, вы можаце.
Але лепшы спосаб, або спосаб, які мы, як правіла, падабаецца вам, хлопцы, каб зрабіць гэта,
гэта спосаб, дзе вы знаходзіцеся фактычна аднімання знакаў.
>> Таму я хачу вас, хлопцы выгляд высветліць гэтыя па-за.
Чаму б вам не паспрабаваць праз адну?
Так што першы, у Трэці, і пяты.
Таму што я хачу, каб пераканацца, што мы гаворым усё, што мы павінны казаць аб.
Я проста хачу сказаць, адно з важныя рэчы to-- Ой, пачакайце,
вы, хлопцы, не бачылі гэтага.
Добра так рабіць першыя тры.
Давайце зробім гэта.
Таму што мы павінны казаць аб модулю.
Я ведаю.
Матэматыка цяжка.
Вы можаце выкарыстоўваць калькулятар.
Гэта нармальна.
Або падцягнуць табліцу ASCII, таму што Вы, верагодна, будзеце хацець што.
>> Прахладны.
Так што я буду хутка хадзіць Вы, хлопцы, праз іх.
Так людзі сталы ASCII пад'ехаў?
Якая наша лічбавая нумар для маленькай А?
СТУДЕНТ: Сем.
>> Элісан: Так малыя з'яўляецца 97 і прапісныя 65.
Так 97 мінус 65?
>> АЎДЫТОРЫЯ: 32?
>> Элісан: 62, да.
Такім чынам, у гэтым выпадку, тое, што б гэта раздрукаваць?
Гэта першы?
Калі ў нас ёсць працэнтнае д, што б гэта паказваюць?
СТУДЕНТ: лік.
Элісан: Мы друкуем з фактычнага колькасці.
Такім чынам, мы на самай справе адбываецца раздрукаваць 32 тут.
І калі б гэта было адсоткаў с, 32 дасць нам прастору.
Так разумеючы, што сімвалы могуць быць надрукаваныя
як у выглядзе лікаў і як фактычныя сімвалы
што сапраўды важна, і плаціць Увага да фактычным тыпаў
што мы робім тут.
Прахладны.
Такім чынам, для любога іншага аднаго з іх, што мы збіраемся друкаваць?
>> СТУДЕНТ: характар.
>> Элісан: характар.
Прахладны.
Так што, калі вы, хлопцы, жадаеце ведаць, вам можа працаваць гэтыя па сваім меркаванні.
Калі ў вас узніклі праблемы, пішыце мне.
Але другая будзе раздрукаваць маленькую б.
Трэці будзе раздрукаваць прапісная В. Чацвёрты надрукуе
з загалоўнай С, і апошні будзе ў ніжнім рэгістры A.
І апошняе одно-- мы на самай справе збіраемся каб трапіць у які то вар'ят адсоткаў
знак нават азначае праз пару слайдаў.
Так што паспрабуйце тыя па сваім меркаванні.
Калі ў вас узніклі праблемы, калі ласка, прыходзьце пагаварыць са мной.
Калі вы, як правіла, у Adams D зале, Вы, верагодна, знойдзеце мяне вакол.
>> Так, atoi.
Як многія з вас ужо бачылі гэта Функцыя або чулі пра яго наогул?
Любы?
Прахладны.
Так што гэта на самай справе варта для гэта ASCII ў цэлае.
Так што вы можаце зрабіць, гэта, з Цэзарам, для тых, хто чытаў спецыфікацыю,
Вы збіраецеся рабіць кропка слэш Цэзара пасля напісання праграмы,
а затым вы збіраецеся ўваход некаторы лік, што вы
неабходна закадаваць ваша сакрэтнае паведамленне с.
>> Але, калі мы памятаем, усе нашы Ўваходы захоўваюцца ў выглядзе радкоў.
Ці не так?
У нас ёсць V масіў ARG гэта ўсё тып радок.
Так што, калі вы проста паспрабуйце цягнуць, што адзін, што б
думаю, што адна ці яшчэ большая колькасць Вы выкарыстоўвалі на самай справе характар.
Такім чынам, вы збіраецеся атрымаць некаторыя вар'яты вынікі.
Так што калі вы сапраўды хочаце ператварыць гэта цэлы лік
што вы можаце выкарыстоўваць для маніпулявання Ваша слова або ваша паведамленне,
Вы хочаце выкарыстоўваць atoi.
atoi проста пераўтворыць ваша радок з міжнар.
>> Так што, калі ў нас ёсць радок 12, калі мы называем atoi на 12, ці нешта, што ўваход,
гэта будзе на самой справе вярнуцца Вам цэлае.
Ня персанаж або радок 12.
Які, пры запуску дадаць, што ў ліку,
будзе моцна адрознівацца, таму што радок 12
нейкі вар'ят нумар у ASCII, але лік 12
на самай справе 12, якая з'яўляецца тое, што вы хочаце.
Такім чынам, вы хочаце, каб пераканацца, што выкарыстоўваць atoi.
>> Вы будзеце жадаць гэта у Цэзара, таму што вы
патрэбен Int які пастаўляецца Карыстальнік ў камандным радку.
Але калі яны паклалі яго ў камандзе Лінія, ён захоўваецца ў выглядзе радка
з самага пачатку.
Ці мае гэта сэнс?
Вы не абавязкова Гэта патрабуецца для Vigenere.
З Vigenere, як я сказаў, да, вы павінны паспрабаваць і выкарыстоўваць
ASCII матэматыцы, што больш падобны гэта, дзе вы на самой справе
выкарыстоўваючы сімвалы, якія нам даюць вам.
Прахладны.
Ўсё там добра?
Дзіўны.
>> Так модулю.
Так што, калі вам даюць гэта велізарная колькасць для Цэзара?
У вас ёсць ідэя, што калі вы на Z і ты
далі нумар два, што азначае, што вы need--
Z стане другім Ліст пасля сябе, ці не так?
Так што вам трэба, каб як-то абгарнуць вакол, і па модулю з'яўляецца спосаб зрабіць гэта.
Так усё гэта робіць гэта дае рэшту
падзелу Першае лік у секунду.
І ў нас ёсць прыклады ў зрабіць што крыху больш бетону.
Але ў асноўным, выкарыстоўваецца па модулю, калі вы хачу зрабіць што-то абгарнуць вакол.
>> Так што, калі вы хочаце толькі нумары ад аднаго да васьмі,
Вы можаце выкарыстоўваць па модулю на любы іншы лік, і гэта будзе заўсёды
вяртаюць лік ад нуля да васьмі.
Такім чынам, некаторыя examples-- калі у нас ёсць 55 па модулю 10,
ён проста дае рэшту 55 дзеліцца на 10, што было б 5.
А потым тры па модулю пяць, хто здагадацца, што гэта было б?
Тры.
>> Так што калі ў вас ёсць меншы лік да модулю, ён не можа ісці ў раўнамерна.
Гэта нуль.
Так што проста вяртае сам нумар.
Так восем модулю восем будзе?
>> СТУДЕНТ: Нуль.
>> Элісан: Нуль.
Таму што ён ідзе ў раўнамерна.
16 па модулю 15?
>> АЎДЫТОРЫЯ: Адзін.
>> Элісан: Прахладны.
І тады гэты апошні, гэта проста паказаць you-- вам можа быць цікава, у парадку,
што парадак аперацый тут?
У нас падзяліць ў першую чаргу?
У нас па модулю ў першую чаргу?
Так модулю мае той жа прыярытэт як дзялення або множання,
і яго левая асацыятыўна.
Такім чынам, гэта такім жа чынам.
Вы заўсёды робіце дужкі, то множанне, дзяленне,
і па модулю ў парадку злева направа.
Так стандартныя правілы.
Проста пакладзеце яго ў той жа катэгорыі як дзялення і множання.
>> Такім чынам, у дадзеным выпадку, мы б ёсць 1 плюс 2 дае нам 3.
Мы памнажаем на 2, так што мы атрымліваем 6.
Мы па модулю, што на 2, што дае нам?
>> СТУДЕНТ: 0.
>> Элісан: 0.
І тады мы дадаем 2, таму мы атрымаць 2 у гэтым апошнім выпадку.
Так modulo-- вы вызначана збіраюся думаць аб спосабаў ўключыць
што, калі вы абкручванні вакол алфавіту.
Калі вы знаходзіцеся на Z, і вы павінны рухацца накіраваць тры месцы, каб дабрацца да C,
ёсць тое, што ўся канцэпцыя абкручванні вакол.
Так што я пакіну яго ў Вы, хлопцы, каб высветліць,
як менавіта вы збіраецеся яго выкарыстоўваць.
Але, безумоўна, карысным інструментам для PSET на гэтым тыдні.
Мне вельмі падабаецца гэта.
Гэта адна з маіх любімых psets.
Пасля таго як Вы гэта зрабіць, калі ў вас ёсць сябры,
Вы можаце, як, адправіць адзін аднаго ў сакрэце Паведамленні і пераканайцеся, што ён працуе.
Таму што гэта будзе расшыфраваць яго ці нешта.
Шмат весялосці.
>> І што гэта канец секцыі.
Я скончыў рана.
Я да гэтага часу ёсць 15 хвілін з хлопцы, так што калі ёсць што-небудзь
што вы хацелі б перайсці далей, я быў бы шчаслівы зрабіць гэта.
Любыя іншыя пытанні аб Ваш PSET для тых з вас,
хто пачаў або прачытаць спецыфікацыю.
Усё, што мы казалі аб у апошнюю гадзіну
і 15 хвілін, што вы хацелі б мяне для выгляду перапевы, я быў бы шчаслівы.
Ці мы можам тэлефанаваць, гэта сыходзіць, і вы можаце усё пакінуць і ўзяць больш цукерак з вамі
як вы ідзяце.
Але калі ёсць якія-небудзь зацяжны пытанні, калі ласка, дайце мне ведаць.
Вы таксама можаце прыдумаць і пагаварыць са мной пасля гэтага.
Я абяцаю, што не кусаюцца.
Што-небудзь яшчэ?
Усё добра?
Пачуццё кожнага чалавека, як яны могуць справіцца з гэтай PSET?
Вы збіраецеся быць дробныя хлопцы.
Гадзіны працы офіса там па прычыне.
Прахладны.
Добра.
>> Ну, у такім выпадку, дзякуй Вы ўсё, што прыйшлі.
Я спадзяюся, што ўбачу вас на наступным тыдні.
Там будзе больш цукерак.
Там могуць быць іншыя цікавыя рэчы.
І я з нецярпеннем чакаю ведаць усё пра вас у гэтым годзе.