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.