Na této stránce se seznámíš s jednou z nejdůležitějších konstrukcí programovacích
jazyků -- s cyklem. Zatím se naučíš používat pouze nejjednodušší typ cyklu, který
Želví grafika nabízí, a to cyklus opakuj
. K jiným konstrukcím
jsou zapotřebí vyšší znalosti, postupně se k nim také dostaneme.
Jistě si vzpomínáš na úlohu z minulé stránky -- procedura, která nakreslí čtverec. Předpokládám, že jsi napsal(a) něco jako:
vpred o 50;
otoc o 90;
vpred o 50;
otoc o 90;
vpred o 50;
otoc o 90;
vpred o 50;
otoc o 90;
Toto řešení je nepochybně správné, má však jednu podstatnou vadu na kráse. Zbytečně se v něm opakují stejné příkazy. U čtverce se to dá ještě přežít, ale představ si, že bys měl(a) za úkol napsat proceduru kreslící šestatřicetiúhelník (třeba o straně délky 5). V takové proceduře by se opakovala dvojice příkazů
vpred o 5;
otoc o 10;
a to šestatřicetkrát! Naštestí nám Želví grafika nabízí konstrukci, která psaní podobných věcí usnadní. Princip je velmi jednoduchý. Když přijdeš do obchodu, neřekneš prodavačce, že by chtěl(a) jablko, jablko, jablko, jablko a jablko, ale poprosíš ji o pět jablek. A přesně toto řekneš Želví grafice. Nejprve uvedu ukázku, jak by se dala procedura pro přepsání čtverce zjednodušit, pak ji okomentuji.
opakuj 4 krat: {4krát se zopakují příkazy, které začínají zde...}
vpred o 50;
otoc o 90;
konec; {...a končí zde}
V příkladě jsme použili nový příkaz opakuj
. Jedná se o takzvaný
blokový příkaz (někdy budeme říkat také bloková konstrukce). Blokové příkazy
obsahují narozdíl od normálních příkazů takzvané tělo, což je skupina jiných
příkazů. Všechny blokové příkazy v Želví grafice mají tělo zakončené klíčovým slovem
konec
, mají i spoustu jiných společných rysů, ale konkrétní syntaxe
blokových konstrukcí se příkaz od příkazu mírně liší.
Co se týče příkazu opakuj
, jeho syntaxe je následující:
opakuj počet krat: skupina_příkazů konec;
.
Za počet
je nutno dosadit číslo, které udává, kolikrát se má
tělo cyklu provést, skupina_příkazů
tvoří tělo cyklu.
Úloha: vytvoř novou proceduru, která nakreslí desetiúhelník (zvol délku strany),
použij při tom cyklus opakuj
.