2. Petrova zahrádka <<< Obsah >>> 4. Zahrádka s podmínkou
Petřík sní o tom, že by si rád
vysázet květiny po obvodu své zahrádky 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 jménem opakování
příkazů s počtem a najdete ho v okně
Základní
prvky, koš ve skupince řízení programu
.
Přetáhněte ho 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 . Pro připomenutí,
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ě jiný 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 následovat 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 (pole 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áhněte z pole Základních prvků další prvek opakování příkazů s počtem a
vložte ho úplně na začátek programu. Jako počet opakování
uveďte číslo 4. Pro číselné konstanty s jednou číslicí
můžeme používat přímo samotné číslice, které najdete u
prvku číselné konstanty. Takže do parametru cyklu pro počet
opakování přetáhněte prvek číslice 4
.
Do těla cyklu opakuj příkazy
přetáhněte 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í. Komentování znamená změna
textu u prvku. Až na speciální případy (číselná a
textová konstanta) program text uvedený u prvku nijak
nepoužívá a je plně k dispozici poznámkám programátora.
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á už 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 kombinace kláves Alt+F4.
Jako domácí úkol zkuste doplnit program tak, aby Petřík po nasázení květin obešel vše ještě jednou a květiny naopak otrhal.