Autorské riešenie
[stiahni]

Pri riešení tejto úlohy bolo potrebné doplniť procedúru GuľôčkyVRiadku tak, aby sa vykreslilo počítadlo a v správnych riadkoch sa posunul správny počet guľôčok. Procedúry KresliPočítadlo a Nastav boli pripravené. Pripravené počítadlo sa nachádzalo v pomocnom súbore.

Prvá procedúra KresliPočítadlo je pripravená. Má za úlohu vykresliť počítadlo a zavolať procedúru GuľôčkyVRiadku.

viem KresliPočítadlo
  znova
  k1'skry

  nechFP "čierna
  nechHP 10

  ph nechPoz [-250 -150] pd
  do 200
  ph nechPoz [310 -150] pd
  do 200

  ph nechPoz [-250 -100] pd
  vp 90
  do 560
  ph nechPoz [-250 0] pd
  do 560

  nechFP "žltá

  guľôčkyVRiadku

koniec

V druhej procedúre GuľôčkyVRiadku musíme vyriešiť, kedy sa máme nastaviť na ktorý riadok a koľko guľôčok posunúť podľa výsledku. Výsledok je uložený v globálnej premennej :súčet. Ak je súčet 0, neposúvajú sa žiadne guľôčky. To neznamená, že tam nie sú. V zadaní je uvedené, že počítadlo 20 guľôčok a teda sa majú vykresliť vždy. V zadaní je ďalej uvedené, že máme použiť procedúru Nastav, ktorá nám prácu uľahčí. Nastaví sa na určený riadok a posunie zvolený počet guľôčok. Ak je výsledok menší ako 11, v druhom riadku sa guľôčky posúvať nemusia a v prvom riadku sa posunie len daný počet. Ak výsledok nie je menší ako 10, v prvom riadku sa posunú všetky guľôčky a v druhom riadku sa posunie zvyšok výsledku.

viem GuľôčkyVRiadku

  ak2 :sucet<11
   [nastav 1 :sucet
   nastav 2 0]
   [nastav 1 10
   nastav 2 :sucet-10]

koniec

Tretia procedúra Nastav je pripravená. Táto procedúra pomáha zjednodušiť procedúru GuľôčkyVRiadku, ktorú potrebujeme dokončiť. Má za úlohu nastaviť nás na zadaný riadok a správne vykresliť guľôčky.

viem Nastav :čísloRadu :početGuľôčiek

  ph
  ak :čísloRadu = 1 [nechPoz [-250 0]]
  ak :čísloRadu = 2 [nechPoz [-250 -100]]

  do 30
  opakuj 10 - :početGuľôčiek [bod 50 do 50]
  opakuj :početGuľôčiek [do 50 bod 50 ]
  do 25

koniec

Aby sme skutočne sčítavali dve čísla v rozsahu určenom v zadaní, máme pripravené posúvače.

Najčastejšie chyby:

  • Guľôčky sa majú vykresliť vždy a v oboch riadkoch. Nie len tie, ktoré sa posúvajú a nie len v jednom riadku.
  • V zadaní bolo uvedené, že v procedúre GuľôčkyVRiadku máte použiť procedúru Nastav a globálnu premennú :súčet.
  • Vytváranie nových korytnačiek a použitie ich ako guľôčok je zbytočné.