Autorské riešenie
[stiahni imp : py]

  • Počet riešiteľov: 12 / 13 = 92 %

  • Úspešnosť riešenia: 2,5 / 4 = 62,5 %

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).
Pozitívne hodnotím tím, ktorý vo svojom riešení uviedol aj komentáre.