ЗАМИЛА цхан: То је мени, Замила.
Данас у Марио, ми ћемо бити цртање пола пирамиде за Марио
да се попне горе.
>> Дакле, хајде да причамо о нашим да-до-а за овај проблем.
Ми ћемо желети да подстакне и потврди
корисник за важећи унос како Висок желе Марио пирамида да буде.
А онда ћемо да га извући.
Па хајде да почнемо са подстицања и потврђивање корисника за њихов допринос.
>> Можемо користити карактеристику ЦС50 Библиотека Функција
гет инт који ће обезбедити да корисник уноси цео број.
Било позитивни цели бројеви, негативни цели бројеви, број 0 су сви фер игра.
У супротном, корисник ће бити затражено да понови док не унесете важећи интегер.
Сада иако гет Инт ради пуно посла за нас
у обезбеђивању да корисник нам даје цео број,
тек треба да примене неке додатна ограничења на то.
На крају крајева, не можемо имати Марио пењање пола пирамида висине негативног 12.
>> Поред тога, problem спецификација
каже да само можемо дозволити да се попне Марио
пирамида од висине између 0 и 23.
У реду, а то значи да нам је потребно континуирано питати корисника
да нам ваљан број и настави само
Једном су нам дали важећи висину.
Како то да урадимо?
>> Па, континуирани процес нам дати идеја лоопс-- уради нешто
понављаног.
Једна петља ин Ц као време петља која ће континуирано
извршити тело петље све док дату услов има вредност труе.
Чим таквом стању вредност фалсе,
програм ће наставити да што долази после тога.
Дакле, док петље су један од начина осигуравајући да непрекидно
питати корисника за важећи унос.
И кад су нам валидан улаз, ми ћемо наставити да све што следи.
Знамо да ћемо питати корисник за унос најмање једном.
Дакле, сада долазимо до сестра док петља, која је радила док петља.
>> До вхиле петље ће извршите тело петље барем једном.
Дакле, без провере стања, она ће извршити тело петље.
А затим проверите стање да види да ли је потребно да се понови.
Ово долази до изражаја када ми потврђивање уноса корисника.
Знамо да ћемо да их питамо бар једном.
Тако да раде док петља могао изгледа отприлике овако.
Имамо број н.
И унутар До док петље, одмах смо
питати корисника за цео број.
Ако је н неважећа, онда ћемо их навести опет и опет и опет док не
дај нам да важећи цео.
Коначно, када је н важи улаз, ми ћемо наставити до краја нашег програма.
>> Дакле, да се вратимо на спец и провере који су услови за важећи унос
ће бити.
Важећи висине ће бити између 0 и 23, закључно.
Па неважећи висине ће бити мање од 0 или више од 23.
Запамтите да дизајнирају ваше стање пажљиво,
знајући да је стање за радити док петље
треба да буде а н је неважећи.
Сада то неће бити Једноставно један Булова израз.
Ми ћемо морати да комбинују два различита израза
да читав наше стање.
>> Дакле, хајде да погледамо табелу истину сам Већ ти дао наслутити да смо
ће се бавити два боолеанс.
Дакле, овде је сто истина где сам Имам два Боолеанс-- логичку 1 и 2.
Дакле, имамо могућност да процени боол1 и боол2 или боол1 или боол2.
И само да ће бити истина ако обоје Боолеанс процењују да истина, а све
или ће бити тачно докле год један од два боолеанс вредност труе.
У реду, тако да одвојите мало времена, паузирам ово видео и варе ову табелу истину.
Ја ћу бити овде чека.
Када се вратио, види ако се склопе
Логичка израз за своје стање н је инвалид улаз.
>> Дакле, сада имамо важи корисник улаз, хајдемо
само напред и разговарају о томе како може привући пола пирамиду.
Овде у овом једноставном текст едитору, Ја сам нацртао лево поравнати пирамиду.
Али ми знамо да нам је потребна наша пирамида да се десно поравнати.
Како би ово радим?
Па, можда покушати да прогурају све у страну
од само стављањем мало карактер између.
А онда, за следећи линија, ја ћу ставити
још неколико знакова да је пусх заједно, и фуртхер-- тако даље, и тако фортх--
док не добијем прави поравнати пирамиду.
Дакле, имамо прави алигн пирамиду, али то не изгледа тако велика са тачкама.
Али ми и даље желимо да задржати тај леп размак.
Па ћу буквално убаците неки простор.
>> Уместо три тачке, ја ћу пут један, два, три простора.
На другом реду.
Ставићу један, два простора.
И на претпоследњем линија, само један простор.
И овде имам прави поравнати пирамиду.
Да то пример у тексту уредник, имамо идеју за узорак
да ћемо користити за цртање пола пирамиду.
За сваки ред, оно што смо урадили је да унесете неке просторе,
а затим откуца неки хешева, а затим откуца
тастер Ентер, који ствара нову линију.
Дакле, сада имамо да идемо један корак даље и наћи образац.
>> Па ћу рећи, за интерес овом примеру,
имамо посла са висине од 8.
Први ред ће имати два хешеве да следи седам просторе.
У секунду-- три хешеве, шест простори.
Треће ров-- четири хешеве, пет спацес-- тако даље и тако даље
док не дођемо до НТХ ред.
Па онда, молим вас за н-ти ред, колико се хасхови ћемо имати
и колико простора?
Тако да је на вама да смислимо Формула за представљање како многе хасхес
и колико простори су потребни за н-ти ред кад имате неку висину.
>> Сада када сте рачунајући ово, будите пажљиви како се индексира.
На шта мислим ово је да у свакодневном животу свих нас
почети да броји, обично 1.
Али у ЦС50 и рачунарских наука генерално, ми смо 0 индексирани.
Дакле, први ред би био Н о 0 за разлику од 1.
Пазите на то када си покушавам да схватим ваш образац.
Дакле, хајде да се вратимо на то како ћемо скренути нашу пирамиду.
За сваки ред, ми ћемо желети да принт просторе, принт хешеви,
а затим штампати нову линију.
Наговештај овде је реч "за" сваком реду.
Ин Ц, имамо конструкт назива за петљу,
који се састоје од иницијализација, услов, ажурирање,
и тело петље.
>> Да сам хтео да кажем, здраво свет, 50 пута, на период од петље
би изгледао отприлике овако.
Ја инитиализе мој цео на 0.
Услов је да је мање од 50.
А онда је мој ажурирање само инцрементинг И по један сваки пут.
Такође могу користити за петље да прелазили преко ствари.
Приметити овде како нисмо фиксирани број,
већ постављени променљиве висина уместо у стање.
Дакле, шта ја радим овде се ја итератинг у сваком реду пирамиде.
Могу да урадим нешто за сваки ред унутар тела мог петље.
>> Шта радимо унутра тело петље?
Па, као што смо већ рекли, ми смо штампање простори и ми смо штампање хасхес
и ми штампање нову линију.
Тако да је моја спољни фор петље ће изгледати овако.
Ја прелазили преко сваки ред пирамиде, користећи,
у овом случају, висина као променљиву који чува висину пирамиде.
Унутар тела тог петље, ја сам łтампања простора у више наврата, штампа
хешеви у више наврата, а затим штампати нову линију.
>> Тако да сада, користећи све концепте које Ја сам говорио о овим шетање кроз,
требало би бити у стању да подстакне корисника за улаз, потврди да је улаз,
а затим извући пола пирамиду.
>> Моје име је Замила, а то је ЦС50.