Autorské riešenie
[stiahni]

Úloha ponechávala priestor Vašej fantázií, keďže v zadaní nebolo presne určené, ako má stonožka vyzerať. Mali ste vykresliť stonožku, ktorá pozostáva z:

  • hlavy
  • príslušného počtu článkov v závislosti od jej veku, pričom článok pozostáva z bruška náhodnej farby a nožičiek s chodidlami
  • chvosta

My sme si zvolili stonožku, ktorá bude mať kruhovú hlavu veľkosti 40, bruško bude tiež v tvare kruhu veľkosti 60 a nohy budú vychádzať z oboch strán bruška, tj. akoby sme sa na stonožku pozerali zhora. Chvost bude iba čiarka.

Do procedúry kresliStonozku vstupuje vek stonožky. Najskôr nakreslí hlavu stonožky, potom pomocou cyklu "opakuj" vykreslí príslušný počet článkov aj s dvoma nohami (jednu smerom nahor a jednu smerom nadol, obe majú chodidlá smerujúce k hlave) a nakoniec pridá chvost.

Riešenie úlohy môže vyzerať nasledovne:

viem kresliStonožku :vek
  nechhp 3
  ;vykreslíme hlavu
  nechfp "cierna
  bod 40
  vp 90
  vz 20
  ;vykreslíme toľko článkov, koľko má stonožka rokov
  opakuj :vek [
    ph
    vz 30
    ;nastavíme náhodnú farbu pera
    nechfp ?
    ;vykreslíme bruško
    bod 60
    vl 90
    do 30
    ;vykreslíme "hornú" nohu
    pd
    nechfp "cierna
    do 20
    vp 90
    do 15
    vz 15
    vl 90
    vz 20
    ;vykreslíme "dolnú" nohu
    ph
    vz 60
    pd
    vz 20
    vp 90
    do 15
    vz 15
    vl 90
    do 20
    ph
    do 30
    vp 90
    vz 30
    pd
  ]
  ;vykreslíme chvost
  pd
  nechfp "cierna
  vz 30
  ;návrat korytnačky na pôvodnú pozíciu
  ph
  do 30
  do (:vek * 60)
  do 20
  vl 90
koniec

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

Úlohu riešilo 12 tímov, väčšina úspešne. Objavili sa aj veľmi kreatívne riešenia. Veľmi dobre boli použité aj vnorené procedúry.

Najčastejšie nedostatky, ktorých ste sa dopustili vo svojich riešeniach:

  • stonožke ste zabudli nakresliť chodidlá
  • nesprávna funkčnosť procedúry pre novonarodenú stonožku (vek = 0)
  • po dokreslení stonožky ste nevrátili korytnačku na pôvodnú pozíciu (za to sme body nesťahovali, ale je dobré si na to zvyknúť)