>> [Мусиц плаиинг]
АЛЛИСОН Буцххолтз-АУ: Хеј свима.
Добро дошли на први Оффициал ЦС50 секција.
Као што можете, видиш да је ово Само секција ЦС50-као,
повући наш програм за данас.
Дакле, ко сам ја, као што сам сигуран ви питате.
Ја сам твој ТФ.
Ја нисам само случајни ученик ко имитирање твој ТФ.
>> И ја ћу да прођем кроз врста има секције ће тећи,
очекивања имамо, ресурси, тако даље и тако даље.
Ми ћемо да разговарамо о низове, АСЦИИ функције, командне линије аргументи,
а није овде, али Такође ћу се помаже
Некако размислити ваш следећи псет за ову недељу.
Које сам сигуран да ће сви ценити.
>> Дакле, прво куестион-- ко сам ја, Поред вашег бујна ТФ овде.
Ја сам Алисон Буцххолтз-Ау.
Ово је моја друга година ТФинг ЦС50.
Такође ТФ цс51 у пролеће.
Можда ћете видети опет ту ако се одлучите да га узме.
Такође сам ПАФ, тако да било Фресхмен-- а ако нисте бруцош,
Ово ми је трећа година као сарадник саветовања.
Ја сам врло добро упознат са вас саветују о животу и курсеве
у ЦС а не у ЦС.
Ја сам Цомпутер Сциенце концентратора.
Ја сам старији у Адамс Хоусе, Бест Хоусе.
И пре него што сам прешла на ЦС На другој пролеће,
Ја сам заправо био биомедицински инжењер.
Хтео сам да идем у медицинску школу.
Хтео сам да будем хирург.
И да је у потпуности променило од када сам узео ЦС50.
Узео сам курс На другој Фалл.
То је био мој први сусрет са ЦС икада.
Ја сам био један од 78% од вас који је нула искуство долази,
и то потпуно променило мој живот.
И сад радим у Мицрософт, и твоје дивне ТФ.
И ЦС50 је вероватно један најбољих искустава
које сам овде имао у Харвард-- и узимање класе
и бити у стању да помогне научити ученике као што си ти.
>> Тако да сам узбуђена да сте сви овде.
У случају да је у касно, ту је Цанди,
коју треба да се осећа слободно да се зграби, или послати
неко други да га зграбите за вас.
то је у реду.
Ја не желим да једем.
Моја соба има довољно чоколаду, па сви треба да покушамо да завршимо то.
Знам да постоје 100 комада, али као, 4 часова у понедељак,
Мислим да су сви би ми мало шећера.
>> Дакле, сви ви који сте званично у мојој секцији
требало да се имејлом од мене са мојим бројем телефона,
Емаил аддресс-- слободно ме додати на Гцхат, слободно ме додати на Фацебоок,
као и за остале, можете ме емаил овде.
Постоје два Х је.
Свако увек ради Као два Л. или два Ц-а.
Два Х је у презимену.
У супротном то ће боунце, и Нећу да своју е-пошту.
>> Дакле, слободно ме емаил, да ме контактирате у било које време.
Ја не могу да се вратим Ви у року од 24 минута,
али обећавам да се вратим у року од 24 сата.
Ако ме звати пола сата пре Ваш псет је због, ти као као,
Немам појма шта радим Аллисон.
Помози ми.
Ја ћу да вас смири, али на крају дана,
ако ме зовете пола сата пре Ваш псет је дужан без ичега писаног,
Ја ћу бити као, добро, можда је време да користите тако касно дана.
Тако да ћу одговорити на све ваше захтева у веома благовремено.
Мој телефон је обично везан за моје руке.
Ја обично реагују много брже од 24 сата,
али ја могу само гаранција одговор 24 часа.
>> У реду.
Па зашто смо овде?
Исто тако, ако имате питања на сваки пут, молим вас јавите ми.
Ја причам много.
Брзо причам, али молим те слободно ме прекините.
То ми даје простор за дисање, као и.
Дакле, делови су временски за нас да заиста само Диве
у, да добијемо практично искуство, да проћи кроз теме о којима смо говорили
у класи или студијских материјала који препоручујемо да вас на мрежи.
А ми ћемо заиста проћи неке од тих средстава у мало.
>> Тако да неке напомене о делу са подршком.
ЦС50-- једна од ствари која чини једна од мојих омиљених класа
је осећај да никада нисте сами.
Имамо више од 100 запослених људи који су ту да вам помогне.
Ми имамо канцеларију сати Од понедељка до четвртка.
Дакле, постоји толико много људи који су Волим класе исто колико и ја
а који су заправо овде зато што желе да буду овде.
Већина од нас су студенти, а то је као петом разреду поред
остатку нашег рада.
>> И то је пуно посла, али ми то радимо зато што га волим,
и ми стварно волимо да те научим и помоћи деле наше узбуђење
за ову тему и ове класе.
Па вас молимо да искористе.
Дођите разговарају са нама.
И Гет Лонели када моји ученици Не причај са мном, тако да ако желите,
се дружиш са мном.
Биће супер.
>> Дакле, секција је очигледно један од ваших највећих ствари.
Ми ћемо проћи кроз ствари да сте научили у предавању,
направити неке кратке примјере када имамо времена,
и генерално некако добили идеју о стварима
треба да размишљате А за сет твој проблем.
Колико људи заправо Схортс-- гледао видео са вашег Огреби
кратко?
Неко ме препознати?
Дакле, то су веома велики.
Дефинитивно би требало да гледају они.
Много посла је ставио у њих.
И они само требало да буде бите-сизе комада за вас само да гледате
три или четири минута и добити боље разумевање концепта.
Валк тхроугхс-- Хов многи људи су гледали
Тхе Валк-тхроугхс за претходних?
Замила је невероватно, зар не?
Као, ја бих да сам Замила понекад.
Дакле, дефинитивно користите валк-тхроугхс.
Она ће га разбити у мали, бите-сизе комада.
А када имате ове огромне спецификације из ваших проблем поставе,
то ће бити веома важно бити у стању да само наћи негде
да почну и да раде полако кроз њега.
>> У реду, имамо и Студи50, који је студи50.харвард.еду, верујем.
Можете једноставно Гоогле проучавају, а то ће доћи горе.
Ово је један од Најбољи ресурси имамо.
То је Поверпоинтс нотама и пракса проблема за вас
решења која сте могу заправо хода кроз.
Дакле, ако сте икада желите више праксе, више него ми у главама или више
него твој проблем сетова, ово је стварно место где вам и да идем.
Изграђен је прошлог лета неки од мојих јако добрих пријатеља.
И то је невероватно.
У ствари, много слајдова да ћу користити Одсјека
ће доћи из Студи50.
>> Дакле, много је поздрав га користи.
И на крају, као што сам поменуто, радно време.
Ако имате проблема са домаћим задатком, ти си
има проблема са концепт, доћи до радног времена.
Иди рано у недељу, ако можете.
Излази на куад, јер је некако далеко.
Нико не воли да хода тамо.
Али је у своју корист, јер онда си
ће имати све ове Поздрав, [Неразумљиво] вас окружују.
А посебно сада, само врх, четвртком
су веома цхилл управо сада у Матхер јер ваш псетс
доспевају четвртком.
И знајући жели користите увек касним дана.
>> Дакле, ако имате Проблем са концептима,
постоји много поздрав који су ту да вам помогнемо.
Тако изаћи у Матхер у четвртак.
Ако желите да ме види, Ја ћу бити тамо.
Ја обично радим свој домаћи, јер нико не жели моју помоћ.
Дакле, хајде да нас.
>> Упознајте нас на пола пута.
Дакле, колико људи присуствовало предавање или гледао је на мрежи?
Колико људи је отишао у Супер секција прошле недеље?
Цоол.
То је заправо приличан број.
Колико сте прочитали ваше спец за ову недељу, за вашу псет?
Оох, ја сам поносан на вас!
Више Цанди за вас.
>> Добро, па шта мислимо "Сретнемо на пола пута," је
тај део је заиста само Биће супер корисно за вас
ако дођете у што прочита вашу Спецификација за ваш псет.
Јер кад идем кроз преглед ствари које треба да се пази на,
то неће учинити колико смисла ако
Не знам који је твој проблем сет биће тражи да урадите.
>> Ако не дође до Члану, очигледно Ја не могу бити толико корисно за вас.
Нећу да га узмем ако лично не долази у моју Члану сада,
али дефинитивно би требало.
Ако не можете, гледати их онлине.
Они су ту са разлогом.
Рудник ће бити тамо.
Као што приметите, ми снима, тако да ће бити ту за вас.
Такође, ће се лецтурес-- то је очигледно
где постајеш почетак вашег материјала овде.
Тако да ће дефинитивно покушати ви колико могу да помогнем,
али ја само могу да вас упознам сада.
Морате да некако меет нас на пола пута тамо.
>> Градинг-- тако, сви ви који је добио е-маил од мене,
ти си мој званични секција.
Ја ћу бити оцењивање ваше псетс.
И ја само желим да кажем, једну ствар да стварно треба да обрате пажњу на
су коментари.
Коментари су често корисни од стварне резултат смо вам дати.
И коментари су стварно где проводим доста времена
кад сам оцењивање.
Па бих захвалан то ако их прочитате.
И они су заправо како ћеш да бисте сазнали више о дизајну и стилу
и ствари које су мање рез и суво.
>> Дакле, стварно обрати пажњу на те коментаре.
Ако имате питања у вези са њима, или питања о вашем резултат,
Молимо вас да се разговор са мном било пред Одсјеком,
Вероватно ћу се дружити у холу, или касније.
Ако желите да закажете један-на-један састанака о томе како
можете побољшати касније проблем поставе, само ми знамо.
>> И онда само пар бакшиша за вас.
Дакле, једна од највећих ствари Увек наглашавам да мој одељак
кад уче како да се код је да пишу на папиру први.
Ако имате план игре за где ваш код треба да иде
и шта је потребно да се уради и то је оборио
у мале комадиће псеудокоду код којег сте написали ван,
ћеш бити мање вероватно да синтаксу грешке
или створити ако петљу да нема друго.
Ако знате где сте иде у свему, ти си
мање је вероватно да би ових сићушних грешке које ће вас понекад узети
сата да поправим, јер ти си као, где сам пропустио овај адаптер?
>> У том случају, молимо вас да користите стиле50.
Посебно када сте ће радног времена,
Ако је ваш код је све прешла на једну страну,
је курс политика да можемо рећи, да поправим
тако да изгледа као да каже стиле50 би требало, а онда ћемо вам помоћи.
Тако да ће учинити ваш живот лакшим.
То ће бити наш живот лакшим.
Сви су срећнији.
Свако добије боље оцене.
Зар то није оно што сви желимо?
>> Дакле, пишу се на папиру пре сте икада тоуцх рачунар.
Разговарајте ствари на високом нивоу, и уверите се да знате где идете.
А ако нисте сигурни, седите с неким
и валк их кроз корак по корак шта је ваш код је требало да уради.
И девет пута од 10, бићеш као, ох, заборавио сам се да ли стање
или сам заборавио зарез овдје или Ја ажурирање ове варијабле погрешно.
Дакле, то су моји савети за успех.
>> Дакле, пошто је око половине Иоу Лоок као да присуствовали супер секцију,
Ја ћу врло кратко проћи петљи,
који нису били на нашој оригиналној дневном реду.
Али они су стварно важно.
Па ћу врсте брзине кроз те
пре него што смо добили у нашој стварној секцији.
Пре него што сам то, постоје Било питања-- логистички,
Лично, постоји све остало што желите
да знају о мени или о секција или класе уопште?
Све у реду?
У реду, кул.
Ловели.
>> Дакле, ви треба да лоопс-- све препознају ове комаде од нуле.
Дакле, петље су у основи само начин да учини нешто
неки број пута, неки поновио акција заснована на неким условно.
Дакле, имамо три различита типа.
Имамо за петљу, док су, и до-време.
>> Дакле, за лоопс-- имамо само веома Генерал распоред овде у за петље.
И ово је супер када знате како много пута нешто мора да изврши.
Када говоримо о друге петље, ви ћете
видим зашто је то важна разлика.
Али за петље су за нешто сет.
Знаш да можеш или израчунати број
или знате колико пута сте Желим ово понавља на почетку.
>> Дакле, ако видите овде, ми имају само општу врсту
скелета оквира за за петљу овде.
Дакле, за-инитиализатион, ово је место где променљивих су враћене.
Са Марио, ја сам сигуран да сте урадили нешто као инт и износи 0.
То је место где се то догодило у плавом.
Имате своју стање, које је оно што се проверава сваки пут.
Ако је ово услов је истина, онда остатак кода извршава.
Онда ће покренути Поново: и питам.
И онда имамо упдате, где ви ажурирања променљиву.
Дакле, опет, са као Марио, сигуран сам сте урадили нешто као што сам плус плус.
Дакле, сваки пут петља ран, имам упдатед тако
када смо га провере против неки услов, да је мења.
>> Јер ако само имају променљиву статички,
ако извршава први пут, то је само да бескрајно изврши.
Дакле, морате да проверите да ли сте правилно ажурирате свој променљиву.
Такође имамо само визуелна представа тамо.
Сви добро?
За петљи.
Требало је да видите ово у псет.
Цоол.
>> Дакле, овде је само лак пример.
Принт тхис ис ЦС50!
10 пута.
И тако имамо иницијализација, као што видите, са инт и
једнако 0, јер сам је мање од 10, и плус плус.
И то ће одштампати да 10 пута.
>> Дакле, док лоопс-- док су петље супер кад не нужно
морају да знају колико пута је ће се ажурирати на почетку.
Ви само мало стање које је проверио.
А то би могло да буде нешто као вхиле-- узмимо пример из псет.
Ако Марио, покушате да улаз негативан број.
Зар не?
Требало је да поново освежим ваше корисника.
Дакле, можете рећи, добро, ако корисник улаза нешто мање од нуле, Ре-брз
их.
И сигуран сам да можда има је нешто што неки од вас
користити у вашем коду.
>> Дакле, то је једноставна ствар.
Имате док, неки условно да се проверава
сваки пут код иде да изврши.
Ако оцијени да истина, ми га покренути.
У супротном, не.
И шта је стварно ВАЖНО Сометхинг И
Мислим да је Давид говорио о у лецтуре-- су протезе.
Шта год да је у протеза је оно што се извршава.
Ако сте заборавили оне заграде, иде само
се линија директно након док је погубљен.
>> Дакле, ако имате три ствари које би требало
да се деси када се то услов има вредност труе,
а ви немате те протезу, само прва ствар ће се догодити.
Дакле, бити веома свесни где сте ставили своје протезу.
Ако се држите стиле50, Ово ће сигурно вам помоћи.
Цоол.
>> Дакле, ово је одбројавање од 10 до нуле.
И као што видите овде, ми инитиализе неки бројач ван ње.
Једна ствар која је другачија је нећемо инитиализинг нашу променљиву
унутар наше вхиле петље.
То је инитиализед ван ње.
Ми се једноставно само стављање стање у наше време.
Дакле, у овом случају, а то је датотека већа од нуле.
И ми одштампате шта је наш број је, а онда смањите своју променљиву.
И то је такође друга ствар приметити.
Наш исправка не деси у року да је први део вхиле петље.
То је у ствари ће се десити у року од протезу, тело текста.
>> Дакле, да-а-а лоопс-- уради петље су одличне за корисника валидацију.
Дакле, неки од вас можда има Такође се користи у вашој псет.
Можете рећи, учинити, као што, питати корисника за улаз.
И док, као, улаз је мање од неког броја.
>> Дакле, за случај експлицитни са Марио, то би учинити принтф, унесите цео број,
а онда неки цео број једнак Тоноване.
А онда заправо ћу Први извршава ту шифру.
Ви заправо ћете имати неки цео број.
А онда би се могло рећи, а да је цео број је мање од нуле.
Дакле, шта ће да уради је да је ће извршити бар једном.
Она ће да се провери стање.
Ако је услов Истина, то ће се поново кандидовати.
>> Дакле, до-вхиле петље се супер за корисника валидацију,
јер знаш шифру ће најмање изврши
Једном, док је са док петљи, ниси
гарантовано да је ће једном изврши.
Она ће да се провери стање а затим одлучите да га изврши,
док ДО-док ће прво извршити код
а затим проверите да ли је треба да га понови.
Да ли ту разлику смисла за све?
У реду.
Цоол.
>> Дакле, у овом случају, то је врста шта сам говорио,
ово поновно затражи све док не добити позитиван број.
Тако да знамо да је принтф "Унесите позитиван број"
и питате за то улаз ће се десити бар једном.
Уколико корисник је зло и чува уносите негативан број, који је
зна колико пута да ће извршити.
Али ово код је загарантован извршити бар једном.
И зато је супер за потврђивање уноса.
И ви ћете користити да врло мало.
>> У реду, има ли питања до сада?
Ми смо сви добро?
Ја говорим пребрзо?
Ми смо добри?
У реду.
Феноменалан
>> Тако да ћемо ићи напред и говоре о низовима.
Цоол.
Дакле, низови су у основи само структуре података
које нам омогућавају да складиште ствари исте врсте.
Дакле, ако сте икада имали низ, то је или само да има интс
или једноставно ће имати пловци или једноставно ће имати карактера.
Ти нећеш имати инт с Чар са флоат са двоструко.
Једна ствар.
Низови су само једна величина, или су само једна врста.
>> Дакле, овде имамо низ величине три са три бројева у њему.
Они су могли да плута, али смо ће рећи да су Интс.
Дакле, једна ствар да схвате је да низови су скуп величина када иницијализујете
њих, и нису еасили-- будући да су сви мање удобне,
само треба да мисле о њима као не могу да продужи величине.
Међутим велики сте кренули Ваша низ на почетку,
То је величина иде да остану, јер низова
су континуиране блокови меморије.
А када сте се у мало
како меморије заправо постављен на дискови и у гомиле и стека,
то ће учинити мало више смисла.
>> Али само да смислим као, то је само ред простора на диску.
А ти не може да гарантује да постоји ће бити слободан простор иза њега.
Могао би инитиализе низ три а онда можда ти
инитиализе други низ од пет касније, и то је у реду након тога.
Дакле, ако сте били да проћи спот три у том првом низу,
би се писање преко нешто друго.
Дакле, низови су-- за вас, само мисле о њима као фиксне величине.
>> Дакле, стварање арраи-- ти идеш да треба да урадите доста.
Дакле, на исти начин на који имамо Генерал структура за наше за петље,
имамо леп генерал Структура нашег низ.
Зато што су једне врсте, све елемената у низу су једног типа,
морате да се покрене шта је тип је.
>> Дакле, као што видите овде, имамо лепо мало тип носач података.
Дакле, ако смо ствара инт Арраи, то ће бити Инт.
Ако се правите цхар Арраи, то ће бити знак.
Ако смо стварање стринг Арраи, то ће бити ниска.
А онда име вашег низа, год желите да буде.
Дакле, можда је тесту или можда је ученика, или можда је то бомбоне.
Шта год да одлучите да име Ваша Арраи, то је оно што ће бити.
>> И онда у загради, ви ћете имају величину коју желите.
Дакле, ми складиштење 10 ученика или смо складиштење 15 врста слаткиша?
Шта не.
Дакле, овде нашем примеру, ми ствара низ
величине три, што момци погледајте овде на десној страни.
А када смо се први пут инитиализе то, све је постављена на нулу.
Дакле, то је само помислио на као празан лист папира.
Ми имамо све те просторе, сви ми имамо Ови боксови можемо ставити наше податке у,
али они су само празно за сада.
>> Дакле, ако желимо да се ствари доделите им ове вредности,
ми то радимо како одмах испод овде показује.
Тако да имате без обзира на име свог низ је и онда оно индекс хоћеш.
Дакле, само се односи на индекс, Као, оно слот гледамо.
И важно приметити је да су низови нула-индексиране.
Дакле, ако желимо први простор у меморији нашег низа, то ће бити нула.
Ако желимо да други, то ће бити једно.
Ако желимо да трећину, то ће бити два.
Тако даље, и тако даље.
>> Што је и зашто, конвенционално, када радимо за лоопс-- сам сигуран
Били сте питате, зашто ми се крећу од 0 против 1?
А то је зато што кад смо транзицију у помоћу низова, она исправно мапс.
Дакле, ако желите да поновити у низу, то
чини много више смисла за до и једнако 0, јер смо ми
Знам да ће одговарати на првом месту у меморији.
Свако добро са тим?
Цоол.
>> А затим је ту само дно још један начин да покрене низ.
Још увек имаш твој тип података и име,
али уместо ствари стављање величине тамо,
само да урадите празне заграде.
И онда са овим коврџава брацес на дну,
можете само улаз података који Ви хоћете да одвојене зарезима.
И то ће се аутоматски кажу, у реду, ја видим
да имате три ствари у овим протезу.
Тако да знам да морам да издвоји три блокови меморији, а затим меморише те.
>> Дакле, прва верзија можете користити Ако питате свој корисника у улаз
вредности, тако да можете поновити кроз низ
и аск-- мало ИНТ за унос их.
Ако знате вредности унапред, чини много више смисла
да користе други начин.
Али, у већини случајева, можда нећете знати шта те вредности ће бити.
Цоол.
Има ли још питања?
У реду.
>> Дакле, приступ елементс-- тако да један од великих ствари о низовима
је да су рандом Аццесс, што значи да
не морају да изгледају кроз сваки блок.
Ако знате да сте Желим оно што је у блоку два,
можете једноставно рећи, дај ми блокира два.
И зато ово Индекси су толико важни,
и тако смо их у ствари приступити.
Дакле, у овом случају, као што смо раније видели, када смо додељивање вредности, у једном
пре, имали смо име и индекс смо желели да приступа, зар не?
Дакле, на исти начин, то је све што учинити да заиста повући ту података из.
Имамо име и ми имају индекс који желимо.
>> Дакле, у овом случају, за петљу доле на дну, свако
Знам шта ради, шта би исписати?
Ммхмм?
Екацтли.
Тако да, то је само кроз итератинг.
И једнако зеро-- можемо ходати кроз кода само брзо.
и је једнака нули, и је мање од три у овом тренутку, зар не?
Тако да се поклапа.
А ми кажемо, у реду, штампани Ф све што је у температури ја.
И нула овде када смо се први пут поновити, па идемо на овај први спот,
и ми кажемо, у реду, 65 је број желимо да одштампате.
Тако да ће исписати 65 а онда нову линију.
Ја се ажурира, тако да штампа 87.
Поново се ажурира, а то ће одштампати 30.
Сви кул?
Страва.
>> У реду.
Дакле, овде је врста једног ствар сам рекао како
можете пратити нечији резултат и зашто
Ви би користили први начин иницијализацију
уместо тог другог пута.
И то само иде преко.
И приметите имамо класе величине 30.
И ми смо ово иницијализација низ интс који је од величине 30.
А онда смо се итератинг кроз и ми смо
тражећи од корисника да улаз резултати за сваки од ових
а затим га додељујући специфично место у меморији
негдје у том низу.
Цоол?
Да ли то има смисла за све?
Ммхмм?
>> Дакле хаштагот дефинишу величину класа 30 је Препроцессор директива,
који само значи да она има гетс-- да радим као процес компајлирање.
Можете мислити о томе као глобалну променљиву.
Начин на који то није типицалли-- омогућава код
да се лакше промењена.
Дакле, хајде да кажемо да наша величина класа одједном иде од 30 до 15,
да нисам то дефинисао овако, ја бих морају да прођу кроз цело програм
и мењају сваки случај 30 на 15.
Али са овим, ја се на промену Спот, и све остало мења.
>> Ако сте икада желели да урадите хасх дефинисати у случају
где сте праћење неких сет број бодова за класе
или користите број који ће се користити, као,
кроз веома дугом програм, то је боље дефинисати да на почетку
тако да ако икада мења, добијате да промените једно место уместо 100.
Да?
>> СТУДЕНТ: Између томе и једноставно проглашавајући [неразумљиво] преко на врху.
>> АЛЛИСОН Буцххолтз-АУ: Тако има везе са еффициент--
некако је ван опсега оно што може да покрије у овом одељку.
То има везе више са ефикасношћу и како су се ствари заиста
рад у процесу комајлирати.
Ако желите да знам о томе, ја сам срећан да те пошаљем
е-маил са ресурсима о њој.
Хасх дефинишу тежи да буде пожељна за ствари.
И као што сте код више, ви врста уче нијансе
од када треба да користите Глобални наспрам хасх дефинишу.
Али за сада, Ви стварно не морају
да бринете је да је кратак одговор.
Свако добро са тим?
И такође, ако желите да користи хасх дефинисати,
то је заиста важно приметити да би име бити у свим капе.
Нисмо само радим Класа величине да буде драматична.
Заправо би требало да буде у свим капе.
Цоол.
Нешто друго тамо?
Ми смо добри?
Ловели.
Добро дошли.
>> У реду, тако да желим ви да погледате ово и видите да ли можете наћи буг.
Даћу вам наговештај.
То је негде у то за петљу.
Ммхмм?
>> СТУДЕНТ: Требало би да буде мања од једнако 2.
>> АЛЛИСОН: Па, могао би да буде мања или једнако 2, или може бити мањи од 3.
А шта је образложење за то?
>> СТУДЕНТ: [неразумљиво], 0, 1, 2.
>> АЛЛИСОН: Тачно.
Дакле, у низу величине н, ми Само су индекси Н минус 1.
Цоол.
А онда можемо добити стварно лудо и добити мултидимензионалних низове.
Један од проблема када сам га узео у године потребна вишедимензионалном низови,
и мислим да је један од њих може захтевати то ове године, тако да буде удобан.
Врап главу око тога.
Она ће се вратити да прогони Ви, али на хладном начин.
Тако да заиста можете само мислим мулти-димензија низова
као низова низова.
Тако да можете да некако мисли о овом топ ред као први комад меморије.
А ово је Други комад меморије,
а последњи ред је Трећи комад меморије.
И у оквиру тога, постоји низ.
Али наравно, то је лакше да опише овако.
>> Тако да га иницијализујете на исти начин.
То је лик Одбор три са три.
Дакле, имате три реда и три колоне.
Ми смо то представља овако.
И ти би се приступити Исто тако, колумна ред.
Па 1,1 као што овде видимо.
Ми додели нула, нула тамо.
2,0 и 0,2.
Тако да би само њих-- приступ ако је ико икада урадио линеарне алгебре,
исти начин приступате елемент Матрице, то је иста идеја овде.
Тако да можете да га односе назад на математици.
Ви не морате да бринете превише много о томе сада.
То је добро имати излагање, знати да ти то можеш.
Можете да направите неке Црази нумбер-- можете
створити црази низова се све што ћу рећи.
[Неразумљиво]
Постаје мало луд, али то је стварно супер.
Страва.
>> И онда, тако да имамо овде један пример.
Она израчунава дужину стринг.
Дакле, колико људи су знали да жице које користите
су само низови знакова?
У реду, да.
Дакле, ви можда мислите да немате Половне низови и раније, али било које доба
користите гетстринг у ЦСВиев библиотека, ти си
уствари само тражим низ знакова.
А ми водимо рачуна о свима да је у задњем крају за вас.
Али сте били користећи пошто сте почели низови.
Само не зна.
>> И кад год имате низ карактер или низ који је чување стринг,
Последња ствар је увек оно што је зове нула Терминатор, који
ово овде.
А то је на крају свака реч коју си складиштења.
Дакле, ако желимо да схватимо дужина низа, можемо рећи,
Па, знате, Садржај тог блока
није једнако нашем нулл терминатор.
То значи да постоји нека карактер има да ми заправо
брига за то је део речи.
Ви повећати дужину.
А онда када заиста доћи до крај речи, то ће прекинути
и то ће вратити нашу дужину за нас.
Ммхмм?
>> СТУДЕНТ: Да ли простор рачунају као нулл терминатор?
АЛЛИСОН: Дакле, простор је Не нулл терминатор.
Дакле, ако сте мултипле-- имате простор је заправо специфична АСЦИИ вредност.
СТУДЕНТ: Шта је узвик опет једнаки?
АЛЛИСОН: Дакле, то је оно што се односи на.
Ако ме икада чули за радног времена, Увек га зовем, као, бенг једнако.
Дакле, прасак није.
Дакле, то није једнако.
Дакле, ако покушавате да видим да је нешто лажно,
знаш увек, Банг год променљива, а ако је лажна,
оцењује да истина и вама може да кул ствари са тим.
Више о томе касније.
Цоол.
Све добро тамо?
Страва.
>> Дакле, сада је време да се твоји момци " посао, јер сам говорио.
Дакле, желим да само креирате низ са целих бројева један, два, и три,
а затим су их штампају.
Ви не треба да урадим, као, Маин, бла, бла, бла, како год.
Ја само желим да иницијализујете низ и онда креирајте
за петљу да их одштампате оут-- или док се петља, на вама.
>> Ја ћу ти дати пар минута да раде на томе.
Идем да се одморим глас.
Уколико имате било каквих питања, ја сам срећан да се около и причам са вама.
Слободно да разговарају једни са другима.
Добити више слаткише.
У ствари, ја ћу хода около са бомбона.
Како то?
>> Да ли желим?
Било ко други у овој просторији желе бомбоне?
Такође можете узети више од једног, момци.
Узмите шаку ако желите.
Мај као добро.
Сви остали добро?
У реду.
>> Такођер, ја ћу створити Анонимоус Гоогле Облик,
а ви само да поднесе Феедбацк после свакој секцији
Ако постоји нешто што желите да побољшати наплата или нешто што желите.
Ако сам превише Енергичан за тебе, ја могу да ублаже.
Ја ћу створити то и послати то да вам све касније.
>> У реду.
Почнимо мали.
Како бисмо нашу иницијализујете низ?
Која је врста нашег низа?
Инт, зар не?
У реду, па шта хоћеш да позовете арраи?
Инт арраи, кул.
У реду, тако да имамо инт арраи једнако, и шта имамо после тога?
СТУДЕНТ: [неразумљиво] заграде.
АЛЛИСОН: протезе.
И онда унутар заграда?
Један зарез два запета три.
Цоол.
Тако да је све у реду.
Тако да сада имамо наш за петљу.
Дакле, у првом делу нашег за петљу, шта имамо?
>> СТУДЕНТ: Ја једнако 0?
>> АЛЛИСОН: Тако инт и једнако 0, а онда шта је наш услов?
Шта се ћу бити мањи од?
Мање од три, и Како смо ми ажурирам?
И плус плус, је ажурирање за један.
А онда ћемо имати неке од иф цео број,
и шта је то задња део који је заправо
ће рећи оно што би требало да штампање?
Било би име Арраи, која је инт низ, зар не?
А шта је у заградама инт низа?
И.
[? Па сам?] Зовнуо примјер, али ево ти.
Није тако лоше.
Сви добро?
Цоол.
>> Дакле, завршили смо са низовима.
Честитам.
Успели сте да поновити кроз све то-- Да?
>> СТУДЕНТ: [неразумљиво]
>> АЛЛИСОН: Да.
>> СТУДЕНТ: Имам питање.
Да ли треба да Увлачење протезу?
>> АЛЛИСОН: Тако би требало да се построје протезе са за петље, а затим све
Унутар заграде треба да буде увучен.
>> СТУДЕНТ: У реду, треба за петљу да буде увучен?
>> АЛЛИСОН: за петљу не треба да буде увучен у овом тренутку.
Ако сте били у главни, ако заправо је овде главни функцију,
би да буде увучен у главни.
Али у овом случају, то је у реду.
Да, питање.
>> СТУДЕНТ: Да ли је потребно да имате заграде после пример?
>> АЛЛИСОН: Да, ако си инитиализинг томе на тај начин.
Запамтите, ово је друга начин инитиализинг низ где
имамо заграде а онда су наши стварни података раздвојених зарезима унутар.
>> СТУДЕНТ: Мислио сам да је било држачи за тај пример.
>> АЛЛИСОН: Не, они су протезу.
Они су протезу.
Ако сте иницијализацију тај други начин, то је протеза.
Ако смо да кажемо, ако Инт екампле-- Само смо хтели бланко низ за интс,
било би Инт пример БРАЦКЕТС три.
Заграде представљају величину.
Када имате протезу, то је стварни подаци
Ви тврдите у њега на овај начин.
Можемо помицати вратити веома брзо.
>> Дакле, у овом једном, ово је само наша Инитиал Арраи, иницијализација.
И ево, ми смо појединачно додељивање тачке на њима,
Дакле, ово представља показатељ наше Арраи, због чега имамо заграде.
Али овде, ако сте приметили, имамо напустили наше заграде без величине,
и то са иницијализујемо Актуелни подаци Све-у-један са протезама.
СТУДЕНТ: Зашто немамо заграде у овом примеру?
АЛЛИСОН: Дакле, у ком делу?
СТУДЕНТ: не бисмо рецимо, Инт пример носачи
једнако протеза [неразумљиво] носачи на пример.
>> АЛЛИСОН: Ох, извините.
У праву си.
Ми немамо заграде тамо.
Сорри гуис, моја грешка.
Да, требало би да имате заграде после пример.
Потпуно си у праву.
>> СТУДЕНТ: [неразумљиво] не радим.
>> АЛЛИСОН: Не, морате имати заграде, јер у супротном је то
неће да се изјасни низ.
СТУДЕНТ: [неразумљиво].
Жао ми је због тога.
>> АЛЛИСОН: Извини, ти треба заграде после пример.
Типо.
Добар улов, златна звезда за тебе.
Исто тако, ако се поставља питање, ако је момци само би ми своја имена,
Волео бих то.
Волео бих да могу да Знам све твоје имена.
Ја не идем на хладно зовем, ја стварно
желим само да знам ваша имена.
Зато вас молим, заправо ми рећи своја имена.
>> Леах Леах.
>> АЛЛИСОН: Леах.
У реду, тако да фунцтионс-- знам укратко су разговарали о томе у току предавања.
Дакле, функције су некако само Као ових малих залогаја величине стварима
где пролазе у инпута, нешто Магицал деси, а ти излаза.
Цоол.
Тако да заправо користи доста њих је већ.
Гет ИНТ, добили низ, принт ф.
То су све функције где само их зовете,
има много чаробних ствари догађа у позадини
да не нужно виде, а ти шта хоћеш.
Или бар ти оно што се надам желите.
>> А у основи тачка функција, и један од главних тема ЦС,
је разбити код на управљати комаде.
Када почнете да пишете ови стварно дуге програме,
или Сцратцх када сте имали Ова велика идеја за игру,
морате бити у стању да га разбити до, као, у реду, како да почнем?
Које су делићи које ми је потребно?
Ох, морам да питам Упутства за нешто.
Сада ми треба да одштампате нешто.
Ох, морам израчунати ову вредност.
>> И учење како да разбије Иоур код и велики проблеми вас
имају у ове мале комаде и креирање функција
је заправо један од Велики камен темељац ЦС.
Тако да можете мислити на функције само као као црну кутију, Магицал црна кутија,
да ставите ствари у а ти мало излаз.
И остатак програма не треба да се нужно знати
шта се дешава у тој црној кутији.
Све је то стало је шта иде и шта излази.
Цоол.
>> Па зашто функције?
Организатион-- као што сам рекао, кад си бави веома великим базама код,
Како да организујете своје код ће бити много лакше ако користите функције.
Зато што ћете бити у могућности да буде, као, у реду ово,
је оно што ова функција ради и Ево шта још не зна.
И лако можете видети Како су сви заједно уклапају.
Дакле, то разбијање на све ови управљивих Поглавља.
>> Дакле симплифицатион-- Сигуран сам да момци сви смо видели ово, као што сам рекао, са нуле.
Имате ту велику идеју, и ти си као, како све ово ради?
Али ако га прићи парче, кажете, у реду,
Како да направим један спрајт флоат преко екрана?
То је мало лакше.
Тако је добро коришћење функција омогућава Ваш код лакше за читање.
То олакшава дебуг која је као добијате на ваше касније проблем поставе,
ћеш стварно желе да буду у стању да уради.
И они су такође лакше да дизајнира и имплементира.
Можете се кодирају мали функционишу релативно брзо
и уверите се да ради у односу покушава да створи цео овај дуги програм
и онда некако проћи и видимо шта функционише, а шта није.
>> И онда употребљивости.
Тако да функционише само треба да се једном написао,
и онда можете да их користите онолико пута колико је могуће.
Тако да је, као, еколошки у смислу.
Ако сте имали такве ствари Принт Ф, где си
морао да напише кроз магију која иде иза принт Ф сваки пут
желите да штампате нешто, би бити прилично болестан и уморан од тога
до краја.
>> Једна од ствари које ћу уче на касније ЦС наставу,
или један од најбољих савета које добијем
је, ако сте копирате и лепљење код, вероватно би требало да буде у функцији.
Ако имате потпуно исти Линије свуда по коду,
ако их урачунати напоље, Ваш код би вероватно
бити, као, пет пута краћи и много више читају лако.
И уместо да покушава да решите Сви ови различити места где ствари
може кренути наопако, имате једну функцију које сте добили да бисте решили проблем.
И обећавам, доста ово Можда изгледа врсту апстрактних сада,
али као што сте добили у касније а касније проблем поставе,
то ће учинити много више смисла и стварно се возити кући.
Да ли постоје питања О функцијама сада?
Зато смо их користите?
Знам да нисмо добили у Нитти Гритти увек.
Дакле, дефинисање фунцтион-- баш као Арраис, треба некакав од-- ово
је само општи излаз.
Дакле, ово је функција која је само да цубе одређеног утицаја.
А на следећој страни, у ствари, имамо Све ове страшан мале ствари овде.
Дакле, сви могу да читају да, из радозналости?
Знам да љубичаста и црна можда мало тешко.
>> Али велике ствари знате-- тако први један овде је наша врста повратак.
Дакле, ово је прича о излазу ове функције када у овом случају,
ставимо у неком броју, што смо узимајући је тај број Цубед.
Требало би да буде инт у овом случају.
Можда би било двоструко или касније нешто друго, али у овом случају,
то Инт.
>> Са Ц, увек вам је потребно је повратни тип.
То ће бити Инт.
То ће бити флоат.
То ће бити двоструко.
Али морате да одредите шта Ова функција ће вратити.
Иначе ће викати у Ви, а неће саставити.
Ти ћеш бити тужна, а ја ћу бити тужан.
И то је само није добро.
У реду.
>> И онда имамо име функције.
И као што можете видети овде, са Ц ту је веома конзистентан парадигма.
Који је ваш тип, како се зове, и онда нешто друго на крају.
Дакле, имамо повратни тип, Наше име функције, а затим
имамо главом са наша листа параметара.
>> Дакле, списак параметар, што је Ова функција ће узети у?
Листа параметара је једноставно синоним за, како су наши улаза?
А на исти начин на који смо морају да дефинишу своју функцију
и дати му да се врати тип, сваки од наших инпута
мора да има тип вези са њом.
Дакле, ми знамо шта је наш функција могу заправо радите.
>> Дакле, у овом случају, имамо неке инт улаз.
Дакле, опет, то ће бити типа а оно што га зовете.
И онда, као што видите Овде, имамо наше тело.
Дакле, имамо неку инт излаз, то је само наше улагање се сам пута
Сам пут, који само коцке.
А онда се враћамо тај излаз.
>> Дакле, као што видите овде, имамо инт пута инт пута ИНТ,
тако да враћа инт, који је тамо проглашен.
Дакле, све је кохезивна.
Све је срећан.
Ваша функција ће покренути.
А ово је само општа ствар.
Тако да увек имају повратни тип, име, и ваша листа параметара.
Свака ствар у вашем листа параметара, или улаз,
мора да има тип вези са њом.
И онда имаш своје Тело овде са оним
желите да урадите са својим улазом.
>> И онда је очигледно Желим нешто да се врате.
Понекад функције ће само вратити.
Они заправо не врате нешто за вас да користите.
Али морате да се вратите на неки начин.
А када правите сопствене функције,
можемо добити у то мало дубље.
Лично, ако желите, постоји много различитих ствари можете тамо радили.
Сви добро?
Ништа на овом списку који желиш да одем, да ниси разумео?
Сви су добро тамо?
Цоол.
Страва.
>> Ок, тако да стављамо све то заједно.
Дакле, имамо неку Инт коцке улаз, тако да Ово је комплетан програм овде.
До сада, ја сам врста су ти дати
гуис сниппетс То би могло да иде у оквиру програма.
Ми смо управо гледали функцијама.
Али овде је цео програм.
Дакле, колико се сећате Реч прототип из предавања?
Цоол.
Имамо једног.
Како се зовеш?
>> СТЕПХ: Степх.
>> АЛЛИСОН: Степх?
Ок, супер.
Дакле, да ли се сећате шта је прототип?
>> СТУДЕНТ: Кажете [неразумљиво] пре него што заиста баве тим.
>> АЛЛИСОН: Да ли се сећате зашто?
>> СТУДЕНТ: Не
>> АЛЛИСОН: У реду.
Голд Стар.
Тако да, ми имамо прототип раније, јер у супротном,
наш преводилац ће викати на нас.
То ће рећи, у реду, шта је ово коцка функција?
Као, имате буквално ми рекао ништа о томе.
То је као кад хода у учионицу,
и неко је као, ту је квиз данас.
И ти си као, ти Никада ми ниси рекао о томе.
Нисам задовољан са нама.
Прототип је у основи као Ваша Силлабус говорећи, гледај.
Главу горе.
Ту ће бити квиз на овај дан.
Немојте полудела када дођете до њега.
Ти ћеш бити у реду.
>> Дакле, све је то прототип реци Маин, ја ћу користити ову функцију.
Обећавам да ћу га касније дефинисање.
Немојте полудела на мене.
Само сачини и уради оно што ти кажем.
Дакле, имамо тамо прототип само да би наш преводилац срећан.
И то је у основи обећање да сте дефинисали ову функцију касније
и да се не зовем ова насумице тога да
не знам шта си ће радити.
>> Дакле, у овом случају, имамо главни овде.
Ми инитиализе цјелину Кс.
То је два.
Ми ћемо да одштампате шта је к.
Ми ћемо Цубе Кс.
Као што видите, ми имамо наше Функција декларација
овде да ми говорио о раније.
То ће Цубе Кс, а онда, ако се запамти, коцка функцију ствари
враћа цео број на ус, који се налази
ин к опет, тако да можемо да штампамо од осам, односно Цубе Кс сада.
Да ли то има смисла за све?
Ми смо добри?
У реду.
Страва.
>> У реду.
Колико вас Ремембер Тхис тако да
је у основи само твој стека и ваш Хеап,
само визуализација Како се чува сећање овде.
Тако да само желите да се сигурни да разумете
Како се они представљени у меморији.
Уколико узмете часове као ЦС61 и ствари касније,
сте сазнали ово далеко у дубини, и то је стварно супер.
Ја високо га препоручујем.
Али за сада, ја ћу дати Ви широк преглед
тако да не морате да знам Нитти Гритти.
>> Дакле, на врху само сегмент текста који садржи стварне нула и јединица,
бинарни за то.
А ово се користи за складиштење глобалне променљиве ако имате било који.
Као што се померите, ми има, као што видите овде,
инитиализед података, неиницијализованој Подаци, а затим хеап.
>> Тако да стварно не разговарам о гомиле сада.
Доћи ћемо на то касније.
За сада, ја ћу да махнем руке и буде као,
не треба да знате о томе сада.
Али ми ћемо разговарати мало мало о стека.
Дакле, стек је где-- имамо зоом ин.
Ово је заправо колико програм само смо гледали јавља у меморији.
>> Дакле, оно што се дешава је, сваки време је да позовемо функцију,
добијамо оно што се зове Стацк оквир, што је један од ових.
Дакле, главни је параметри.
Дакле, то су ствари које да прођемо у главни.
Дакле, они су овде на дну, јер је то прва ствар коју зовемо.
И онда долазимо до главне их мјештани, а кад кажемо да,
мислимо локалне променљиве који се чувају у главни.
Дакле, мештани овде би, као, к је једнако два у овом случају.
Јер то је локализован на главни.
Да ли се сви сећате обим, иде преко тога у предавању?
У реду.
Дакле, само су варијабле које су враћене у главни.
Зато имамо Маин [? вокал. ?]
>> И онда у главни, зовемо коцку.
Зар не?
Тако смо добили још један рам са параметрима коцке.
Дакле, у овом случају, коцке Параметри су сада
к да смо прошли у, два која смо прошли у.
И онда мештани Цубе, која је где стварна цубинг дешава.
А онда се враћа.
>> Дакле, оно што се дешава је као коцка заправо ради оно што је требало да уради, враћа.
Када се врати, ова оквир оставља, и његова вратио до главна.
И онда у главни, ми заправо могу да га штампају.
Дакле, када сте повратку нешто, када је ваша функција врати,
то је као да пролази на тим вредностима у оквир испод њега, а затим одлази.
И ствари морају да се изврше у ред.
>> И када дођете до веће програме, можемо направити хладнији и компликованије
дијаграми.
Али за сада, ово је само општи преглед
тако да имате врсту разумевање онога
дешава када сте позивање функција и како то заправо изгледа у меморији.
Цоол?
Сви добро?
Страва.
>> Ово је онај који је Само покушавам да замене ствари.
Као што видимо, имамо наша функција Прототипе
тако да је наш преводилац не викати на нас.
Ми имамо неке од главних, а ми Желим да укључите к и и.
Они нису урадили ову демонстрацију у предавању Ипак, они имају?
Они немају?
У реду.
Тако да ћемо ићи преко овог врло кратко.
Добићете на овом примеру више у дубини, мислим, ове недеље.
А онда следеће недеље ћемо заиста можемо зарони у зашто ово не функционише.
>> Дакле, имамо ту празнину Функција овдје-- свап.
Дакле, празнина само значи да ништа није вратио.
И ми имамо свап инт и инт б.
И ми имамо неке привремено променљива која је.
добија додељен б, а затим б буде додељен на темп
тако да је и Б је Вредности су сада укључена.
>> Али, заплет, то не функционише.
И део тога заправо има у вези са чињеницом да
и б овде, они који се доносе у Овде, у ствари копије од Кс и И.
Дакле, када функција заиста враћа, она пребацује копије, али не
стварни к и и је.
Дакле, један начин размишљања о томе је да-- претварати су Свап.
У реду?
Дакле, у главни, имамо Кс и И инитиализед.
Међутим, кад смо ићи горе овим оквирима са свап,
Пролазимо вредности преко на њега, и они инитиализед.
>> И они само икада живети овде.
Тако и б живе овде.
И они су се заменили.
Али кад се вратимо, да не ништа са и б.
б одсуство са нашом функцијом.
И тако Кс и И остати исте.
Добићете више о томе како поправити и Како заправо бавити касније.
>> Али то је само једна ствар да некако на уму.
Користите га за будућност.
Не брините ако то не направи све смисао у свету.
Они су копије је највећа ствар.
Ако ћеш узети ништа далеко од тога, донет примерака.
Тако су оригинали остају исте.
Сви добро?
Цоол.
>> Дакле командне линије аргументи.
Сигуран сам да у почетку сте све имали те велике, као, маин празнине.
И ти си као, ОК кул.
Ја стварно не занима.
То је управо оно што морам да пишем.
Али у својим новим програмима, посебно у овом псет,
и зашто је тамо креде на терену?
>> Са следећу псет, ти си Биће ово видим.
Маин, Инт АРГ Ц, стринг Арц против, носачи.
Дакле, из онога што смо управо сазнао данас, шта
мислимо да други параметар или да Други елемент је овде?
То је низ.
Која врста низа?
Стринг арраи, да.
Цоол.
Дакле, то је како ћеш да се проглашење ових сада.
>> Да ли се ико сећа шта је ово значи?
Не?
Хмм?
>> СТУДЕНТ: АРГ Ц.
>> АЛЛИСОН: Тако АРГ Ц води бројач.
То је Инт.
То је број, зар не?
Дакле, шта мислите да је број је?
Да.
Дакле АРГ Ц је број жица који чине командна линија.
Дакле, ако смо се заиста урадиш--, постоје примери после овога,
тако да неће добити испред себе.
То је број који низова Само чине командну линију.
>> Дакле, када ти, као, дот сласх Марио, то је један стринг који га чини.
У овом комаду, ви заправо ће бити хране ствари у командној линији,
као што сам сигуран да момци који Прочитао спец тестеру.
Дакле, у тим случајевима, можда ћете имају два или три аргумента.
То ће бити корисно за коришћење.
>> И онда АРГ В, као што смо рекли, је само низ низ.
Тако да заправо чува шта унесете у командној линији.
Дакле, имамо ово.
Имаш неки дот сласх цопи инфиле оутфиле.
Дакле, ако је АРГ ц је број жица да смо пролази у команду
линија, што је наш АРГ Ц у овом случају?
Три.
Екацтли.
>> Дакле, шта је АРГ В нуле?
Дакле, шта је прва ствар коју смо чувају?
Дот сласх копију, тачно.
А онда ће бити друга инфиле.
Трећи ће бити оутфиле.
Дакле, шта је арг в три?
Било би нула, јер је то крај нашег низа, зар не?
Цоол.
>> А шта онда о шести?
То је нека врста трик питање.
Исх.
Да ли знате шта је то?
То је недефинисан.
Немамо појма шта би то могло бити.
То је све што је у праву након низа у меморији,
а ми немамо појма шта је то.
И то је опасно да додирују оне ствари, јер за све што знате,
то је неки део меморије која вас Не би требало да буде приступа или нулл.
И то може да уради луде ствари.
То се зове више-индексирање Ваша везан за ваш низ.
Немојте ићи ван граница ваше Арраи, или лоше ствари може да се деси.
Ти се врати и, као, законима физике су уништени
или нешто.
Цоол.
Да ли то има смисла за све?
Није тако лоше.
>> Тако да сада, сви су омиљени део, псет преглед.
Иаи!
У реду.
Дакле, за оне који нису читали псет спец,
радите нешто стварно кул ствари са криптографије.
Ти ћеш створити цеасар Шифра и Вигенере шифра.
Ви дефинитивно треба прочитати спец да видимо како они раде.
А ако имате било какве проблеме у вези Шта то заправо треба да раде,
Молимо вас да се разговор са мном, емаил ме или ме текст.
Ја сам ту.
>> Дакле, постоје три главна ствари да смо ми
Желим да разговарам о-- некако на продужење предавања.
Ствари које можда нисте знали О, корисним саветима и алата.
Дакле, идемо да радимо Брз преглед АСЦИИ,
јер то ће бити супер важно за Вигенере је шифра.
Идемо на конверзије командне линије улаза, који
ће бити веома корисно за Цаесар шифра.
И онда модулу.
Цоол.
>> Дакле, АСЦИИ знакова мапе бројевима.
Ово је велика графикон.
Требало би да имате ово боокмаркед негде.
Ви ћете га желиш за први средњорочни.
Прилично сам сигуран да свако има ово графикон на њиховом средњорочном лима.
Тако научити.
Лове ит.
Држите га при руци.
То ће бити корисно.
>> И све то је је кодирање да карте Алпхабетиц, нумерички,
и остали ликови у Бројеви за нашу рачунару.
Због наравно, у Енд, све чувамо
ће добити преобраћен до нула и јединица,
тако да је потребно неки начин да представља текст и знакова да смо сви ми
навикли да виде као неку врсту броја.
>> Дакле, као што видимо овде, имамо велика, што је тамо.
То је 65.
И мала је 97.
Тако да можете да схватите оут-- као што сам рекао раније,
Ако сте имали низ мултипле Стрингс, шта сваки од њих
имају нулл терминатор.
Било би простор.
Простор има своју специал-- Заборавио сам где је овде.
Ах.
32 је простор.
Дакле, све карте за њега.
>> Дакле, имамо АСЦИИ математику.
Про тип-- у Вигенере је, можда доћи у искушење
да конвертујете своје бројеве бројева, али је у ствари боље пракса
да бисте могли да користите ликови лике тхис
кад стварно их манипулише.
Дакле, ако желите да користите бројеве, можете.
Али бољи начин, или начин на који имамо тенденцију да вас воле момци да се то уради,
је на овај начин, где сте уствари одузимањем знакова.
>> Дакле, желим те момци у некако схватити ово.
Зашто не пробати све другу?
Дакле, уради први, трећи, а пети.
Зато што желим да се уверите да причамо о свему морамо да разговарамо о томе.
Само ћу да кажем, један од важне ствари да-- ох ваит,
ви нисте видели ово.
Добро учинити прва три.
Хајде да то урадимо.
Јер ми морамо да разговарамо о модуло.
Знам.
Математика је тешко.
Можете да користите калкулатор.
То је у реду.
Или повуците АСЦИИ табелу, јер вероватно ћеш желети да.
>> Цоол.
Тако да ће брзо ходати ви кроз ове.
Дакле, људи су АСЦИИ табеле извукао?
Оно што је наша нумерички број за мала слова а?
СТУДЕНТ: Седам.
>> АЛЛИСОН: Тако мала слова се 97 и велика је 65.
Дакле, 97 минус 65?
>> ПУБЛИКА: 32?
>> АЛЛИСОН: 62, да.
Дакле, у овом случају, оно ће исписати?
То прво?
Ако имамо одсто д, Шта би то значи?
СТУДЕНТ: број.
АЛЛИСОН: Ми принтинг од стварног броја.
Тако да заправо идемо да одштампате 32 овде.
И ако је ово одсто Ц, 32 би нам дати простора.
Тако да разумевање знакови могу да се штампају
и као бројеве и као стварни ликови
је веома важно, и плаћање пажњу на стварне типове
да ми радимо овде.
Цоол.
Дакле, за сваки други од њих, шта ћемо бити штампање?
>> СТУДЕНТ: лик.
>> АЛЛИСОН: лик.
Цоол.
Дакле, ако хоћете да знате, може радити ово се сами.
Ако имате проблема, емаил ме.
Али други ће одштампате малим словом б.
Трећи ће одштампати велика Б. четврта штампа
од велико Ц, и последњи ће бити мала слова А.
И последњи --виберите-- ми заправо идемо да се у оно том лудом одсто
Знак чак значи неколико слајдова.
Зато покушајте они сами.
Ако имате проблема, Молимо вас да се разговара са мном.
Ако сте обично сте у Адамс Д сали, вероватно ћете ме наћи около.
>> Дакле, атои.
Колико вас је видели функција или чуо за то уопште?
Анионе?
Цоол.
Дакле, оно што заправо стоји јер је АСЦИИ у цјелину.
Дакле, шта можете да урадите је, са Цезаром, за оне који читају спецификацију,
ћеш да урадиш дот сласх Цаесар Након што напишете ваш програм,
а онда ћеш улаз неки број који сте
Желим да кодирање своју тајну поруку са.
>> Али, ако се сећате, све наше улази се чувају као струне.
Зар не?
Имамо Арг в низ то је све типа Стринг.
Дакле, ако сте само покушате да пулл да је један, то би
Мислим да је један или шта год број сте користили је заправо лик.
Дакле, да ћеш добити лудих резултата.
Дакле, ако сте заиста желите да ово претворити интегер
које можете користити за манипулацију Твоја реч или твоја порука,
ћете желети да користите Атои.
атои само претвара Ваш стринг на инт.
>> Дакле, ако имамо низ од 12, ако ми зовемо атои 12., или шта год да је улаз је,
она заправо ће се вратити теби цео број.
Није знак или низ 12.
Који, када почнете да додам да у бројевима,
ће бити веома различити, јер стринг 12 је
неки луди број у АСЦИИ, али цео број 12
је заправо 12, што је оно што желите.
Дакле, желите да се уверите да користите Атои.
>> Идеш у вант тхис у Цезара, јер вас
треба ИНТ добили од корисник у командној линији.
Али када су га у команду линија, то је чува као стринг
за почетак.
Да ли то има смисла?
Ви не нужно треба ово Вигенере.
Са Вигенере, као што сам рекао пре, требало би да покушате и користити
АСЦИИ математика која изгледа више као Ово, где уствари
користећи карактера да смо које сте добили.
Цоол.
Сви добро тамо?
Страва.
>> Тако модулу.
Па шта ако дате Овај огроман број за Цезара?
Имате идеју да ако си на З и си
дат број два, то значи да требала--
З постаје други слово после себе, зар не?
Дакле, морате да некако замотати око, а по модулу је начин да то урадите.
Дакле, све што ради је вам даје остатак
поделе Први број сваке секунде.
И ми имамо неке примјере у да то мало више бетона.
Али у суштини, ви користите модулу када сте Желим да направим нешто Врап около.
>> Дакле, ако желите само Број један преко осам,
можете користити по модулу било које друге број, и увек це
ретурн број од нула до осам.
Дакле, нека, ако екамплес-- имамо 55 по модулу 10,
само вам даје остатак 55 подељено са 10, што би било 5.
А онда три модулу пет, ко погоди шта би то било?
Три.
>> Дакле, ако имате мањи број пре модуло, она не може ићи у равномерно.
То је нула.
Тако да само враћа саму број.
Дакле, осам модуло осам ће бити?
>> СТУДЕНТ: Нула.
>> АЛЛИСОН: Нула.
Јер то иде у равномерно.
16 по модулу 15?
>> ПУБЛИКА: Један.
>> АЛЛИСОН: Цоол.
И онда ова последња је само схов ти-- можда се питате, у реду,
шта је редослед операција овде?
Да ли прво поделимо?
Да ли прво модулу?
Дакле, по модулу има исту предност као и подела или умножавањем,
и њена лева асоцијативна.
Тако да је на исти начин.
Ти би увек заграда, онда множење, подела,
и модулу како би са лева на десно.
Дакле, Стандардна правила.
Само га стави у истој категорији као и поделе умножавање.
>> Дакле, у овом случају, ми би Имам 1 плус 2 нам даје 3.
То помножимо са 2, па смо добили 6.
Ми модулу да до 2, што нам даје?
>> СТУДЕНТ: 0.
>> АЛЛИСОН: 0.
И онда смо додали 2, тако да смо гет 2 у овом последњем случају.
Дакле модуло-- дефинитивно ћеш да размишља о начинима да се укључе
да када сте паковање око азбуке.
Ако сте на З, а морате да преместите проследи три простора да се у Ц,
то је то читав концепт за паковање око.
Тако да ћу то препустити ви да схватите
Како тачно ћеш да га користите.
Али дефинитивно користан алат за ваш псет ове недеље.
Стварно ми се ово.
Ово је једна од мојих омиљених псетс.
Онда када то радите, ако имате пријатеље,
можете, као, шаљу једни другима тајну поруке и уверите се да ради.
Јер ће га или шта дешифрује.
Пуно забаве.
>> И то је крај секције.
Ја раније завршио.
Још увек имам 15 минута са момци, па ако има нешто
да ли да одем Даље, ја бих радо да то уради.
Има ли још питања на Ваш псет за оне од вас
који су почели или прочитајте спец.
Све што смо говорили о у последњих сат времена
и 15 минута да би ме волео врсти понављамо, ја бих радо.
Или можемо да прекинемо, а можете сви оду и да више бомбона са собом
као што иде.
Али ако постоје неки дуготрајни питања, молим вас да ми знамо.
Такође можете доћи и причај са мном после.
Обећавам да не уједам.
Нешто друго?
Сви су добро?
Осећај свачија као могу средити псет?
Ти ћеш бити добро момци.
Радно време постоје са разлогом.
Цоол.
У реду.
>> Па, у том случају, хвала сви толико дошли.
Надам се да те видим следеће недеље.
Ту ће бити више слаткиша.
Могу постојати друге кул ствари.
И радујем се геттинг да знам све вас у овој години.