Autorské riešenie
[stiahni imp py]                                      

  • Počet riešiteľov: 10 / 10 = 100  %                       

  • Úspešnosť riešenia:  5.5 / 6 = 92 %                   

Táto úloha je zameraná na výpočet obsahu nepravidelnej plochy s nasledujúcimi predpokladmi:

  • celá plocha chodby má tvar štvorca so zadanou dĺžkou strany,
  • vyfarbená časť plochy je tvorená určitým počtom menších štvorcov v závislosti od počtu zvolených cikcakov.

Rôzne možnosti na vyfarbenie plochy sú znázornené na nasledujúcom obrázku:

chodba

Pri riešení úlohy potrebujeme dva vstupné parametre: dĺžku strany štvorcovej chodby a počet malých štvorcov v jednom rade (resp. kachličiek, ak by sme úlohu previedli na kachličkovanie). Následne postačí vypočítať šírku malého štvorca tak, že dĺžku strany štvorcovej chodby vydelíme počtom malých štvorcov. S použitím cyklu opakuj vieme zistiť celkový počet malých štvorcov, ktoré budú vymaľované. Následne nám už stačí vynásobiť počet malých štvorcov s obsahom jedného malého štvorca.

Nasleduje možný zdrojový kód v jazykoch Imagine a Python

;Imagine logo
viem vypocitaj_obsah :strana :pocet_v_rade
  urobTu "sirka_stvorceka :strana / :pocet_v_rade
  urobTu "pocet_vsetkych :pocet_v_rade * :pocet_v_rade
  urobTu "pocet_pouzitych 0
  opakuj :pocet_v_rade [
    urobTu "pocet_pouzitych :pocet_pouzitych + pocitadlo
  ]
  vysledok :pocet_pouzitych * :sirka_stvorceka * :sirka_stvorceka
koniec

#Python                  
def  vypocitaj_obsah(strana, pocet_v_rade):
    sirka_stvorceka = strana / pocet_v_rade
    pocet_vsetkych = pocet_v_rade * pocet_v_rade
    pocet_pouzitych = 0
    for i in range(pocet_v_rade):
        pocet_pouzitych = pocet_pouzitych + i + 1
    return pocet_pouzitych * sirka_stvorceka * sirka_stvorceka

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

Úlohu riešilo 10 tímov. Tímy využili dva spôsoby. Tí, ktorí riešenie úlohy navrhli pomocou spočítania malých štvorcov, mali riešenia správne. Niektoré tímy si zvolili možnosť výpočtu cez navrhnutý vzorec, ale tieto riešenia boli správne len pre niektoré hodnoty vstupných parametrov. Vzorec mohol byť založený na myšlienke, že môžeme rozdeliť obsah celej chodby na polovicu a pripočítať príslušný počet polovičiek obsahov malých štvorcov. Napríklad, ak v jednom rade je na vstupe 6 malých štvorcov, tak k polovičke obsahu celej chodby postačí pripočítať obsah šiestich polovičiek malých štvorcov. Tak získame správne riešenie bez potreby počítania celkového počtu vyfarbených štvorcov.