Autorské riešenie Najskôr priradíme akciu tlačidlu nová hra. Po stlačení tlačidla "Nová hra" sa vykoná procedúra "novahra" viem novaHra
nahodneNahodne urob "cislo 1+nahodne 127 urob "pokus 0 pocet_pokusov'nechhodnota 0 odpoved_pocitaca'nechhodnota " hadane_cislo'nechhodnota " koniec
Teraz môžeme priradiť akciu tlačidlu "myslis_si_cislo". Po stlačení sa vykoná procedúra kontrola. viem kontrola
ak2 hadane_cislo'hodnota=:cislo [odpoved_pocitaca'nechhodnota "uhadol_si] [ ak2 hadane_cislo'hodnota>:cislo [odpoved_pocitaca'nechhodnota "menej] [odpoved_pocitaca'nechhodnota "viac ] ] urob "pokus :pokus + 1 pocet_pokusov'nechhodnota :pokus koniec Porovnáme hádané číslo (hadane_cislo'hodnota) s číslo, ktoré si vymyslel počítač (cislo). Podľa toho, či je väčšie, menšie alebo rovné vypíšeme do textového políčka (odpoved_pocitaca) jedntu z troch odpovedí. Nezabudneme ešte zvýšiť a vypísať počet pokusov. V druhej časti tejto úlohy ste mali zistiť, koľko najmenej pokusov potrebujeme na to, aby sme číslo, ktoré vymyslel počítač určite uhádli. Občas sa nám podarí číslo uhádnuť na prvý pokus. Ale je to len náhoda. Koľko teda potrebujeme pokusov na to, aby sme číslo určite uhádli? Môžeme hádať 1, 2, 3, .. 127. V najhoršom prípade budeme potrebovať 127 pokusov. Ale, dá sa to spraviť aj šikovnejšie. Spýtame sa na číslo, ktoré je v strede (64). Ak počítač odpovie viac, vieme že je niekde medzi 65 až 127. Ak odpovie menej, hádané číslo je medzi 1-63. Ak sme náhodou uhádli, skončíme. V opačnom prípade zoberieme číslo v strede intervalu, ktorý nám zostal a pokračujeme rovnakým spôsobom ďalej. Pokračujeme dovtedy, kým nám nezostane práve jedno číslo.
Potrebujeme teda 7 pokusov. Najčastejšie chyby Pri vymýšľaní čísla počítačom ste často generovali čísla z intervalu 1..126. Našli sa aj "výmyselníci", ktorí nám zaslali namiesto riešenia projekt na hádanie čísla, ktorý je súčasťou vzorových riešení Imaginu. Toto sme samozrejme nemohli uznať. | |||||||||||||||||||||||
© Univerzita Pavla Jozefa Šafárika v Košiciach, Prírodovedecká fakulta, Ústav informatiky palmaj (zavinac) upjs.sk |