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 |