Autorské riešenie 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. |
||||||||||
© Univerzita Pavla Jozefa Šafárika v Košiciach, Prírodovedecká fakulta, Ústav informatiky palmaj (zavinac) upjs.sk |