ZAMYLA CHAN: Se on minulle, Zamyla.
Tänään Mario, aiomme olla piirustus puoli pyramidin Mario
kiivetä.
>> Joten puhua meidän to-do: n tähän ongelmaan.
Aiomme haluta kysymään ja vahvistaa
käyttäjältä pätevä panos miten korkea he haluavat Mario pyramidi olla.
Ja sitten, me aiomme vetää sitä.
Joten Aloitetaan kanssa suostuttelu ja validointi käyttäjä heidän panoksestaan.
>> Voimme hyödyntää CS50 Arkistotoimintoluettelo
saada int, joka varmistaa, että käyttäjä syöttää kokonaisluvun.
Mikä tahansa positiivista kokonaislukua, negatiivinen kokonaisluvut, lukumäärä 0 ovat kaikki reilun pelin.
Muussa tapauksessa käyttäjä kehotetaan uudelleen, kunnes ne tulo kelvollinen kokonaisluku.
Nyt vaikka get int tekee paljon työtä meille
sen varmistamiseksi, että Käyttäjä antaa meille kokonaisluku,
tarvitsemme vielä soveltaa joitakin lisärajoituksia että.
Loppujen lopuksi meillä ei voi olla Mario kiipeily puoli pyramidin korkeus negatiivinen 12.
>> Lisäksi siitä, että ongelma erittely
sanoo, että voimme vain anna Mario kiivetä
pyramidi korkeuksia välillä 0 ja 23.
OK, niin se tarkoittaa, että tarvitsemme jatkuvasti kysyy käyttäjältä
antaa meille pätevä numero ja vain jatkaa
kun he ovat antaneet meille pätevä korkeus.
Miten se tehdään?
>> No, jatkuvia prosesseja antaa meille ajatus loops-- tehdä jotain
toistuvasti.
Yksi silmukka C kuin aikaa silmukka, joka tulee jatkuvasti
suorittaa rungon silmukan niin kauan kuin tietyn ehto on tosi.
Heti kun tämä ehto epätosi,
ohjelma etenee mitä tulee sen jälkeen.
Joten kun silmukat ovat yksi tapa varmistamalla, että me jatkuvasti
kehottavat käyttäjää varten pätevän sisääntulon.
Ja kun he antavat meille pätevä panos, me siirrymme mitä tulee seuraavaksi.
Tiedämme, että me aiomme kysyä käyttäjä syöttämään ainakin kerran.
Nyt tulemme sisar kun taas silmukka, joka on do while-silmukka.
>> Tehdä, kun silmukoita suorittaa elin silmukan ainakin kerran.
Joten tarkistamatta ehto, se tulee suorittaa kehon silmukan.
Ja sitten tarkistaa ehdon nähdä onko se tarvitsee toistaa itseään.
Tämä on kätevä, kun olemme validointi käyttäjä syöttää.
Tiedämme, että olemme menossa kysyä heiltä ainakin kerran.
Joten tee taas silmukka voisi näyttää tältä.
Meillä on kokonaisluku n.
Ja sisäpuoli do kun silmukka, me heti
pyytää käyttäjältä kokonaisluvun.
Jos n ei kelpaa, niin me pyytää heitä uudestaan ​​ja uudestaan ​​ja uudestaan, kunnes ne
meille, että voimassa oleva kokonaisluku.
Lopuksi, kun n on pätevä panos käymme edetä loput meidän ohjelman.
>> Joten mennään takaisin spec ja tarkistaa mitä edellytykset kelvollisen panos
tulee olemaan.
Voimassa olevat korkeudet ovat menossa olla välillä 0 ja 23, mukaan lukien.
Joten kelpaa korkeudet ovat menossa olla alle 0 tai yli 23.
Muista siis suunnitella vointisi huolellisesti,
tietäen, että ehto 'tee samalla silmukka
pitäisi olla taas n on virheellinen.
Nyt tämä ei tule olemaan yksinkertainen yhden Boolen lauseke.
Aiomme on yhdistettävä kaksi eri ilmaisuja
tehdä meidän koko kunnossa.
>> Joten katsokaa totuustauluna olen jo antanut sinulle vihjeen siitä, että olemme
aiotaan käsitellä kaksi Booleans.
Joten tässä on totuustaulu, jossa olen on kaksi Booleans-- Boolen 1 ja 2.
Joten meillä on mahdollisuus arvioida bool1 ja bool2 tai bool1 tai bool2.
Ja vain olla totta, jos molemmat Booleans on tosi, kun taas kaikki
tai on totta, niin kauan kuin yksi kaksi Booleans tosi.
OK, joten hetki, tauko tämä video- ja sulattaa tämän totuustaulu.
Olen täällä odottamassa.
Kun tulet takaisin, katso Jos voit koota
Boolen lausekkeen oman kunto n on virheellisen syötteen.
>> Joten nyt meillä on pätevä käyttäjä syöttää, katsotaanpa
mennä eteenpäin ja puhua siitä, miten me ehkä piirtää puoli pyramidin.
Täällä tämä yksinkertainen tekstieditori, Olen piirtänyt vasemman linjassa pyramidi.
Mutta me tiedämme, että me tarvitsemme pyramidi on oikeassa linjassa.
Miten voisin tehdä tämän?
No, voisin yrittää työntää kaikki sivuun
n vain asettamalla vähän merkki välillä.
Ja sitten seuraavalle linja, aion laittaa
lisää merkkejä työntää sitä pitkin, ja further-- niin edelleen ja niin forth--
kunnes on oikeus kohdakkain pyramidin.
Joten meillä on oikeus align pyramidi, mutta se ei näytä niin hyvältä pisteitä.
Mutta haluamme kuitenkin väittävät, että mukavaa välit.
Joten aion kirjaimellisesti lisätä joitakin tiloja.
>> Sen sijaan, että kolme pistettä, minä laittaa yksi, kaksi, kolme tiloja.
Toisella rivillä.
Laitan yksi, kaksi paikkaa.
Ja toiseksi viimeinen line, vain yhden tilan.
Ja tässä on oikeus linjassa pyramidi.
Tekemästä esimerkiksi tekstissä toimittaja, meillä on idea kuviota
että käytämme tehdä puoli pyramidin.
Sillä jokainen rivi, mitä teimme on meidän kirjoittamalla jotain tiloja,
ja sitten kirjoitetaan jotkut hash, ja sitten kirjoitetaan
Enter-näppäintä, joka luo uusi rivi.
Joten nyt meillä on, että mennään askeleen pidemmälle ja löytää malli.
>> Joten aion sanoa, että etua tämän esimerkin,
olemme tekemisissä korkeus 8.
Ensimmäinen rivi on menossa kaksi hash joka seuraa seitsemän tiloissa.
Second-- kolme hash, kuusi tilat.
Kolmas row-- neljä hash, viisi spaces-- niin edelleen ja niin edelleen
kunnes saamme NTH riville.
Niin, pyydän teitä NTH rivin, kuinka monta tiivisteiden aiomme olla
ja kuinka monta ruutua?
Joten se on sinun selvittää kaava edustaa kuinka monta hash
ja kuinka monta ruutua tarvitaan nnen rivin, kun on joitakin korkeus.
>> Nyt kun olet mietitään tätä, olla varovainen miten olet indeksointi.
Mitä tarkoitan tällä, että jokapäiväisessä elämässä meille kaikille
alkaa laskea, yleensä 1.
Mutta CS50 ja tietotekniikassa yleensä, olemme 0 indeksoitu.
Joten ensimmäinen rivi olisi n on 0 vastakohtana 1.
Ole varovainen tästä, kun olet yrittää selvittää oman kuvio.
Nyt mennään takaisin, miten aiomme tehdä meidän pyramidi.
Jokaista rivi, aiomme haluavat tulostaa tilat, tulosta hash,
ja sitten tulostaa uusi rivi.
Vihje täällä on Sana "for" jokaisella rivillä.
C, meillä on konstrukti kutsutaan silmukka,
joka koostuu sellaisen Alustuksen ehto, päivitys,
ja rungon silmukan.
>> Sano Halusin sanoa, hei maailma, 50 kertaa, minun silmukka
voisi näyttää tältä.
I alustaa minun kokonaisluku 0.
Ehtona on, että I on alle 50.
Ja sitten minun päivitys on vain monesko I yhdellä aina.
Voimme myös käyttää silmukoita kerrata läpi asioita.
Huomaa, täällä kuinka meillä ei koodattu useita,
vaan sijoitetaan muuttujan korkeus sen sijaan osaksi kunnossa.
Joten mitä teen täällä olen iteroimalla jokaista riviä pyramidin.
Voin tehdä jotain jokaiselle rivi kehossa minun silmukka.
>> Mitä teemme sisällä runkoon silmukan?
No, kuten jo mainittu, olemme painatus tilat ja olemme tulostus hash
ja olemme painatus uuden linjan.
Joten ulompi silmukka näyttää tältä.
Olen kerrata yli joka krs Pyramidin käyttäen,
Tässä tapauksessa korkeudella kuin muuttuja joka tallentaa korkeus pyramidin.
Kehossa tuon silmukan, olen painoon tiloihin toistuvasti, tulostaa
tarkistussummat toistuvasti, ja sitten tulostaa uusi rivi.
>> Joten nyt, käyttäen kaikkia käsitteitä, jotka Olen puhunut tässä selattava,
sinun pitäisi pystyä kysymään käyttäjä syöttää, vahvistamaan, että syöttö,
ja sitten piirtää puoli pyramidin.
>> Nimeni on Zamyla, ja tämä on CS50.