7. Učíme se násobilku

Tento výukový kurz vznikl na základě seriálu, který kdysi běžel v časopise BETYNKA

Ahoj kamarádi!

Minule jsme se naučili, že kostečky v programu můžeme přesouvat na jiné místo levým tlačítkem myši nebo je kopírovat pravým tlačítkem. Nepotřebnou kostečku můžeme jednoduše levým tlačítkem odtáhnout ven z černé plochy, pokud naopak chybějící kostečku umístíme mezi dvě jiné, ony jí tam udělají místo. Vložení kostečky "konec řádku" (zahnutá šipka ) znamená, že další povely už budou na dalším řádku, i když ten původní ještě není zcela zaplněný.

Teď si řekneme, jak zapsat opakování některých povelů a vyřešíme si domácí úkol z minulé lekce.

Jak opakovat stejné povely?

Představte si, že budete po mně chtít, abych se otočil doleva, pětkrát popošel, vyčaroval hodiny a počkal na stisk nějaké klávesy nebo myši (to abyste si stačili výsledek svého programu prohlédnout). Nic těžkého, řeknete asi, pustíte se do programování a za chvíli jste hotovi. Program bude vypadat asi takto:

a jeho výsledek takto:

Jenže my teď celý zápis zkrátíme. Když mám pětkrát popojít, tak mi to přesně takhle napíšte: 5 x popojdi. Místo slova popojdi samozřejmě použijte kostečku a proto bude program vypadat jako ten na dalším obrázku. Že je to stejné jako v matematice? A proč ne?

Pozor, já po vás chci přesné zadání. Řeknete-li někomu slovně: "pětkrát popojdi a vyčaruj hodiny", dotyčný neví, zda má nejprve pětkrát popojít a teprve potom čarovat, nebo zda má popojít, čarovat, popojít, čarovat, … celkem pětkrát. Mně je však program na obrázku nhoře úplně jasný: pětkrát zopakuje pouze ten jeden povel, který je hned za znakem krát.

Co kdybyste ale chtěli tu druhou variantu – vždy po každém z pěti kroků čarovat? Potom použijte další věc známou z matematiky: závorky! Pamatujte: jestliže je za kostečkou krát závorka, pak se bude opakovat všechno, co je v závorce. Podívejte se na následující obrázek:

Zápis znamená, že se otočím vlevo a potom popojdu, vyčaruji hodiny, popojdu, vyčaruji, popojdu, vyčaruji, … a až bude těch hodin pět, počkám na stisk klávesy. Výsledek je takový (porovnejte jej s tím předešlým):

Pro ty zkušenější: závorky můžete do sebe vnořovat. To znamená, že uvnitř závorek mohou být další závorky. Podobně je tomu i v matematice, kde lze napsat např. 3x(2+5x(1+7)). Jen pozor: všechny závorky jsou kulaté (nestřídají se tedy různé typy), počet otevíracích i zavíracích závorek se musí shodovat a nesmí se křížit.

Použití více závorek si ukážeme na řešení úkolu z minulé kapitoly. Měli jste sestavit program, který po celém obvodu mého prostoru vyčaruje zvonečky.

Nejjednodušší řešení je asi toto: obejdu celý prostor a stále budu před sebou čarovat zvonečky. Protože na delší stranu obvodu se vejde 15 a na kratší stranu 10 kosteček, stačí 14 krát zopakovat dvojici povelů popojdi a čaruj zvonek, pak se otočit doleva, 9 krát zopakovat tutéž dvojici, opět se otočit vlevo, opět 14 krát zopakovat, otočit se vlevo, 9 krát zopakovat. Proč 14 a 9 krát a ne 15 a 10 krát? No protože rohové kostečky jsou společné dvěma sousedním stranám!Takový program jistě sestavíte, ale dá dost práce, než všechny kostky poskládáte. Což tedy použít povel "krát"? Celý zápis programu bude mnohem kratší:

Když se ale na tento obrázek pořádně podíváte, zjistíte, že první dva řádky jsou stejné jako třetí a čtvrtý. Což tedy zapsat jen první dva z nich a přikázat mi, ať je provede dvakrát? Výsledný program vidíte na dalším obrázku. Všimněte si i toho, že jsem schválně nevyužil celou délku řádků. Zato je můj program celkem přehledný, že?


[na domovskou stránku] [zpět] [obsah kurzu] [dále]