Seminář 8 (Úkoly)
Úkol č.1
Třídy a metody ze semináře č. 2 rozšiřte o komentáře a vygenerujte dokumentaci.
Úkol č.2
Rozšiřte/upravte úkol č. 5 z předminulého semináře (RPN kalkulačku), tj. metodu rpnCalc(String expr, Map <String, Object> variables)
o následující vlastnosti:
- Metoda by měla umět vyhodnocovat výrazy s celými čísly (např. 1, 12, -123) i s čísly s plovoucí řádovou čárkou (např. 1.0, 2.23, 45.56, -78.123). Pokud dojde k sečtení (odečtení, atd.) dvou čísel, kde jedno je číslo s plovoucí řádovou čárkou, výsledkem je číslo s plovoucí řádovou čárkou.
1.1 2 + --> 3.1 1 2 + --> 3
- Přidejte podporu pravdivostních hodnot reprezentovaných literály (#t, #f) a přidejte operátory <, > =, !=, <=, >=, porovnávající čísla a pravdivostní hodnoty. Pokud hodnoty nejde porovnat, skončí metoda vyjímkou.
1.1 2 < --> #t #f #t < --> #t #f #t > --> #f 1 #f = --> Exception -- Neporovnatelne hodnoty
- Přidejte ternární operátor "?", který odebere z vrcholu zásobníku pravdivostní hodnotu a dvě další hodnoty. Pokud byla na vrcholu zásobníku hodnota #t, vrátí druhou odebranou hodnotu, jinak vrátí třetí. Pokud na vrcholu zásobníku nebude pravdivostní hodnota, skončí metoda vyjímkou.
1 2 3 4 < ? --> 2 1 2 3 4 + ? --> Exception -- 7 neni pravdivostni hodnota
Vyřešené úkoly zašlete do 19.11.2014 17:00 CET na email petr.krajca (zavináč) upol.cz s předmětem ZP3JV. Zasílejte pouze zdrojové kódy. Pokud chcete zdrojové kódy poslat zkomprimované, použijte buď formát zip nebo kombinaci tar+gz.