ZAMYLA CHAN: Lad os hoppe ind Mario. Mario er et program, hvor vi vil gøre vores egne, om end primitive, version af en klassisk Super Mario Brothers spil baggrund. Til dette problem sæt, vil vi at genskabe den halve pyramide for Mario til at hoppe på. Vores program vil være interaktivt, så det vil bede brugeren om at indtaste en bestemt højde for i pyramiden. Og programmet vil udskrive en halv pyramide af denne højde, hvor nederste venstre hash flugter med bunden venstre hjørne af terminalen output-vinduet. Lad os bryde dette problem i to dele, en, få bruger-input, og to, udskrive pyramiden. Husk, at selv om GetInt funktionen henter et heltal, du nødt til at sørge for, at denne indgang gør mening for dit program, så i Mario, vil det ikke gøre bare en produkt til et heltal. Du bliver nødt til at sørge for, at brugeren indgange Et heltal, der er inden for nedre og øvre grænse for pyramide, som du kan udskrive. Per dette spec, er det 0 og 23 inklusive. Hvis brugeren indgange en heltal uden af vores accepterede bounds, vi derefter ønsker at bede dem igen og igen, indtil de giver os et gyldigt heltal. En måde at sikre korrekt brugerinput er ved hjælp af en do-while løkke, er der meget lig en While-løkke. Do-While loop udfører koden inde i kroppen én gang, og kontrollerer derefter om betingelsen er opfyldt eller ej. Dette er nyttigt for at opnå brugerinput fordi du ved, at du har brug for at bede dem mindst en gang. Hvis betingelsen ikke er opfyldt, vil programmet vil køre linjen efter Deres do-while løkke. Hvis betingelsen er opfyldt, selv om, sløjfen vil gentage. En do-while løkke for validering bruger input vil se noget som dette. Jeg erklærer en variabel n, GetInt, og gentag indtil n er gyldig. Husk, at når du erklære din variabel, det kræver passende omfang, ligesom i Scratch. Hvis jeg erklærer n inde i mit do-while løkke, resten af ​​programmet vil ikke være i stand til at få adgang til det. Det er begrænset til rammerne af de krøllede parenteser. Okay, så nu, hvor vi har valideret brugerens input, vi faktisk har brug for at drage denne halv-pyramide. Det består af trykte bogstaver, så lad os gøre en halv pyramide i en enkel teksteditor. Hvis vi ønsker at gøre en Mario stil pyramide af højden tre, der er tilpasset på venstre side af vores vindue, så vi ville skrive to hashes, klik på Enter, skriv derefter tre hashes, klik Enter, og skriv derefter fire. Men i dette problem sæt, vores halv pyramide skal højrejusteret. Ved hjælp af en standard tastatur, måske hvordan du ændrer denne fil til at flytte hashes over til højre? Jeg kunne bruge til understregninger, to på øverste række og en på den anden. Det ser ikke så godt, men så lad os erstatte understregningstegnene med mellemrum, og der har vi en halv pyramide af højden tre. Prøv at huske denne tekst editor eksempel som du begynder at tænke tilbage til C. Lad os prøve og finde ud af nogle slags mønster, vi kan sat i en løkke konstruktion. Tag et eksempel højde, siger otte, og se om du kan begynde at komme op med et mønster. Den første række vil have syv pladser efterfulgt af to hashes. Den anden række har seks rum og tre hashes, og så videre, indtil ottende række. Men hvordan ville du repræsenterer den n'te række? Husk, at programmeringen konvention er nul indekseret. Det betyder, at du begynde at tælle på nul, så den første række er teknisk rækkenummer nul med to luger, række nummer et har tre hashes, række nummer to har fire hashes, så efter dette mønster for enhver række Tallet n, der er n plus 2 hashes. Jeg vil overlade det til dig, selv om, for at finde mønsteret ud for rummene. Husk, at dit mønster vil være lidt anderledes, hvis du vælger at starte din tæller fra én og ikke nul. Nu har du et mønster for enhver abstrakt række n.. Du ved, hvor mange rum til at udskrive og hvor mange hashes, så for hver række, der nummer vil ændre sig. Men den samme proces med at udskrive en enkelt tegn, enten et mellemrum eller et hash, gentages. Så alt hvad du skal gøre er gentagne udskrive denne karakter for så mange gange som dit mønster bestemmer. Så hvordan kan vi gentager processer? I Scratch, brugte vi den gentagne blok. I C, bruger vi en for-løkke. Lad os se på syntaksen for For løkker. Hver For løkke består af tre dele, en initialisering, en tilstand, og en opdatering. Din For loop vil initialisere en variabel, når det først træder For-løkken. Hvis betingelsen er opfyldt, kroppen af løkken vil køre. Bagefter vil opdateringen udføres. Hvis tilstanden stadig er opfyldt, løkke vil udføre og opdatere og gentages, så længe din tilstand evalueres til True. Du betingelse skal i sidste ende værdisætte til falsk, men fordi i modsætning til Scratch, gør vi ikke har nogen Forever sløjfer. Dit program skal ende sidst. Her er et eksempel på en for-løkke, der du måske ønsker at bruge til Mario. Initialisering erklærer et heltal i med værdien 0. Så længe i er mindre end højden, kroppen af ​​løkken vil udføre og forhøje i af én og gentag indtil jeg er større end eller lig med højden. Nu, min For loop er nul indeks. Den int i starter ved nul, ikke én. Hvis jeg valgte en, så min tilstand ville også være forskellig for løkken at udføre samme antal gange. Husk dette omhyggeligt, når du er vælge din initialisering og din tilstand og konsultere denne kortlægge at dobbelttjekke. En af de gode ting ved computeren videnskaben er, at der er lige så mange måder at udføre tingene. Du kan vælge, om du starter ved nul eller én. Hvis du ikke ønsker at bruge en for-løkke, du kan også bruge en while-løkke til gentage udsagn, så længe du holde essensen af ​​en for-løkke, initialisering, tilstand og opdatering. Når vi finde ud af det For løkke, vi er mest komfortabel med, så vi kan fuldføre Mario. Vi først kontrolleres for bruger input og derefter identificeret en mønster for enhver række n.. Så for hver række fra nul til n minus 1 vil udskrive et passende antal mellemrum, så det passende antal hashes Ifølge vores mønster, og derefter en ny linje. Med det, har du din pyramide. Mit navn er Zamyla, og det var Mario.