1 00:00:00,000 --> 00:00:09,250 2 00:00:09,250 --> 00:00:11,070 >> ZAMYLA Chan: Nézzük ugrás Mario. 3 00:00:11,070 --> 00:00:14,850 Mario egy olyan program, ahol mi megpróbáljuk saját, bár primitív változata 4 00:00:14,850 --> 00:00:17,760 A klasszikus Super Mario Brothers játék hátterét. 5 00:00:17,760 --> 00:00:21,100 Ezt a problémát meg, megyünk hogy újra a fél-piramis 6 00:00:21,100 --> 00:00:23,000 Mario ugrik. 7 00:00:23,000 --> 00:00:27,330 A program lesz az interaktív, így megkérdezi a felhasználót, hogy adja meg az adott 8 00:00:27,330 --> 00:00:28,660 magassága a piramis. 9 00:00:28,660 --> 00:00:32,920 És a program kinyomtatja a fél-piramis, amely magas, ahol a 10 00:00:32,920 --> 00:00:37,390 bal alsó hash igazodik az alsó bal felső sarkában a terminál 11 00:00:37,390 --> 00:00:39,710 kimeneti ablak. 12 00:00:39,710 --> 00:00:44,870 >> Nézzük ezt a problémát két részre, egy, kap felhasználói, és két, 13 00:00:44,870 --> 00:00:47,040 nyomtassa ki a piramis. 14 00:00:47,040 --> 00:00:51,150 Ne feledje, hogy bár a getInt funkció letölteni egy egész szám, akkor 15 00:00:51,150 --> 00:00:56,260 kell arról, hogy az adott bemenet teszi értelme, hogy a program, így a 16 00:00:56,260 --> 00:00:59,690 Mario, akkor nem csak a termék egy egész szám. 17 00:00:59,690 --> 00:01:03,440 Szükséged lesz, hogy megbizonyosodjon arról, hogy a felhasználó bemenet egy egész számot, ami a 18 00:01:03,440 --> 00:01:06,985 alsó és felső határait a piramis, amit ki tud nyomtatni. 19 00:01:06,985 --> 00:01:12,300 Per a spec, ez 0 és 23 befogadó. 20 00:01:12,300 --> 00:01:16,410 Ha a felhasználó bemenet egy egész külső a mi elfogadott határokat, akkor szeretnénk 21 00:01:16,410 --> 00:01:20,840 kérje őket újra és újra, amíg adnak nekünk érvényes egész. 22 00:01:20,840 --> 00:01:25,990 >> Az egyik módja annak helyes felhasználói bemenet segítségével do-while hurok, amely a 23 00:01:25,990 --> 00:01:28,100 nagyon hasonlít a While ciklus. 24 00:01:28,100 --> 00:01:32,580 A do-while ciklus végrehajtja a kódot a test belsejében egyszer, majd ellenőrzi 25 00:01:32,580 --> 00:01:35,270 hogy a feltétel teljesül-e vagy sem. 26 00:01:35,270 --> 00:01:38,830 Ez hasznos lehet a felhasználói beviteli megszerzésének mert tudja, hogy szüksége van 27 00:01:38,830 --> 00:01:41,805 kérje őket legalább egyszer. 28 00:01:41,805 --> 00:01:45,940 Ha a feltétel nem teljesül, akkor a program végrehajtja a vonal után 29 00:01:45,940 --> 00:01:47,270 A do-while ciklus. 30 00:01:47,270 --> 00:01:50,950 Ha a feltétel teljesül, bár, a hurok megismétli. 31 00:01:50,950 --> 00:01:55,560 >> A do-while ciklus érvényesítésére felhasználó bemenet kinézni. 32 00:01:55,560 --> 00:02:02,920 Kijelentem, változó n getInt, és ismételjük, amíg n érvényes. 33 00:02:02,920 --> 00:02:06,270 Ne feledje, hogy ha deklaráljuk változó, szükség van a megfelelő 34 00:02:06,270 --> 00:02:08,449 köre, csakúgy, mint a Scratch. 35 00:02:08,449 --> 00:02:12,510 Ha Kijelentem n belül a do-while loop, a többi a program nem lesz 36 00:02:12,510 --> 00:02:13,750 férhetnek hozzá. 37 00:02:13,750 --> 00:02:16,100 Ez csak a határain A kapcsos zárójelek. 38 00:02:16,100 --> 00:02:19,010 39 00:02:19,010 --> 00:02:23,090 >> Rendben, most, hogy már érvényesített a felhasználó által megadott, hogy valóban szükség van, hogy 40 00:02:23,090 --> 00:02:25,020 felhívni a félig-piramis. 41 00:02:25,020 --> 00:02:29,700 Ez alkotja a nyomtatott karakterek, így nézzük, hogy egy fél-piramis egy egyszerű 42 00:02:29,700 --> 00:02:31,480 szövegszerkesztő. 43 00:02:31,480 --> 00:02:35,920 Ha azt akarjuk, hogy egy Mario stílusú piramis magasság három, ami igazodik 44 00:02:35,920 --> 00:02:41,370 a bal oldalon a mi ablakot, majd mi lenne két típusú hash kattintson az Enter, 45 00:02:41,370 --> 00:02:47,180 majd írja három hash, kattintson Enter, majd írja be a négy. 46 00:02:47,180 --> 00:02:51,090 >> De ez a probléma meg, a fél-piramis, hogy igaza van igazítva. 47 00:02:51,090 --> 00:02:55,550 Egy normál billentyűzet, hogyan lehetne akkor módosítsa ezt a fájlt, hogy mozog-kivonatok 48 00:02:55,550 --> 00:02:57,210 át a jobb oldalon? 49 00:02:57,210 --> 00:03:03,190 Lehet használni aláhúzás, kettő az felső sorban, és az egyik a második. 50 00:03:03,190 --> 00:03:07,690 Ez nem úgy néz ki, szép, bár, így nézzük cserélje ki aláhúzza a 51 00:03:07,690 --> 00:03:12,450 terek, és ott van egy fél piramis magasság három. 52 00:03:12,450 --> 00:03:16,330 >> Próbáld ki, és emlékszem, ezt a szöveget szerkesztő például elkezd gondolkodni vissza 53 00:03:16,330 --> 00:03:20,100 C. Próbáljuk kitalálni, néhány olyan minta, hogy mi lehet 54 00:03:20,100 --> 00:03:22,750 hozott egy hurok konstrukció. 55 00:03:22,750 --> 00:03:27,570 Vegyünk egy példát magasság, mondjuk nyolc, és nézd meg, hogy elkezd 56 00:03:27,570 --> 00:03:29,470 felér egy mintát. 57 00:03:29,470 --> 00:03:34,710 Az első sor lesz hét terek majd két hash-eket. 58 00:03:34,710 --> 00:03:40,090 A második sor pedig hat terek három hash, és így tovább, amíg a 59 00:03:40,090 --> 00:03:41,440 nyolcadik sor. 60 00:03:41,440 --> 00:03:45,210 >> De hogyan fog képviselni az n-edik sorban? 61 00:03:45,210 --> 00:03:48,170 Ne feledje, hogy a programozás egyezmény nulla indexelt. 62 00:03:48,170 --> 00:03:51,870 Ez azt jelenti, hogy elkezdi a számolást nulla, így az első sor műszakilag 63 00:03:51,870 --> 00:03:57,110 sor szám nulla, két nyílások, sor számú három hash, sor 64 00:03:57,110 --> 00:04:01,860 a második négy hash, így a következő ezt a mintát minden sorban 65 00:04:01,860 --> 00:04:05,800 szám n van n plusz 2 hash-eket. 66 00:04:05,800 --> 00:04:09,270 Elmegyek neked, bár találni ki a mintát a terek. 67 00:04:09,270 --> 00:04:12,240 Ne feledje, hogy a minta lesz kicsit más, ha úgy dönt, hogy 68 00:04:12,240 --> 00:04:16,649 indítsa el a gróf egy és nem nulla. 69 00:04:16,649 --> 00:04:19,560 >> Most, hogy van egy mintát MINDEGY Absztrakt sor n. 70 00:04:19,560 --> 00:04:25,190 Tudod, hány terek nyomtatása és hány hash, így minden sorban, hogy 71 00:04:25,190 --> 00:04:26,270 szám változni fog. 72 00:04:26,270 --> 00:04:30,700 De ugyanez a folyamat a nyomtatás a egyetlen karakter, vagy egy hely, vagy a 73 00:04:30,700 --> 00:04:33,200 hash, ismétlődik. 74 00:04:33,200 --> 00:04:37,470 Így csak annyit kell tennie, hogy újra és újra nyomtatni, hogy a karakter, ahányszor 75 00:04:37,470 --> 00:04:40,120 mint a minta határozza meg. 76 00:04:40,120 --> 00:04:42,522 >> Szóval hogyan ismétlik meg a folyamatokat? 77 00:04:42,522 --> 00:04:45,160 A Scratch, használtuk az ismétlés blokk. 78 00:04:45,160 --> 00:04:48,580 A C, fogjuk használni egy for ciklus. 79 00:04:48,580 --> 00:04:51,290 Nézzük meg a szintaxis A For hurkok. 80 00:04:51,290 --> 00:04:57,140 >> Minden A loop áll három alkatrészek, az inicializálás, a feltétel, 81 00:04:57,140 --> 00:04:58,592 és a frissítés. 82 00:04:58,592 --> 00:05:01,550 A for ciklus inicializálni változó, amikor először 83 00:05:01,550 --> 00:05:02,960 belép a for ciklus. 84 00:05:02,960 --> 00:05:07,100 Ha a feltétel teljesül, a test a hurok végrehajtja. 85 00:05:07,100 --> 00:05:10,070 Ezután a frissítést hajt végre. 86 00:05:10,070 --> 00:05:13,630 >> Ha a feltétel is teljesül, a loop végrehajtódik, és aktualizálja és 87 00:05:13,630 --> 00:05:18,580 ismételje meg mindaddig, amíg a feltétel értéke igaz. 88 00:05:18,580 --> 00:05:21,450 Te feltétel kell végül valuate hamis, mégis, mert 89 00:05:21,450 --> 00:05:24,490 ellentétben a Scratch, mi nem bármilyen Mindig hurkok. 90 00:05:24,490 --> 00:05:28,270 A programod véget kell vetni végül. 91 00:05:28,270 --> 00:05:32,330 >> Íme egy példa egy for ciklus, amely érdemes használni Mario. 92 00:05:32,330 --> 00:05:36,790 Az inicializálási kijelenti egész i értéke 0. 93 00:05:36,790 --> 00:05:40,750 Mindaddig, amíg az i kisebb, mint a magassága, a test a hurok végrehajtását és 94 00:05:40,750 --> 00:05:44,980 növekszik i egy, és ismételje meg amíg az i-nél nagyobb, vagy 95 00:05:44,980 --> 00:05:47,220 magasságával egyenlő. 96 00:05:47,220 --> 00:05:49,140 >> Nos, a for ciklus nulla index. 97 00:05:49,140 --> 00:05:52,270 Az Int i kezdődik nulla, nem egy. 98 00:05:52,270 --> 00:05:55,320 Ha kiválasztotta az egyik, akkor a feltétel is, hogy más a 99 00:05:55,320 --> 00:05:58,740 a hurok, hogy végre a azonos számú alkalommal. 100 00:05:58,740 --> 00:06:03,490 Ne feledje, ez a gondosan, amikor választotta el inicializálás és a 101 00:06:03,490 --> 00:06:08,660 állapot, és forduljon a diagram, hogy ellenőrizze. 102 00:06:08,660 --> 00:06:13,430 >> Az egyik legjobb dolog a számítógép tudomány az, hogy csak annyi 103 00:06:13,430 --> 00:06:15,490 módon végrehajtani a dolgokat. 104 00:06:15,490 --> 00:06:19,450 Választhat, hogy Ön indul nulla vagy egy. 105 00:06:19,450 --> 00:06:22,380 Ha nem szeretnénk használni egy for ciklus, akkor is használhatja a while ciklus 106 00:06:22,380 --> 00:06:26,530 ismételje nyilatkozatok amíg tartsa a lényege A loop, 107 00:06:26,530 --> 00:06:31,430 inicializálás, a feltétel, és a frissítés. 108 00:06:31,430 --> 00:06:36,890 Miután kitalálni a for ciklus, amely mi a legkényelmesebb, akkor 109 00:06:36,890 --> 00:06:38,450 befejezheti Mario. 110 00:06:38,450 --> 00:06:41,540 >> Először ellenőrizni felhasználói majd megállapították, hogy 111 00:06:41,540 --> 00:06:43,580 minta minden sor n. 112 00:06:43,580 --> 00:06:49,990 Tehát minden sor nullától n mínusz 1 kinyomtatja a megfelelő számú 113 00:06:49,990 --> 00:06:55,340 terek, majd a megfelelő számú hash szerint a mintát, és 114 00:06:55,340 --> 00:06:57,180 majd egy új sort. 115 00:06:57,180 --> 00:06:59,640 Ezzel, akkor a piramis. 116 00:06:59,640 --> 00:07:02,630 A nevem Zamyla, és ez volt Mario. 117 00:07:02,630 --> 00:07:11,765