Autorské riešenie
[stiahni]

ukazkaV prvom kroku procedúry cislo vytvoríme z jednotlivých čísel (den, mesiac a rok) pomocou operácie slovo jedno číslo, ktoré uložíme do premennej v.

Pri výpočte ciferného súčtu budeme pripočítavať k hodnote premennej pom poslednú cifru čísla v premennej v (pomocou operácie zvysok) a následne túto cifru odoberieme z čísla uloženého v premennej v (pomocou operácie cpodiel).

Keďže na výpočet prváčikovského čísla nepostačí jeden cyklus kym (aj po prvom cifernom súčte môžeme dostať číslo väčšie ako 9), použijeme ešte jeden vnorený cyklus kym. Použijeme pritom pomocnú premennú pom, do ktorej budeme ukladať ciferný súčet aktuálneho čísla v premennej v.

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

viem cislo
 urobtu "v (slovo den'hodnota mesiac'hodnota rok'hodnota)
 kym [:v>9]
     [urobtu "pom 0
      kym [:v<>0]
          [urobtu "pom (:pom + (zvysok :v 10))
           urobtu "v (cpodiel :v 10)]
           urobtu "v :pom ]
  zo :v
koniec

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

Väčšina z vás si riešenie skomplikovala tým, že s číslami pracovala ako so slovom. Ak by ste použili operácie cpodiel (celočíselný podiel) a zvyšok (zvyšok po celočíselnom delení), mohli ste efektívne použiť cyklus opakuj a používať premennú počítadlo.

Ďalší úlohu nedotiahli do úspešného konca - urobili ciferný súčet dátumu narodenia a ďalej nepokračovali.

V niektorých riešeniach bolo vidieť, že ste pochopili podstatu výpočtu ciferného súčtu, no trápili sa s "obyčajným" delením a používali operáciu celá.

Napriek týmto nedostatkom sa našlo pár tímov, ktoré úlohu vyriešili priam ukážkovo.