>> [Музика свира]
>> РОБ БОВДЕН: То сам ја, Роб.
Прошетајмо кроз хов да спроведе Марио.
Дакле, прва ствар коју треба да урадите је питати корисника за унос.
>> Морамо да их питам како тачно висок пирамида би требало да буде.
Дакле, овде видимо да радимо висина = Затамњена.
И запамтите да функција Затамњена се реализује у ЦС50
библиотека, па до врха, морамо да запамтите да # инцлуде цс50.х.
>> Па зашто смо ово умотан у до-вхиле петље?
Па, ми такође треба да запамтите да Унесите корисника мора да важи.
Шта је неважећи унос?
Па псет спецификације изричито каже да висина мање од 0 или веће
од 23 је неважећи.
>> Дакле овде, видимо да смо дефинисања константа назива МАКС_ХЕИГХТ са
вредност од 23.
Овај уради док петља ће се наставити док висина је мање од 0 или је МАКС_ХЕИГХТ
мање од висине, што значи да 23 је мања од висине.
Дакле, ако је висина 24 или већи, ми смо наставити лоопинг.
Запамтите да уради док петље су прилично помоћи кад год желимо да се
корисник улаз и потом га потврди, јер ми неминовно морати да пита корисника на
најмање једном у вредности коју желе.
>> Дакле, када имамо свој допринос, ми Сада могу да изграде пирамиде.
Један од трикова овог проблема постављених је да морамо почети на врху
пирамида.
Не можете принтф дно пирамида и онда изгради свој пут до.
Па хајде да погледамо на примеру из псет спец.
>> Ми овде видимо да, када улазимо у висину од 8, на самом дну
пирамида штампа девет хасх.
Један ниво горе од тога отисци један простор и осам хешеве.
Један ниво горе од тога је два простора и седам хешеве, све док не
доћи до врха пирамиде, што је осам нивоа, до којих отисци седам
простори и два хешеве.
Дакле, имајте на уму да морамо да прво уради ово врхунски ниво.
>> Овде смо из итератинг Горњи ниво, ред 8, наставља
до ред достигне 0..
Па колико простора сте нам треба за штампање у том горњем реду?
Штампан смо седам просторе и два хешеве.
Тако је број простора желимо јесте ред који су били на минус 1.
>> Ако горњи ред је 8, 8 минус 1 нам даје седам просторе.
Онда имамо петљу да ће штампа ван сваког простора један по један.
Дакле, када је 7 простори, ово петља седам пута, штампа
седам појединачних простори.
>> Тако да сада морамо да одштампате ове хасх на крају пирамиде.
Дакле овде, морамо да израчунамо број хешева.
Ми видимо да радимо висину ред минус плус 2.
Па како смо добили то?
>> Запамтите да је врх пирамиде је ред 8, а висина је 8.
А ми и даље штампају две хасх.
Дакле, у најмању руку, 8, плус минус 8 2 нам даје прави одговор.
А онда размислите дно пирамиде, ред 1.
Висина минус ред ће нам дати 7, и затим, плус 2 нам даје девет хасх,
који је управо број хешева да смо штампали.
Дакле, ово је формула желимо да користе за израчунавање броја
хасхес у сваком реду.
>> Користећи тај број, ми онда имамо још један за петље, врло сличан
за петљу да смо користили за просторе, да понавља број хешева пута
штампање једне хасх сваки пут.
На горњем реду, да ћу принт два хасх.
На доњем реду, да ћу принт девет хасх.
И сваки други ред ће штампати сваке број хешева између.
>> А онда на самом крају, морамо да принт нашу нову линију да иде на следећи
ред у пирамиди.
Коначно, морамо да одштампате нову линију на крају реда у циљу
наставити да следећи ред пирамиде.
И на крају нашег програма, имамо повратак 0.
>> По псет спецификације, повратак 0 није стриктно неопходна.
Али то не значи да се ради главни.
Моје име је Роб, а ово је Марио.
>> [Музика свира]