>> [Daqq tal-mużika]
>> ROB BOWDEN: Huwa me, Rob.
Ejja jimxu permezz ta 'kif biex jimplimentaw Mario.
Allura l-ewwel ħaġa li għandna bżonn tagħmel hu li pront l-utent għall-input.
>> Għandna bżonn li jistaqsu lilhom eżattament kif tall-piramida għandu jkun.
Allura hawn, naraw li aħna qed tagħmel għoli = GetInt.
An U ftakar li l-funzjoni GetInt hija implimentata fil-CS50
librerija, hekk top up, għandna bżonn li ftakar li # jinkludi cs50.h.
>> Allura għaliex għandna dan mgeżwra fil-linja do-waqt?
Well, aħna wkoll bżonn li wieħed jiftakar li input l-utent għandu jkun validu.
X'inhu input invalidu?
Ukoll l-spec pset speċifikament jgħid li f'għoli inqas minn 0 jew akbar
minn 23 huwa invalidu.
>> Allura up here, naraw li aħna qed tiddefinixxi kostanti imsejjaħ MAX_HEIGHT mal-
valur ta '23.
Dan loop do-waqt li se jkompli filwaqt li għoli huwa inqas minn 0 jew MAX_HEIGHT huwa
inqas mit-tul, li jfisser li 23 huwa inqas mill-għoli.
Mela jekk l-għoli huwa 24 jew aktar, aħna qed se tkompli looping.
Ftakar li do-waqt loops huma pjuttost utli meta irridu jiksbu
input utent u mbagħad jivvalida dan, peress aħna inevitabbilment bżonn biex issaqsi lill-utent fuq
inqas darba għall-valur li jridu.
>> Allura ladarba għandna l-kontribut tagħhom, aħna issa tista 'tibni l-piramida.
Wieħed mill-tricks ta 'din il-problema stabbiliti hija li għandna biex tibda fil-quċċata ta '
il-piramida.
Inti ma tistax printf-qiegħ tal- piramida u mbagħad jibnu tiegħek mod up.
Mela ejja nħarsu lejn l-eżempju mill-spec pset.
>> Naraw hawnhekk li meta aħna jidħol għoli tat-8, il-qiegħ nett tal-
piramida stampi disa hashes.
Wieħed livell up minn dak prints spazju wieħed u tmien hashes.
Wieħed livell up minn dan huwa żewġ spazji u seba hashes, it-triq kollha sakemm aħna
jiksbu l-quċċata tal-piramida, li hija tmien livelli up, li jippubblikaw seba '
spazji u żewġ hashes.
Mela ftakar li għandna tagħmel l-ewwel dan il-livell ogħla.
>> Hawnhekk aħna qed mtennija mill- ogħla livell, ringiela 8, kontinwu
sakemm ringiela jilħaq 0.
Allura kif ħafna spazji ma neħtieġu li jistampaw f'dak ringiela ta 'fuq?
Aħna stampati seba spazji u żewġ hashes.
Allura l-għadd ta 'spazji li rridu huwa il-filliera li kienu fuq minus 1.
>> Jekk il-filliera ta 'fuq huwa 8, 8 minus 1 tagħtina seba spazji.
Imbagħad għandna loop li se print out kull spazju wieħed fi żmien.
Allura meta spazji hija ta '7, dan loop seba 'darbiet, l-istampar
seba 'spazji individwali.
>> Allura issa għandna bżonn li tistampa dawn hashes fl-aħħar tal-piramida.
Allura hawnhekk, għandna bżonn li jikkalkulaw in-numru ta 'hashes.
Naraw li aħna qed tagħmel l-għoli ringiela minus plus 2.
Allura kif ma nikbru li?
>> Ftakar li l-quċċata tal-piramida huwa ringiela 8, u l-għoli huwa ta '8.
U aħna xorta stampat żewġ hashes.
Allura għall-inqas, 8 minus 8 plus 2 jagħtina t-tweġiba ġusta.
U mbagħad jikkunsidraw il-qiegħ tal-piramida, ringiela 1.
Ringiela minus għoli se tagħtina 7, u imbagħad plus 2 jagħtina disa hashes,
li huwa eżattament l-għadd ta hashes li aħna stampati.
Allura dan huwa l-formula li rridu jużaw biex jikkalkulaw in-numru
hashes f'kull filliera.
>> Bl-użu dak in-numru, aħna mbagħad ikollhom ieħor għall-loop, simili ħafna għall-
għal linja li aħna użati għall-ispazji, li ttenni numru ta 'drabi hashes
istampar ta 'hash wieħed kull darba.
Fuq il-filliera ta 'fuq, li ser jistampaw żewġ hashes.
Fuq il-filliera qiegħ, li ser print disa hashes.
U kull ringiela oħra se print kull numru ta 'hashes bejniethom.
>> U mbagħad fl-aħħar nett, għandna bżonn li print linja l-ġdida tagħna biex tmur fil-li jmiss
ringiela fil-piramida.
Fl-aħħarnett, għandna bżonn li jistampaw il-linja ġdida fit-tmiem tal-filliera biex
ikomplu għall-ieħor ringiela tal-piramida.
U fl-aħħar tal-programm tagħna, aħna għandna l-ritorn 0.
>> Skond l-spec pset, ir-ritorn 0 mhijiex strettament neċessarja.
Iżda li dan ifisser li l ewlenija isir.
Jisimni Rob, u dan kien Mario.
>> [Daqq tal-mużika]