1 00:00:00,000 --> 00:00:09,250 2 00:00:09,250 --> 00:00:11,070 >> ZAMYLA CHAN: Pojďme skok do Mario. 3 00:00:11,070 --> 00:00:14,850 Mario je program, kde budeme dělat naše vlastní, byť primitivní verze 4 00:00:14,850 --> 00:00:17,760 klasické Super Mario Brothers Hra pozadí. 5 00:00:17,760 --> 00:00:21,100 Pro tento problém souboru, budeme obnovit poloviny pyramida pro 6 00:00:21,100 --> 00:00:23,000 Mario skočit na. 7 00:00:23,000 --> 00:00:27,330 Náš program bude interaktivní, takže je vyzve uživatele k zadání určité 8 00:00:27,330 --> 00:00:28,660 výška pro pyramidy. 9 00:00:28,660 --> 00:00:32,920 A program bude tisknout půl pyramida této výšce, kde se 10 00:00:32,920 --> 00:00:37,390 vlevo dole hash zarovnán s dolní v levém horním rohu terminálu 11 00:00:37,390 --> 00:00:39,710 Výstupní okno. 12 00:00:39,710 --> 00:00:44,870 >> Pojďme prolomit tento problém do dvou částí, jeden, získat vstup od uživatele, a dva, 13 00:00:44,870 --> 00:00:47,040 vytisknout pyramidu. 14 00:00:47,040 --> 00:00:51,150 Pamatujte si, že když GetInt funkce bude načítat celé číslo, můžete 15 00:00:51,150 --> 00:00:56,260 se ujistit, že tento vstup je Smysl pro váš program, takže 16 00:00:56,260 --> 00:00:59,690 Mario, nebude to dělat jen Produkt na celé číslo. 17 00:00:59,690 --> 00:01:03,440 Budete potřebovat, aby se ujistil, že uživatel vstupy celé číslo, které je v rámci 18 00:01:03,440 --> 00:01:06,985 dolní a horní meze pyramidy, které si můžete vytisknout. 19 00:01:06,985 --> 00:01:12,300 Na tomto spec, je to 0 a 23 včetně. 20 00:01:12,300 --> 00:01:16,410 Pokud uživatel zadá celočíselnou mimo z našich uznávaných hranic, pak chceme 21 00:01:16,410 --> 00:01:20,840 výzvu znovu a znovu, dokud Dávají nám platné číslo. 22 00:01:20,840 --> 00:01:25,990 >> Jeden způsob, jak zajistit správné uživatelské vstup je pomocí do-while smyčky, která je 23 00:01:25,990 --> 00:01:28,100 velmi podobný cyklu while. 24 00:01:28,100 --> 00:01:32,580 Do-while smyčky spustí kód uvnitř těla jednou, a pak zkontroluje 25 00:01:32,580 --> 00:01:35,270 zda je podmínka splněna či nikoliv. 26 00:01:35,270 --> 00:01:38,830 To je užitečné pro získání vstupu uživatele protože víte, že budete potřebovat 27 00:01:38,830 --> 00:01:41,805 vyzvat alespoň jednou. 28 00:01:41,805 --> 00:01:45,940 Pokud podmínka není splněna, program spustí linku po 29 00:01:45,940 --> 00:01:47,270 vaše do-while smyčky. 30 00:01:47,270 --> 00:01:50,950 Pokud je podmínka splněna, i když, se opakovala. 31 00:01:50,950 --> 00:01:55,560 >> Do-while smyčky pro ověřování uživatele Vstup bude vypadat nějak takhle. 32 00:01:55,560 --> 00:02:02,920 Prohlašuji, proměnné n, GetInt, a postup opakujte, dokud n je platný. 33 00:02:02,920 --> 00:02:06,270 Pamatujte si, že když deklarujete svůj variabilní, je třeba vhodným 34 00:02:06,270 --> 00:02:08,449 rozsah, stejně jako v Scratch. 35 00:02:08,449 --> 00:02:12,510 Pokud Prohlašuji n uvnitř mého do-while smyčky, Zbytek programu nebude 36 00:02:12,510 --> 00:02:13,750 k němu mít přístup. 37 00:02:13,750 --> 00:02:16,100 Je omezen na hranice ze složených závorek. 38 00:02:16,100 --> 00:02:19,010 39 00:02:19,010 --> 00:02:23,090 >> Dobře, takže teď, když jsme ověřena uživatelského vstupu, jsme skutečně potřebují, aby 40 00:02:23,090 --> 00:02:25,020 čerpat tuto poloviny pyramida. 41 00:02:25,020 --> 00:02:29,700 Je vyrobeno z hůlkovým písmem, takže pojďme se polovina pyramida v jednoduché 42 00:02:29,700 --> 00:02:31,480 textový editor. 43 00:02:31,480 --> 00:02:35,920 Chceme-li, aby byl styl Mario pyramidu výšky tří, který je zarovnán 44 00:02:35,920 --> 00:02:41,370 na levé straně našeho okna, pak bychom zadejte dva hashe, klepněte na tlačítko Enter, 45 00:02:41,370 --> 00:02:47,180 zadejte tři hashe, klepněte na tlačítko Enter a zadejte čtyři. 46 00:02:47,180 --> 00:02:51,090 >> Ale v této problémové sady, naše půl pyramida musí být zarovnány vpravo. 47 00:02:51,090 --> 00:02:55,550 Používání standardní klávesnice, možná jak upravit tento soubor přesunout hashe 48 00:02:55,550 --> 00:02:57,210 na na pravé straně? 49 00:02:57,210 --> 00:03:03,190 Mohl bych použít na podtržítka, dva na Horní řádek a jeden na druhém. 50 00:03:03,190 --> 00:03:07,690 To nevypadá tak hezky, i když, tak pojďme nahradí podtržítka 51 00:03:07,690 --> 00:03:12,450 prostory, a tam máme půl pyramidu výšky tří. 52 00:03:12,450 --> 00:03:16,330 >> Pokuste se zapamatovat tento textový editor Příklad, jak začnete přemýšlet zpět do 53 00:03:16,330 --> 00:03:20,100 C. Zkusme zjistit některé druh vzoru, který můžeme 54 00:03:20,100 --> 00:03:22,750 dát do smyčky konstruktu. 55 00:03:22,750 --> 00:03:27,570 Vezměte si příklad výšku, řekněme osm, a uvidíme, jestli můžete začít 56 00:03:27,570 --> 00:03:29,470 přijít se vzorem. 57 00:03:29,470 --> 00:03:34,710 První řádek bude mít sedm míst následují dvě hash. 58 00:03:34,710 --> 00:03:40,090 Druhá řada bude mít šest míst a tři hodnoty hash, a tak dále, dokud 59 00:03:40,090 --> 00:03:41,440 Osmý řádek. 60 00:03:41,440 --> 00:03:45,210 >> Ale jak by představovalo n-tý řádek? 61 00:03:45,210 --> 00:03:48,170 Nezapomeňte, že programovací konvence je nula indexovány. 62 00:03:48,170 --> 00:03:51,870 To znamená, že začnete počítat od nula, takže první řádek je technicky 63 00:03:51,870 --> 00:03:57,110 číslo řádku nula dva poklopy, řadové číslo jedna má tři křížky řádek 64 00:03:57,110 --> 00:04:01,860 číslo dvě má ​​čtyři hashe, takže po Tento vzor pro každou řádku 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, i když, najít se vzorem pro prostory. 67 00:04:09,270 --> 00:04:12,240 Pamatujte, že váš model bude mírně odlišná, pokud se rozhodnete 68 00:04:12,240 --> 00:04:16,649 začněte počítat od jeden a není nula. 69 00:04:16,649 --> 00:04:19,560 >> Nyní máte vzor pro každý řádek abstraktní n. 70 00:04:19,560 --> 00:04:25,190 Víte, kolik místa chcete vytisknout, a kolik hash, takže pro každý řádek, který 71 00:04:25,190 --> 00:04:26,270 Číslo se změní. 72 00:04:26,270 --> 00:04:30,700 Ale stejný proces tisku znak, buď mezera nebo 73 00:04:30,700 --> 00:04:33,200 hash, se opakuje. 74 00:04:33,200 --> 00:04:37,470 Takže vše, co musíte udělat, je opakovaně vytisknout tuto postavu tolikrát, kolikrát 75 00:04:37,470 --> 00:04:40,120 jako váš vzor stanoví. 76 00:04:40,120 --> 00:04:42,522 >> Tak jak jsme se opakovat procesy? 77 00:04:42,522 --> 00:04:45,160 V Scratch, jsme použili opakování bloku. 78 00:04:45,160 --> 00:04:48,580 V jazyce C, budeme používat pro smyčce. 79 00:04:48,580 --> 00:04:51,290 Pojďme se podívat na syntax pro cykly for. 80 00:04:51,290 --> 00:04:57,140 >> Každý pro vedení se skládá ze tří díly, inicializace, podmínka, 81 00:04:57,140 --> 00:04:58,592 a aktualizace. 82 00:04:58,592 --> 00:05:01,550 Pro Váš smyčka inicializovat proměnná, když se poprvé 83 00:05:01,550 --> 00:05:02,960 vstoupí pro smyčce. 84 00:05:02,960 --> 00:05:07,100 Pokud je podmínka splněna, tělo ze smyčky budou provedeny. 85 00:05:07,100 --> 00:05:10,070 Poté bude aktualizace provádět. 86 00:05:10,070 --> 00:05:13,630 >> Pokud je podmínka splněna ještě, smyčka bude provádět a aktualizovat a 87 00:05:13,630 --> 00:05:18,580 opakovat tak dlouho, jak Váš zdravotní stav vyhodnotí jako True. 88 00:05:18,580 --> 00:05:21,450 Jste podmínka musí nakonec zhodnotit FALSE, ačkoli, protože 89 00:05:21,450 --> 00:05:24,490 Na rozdíl od nuly, my ne nějaké Forever smyčky. 90 00:05:24,490 --> 00:05:28,270 Váš program musí skončit nakonec. 91 00:05:28,270 --> 00:05:32,330 >> Zde je příklad smyčky for, která budete chtít použít pro Mario. 92 00:05:32,330 --> 00:05:36,790 Inicializace prohlašuje, číslo i s hodnotou 0. 93 00:05:36,790 --> 00:05:40,750 Tak dlouho, jak je i menší, než je výška, tělo smyčky bude provádět a 94 00:05:40,750 --> 00:05:44,980 zvýšit i jeden a opakovat až i je větší než, nebo 95 00:05:44,980 --> 00:05:47,220 rovná výšce. 96 00:05:47,220 --> 00:05:49,140 >> Nyní, můj for je nulový index. 97 00:05:49,140 --> 00:05:52,270 Int i začíná na nule, ne jeden. 98 00:05:52,270 --> 00:05:55,320 Pokud jsem si vybral jeden, pak se můj stav by měl také musí být odlišné pro 99 00:05:55,320 --> 00:05:58,740 smyčky provést stejný počet opakování. 100 00:05:58,740 --> 00:06:03,490 Nezapomeňte pozorně, když jste výběrem inicializaci a vaše 101 00:06:03,490 --> 00:06:08,660 stav a poraďte se to graf překontrolovat. 102 00:06:08,660 --> 00:06:13,430 >> Jedna z velkých věcí, o počítači věda je, že tam je tak mnoho 103 00:06:13,430 --> 00:06:15,490 způsoby execute věci. 104 00:06:15,490 --> 00:06:19,450 Můžete si vybrat, zda si začít od nuly, nebo jedna. 105 00:06:19,450 --> 00:06:22,380 Pokud nechcete použít pro smyčce, můžete také použít cyklus while se 106 00:06:22,380 --> 00:06:26,530 opakovat příkazy tak dlouho, dokud vás zachovat podstatu Pro smyčky, 107 00:06:26,530 --> 00:06:31,430 inicializace, podmínka, a aktualizace. 108 00:06:31,430 --> 00:06:36,890 Jakmile zjistíme, že pro smyčce jsme nejvíce vyhovuje, pak 109 00:06:36,890 --> 00:06:38,450 můžete dokončit Mario. 110 00:06:38,450 --> 00:06:41,540 >> Nejprve kontroluje vstup uživatele a pak identifikovány 111 00:06:41,540 --> 00:06:43,580 vzor pro každou řádku n. 112 00:06:43,580 --> 00:06:49,990 Takže pro každý řádek od nuly do N mínus 1 vytiskne příslušný počet 113 00:06:49,990 --> 00:06:55,340 prostory, pak se odpovídající počet hashe podle našeho vzoru, a 114 00:06:55,340 --> 00:06:57,180 pak nový řádek. 115 00:06:57,180 --> 00:06:59,640 S tím máte pyramidu. 116 00:06:59,640 --> 00:07:02,630 Jmenuji se Zamyla, a to byl Mario. 117 00:07:02,630 --> 00:07:11,765