5. Petříkova zahrádka <<< Obsah >>> 7. Zahrádka s podmínkou
Představte si, že Petřík by si
chtěl vysázet zahrádku o velikosti 15 políček na šířku i
výšku. Mohli bychom sice vícekrát rozkopírovat příkazy z
předešlé kapitoly, ale za něco takového by se musel snad
každý programátor začervenat studem .
Naučíme se proto používat cyklus. Cyklus zajišťuje opakované provádění
příkazů. Použijeme cyklus s pevným počtem opakování. Je
označen opakování
příkazů s počtem a najdete ho v okně Základní prvky, koš ve skupince řízení programu
.
Přetáhněte jej na úplný začátek programu z minulé
kapitoly (před všechny příkazy).
Po položení prvku cyklu si všimněte,
že si s sebou přinesl ještě další dva prvky. Tyto dva prvky
jsou nedílnou součástí cyklu a nelze je zrušit ani nikam
přesunout. První prvek je označen pro počet opakování
a je určen k zadání počtu, kolikrát se mají příkazy cyklu
provést. Druhý prvek nese označení opakuj příkazy
,
sem klademe příkazy cyklu určené k opakování. Říkáme mu
také tělo
cyklu.
Nejdříve určíme příkazy, které
bude cyklus provádět. Z předešlé kapitoly máme připraven
příkaz pro krok a příkaz pro položení květiny před
Petříka. Tyto dva příkazy přetáhněte do těla cyklu, tedy
do prvku opakuj
příkazy . Abych upřesnil,
příkaz pro položení květiny před Petříka jsme si dříve
vytvořili ze dvou prvků, z prvku předmět před Petříkem
a k němu připojeného prvku Květina
.
Nyní určíme počet opakování,
kolikrát budou příkazy v cyklu provedeny. K tomu potřebujeme
prvek číselná
konstanta , který najdete ve
skupince výpočty
.
Přetáhněte ho do prvku pro počet opakování
.
Pokud prvek číselné konstanty v okně Základních prvků rozvinete, najdete v něm prvky číslic 0
až 9
.
Přetáhněte číslice do číselné konstanty v programu tak,
aby vzniklo číslo počtu opakování příkazů. Sestavené
číslo v číselné konstantě přitom čteme shora dolů. Jako
počet opakování zvolíme číslo o jedno menší, než je
šířka zahrádky. Nastavíme tedy číslo 14 - konstanta bude obsahovat číslici 1, pod ní bude číslice 4.
Prozradím vám ještě jeden způsob zadávání čísla. Neobsahuje-li číselná konstanta uvnitř žádný prvek číslice, uplatní se číslo napsané v popisném textu číselné konstanty. Za číslem může být uvedena jakákoliv poznámka. Takže v našem případě by stačilo napsat k prvku text 14 - počet kroků. Předešlý způsob je však poněkud názornější.
Teď již vyhoďte do koše (okno vpravo
nahoře) všechny ostatní prvky, které zůstaly mimo cyklus,
kromě jednoho příkazu pro otočení vlevo a příkazu pro
čekání na stisk klávesy. Vyhazovat můžete myší, ale
existuje i rychlejší způsob pomocí klávesnice. Označte
kliknutím levým tlačítkem myši na ikonu první z rušených
prvků a potom tiskněte klávesu Delete, dokud nebudou všechny nepotřebné prvky
odstraněny. Moc to ale nepřežeňte, ať nemusíte používat
obnovovací tlačítko Zpět .
Po všech úpravách by vám měl vzniknout program vypadající takto:
Všimněte si, jak lze program díky popisům prvků číst celkem přirozeným způsobem: "Pro počet opakování 14 opakuj příkazy: polož jako předmět před Petříkem Květinu, potom udělej krok."
Program spusťte. Petřík se vydá k pravému okraji okna a cestou sází květiny. Když nasází květiny téměř po celém spodním okraji okna, otočí se nahoru a čeká. Zapomněl květinu na začátku řady vlevo, ale příště se určitě polepší.
Teď bychom mohli náš cyklus zkopírovat ještě třikrát; potřebujeme totiž celkem čtyři strany. Ale protože jsme správní programátoři, použijeme k tomu opět cyklus. Cyklus je totiž v podstatě běžný příkaz a tak ho můžeme vložit do jiného cyklu.
Přetáhneme si z okna Základních prvků další prvek opakování příkazů s počtem
a vložíme ho úplně na začátek programu. Jako počet
opakování uvedeme číslo 4.
Pro číselné konstanty s jednou číslicí můžeme používat
přímo samotné číslice, které najdeme u prvku číselné
konstanty. Takže do parametru cyklu pro počet opakování
přetáhneme prvek číslice 4
.
Do těla cyklu opakuj příkazy
přetáhneme dříve vytvořený cyklus pro vysázení jedné
strany zahrádky a pod něj příkaz pro otočení vlevo.
Příkaz pro čekání na stisk klávesy necháme úplně na
konci celého programu. Dobrý programátor si ještě svůj
výtvor okomentuje poznámkami, aby mu byla činnost programu
jasná i na druhý den. A nejen jemu, ale i všem ostatním,
kteří program někdy uvidí.
Zde vidíte výsledek naší usilovné práce:
Program spusťte. Petřík se rozběhne kolem své nové zahrádky a pilně sází květiny. Tentokrát již nasázel všechny a na žádnou nezapomněl. Líbí se vám jeho zahrádka?
Zvýšíte-li počet kroků ve vnitřním cyklu třeba na 44, můžete pozorovat, že Petřík vysází květiny teď již skutečně po celém obvodu plochy, a ani mu nevadí, že na konci cesty vždy narazí hlavou do zdi. Pokud nemůže nějakou operaci provést, tak ji prostě neprovede a nic se nestane.
Chcete-li ještě experimentovat, zkuste
zvětšit číslo v počtu opakování hlavního (vnějšího)
cyklu. Petřík bude pobíhat kolem okraje okna neustále. Při
velkém počtu opakování se možná ani konce nedočkáte a
budete muset program přerušit kliknutím na tlačítko s
křížkem (v
pravém horním rohu okna) nebo stiskem kláves Alt+F4.