Autorské riešenie Keby ste mali túto úlohu riešiť ceruzkou na papieri, asi by ste ju hravo vyriešili. Takže riešenie možno nie je až také ťažké. Ak poznáme objem akvária (:objem), hľadáme deliteľov tohto čísla (zvyšok po delení je 0). Ak nájdeme prvého deliteľa (:prvy), objem predelíme. S výsledkom (:podiel1) tohto podielu pokračujeme ďalej a hľadáme jeho deliteľa. Nájdeme jeho deliteľa (:druhy). Nájsť tretieho deliteľa (:treti) už nie je problém: :treti = :podiel1 / :druhy. Všetkých troch deliteľov vypíšeme. Nás však nezaujíma len jedno riešenie, chceme vedieť všetky. Preto uvedený postup opakujeme v cykle. V prvom cykle (opakuj :objem) nájdeme prvého deliteľa. Testujeme, či počítadlo cyklu je deliteľom premennej :objem. Ak sme ho našli, tak v druhom cykle (opakuj :podiel1) hľadáme druhého deliteľa. Jedno z možných riešení vidíte nižšie.
viem akvarium :objem
opakuj :objem [ak zvysok :objem pocitadlo = 0 [urobtu "prvy pocitadlo urobtu "podiel1 :objem / :prvy opakuj :podiel1 [ak zvysok :podiel1 pocitadlo = 0 [urobtu "druhy pocitadlo urobtu "treti :podiel1 / :druhy pis (slovo :prvy "x" :druhy "x" :treti) ] ] ] ] koniec
Vaše zaujímavé riešenia Veľmi dobré riešenie nám posla tím Bear & cat Expert.
Najčastejšie chyby Niektorí z vás vyskúšali všetky kombinácie čísel a testovali, či po prenásobení dostanem objem. Takéto riešenie síce dá správne výsledky, ale je pomalé (nešikovné, neefektívne). | ||||||||||
© Univerzita Pavla Jozefa Šafárika v Košiciach, Prírodovedecká fakulta, Ústav informatiky palmaj (zavinac) upjs.sk |