Zahrádka s opakováním
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.
Stáhnout
Stažením následujícího souboru souhlasíš s licenčními podmínkami
Staženo 276x (129.18 kB)
Aplikace je včetně zdrojových kódů v jazyce Petr (jsou obsaženy v EXE souboru, který lze v programu přímo otevřít)