>> ZAMYLA CHAN: Kom ons spring in Mario.
Mario is 'n program waar ons sal sorg dat ons eie, al is dit primitief, weergawe van
'n klassieke Super Mario Brothers spel agtergrond.
Vir hierdie probleem stel, ons gaan die half-piramide te skep vir
Mario om te spring op.
Ons program sal wees interaktiewe, sodat dit sal vra om die gebruiker om 'n sekere
hoogte vir die piramide.
En die program sal druk 'n half-piramide van die hoogte, waar die
onder links hash in lyn met die onderste linker hoek van die terminale
uitset venster.
>> Laat ons hierdie probleem te breek in twee dele, een, kry toevoer van die gebruiker, en twee,
druk van die piramide.
Onthou dat al die getint funksie sal 'n heelgetal haal, het jy
het om seker te maak dat hierdie insette maak sin vir jou program, so in
Mario, sal dit nie net 'n doen produk vir 'n heelgetal.
Jy nodig het om seker te maak dat die gebruiker insette 'n heelgetal wat binne die
onderste en boonste grense van die piramide wat jy kan druk.
Per hierdie spec, is dit 0 en 23 ingesluit.
As die gebruiker 'n heelgetal buite van ons aanvaarde perke, dan wil ons
hulle weer gevra en weer totdat hulle gee ons 'n geldige heelgetal.
>> Een manier om die korrekte toevoer van die gebruiker om te verseker deur die gebruik van 'n do-while lus, wat
baie soortgelyk aan 'n lus.
Die do-while lus voer die kode binne-in die liggaam 'n keer, en dan kontroleer
of die voorwaarde voldoen is of nie.
Dit is nuttig vir die verkryging van toevoer van die gebruiker want jy weet wat jy nodig het
hulle ten minste een keer gevra.
Indien die toestand nie nagekom word nie, is die program sal die lyn uit te voer na
jou do-while lus.
Indien die toestand is bereik, al is, die lus sal herhaal.
>> 'N do-while lus vir bekragtiging gebruiker insette sal lyk iets soos hierdie.
Ek verklaar 'n veranderlike n, getint, en herhaal totdat n geldig is.
Onthou dat wanneer jy vertel jou veranderlike, is dit nodig om die toepaslike
omvang, net soos in nuuts af.
As ek verklaar n 'binne-in my do-while lus, die res van die program sal wees nie
staat is om dit te bekom.
Dit is beperk tot die grense van die krulhakies.
>> Alle reg, so nou dat ons het goedgekeur die gebruiker se insette, ons werklik nodig het om te
trek die half-piramide.
Dit is saamgestel uit gedruk karakters, so laat ons 'n half-piramide in 'n eenvoudige
teks editor.
As ons 'n Mario styl piramide te maak n hoogte van drie wat is in lyn
aan die linkerkant van ons venster, dan ons twee hashes wil tik, kliek Tik,
tik drie allegaartjies, kliek Betree, en dan tik vier.
>> Maar in hierdie probleem te stel, ons half-piramide moet regs geblok.
Met behulp van 'n standaard sleutelbord, hoe kan jy verander hierdie lêer hashes te beweeg
oor na die regterkant?
Ek kan gebruik om te beklemtoon, twee op die boonste ry en een op die tweede.
Dit lyk nie so mooi, al is, so Kom ons vervang die onderstreep met
ruimtes, en daar het ons 'n half-piramide n hoogte van drie.
>> Probeer en onthou hierdie teks editor byvoorbeeld as jy begin dink terug na
C. Kom ons probeer om uit te vind 'n paar soort patroon wat ons kan
sit in 'n lus bou.
Neem 'n voorbeeld hoogte, sê agt, en kyk of jy kan begin om te
vorendag te kom met 'n patroon.
Die eerste ry moet sewe ruimtes gevolg deur twee hashes.
Die tweede ry sal hê ses ruimtes en drie twee velde, en so aan totdat die
agtste ry.
>> Maar hoe doen jy sou verteenwoordig die nde ry?
Onthou dat programmering konvensie nul kruip.
Dit beteken dat jy begin tel by nul, so die eerste ry is tegnies
ry getal nul met twee broei, ry nommer een het drie allegaartjies, ry
nommer twee het vier allegaartjies, so volg hierdie patroon vir enige ry
n, daar is n plus 2 hashes.
Ek sal laat dit vir jou, al is, te vind uit die patroon vir die ruimtes.
Onthou dat jou patroon sal wees effens anders as jy kies om te
begin jou telling van een en nie nul nie.
>> Nou, jy het 'n patroon vir enige abstrakte ry n.
Jy weet hoeveel ruimtes te druk en hoeveel allegaartjies, so vir elke ry, wat
nommer sal verander.
Maar op die proses van die druk van 'n enkele karakter, óf 'n spasie of 'n
hash, herhaal word.
So al wat jy hoef te doen, is herhaaldelik druk daardie karakter vir so baie keer
as jou patroon bepaal.
>> So hoe herhaal ons prosesse?
In nuuts af, het ons die herhaling blok.
In C, sal ons 'n for-lus.
Kom ons kyk na die sintaksis vir Vir loops.
>> Elke For-lus bestaan ​​uit drie dele, 'n inisialisering, 'n toestand,
en 'n werk.
Vir jou lus sal inisialiseer 'n veranderlike wanneer dit die eerste
gaan die For-lus.
Indien die toestand is bereik, die liggaam van die lus sal voer.
Daarna sal die werk uit te voer.
>> Indien die toestand is nog steeds nagekom word, die lus sal voer en te werk en te
herhaal so lank as jou toestand evalueer na Waar.
Jy is toestand uiteindelik moet waardeer om vals, al is, want
Anders nuuts af, ons doen nie enige Forever loops.
Jou program moet uiteindelik eindig.
>> Hier is 'n voorbeeld van 'n For-lus wat jy dalk wil gebruik vir Mario.
Hierdie fase verklaar 'n heelgetal i met waarde 0.
So lank as wat ek is minder as die hoogte, die liggaam van die lus sal uit te voer en
verhoog i deur een en herhaal totdat ek groter as of
gelykstaande aan die hoogte.
>> Nou, my lus vir 'n nul-indeks.
Die Int Ek begin by nul, nie een nie.
As ek het een, dan is my toestand sou ook om anders te wees vir
die lus om die uit te voer dieselfde aantal kere.
Onthou dit versigtig wanneer jy die keuse van jou inisialisering en jou
toestand, en raadpleeg hierdie karteer tjek te verdubbel.
>> Een van die groot dinge oor die rekenaar wetenskap, is dat daar net so baie
maniere om dinge uit te voer.
Jy kan kies of jy begin by nul of een.
As jy wil nie 'n te gebruik vir die lus, jy kan ook gebruik om 'n while lus te
herhaal state so lank as wat jy hou die essensie van 'n For-lus,
inisialisering, toestand, en werk.
Sodra ons uit te vind die For-lus wat ons is die meeste gemaklik met, dan is ons
kan voltooi Mario.
>> Ons het eers nagegaan word vir die gebruiker se toevoer en dan geïdentifiseer is 'n
patroon vir enige ry n.
So vir elke ry van nul tot n minus 1 sal druk die toepaslike aantal
ruimtes, dan is die gepaste aantal hashes volgens ons patroon, en
dan 'n nuwe lyn.
Met dit, het jy jou piramide.
My naam is Zamyla, en dit was Mario.