Autorské riešenie
[stiahni]

Riešení tejto úlohy je niekoľko. My uvedieme dve z nich.

Jedno riešenie môže byť také, že budeme prechádzať všetkými príkazmi zo zoznamu. V zozname sa nachádzajú iba dva typy inštrukcií. Ak narazíme na príkaz krok, pohneme sa dopredu o 50 bodov. V opačnom prípade sa otočíme vpravo o 90 stupňov.

Výsledná procedúra kresli môže vyzerať takto:

viem kresli
   prePrvky "prikaz :z [
     ak2 :prikaz="krok [
       do 50
     ][
       vp 90
     ]
   ]
koniec

Ďalšie riešenie, ktoré uvedieme je ešte jednoduchšie. Okrem procedúry kresli vytvoríme procedúry krok a otoc. Procedúra krok slúži na posun o 50 bodov, procedúra otoc na otočenie vpravo o 90 stupňov. Tým sme si vytvorili nové príkazy - krok a otoc. V procedúre kresli použijeme príkaz vykonaj. Tento príkaz sa používa, ak máme daný zoznam príkazov, ktoré potrebujeme uskutočniť. Bez procedúr krok a otoc by nám príkaz vykonaj nepomohol, pretože krok a otoc by neboli príkazy, ale iba obyčajné reťazce.

Procedúry krok, otoc a kresli môžu vyzerať takto:

viem krok
   do 50
koniec

viem otoc
   vp 90
koniec

viem kresli
   vykonaj :z
koniec

Vaše zaujímavé riešenia a najčastejšie chyby:

Väčšina z vás riešila úlohu správne, avšak riešenia sa líšili (najmä v spôsobe prechádzania zoznamu s pokynmi). Niektorí však vyriešili úlohu iba pre jeden konkrétny zoznam príkazov.