1 00:00:00,000 --> 00:00:09,250 2 00:00:09,250 --> 00:00:11,070 >> ZAMYLA CHAN: Poďme skok do Mario. 3 00:00:11,070 --> 00:00:14,850 Mario je program, kde budeme robiť naše vlastné, hoci primitívne verzie 4 00:00:14,850 --> 00:00:17,760 klasické Super Mario Brothers Hra pozadia. 5 00:00:17,760 --> 00:00:21,100 Pre tento problém súboru, budeme obnoviť polovice pyramída pre 6 00:00:21,100 --> 00:00:23,000 Mario skočiť na. 7 00:00:23,000 --> 00:00:27,330 Náš program bude interaktívne, takže je vyzve užívateľa na zadanie určitej 8 00:00:27,330 --> 00:00:28,660 výška pre pyramídy. 9 00:00:28,660 --> 00:00:32,920 A program bude tlačiť pol pyramída tejto výške, kde sa 10 00:00:32,920 --> 00:00:37,390 vľavo dole hash zarovnaný s dolnou v ľavom hornom rohu terminálu 11 00:00:37,390 --> 00:00:39,710 Výstupné okno. 12 00:00:39,710 --> 00:00:44,870 >> Poďme prelomiť tento problém do dvoch častí, jeden, získať vstup od užívateľa, a dva, 13 00:00:44,870 --> 00:00:47,040 vytlačiť pyramídu. 14 00:00:47,040 --> 00:00:51,150 Pamätajte si, že keď GetInt funkcie bude načítať celé číslo, môžete 15 00:00:51,150 --> 00:00:56,260 sa uistiť, že tento vstup je Zmysel pre váš program, takže 16 00:00:56,260 --> 00:00:59,690 Mario, nebude to robiť len Produkt na celé číslo. 17 00:00:59,690 --> 00:01:03,440 Budete potrebovať, aby sa ubezpečil, že užívateľ vstupy celé číslo, ktoré je v rámci 18 00:01:03,440 --> 00:01:06,985 dolnej a hornej hranice pyramídy, ktoré si môžete vytlačiť. 19 00:01:06,985 --> 00:01:12,300 Na tomto spec, je to 0 a 23 vrátane. 20 00:01:12,300 --> 00:01:16,410 Ak používateľ zadá celočíselnú mimo z našich uznávaných hraníc, potom chceme 21 00:01:16,410 --> 00:01:20,840 výzvu znova a znova, až kým Dávajú nám platné číslo. 22 00:01:20,840 --> 00:01:25,990 >> Jeden spôsob, ako zabezpečiť správne užívateľské vstup je pomocou do-while slučky, ktorá je 23 00:01:25,990 --> 00:01:28,100 veľmi podobný cyklu while. 24 00:01:28,100 --> 00:01:32,580 Do-while slučky spustí kód vnútri tela raz, a potom skontroluje 25 00:01:32,580 --> 00:01:35,270 či je podmienka splnená alebo nie. 26 00:01:35,270 --> 00:01:38,830 To je užitočné pre získanie vstupu používateľa pretože viete, že budete potrebovať 27 00:01:38,830 --> 00:01:41,805 vyzvať aspoň raz. 28 00:01:41,805 --> 00:01:45,940 Ak podmienka nie je splnená, program spustí linku po 29 00:01:45,940 --> 00:01:47,270 vaše do-while slučky. 30 00:01:47,270 --> 00:01:50,950 Ak je podmienka splnená, aj keď, sa opakovala. 31 00:01:50,950 --> 00:01:55,560 >> Do-while slučky pre overovanie užívateľa Vstup bude vyzerať nejako takto. 32 00:01:55,560 --> 00:02:02,920 Prehlasujem, premenné n, GetInt, a postup opakujte, kým n je platný. 33 00:02:02,920 --> 00:02:06,270 Pamätajte si, že keď deklarujete svoj variabilné, je potrebné vhodným 34 00:02:06,270 --> 00:02:08,449 rozsah, rovnako ako v Scratch. 35 00:02:08,449 --> 00:02:12,510 Ak Prehlasujem n vnútri môjho do-while slučky, Zvyšok programu nebude 36 00:02:12,510 --> 00:02:13,750 k nemu mať prístup. 37 00:02:13,750 --> 00:02:16,100 Je obmedzený na hranice zo zložených zátvoriek. 38 00:02:16,100 --> 00:02:19,010 39 00:02:19,010 --> 00:02:23,090 >> Dobre, takže teraz, keď sme overená užívateľského vstupu, sme skutočne potrebujú, aby 40 00:02:23,090 --> 00:02:25,020 čerpať túto polovice pyramída. 41 00:02:25,020 --> 00:02:29,700 Je vyrobené z paličkovým písmom, takže poďme sa polovica pyramída v jednoduchej 42 00:02:29,700 --> 00:02:31,480 textový editor. 43 00:02:31,480 --> 00:02:35,920 Ak chceme, aby bol štýl Mario pyramídu výšky troch, ktorý je zarovnaný 44 00:02:35,920 --> 00:02:41,370 na ľavej strane nášho okna, potom by sme zadajte dva hashe, kliknite na tlačidlo Enter, 45 00:02:41,370 --> 00:02:47,180 zadajte tri hashe, kliknite na tlačidlo Enter a zadajte štyri. 46 00:02:47,180 --> 00:02:51,090 >> Ale v tejto problémovej sady, naše pol pyramída musia byť zarovnané vpravo. 47 00:02:51,090 --> 00:02:55,550 Používanie štandardnej klávesnice, možno ako upraviť tento súbor presunúť hashe 48 00:02:55,550 --> 00:02:57,210 na na pravej strane? 49 00:02:57,210 --> 00:03:03,190 Mohol by som použiť na podčiarknutia, dva na Horný riadok a jeden na druhom. 50 00:03:03,190 --> 00:03:07,690 To nevyzerá tak pekne, aj keď, tak poďme nahradí podčiarknutia 51 00:03:07,690 --> 00:03:12,450 priestory, a tam máme pol pyramídu výšky troch. 52 00:03:12,450 --> 00:03:16,330 >> Pokúste sa zapamätať tento textový editor Príklad, ako začnete premýšľať späť do 53 00:03:16,330 --> 00:03:20,100 C. Skúsme zistiť niektoré druh vzoru, ktorý môžeme 54 00:03:20,100 --> 00:03:22,750 dať do slučky konštruktu. 55 00:03:22,750 --> 00:03:27,570 Vezmite si príklad výšku, povedzme osem, a uvidíme, či môžete začať 56 00:03:27,570 --> 00:03:29,470 prísť sa vzorom. 57 00:03:29,470 --> 00:03:34,710 Prvý riadok bude mať sedem miest nasledujú dve hash. 58 00:03:34,710 --> 00:03:40,090 Druhá rada bude mať šesť miest a tri hodnoty hash, a tak ďalej, až kým 59 00:03:40,090 --> 00:03:41,440 Ôsmy riadok. 60 00:03:41,440 --> 00:03:45,210 >> Ale ako by predstavovalo n-tý riadok? 61 00:03:45,210 --> 00:03:48,170 Nezabudnite, že programovací konvencie je nula indexované. 62 00:03:48,170 --> 00:03:51,870 To znamená, že začnete počítať od nula, takže prvý riadok je technicky 63 00:03:51,870 --> 00:03:57,110 číslo riadku nula dva poklopy, radové číslo jedna má tri krížiky riadok 64 00:03:57,110 --> 00:04:01,860 číslo dva má štyri hashe, takže po Tento vzor pre každý riadok 65 00:04:01,860 --> 00:04:05,800 číslo n existuje n a 2 hashe. 66 00:04:05,800 --> 00:04:09,270 Nechám to na vás, aj keď, nájsť sa vzorom pre priestory. 67 00:04:09,270 --> 00:04:12,240 Pamätajte, že váš model bude mierne odlišná, ak sa rozhodnete 68 00:04:12,240 --> 00:04:16,649 začnite počítať od jeden a nie je nula. 69 00:04:16,649 --> 00:04:19,560 >> Teraz máte vzor pre každý riadok abstraktné n 70 00:04:19,560 --> 00:04:25,190 Viete, koľko miesta chcete vytlačiť, a koľko hash, takže pre každý riadok, ktorý 71 00:04:25,190 --> 00:04:26,270 Číslo sa zmení. 72 00:04:26,270 --> 00:04:30,700 Ale rovnaký proces tlače znak, buď medzera alebo 73 00:04:30,700 --> 00:04:33,200 hash, sa opakuje. 74 00:04:33,200 --> 00:04:37,470 Takže všetko, čo musíte urobiť, je opakovane vytlačiť túto postavu toľkokrát, koľkokrát 75 00:04:37,470 --> 00:04:40,120 ako váš vzor stanovuje. 76 00:04:40,120 --> 00:04:42,522 >> Tak ako sme sa opakovať procesy? 77 00:04:42,522 --> 00:04:45,160 V Scratch, sme použili opakovanie bloku. 78 00:04:45,160 --> 00:04:48,580 V jazyku C, budeme používať pre sláčiky. 79 00:04:48,580 --> 00:04:51,290 Poďme sa pozrieť na syntax pre cykly for. 80 00:04:51,290 --> 00:04:57,140 >> Každý pre vedenie sa skladá z troch diely, inicializácia, podmienka, 81 00:04:57,140 --> 00:04:58,592 a aktualizácie. 82 00:04:58,592 --> 00:05:01,550 Pre Váš slučka inicializovať premenná, keď sa prvýkrát 83 00:05:01,550 --> 00:05:02,960 vstúpi na slučke. 84 00:05:02,960 --> 00:05:07,100 Ak je podmienka splnená, telo zo slučky budú vykonané. 85 00:05:07,100 --> 00:05:10,070 Potom bude aktualizácia vykonávať. 86 00:05:10,070 --> 00:05:13,630 >> Ak je podmienka splnená ešte, slučka bude vykonávať a aktualizovať a 87 00:05:13,630 --> 00:05:18,580 opakovať tak dlho, ako Váš zdravotný stav vyhodnotí ako True. 88 00:05:18,580 --> 00:05:21,450 Ste podmienka musí nakoniec zhodnotiť FALSE, hoci, pretože 89 00:05:21,450 --> 00:05:24,490 Na rozdiel od nuly, my nie nejaké Forever slučky. 90 00:05:24,490 --> 00:05:28,270 Váš program musí skončiť nakoniec. 91 00:05:28,270 --> 00:05:32,330 >> Tu je príklad slučky for, ktorá budete chcieť použiť pre Mario. 92 00:05:32,330 --> 00:05:36,790 Inicializácia prehlasuje, číslo aj s hodnotou 0. 93 00:05:36,790 --> 00:05:40,750 Tak dlho, ako je aj menšia, ako je výška, telo slučky bude vykonávať a 94 00:05:40,750 --> 00:05:44,980 zvýšiť aj jeden a opakovať až i je väčšia ako, alebo 95 00:05:44,980 --> 00:05:47,220 rovná výške. 96 00:05:47,220 --> 00:05:49,140 >> Teraz, môj for je nulový index. 97 00:05:49,140 --> 00:05:52,270 Int i začína na nule, nie jeden. 98 00:05:52,270 --> 00:05:55,320 Ak som si vybral jeden, potom sa môj stav by mal tiež musí byť odlišné pre 99 00:05:55,320 --> 00:05:58,740 slučky vykonať rovnaký počet opakovaní. 100 00:05:58,740 --> 00:06:03,490 Nezabudnite pozorne, keď ste výberom inicializáciu a vaše 101 00:06:03,490 --> 00:06:08,660 stav a poraďte sa to graf prekontrolovať. 102 00:06:08,660 --> 00:06:13,430 >> Jedna z veľkých vecí, o počítači veda je, že tam je tak veľa 103 00:06:13,430 --> 00:06:15,490 spôsoby execute veci. 104 00:06:15,490 --> 00:06:19,450 Môžete si vybrať, či si začať od nuly, alebo jedna. 105 00:06:19,450 --> 00:06:22,380 Ak nechcete použiť pre sláčiky, môžete tiež použiť cyklus while sa 106 00:06:22,380 --> 00:06:26,530 opakovať príkazy tak dlho, kým vás zachovať podstatu Pre slučky, 107 00:06:26,530 --> 00:06:31,430 inicializácia, podmienka, a aktualizácie. 108 00:06:31,430 --> 00:06:36,890 Akonáhle zistíme, že pre sláčiky sme najviac vyhovuje, potom 109 00:06:36,890 --> 00:06:38,450 môžete dokončiť Mario. 110 00:06:38,450 --> 00:06:41,540 >> Najprv kontroluje vstup užívateľa a potom identifikované 111 00:06:41,540 --> 00:06:43,580 vzor pre každý riadok n 112 00:06:43,580 --> 00:06:49,990 Takže pre každý riadok od nuly do N mínus 1 vytlačí príslušný počet 113 00:06:49,990 --> 00:06:55,340 priestory, potom sa zodpovedajúci počet hashe podľa nášho vzoru, a 114 00:06:55,340 --> 00:06:57,180 potom nový riadok. 115 00:06:57,180 --> 00:06:59,640 S tým máte pyramídu. 116 00:06:59,640 --> 00:07:02,630 Volám sa Zamyla, a to bol Mario. 117 00:07:02,630 --> 00:07:11,765