Soutěžní úloha starší žáci

Název souboru s programem je:
KNN.přípona, kde K je kategorie Z 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í vykonávat řídící konstrukce
  5. Karel umí měnit rychlost

Programovací jazyk Karel má jistou množinu základních příkazů a konstrukcí.

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
 
; 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).