[LinuxFocus-icon]
LinuxFocus article number 319
http://linuxfocus.org

[Photo of the Author]
por Guido Socher (homepage)

Sobre el autor:

Mi primera calculadora RPN (Notación Polaca Inversa) fue una HP15c y fue amor a primera vista.



Traducido al español por:
Juan José Marí Morate <juanjosemari(en)telefonica.net>

Calculadoras RPN para Linux

hp-calc and tux

Resumen:

RPN (NPI) proviene de Reverse Polish Notation (Notación Polaca Inversa). La Notación Polaca Inversa fue desarrollada en 1920 por Jan Lukasiewicz como método para escribir expresiones matemáticas sin la necesidad de emplear paréntesis. Lleva unos minutos aprender a utilizarla, pero en breve se puede uno percatar de que el método es ampliamente superior al formato algebraico.

_________________ _________________ _________________

 

Introducción

Las calculadoras RPN de bolsillo se hicieron muy populares gracias a HP. HP empleó este sistema de cálculo para su primera calculadora en 1968. Si se realiza una búsqueda en Internet se puede comprobar la existencia de verdaderos clubs de fans de estas calculadoras de HP. He recabado un buen número de enlaces disponibles al final del artículo. Muchas de ésas calculadoras de HP hoy en día son artículos de coleccionista y se venden por un precio sumamente más elevado que el original.

En este artículo, presentaré algunas de las calculadoras de escritorio RPN disponibles para Linux. No vamos a fijarnos únicamente en los emuladores de HP que hay al alcance puesto que además existen otras calculadoras RPN que son totalmente independientes de HP.

 

¿Qué es RPN?, ¿Por qué RPN?

Las calculadoras RPN usan una pila de memoria y todas las operaciones matemáticas son inmediatamente ejecutadas en el bajo nivel de esta. Esta pila es usada como memoria para salvar los resultados los cuales son necesarios para calcular la fórmula. De esta forma no es necesario utilizar paréntesis en una calculadora RPN. Primero ingresas los números, después presionas en la memoria y entonces le dices a la calculadora que es lo que deseas hacer con esos números. Vamos a decirle que calcule la siguiente operación: (( 3+1 ) ^2 +1) * 4. Para realizar esta operación se deben ingresar los parámetros de la siguiente manera:

3 intro
1 +      (inmediatamente se muestra el resultado de esta operación: 4)

x^2      (inmediatamente se muestra el resultado de esta operación: 16)
1+       (inmediatamente se muestra el resultado de esta operación: 17)
4*       (Resultado final: 68)
Para realizar esta operación se requieren 9 entradas y es posible observar todos los resultados intermedios de las operaciones. Básicamente es útil para evaluar una fórmula de la misma manera que se haría cuando se realiza el cálculo sin calculadora, es decir, en la cabeza. En otras palabras. Este tipo de calculadoras, "calculan" de una manera mucho más natural. Funcionan de la misma manera que el cerebro humano calcula.

Si se intenta realizar la misma operación con una calculadora algebraica y se calcula la fórmula exactamente como está escrita, sería necesario presionar 12 teclas y no será posible observar los resultados intermedios. Las ventajas son, en otras palabras:  

Las calculadoras

Comencemos con algunas calculadoras simples que se pueden probar en un navegador web, mientras lee este artículo. Más adelante le mostraré máquinas más "poderosas".
 

rpnjcalc

Esta calculadora utiliza JavaScript. Es de diseño propio y debería funcionar en cualquier navegador moderno (!), (No funciona correctamente con Opera 5/6, Netscape 4, Konqueror). Es diferente de otras calculadoras JavaScript porque puedes emplear el teclado para ingresar los números y las operaciones matemáticas básicas. Sólo haz click aquí para jugar con rpnjcalc

Nombre:rpnjcalc
Página Web:http://main.linuxfocus.org/~guido/javascript/rpnjcalcallver.html
Licencia:GPL

 

hp-35

Esta calculadora usa JavaScript también pero pone mucho más énfasis en su similitud con la antigua calculadora de bolsillo (la real) HP-35. Puedes probarla conectado haciendo click en este enlace
Si realmente se desea emplear con frecuencia, recomiendo que se descarge el archivo ZIP, porque emplea imagenes GIF y su respuesta es considerablemente más rápida cuando la instalas en un disco local. Es bueno percatarse de que esta calculadora no ofrece la misma funcionalidad que una HP35 real. Por ejemplo sólo puede calcular trigonometría en los grados de (0-360).

Nombre:hp-35
Página web:Desconocida, conseguida de www.hpmuseum.org. Descarguela de aquí: hp-35.zip
Licencia:GPL

 

dc

Esta calculadora es un viejo comando de Unix. Es posible encontrarla incluso en los sistemas Unix más antiguos. Sólo puede realizar aritmética básica pero puede manejar números muy grandes. Para iniciarla basta con escribir dc y entonces el número seguido de una "k". (Ejemplo: 6k y presionar intro). Este comando ajusta la precisión. Ahora es posible realizar los cálculos ( + - * / ) e imprimir el más bajo nivel de la memoria con "p". Para finalizar es necesario presionar crtl-d.

Nombre:dc (calculadora de escritorio)
Página Web:Forma parte de todos los sistemas Unix. Bajo Linux, el paquete de dc se conoce como bc
Licencia:Por norma la misma que la de tu sistema Unix

 

vc.pl

Esta calculadora está escrita en Perl. Es una implementación interesante porque es una auténtica calculadora de vectores. Es posible, por supuesto, emplearla como una calculadora aritmética normal porque un único número es como vectores unidimensionales. Tiene una ayuda integrada (basta con escribir help). La instalación es muy sencilla puesto que sólo emplea los modulos de Perl comunes.

Nombre:vc (calculadora de vectores)
Página web:http://vc-calc.sourceforge.net/
Licencia:GPL

 

x48

Esta es una emulación de la calculadora HP-48. Esto quiere decir que se ejecuta el código real de la ROM de HP. La calculadora en sí, únicamente ejecuta el emulador, por lo que es necesario cargar la ROM de la HP-48. x48 es licencia GPL pero la ROM es por supuesto propiedad de HP. La original hp48 ya no es comercializada por HP y esta empresa no permite desde el año 2000 más descargas de las imágenes de sus ROM. Nota: Es interesante contar con una calculadora en la pantalla del escritorio pero eso no reemplaza a las originales HP-48 porque x48 no tiene una buena interfaz. Lo más probable es que te encuentres la mayor parte de las veces haciendo clicks con el ratón y eso ralentiza considerablemente el trabajo.

Como x48 es un emulador, es capaz de efectuar todas las operaciones exactamente igual que lo haría la original HP-48. La última versión que pude encontrar fue la 0.4 que ya cuenta con algunos años. Funciona sin ningún tipo de problemas. La versión 0.4 requiere un pequeño parche para que se deje compilar en un sistema Linux moderno. Se puede encontrar un manual original, algunas imágenes ROM, el parche y algunas instrucciones adicionales en la siguiente página web:

Nombre:x48
Página web:ftp://www.sunsite.unc.edu/pub/linux/system/emulators/
Detalles sobre x48: "página sobre detalles de x48", instalación, documentación, imágenes ROM (Ver los enlaces al final de este artículo para obtener más imágenes ROM.)
Licencia:GPL, pero es necesario obtener una ROM de HP

 

hp67

Esta calculadora cuenta con todas las funcionalidades de una auténtica HP67 pero ha sido completamente reescrita con un código totalmente independiente del código de la HP67. No se trata de un emulador. La interfaz peca de parecer algo básico (ncurses) pero tiene una excelente funcionalidad. Proporciona una excelente documentación en forma de una página de manual. (Ver enlace más abajo). Incluso es posible programarla como una auténtica HP67. Para iniciar su programación es necesario presionar "prog" y ingresar el programa deseado, comenzando con un nombre de etiqueta. Para abandonar el modo programación de debe seleccionar "immed", para ejecutar el programa hay que usar "run labelname". Aquí tenemos un ejemplo, el cual es poco práctico pero puede proporcionar una fiel idea de como programar la HP67.
prog (entrando al modo programa)

label myprg
ENTER
*
rtn
immed (fin del modo programa)
Ahora se puede emplear "run myprg" para ejecuar x^2.

Nombre:hp67
Manual:La página de manual de la HP67 en formato HTML
Página web:http://www.ibiblio.org/pub/Linux/apps/math/calc/
Licencia:GPL

 

kalc

kalc se ejecuta desde la linea de comandos. Utiliza la librería readline y tiene "completado de comandos", muy interesante. Funciona como números reales y complejos, integrales de tamaño ilimitado y números reales de precisión arbitraria. Se puede calificar como muy buena excepto por la documentación (ver archivo PDF más abajo).

Nombre:kalc
Manual:kalc.pdf 230K
Página web:http://sourceforge.net/projects/kalc/
Licencia:GPL

 

dcalc

Esta calculadora tambien está basada en ncurses para que sea posible ejecutarla en una ventana de terminal. No es programable como la HP67 pero es muy efectiva para transformar números de hexadecimal a binario y decimal.

Nombre:dcalc
Página web:http://www.ibiblio.org/pub/Linux/apps/math/calc/
Licencia:GPL

 

rpncalc

Esta es otra calculadora para ejecutar en una ventana terminal pero no está basada en ncurses. Es muy similar a la calculadora de comandos "dc". Incluye la funcionalidad de las HP28. Por supuesto, es una calculadora mucho más avanzada que la "dc". Puede manejar números complejos, vectores y matrices. rpncalc forma parte de Debian.

Nombre:rpncalc
Página web:http://www.gnu.org/directory/science/math/rpncalc.html
Licencia:GPL

 

gdcalc

Esta es una bonita calculadora con interfaz gráfica de usuario GTK. Se puede configurar para emplearla como calculadora RPN o como calculadora algebraica. Ofrece 4 modos: científico, financiero, estadístico y un modo de conversión numérica llamado método de programación. Este método de programación no tiene nada que ver con programar la calculadora (como X48 o HP67). Ofrece todo lo que se le puede pedir a una calculadora de escritorio.
Nombre:gdcalc
Página web:http://bhepple.freeshell.org/dcalc/unix/
Licencia:GPL

 

grpn

Esta también es otra calculadora RPN basada en interfaz gráfica de usuario GTK. Ofrece funciones básicas de algebra y trigonometría.
Nombre:gdcalc
Página web:http://lashwhip.com/grpn.html
Licencia:GPL

 

galculator

Esta calculadora es en su funcionabilidad muy similar a gdcalc. Utiliza las últimas librerias GTK (GTK 2.2) Es muy probable que obtengas problemas al instalarla en sistemas Linux antiguos. Está bien diseñada y tiene una agradable interfaz de usuario.

Para utilizar los menús de conversión de unidades es necesario instalar el comando de unidades (1) de ftp://ftp.gnu.org/gnu/units/, pese a que forma parte de la gran parte de las distribuciones Linux.

Nombre:galculator
Página web:http://galculator.sourceforge.net/
Licencia:GPL (nota: En la web se habla sobre GPL, no obstante en su manual se habla de licencia shareware. Supongo que se aplica a la versión de Windows).

 

calcoo

Esta es una vieja máquina. Puedes configurarla para funcionar como RPN o en modo algebraico. Muy útil para álgebra básico y trigonometría.

Nombre:calcoo
Página web:http://calcoo.sourceforge.net
Licencia:GPL

 

Kalk

Esta no es una básica, (pero gratuita) calculadora RPN para los Palm Pilot. Los Palm no ejecutan Linux pero presento esta calculadora aquí puesto que está disponible bajo licencia GPL (algo poco común para los programas para Palm).

Nombre:kalk
Página web:http://www.klawitter.de/palm/kalk.html
Licencia:GPL

 

GCalc

Esta no es una calculadora RPN del todo pero es muy práctica y útil. Esta basada en una calculadora gráfica Java. Para usarla es necesario el plugin de Java para Mozilla o Netscape que forma parte del paquete jre de blackdown.org. Será posible dibujar gráficos instantaneamente en un navegador Java.

Nombre:calcoo
Página web:http://humblestar.net/GCalc/
Licencia:GPL
 

Conclusión

Como se puede observar, existen calculadoras RPN disponibles para todos los gustos. probablemente existen muchas más calculadoras RPN pero todas las aquí expuestas son de licencia GPL.  

Referencias



Contactar con el equipo de LinuFocus
© Guido Socher
"some rights reserved" see linuxfocus.org/license/
http://www.LinuxFocus.org
Información sobre la traducción:
en --> -- : Guido Socher (homepage)
en --> es: Juan José Marí Morate <juanjosemari(en)telefonica.net>

2005-01-14, generated by lfparser_pdf version 2.51