Najneskorší termín odovzdania: 5.11.2012 (pondelok) o 21:00
Odovzdávané súbory: KorytnaciSvet.java
, Maklerka.java
Doplňujúce požiadavky:
Uvažujme triedu KorytnaciSvet
, ktorá rozširuje triedu WinPane
:
Biológovia z ÚBEV UPJŠ sa rozhodli, že budú skúmať správanie sa korytnačiek Trachemys coding scripta (korytnačky z JPAZu). Tieto korytnačky sú lenivé a tak takmer celý svoj život prežijú na jednom mieste. Biológovia na korytnačky chcú umiestniť monitorovacie zariadenie s rádiovým transcieverom. Anténa monitorovacieho systému je umiestnená na mieste so súradnicami [x, y]
(na budove UPJŠ). Aký musí byť minimálny vysielací rozsah zakúpených transcieverov, aby bolo možné získavať údaje zo všetkých korytnačiek?
Do triedy KorytnaciSvet
pridajte metódu minimalnyDosah
, ktorá pre zadané umiestnenie antény na súradniciach [x, y]
vráti minimálny vysielací rozsah transceiverov zaručujúci, že každá signál z každej korytnačky dosiahne anténu.
Môžete predpokladať, že v ploche je aspoň jedna korytnačka.
Do triedy KorytnaciSvet
pridajte metódu doRadu
, ktorá rovnomerne umiestni korytnačky v ploche na úsečke, ktorá je určená pozíciou najľavejšej a najpravejšej korytnačky v ploche. Rovnomerne umiestniť korytnačky na úsečke znamená, že v krajných bodoch úsečky je po jednej korytnačke. Zvyšné korytnačky sú s rovnakým rozostupom umiestnené na tejto úsečke medzi jej krajnými bodmi. Môžete predpokladať, že v ploche sú aspoň 2 korytnačky.
Pozor, po premiestnení korytnačiek ich natočenie musí byť zachované.
Vytvorte triedu Maklerka
, ktorá rozširuje triedu Turtle
. V jednotlivých metódach predpokladáme, že polia, ktoré sa tam vyskytujú v parametroch metód, uchovávajú časový rad vývoja ceny nejakého cenného papiera (CP) alebo akcie. Ak pole hodnoty
uchováva takýchto rad, tak hodnoty[0]
je hodnota akcie/CP v deň 0, hodnoty[1]
je hodnota v deň 1, ..., hodnoty[i]
je hodnota akcie/CP v deň i.
Do triedy Maklerka
pridajte metódu najvacsiPrepad
, ktorá vráti najväčší zaznamenaný percentuálny medzidňový prepad ceny akcie/CP. V prípade, že cena akcie/CP len rástla, metóda nech vráti 0. Túto hodnotu vráťte aj v prípade prázdneho alebo jednoprvkového poľa.
Príklad výpočtu medzidňovej zmena hodnoty akcie. Ak včerajšia cena akcie bola 100 EUR a dnešná cena je 80 EUR, tak máme 20% prepad ceny akcie. Ak včerajšia cena bola 50 EUR a dnešná cena je 60 EUR, tak máme 20% vzrast ceny akcie.
Do triedy Maklerka
pridajte metódu uspesneDni
, ktorá vráti najväčší počet úspešných dní za sebou, t.j. dní, kedy cena akcie/CP neklesla.
Príklad: Ak ceny akcie/CP boli postupne 3, 2, 4, 2, 5, 5, 10, 13, 12, 13, 14, 10, tak najväčší počet za sebou idúcich dni bez poklesu ceny je 5.
Poznámka: Keďže rátame dni (nie "noci"), tak v prípade aspoň jednoprvkového poľa je počet úspešných dní aspoň 1. V prípade prázdneho poľa je počet úspešných dní 0.
Do triedy Maklerka
pridajte metódu tyzdnovePriemery
, ktorá vráti pole týždňových priemerov ceny akcie/CP. Každý prvok vráteného poľa je priemerom 5 dní burzového týždňa. Teda na indexe 0 je priemer dní 0, ..., 4, na indexe 1 priemer dní 5, ..., 9, atď. Ak počet dní nie je deliteľný 5, t.j. posledný týždeň nie je úplný, za posledný týždeň rátame len priemer týchto dní týždňa.