You are on page 1of 7

PROGRAMACIN EN LENGUAJE USER RPL

para calculadoras HP 50g

PREFACIO
El presente manual tomara como base los conocimientos previos que se tenga
sobre la calculadora HP 50g, tales como, el uso bsico de listas, vectores y
matrices. Adems, por ser un manual introductorio no se tocaran los temas de
programacin de graficas ni comandos sin nombres.

Cabe resaltar que se desarrollara el lenguaje User-RPL casi en su integridad en


notacin RPN. Esto se debe que tambin se podr trabajar con expresiones
algebraicas aunque sern en pequeas parte dentro de la sintaxis te algunos
comandos.

Tambin quisiera hacer el agradecimiento hacia Roger Broncano, por su gran


software HPUserEdit 6.0 del cual voy a hacer uso para la visualizacin de cdigo;
y a Dante Aroni por venderme mi primera HP 50g.

By Dan Aguilar

INTRODUCCIN
DEFINICIN DE LA LGICA RPN
Tal vez usted haya est usando la calculadora en modo algebraico la
calculadora por ser esta forma la que se encuentra en muchas calculadoras. Sin
embargo, usted est desperdiciando el gran potencial que tiene esta al ser
operada en modo RPN. Pero, qu es el modo RPN? El modo RPN corresponde
a la notacin polaca inversa. Esto quiere decir que para hacer una operacin se
requiere que se cumpla la aridad del operador y luego el operador. Claro que se
deben respetar las dimensiones.
Por ejemplo para realizar una suma de 4 y 3 se ingresan 4 luego 3 y al final el
operador +
DESCRIPCION DE LA PANTALLA RPN
Pero antes de ahondar continuar y pasar a lo que es propiamente la programacin
debemos tener en cuenta ciertos aspectos de la pantalla de la calculadora

1. Etiquetas de men.- Estas 6 etiquetas tendrn diversas funciones de


acuerdo al men donde nos encontremos. Para sacarle un mayor provecho
activar la opcin Soft menu en los flags (117) de la calculadora.
2. Lnea de comandos.- Se mostrara todas las veces que se ingrese datos,
comandos, texto, etc.
3. Pila o stack.- Estos nmeros indican el nivel en la que se encuentra
almacenado un objeto des pues de pasar por la lnea de comandos. Y estos
se empiezan a almacenar desde el nivel 1 desplazndose hacia un nivel
superior si se ingresa un nuevo objeto.
Los siguientes elementos representaran el header o cabecera. El header
proporciona informacin sobre cmo est funcionando la calculadora. Cabe
resaltar que este header puede quitarse para poder observar ms niveles de la
pila claro est que se debe tener en cuenta como est trabajando la calculadora
antes de quitarla. Para un programador principiante se recomienda dejar el
header.

4. Directorio.- Nos indica en que carpeta nos encontramos actualmente. Al


crear ms directorios podremos tener ordenados nuestros archivos.
5. Sistema angular.- Nos indica que sistema angular se encuentra activo.
Podemos elegir entre estos tres sistemas: radianes (RAD), sexagesimales
(DEG) y centesimales (GRD).
6. Sistema de coordenas.- Nos indica que sistema coordenado se encuentra
activo. Podemos elegir entre estos tres sistemas: rectangular (XYZ), polar
(RZ) y esfrico (R).
7. Base numrica.- Nos indica la base numrica en la que se encuentra la
calculadora. Esa base no afecta a los clculos pero si lo hace a ciertas
funciones como los LIBEVAL o FLASHEVAL.
8. Modo de operacin.- Nos indica que modo esta activo en la calculadora: el
exacto (R=) o aproximado (R~).
9. Variable de sistema.- Muestra la variable del sistema siendo por lo general
la letra X.
10. Fecha.-Muestra la hora y la fecha de almacena la calculadora. Esta
informacin de tiempo puede ser modificada para que funcione como un
reloj. Se puede elegir la forma digital o analgica.
Ahora para terminar esta introduccin se mostrara todos los objetos que maneja la
calculadora. Sin embargo, no todas pueden ser accesibles para el usuario. La
informacion presentada ha sido tomada de la guia del usuarion paginas 851-852

MANEJO DEL ENTORNO


MANEJO DE LA PILA
Como vimos lineas arriba la pila consta de varios nivles. La visualizacion de estos
varia segn el tamao de la fuente, el tipo de objeto, el header o la memoria
disponible de la calculadora. Para este fin, la calculadora cuenta con varios
comandos para lograr el objetivo los hay desde comandos para copiar, borrar,
cambiar el orden, elegir, y contar elementos.
Comandos para duplicar.1.
2.
3.
4.
5.
6.
7.
8.
9.

DUP
:
Duplica un objeto
DUPDUP
:
Duplica un objeto dos veces
DUP2
:
Duplica los obejtos en los niveles 1 y 2 en la pila
DUPN
:
Toma un entero n de el nivel 1 de la pila y devuelve las
copias de los objetos en la pila desde el nivel 2 hasta el n+1
NDUPN
:
Duplica un objeto n veces y devuelve n. n en el nivel 1
PICK
:
Duplica el objeto de un especificado nivel de la pila en
el nivel 1
PICK3
:
Duplica el objeto del nivel tres en la pila
OVER
:
Retorna una copia al nivel 1 de la pila del objeto en el
nivel 2
UNPICK
:
Remplaza el objeto en el nivel n+2 con el objeto en el
nivel 2 y borra el objeto en el nivel 1 y 2.

Comandos para borrar

1. DROP
2. DROP2
3. DROPN
nivel 1

:
:
:

Remueve el objeto del nivel 1 de la pila y desplaza los


Remueve los dos primeros objetos de la pila
Remueve los primeros n+1 objetos de la pila.n en el

Comandos para ordenar


1. SWAP
:
Cambia la posicion de los niveles uno y dos de la pila
2. ROT
:
Rota los tres primeros objetos en la pila de forma
horaria.
3. ROLL
:
Rota los n primeros objetos en la pila de forma horaria a
partir del nivel 2. n en el nivel 1
4. ROLLD
:
Rota los n primeros objetos en la pila de forma
antihoraria a partir del nivel 2. n en el nivel 1
5. UNROT
:
Rota los tres primeros objetos en la pila de forma
antihoraria
6. NIP
:
Equivale a la ejecucion de SWAP seguida por DROP

Comandos para contar


1. DEPTH
:
Retorna un nmero real representando el numero de
objetos presentes en la pila antes de que DEPTH fuese ejecutado.
Ahora usando solo estos comandos partiremos desde la pantalla de la izquierda
hacia la derecha.

Para este caso basta


2 DUPN ROT

Para este caso basta ya no es tan evidente. Para obtener este resultado
debemos ingresar
3 DUPN ROT 5 ROLLD SWAP 4 ROLLD

con

Aca es ya un poco ms complejo el codigo se transforma


4 DUPN 4 ROLL 7 ROLLD ROT 5 ROLLD SWAP 4 ROLLD