[LinuxFocus-icon]
<--  | Strona Główna  | Mapa Serwisu  | Indeks  | Szukaj

Nowości | Archiwum | Linki | O Nas
Ten dokument jest dostępny w następujących językach: English  Castellano  ChineseGB  Deutsch  Francais  Russian  Turkce  Polish  

[Photo of the Author]
Guido Socher (homepage)

O Autorze:

Moim pierwszym kalkulatorem RPN był HP15c i to była miłość od pierwszego wejrzenia.



Tłumaczenie na język polski: :
Mateusz Mrozewski (homepage)

Zawartość:

 

Kalkulatory RPN dla Linuksa

hp-calc and tux

Notka:

RPN to skrót od Reverse Polish Notatnion (od tłum. ONP - Odwrotna Notacja Polska). RNP została stworzona w 1920 roku przez Jana Łukasiewicza jako metoda do zapisu wyrażeń matematycznych bez używania nawiasów i klamr. Nauczenie się RPN zajmuje kilka minut, ale wkrótce zauważysz, że ta metoda zapisu jest lepsza do algebraicznego formatu.

_________________ _________________ _________________

 

Wprowadzenie

Kieszonkowe kalkulatory RPN stały się popularne dzięki kalkulatorom HP. HP użyło tej metody zapisu już w swoim pierwszym kalkulatorze w 1968 roku. Jeśli poszukasz w internecie to odkryjesz, że są nawet fankluby tych kalkulatorów. Na końcu artykułu zamieściłem kilka dobrych odnośników. Większość z tych kalkulatorów ma dziś znaczenie kolekcjonerskie i jest sprzedawanych za wiele więcej, niż były warte oryginalnie.

W tym artykule przedstawimy kilka kalkulatorów RPN dostępnych dla Linuxa. Omówimy nie tylko emulatory HP, ale także kalkulatoru RPN całkowicie niezależne od HP.  

Co to jest RPN? Dlaczego RPN?

Kalkulatory RPN uzywają stosu i wszystkie matematyczne operacje są wykonywane natychmiast na niższym poziomie stosu. Stos jest używany jako pamięć do zachowania wyników, które będą potrzebne do obliczenia dalszej części wyrażenia. Dlatego właśnie nie potrzeba nawiasów w kalkulatorach RPN. Najpierw wpisuje się liczby, odsyła je na stos, a potem mówi, co się chce z nimi zrobić. Np. aby obliczyć:
(( 3 + 1)^2 + 1) * 4
trzeba wpisać:
3 enter
1 +      (od razu widać wynik: 4)

x^2      (od razu widać wynik: 16)
1+       (od razu widać wynik: 17)
4*       (ostateczny wynik: 68)
Aby obliczyć to wyrażenie potrzeba 9 przyciśnięć klawisza i można zobaczyć wszystkie pośrednie wyniki. Robi się to tak samo, jak przy liczeniu "w myśli" bez kalkulatora. Innymi słowy, kalkulator jest dużo bardziej "naturalny". Pracuje w ten sam sposób jak nasz "mózg".

Gdyby porównać do to kalkulatora algebraicznego, potrzeba 12 naciśnięć w tym wyrażeniu i nie można zobaczyć wyników pośrednich. Zaletami są:  

Kalkulatory

Zacznijmy z kilkoma prostymi kalkulatorami, które możena przetestować w przeglądarce podczas czytania artykułu, a poźniej przedstawię mocniejsze "maszyny".
 

rpnjcalc

Ten kalkulator używa Javascript. To mój własny projekt i działa w nowoczesnych (!) przeglądarkach (nie działa prawidłowo w operze 5/6, netscape 4, konqeror). Jest inny id wielu innych kalkulatorów javascript, ponieważ można używać także klawiatury do wpisywania liczb i podstawowych operacji matematycznych. Poprostu kliknij tutaj i przetestuj go

Nazwa:rpnjcalc
Strona domowa:http://main.linuxfocus.org/~guido/javascript/rpnjcalcallver.html
Licencja:GPL

 

hp-35

Ten kalkulator używa Javascript także, ale kładzie większy nacisk na wygląd zbliżony do prawdziwego kalkulatora kieszonkowego HP-35. Można go przetestować tutaj
Jeśli naprawdę chcesz go używać, wtedy polecam pobrać plik zip, ponieważ używa on obrazków gif i odpowiedź jest o wiele szybsza, gdy używasz go lokalnie. Należy również zauważyć, że ten kalkulator nie dostarcza takiej samej funkcjonalności jak prawdziwy HP35. Np. może on wykonywać obliczenia trygonometryczne w zakresie stopni (0-360).

Nazwa:hp-35
Strona domowa:Nieznana, pobrany z www.hpmuseum.org. Pobierz tutaj:hp-35.zip
Licencja:GPL

 

dc

Ten kalkulator jest starą komendą Uniksa. Znajdziesz go nawet na najstarszych systemach uniksowych. Może wykonać tylko podstawową arytmetykę, ale radzi sobie z bardzo długimi liczbami. Aby go uruchomić wpisujesz dc, następnie wpisujesz liczbę, a po niej literę "k" (np. 6k i wciśnij enter). To ustawia precyzję. Teraz możesz wykonać obliczenia (+-*/) i wypisać najniższy poziom stosu wpisując "p". Kończysz pracę wciskając ctrl-d.

Nazwa:dc (desk calculator)
Strona domowa:Część każdego systemu uniksowego. Pod Linuksem paczka zawierająca dc nazywa się bc (od tłum. w Debianie woody bc i dc to osobne paczki i osobne kalkulatory !!!)
Licencja:zazwyczaj taka sama jak licencja Uniksa

 

vc.pl

Ten kalkulator jest napisany w Perlu. Jest to interesująca implementacja, ponieważ jest to kalkulator wektorowy. Możesz go oczywiście użyć do normalnej artymetyki, ponieważ pojedyncza liczba jest wektorem jedno wymiarowym. Zawiera on zintegrowany system pomocy (po prostu wpisz help). Instalacja jest łatwa ponieważ wykorzystuje on samodzielny moduł perla.

Nazwa:vc (vector calculator)
Strona domowa:http://vc-calc.sourceforge.net/
Licencja:GPL

 

x48

Ten kalkulator jest emulatorem HP-48. Oznacza to, że możesz uruchomić na nim prawdziwy kod z HP. Ten kalkulator poprostu implementuje emulator. Musisz załadować prawdziwy ROM HP-48. x48 ma licencję GPL, a ROM oczywiście jest pod prawami autorskimi HP. Oryginalny kalkulator hp48 nie jest już produkowany przez HP, więć HP pozwala na pobranie obrazów ROM od roku 2000. Notatka: Miło jest mieć taki kalkulator na ekrenia monitora, ale to nadal nie jest idealny zamiennik dla oryginalnego HP-48, ponieważ x48 ma nieznut dobry interfejs klawiatury. Dlatego przez większość czasu będziesz prawdopodobnie korzystał z myszki, co jest raczej powolne.

Ponieważ x48 jest emulatorem, potrafi on wykonać wszystkie operacje dokładnie jak HP-48. Najnowsza wersja jaką znalazłem to 0.4, która już ma kilka lat, jednakże pracuje bez żadnych problemów. Wersja 0.4 potrzebuje małej łatki do skompilowania na współczesnym Linuksie. Znajdziesz oryginalną instrukcję, kilka obrazów ROM, łatkę i dodatkowe instrukcje na "szczegółowej stronie x48" poniżej.

Nazwa:x48
Strona domowa:ftp://www.sunsite.unc.edu/pub/linux/system/emulators/
Szczegóły o x48: "szczegółowa strona x48", instalacja, dokumentacja, obrazy ROM (zobacz także odnośniki na końcu artykułu, aby znaleźć więcej obrazów ROM)
Licencja:GPL, ale potrzebujesz obrazy ROM HP

 

hp67

Ten kalkulator ma pełną funkcjonalność prawdziwego hp67, ale został całkowicie przepisany i jest niezależny od kodu hp67. To nie jest emulator. Interfejs wygląda troche prosto (ncurses), ale funkcjonalność jest bardzo dobra. Dostarczany jest z doskonałą dokumentacją w formie stron podręcznika systemowego (zobacz odnośniki poniżej). Można go nawet zaprogramować jak prawdziwy hp67. Aby zacząć go programować wciskasz "prog", a następnie wpisujesz program, zaczynający się od label nazwa_etykiety, a opuszczasz tryb programowania koszystając z "immed". Aby wykonać program używasz "run nazwa_etykiety". Tutaj jest mały przykład. Mój przykład jest trochę krótki, gdyż impelentuje tylko podnoszenie do kwadratu, ale pokaże Ci jak programować hp67:
prog (rozpoczęcie trybu programowania)

label myprg
ENTER
*
rtn
immed (zakończenie tryby programowanie)
Możesz teraz wpisać "run myprg" aby wykonać x^2.

Nazwa:hp67
Podręcznik:Strony podręcznika hp67 w formacie html
Strona domowa:http://www.ibiblio.org/pub/Linux/apps/math/calc/
Licencja:GPL

 

kalc

kalc jest również uruchamiany z linii poleceń. Wykorzystuje bibliotekę readline i ma kilka funkcji "uzupełniania komend". Pracuje z liczbami rzeczywistymi i zespolonymi, liczbami całkowitymi nieograniczonego rozmiaru, z liczbami rzeczywistymi dowolnej precyzji. Dokumentacja jest również bardzo dobra (zobacz pliki pdf poniżej).

Nazwa:kalc
Podręcznik:kalc.pdf 230K
Strona domowa:http://sourceforge.net/projects/kalc/
Licencja:GPL

 

dcalc

Ten kalkulator jest również oparty o bibliotekę ncurses i jest uruchamiany na konsoli. Nie jest programowalny jak hp67, ale jest dobry do konwersji liczb z notacji szesnastkowej na binarną i dziesiętną.

Nazwa:dcalc
Strona domowa:http://www.ibiblio.org/pub/Linux/apps/math/calc/
Licencja:GPL

 

rpncalc

Ten kalkulator jest także przeznaczony do uruchomienia na konsoli, jednak nie jest opary o bibliotekę ncurses. W związku z tym jest bardzo podobny do "dc". Implementuje on funkcjonalność HP28. Jest jednakże o wiele bardziej zaawansowany niż "dc". Obsługuje on liczby zespolone, wektory i macierze. rpncalc jest częścią Debiana.
Nazwa:rpncalc
Strona domowa:http://www.gnu.org/directory/science/math/rpncalc.html
Licencja:GPL

 

gdcalc

Jest to całkiem sympatyczny kalkulator z graficznym interfejsem użytkownika gtk. Można go skonfigurować zarówno jako kalkulator RPN i algebraiczny. Oferuje on 4 tryby: naukowy, finansowy, statystyczny i tryb konwersji liczb nazywany trybem programowania. Ten tryb jednak nie ma nic wspólnego z programowaniem kalkulatora (jak x48 czy hp67). Oferuje on wszystko, czego można wymagać od kalkulatora biurkowego.
Nazwa:gdcalc
Strona domowa:http://bhepple.freeshell.org/dcalc/unix/
Licencja:GPL

 

grpn

Ten kalkulator RPN jest również oparty o interfejs użytkownika gtk. Oferuje on podstawowe operacje algebraiczne i trygonometryczne.
Nazwa:gdcalc
Strona domowa:http://lashwhip.com/grpn.html
Licencja:GPL

 

galculator

Ten kalkulator jest funkcjonalnie bardzo podobny do gdcalc. Możesz go skonfigurować do pracy w trybie RPN i algebraicznym. Umożliwia on konwersją binarny/szesnastkowy/dziesiętny i posiada wszystkie podstawowe funkcje naukowe.
Jednakże używa on najnowszych bibliotek gtk (gtk 2.2). Pojawiają się w związku z tym problem z instalacją na starszych Linuksach. W zamian za to jest dobrze zaprojektowany i posiada przyjemy interfejs użytkownika.

Aby korzystać konwersji jednostek musisz zainstalować komendę units(1) (ftp://ftp.gnu.org/gnu/units/, cześć większości dystrybucji Linuksa).
Nazwa:galculator
Strona domowa:http://galculator.sourceforge.net/
Licencja:GPL

 

calcoo

Jest to stary kalkulator. Można go używać w trybie RPN i algebraicznym. Jest dobry do podstawowej algebry i trygonometrii.
Nazwa:calcoo
Strona domowa:http://calcoo.sourceforge.net
Licencja:GPL

 

Kalk

To nie jest podstawowy (ale darmowy) kalkulator RPN dla palmtopów. Palmtopy nie korzystają z Linuksa, ale prezentuję ten kalkulator, gdyż jest on dostępny na licencji GPL (żadkość dla oprogramowania palmtopów).
Nazwa:kalk
Strona domowa:http://www.klawitter.de/palm/kalk.html
Licencja:GPL

 

GCalc

To nie jest kalkulator RPN, ale jest on nadal bardzo użyteczny. Jest to graficzny kalkulator online oparty o jave. Aby z niego skorzystać, potrzeba wtyczki java dla mozilli lub netscape'a, część paczki jre z blackdown.org. Można od razu rysować wykresy w przeglądarce obsługującej jave.
Nazwa:calcoo
Strona domowa:http://humblestar.net/GCalc/
Licencja:GPL
 

Wnioski

Jak można zauważyć, instnieją kalkulatory RPN zaspokajające wszytskie gusty. Prawdopodobnie jest dużo więcej kalkulatorów RPN, ale te wymienione powyżej są na licencji GPL.  

Odnośniki

 

Dyskusja dotycząca tego artykułu

Komentarze do dyskusji:
 Strona talkback 

<--, back to the index of this issue

Strona prowadzona przez redakcję LinuxFocus
© Guido Socher, FDL
LinuxFocus.org
tłumaczenie:
en --> -- : Guido Socher (homepage)
en --> pl: Mateusz Mrozewski (homepage)

2004-02-04, generated by lfparser version 2.45