Autorské riešenie
Pri riešení úlohy ste mohli využiť metódu kresliCifru, ktorá mala 2 parametre, a to cifra a cisloDispleja. Tá vykreslila zadanú cifru na požadovanú pozíciu. Číslovanie displejov bolo sprava doľava od čísla 1. Ako prvé je potrebné ošetriť prípad, ak používateľ zadá číslo väčšie ako štvorciferné. To sa nám už na displej nepodarí zobraziť. Potom už môžeme pracovať s číslom, a to tak, že budeme prechádzať ciframi zadaného čísla. V každej fáze si zistíme celočíselný zvyšok po delení číslom 10, ten zobrazíme na displeji a následne naše číslo (vstupný parameter) predelíme celočíselne 10.
;Imagine
logo
viem zobraz :cislo ak2 :cislo <= 9999 [ opakuj 4 [ urobTu "cifra zvysok :cislo 10 urobTu "cislo cPodiel :cislo 10 kresliCifru :cifra pocitadlo ] ][ pis "|Dané číslo neviem zobraziť na displeji.| ] koniec A teraz riešenie v Pythone: def zobraz(cislo): if(cislo <= 9999): for i in range(1, 5): cifra = cislo % 10 cislo = cislo // 10 kresliCifru(cifra,i) else: print("Dané číslo neviem zobraziť na displeji.") Vaše zaujímavé riešenia a najčastejšie chyby V tejto úlohe dosť veľa tímov zabudlo vylúčiť prípad, ak je zadané číslo väčšie ako štvorciferné a nevypísali nič na obrazovku.
Niektorým sa síce podarilo vypísať správne niektoré čísla, avšak problém nastal pri väčších číslach (štvorciferných). |
||||||||||
© Univerzita Pavla Jozefa Šafárika v Košiciach, Prírodovedecká fakulta, Ústav informatiky palmaj (zavinac) upjs.sk |