Autorské riešenie
Pri riešení úlohy nám pomôže tabuľka vyjadrujúca situáciu, že všetci zapojení žiaci z Korytnačkova budú riešiť všetky úlohy vo svojich kategóriách.
Ak organizátori súťaže uvedú počty riešiteľov z
Korytnačkova pre kažú úlohu ako parametre
Na základe týchto vzťahov vieme vytvoriť funkciu (procedúru s výstupom) skontroluj, ktorá pre uvedené 4 podmienky vráti výsledok "|určite nie| ak aspoň jedna z nich neplatí. Ak platia všetky podmienky, nemôžme automaticky uviesť výsledok "áno, lebo rovnaký výsledok by sme dostali, ak by napríklad prvé tri úlohy riešilo o jedného menej žiakov ako v skutočnosti. Preto je správne uviesť výsledok "|nevieme rozhodnúť/možno áno|. Riešenie úlohy zapísané v jazyku Imagine Logo môže vyzerať nasledovne:
viem skontroluj :žiaci1 :žiaci2 :žiaci3 :žiaci4 :žiaci5 :žiaci6 :žiaci7
ak :žiaci1 <> :žiaci2 [
výsledok "|určite nie|
]
ak :žiaci3 <> :žiaci2 + :žiaci4 [
výsledok "|určite nie|
]
ak :žiaci5 <> :žiaci4 + :žiaci6 [
výsledok "|určite nie|
]
ak :žiaci6 <> :žiaci7 [
výsledok "|určite nie|
]
výsledok "|nevieme rozhodnúť/možno áno|
koniec
Ak poznáme logickú spojku zároveň, môžme vytvoriť nasledovné riešenie:
viem skontroluj1 :žiaci1 :žiaci2 :žiaci3 :žiaci4 :žiaci5 :žiaci6 :žiaci7
ak2 (zároveň :žiaci1 = :žiaci2
:žiaci3 = :žiaci2 + :žiaci4
:žiaci5 = :žiaci4 + :žiaci6
:žiaci6 = :žiaci7
)[
výsledok "|určite nie|
][
výsledok "|nevieme rozhodnúť/možno áno|
]
koniec
Táto súťažná úloha je zameraná na použitie stratégie riešenia problému vytvor tabuľku, dôslednú analýzu problému využijúc logiku, na precvičenie príkazu vetvenia, funkcie s parametrami a výstupmi a prípadne zložených podmienok a logickej spojky zároveň. Vaše zaujímavé riešenia a najčastejšie chyby Do riešenia tejto úlohy sa zapojilo 12 tímov kategórie PROFÍK. Plný počet bodov získali dva tímy vaporwave a LuckaIsTheBestRybyca, k čomu im gratulujeme. Vo svojich riešeniach použili oproti autorskému riešeniu tri premenné určujúce počet zapojených žiakov v každej z troch kategórii súťaže. Zaujímavé riešenie odovzdal tím SuperMario, ktorý namiesto zloženej podmienky či vnorených príkazov vetvenia použil počítadlo pre splnené podmienky. Len tím IT lamy použil vo svojom riešení funkciu s výsledkom. Ostatné súťažné tímy vypisovali výsledky vo vnútri svojich procedúr. Len tím Avenger použil vo svojom riešení logické spojky ZÁROVEŇ a ALEBO na vyjadrenie zloženej podmienky. Vačšina tímov vo svojich riešeniach použila príkaz vetvenia AK2. V riešeniach sme zaregistrovali nasledovné chyby:
|
|||||||||
|
© Univerzita Pavla Jozefa Šafárika v Košiciach, Prírodovedecká fakulta, Ústav informatiky palmaj (zavinac) upjs.sk | |||||||||