Autorské riešenie
Číslo dresu každého súťažiaceho tvorí poradové číslo tímu a poradové číslo súťažiaceho v rámci jeho tímu. Vypíšme si niekoľko prvých čísel dresov v prípade, že v každom tíme sú štyria súťažiaci: Všimnime si, že (až na jednu výnimku) môžeme vypočítat prvú cifru dresu pomocou celočíselného delenia v tvare (cpodiel cislo pocetClenov)+1. Určite ste prišli na to, že spomínanou výnimkou je prípad, v ktorom číslo žiaka je deliteľné bezo zvyšku počtom súťažiacich v tíme. To však vieme vyriešiť tak, že každé číslo žiaka najprv zmenšíme o jednotku a až následne budeme toto číslo deliť. Celý príkaz na zistenie hodnoty prvej cifry vyzerá takto:
urobTu "prvaCifra (cpodiel (cislo-1) pocetClenov)+1
Poďme na druhú cifru. Podobne si môžeme všimnúť, že až na spomínanú výnimku mi správne riešenie zabezpečí príkaz (zvysok cislo pocetClenov). Skúsme teda opäť číslo žiaka zmenšiť o jednotku a až z tejto hodnoty vypočítať zvyšok. Vidíme, že takto to už funguje aj pre našu výnimku v prípade, že vypočítaný zvyšok znova zvýšime o jednotku. Druhá cifra je teda vybavená.
urobTu "druhaCifra (zvysok (cislo-1) pocetClenov)+1
Ak sa nám podarilo úspešné zvládnuť tieto dva kroky, celkový počet súťažiacich a spojenie dvoch cifier nám už určite nebude robiť problém. Výsledná procedúra pre výpočet čísla dresu môže teda vyzerať aj nasledovne: viem pocitaj Všimnime si, že pre zistenie hodnoty textového poľa v Imagine môžeme namiesto príkazu cislo'hodnota použiť skrátený príkaz cislo. Pri nastavení hodnoty pomocou príkazu dresy'nechHodnota však takýto skrátený zápis príkazu nie je možný. Vaše zaujímavé riešenia: Úlohu sa pokúsilo vyriešiť 17 tímov, objavilo sa viacero ďalších správnych a zaujímavých postupov:
Najčastejšie chyby:
| ||||||||||
© Univerzita Pavla Jozefa Šafárika v Košiciach, Prírodovedecká fakulta, Ústav informatiky palmaj (zavinac) upjs.sk |