ZAMYLA CHAN: To je me, Zamyla. Danes v Mario, bomo lahko risanje pol piramido za Mario splezati. Torej, kaj je govoril o naši to-do-jev za ta problem. Mi smo želeli spodbudilo in potrjevanje uporabnik za veljaven vnos kako visoko hočejo Mario piramida biti. In potem, gremo, da ga pripravi. Torej začnimo s pozivom in validaciji uporabnika za njihov prispevek. Mi lahko izkoristijo CS50 knjižnica Funkcija dobili int, ki bo zagotavljal, da uporabnik vnese celo število. Vse pozitivna cela števila, negativna cela števila, številka 0, so vsi pošteno igro. V nasprotnem primeru bo uporabnik zahteval, da ponoviti, dokler oni vhod veljavno celo število. Zdaj čeprav get int ne Veliko dela za nas pri zagotavljanju, da Uporabnik nam daje celo število, moramo še vedno uporabljajo nekateri dodatne omejitve, da. Konec koncev, ne moremo imeti Mario plezanje pol piramida višine negativnega 12. Poleg tem, da je specifikacija problem pravi, da samo, da smo lahko omogočajo Mario plezati piramida višine med 0 in 23. OK, to pomeni, da moramo nenehno poziv uporabniku da nam veljavna Številka le nadaljevati ko nam oni dali veljavno višino. Kako to storimo? No, stalno procesi da nam ideja loops-- početje nečesa ponavlja. Ena zanka v C kot časa zanke, ki bo stalno izvršiti telo zanke dokler dane pogoj ovrednoten kot resničen. Takoj, ko ta pogoj neresničen, bo program nadaljuje kar pride po tem. Torej, medtem ko zanke so eden od načinov zagotavljanje, da smo nenehno poziv uporabniku za veljavno vhod. In ko nam veljavno vhod, bomo nadaljevali s kar pride zraven. Vemo, da bomo to ask Uporabnik za vnos vsaj enkrat. Zdaj smo prišli do sestra medtem ko je zanka, ki je storila, medtem ko zanke. Ali pa bo zanke izvršitev Telo zanke vsaj enkrat. Torej, brez preverjanja stanja, bo izvršitev telo zanke. In potem preverite stanje videti ali je potrebno, da se ponovi. To pride prav, ko smo potrditev vnos uporabnika. Vemo, da bomo da od njih zahteva vsaj enkrat. Torej naredi, medtem ko bi lahko zanka izgledal nekako takole. Imamo celo število n. In notranjost opravil medtem ko zanke, smo takoj poziv uporabniku za celo število. Če n ni veljavna, potem bomo spodbudile znova in znova in znova, dokler ne nam, da je veljavno celo število. Nazadnje, ko je n veljavna vhod, bomo nadaljuje s preostalim našega programa. Torej gremo nazaj na spec in preverjanje kar je pogoj za veljavno vhod se bo. Veljavni višine se bodo je med 0 in 23, vključujoče. Torej neveljavni višine se bodo biti manj kot 0 ali več kot 23. Torej, ne pozabite, da oblikujejo vaše stanje skrbno, vedoč, da je pogoj za opravila, medtem ko zanke mora biti, medtem ko n je neveljavna. Zdaj se to ne dogaja, da se preprost single Logični izraz. Bomo morali združiti dva različna izraza da bi naše celotno stanje. Torej, kaj je samo pogled na resnico mizi sem že dal namig, da smo dogaja, da se ukvarjajo z dvema logične vrednosti. Torej, tukaj je resnica miza, kjer sem imajo dve Booleans-- logično 1 in 2. Tako imamo možnost, da ocenijo bool1 in bool2 ali bool1 ali bool2. In bo le res, če tako Logične vrednosti oceni, da res, ker so vse ali bo res tako dolgo, kot eno izmed dva logične vrednosti ovrednoten kot resničen. OK, tako da bo trajalo nekaj trenutkov, pavza to video in prebaviti to resnico tabelo. Bom tukaj čaka. Ko se vrneš, si oglejte če lahko kos skupaj logično izraz za vaše pogoj n čemer je neveljavna vhod. Torej, zdaj, ko imamo veljaven uporabnik vložek, kaj je gredo naprej in govori o tem, kako lahko potegnemo pol piramido. Tu v tem preprostem urejevalniku besedil, Sem potegnil levo poravnana piramido. Toda vemo, da moramo naše piramida se desno poravnano. Torej, kako lahko to naredim? No, lahko poskusite potisnite Vse ob strani s samo polaganje malo znak vmes. In potem, za naslednji linija, bom dal nekaj več znakov, da ga potisnite skupaj, in further-- tako naprej in tako forth-- dokler ne bom imel prave usklajena piramido. Torej imamo pravico poravnavanje piramido, vendar ne izgleda tako velik, s pikami. Vendar smo še vedno želijo ohraniti to lepo razmik. Torej bom dobesedno vstavite nekaj prostorov. Namesto treh pik, bom dal enega, dva, tri prostore. V drugi vrstici. Bom dal enega, dva prostore. In na predzadnjem linija, le eno mesto. In tu imam pravico usklajena piramido. S tem primer v besedilu urednik, imamo idejo za vzorec da bomo uporabili za izdelavo pol piramido. Za vsako vrstico, kaj smo naredili se vpišemo nekaj prostorov, in nato vnesli nekaj hashes in nato vnesli tipko Enter, ki ustvarja novo linijo. Torej, zdaj, ko imamo, da gremo en korak naprej in najti vzorec. Tako bom povedal, za Interes tega primera, imamo opravka z višino 8. Prva vrstica se dogaja, da imajo dva hashes ki sledi sedem mest. V second-- tri hashes, šest prostorov. Tretje row-- štiri hashes, pet spaces-- tako naprej in tako naprej dokler ne pridemo do n-to vrstico. Torej, vas prosim za n-to vrstico, koliko hashes bomo imeli in koliko mest? Torej, to je do vas, da ugotovimo, Formula za zastopanje koliko hash in koliko mest so potrebne za n-to vrstico, če imate nekaj višine. Zdaj, ko ste poskušal tole, bodite previdni, kako ste indeksira. Kaj mislim s tem, da v vsakdanjem življenju vseh nas začnemo, običajno z 1. Toda v CS50 in računalništvu na splošno, smo 0 indeksirajo. Tako da bi bila prva vrsta biti n 0 v primerjavi z 1. Bodite pozorni na to, ko ste poskuša ugotoviti, svoj vzorec. Zdaj gremo nazaj na to, kako bomo, da pripravi svojo piramido. Za vsako vrsto, bomo želeli tiskanje prostore, tiskanje hash, in nato natisniti novo linijo. tukaj namig je besedo "za" vsako vrstico. V C imamo konstrukt imenuje za zanke, ki je sestavljena iz inicializacija, pogoj, posodobitev, in telo zanke. Povedati, da sem hotel reči, zdravo svetu, 50-krat, moj za zanko bi izgledala nekako takole. Sem inicializacijo moje celo na 0. Pogoj je, da sem manj kot 50. In potem moj update je le povečevanje I eden vsakič. Mi lahko uporabite tudi za zanke Ponovil nad stvarmi. Obvestilo tukaj, kako smo ne Težko kodirane številko, ampak postavi spremenljivko Višina namesto v stanju. Torej, kaj delam tu sem ponavljanjem nad vsako vrsto piramide. Jaz lahko naredim nekaj za vsak vrstica v telesu moje zanke. Kaj delamo v notranjosti telo zanke? No, kot smo že povedali, smo tiskanje prostori in smo tiskanje hash in smo tiskanje novo linijo. Torej moj zunanji zanko bo videti takole. I Ponovil nad vsako vrstico piramide, pri čemer se V tem primeru je višina kot spremenljivka ki shranjuje višino piramide. V telesu te zanke, sem tiskanjem prostore večkrat, print se večkrat hashes, in nato natisniti novo linijo. Torej sedaj, z uporabo vseh konceptov, ki Sem govorili v tem sprehodu skozi, bi morali imeti možnost, da morala spodbuditi Uporabnik za vnos, potrdi, da je prispevek, in nato pripravi pol piramido. Moje ime je Zamyla, in to je CS50.