ZAMYLA CHAN: See on-me, Zamyla.
Täna me ei kavatse rakendada Mario, kus me tõmbame Mario
täielik püramiid teda üle hüpata.
Olgem murda sub-ülesandeid see probleem.
>> Esiteks, me tahame, et kiire kasutaja kõrgus püramiidi.
Ja siis me tahame veenduda et see sisend on kehtiv.
Ja siis me läheme tahan juhtida püramiidi.
>> Nii räägime ajendades ja heakskiitmine kasutaja sisend.
See võib tunduda midagi see, do-samas silmus, mis
küsib kasutaja jaoks täisarv ja ka siis kordust
kui see täisarv on kehtetu.
Mida tuleks seda tingimust?
>> Selleks lähme tagasi spetsifikatsioonile.
Noh, spec ütleb meile, et kõik kehtivad kõrgus saab olema vahemikus 0 ja 23,
kaasa arvatud.
Nii siis see tähendab, et iga vale kõrgus saab olema väiksem kui 0
või rohkem kui 23.
>> Nüüd, et me peame seda teavet, olgem kujundada meie tingimus.
Aga me peame olema ettevaatlikud, sest nüüd on meil
kaks tõeväärtused, et me tahame hinnata.
>> Siin ma olen teile andnud koos tõeväärtustabelitega.
See võimaldab meil võtta kaks Tõeväärtused, Boole'i ​​üks ja kaks.
Ja me saame hinnata kas bool1 ja bool2 või bool1 või bool2.
>> Mis vahet seal on vahel ja ja või?
Noh, bool1 ja bool2 hakkab TÕENE siis ja ainult
kui nii tõeväärtused on tõsi, kusjuures või operatsioon
on tõsi, kui üks tõeväärtused või mõlemad on tõsi.
Nii seda silmas pidades, vaadake, kas saate aru saada
Mis sobiv tingimus oma do-samas silmus kehtetu n
läheb.
>> Seda oleme küsitakse ja valideeritud alla kõrgus püramiidi
mis nad tahavad.
Nüüd, see on kuni meile juhtida püramiidi.
Täielik püramiidi sel Probleem näeb välja natuke
nagu see, kus meil on vasakul püramiid, mõned lõhe ja seejärel õigus püramiid.
Nii saab jaotada see natuke.
>> Kui ma lähen oma tekstiredaktoris, siin ma olen joonistatud meile vasakule joondatud püramiid.
Aga see ei tee.
Mida me tahame teha, on me tahame anna õigust joondatud püramiidi esimene.
Nii et seda teha, lihtsalt lükake minu räsisid koos küljele,
Ma lihtsalt panna mõned märgid vahel, vaid need täpid.
Siis ma panen kaks kohta Järgmine rida ja üks selles reas.
Ja et siin on mul paremjoondatud püramiid.
>> Pärast seda, ma lähen minna tagasi esirea
ja panna vahe, mis on ühe spec, kaks sammu.
Siis ma lähen täita Teisel pool püramiidi.
Ma lähen, et teise rea kirjutada Kahe ruumi lõhet ning seejärel kaks
hashes.
Tagasi kolmandas reas, kaks sammu GAP ja kolm räsisid.
Ja lõpuks, kaks sammu GAP ja neli räsisid.
Nii see on, mida terve püramiid hakkab nägema.
>> Muidugi, me ei taha Nende punkte teed.
Nii et me läheme asendada need dots pannes mõned ruumid.
Üks, kaks, kolm esimest rida.
Üks, kaks teisele.
Ja üks kolmas rida.
Nii et see on see, mida me teeks, kui me tahtsin lihtsalt täielik püramiid,
öelda, meie tekstiredaktor.
>> Võtame seda, harjumuste mõistmine,
ja muuta see üle mõne pseudokoodi.
Iga rida püramiidi, me tahame printida jäänud püramiidi ja seejärel
lõhe ja siis õige püramiid.
Vasaku püramiid, me printida vajaminevast ruumid,
järgneb räsisid.
Siis printida lõhe, mis on lihtsalt kaks sammu iga kord.
Ja õige püramiid, me printida vajalikul arvul räsisid.
>> Juba teist rida, viisime läbi Samal täpne protsess.
Me printida ruumi vasakul püramiid, vajalik kogus
hashes, lõhe, kaks sammu ning Seejärel räsisid õige püramiid.
>> Olgem lahendada muster vasaku püramiid.
Kui mul oleks, muuks otstarbeks Selle näite kõrguseni
kaheksast nõutud kasutaja, siis minu esimene rida
oleks üks hash ja seitse ruumid.
Minu teine ​​rida oleks kaks räsi kuus sammu.
Kolmandas reas kolm räsi viis ruumid.
Saate arvatavasti teevad seda ennast kõrguseni kaheksa
ja määrata igale reale, kui palju räsisid ja kui palju ruumi teil on vaja.
Aga mida me tahame teha, on tahame abstraktne ta.
Nii et ma küsida ükskõik nda rea, kui palju räsisid ja kui palju ruumi me vajame?
>> Nüüd, kui teil määrata mustri mitu räsisid
ja kui palju ruumi teil on vaja ühtegi nda rea ​​antud kõrgus,
meeles olla ettevaatlik kuidas sa indekseerimine.
Mida mõtlen, on see, et igapäevases elu enamik meist hakka lugema ühe võrra.
Nii et esimene rida oleks number üks.
Ja teises reas oleks järjest number kaks, nii edasi ja nii edasi.
>> Aga infotehnoloogia ja CS50 oleme null-indekseeritud.
Nii et me tegelikult alustada nullist.
Nii et esimene rida oleks olla järjest number null.
Ja teises reas Oleks rea number üks.
Nii et kui mul oli kõrgus kaheksat minu püramiidi, siis viimase väärtuse n
oleks tegelikult seitse ja kaheksa.
>> Nii et ole ettevaatlik see.
Ja teadma, kui oled määramisel mustri kas teie null indekseeritud
või üks indekseeritud
>> OKEI.
Nüüd, et meil on mustri vasakut püramiid,
peame kindlaks muster lõhe.
Õnneks on see väga lihtne.
See on lihtsalt alati kaks sammu.
>> Nüüd astume õige muster.
Esimene rida on üks räsi.
Teine rida, kaks.
Kolmandas reas kolm.
Nii edasi ja nii edasi.
Nii uuesti kindlaks iga abstraktne n ja mis tahes kõrgusel, kui palju räsisid
ja kui palju ruumi igas reas peaks olema.
>> OKEI.
Nii et me teame, et iga rea ​​me vaja läbi viia mõned protsess.
Kuidas me seda teeme?
Noh, me kasutame silmus konstrukt koosneb käivituse
seisund ja uuendus.
Suhe silmuseid saab kasutada korrata protsesse.
>> Nii öelda, et ma tahan seda öelda tere, maailma 50 korda, siis minu jaoks silmus
näeks midagi sellist, kus Ma initsialiseerida minu muutuva nulli.
Tingimuseks on, et i on väiksem kui 50.
Ja siis uuendus on see, et juurdekasv ühe iga kord.
Nii et mida see teha oleks prindi Hello, world 50 korda järjest.
>> Nüüd öelda tahtsin itereerima üle kõrgus püramiidi.
Siis asemel kõvasti kodeerimine mingi väärtus seisukorras,
Ma lihtsalt kasutada muutuva kõrgusega.
Nii et mida see teeb on Kerrata üle kõrgus igas reas.
Ja ma ei saa midagi teha sees kere selle kontuuri.
>> Mida me tahame teha keha sees silmus?
Noh, nagu me juba varem märgitud, me tahame prindi ruumid ja räsisid
vasaku püramiidi ja seejärel printida kaks sammu ja siis printida räsisid.
Nii oleme juba arvasin, et välja.
Nii saame hakata täitma Meie programm on palju rohkem.
>> Siin on mul välimine jaoks silmus, mis itereerib üle iga rea ​​püramiidi.
Ja sees, et keha ma lähen printida ruumid korduvalt
hashes korduvalt ning lõhe, ja siis hashes õige püramiid,
ja siis lõpuks uus line, et alustada järgmisel real.
>> Seda oleme küsitakse kasutaja jaoks sisend.
Oleme teinud kindlaks, et see on õige.
Ja siis oleme juhtinud püramiid.
Nii Mario saab edukalt ronida püramiidi.
>> Minu nimi on Zamyla.
Ja see on CS50.