Autorské riešenie Táto úloha nie je veľmi náročná. To, na čo si treba dať pozor je, aké podmienky budeme testovať. Zaujímať nás bude, či sme myškou klikli na smajlíka, činnosť smajlíka a počet jeho zabávajúcich sa susedov. Z týchto informácii vieme zistiť, ako sa bude smajlík správať nasledujúci deň. Zároveň by sme mali porozmýšľať aj o tom, ako sa pýtať, aby niektoré naše otázky alebo kroky neboli zbytočné. Prvá otázka by mala byť, či sme klikli na smajlíka. Ak sme klikli mimo, nebude sa diať nič. Stači zistiť, či farba na ktorej sa korytnačka nachádza je "modrá alebo "červená. ak2 farbaBodu = "modra [ Všimnime si, že ak farba bodu nie je "modra, tak to ešte neznamená, že je "cervena. Kliknúť sme mohli aj mimo smajlíka. Ďalej potrebujeme zistiť, koľko susedných smajlíkov okolo vybratého sa zabáva. Podľa toho budeme vedieť, čo bude robiť smajlík nasledujúci deň. Počet zabávajúcich sa smajlíkov okolo zistíme tak, že spočítame, koľko susedov je červených. urobTu "pocetZabavajucichOkolo 0 Tento postup bude fungovať správne aj v prípade, že sme klikli na krajného smajlíka (plochy okolo neho nebudú farby "cervena). Teraz už len stačí prepísať podmienky zo zadania úlohy. Celá procedúra môže vyzerať aj takto: viem dalsiDen Tí pozornejší z vás si určite všimli, že počet zabávajúcich susedov počítame niekedy zbytočne (v prípade, ak neklikneme na smajlíka). Počet zabávajúcich sa susedov by sme mali počítať len vtedy, ak sme klikli na nejakého smajlíka (farba bodu je "cervena alebo "modra). Ak by sme príslušný kód skopírovali na príslušné miesta, mali by sme dve kópie rovnakého kódu. Výhodnejšie preto bude vytvoriť si procedúru, ktorá vypočíta počet zabávajúcich sa susedov. Po tejto úprave bude vyzerať celá procedúra nasledovne (kód sme sprehľadili aj použitím pikazu akJe namiesto niekoľkých príkazov ak): viem dalsiDen Samotná procedúra vratPocetZabavajucichOkolo obsahuje pôvodný kód pre výpočet počtu zabávajúcich sa susedov okolo. viem vratPocetZabavajucichOkolo Vaše zaujímavé riešenia a najčastejšie chyby Najčastejšie nedostatky, ktorých ste sa dopustili vo svojich riešeniach a naše odporúčania:
|
|||||||||
© Univerzita Pavla Jozefa Šafárika v Košiciach, Prírodovedecká fakulta, Ústav informatiky palmaj (zavinac) upjs.sk |