>> ZAMYLA CHAN: Teeme hüpata Mario.
Mario on programm, kus me teeme meie ise, kuigi primitiivne, versioon
classic Super Mario Brothers mängu taustal.
Selle probleemi komplekt, me läheme taasluua poole püramiid
Mario hüpata.
Meie programm on interaktiivne, nii et see küsib kasutajal sisestada teatud
kõrgus püramiid.
Ja programm välja printida poole püramiid et kõrgus, kus
all vasakul hash joondub põhja vasakus nurgas terminal
väljundi.
>> Olgem murda probleem kahte ossa, üks, saada kasutaja sisend ja kaks,
välja printida püramiid.
Pea meeles, et kuigi GetInt funktsioon hangib täisarv, siis
on tagada, et selle sisendi teeb tunne oma programmi, nii
Mario, ta ei tee lihtsalt toode täisarv.
Sa pead veenduma, et kasutaja sisendite täisarv, mis on sees
ülemise ja alumise piire püramiid, et saate printida.
Per see spec on see 0 ja 23 kaasa arvatud.
Kui kasutaja sisestab täisarv väljaspool Meie tunnustatud piirides, siis me tahame
ajendab neid uuesti ja uuesti, kuni nad annavad meile kehtiv täisarv.
>> Üks võimalus, et tagada õige kasutaja sisend on kasutades tee-Kuigi silmus, mis on
väga sarnane Kuigi silmus.
Do-Kuigi silmus täidab kood kehas kord ja seejärel kontrollib
kas tingimus on täidetud või mitte.
See on kasulik saada kasutaja sisend sest sa tead, et sa pead
ajendab neid vähemalt üks kord.
Kui tingimus ei ole täidetud, programm täidab rida pärast
oma Do-Kuigi silmus.
Kui tingimus on täidetud, kuigi loop kordub.
>> Do-Kuigi silmus kinnitamise kasutaja sisend välja midagi sellist.
Kinnitan muutuja n, GetInt, ja korrata kuni n on kehtiv.
Pea meeles, et kui te deklareerite oma muutuja, vajab see asjakohane
ulatus, nagu Scratch.
Kui Kinnitan n sees minu Do-Kuigi silmus, ülejäänud programmi ei
pääse ta.
See on piiratud piiridest Euroopa looksulg.
>> Olgu, nüüd, kui me oleme kinnitanud kasutaja sisend, me tegelikult vaja
joonistada poole püramiid.
See koosneb suurtähti, nii teeme poole püramiid lihtne
tekstiredaktor.
Kui me tahame teha Mario stiilis püramiid kõrgus kolm, mis on vastavuses
vasakul pool meie aken, siis me tahaks kirjutada kaks hashes käsku Enter
tippige kolm hashes, klõpsake Sisesta ja tippige neli.
>> Aga see probleem komplekti, meie poole püramiid tuleb paremjoondatult.
Kasutades standard klaviatuur, kuidas võiks te muudate seda faili teisaldada hashes
üle paremale poole?
Ma võiks kasutada rõhutab, kaks kohta esirea ja üks teine.
See ei ole nii kena, kuigi, nii et olgem asendada rõhutab koos
ruumid ning seal on meil poole püramiid kõrgus kolm.
>> Proovige ja mäletan seda tekstiredaktoris Näiteks kui sa hakkad mõtlema tagasi
C. Proovime aru saada, mõned mingi muster, mis meie võimuses,
panna loop ehitada.
Võtke näiteks kõrgus, st kaheksa, ja vaata, kas saad hakkama
tulla muster.
Esimene rida on seitse ruumid millele järgneb kaks hashes.
Teises reas on kuus ruumi ja kolm hashes, ja nii edasi, kuni
kaheksas rida.
>> Aga kuidas sa kujutaks nda rea?
Pea meeles, et programmeerimine konventsioon on null indekseeritud.
See tähendab, et te alustate loendamine null, nii et esimene rida on tehniliselt
rea number null kaks luugid, rida number üks on kolm räsisid rida
number kaks on neli hashes, et pärast See muster iga rida
number n on n + 2 hashes.
Ma jätan selle sulle, aga leida välja muster ruumid.
Pidage meeles, et muster ei ole veidi teistsugune, kui valite
alustada oma count üks ja mitte null.
>> Nüüd on Sul mustri mõni abstraktne rida n.
Sa tead, kui palju ruumi printida ja mitu hashes, et iga rida, mis
number muutub.
Aga sama protsessi trükkimine ühe märgi, kas ruum või
hash, korratakse.
Nii et kõik, mida pead tegema, on korduvalt printida seda märki nii mitu korda
kui teie muster määrab.
>> Niisiis, kuidas me korrata protsessid?
Scratch, me kasutasime korrata blokeerida.
In C, me kasutame For loop.
Vaatame süntaks jaoks jaoks silmuseid.
>> Kumbki silmus koosneb kolmest osad, käivitamise, tingimusel,
ja uuendatud.
Sinu jaoks loop initsialiseerida muutuja, kui ta kõigepealt
siseneb For loop.
Kui tingimus on täidetud, keha of loop täidab.
Hiljem uuendus täidab.
>> Kui tingimus on siiski täidetud, loop täidab ja ajakohastada ja
korrata nii kaua, kui teie seisund TRUE.
Sa oled tingimus peab lõpuks valuate vale, kuigi, sest
erinevalt Scratch, meil ei ole mingit Forever silmuseid.
Teie programm peab lõppema lõpuks.
>> Siin on näide sellest, For loop et võiksite kasutada Mario.
Käivitamise kinnitab täisarv i väärtusega 0.
Niikaua kui i on väiksem kui kõrgus, keha loop täidab ja
suurendada i üks ja korrake kuni i on suurem või
võrdne kõrgus.
>> Nüüd, minu jaoks silmus on null indeks.
Int i algab nullist, mitte üks.
Kui ma valisin ühe, siis minu tingimus oleks ka olema erinev
loop täita sama arv kordi.
Mäletad seda hoolikalt, kui sa oled Valides oma käivitamise ja oma
seisukorra ja konsulteerib kaardistada topelt vaadata.
>> Üks suuri asju arvuti teadus on, et seal on lihtsalt nii palju
kuidas täita asju.
Võite valida, kas alustada nullist või üks.
Kui te ei soovi kasutada For loop, võid kasutada ka Kuigi silmuse
korrata avaldusi nii kaua kui hoida sisuliselt For loop,
vormindamise, seisukorra ja uuendus.
Kui me nuputada For loop et me oleme kõige mugavamalt, siis me
suudaks Mario.
>> Oleme kõigepealt kontrollinud kasutaja sisend ja siis tuvastatud
mustri iga rida n.
Nii iga rea ​​nullist n miinus 1 trükib vastava arvu
ruumid, siis vastav arv hashes vastavalt meie muster, ja
siis uus rida.
Koos, et teil on oma püramiid.
Minu nimi on Zamyla, ja see oli Mario.