>> [Tónlist spila]
>> ROB BOWDEN: Það er ég, Rob.
Skulum ganga í gegnum hvernig að innleiða Mario.
Svo er það fyrsta sem við þurfum að gera hvetja notandann til inntak.
>> Við þurfum að spyrja þá nákvæmlega hvernig hæð pýramída ætti að vera.
Svo hér sjáum við að við erum að gera height = GetInt.
An Og muna að GetInt virka er útfærð í CS50
bókasafn, svo upp ofan, við þurfum að muna að # include cs50.h.
>> Svo hvers vegna höfum við þetta vafinn í gera-while lykkju?
Jæja, þurfum við líka að muna að inntak notandans þarf að vera í gildi.
Hvað er ógilt inntak?
Jæja pset sérstakur segir sérstaklega að hæð minna en 0 eða hærri
en 23 er ógilt.
>> Svo upp hér, sjáum við að við erum að skilgreina fasti heitir MAX_HEIGHT með
gildi 23..
Þetta gera-en lykkja mun halda áfram á meðan er minni en 0 eða MAX_HEIGHT er
minna en hæð, sem þýðir að 23 er minna en hæðin.
Þannig að ef hæð er 24 eða hærra, við erum fara að halda áfram lykkja.
Mundu að gera-en lykkjur eru nokkuð gagnlegt þegar við viljum fá
notandi inntak og síðan sannreyna það, þar við þurfum óhjákvæmilega að spyrja notandann á
kosti einu sinni fyrir gildi sem þeir vilja.
>> Svo þegar við höfum inntak þeirra, við getur nú byggja pýramída.
Einn af the bragðarefur þessu vandamáli sett er að við verðum að byrja efst
pýramída.
Þú getur ekki printf botni pýramída og þá byggja þig upp.
Svo skulum líta á dæmi frá pset sérstakur.
>> Við sjáum hér að þegar vér komum inn hæð af 8, mjög botn af the
pýramída prentar níu kjötkássa.
Eitt stig upp úr því að prenta eitt bil og átta kjötkássa.
Eitt stig upp úr því er tveir rými og sjö kjötkássa, alla leið þar til við
fá til the toppur af pýramída, sem er átta stigum upp, sem prentar sjö
rými og tvö kjötkássa.
Svo muna að við verðum að gera þetta efsta þrepi fyrst.
>> Hér erum við að iterating frá efsta þrepi, róður 8, áframhaldandi
þar róður nær 0.
Svo hversu mörg rými gerði við þurfum að prenta í þeirri efstu röðinni?
Við prentuðum sjö rými og tvær kjötkássa.
Svo er fjöldi rýma við viljum röðinni sem voru á mínus 1.
>> Ef að efsta línan er 8, 8 mínus 1 gefur okkur sjö rými.
Þá höfum við lykkju sem vilja prenta út í hvert rúm og einn í senn.
Svo þegar rými er 7, Þessi lykkja sjö sinnum, prentun
sjö einstök bil.
>> Svo nú þurfum við að prenta þessar kjötkássa í lok pýramída.
Svo hér, þurfum við að reikna fjöldi kjötkássa.
Sjáum við að við erum að gera hæð mínus röð auk 2.
Svo hvernig did við fengið það?
>> Mundu að efst í pýramída er röð 8, og er hæðin 8.
Og við prentuð enn tvo kjötkássa.
Svo að minnsta kosti, 8 mínus 8 plús 2 gefur okkur rétt svar.
Og síðan fjalla um botn í pýramída, röð 1.
Hæð mínus róður mun gefa okkur 7, og þá plús 2 gefur okkur níu kjötkássa,
sem er einmitt fjöldi af kjötkássa sem við prenta.
Þannig að þetta er uppskrift sem við viljum að nota til að reikna út fjölda
kjötkássa í hverri röð.
>> Að nota þessi númer höfum við þá annað fyrir lykkju, mjög svipuð og
fyrir lykkju sem við notuðum fyrir rými, að iterates fjöldi kjötkássa sinnum
prentun einungis einn kjötkássa hvert skipti.
Á efstu röðinni, sem verður prenta tvær kjötkássa.
Á neðri röðinni, sem verður prenta níu kjötkássa.
Og hvert annað róður mun prenta hvert fjöldi kjötkássa á milli.
>> Og þá á enda, þurfum við að prenta nýja línu okkar til að fara í næsta
róa í pýramída.
Að lokum, þurfum við að prenta nýja línu í lok röð í því skyni að
halda áfram á næsta róður í pýramída.
Og í lok áætlunarinnar okkar, við höfum return 0.
>> Eins og á pset sérstakur, aftur 0 er ekki brýna nauðsyn.
En það þýðir þar með að helsta er gert.
Mitt nafn er Rob, og þetta var Mario.
>> [Tónlist spila]