ЈАСОН Хирсцххорн: Добродошли ЦС50 секција, сви. Моје име је Џејсон Хирсцххорн. Ја сам много твој поздрав, али много људи ће надамо се бити с нама мрежи, продужни студенти или студенти покушава да погледате одељак ако пропустили део те недеље или Само сустигну уколико желе да прегледа неки материјал. Дакле, по градиву, што све од које сте прочитали, зар не? Видим доста главе клима главом. Секције вам пружити могућности да истражи да курс материјала у интимнијој окружењу, као и зароните у практичне активности. Дакле, то је у основи оно што смо ће радити сваке недеље. Ми ћемо да прођемо кроз оно што имамо утврђено да су најважнији Теме покривене у предавању, и они вероватно најкориснији и највероватније да се појави на проблем поставе и у квизовима, а на ваш кодирање Живот изван ЦС50. Дакле, ми ћемо ићи у те теме, разговарају о њима, иду преко њих, одговоримо на сва питања ви имате, и онда ћемо да урадимо много праксе проблеми у кодирање. Сви сте донели лаптоп, што је фантастично. Ово је информатика класе. Међутим, много вежбе радимо, нећете морати за свој лаптоп. Можете их радити на папиру. Тако ћеш учинити их на квизовима. И заиста, то је одличан начин да се знам да вам како да то урадите нешто ако немате Цхецк 50 до ослањају на Марка или да се ослони на, говорећи сте направили било какве грешке. Дакле, ви сте добродошли да код на апарата или рун.цс50.нет, што је још један алат који вам омогућава да се код мрежи, али ја бих препоручио, ако Ако нисте пробали, користећи лист папира и покушава ових праксу Проблеми на папиру. Јер опет, то је на крају оно што ће бити тражио да се уради на квизовима. Почнимо са нашим агенда за данас. Ми ћемо ићи преко неке норме за наша секција, онда ћемо да ронимо у низове, функције, и командне линије аргументи, што је оно што ви покривени су прошле недеље у предавању иу понедељак, а шта ћете покрити више сутра. И на крају, идемо да разговарамо о псет2. Ако бих могао да се дизањем руке, ако није погледао проблема два сета спецификација. Рећи ћемо свима. Фантастично. Ми ћемо разговарати о проблему у сетовима у мало, али ако сте прочитали проблема сет спецификација, то је Све што треба да урадите. Ако сте прочитали пре него што сте дошли до класе и одељак у уторак, што ће бити одличан положај. Можемо проћи кроз сет проблема, што је оно што ћемо да уради на крају. Ми ћемо проћи кроз логика, проверите да ли сви на истој страни. Желим да будем у могућности да оду у уторак осећа веома удобно са оним што треба да урадите за проблем скуп ове недеље, а ако не, радо ће остати и после раде са вама. Али, то је једна ствар коју морате да уради, али мислим да би било стварно паметан, само за читање скуп проблема Спецификација по класама у уторак, што звучи Многи од вас урадио. Ја ћу почети са редом сваки час тако да знате где идемо. Ово је такође корисна за људе који гледају на мрежи, јер сваки део је обојена, тако да ако желите да се назад и само гледају а 10 минута од целог 90 минута одељку, могу само да одем на обојани секцији и погледај том делу. Зато сам покушао да их разбити у лепо модула који ће вам омогућити да - Ако желите да се вратите и преглед, или остали студенти који су само гледајући одељак за преглед - да пронађу одређену ствар они Желим да обратите пажњу на и сазнајте више о томе. Слатки. Норме. Ја сам ФОП лидер на кампусу. Ја не знам да ли ико урадио ФОП. Да ли је неко до ФОП? Једна особа је ФОП. Двоје људи је ФОП. Авесоме. Дакле ФОП је прва година отворени Оријентација програм. Узимамо бруцоша у шуму и да највише магичне искуства њихови животи, зар не? Да. Звучи о праву. Само сам хтео да почне наш први одељак за дискусију неке норме за класе и наш однос јер мислим да они су веома важни. Прво и пре свега, као оне који су примили мој секција и се говорило у то е-маил, ја волим ово. Ово је мој омиљени део године. Био сам толико узбуђен. Овде сам сатима данас. Нисам напустио ову зграду, осим за једемо јер волим ЦС50 одељак, ја учимо, Волим да радим са вама. Један од мојих приоритета, ако не моја приоритет број један, не само за Ова класа али укључујући и мој други класе и додатних планова, јесте да се подржи момци, и помоћи вам момци, и све од себе да се уверите да вам момци имају диван, забаван, продуктивни, привлачна, узбудљив искуство у овој класи. То је оно што сам посвећен. Зато ја волим да се то уради. То је мој број један ствар, подржава вас момци. Ако имате било каквих питања у вези предавања, Проблем скуп, секција, живот, чак и ако желе да разговарају о живот, молимо Вас да допре. Имате мој број мобилног телефона, имате мој е-маил адресу, имате моју ГЦхат. Можете ме контактирати на неке или све они кад год, али вероватно неће добити кад год одговор. Покушавам да се вратим у року од 24 сата. Често ће бити у 20 минута или 24 минута. Требало је да кажем да је да би се паралелно. Али, добићете одговор прилично брзо. Ако ми Текст сат времена пре Проблем је скуп због, ја ћу вас смирити доле и до дубоке вежбе дисања са вама, али ако нисте почели, ти си вероватно неће завршити, и Ја стварно не могу да вам помогнем мада ја ћу пробати мој најбољи. Зато ћу учинити све Ја могу да вас подржи. Молимо Вас да се постигне да ли то је у одељку опет, на Радно време ако ме видиш, или чак изван. Драго ми је да подесите време за састанак и рад кроз проблеме са или иду преко материјала. Дакле, то је број један, подршка. Ја ћу учинити све што сам може да вас подржи. Број два, састанак у средини. Колико год желим да будем, ја сам није свемогућ и свемоћан или свезнајући, тако да не знам све време, ако оно што радим је све преко, ако како ја предајем Тема помаже да га научите, или ако су збуњени на тему, али не подигне руку или да ме питаш или ми пошаљите е-маил. Или чак и ако се, опет, су збуњени о нечему о проблему сету. Ако не допре до мене, Ја не могу да знам сигурно. Ја ћу се потрудити да се пријавите на ви, уверите се да је све иде добро, покушајте да уче ствари на начин која ће бити погодна за већину своје стилове учења, али ако постоји нешто што могу да урадим, јави ми. У том смислу, ако желите помоћ са сетом проблема, ја сам више него срећан да вам помогне са проблемом сету. Ми ћемо урадити много да ка другом половина овог члана. Али, ако нисте прочитали проблем поставља назад и нису гледали шетњу путем и нису гледали у шорцу и очекујете од мене да те научим све што је снимао мрежи или који можете наћи на ЦС50 Студија, то није стварно фер да мени или својим другим вршњацима. Зато молим вас, ја сам више него срећан да помогнем ви, али ви мора да ме упозна у средњи. Имамо тона средстава за Ви доступан на ЦС50. Поменуо сам неке од њих. Молимо их искористе. Ако сте збуњени, ја сам више него задовољан да вам помогне да им објасните други начин, али то није фер, ако студенти појавити у радног времена, нису почели ништа, и то је Четвртак вече и они очекују ТФ да их провести кроз сваки ствар за сет проблема због у подне следећег дана. Има ли смисла? Опет, молимо посетите нас у средини. И на крају, велика очекивања. Ја ћу бити свако ко је норматив у мојој секцији, или постигао свој проблем поставе. Нисте се вратили проблем сет нула или један још. Жао нам је због тога. Требало нам је неко време да се коначно населе секције, а сада можемо почети оцењивање. Ја ћу их добити назад на вас што је пре могуће. То су неке од мојих адвисеес тамо. Ја ћу их добити назад на вас што је пре могуће. А за проблем два сета, ми ћемо бити на распоред и ми ћемо почети да се њима да вас врло брзо после Ви укључите их унутра Када добијете ваш проблем постави поново, ви ће добити резултате, као што знате из читање наставни програм - коректности, дизајн, обим, а стил резултати. Такође ћете добити коментаре. Коментари су важнији од скорова. Мислим да је сигурно рећи да. Резултати су само број од један до пет. Тешко је прочитати у њих. Тешко да се побољша од оних. Али коментари ће истаћи специфична ствари које сте урадили добро или подручја можете да побољша и дати вам неке идеје за будућност или алтернативне начине рада. Зато молим вас, молим вас, прочитајте кроз коментаре. Ставио сам доста времена у ови коментари. Молимо вас да прочитате кроз њих, а не само идите доле до дна ПДФ, потражите свој резултат, или идите на мрежи и пронаћи свој резултат, а затим игнорисати коментарима. То није како си бити боље. То није како ћеш повећати Ваши резултати на крају, само ако погледамо резултате. Молим вас погледајте ове коментаре. А дуж линије високих очекивања, опет, као што сам рекао, да може се постигао један од преко пет. Двојке, тројке и четворке су Већина резултата ћете добити. Јединице и петице су обоје заиста ретки. Увек има ствари можемо да урадимо боље. Кад год сам кодирају програм, ту је Увек сам нешто могло боље урадити. Дакле, уместо да кажете да сте добили пет све време о свему и урадили све савршено, ја не мислим да било од нас заиста верујем да смо - или надам се, не радимо све савршено све време. Дакле, немојте се забринути ако нису добили пет. Пет не пресликава, четири не пресликава на Б, три не не пресликава А Ц. То није како су резултати рада. Као Давид је рекао много пута, на семестар, крај све своје резултате и улаз од мене, твоја ТФ, долазе заједно и одредити коначну оцену за вас. Али опет, то није пет, , Четири, Б, и тако даље. Тако ћу имати велика очекивања за вас. Ја ћу да очекујем добру проблем сетови и ја ћу да дам ви као што су повратне информације. А то неће значити да си ће добити лошију оцену. Ти се оцењују у смислу Ваш напредак од недеље Од нуле до краја курса. И на крају, у смислу високих очекивања у класи, ја волим када људи учествују. Разумем неки људи осећају више или мање удобан учествују. Други људи учествују не подизањем руку и говорим све време. Али, ми у овој класи ће бити раде пуно малих проблема, много мини питања, а онда нека кодирање већи проблеми. Дакле, дефинитивно се ради ове вежбе када смо их радите на рачунару или на лист папира. Али ја ћу вам дати мало времена пре него што ико икада мора да одговори на нека од питања да питам. Па зато што ће вам дати времена да мислите о томе, јер ћемо да раде ствари у партнера понекад, Очекујем све да буде донекле ангажован. И у недостатку бољег израза, тамо ће вероватно бити хладно Цаллинг, који је место где ће сви имати прилику да размишљају о одговору, а затим Зваћу на тебе, а затим Ви ћете рећи одговор. Не брините, или се плаши о томе. Ја сам то урадио у прошлости, а ми смо нашли да је много успешнији, Такође прочитајте педагошка истраживања о томе да утврди да ли је или није било добра тактика. То је веома корисно, нарочито ако дају студентима времена да размишљају о одговори и не би их само доћи напоље и то кажем право ван палицу. Али, ако се не осећате пријатно одговор, ја сам прилично добар у осетивши да се, и ми нећемо ставља вас на лицу места, посебно на камера, иако нико од сте на фотоапарату сада. Дакле, то су норме имам. Још једна ствар на линији у сусрет у средини. Ја ћу вам дати момци много повратних информација. Молим вас дајте ми повратне информације, као добро. Има сајт, саиат.ме/цс50. Дакле, то је поштен повратна. Ако желите да га дам у одељку, Добијам е-маил кад год се то догоди. Ми ћемо да направимо паузу у мало, па ћу погледати кроз повратне тада. Ако сте икада имали било какву повратну информацију, молим вас дајте ми га тамо. Ако ми дају повратну информацију о К, то је дивно, али то је за употребу да радите на крају. Али то ће бити на крају семестра, тако Нећу бити у стању да било шта од тога повратне информације и укључите га у настави ви момци боље. Зато молим вас, ако имате било који повратна информација, дај ми је. Волим повратне информације. Назад на ФОП, добијамо повратне информације све време. Можете да ми плусева, добре ствари, делти, ствари могу да унапређују. Можете да коментарише моју одећу. То неће бити од помоћи, али ти си добродошли да коментаришу било и све. Молим вас, молим вас дајте ми повратне информације. Ја га ценим много и ит значи ми много. Још једна норма, забава. Ми ћемо имати много забаве. Надам се у овом курсу, ви ћете има много забаве. Имаћемо слаткише у секцији. Имаћемо музику. Ми се надамо да упознате једну други нешто добро, па ја желим то да буде забавно, ангажовање искуство. Знам да неки од вас су умрли у предавања које сте имали раније данас, тако да се надам да се неће сада бити случај. А ако је то сада случај, само не зато што хркање које могу бити ухваћен на камери. Слатки. Сва питања, коментари, или проблеми пре него што пређем на било шта што смо говорио? Велики. Дакле, ми ћемо ићи низова у првих. Ево како да направите низ. Видели смо то раније. Имате тип података, имате име, а онда су величине. Управо овде, да направим два потеза. Први је низ знакова, и има 26 места. Друга је низ резултати, и има три места за три цела броја. Да? СТУДЕНТ: Да ли су све ове слајдове доступна за нас негде? ЈАСОН Хирсцххорн: Одлично питање. Питање је било, сви су Ови слајдови на располагању? Да. Све ове слајдова ће бити на располагању, и у будућности, ја ћу да их е-поште ти пре секцији. Али данас, јер је ово први недеље, имали смо касно почели. Тако обично, добићете следеће слајдове, али они ће бити доступни и Ја ћу их е-поште за вас одмах после часа. Има ли још питања? Па опет, низови су кутије, због недостатка боља реч, да држе више елементи једне врсте података, и они су један поред другог у меморији. И опет, то је како можете да направити две врсте низова. Дакле, након што сте направили свој низ са да прва линија - инт резултат, носач три, затворена заграда - ти желе да га покрене. Желите да ставим неке вредности тамо. А ово је како сте ставили неке вредности у Управо тамо, бирајући индице и написмено. Хајде да ово нацртао на табли. Да сви виде? Свако може да види. Слатки. Дакле, то ће бити мој звао низ резултата. Као што можете да видите, то је величине три. Постоје три кутије унутра. Свако може да стане оно тип тип података? СТУДЕНТ: Интегер. ЈАСОН Хирсцххорн: цео број у овој. Написали смо инт резултате и прве речи је тип података који ће се иду у кутије у том низу. Тако да може да стане три. Зашто имам нула горе тамо на табли? Зашто пише скор нула једнако 1? Подсети ме на своје име. СТУДЕНТ: Курт. ЈАСОН Хирсцххорн: Курт. СТУДЕНТ: Да. ЈАСОН Хирсцххорн: Зашто? СТУДЕНТ: Зато што је први индекс нула, почињемо бројање од нуле. ЈАСОН Хирсцххорн: Па да почнемо рачунајући на нули. То је потпуно тачно. То је збуњујуће део и воља путовање ви се, поготово када сте покушава да вршите итерацију кроз низове, што ћемо урадити у мало. Почињемо рачунајући на нули. Дакле, ако желим да се односи на први кутија, то није једна кутија. Нажалост, то је кутија нула. Други је једна кутија, и то у случају, трећа је кутија два. Шта је са три кутије? Где је кутија три? Или ако желим да урадим резултате, брацкет три, затворена заграда, шта је то? Дакле, рекли сте нулл карактер. Све друге мисли? Шта је скор три конзола конзола? СТУДЕНТ: То заправо не постоји, јер дефинисан само ви као резултате, носач три. ЈАСОН Хирсцххорн: Дакле, ви кажете она заправо не постоји. У неким случајевима, када имамо посла са жице, обично ћемо ставити нулл карактер на крају. Доћи ћемо до тога у секунди. Али у овом случају, постоји овде нема трећа кутија. Дакле, последње поље у сваком низу величина је минус 1. Дакле, ако имамо низ величине н, Прва кутија је на нули, последњи је на минус 1 н. И у овом случају, не постоји. Постоји нешто овде у меморије али то није наше. Ми је не поседују. Ми нисмо тражили за то. Дакле, ако покушамо да јој приступе, које ћемо раде у мало, вероватно ћемо упасти у невољу. У овом случају, ја покретање МИ низ са три променљиве. Ми смо стављањем у једну кутију нула, два у кутији, а три у кутији два. Да ли неко има било каква питања о иницијализација низ? Отишли ​​смо у ово управо сада. Резултати носач, три, затворена заграда, да не постоји. Ми смо нула индексиран у рачунарству, тако да бројиш на нули. Последња кутија доступни нама, то је трећа кутија, али то се зове бок број два. Доле, ово је алтернатива начин иницијализација низова. Дакле, уместо стварања низ на један линија, попуњавање прву кутију, а затим Друга кутија, затим трећа кутија, можете да урадите све у једном реду. Дакле, у тој линији, оба низови. То ствара исти као и тачан низ оно што смо направили овде, али је Управо то ради у једном реду. Сада смо створили нашу низ. Обично када креирате низ, ви Желим да урадим нешто са њим, да ли то је да се попуни или се ствари од тога и одштампате их на екрану. У овом случају, ми идемо кроз наш резултат низа, који се иницијализује на први ред овде у сиво. А онда у другом реду, почињемо итератинг кроз низ. Да ли неко има питања у вези структура за петље? Дакле, ово је за петљу. Ми имамо почетно стање, а затим наше коначно стање, а онда смо Посматрајте, И, свака петље. И у заграда у овоме петља, шта се дешава ако су покренути овај програм? Може ли ми неко рећи шта ћемо добити? [? Мату? ]? Мату: Одштампајте све ноте на свакој линији. То би одштампајте сваку оцену на посебној линији. ЈАСОН Хирсцххорн: Шта је тачно би да се одштампа? СТУДЕНТ: То би одштампам, затим два, па три. ЈАСОН Хирсцххорн: Управо тако. То би одштампам, затим два, па три, свака на одвојеним линијама, јер идемо кроз низ и ви ћете видим да други, иф изјаве, резултати. Дакле, на првом кругу кроз нашу за петља, и једнак нули, што значи да смо добија вредност на резултат нула - који, ако се вратимо на наш дијаграм, је један - и попуњавање - ох, пише ц. То би требало да буде% д. Ја ћу то да средим мало кад у Сам руку да се са вама. Али вам представљамо цео број тако то треба да буде% д овде, не% ц. Оно што је за% ц? СТУДЕНТ: Карактер. ЈАСОН Хирсцххорн: Карактер, тачно. Који је други? Ако не желите да урадите д% за цео број, шта још можете да урадите? СТУДЕНТ: И. ЈАСОН Хирсцххорн:% И, тачно. Дакле, било каква питања о итератинг кроз низ? Дакле, шта се дешава ако смо то урадили? Уместо да сам мањи од три, радимо и је мање од или једнако три. Шта се дешава када смо покренули овај код? Да, Ени? СТУДЕНТ: Они ће одштампати чудне ствари у четвртом реду. ЈАСОН Хирсцххорн: Дакле, рекли сте, да је ће да одштампате уврнуте ствари на Четврта линија? Да ли неко има одговор на њено питање? Тако су шансе да, када дођемо до - па на четвртом колу кроз наш за петља, баш као што си мислио, Анние, то ће бити резултат три носач, који Већ смо схватили не постоје, а ми ћемо покушати и да приступите, одштампате се, на неки начин га користите. Дакле, рачунар ће вероватно се љутити на нас. Ти си потпуно у праву. Можда потпуно напусти програм. Можда одштампате нешто заиста чудно. Не могу да тврдим. Шансе су то вероватно ћете се љутити на ти и дао отказ одмах. Али то је уобичајена грешка да ћете имати где си недалеко од оног у крај, а то је грешка која ће куга вас током вашег кодирања. Један начин на који сам желео да урадим је само на табла, пролазе кроз сваку итерацију петље са стране или на папиру да види шта се дешава, а онда углавном схватају, ох чекај, не би требало су отишли ​​на мање или три једнака. Требао сам зауставио на два, што је шта се дешава ако је ваше стање је мање од три. Има ли питања до сада? Слатки. Дакле, сви имају своје рачунаре отворен. Ми ћемо вам дати два до три минута да напише програм који ствара низ целих бројева са једним кроз пет, а затим исписује сваки цео број у новом реду. А ако имате било каквих питања, подигне руку. Драго ми је да свратим. Као што сам рекао, хајде да три минута да напишем ово. Да ли су сви у реду ако одем у нови прозор и затвори ово? Жао ми је ако нисте имали прилике до краја, али ми ћемо то урадити заједно сада. Тако се на екрану, ја се укључују # цс50.х, # инцлуде стдио.х. Може ли ми неко рећи шта те две линије раде? Мајкл? СТУДЕНТ: Они укључују библиотеке ЦС50 и да је то Стив има сачуване за вас да користите за би ваш живот лакшим. ЈАСОН Хирсцххорн: Дакле, ви сте рекли да укључују библиотеке, један који ЦС50 направио, цс50.х, а онај који је Само стандардна, долази са Ц пакет, стдио.х. Како то мислиш укључују библиотеке, мада? Можете ли бити мало прецизнији? СТУДЕНТ: То чини тако да можете да користе одређене речи код да имају функционишу десити без потребе да се иде и да је ц функција сами. ЈАСОН Хирсцххорн: можете дај ми пример? СТУДЕНТ: Као принтф један је можете користити. ЈАСОН Хирсцххорн: Принтф. Дакле, рекли сте инт је један од оних Функције где уместо да написати принтф сами, иф је укључене у ствари у стдио.х, тако да могу само да га користе и преузму да ће радити. У стдио.х, ако се отворио тај фајл, ће обухватити како принтф радови, сви кода за инт? Зашто климате главом? СТУДЕНТ: Јер само заглавље датотеке укључује функцију декларацију. ЈАСОН Хирсцххорн: Управо тако. Заглавље датотеке садржи само функција декларација. Дакле, у основи, када се састави ово, ударио Марка бројања, које ћемо урадити у Друго, компајлер зна да ако принтф сте користили, иф постоји. То ће бити негде дефинисани. То није проблем да га користите. А онда касније, то ће укључити јединица и нула које заправо садрже принтф је имплементација и споји их са својим кодом. Како бисте били сигурни да укључује јединица и нула за, рецимо, добили низ? СТУДЕНТ: Гет стринг је у цс50.х. ЈАСОН Хирсцххорн: Добро. Тако да се каже да постоји низ, функција декларација. Али онда је јединица и нула, бинарна датотеку која заправо обухвата имплементација гет низа? Како бити сигуран да иде са својим програмом? СТУДЕНТ: Додај Линкови у аргумент командне линије. ЈАСОН Хирсцххорн: Пасс повезивач у аргумент командне линије. Како се то ради? СТУДЕНТ: То је линија-ја у кланг ЈАСОН Хирсцххорн: Управо тако. Кажете-л ЦС50, зар не? То укључује јединице и нуле. СТУДЕНТ: Али не чине то за тебе, зар не? ЈАСОН Хирсцххорн: Управо тако. Нека то ради за вас, али на крају, Нећете морати направити, или мораћете да Маке на сопствене, тако да је добра ствар за запамтити. Ако ћете да користите један од ових друге библиотеке, не само да имате да укључи и напише # затим библиотека. Такође је потребно да се повежете унутра А те две ствари су другачије. Л-ЦС50 је другачија # инцлуде него цс50.х. Онда имамо воид маин витичасте заграде, а сада ћемо код унутар главни. У првом реду имам овде коментар да каже, створити низ интс са једним до пет. Шта је добра реч да опише оно што сам имам сада на екрану, само коментари унутар главни? Шта ми то зовемо? СТУДЕНТ: Псеудокод. ЈАСОН Хирсцххорн: Псеудокод. Хвала ти, Јеффреи. То је потпуно тачно. Псеудокод. Јесте ли видели Псеудокод раније? Подигните руку ако сте користили Псеудокод пред проблемом један сет. Око половина вас. Топло бих препоручио коришћење Псеудокод проблема да се пробије у мањи, лакше да одгризе комада. Такође, ако урадите Псеудокод, ви имају своје коментаре већ увелико изграђена, тако да не морате да вратите и покушате да схватите шта сте радили. Дакле, може ли ми неко дати ову прву линију да створи низ са једним интс кроз пет година? Ви? СТУДЕНТ: Инт и онда можете да позовете год број, а затим квадрат носач пет. ЈАСОН Хирсцххорн: Па инт бројеве, заграда пет. СТУДЕНТ: Једнако, и онда витичасте заграде. ЈАСОН Хирсцххорн: равноправних, витичасте заграде. СТУДЕНТ: Један, два, три, четири. ЈАСОН Хирсцххорн: Један, два, три, четири, пет. СТУДЕНТ: И онда витичасте заграде и онда зарез. ЈАСОН Хирсцххорн: и коврџава протеза и зарезом. Одлично. Одштампајте сваки инт у новом реду. Може неко дати код мене то, молим те? [? Мату? ]? Само напред. СТУДЕНТ: За ( ЈАСОН Хирсцххорн: За ( СТУДЕНТ: инт и = 0 ЈАСОН Хирсцххорн: инт и = 0 СТУДЕНТ: Тачка зарез ја мање од пет. ЈАСОН Хирсцххорн: Тачка и зарез, И мање од 5. СТУДЕНТ: зарез, и + +. ЈАСОН Хирсцххорн: зарез, и + +. СТУДЕНТ: Затворена заграда, затим отворите браце. ЈАСОН Хирсцххорн: Затворена заграда и два протеза. Унутар заграда? СТУДЕНТ: А онда принтф "% д / н" ЈАСОН Хирсцххорн: Извини, сачекај. Принтф "% д / н, затворен цитат. СТУДЕНТ: И онда затворен цитат, зарез, тачка, заграда ја. ЈАСОН Хирсцххорн: Зарез, рачунају, носач ја. СТУДЕНТ: Извините, ја бројеви носач. ЈАСОН Хирсцххорн: Бројеви, носач ја. СТУДЕНТ: Извините. И онда затворена заграда, зарез. ЈАСОН Хирсцххорн: Затворена заграда, тачка и зарез. Ја ћу да спасе. Идемо да рачунају. И како да покренем рачунају? СТУДЕНТ: Обрнута коса црта. СТУДЕНТ: Дот косу црту - ЈАСОН Хирсцххорн:. / Рачунати, тачно. Хвала. /. Рачунати. Један, два, три, четири, на пет нових линија. Изгледа као да је радио. Да, Ноа? СТУДЕНТ: Такође може учинити мање или једнако четири, као и је мање од или једнако четири? Да ли постоји предност да раде мање од пет, или само другачији начин писање је? ЈАСОН Хирсцххорн: Дакле, питање које је могао да уради и је мања или једнако четири уместо и је мање од пет. Да ли би то радили исто? СТУДЕНТ: Требало би. ЈАСОН Хирсцххорн: Да. То је потпуно би радити исто. Стилски, то је генерално мање него, и видећете у секунди када радимо жице, можете да користите нешто зове стрлен, који сте видели пре, да се на дужину у низу. И не може да уради мање него или једнако стрлен. Можете да урадите, или мање од једнака стрлен минус један. Дакле, то је само лепше до мање од стрлен. Да? СТУДЕНТ: И у стварни квизове, до морамо да дају коментаре на нашем као и код? ЈАСОН Хирсцххорн: Питање је у квизовима, радите морају да дају коментаре? Дакле, ми ћемо говорити више о квизова када они се појаве, али генерално, добро правило је кад год сте писање кода, дају коментаре. Ако сте добили погрешан број, али је коментар у праву, можда ћете добити неки кредит и од мене ако сам био оцењивања ти на проблем сету или на квизу. Дакле, коментари су увек добро да се обезбеди. Слатки. Тачка. Одличан посао. Идемо даље. Стрингс. Стрингс. Видели смо то раније у предавању. Овај дувао мој ум кад сам Први је то сазнала. Вероватно не дува никога смета овде, али то је у реду. Стрингови су низови карактера, и они завршити, као што сте раније рекли, нулл терминатор, који ово / 0 карактер. Ако ћемо да нацртате на ниску табла, ми ћемо га извући овде. Па колико је то ниска? Извините. Колико је овај стринг? СТУДЕНТ: [ИНАУДИБЛЕ]. ЈАСОН Хирсцххорн: четири? Зашто је четири? СТУДЕНТ: Пошто пети спот је за НУЛЛ карактер. ЈАСОН Хирсцххорн: Дакле, пети спот је за НУЛЛ карактер. Дакле, ако сам био да ради на стрлен то, то би ми четири. Исправите. И низ, мада, ако би требало да покрене овај низ, колико размака Ја бих морао да тражим? СТУДЕНТ: Пет. ЈАСОН Хирсцххорн: Пет. Ја бих да питам за пет, али ја могу само ставити четири знака овде јер је потребно да се тај нулл терминатор на крају. Дакле, ми ћемо писати у "Охаи" и ставио нулл терминатор у на крају. Ми ћемо рећи да је ово ниска а ово једнако. Оно што је ова конзола нула? ова конзола нула, Ени? СТУДЕНТ: О. ЈАСОН Хирсцххорн: О, тачно. ова конзола један? ова конзола пет? ова конзола пет? СТУДЕНТ: не постоји. ЈАСОН Хирсцххорн: не постоји. Тачно у праву. Цоол. Сва питања о разумевању жице као низове знакова? У реду, онда. Још један програм за вас. Напишите програм који пита корисника за низ затим штампа се сваке лик у новом реду. Дакле, хајде да узмемо три минута да пишем Овај програм, а онда ћемо га кодирати као група. Извините. Да ли вам је потребно да видите ово? СТУДЕНТ: Не. ЈАСОН Хирсцххорн: У реду. Узмимо један минут да се код овог, или бар да почнемо на њему. Тако да можете наставити рад, али ја ћу за почетак иде кроз њега. Па као и пре, ја имам на екрану # Укључују цс50.х, # инцлуде стдио.х. инт маин празнину. Унутар заграда МАИН-а, ја имам два коментара, Псеудокод. Једно је питати за серију од корисника. Други се одштампати сваку лик у новом реду. Дакле Анна, можете ли ми дати питате за низ од корисника? СТУДЕНТ: Принтф. ЈАСОН Хирсцххорн: Принтф? СТУДЕНТ: Да. ( ЈАСОН Хирсцххорн: ( СТУДЕНТ: "дај ми стринг. ЈАСОН Хирсцххорн: "дајте ми СТР - Упс - стринг. СТУДЕНТ: / н ") тачка и зарез. ЈАСОН Хирсцххорн: Прекидање стринг, затворена заграда, тачка и зарез. СТУДЕНТ: Да. И онда следећи ред, ниска и = добијају ниску. ЈАСОН Хирсцххорн: Стринг и = добијају ниску. СТУДЕНТ: Да. А онда () ЈАСОН Хирсцххорн: () СТУДЕНТ: зарезом. ЈАСОН Хирсцххорн: зарезом. Фантастично. Тако ћу добити и ниску Идем да је сачувам у шта? Шта је променљива зове који сте креирали? СТУДЕНТ: Стринг с. ЈАСОН Хирсцххорн: променљива се зове ова. То је тип стринга. Тачно. Следећа ствар коју желимо је да одштампате сваки лик у новом реду. Ко може да ми да тај код? [ИНАУДИБЛЕ]? Можете ли ми га дати? СТУДЕНТ: Наравно. ЈАСОН Хирсцххорн: Хајде да то урадимо. И жао. Не бих да понављам оно што кажеш јер ти то све у праву, али ја морати да га поновите тако да када се транскрибује ово, могу да добију све текст се на транскрипција. Дакле, само да наставимо да разговарамо. Нажалост, имам да кажем да је над вама. Жао ми је, али - СТУДЕНТ: То је у реду. За инт и = 0 ЈАСОН Хирсцххорн: За инт и = 0 СТУДЕНТ: Ја мање него - ЈАСОН Хирсцххорн: зарезом. СТУДЕНТ: Пре тога, можемо ставити тако променљива да добијете инт име дужину? ЈАСОН Хирсцххорн: О, ви не желимо да ставимо тачку и зарез? ОК. Дакле, шта желиш да урадим после нулу? СТУДЕНТ: Ја желим да се Дужина низа од с и постављен је на променљиву? ЈАСОН Хирсцххорн: Ок, па како то да урадим? СТУДЕНТ: И ти инт = ЈАСОН Хирсцххорн: инт = СТУДЕНТ: С-Т-Р-Л-Е-Н. ЈАСОН Хирсцххорн: С-Т-Р-Л-Е-Н - СТУДЕНТ: е. Заградама. ЈАСОН Хирсцххорн: (а). СТУДЕНТ: И онда ја мислим да морате да стави зарез између две интс. ЈАСОН Хирсцххорн: зарез после нуле? СТУДЕНТ: Да. Затим ставити тачку и зарез после тога, и Ви кажете, ја мање од дужине. И мање од дужине, који је променљива. СТУДЕНТ: И онда зарез. ЈАСОН Хирсцххорн: зарезом. СТУДЕНТ: Ја +. ЈАСОН Хирсцххорн: + + и. То је наша за петља. ОК, унутра за петље. СТУДЕНТ: И онда инт. ЈАСОН Хирсцххорн: Принтф. СТУДЕНТ: заграде. ЈАСОН Хирсцххорн: загради цитира. СТУДЕНТ: Заграде, цитате,% ц / н. ЈАСОН Хирсцххорн:% Ц, у реду. СТУДЕНТ: / н. ЈАСОН Хирсцххорн: / н. СТУДЕНТ: Затворена цитати. ЈАСОН Хирсцххорн: Затворена цитати. СТУДЕНТ: Зарез. ЈАСОН Хирсцххорн: Зарез. СТУДЕНТ: С ЈАСОН Хирсцххорн: С СТУДЕНТ: Брацкет сам. ЈАСОН Хирсцххорн: Брацкет сам. СТУДЕНТ: а потом и затворена заграда. ЈАСОН Хирсцххорн: Затворена заграда. СТУДЕНТ: И онда зарез. ЈАСОН Хирсцххорн: зарезом. Фантастично. Па хајде да спаси ово. Маке спелл. Ох бои. Имам пар грешака. Прва грешка на линији 11, каже, Очекује израз, а то је давање ми грешка која друга инт, ту је грешка. Постоје неке грешке око тамо. Да ли ико зна шта је то грешка? Курте? СТУДЕНТ: Мислим да би требало да бити зарез, а не зарез. ЈАСОН Хирсцххорн: Ок, зарез уместо зарезом. Да ли је то све што је потребно да се поправи? СТУДЕНТ: Не. ЈАСОН Хирсцххорн: Шта још нам је потребно да поправите? СТУДЕНТ: Морамо да укључи стринг.х. ЈАСОН Хирсцххорн: укључује стринг.х. Где треба да укључи то? СТУДЕНТ: Исто место сте укључујући друге ствари, зар после укључују стдио.х. ЈАСОН Хирсцххорн: Да видимо да ли ово ради јер прво генерално, волим да поправи једну ствар прво, а затим покрените га, а затим видели грешке добијамо. Дакле, ми ћемо да обришете терминал са контролном н, хајде да направи чаролију. Дакле, још једна грешка на линији 11. Очекивани зарез. И даље сам све грешке на овој линији. Дакле, није дао ми грешку рекавши да не разуме шта је стрлен, али то ми даје грешке на ово линија, па шта није у реду? Марк? Маркус. СТУДЕНТ: Да ли треба да уклоните Други инт декларација? ЈАСОН Хирсцххорн: Уклањање други инт. Хајде да пробамо ово. Сада јасно терминал. Маке спелл. Грешка. Имплицитно изјављујући библиотеку функцију стрлен. Дакле, сада не видим ту грешку. Шта ми је потребно да укључите? СТУДЕНТ: Стринг.х. ЈАСОН Хирсцххорн: Укључи стринг.х, Урадићемо # укључују стринг.х на врх на екрану. Хајде да спаси, да пише. Сада саставио. Па опет, ствари које је потребно да запамти 12 на нашем за петљу када смо га постављање, инт и = 0, Дужина = стрлен (с). Ово је фантастична стратегија. Стил ово је супер, Дизајн је супер. Можемо да идемо у те разлоге касније, али на овај начин потребно је само да позовете стрлен једном, уместо сваки пут када покренете кроз петљу. Међутим, потребно је да се користи зарез и не треба поново инт. Ако изјављујући како оних променљиве заједно, ви не треба инт поново. И онда ако идете да користите стрлен, што је још једна библиотека функција није укључена у стдио.х или цс50.х, направити да ли сте укључили стринг.х. Курте? СТУДЕНТ: Па онда ако не треба да се рећи шта тип дужина је, да ли то значи да мора да буде инт? Ниси могао имати два различита типови тамо? ЈАСОН Хирсцххорн: да би могао да имају две различите врсте. Дужина је инт овде, ипак. Дужина је инт, јер је зарез и онда иста ствар. СТУДЕНТ: тако да се сматра да ће да буде исти као и онај први? ЈАСОН Хирсцххорн: Управо тако. Нећемо да се то уради сада, али може да садржи две променљиве на Иста линија користећи један тип података. Дакле инт к, и створити две варијабле. Дакле инт к, и, ако правимо да нам даје ми не користи променљиве к и и, јер их не користите. Дакле, стављајући празнину пре него је само фенси трик ако не користите нешто, да га користите. Али, као што видите, ја створити кии на истој линији са зарезом. То је стварање два цела броја тамо. Тако да, потпуно је могуће да се створи Две ствари на истој линији раздвојена зарезом. Хајде да се ослободи оних који, иако. Дакле, ту је магија. Хвала вам момци за то кодирање за нас. Нека буде још једном, покрените га. Дај ми стринг. [ИНАУДИБЛЕ], ви сте већину тога. Шта је ниска? СТУДЕНТ: Здраво. ЈАСОН Хирсцххорн: Здраво. Х-Е-Л-Л-О, сваки лик на једној линији. Изгледа сјајно. Хајде да пробамо поново. Увек ће да провери За угаоне случајеве. Шта је добар угао случај да проверим? СТУДЕНТ: број? ЈАСОН Хирсцххорн: број. Зато ћу ставити у 1, а штампа се 1. Она не тражи за писма, тако изгледа као посао бројева. Добар угао случај да проверим. Оно што је још један добар угао случај да проверим? СТУДЕНТ: празан стринг. ЈАСОН Хирсцххорн: Хм? СТУДЕНТ: Као празан низ. ЈАСОН Хирсцххорн: празан стринг. Дакле, хајде да не стави у било чему. А оно што се штампа? СТУДЕНТ: Ништа. ЈАСОН Хирсцххорн: Ништа. Изгледа као да ради. Можете пробати више предмета угао, али углавном бројеви, различити подаци сјајно да покуша, као и није ништа. Ништа, нула, негативи су увек велике ствари да покуша да те ствари Тест треба, ствари сигурно ћемо тестирати Проверите за и 50 ће тестирати. Сва питања у вези спелл.ц? Ок, хајде да се вратимо. Имам још један програм за да ви пишете. То се зове студентс.ц. Ово је програм који пита корисника за пет имена, а затим насумично бира и исписује једно од имена. Овај програм је мало укључени него претходне две смо писали, па зашто не бисмо пет минута да кодирају појединачно га, а онда ћемо код је као група. Овај програм укључује и неке ствари Можда нисте видели раније, тако да ако имате неко питање о томе, како се То урадим, подигните руку. Ја ћу доћи и указати вам у правом смеру. Али ми такође то раде, јер то ће бити добар начин да се уведу неке теме које су опасне. Тако то ради, зар не? СТУДЕНТ: Да. ЈАСОН Хирсцххорн: Кад год се окренете у Проблем сет, постоји много начина да се је, али су неки елегантан од других. Хајде да ускочите # Инцлуде цс50.х. # Инцлуде стдио.х. тап_п празнина, витичасте заграде. Унутар заграда, Имам два коментара. Први је, питајте Упутство за пет имена. Други је, насумично изабрати и штампају једно од имена. Дакле, хајде да прво једну, питајте упутство за пет имена. Ко је тражио упутство за пет имена и може да ми каже како да то урадим? Само двоје људи је први део. Троје људи је први део. Четири, пет. Томе, како си то урадио? СТУДЕНТ: Ти би прогласити низ а затим име, носач пет. ЈАСОН Хирсцххорн: Стринг поменемо пет конзолу. Дакле, шта је то ради линија, стринг име конзола пет? СТУДЕНТ: Ти би прогласити низ жице. ЈАСОН Хирсцххорн: Ово је низ жице. Колико ће Стрингс да се уклопи у ту? СТУДЕНТ: Пет. ЈАСОН Хирсцххорн: Пет. Одлично. Идемо да га зову имена, јер ћемо добити више оне. У реду, следећи? СТУДЕНТ: И онда сте имају за петље - ЈАСОН Хирсцххорн: За петљу. СТУДЕНТ: - за и = 0. ЈАСОН Хирсцххорн: фор (инт и = 0. СТУДЕНТ: зарезом. ЈАСОН Хирсцххорн: зарезом. СТУДЕНТ: Ја мање од пет. ЈАСОН Хирсцххорн: ја мање од пет. СТУДЕНТ: зарезом. ЈАСОН Хирсцххорн: зарезом. СТУДЕНТ: Ја +. ЈАСОН Хирсцххорн: + + и. СТУДЕНТ: а потом и затворена заграда. ЈАСОН Хирсцххорн: Затворена заграда, а затим неки витичасте заграде. Унутар заграда? СТУДЕНТ: И онда принтф. ЈАСОН Хирсцххорн: Принтф. СТУДЕНТ: Отворена заграда, име% д. ЈАСОН Хирсцххорн: Молим? СТУДЕНТ: Име. ЈАСОН Хирсцххорн: Име. СТУДЕНТ: И онда простор, а затим% д. ЈАСОН Хирсцххорн: име, размак,% д. СТУДЕНТ: А / Н, а затим затворена. ЈАСОН Хирсцххорн: Дакле назив, простор, % Д / н, затворене заграде. СТУДЕНТ: Зарез, и + 1. Жао ми је. Затворена цитат, а затим зарез, и +1. ЈАСОН Хирсцххорн: Затворена цитат, зарез, и +1. СТУДЕНТ: Да. И онда у следећем реду - ЈАСОН Хирсцххорн: и + 1. СТУДЕНТ: Да. А следећи слајд је имена и носач. ЈАСОН Хирсцххорн: Следећи ред је имена и носач. СТУДЕНТ: = гет стринг. ЈАСОН Хирсцххорн: = Гет - капитал Г-е-Т - стринг. Упс, извини. СТУДЕНТ: отворена, затворена заграда а онда - ЈАСОН Хирсцххорн: отворена, затворена парен. СТУДЕНТ: зарезом. ЈАСОН Хирсцххорн: зарезом. У реду, тако да се покрене низ жице, имена, и идите на фор петља, а пет пута одштампате неки тражити да кориснику и затим складишти пет Стрингс. Да ли неко има било прилагођавања на ово? Томе, мислим сви слаже са вама. Изгледа прилично добро. ОК. Зашто си радим +1, иако? СТУДЕНТ: Мислим, нема да, али и +1, тако да је Име један именовати пет. У супротном, то би било име нула да поменемо четири. ЈАСОН Хирсцххорн: Дакле, ви јесам +1 јер у супротном то би имало штампају кроз четири нуле, јер тако рачунари мислити, али људи стварно не читају тако. То је још једна ствар срешћете. Понекад када одштампате нешто кориснику, желећете да га мало лепши, а ради и +1 у овом случају је начин да се то лепше. Видим пет Твице, име стринг је пет, и је мање од пет. Ја знам где сте добили пет. Имаш од мене говори да пет имена. Али, ако желимо да се код мало робуснији, једна ствар ми могао да се овде, изван инт, можемо урадити нешто овако, # Дефине, па смо могли да имена 5. Дакле, у основи, где год пишем капитал Н, капитал, капитал П, Е капитал, словом, да ниска, она ће заменити да са 5 у кода. Или хајде да га зову - ми ћемо само зову БРОЈ. Тако сам дефинише све капе Број за 5. Сада кад год имам број 5, ја може да га замени све капе БРОЈ. А сад, ако желим да променим број имена, све што треба да урадите је да ово једна линија, линија четири, где сам # Дефине број 5, промените то на 10, или промени на 4. Када ваш код дужа, ниси ће запамтити сва места те ставио колико је имена сте желели, а у како би за вас да не пропустите један, ово је добар начин да се то уради, да пронађе нешто до врха и онда само тако да кажем свуда у вашем коду. Маркус? СТУДЕНТ: Да ли је то стилски приоритетан него глобално дефинисање константа н? ЈАСОН Хирсцххорн: Да ли је то стилски предност у односу на глобалном нивоу дефинисање константан н? Хоћеш да кажеш да би могао до, инт број = 5? СТУДЕНТ: Да ли они имају сугласника у Ц или не? ЈАСОН Хирсцххорн: Или цонст - у једнако. Дакле, ви једноставно кажете Глобална променљива? СТУДЕНТ: Да. ЈАСОН Хирсцххорн: Па стилски, нема нужно један прави одговорите, али обоје су то боље него само бацање ових случајни бројева у коду. Зовемо их Магиц Нумберс. Када погледам свој код или када неко чита кроз њега, они Не желим само ове случајних бројева које немају смисла. Чак је и број 26, који је обично број слова у алфабету, да је боље да се дефинише АЛПХАБЕТ до врха и сачувајте број 26 у том низу, ако то има смисла. Или о проблему је поставили, а не - опет, нисмо причали о томе у време, али уместо само бацање у 25 или 10 свугде, можете сачувате број 25 као квартала или 10 као ДИМЕ, и да олакшава ко год чита преко вашег кода на Разумем зашто сте изабрали тај број. И за вас, ако сте икада желели да ажурирате код, то чини мало робуснији. Да? СТУДЕНТ: Да ли се то дешава и код да буду на располагању за нас после? ЈАСОН Хирсцххорн: Све ове кодове да смо заједно написао- ће бити послата момци и доступан. Да. Дакле, пита корисника за пет имена. Насумично бирају и штампање једно од имена. Ко је ову линију? То је овде најтежи линија. Извини, Томе. Ти си стварно добар посао, али ово је нешто теже. Марко, само напред. СТУДЕНТ: Па прво, ти ћеш треба да укључи и стдлиб.х тиме.х. ЈАСОН Хирсцххорн: Дакле, ви кажете у врх, укључити још два библиотеке. Хоћеш да укључи С-Т-Д-Л-И-Б тачка Х, Стандардна библиотека, а шта је био други? СТУДЕНТ: Тиме.х. ЈАСОН Хирсцххорн: # инцлуде тиме.х. Дакле, то су два библиотеке. Сада претпостављам да ћемо се помоћу функције које се налазе у овим два, због чега је потребно да их укључи? СТУДЕНТ: Дакле, прво ти ће желети да напише сранд. ЈАСОН Хирсцххорн: сранд. СТУДЕНТ: (време (0) ЈАСОН Хирсцххорн: Извините. Сранд (време ( СТУДЕНТ: 0. ЈАСОН Хирсцххорн: 0. СТУДЕНТ:)), тачка и зарез. ЈАСОН Хирсцххорн: Још једна затворена заграда? Зарезом. Ја ћу само заменити Ваша нула са НУЛЛ. То ће учинити о истој ствари, али генерално, видећете НУЛЛ, који причаћемо о томе линија у секунди. СТУДЕНТ: Стилски боље? ЈАСОН Хирсцххорн: Генерално, људи право НУЛЛ, али иста ствар. СТУДЕНТ: И онда инт име. ЈАСОН Хирсцххорн: Инт име. СТУДЕНТ: = ЈАСОН Хирсцххорн: = СТУДЕНТ: Ранд. ЈАСОН Хирсцххорн: Ранд. СТУДЕНТ: () ЈАСОН Хирсцххорн: () СТУДЕНТ: Модуло број. ЈАСОН Хирсцххорн: Шта је по модулу? Карактер? Посто лик? СТУДЕНТ: Проценат карактер. Модуло број који сте дефинисали горе. ЈАСОН Хирсцххорн: Модуло БРОЈ. СТУДЕНТ: И онда зарез. ЈАСОН Хирсцххорн: зарезом. СТУДЕНТ: А онда нови ред, инт. ЈАСОН Хирсцххорн: Принтф. СТУДЕНТ: ( ЈАСОН Хирсцххорн: ( СТУДЕНТ: " ЈАСОН Хирсцххорн: " СТУДЕНТ:% с / н ЈАСОН Хирсцххорн:% с / н СТУДЕНТ: " ЈАСОН Хирсцххорн:% с / н " СТУДЕНТ: Зарез, простор имена. ЈАСОН Хирсцххорн: простор - СТУДЕНТ: Ох, претпостављам, оно смо да је овде? ЈАСОН Хирсцххорн: Ми смо га звали имена. СТУДЕНТ: отворена заграда, име. ЈАСОН Хирсцххорн: отворена заграда, име. СТУДЕНТ: Затворена заграда. ЈАСОН Хирсцххорн: Затворена заграда. СТУДЕНТ:) ЈАСОН Хирсцххорн:) СТУДЕНТ: зарезом. ЈАСОН Хирсцххорн: зарезом. Ок, хајде да спаси. Хајде да овај код. Студенти. Хајде да овај код. Студенти. Не / ученик.. / Студентима.. Наведи један. Ми ћемо рећи Давида. Име два, РЈ. Име три, Роб. Име четири, Лукас. Име пет, Џозеф. А онда се поново исписује Јосифа. Па да покренете ово поново. Пусти ме да урадим иста имена. Дејвид, РЈ, Роб, Лукас, Џозеф. И то ми је дао Давиду овај пут. Тако сам и урадио исту ствар, али то је ми је друга ствар, а то је јер, наравно, ми тражимо за рандом имена. Тако да мислим да, на основу од мене лутања по соби, да већина људи Вероватно се први део права, оснивање тог низа, а затим добијање сва имена. Говорим о линијама 10 до 16 година. Међутим, линија 18 до 21 су вероватно неке ствари које нисам видела пре, па идемо кроз то. Ова линија, сранд време НУЛЛ је у суштини - Жао ми је, хајде да прескоче линија, Ранд (). То вам даје случајан број, случајни цео број. А ако убица Ранд, која Многи од вас урадио - М-Н-Р-простор-Н-Д - у терминалу као што је овај, М-Н- простор-Р-Н-Д, притисните Ентер. Ти би дошао до приручника и би могао да гласи да је Ранд команда избацује нум псеудо рандом бајта после сетве број који Генератор једном. Дакле, то је опис. То је оно што чини Ранд, даје ти случајни број када зовете ту функцију. Нажалост, то није баш случајан јер ако само позовете случајни без да га неко семе, неке Полазна тачка, увек ће изабрати иста и користи формулу да одреди следећи. Дакле, ако ви позовете ранда, само ћу да вам исту ствар. То ће бити веома предвидљив. То није заправо ће бити случајан. Дакле, оно што треба да урадимо, је по Марцус упутства за мене, били су семе ранд нечим другим, што је оно што сранд функција. То семе Ранд са нешто мало више насумично него исте ствари, и сад је време за сетву са НУЛЛ, који је, само по обичају, струја време у секундама. Дакле, ви под претпоставком да су сви не ће да ради код на тачан Исто други, тако да је сигурно кладити да Време НУЛЛ ће бити другачији сваки пут када се овај код ради. Сигурно кладити да ће се на тај начин, сранд семе ранд са нешто другачије сваке једанпут. Дакле по конвенцији, када ми желимо случајан број, пишемо ову линију, сранд време НУЛЛ, да нам дају много више случајан семе, а онда ћемо покренути Ранд, која нам даје случајан број. Да? СТУДЕНТ: Да ли можете да кажете шта мислиш семеном? ЈАСОН Хирсцххорн: Семе као - Ранд па ће изабрати неки број и да ће користити неке формула да се тамо. Тако да ће почети са нечим а затим га претворити у нешто на основу искључивање те формуле. Ако сте увек дају исту ствар, увек ће га претворити у иста ствар. Тако да прва ствар коју дај то је семе. Дакле, желите да га дају нешто другачије да почне са, и тако то ће га претворити у нешто друго. И на крају, линија 20, ово се зове% модулу, а то је збуњујуће. То је нешто што је мало другачије овде да вам заиста не имају у стварном животу математике. Али, у суштини, када узмете дива Број и ви поделити у Ц, што се дешава са остатком? СТУДЕНТ: Постаје одсецају. ЈАСОН Хирсцххорн: То добија скраћени. Дакле, 20 подељено са 3 је шта? Шта то треба да се врате у ти, 20 подељено са 3. Извини, 10 подељено са 3. Шта да се врати на вас? СТУДЕНТ: [ИНАУДИБЛЕ]. ЈАСОН Хирсцххорн: 10 подељено са 3 само повратак 3, не 3 остатак 1. Дакле, оно што 10 модуло 3 враћа је само остатак, 1. Дакле, ако сте желели да знате шта 10 подељена од 3 заправо био, што би до 10 подељено са 3, да би добили 3, а онда би урадио 10 по модулу 3, и да ћеш добити 1. Дакле, схватили бисте да је 10 подељено са 3 је 3, остатак 1. И у овој линији, Ранд могао бити било који цео број, у суштини. Дакле, по модулу каже, да је подели број, што је у овом случају 5. И ако сте икада поделите са бројем, цео број увек мора да буде мањи од тај број. Дакле, ако сте одвајајући број 5, остатак ће увек бити нула до четири. То је само начин математика функционише. Дакле, велики број мањи од модулоед број ће се увек вратити Остатак ће се увек вратити и неке број који је мањи од броја вас подељена. Да ли неко има питања у вези модулу, јер ће доћи у веома, врло згодан, тако да желим да се уверите сви га разуме? Цоол. И видели смо да је овај програм радио. У реду, идемо даље. Дакле, следећи, да ћемо ићи у функције, а ми ћемо да идемо кроз остатак ове ствари прилично брзо јер желим да се на аргументи командне линије. Тако су у суштини функције, Као што сте видели, црне кутије. Они се у ствари називају параметрима, они учине нешто за њих, или променити их или направите неке нежељене ефекте, и на крају, они пљују нешто је, што је повратна вредност. Може ли неко да ми један разлог Зашто бисмо користили функције? Има ли кога? Један од разлога зашто смо се коришћење функције? Било ко? Видео сам две руке. Шта је добар разлог? Маркус? СТУДЕНТ: Ако морате да позовете исто комад кода више пута. ЈАСОН Хирсцххорн: У реду, ако је потребно да позивају исти комад кодирају више пута. Џеф, да ли сте имали неки други разлог? СТУДЕНТ: Само да можете кодирати мање. ЈАСОН Хирсцххорн: можете кодирати мање. Право. Ако желите да урадите нешто више - у претходном коду, могао сам пише се стринг пет пута, али за петља чини да изгледа лепше и морате написати мање кода. Функције су слична идеја. Ако желим да уради исту ствар много, преместите га на функцију и позива да функционише сваки пут. То ће урадити ту ствар за вас. То је добар разлог за коришћење функције. Дакле, анатомија функције. Функција ће генерално изгледа овако. Он ће почети са повратном типу, онда ћете добити име. Требаће аргументе, у супротном познат као параметре, а унутар те витичасте заграде, ви ћете написати свој код. Видели смо једну функцију много. То је главни. Овде је главни суперпонира на анатомија да сам имао раније. Шта инт овде значи? Шта значи инт? Када пишем инт маин (). СТУДЕНТ: Повратак тип? ЈАСОН Хирсцххорн: Молим? СТУДЕНТ: повратни тип. ЈАСОН Хирсцххорн: Инт је повратак тип, потпуно тачно. Главни враћа инт. Шта је главни? СТУДЕНТ: Име функције. ЈАСОН Хирсцххорн: Главни је име функције. Тачно у праву. А празнина? Шта је празнина у загради? СТУДЕНТ: Није потребно свака екстерна вредност. ЈАСОН Хирсцххорн: Па воид - у праву. Унутар заграда, ми смо ставили параметри или су ријечи функција прихвата, шта се у црној кутији. Када пишете празнину, говориш ово се ништа унутра Дакле тап_п празнина значи да главни не узимајући ништа за Унутар заграда, имамо неке број, а онда ћемо видети на крају врати нулу. Шта значи повратак нула значи? Па, разговарали смо о повратног типа. Главни мора да врати инт. То је ова линија ради. Она враћа инт, нула. Наравно, нисмо видели да је много јер у програмирању радимо са машине радимо и састављачи ми данас користимо, те не треба ту линију. Главни је посебан довољно да зна када стигнете до краја главни, само врати нулу ако је све добро прошло. У ствари, ако нешто не иде добро, Главни често ће вратити другачији број означава да је нешто отишао у реду са вашим програмом. Па углавном кад видите код, не пишу повратак нула, али је добро да зна да се то дешава иза сцене, јер кад год пишете други тип функције, ћете морати да укључују повратну линију. Ако кажете ја ћу врати инт, морате да напиши нешто врати. Ако кажете празнина се овде у почетак, воид маин, за пример, онда то не враћа ништа - празнина не значи ништа - тако да не морате ту линију повратка. Али сте икада написати нешто што је воид за повратног типа, потребно је линија која каже повратак и тебе Треба да се стави нешто тамо који одговара врсти. Сва питања у вези тога? Слатки. Обим. То је нешто што смо дотакао као добро. Свака променљива, као што знамо, има одређени обим, а то је у основи говори о томе где променљива може или не може се наводити. И ја волим да кажем шта се дешава у заграда остаје унутар заграда. Тако на пример, ако погледамо овај код, смо дефинисање глобалну променљиву ван главног, инт, овде на врху. Зовемо други инт главни унутра. Имамо неке више витичасте заграде, и зовемо још један инт. Имамо троје је у коду. То нису иста ствар. Направио сам три различите променљиве. Затим унутар ових унутрашње коврџавом заграде, ја кажем а = 4. Који је то говорио, Први, други, или неко трећи? СТУДЕНТ: трећи. ЈАСОН Хирсцххорн: То је прича о трећем. Све то је у ствари може бити говори у овом конкретном пример зато што је њихов обим све иде у ове најдубље заграда. Међутим, кад се ствари зову исто име, постоји нешто што се зове крије. Тако да само се баве или поправити или користите Најновија променљива, или један најближе. Дакле унутра, овај трећи је најближа до те линије, = 4, па је утиче на трећу. И последњи ред, = 2, што је да говоримо о, први, други, или треће? СТУДЕНТ: Други. ЈАСОН Хирсцххорн: То је прича А о другом. Наравно, трећа је најближи је у коду, али трећи не постоји изван ти витичасте заграде. Када дођете до тог затвореног коврџавом браце, то је као да га нема, суштини. Дакле, само две које сте оставили су они Прва два, и наравно, сада је најближе што се другом. Дакле, то је добра ствар за сећате обиму. На пример, ја сам сигуран да сте наишли ово уради док петљи. Ако иницијализација променљиве унутра док се петља, а онда покушавате да приступ је напољу, вероватно Имам мало упозорење као, ово променљива не постоји. То је због обима идеју, да ствари постоје само унутар тих заграда. Заграда су као дивовски загрљај који дајете у коду, је још један начин да се размишља о томе. Дакле, ово је још једна функција, нешто за да ви, код хеллофунцтион.ц. Ми ћемо прескочити да за сада, али ово је нешто што вас подстиче да вежбају сами. Написати програм у коме главне позива друга функција да исписује поздрав за корисника. То је у основи узимајући хелло свет апстраховања и да у принтф другу функцију. Али нећемо сада то да право јер немамо толико времена оставио као што бих волео. Дакле, функција декларација. Видели смо то и раније. Ако желите да пишете још једну функцију, потребно је да се рачунар и знају Главни знају да постоји. Дакле, оно што се горе је главни, пишемо повратни тип, назив, и параметара, а затим доле главни, овде, заправо копирате ту линију а затим написати стварни код. Дакле овако, ако позовете функцију у главни на врху, зна да је главни Здраво постоји, на пример, да сам да позове здраво, а онда изгледа да имплементација доле. Шта се дешава ако се не укључују ово линија до врха, поништити здраво (воид)? Ако не укључују ову линију и главни позиви здраво, ја сам ће добити грешку. Ја ћу добити грешку зато компајлер не зна да ово постоји. Ово је слично због чега смо # не укључују цс50.х. Шта у суштини цс50.х ради ставља се ниску горе. То ставља се инт тамо. То је стављање свих тих функција прототипа пре него што главни, тако да када да их зовете у главни, главни зна да ове ствари постоје. То је оно што они раде. Х датотеке. И тако, ако идете да направите сопствени функцију, морате бити сигурни да се тај прототип тамо. Сва питања у вези са тим до сада? Аргументи командне линије. То је оно што ћемо да завршимо на, а затим Надам се да ћемо провући у неким псет. Ја не знам да ли ћемо моћи да постигнемо да због времена, али са вама момци који су ту, а ако момци желе да кажу за мало после, ми смо могу да иду преко ње напоље. Али, ми ћемо завршити са аргументи командне линије у последњих 15 минута. Ми смо будни, Мајкл? Ти си будан? Добро. Ја не знам да ли спавате са затвореним очима. Било би незгодно. Аргументи командне линије. Они су један од начина да се проследе информације у програм. На крају, ми ћемо наићи на друге. Али, у суштини, ми ћемо престати писање инт маин (), ако желимо да да неке аргументе командне линије. Идемо да напише ову ствар зове маин (инт аргц, стринг аргв, заграде. То је збуњујуће. То је много писама које нису у људски енглески, па ћемо распаковати их одмах. Аргц представља аргумент тачки - и опет, све то ће бити доступни на интернету - и да је број аргумената. Аргв представља вектор аргумената, и они су сами аргументи. То је низ стрингова. Стварно смо видели низ жица до данас. Направили смо једну у последња Програм смо кодирани. Дакле, ево примера. Ја пишем. / Охаи ЦС50 секција на мојој командној линији. Аргц у овом случају износи 3. Аргв 0 носач је охаи, аргв конзола 1 је ЦС50, аргв носач 2 је секција. Опет, аргц је број аргумената, путовање и да Вам се мало битни, ми смо увек рачунати име функционишу као први аргумент. Дакле, у овом случају, постоје три аргументи, име функције а онда оне две које сам унесе Даље, ми идемо да се оне сачувају аргументи се у аргв. И опет, као што смо раније видели, ми смо урадили у последњем програму кодирани. Можете да се крећу кроз низ аргв и да те везе. То је у суштини оно што смо урадили у крај нашег последњег програма. Изабрали смо случајни име, а затим је отишао у имена носач год и штампа се низу налазе тамо. На врху само једном низу, јер жице сами су низови, као говорио, можете имати низове низова, који је у суштини оно што је аргв. Један од начина можете да размислите о ово је редове и колоне. Ја могу да скренем то право. Тако аргв - то није брисање. Направимо под Охаи. Дакле, ако сам написао, охаи ЦС50 одељку, Идем да скратите одељак у овом примеру. Али у суштини, мој вишедимензионални низ, охаи ЦС50, ћемо урадити секту. Па ево, ја могу да приступе - ако само дам аргв један број - ово није у реду. Шта није у реду на овој слици? СТУДЕНТ: почиње од нуле. ЈАСОН Хирсцххорн: То би требало да почети од нуле. Вероватно треба да се ротира, али пошто сам га већ исцртана, ја сам ће га оставити тамо за сада. Али то почиње од нуле. Тако је. Жао ми је ако је ово мали. Можете ли какав видео? Дакле, ако ја аргв 0, ја ћу добити све Охаи. Ако урадим аргв 1, ја ћу све ЦС50. Ако урадим аргв 2, ја ћу све секте. Али сада, као што смо рекли, жице низови сами. Па шта ја могу да урадим је да се лечи као вишедимензионални низ, и ја може да уради нешто на линији аргв 0, 0, што ми даје само 0 карактера. Аргв 0, 1, што ми даје само ч. Аргв 1, 3, што ми даје само ово 0 овде у ЦС50. Зато јер сами Стрингс низови, стављамо да је у другом низу. Сада имамо низ низова, и ми смо може да индексира у првом низу и затим индекс у наш други низ. И као што бисте очекивали, ми то радимо за само стављањем та два - радимо управо угласте заграде право један поред другог. Дакле, у овом примеру, аргв 1 је ЦС50 и аргв 1, 2, као што смо рекли, само 5. Да ли неко има питања у вези вишедимензионални низови? Момци раде одлично. Слатки. Дакле, имамо још један програм овде, и то је последња ствар да смо урадити одмах. Зато желим да напишете програм који узима пуно име неког корисника, а само два два аргументи командне линије, и на крају, одштампате поздрав Корисник који садржи њихово име. Па зашто не узмеш три или четири минута да се то уради, а онда идемо преко тога као група, и онда ћемо завршити? И опет, ту, кад кажемо изводи пуно име корисника по опису овог проблема, требало би да буде команда линија аргумената, не користи се низ. Да, Марцус? СТУДЕНТ: Дакле, када кажете два командна линија аргумената, јесте да поред . / води, или - ЈАСОН Хирсцххорн: Добро питање. Да, укључујући и / бекству, три. аргументи командне линије. Или укључујући и / персонализована., У овај случај, јер је то Име овог фајла. Тако аргц би три. Али желим само два аргументе дати програм. Треба навести да. Ја ћу се промена пре него што сам пост ово и послати их на вама. СТУДЕНТ: Шта ако се има средње име? ЈАСОН Хирсцххорн: Ако имате средину име, ти среће. Жао ми је. Или ако само иду по Шакира, Такође среће. Да? СТУДЕНТ: Дакле, када људи немају цс50.х, они дефинишу аргв као цхар аргв стар? Или се још увек зове стринг аргв? ЈАСОН Хирсцххорн: Да. Тако ниске, опет, ми маску на шта Управо се ту дешава. То ће бити можда распакује у среду, али ускоро. То је као тренинг точкова. Јер у суштини, то је иста ствар. Па хајде да још који минут да се програм овај, а онда ћемо ићи преко то као група, а затим као што сам рекао, завршити. И ја мислим да су још екстра бомбона, па ви треба надам се предузму да, и молим вас да. Жао ми је ако сте још увек пише, али желим да зароните и ми да завршимо заједно. Зато сам написао у, # инцлуде цс50.х, # инцлуде стдио.х. инт маин (), коврџава браће, коврџава браце, унутар три линије Псеудокод, узети пуно име корисника, два и само два командна линија аргументи, одштампате поздрав Корисник који садржи њихово име. Дакле, прве, узети пуно име корисника се. Ко може да ми помогне да предузме пуно име корисника се? Како да то урадим тај део? Сте радили тај први део? Узми пуно име корисника. Па, за то једна командна линија аргумент, шта да пишем? Шта би требало да о промени моја функција декларација? СТУДЕНТ: Не желиш да буде неважећи више. ЈАСОН Хирсцххорн: Управо тако. Не желим да буде неважећи. Шта то желиш да будеш? СТУДЕНТ: инт аргц. ЈАСОН Хирсцххорн: инт аргц. СТУДЕНТ: Стринг аргв. ЈАСОН Хирсцххорн: Стринг аргв. СТУДЕНТ: Брацкет, конзола. ЈАСОН Хирсцххорн: Брацкет, конзола. То је потпуно тачно, и то је заправо како ћу добити пуно име корисника се. Они ће да га стави тамо. Тако да је један урадио. Сада желим само два и два аргументи командне линије. Дакле Ноје, који је један начин могу проверите број команде линија аргументи имам? СТУДЕНТ: Ви урадите ако саопштењу. ЈАСОН Хирсцххорн: Ако изјава, тачно. Шта хоћу као услов? СТУДЕНТ: Ако аргц веће од 3. ЈАСОН Хирсцххорн: Ако аргц је већи од 3. Ако аргц већи од 3, шта да радим? СТУДЕНТ: Повратак 1. ЈАСОН Хирсцххорн: 1. Повратак. Да ли ће то обезбедити имам само два и два? СТУДЕНТ: Не. Ако аргц је већи од 3 и мање од 2. ЈАСОН Хирсцххорн: Ако аргц већи од 3 и аргц је мањи од 2. Шта је један начин да пишем ово само једна линија, или без њега Булова и оператера? СТУДЕНТ: То није једнако 2. ЈАСОН Хирсцххорн: Ако аргц није једнако 2. Тачно. Дакле, ако аргц није једнако 2, који ће ми овај програм, персонализоване, када га покренете, и да ће ми дати колико аргументи командне линије? Колико ћу проверити? Извините. Дозволите ми да дословце поновити. Ако аргц = 2, колико је учинио корисник пише у линију? СТУДЕНТ: Један. ЈАСОН Хирсцххорн: Само један. Дакле, пре него, били сте у праву, Ноа. Шта ми у ствари треба да се стави тамо? СТУДЕНТ: То износи 3. ЈАСОН Хирсцххорн: аргц није једнако 3.. Желим да износи 3 јер желим персонализоване плус друга два. Дакле, ако аргц није једнак 3, 1 врати. Зашто сте рекли вратили 1? СТУДЕНТ: Зато што значи да је то погрешно. ЈАСОН Хирсцххорн: То значи да је у реду, и шта ће то урадити? СТУДЕНТ: Ре-Питај корисника. ЈАСОН Хирсцххорн: То ће престати програма, тако да ће морати да ради опет, али немамо ништа овде да питам за њих поново. Нисам питао за то. Дакле, то је сасвим тачно. Повратак 1. само отказ програм. Велики. И одштампате поздрав за корисника који садржи њихово име. Како то да урадим? Ана? СТУДЕНТ: Принтф. ЈАСОН Хирсцххорн: Принтф. СТУДЕНТ: (" ЈАСОН Хирсцххорн: ( СТУДЕНТ: "здраво ЈАСОН Хирсцххорн: "здраво СТУДЕНТ:% с ЈАСОН Хирсцххорн:% с СТУДЕНТ: / н ЈАСОН Хирсцххорн: / н СТУДЕНТ: ", ЈАСОН Хирсцххорн: ", СТУДЕНТ: аргв ЈАСОН Хирсцххорн: Молим? СТУДЕНТ: аргв ЈАСОН Хирсцххорн: аргв СТУДЕНТ: Трг 1 заграде. ЈАСОН Хирсцххорн: Правоугаоне заграде? СТУДЕНТ: 1. ЈАСОН Хирсцххорн: 1. СТУДЕНТ: И) тачка и зарез. ЈАСОН Хирсцххорн:) тачка и зарез. Хајде да ово води. Маке персонализована. / Персонализована.. Само отказ. Зашто је престао? СТУДЕНТ: Ниси ставио никакве аргументе. ЈАСОН Хирсцххорн: Нисам ставити аргументе за Изгледа сјајно. Ви га закован. Па опет, ви сте отишли ​​у аргв и вас проверава на почетку аргц. То су две важне ствари које треба запамтити. Дакле, у нашим последња два минута пре него што оду, нећемо доћи до псет два, али као што сам рекао, ако желите да останете после за 10 минута, ја бих је радо иде више са вама логику за ове проблем поставе. Имали смо много тога да урадимо данас па нисам се њима. Генерално, ја волим да се укључи да на крају. Дакле, ако желиш да останеш, држати око 10 минута. Ми ћемо то урадити. А онда, као што сам поменуо на почетку, псет нула и један, добићемо да Повратне информације назад на вас као је пре могуће. Циљ је да се псет једну повратну информацију, коментари део, пре него што је због два псет. Дакле, ако сте направили неке грешке или стилски, ствари могу бити боље, ћете имати ту информацију, тако да не раде исте ствари у псет два. А онда у будућности, ви ћете добити све вашег псет повратне информације и коментаре уназад пре него што следећи је последица. На крају, ако бих могао да стави у други утикач за повратне информације. Ово је ваш први одељак. То је био мој први одељак предајем ове године. Иди тамо. Напишите ствари, добро и лоше, и ја ћу га користити да би секција боље следећи пут. И на крају, опет, ако вам је потребна нешто, јавите ми. Ја сам више него срећан да вам помогне да момци. Ако само желите бомбона, ја ће имати додатни слаткише. Драго ми је да ти је донесем. Ово ће бити невероватна курс. Ово је један од, ако не и мој омиљени Наравно, узео сам у целом свом животу, и надам се да ће бити тако дивно за вас. Дакле, желим да урадим све што је у мојој моћи да би се то одлично за вас. Идем да пошаљете е-маил, ако сте у мојој секцији или Ноа, ће покушати и распоред са сваком од ви је време да проверите у преко Следећих неколико недеља, тако да могу добити осећај шта ваш позадина ЦС је, а такође ће помоћи да мери ове секције да боље одговара вашим потребама. Дакле, то је оно што ја имам постројени. Опет, видимо се напољу Ако желите да будете тамо. То је било две недеље секција. Хвала вам момци пуно.