Autorské riešenie
[stiahni]

ukazkaKamene na chodníkoch majú rovnakú dĺžku a chodník sa môže zalomiť len medzi dvom kameňmi. Mohlo by sa nám teda zdať, že korytnačka môže chodiť krokmi dĺžky 20 (rovnako ako dĺžka kameňov). To však nie je správna úvaha. Stačí, ak sa pozriete na obrázok vpravo. Ak by sa chodník takto prudko zatáčal, korytnačka by mohla nechtiac vyrobiť skratku.  Korytnačka by teda mala chodiť menším krokom. Krok by však mal mať takú dĺžku, aby jej na koniec kameňa vždy vyšiel celý krok. Zároveň to musí byt taká dĺžka, aby bola deliteľom čísla 100, pretože každých 100 bodov korytnačka kreslí značku. Najdlhší krok, ktorým sa korytnačka takto môže pohybovať má dĺžku 10.

Chodník budeme značkovať pomocou modrého bodu veľkosti 10 - vykreslíme ho pomocou procedúry značka.

viem znacka
  pd
  nechfp "modrá
  bod 10
  ph
koniec

Prvý krát vykreslí korytnačka značku hneď na začiatku trasy. Počítadlo krokov, premennú vzdialenost si nastaví na 0. Pri ďalšom postupe potrebuje korytnačka zistiť, ktorým smerom bude pokračovať - priamo (teda bude pokračovať v doterajšom smere), vľavo alebo doprava.

Korytnačka spraví krok dopredu. Ak je možné pokračovať týmto smerom (farbabodu="biela), upravíme prejdenú vzdialenosť (urobtu "vzdialenost :vzdialenost+10). Otestujeme, či to bol stý krok. Ak áno, korytnačka urobí značku a počítadlo vzdialenosti nastaví na 0.

Ak sa nedá pokračovať rovnakým smerom, korytnačka sa vráti a urobí značku (chodník sa tu určite zalamuje, vpravo alebo vľavo).

Teraz korytnačka skúsi, či chodník nepokračuje vľavo. Otočí sa vľavo a spraví krok. Ak chodník nepokračuje týmto smerom (farbabodu<>"biela), vráti sa spraví krok opačným smerom (tento musí byť už určite správny, pretože iný už neexistuje). Či už vpravo, alebo vľavo, korytnačka spravila krok. Upraví teda ešte hodnotu premennej vzdialenost  (urobtu "vzdialenost 10).

Tento postup opakuje korytnačka dovtedy, kým nepríde na druhú stranu (kym [xsur < 400]). Nesmie však zabudnúť spraviť poslednú značku na konci cesty.

Celé riešenie môže vyzerať takto:
 

viem znackuj
  ph
  urobtu "vzdialenost 0
  znacka

  kym [xsur < 400]
  [do 10
   ak2 farbabodu="biela [urobtu "vzdialenost :vzdialenost+10
                         ak :vzdialenost=100 [znacka urobtu "vzdialenost 0]
                        ]
                        [vz 10
                         znacka
                         vl 90
                         do 10
                         ak farbabodu<>"biela [vz 10
                                               vp 180
                                               do 10
                                              ] 
                         urobtu "vzdialenost 10
                         ]
  ]
  znacka
koniec

Najčastejšie chyby, komentár k vašim riešeniam

Pri čítaní zadania úlohy si väčšina z vás nevšimla, že po označení miesta na chodníku, kde sa mení smer cesty (doľava alebo doprava) postupuje značkár podľa pravidla číslo 2. Teda, začína znovu rátať počet krokov. Z tejto nepozornosti vyplynulo nesprávne značkovanie chodníka.

Pre ukončenie značkovania ste používali rôzne postupy (nie vždy funkčné) - najjednoduchším bolo testovanie x-ovej súradnice korytnačky. Výsledkom bola zmätene pobehujúca korytnačka alebo koncová značka mimo turistického chodníka.

A na záver - niektoré tímy boli také natešené, že korytnačka správne značkuje cestu, že zabudli označiť koniec chodníka.