Autorské riešenie Táto úloha nie je ťažká. Najskôr je potrebné vymyslieť, ako kresliť terč. Ak nakreslíme veľký čierny kruh, do neho menší biely a do neho menší čierny atd., vznikne nám terč. Presne taký, ako potrebujeme. Je dôležité začať od najväčšieho kruhu (isto viete prečo) a najväčší musí byť čierny (čo by sa stalo, keby bol biely?). Keďže vieme, že terč by mal mať :n častí, budeme kreslenie kruhov opakovať v cykle (opakuj :n). Ostáva ešte vyriešiť striedanie farieb kruhov. Využijeme počítadlo cyklu a budeme testovať, či je párne alebo nepárne (ak2 zvysok pocitadlo 2 = 1). Ak je nepárne (najväčší kruh, tretí najväčší kruh ...) bude farba čierna, inak biela. Ak šírka častí terča je :d, tak veľkosť práve kresleného kruhu je (:n+1-pocitadlo)*2*:d. Podobne postupujeme aj pri vypisovaní hodnôt do terča. Farby písma musia byť presne opačné ako farby terča. Navyše musíme korytnačku na príslušné miesto presunúť (do (:n+1-pocitadlo)*:d) a po vykreslení textu ju vrátiť späť.
Jedno z možných riešení vidíte nižšie.
viem terc :n :d
ph opakuj :n [ak2 zvysok pocitadlo 2 = 1 [nechFp "cierna] [nechFp "biela] kruh (:n+1-pocitadlo)*2*:d ] opakuj :n [do (:n+1-pocitadlo)*:d ak2 zvysok pocitadlo 2 = 1 [nechFp "biela] [nechFp "cierna] text pocitadlo vz (:n+1-pocitadlo)*:d ] koniec
Najčastejšie chyby Niektorým z vás sa nepodarilo vypísať čísla na správne miesto terča. Viacerí vyriešili túto úlohu pre 5 častí terča ktorých šírka bola 25. Procedúra teda nebola univerzálna. | ||||||||||
© Univerzita Pavla Jozefa Šafárika v Košiciach, Prírodovedecká fakulta, Ústav informatiky palmaj (zavinac) upjs.sk |