Kalkulátor


Protože mi v mobilu chyběl snadno ovladatelný kalkulátor a chtěl jsem se naučit jak se píšou midlety pro tato zařízení, tak během několika deštivých dní vznikl tento projekt. Není to nic světoborného, ale svému účelu to poslouží. Notace kalkulátoru je algebraická - polská notace je na implementaci sice jednodušší, ale blbě se s ní pracuje. Takhle se vyčíslují operace tak, jak jsou zapsány v řádku, včetně vyhodnocení priority a uživatel s tím nemá problém. Pouze unární operace jako je sin, cos, tg, asin, acos, atan, log, exp jsou prováděny ihned přímo nad číslem, zobrazovaným na dispeji. Problémy implementace jsou dva - malé rozlišení displeje (128x128pix) a malý počet tlačítek. Proto jsou tlačítka rozděleny do 2 částí - v první jsou běžné aritmetické operace nad celými čísly bez znaménka, v druhé ostatní. A to se tam mnoho ještě nevešlo. Přepínání módů se děje u mého telefonu pravým horním tlačítkem (2F/N čili 2.FCE).


Takhle vypadá 1.strana



A takhle 2.strana se stiskutým tlačítkem C (#)



Zcela nahoře se zobrazuje zadávané nebo vypočítané číslo, vlevo dole je náhled funkce tlačítek, vpravo dole je zobrazeno, zda se počítá v radiánech nebo ve stupních, vedle je počet otevřených závorek. Nad tím je větším písmem zobrazována při stisku tlačítka jeho funkce. Funkce jsou většinou intuintivní, což nebudu dále popisovat.


+/- Změna znaménka - mění znaménko při zadávání čísla. Pokud zadáváme už exponent po použití klávesy EE, mění se znaménko u exponentu. Možná někde bude ještě chybka.

EE - Exponent - funguje stejně jako desetinná tečka "."

CE - maže poslední zadaný znak

C - maže vše (celý výpočet)


I - Inženýrský formát - číslo s omezenou přesností a příponou "p,n,µ,m, ,k,M,G,T". Zatím nefunguje, ale mám někde připraveno

() - při zadávání výpočtu mění prioritu tak, jak se to normálně píše. Zatím nefunguje, pouze se zobrazuje počet otevřených závorek.


Program ke stáhnutí - jar + jad .


Zabalené zdrojáky v javě - kdyby si s tím někdo chtěl hrát.