Autorské riešenie
[stiahni imp]                                                     

  • Počet riešiteľov: 6 / 8 = 75 %

  • Úspešnosť riešenia: 1.5 / 4 = 37.5%                   

V tejto úlohe potrebujeme vypočítať pozíciu žaby po zadanom počte hodín - počte skokov. Predstavme si, že žaba skáče po číselnej osi a začína v bode 0. Po prvom skoku je na čísle 1, po druhom skoku bude na čísle -1, po treťom na čísle 2, po štvrtom na -2, atď. Po nepárnom počte skokov sa žaba bude nachádzať na nejakom kladnom čísle, po párnom na nekladnom čísle. Absolútna hodnota pozície nikdy neprekročí polovicu počtu hodín - skokov. Teda, na to, aby sme zistili pozíciu žaby po párnom počte krokov, stačí počet hodín vydeliť číslom 2. Pri nepárnom počte hodín potrebujeme počet hodín vydeliť číslom 2 a zaokrúhliť nahor, čo znamená celočíselne vydeliť počet hodín číslom 2 a k výsledku pripočítať číslo 1.

;Imagine logo
viem zisti_poziciu :hodina

  ak :hodina < 0 [výsledok "chybnyVstup]

  ak2 zvyšok :hodina 2 = 0
    [výsledok -:hodina / 2]
    [výsledok (cPodiel :hodina 2) + 1]

koniec

Ak by sme nechceli rozmýšľať nad vzorcom, môžeme túto úlohu riešiť aj takto:

;Imagine logo
viem zisti_poziciu :hodina

  ak :hodina < 0 [výsledok "chybnyVstup]

  urobTu "pozicia 0
  
  opakuj :hodina [
    ak2 zvyšok počítadlo 2 = 0
      [urobTu "pozicia :pozicia - počítadlo]
      [urobTu "pozicia :pozicia + počítadlo]
  ]

výsledok :pozicia

koniec

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

Častým problémom bolo nevrátenie výsledku, ale jeho vypísanie. Tiež nepoužitie parametra procedúry, ale získavanie hodnoty počtu hodín príkazom čítajSlovo v tele procedúry.