ZAMYLA CHAN: Tai-aš, Zamyla.
Šiandien mes ketiname įgyvendinti Mario, kur mes atkreipti Mario
visą piramidės jam peršokti per.
Leiskite sugriauti sub-užduotis šią problemą.
>> Pirma, mes norime paskatinti vartotoją už piramidės aukščio.
Ir tada mes norime įsitikinti, kad kad indėlis yra galiojantis.
Ir tada mes ketiname noriu atkreipti piramidę.
>> Taigi pakalbėkime apie raginimo ir patvirtinti vartotojo įvestį.
Tai gali atrodyti tai, do-while cikle, kad
paragina vartotoją skelbiamo Sveikieji ir tik tada kartojasi
jei tai sveikas, yra neteisinga.
Taigi, ką ši sąlyga turi būti?
>> Dėl to, grįžkime specifikacijos.
Na, spec mums sako, kad galiojantis aukštis bus tarp 0 ir 23,
imtinai.
Taip, tada, kad reiškia, kad bet negalioja aukštis bus mažesnis negu 0
arba daugiau kaip 23.
>> Taigi, dabar, kad mes turime šią informaciją, tegul dizainas mūsų būklę.
Bet mes turime būti atsargūs, nes dabar mes turime
dvi loginės reikšmės, kad mes norime įvertinti.
>> Čia aš, jei jus su tiesos lentelę.
Tai leidžia mums imtis du Loginės reikšmės, Būlio vieno ir dviejų.
Ir mes galime įvertinti nei su bool1 ir bool2 arba bool1 arba bool2.
>> Taigi koks skirtumas tarp ir ir ar?
Na, bool1 ir bool2 bus įvertinti, tiesa, jei ir tik
jei abu loginės reikšmės yra tiesa, o ar veikimo
bus ir tuo atveju, arba vienas iš į loginę ar abu yra tiesa.
Taigi atsižvelgiant į tai, pamatyti, jei galite išsiaiškinti
ką reikia sąlyga Jūsų Do-o kilpa netinkamą n
bus.
>> Su tuo, mes paskatino ir patvirtinti už piramidės aukščio vartotojo
kad jie nori.
Taigi, dabar, tai iki mūsų atkreipti piramidę.
Pilnas piramidės tai problema atrodys truputį
kaip tai, kur mes turime kaire piramidę, kai tarpas, ir toliau dešiniuoju piramidės.
Taigi leiskite padalyti ją truputį.
>> Jei aš einu mano teksto redaktoriumi, čia aš sudarytas mums kairiuoju-suderinta piramidę.
Bet tai bus ne.
Ką mes norime padaryti, tai mes norime sukurti tinkamą sulygiuoti piramidę pirmasis.
Taigi, norint tai padaryti, tiesiog paspauskite Mano maišas kartu į šoną,
Aš tik ketina pateikti kai kuriuos simbolius tarp jų, vos šiais taškais.
Tada aš ruošiuosi įdėti du ant kitą eilutę, ir vienas ant tos linijos.
Ir todėl čia aš turiu dešiniuoju pelės suderinta piramidę.
>> Po to, aš ruošiuosi grįžti į viršų eilės
ir įdėti į tarpą, kuris yra, už spec, dviejų skyrių.
Tada aš ruošiuosi užpildyti kitos pusės piramidės.
Aš ruošiuosi eiti į antroje eilėje, rašyti dvi erdves spragą ir tada du
maišos.
Grįžti į trečią iš eilės, du erdves GAP ir trys masyvuose.
Ir pabaigoje, dvi erdves GAP ir keturi masyvuose.
Taigi tai, kas visiškai piramidė atrodys.
>> Žinoma, mes nenorime Šie taškai į kelią.
Taigi, mes ketiname pakeisti šias taškų įgyvendinant kai kurias erdves.
Vienas, du, trys pirmoje eilutėje.
Vienas, du ant sekundę.
Ir vienas trečią linija.
Taigi, tai yra tai, ką darytume, jei mes norėjau tiesiog padaryti visą piramidę,
pasakyti, mūsų tekstų redaktoriumi.
>> Taigi leiskite į tai, suprasti modelius,
ir konvertuoti jį į tam tikrą Pseudocode.
Kiekvienam piramidės eilės, mes nori spausdinti kairįjį piramidę ir tada
tarpas ir tada teisę piramidės.
Už kairės piramidės, mes spausdinti reikiama suma erdvėse,
po jų masyvuose.
Tada mes spausdinti spragą, kuri yra tik dvi erdves kiekvieną kartą.
Ir teisinga piramidės, mes spausdinti reikalaujamas skaičius masyvuose.
>> Antrą iš eilės, mes atlikome lygiai tas pats procesas.
Mes spausdinti erdves kairėje piramidė, reikiama suma
iš masyvuose, atotrūkis, dviejų skyrių, ir tada visos teisės piramidės maišas.
>> Leiskite spręsti modelį už kairės piramidės.
Jei turėčiau, tikslais Šio Pavyzdžiui, aukštis
aštuonių užsakyta pagal vartotojas, tada mano pirmoji eilutė
būtų turėti vieną maiša ir septynis erdves.
Mano antroji eilutė turėtų du maišas, šeši erdvėse.
Trečioje eilėje trys maišas, penki skyriai.
Jūs tikriausiai galite tai padaryti Būk aštuoniuose aukščio
ir nustatyti kiekvieno iš eilės, kiek maišas ir kiek erdvės reikia.
Bet tai, ką norime padaryti, tai norime abstrakti ji.
Taigi aš prašau jus už bet Neribotos eilės Kiek maišas ir kiek erdves mums reikia?
>> Dabar, kaip jūs nustatote raštas, kaip daugelis masyvuose
ir kiek erdvės jums reikia bet n-tasis eilutė tam tikro aukščio,
nepamirškite būti atsargūs kaip jūs indeksavimo.
Ką reiškia tai, kad kasdien gyvenimas dauguma iš mūsų pradėti skaičiuoti po vieną.
Taigi pirmas eilėje būtų numeris vienas.
Ir antra eilutė būtų eilutė numeris du, taip toliau ir taip toliau.
>> Bet kompiuterių mokslo ir CS50, mes nulinės indeksuojami.
Taigi, mes iš tikrųjų pradėti skaičiuoti iki nulio.
Taigi pirmas eilėje būtų būti eilutės numeris nulis.
Ir antra eilutė būtų eilutės numeris vienas.
Taigi, jei aš turėjo aštuonių aukštį mano piramidės, tada paskutinis vertė n
tiesų būtų septyni, o ne aštuoni.
>> Taigi būkite atsargūs, apie tai.
Ir žinoti, kai jūs nustatyti Jūsų modelis, ar jūsų nulis indeksuotas
ar vieną indeksuojami
>> GERAI.
Taigi dabar, kad mes turime raštas, iš kairės piramidės,
turime nustatyti už atotrūkis modelis.
Laimei, tai tikrai paprasta.
Tai tiesiog visada dvi erdves.
>> Taigi dabar mes pereisime į dešinę modelio.
Pirmoji eilutė turės vieną maišos.
Antroje eilėje, du.
Trečioje eilėje trys.
Taip toliau ir taip toliau.
Taigi dar kartą, nustatyti, bet abstraktus n ir bet kokiame aukštyje, kiek maišas
ir kiek erdves kiekvienoje eilutėje turėtų būti.
>> GERAI.
Taigi mes žinome, kad kiekvienoje eilutėje mes reikia atlikti tam tikrą procesą.
Kaip mes tai darome?
Na, mes naudojame už kilpos konstruktą, susideda iš iniciacijos,
būklė ir atnaujinimas.
Už kilpos gali būti naudojamas pakartoti procesus.
>> Taigi pasakyti, kad aš noriu, kad ji sako labas, Pasaulio 50 kartų, tada mano for ciklas
atrodytų kažką panašaus į tai, kur Aš inicijuoti mano kintamasis iki nulio.
Sąlyga yra tai, kad i yra mažiau nei 50.
Ir tada naujinimas yra tai, kad didėja po vieną, kiekvieną kartą.
Taigi, kas tai darys būtų spausdinti Hello, World 50 kartus iš eilės.
>> Dabar, sako, kad aš norėjau pakartoti per piramidės aukščio.
Tada vietoj kietojo kodavimo kai tokios būklės vertė,
Aš tiesiog naudoti kintamo aukščio.
Taigi, kas tai darys kartoti per aukštį kiekvienoje eilutėje.
Ir aš galiu padaryti kažką viduje iš tos linijos kūno.
>> Ką mes norime padaryti viduje kilpos kūno?
Na, kaip mes nurodyta anksčiau, mes norime spausdinti erdves ir maišų
už kairės piramidės ir tada atspausdinti dvi erdves, ir tada spausdinti maišų.
Taigi, mes jau suprato, kad iš.
Taigi, mes galime pradėti užpildyti mūsų programoje daug daugiau.
>> Čia aš su išoriniu už kilpos, kad kartojasi per kiekvieną eilutę piramidės.
Ir viduje tos įstaigos aš ruošiuosi spausdinti erdvių pakartotinai,
maišos pakartotinai, ir tada tarpas, ir tada maišos už teisę piramidės,
ir tada, galiausiai, nauja linija pradėti kitą eilutę.
>> Su tuo, mes paskatino už indėlį vartotojas.
Mes pasistengėme, kad tai galioja.
Ir tada mes atkreipė piramidę.
Taigi Mario gali sėkmingai lipti piramidę.
>> Mano vardas Zamyla.
Ir tai yra CS50.