Z Daljnega vzhoda smo uvozili poceni 3D skener — napravo, ki zna meriti višino točk na
neki pravokotni površini. Zal pa so izdelovalci izdelavo programskega vmesnika prepu-
stili najcenejšemu podizvajalcu (pa še tega so očitno poiskali nekje med učenci lokalne
osnovne šole), zato nam je na voljo le ena sama funkcija za merjenje — Visina(x, y).
Tej pošljemo celoštevilski koordinati točke, ki ji želimo izmeriti višino, vrne pa nam —
seveda — izmerjeno višino. Funkcija je takšne oblike:
function Visina(x, y: integer): integer; { v pascalu }
int Visina(int x, int y); /* v C/C++ in podobnih jezikih */
def Visina(x, y): . . . # v pythonu; vrne int
Drugih informacij nismo dobili, zato ne vemo niti, kaj pomenita števili, ki ju pošljemo
v funkcijo (v kakšnih enotah sta podani). S poskušanjem smo ugotovili le, da vrednosti
ne smeta biti negativni (potem se program sesuje) in da je izmerjena vrednost vedno
večja ali enaka 0. S postavljanjem različnih elementov na začetno koordinato smo tudi
hitro ugotovili, kako program meri višino. Ne uspe pa nam umeriti koordinatnega sistema,
ker je genialni programer funkcijo Visina napisal tako, da ob neveljavnih pozitivnih
koordinatah vrne vrednost 0. Zato bomo problem predali tebi.
Napiši podprogram Poisci(ciljnaVisina), ki bo poiskal in izpisal koordinate (x, y)
polja, ki je visoko toliko kot podana vrednost (ciljnaVisina). Edino zagotovilo, ki ga imaš,
je, da zagotovo obstajata nenegativni koordinati x in y, pri katerih bo funkcija Visina(x, y)
vrnila vrednost ciljnaVisina. Ce ti je lažje, lahko koordinate zapišeš v datoteko, namesto
da bi jih izpisal na zaslon.
Upoštevaj, da je v mreži lahko veliko polj višine 0, torej se ne moreš zanašati na
to, da rezultat 0 pomeni, da si funkcijo Visina poklical z neveljavnimi koordinatami.
Upoštevaj tudi, da je delovanje skenerja relativno počasno in da zato ne moreš poklicati
funkcije Visina kar za vse možne celo številske koordinate (torej za vse take koordinate,
ki jih je mogoče predstaviti z vrednostjo tipa integer oz. int).
Zabavno dejstvo iz sveta matematike
1/998001 nam da urejeno zaporedje od 000 do 999. 1/998001 = 0.000001002003004...
Zabavno dejstvo iz sveta računalništva
Leta 1936 so Rusi naredili računalnik na vodo. (Vir: http://gizmodo.com/5879106/the-russian-computer-that-ran-on-water)
1/998001 nam da urejeno zaporedje od 000 do 999. 1/998001 = 0.000001002003004...
Zabavno dejstvo iz sveta računalništva
Leta 1936 so Rusi naredili računalnik na vodo. (Vir: http://gizmodo.com/5879106/the-russian-computer-that-ran-on-water)
Neskončna pokrajina
Moderatorji: hinkopihpih, Matic Conradi
-
- Prispevkov: 11
- Pridružen: Ne Apr 30, 2017 2:11 pm
1 others liked this
Re: Neskončna pokrajina
Ali je ta anketa direktno povezana z nalogo? Mogoče daj to anketo pod posebno temo.
Meje mojega jezika so meje mojega sveta.- Ludwig Wittgenstein
Kdo je na strani
Po forumu brska: 0 registriranih uporabnikov in 4 gosti