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.