Zkouška 10.6.2013

Pokračování základního kursu programování pro studenty 1. ročníku bakalářského studia informatiky a učitelství informatiky. Výuka bezprostředně navazuje na předmět PRG030 Programování I výkladem dalších algoritmů a jejich programové realizace, postupů a technik užívaných při tvorbě programů. Posluchači se seznámi se základy objektového programování a práce v současných vývojových prostředích. Předpokládají se vstupní znalosti v rozsahu předmětu PRG030 Programování I.
Bellatrix Lestrange

Zkouška 10.6.2013

Příspěvek od Bellatrix Lestrange »

PÍSEMNÍ ČÁST
Úloha mala název Burza. Ráno dostanou burzoví makléři seznam pokynů od klientů, ktoré akce mají prodat a ktoré koupit. Na základě těchto pokynů mají pro každý typ cenného papíru (t.j. každý ISIN) určit kurs (cenu této akce) pro tento den, za kterou se zobchoduje co nejvíc akcí.

VSTUP:
Textový soubor s pokyny. 1 řádek představuje 1 pokyn a obsahuje:
ID makléře - 10 znaků
ID klienta - 10 znaků
ISIN (ID cenného papíru) - 12 znaků
název cenného papíru - 20 znaků
typ pokynu - 1 znak, buď N (klient chce této akce koupit) nebo P (prodat)
limitní cena - pozor, s přesností na haléře - je to cena za ktorou je klient akci ještě ochoten prodat (nebo koupit - záleží na N/P)
počet akcí - celé čislo, Pascalovský longint, t.j. 4 byty

ÚLOHA:
Pro každý typ akce (t.j. pro každý ISIN) najít kurs, t.j. cenu, při které sa zobchoduje co nejvíc akcí. Počet zobchodovaných akcí (pro danou cenu a daný ISIN) je minimum z počtu akcí, které jsou lidi za danou cenu ochotni koupit, a počtu akcí, které jsou lidi za danou cenu ochotni prodat. Ak je ideálních kursů víc, t.j. interval, za výsledek se bere střed tohoto intervalu.

VÝSTUP:
Zase textový soubor, 1 řádek je pro jeden ISIN a má formát:
ISIN
název cenného papíru
kurs
počet akcí které se za tu cenu zobchodují (pro tento ISIN)

Výstup nemusí být utříděn - na pořadí řádků nezáleží.

OMEZENÍ:
počet ISINů <= 3 000
počet pokynů <= 100 000 000
počet makléřů <= 10 000
počet klientů <= 10 000 000
maximální kurs (maximální ideální cena) = 43 000.00 Kč
minimální kurs (minimální ideální cena) = 0.01 Kč
velikost RAM = 1 MB
velikost disku: neomezená, ale zase neplýtvat

PŘEDPOKLADY:
1 znak = 1 byte

NEDĚLAT: (pozor, fakt nedělat - vyhazuje se za to)
vytvářet moc souborů (moc je asi cokoliv nad 10)
vyhledávat v souborech nebo opakované čtení souboru (zase asi tak do 10 čtení je ještě OK)
přímý přístup (používat disk jako RAM)
anakonda

Re: Zkouška 10.6.2013

Příspěvek od anakonda »

Jenom maly dodatek, souboru Holan dovoloval maximalne tolik, jako ISINu, tedy klidne i 3000. Sam jsem to tak napsal a u ustni casti mne vysvetlil, ze na to stacil soubor jeden, ale zadne problemy s tim nemel:). Nakonec za 1 :)
Návštevník9999

Re: Zkouška 10.6.2013

Příspěvek od Návštevník9999 »

Mohol bych poprosit nekoho aby napsal řesení úlohy? Díky moc!
Odpovědět

Zpět na „PRG031 Programování II“