Soutěžní úloha mládež

Název souboru s programem je:
KNN.přípona, kde K je kategorie M a NN je startovní číslo autora programu. Případné pomocné soubory (například knihovny) mají označení KNNxx.přípona.

Karel

Hodnocení bude probíhat podle splnění jednotlivých takto doporučených kroků:

  1. Vykreslení prázdného bludiště s Karlem ve výchozí pozici
  2. Karel umí vykonávat základní příkazy
  3. Načtení bludiště ze souboru a jeho zobrazení
  4. Karel umí měnit rychlost
  5. Karel umí vykonávat řídící konstrukce
  6. Karel umí vytvářet a používat vlastní příkazy (podprogramy)

Programovací jazyk Karel má jistou množinu základních příkazů a konstrukcí. Příkazy je možné rozšiřovat o vlastní příkazy (podprogramy).

Základní příkazy jsou následující:
POLOZ položí na políčko, kde Karel stojí, jednu značku
ZVEDNI zvedne značku z políčka, na němž Karel stojí
KROK Karel udělá jeden krok (posune se o políčko) ve směru, kam je otočen
VLEVO-VBOK Karel se otočí vlevo oproti směru, kam je teď otočen
 
Řídící konstrukce
OPAKUJ n opakuje n krát příkazy
příkaz
příkaz
KONEC
 
DOKUD podmínka dokud je podmínka splněna, vykonává zadané příkazy
příkaz
příkaz
KONEC
 
KDYZ podmínka provede zadané příkazy když je podmínka splněna
příkaz
příkaz
KONEC JINAK nepovinná část příkazu KDYZ, příkazy se vykonávají, když podmínka není
příkaz splněna
příkaz
KONEC
 
PRIKAZ nový_příkaz definuje nový příkaz (podprogram), ten lze vyvolat jako ostatní příkazy,
příkaz příkaz může volat i sám sebe
příkaz
KONEC
 
; komentář takovýto řádek je komentářem a nedělá nic
# komentář takovýto řádek je také ignorován
prázdné řádky jsou stejně jako komentáře ignorovány
 
Pravidla pro tvorbu podmínek jsou následující:
Podmínka začíná slovem JE nebo NENI a za mezerou následuje jedno ze slov ZED, ZNACKA, SEVER, JIH, ZAPAD, VYCHOD. Značka je testována na políčku kde Karel stojí, zeď se testuje na políčku před Karlem. Podmínka SEVER je pravdivá když je Karel otočený čelem k horní zdi, JIH k dolní zdi a podobně (pozn. ZAPAD je vlevo).