Kalkulator naukowy:

podstawowe działania arytmetyczne, potęgowanie,  logarytmy, procenty,  funkcje trygonometryczne, przeliczanie współrzędnych (biegunowe, prostokątne), 
przeliczanie czasu,
przeliczanie liczb w różnych systemach (dziesiętny, szesnastkowy, dwójkowy, ósemkowy); przeliczanie liczb rzymskich na układ dziesiętny.
Kalkulator naukowy

Pomoc w zakresie obsługi kalkulatora

Wprowadzane liczby: całkowite lub z  kropką dziesiętną (zamiast przecinka).

Działania podstawowe: [+] - dodawanie, [-] odejmowanie, [*] - mnożenie, [/] - dzielenie, [+/-] - zmiana znaku, [=] - wynik działania, np. dodawania.  
[C] - kasowanie zawartości wyświetlacza

Stałe i funkcje bezargumentowe:
Stałe: [Pi ] = 3.141592653589793...;
E -
stała Eulera = e = 2.718281828459045... - podstawa logarytmów naturalnych - uzyskujemy przez klawisze  1 [exp=e^x]
[RS=180/PI] - Ro[stopn] = 180/PI=57.29577951308232... ; [RG=200/PI] - Ro[grad] = 200/PI = 63.66197723675813...
[RND] - Random() - funkcja bezargumentowa, zwraca liczbę pseudolosową z zakreu 0 - 1.

Funkcje jednoparametrowe:(tylko funkcja x) - wprowadzamy x a nastepnie wciskamy przycisk funkcji. Najbardziej popularne podświetlono poniżej na żółto.
[RND(x)] - liczba pseudolosowa z zakresu 0 - x. np. 49 [RND(x)] - losowanie liczby od 0 do 49.
[sqrt(x)] - pierwiastek kwadratowy z x, np. 4 [sqrt]  -->  2
[exp(x)=e^x] = e^x - podnoszenie stałej Eulera = e = 2.718281828459045 do potęgi z wyświetlacza. Np. 2 [exp]= e^2=2.718281828459045^2=7.3890560989306495
[1/x] - odwrotność liczby x z wyświetlacza;  np. 5 [1/x] --> 0.2
 [log10] - logarytm dziesiętny (logarytm o podstawie 10) liczby x;  [ln] - logarytm naturalny o podstawie e (stała Eulera)
[x^2] - x do kwadratu, np. 3 [x^2] --> 9
[x!] = 1*2*...*(x-1)*x - silnia liczby x (liczba z kropką dziesiętna zamieniana jest na mniejszą całkowitą), np. 3[x!]= 1*2*3=6
[x^3] - x do potęgi trzeciej
[sqrt3(x)] - pierwiastek trzeciego stopnia z liczby x na wyświetlaczu

[DMS]- zamiana stopni (całości i dziesietne) na stopnie, minuty, sekundy, np. 30.5050[DMS] .-> 30.3018 co odpowiada 30st30'18"
[DEG]- zamiana miary stopniowej (stopnie, minuty, sekundy) na stopnie, np. 30st30'18" - w zapisie do przeliczenia 30.3018, czyli  
30.3018,[DEG] -> 30.5050st.
[S->DMS] -
zamiana stopni (całości i dziesietne) na stopnie, minuty, sekundy - wyswietlane są w wyniku stopnie[d], minuty['], sekundy["], np. 30.51268888 [S->DMS] --> 30d30'45.6782''
Kąty: R - radiany (0 - 2Pi) , S - stopnie (0-360st), G - grady (0-400grad)
Współczynniki do zamiany kątów z miary łukowej (w radianach): ROS - Ro[stopn] = 180/PI; ROG - Ro[grad] = 200/PI
[R-S] - zamiana radianów na stopnie: stopnie=radiany*ROS;   [R-G] - zamiana radianów na grady: grady=radiany*ROG
[S-R] - zamiana stopni na radiany; [G-R] - zamiana gradów na radiany; [S-G] - zamiana stopni na grady: grady=stopnie/0.9
[G-S] - zamiana gradów ma stopne: stopnie=grady*0.9

Funkcje związane z pamięcią
Pamięć - są 2 pamieci: pierwsza - [STO] - storage i  druga - [STO2] - storage2
[STO] - wprowadzenie do pamięci piewszej zawartości wyświetlacza
[STO2] - wprowadzenie do pamięci drugiej zawartości wyświetlacza
[RCL] - wywołanie zawartości pamięci  [STO]
[RCL2] -
wywołanie zawartości pamięci  [STO2]
[STO+x] - dodanie zawartości  x wyświetlacza  do zawartości pamięci  [STO] - tylko liczby w systemie dziesiętnym.
[STO->x] - zamiana  zawartosci pamięci [STO] z wartoscią na wyświwtlaczu.
[ST2ST2] - zamiana zawartości pamięci [STO] i [STO2] - zamieniają się zawartości.

Funkcje trygonometryczne
[sinR] - sinus kata w radianach; [cosR] - cosinus kąta w radianach, [tanR] - tangens kata w radianach; analogicznie
[sinS], [cosS], [tanS] - funkcje trygonometryczne kąta w stopniach (stopnie i dziesiętne stopnia); [sinG], [cosG], [tanG] - funkcje trygonometryczne kąta w gradach
[asinS] - arcsin kata w stopniach;  [acosS] - arcos kąta w stopniach, [atanR] - arctg  kata w stopniach
analogicznie [asinG], [acosG], [atanG] - kofunkcje trygonometryczne kąta w gradach

Przeliczenie liczb całkowitych między różnymi systemami: dziesiętnych D (decimal)  na inne systemy:  dwójkowy B  (B - binary) , ósemkowy O  (O - Octet)  i szestnastkowy H (Hexadecimal).
np. [D->B]  i  [D2B] - przeliczają z układu dziesiętnego na binarny (cyfry 0 i 1) , [D->H] - z dziesiętnego na szestnastkowy.
W funkcjach [D->B], [D->O] i [D->H] można stosować kropkę dziesiętną, w pozostałych do konwersji  wchodzą liczby całkowte (inne zostaną zaokrąglone w dół do całkowitych) .

[H2O] (Hexadecimal to Octet - 2 to często skrót to - do) - przelicza liczby całkowite szestnastkowe (cyfry 0..9, A...F) na system ósemkowy (cyfry 0...7).
Np. 789 [D->B] --> 1100010101;   1100010101 [B2D] --> 789

Przeliczenie liczb z systemu rzymskiego na liczby w systemie dziesiętnym (cyfry arabskie): [Rom2Dec] - rzymskie na dziesiętne  i  [Dec2Rom] - dziesietne na rzymskie.
 Np. MMXIV [Rom2Dec] --> 2014;  2014 [Dec2Rom]  -- > MMXIV
161 [D->H]  --> A1;  161 [D2H] --> a1;  A1 [H2D] --> 161


Funkcje 2 argumentowe (x, y)  
- wprowadzamy wartość x, nastepnie wciskamy przycisk dowolnej operacji podstawowej ( [+] lub [-] lub [*]  lub [ /],   najlepiej kojarzony z działaniem ), wartość y oraz przycisk  funkcji, np. [x^y]

Obliczenie procentów
1) Obliczenie wartości w procentu danej liczby   [x*y%].
    Np. 10% z 50 - naciskamy 50*10[xy%] - wynik 5 (=50*10)/100);  lub 10*50[xy%] --> 5 (odpowiada = (10/100)*50 );   50% z 300 - naciskamy 300*50[xy%] - wynik 150
2) Obliczenie jaki procent jednej liczby stanowi druga liczba.  [x/y%] .
  Np. 5 jaki to procent liczby 50 - naciskamy 5/50[x/y%] - wynik 10%

Potęgowanie liczby x do potęgi y:
[x^y ]- x do potęgi y, np. 2^3 = 2*2*2 = 8. Kolejność wykonania: x*y[x^y], np. Np. 2*3[x^y] --> 8

Obliczenia trygonometryczne: kąty kierunkowe (azymuty)  i dłaugości na podstawie współrzędnych wektora oraz współrzędne wektora na podstawie długości i kąta kierunkowego (azymutu)

[AzG], [AzS], [AzR] - kąty kierunkowe odpowiednio dla kątów w gradach (AzG), stopniach i radianach w zakresie kąta pełnego, na podstawie x i y.
tan(Az)= y/x; Az=atan(y/x) = arctang(y/x). Kolejność klawiszy: x/y[AzG(x,y)] - dla kata w gradach itp. Np. 1 [/] 1 [+/-] [AzG] --> 350 ) gradów)
[Długość] - długość wektora (odcinka) o współrzednych [x , y].  d = sqrt(x^2+y^2) = sqrt(x*x+y*y). Przykład: 3 [+]  4 [Długosc] --> 5
[Dx(d,AzS)] - obliczenie współrzednej x wektora o długości d i kącie kierumkowym AzS[stopn] - czyli obliczenie przyrostu Dx, dla długości d i azymutu podanego w stopniach
Kolejnosć wprowadzania:  d [*] AzS [Dx(d,AzS)], np. 10 * 30  
[Dx(d,AzS)]  -->  8.660254037844387
[Dy(d,AzS)] - obliczenie współrzednej y wektora o długości d i kącie kierumkowym Azs[stopn] - czyli obliczenie przyrostu Dy, dla długości d i azymutu podanego w stopniach,
Kolejnosć wprowadzania:  d [*] AzS [Dy(d,Azs)], np. 10 * 30  [Dy(d,Azs)]   --> 5.0000
gdzie Dx = d*cos(Az);  Dy = d*sin(Az);
analogicznie [Dx(d,AzG)] i  [Dy(d,AzG)] - dla azymutu w gradach oraz  [Dx(d,AzG)] i  [Dy(d,AzG)] dla azymutu w radianach .
P->R - przejście ze współrzędnych biegunowych (Polar) - dany kąt kierunkwy i długość  na prostokątne (Rectangular) - x i y..
[P->R =DX] oblicza współrzędne DX i DY na podstawie azymutu i długości i wyświetla DX, a DY jest w pamięci [STO2]. Nacisnięcie [STO2] wyswietli DY.
[P->R =DY] oblicza współrzędne DX i DY na podstawie azymutu i długości i wyświetla DY, a DX jest w pamięci [STO2]. Nacisnięcie [STO2] wyswietli DX.
Kolejność klawiszy: Długosć, [* ] (lub inny znak podstawowych działań), Azymut [grad], [
P->R =DX] lub [P->R =DY].
R-> P - współrzędne prostokątne (x, y)  na biegunowe (kąt kierunkowy i długość)
[R->P = AzG]  - przeliczenie współrzędnych prostokatnych na biegunowe. Najpierw wprowadzamy DX, potem [*] (lub [/]  , nastepnie DY i 
[R->P = AzG]  - na wyswietlaczu pojawi się
azymut w gradach, a w pamięci [STO2] będzie  długość ze współrzędnych.
[R->P = odl]  - przeliczenie współrzędnych prostokatnych na biegunowe.  Analogia jak wyżej, z tym, że na wyświetlaczu pojawi się odległość (długość wektora).
Najpierw wprowadzamy DX, potem [*] (lub [/]  , nastepnie DY i 
[R->P =odl]  - na wyswietlaczu pojawi się długość , a w pamięci [STO2] będzie  azymut w gradach.
Wyniki są zaokrąglane (nie jest to stosowane przy odpowiednikach (np.[Dx(d,AzG]).

Obliczenie dotyczące czasu:
Róznica czasu [dt = t2 - t1]. Wprowadzamy czas w godzinach, minutach sekundach, w formacie: h.misek, np. 12h 30min 45sek jako 12.3045.
Np. róznica 12h30min45sek - 10h.20min15sek: 12.3045 [-] 10.2015 [[dt=t2-t1]  --> 2h 10min 30sek
Obliczenie terminu następnego lub poprzedniego na podstawie czasu wyjściowego i różnicy czasu:
[t2 = t1+dt] , np. 10h 20min 15sek + 2h 10min 30 sek: 10.2015 [+] 2.1030 [t2 = t1+dt] -> 12h 30min 45sek;
 [t1 = t2-dt],  np. 12.3045 [-] 2.1030 --> 10h 20min 15sek


Uwagi  Przy funkcjach z 2 parametrami kolejność następująca: wartość x, jeden z klawiszy operacji podstawowych, czyli [+], [-], [*], [/]), wartość y, klawisz funkcji, np. [x^y].
W większości operacji wyniki są wyświetlane z maksymalną dokładnością, w niiektórych funkcjach (np. [P-R], sekundy kątowe lub godzinowe) są zaokrąglane.

Przy programowaniu kalkulatora wykorzystano niektóre algorytmy i funkcje z Internetu.