top of page

ZP3JV-08: upgrade rpnCalc

  • blax65
  • 30. 10. 2015
  • Minut čtení: 1

Odkaz na cvičení: zde

Odkaz s řešenými zdrojovými kódy: zde

Ú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:

1 2 3 4 < ? --> 2 1 2 3 4 + ? --> Exception -- 7 neni pravdivostni hodnota

  • 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.

  • Program napište tak, aby adekvátně ošetřil i další chybové stavy, např. dělení nulou, špatně zapsaný výraz, atd.Program napište tak, aby nebyl realizován jako jedna metoda a byl řádně rozčleněn a dokumentován.

Comments


Featured Posts
Recent Posts
Archive
Search By Tags
Follow Us
  • Facebook Basic Square
  • Twitter Basic Square
  • Google+ Basic Square

© 2015 by Milan Černý  Created with Wix.com

  • w-facebook
bottom of page