9
PROGRAMACIÓN EN LENGUAJE USER RPL para calculadoras HP 50g

Programación en Lenguaje User Rpl

Embed Size (px)

DESCRIPTION

Programacion

Citation preview

Page 1: Programación en Lenguaje User Rpl

PROGRAMACIÓN EN LENGUAJE USER RPL

para calculadoras HP 50g

Page 2: Programación en Lenguaje User Rpl

PREFACIO

El presente manual tomara como base los conocimientos previos que se tenga sobre la calculadora HP 50g, tales como, el uso básico de listas, vectores y matrices. Además, por ser un manual introductorio no se tocaran los temas de programación de graficas ni comandos sin nombres.

Cabe resaltar que se desarrollara el lenguaje User-RPL casi en su integridad en notación RPN. Esto se debe que también se podrá trabajar con expresiones algebraicas aunque serán en pequeñas parte dentro de la sintaxis te algunos comandos.

También quisiera hacer el agradecimiento hacia Roger Broncano, por su gran software HPUserEdit 6.0 del cual voy a hacer uso para la visualización de código; y a Dante Aroni por venderme mi primera HP 50g.

By Dan Aguilar

Page 3: Programación en Lenguaje User Rpl

INTRODUCCIÓN

DEFINICIÓN DE LA LÓGICA 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 notación polaca inversa. Esto quiere decir que para hacer una operación 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 programación debemos tener en cuenta ciertos aspectos de la pantalla de la calculadora

1. Etiquetas de menú.- Estas 6 etiquetas tendrán diversas funciones de acuerdo al menú donde nos encontremos. Para sacarle un mayor provecho activar la opción Soft menu en los flags (117) de la calculadora.

2. Línea de comandos.- Se mostrara todas las veces que se ingrese datos, comandos, texto, etc.

3. Pila o stack.- Estos números indican el nivel en la que se encuentra almacenado un objeto des pues de pasar por la línea de comandos. Y estos se empiezan a almacenar desde el nivel 1 desplazándose hacia un nivel superior si se ingresa un nuevo objeto.

Los siguientes elementos representaran el header o cabecera. El header proporciona información sobre cómo está funcionando la calculadora. Cabe resaltar que este header puede quitarse para poder observar más 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.

Page 4: Programación en Lenguaje User Rpl

4. Directorio.- Nos indica en que carpeta nos encontramos actualmente. Al crear más 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 (R∡Z) y esférico (R∡∡).

7. Base numérica.- Nos indica la base numérica en la que se encuentra la calculadora. Esa base no afecta a los cálculos pero si lo hace a ciertas funciones como los LIBEVAL o FLASHEVAL.

8. Modo de operación.- 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 información de tiempo puede ser modificada para que funcione como un reloj. Se puede elegir la forma digital o analógica.

Ahora para terminar esta introducción 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

Page 5: Programación en Lenguaje User Rpl

MANEJO DEL ENTORNO

MANEJO DE LA PILA

Como vimos lineas arriba la pila consta de varios nivles. La visualizacion de estos varia según el tamaño 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. DUP : Duplica un objeto2. DUPDUP : Duplica un objeto dos veces 3. DUP2 : Duplica los obejtos en los niveles 1 y 2 en la pila4. 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 5. NDUPN : Duplica un objeto n veces y devuelve n. “n” en el nivel 16. PICK : Duplica el objeto de un especificado nivel de la pila en

el nivel 17. PICK3 : Duplica el objeto del nivel tres en la pila8. OVER : Retorna una copia al nivel 1 de la pila del objeto en el

nivel 29. 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.

Page 6: Programación en Lenguaje User Rpl

Comandos para borrar

1. DROP : Remueve el objeto del nivel 1 de la pila y desplaza los 2. DROP2 : Remueve los dos primeros objetos de la pila3. DROPN : Remueve los primeros n+1 objetos de la pila.“n” en el

nivel 1

Comandos para ordenar

1. SWAP : Cambia la posicion de los niveles uno y dos de la pila2. 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 14. ROLLD : Rota los n primeros objetos en la pila de forma

antihoraria a partir del nivel 2. “n” en el nivel 15. UNROT : Rota los tres primeros objetos en la pila de forma

antihoraria6. NIP : Equivale a la ejecucion de SWAP seguida por DROP

Comandos para contar

1. DEPTH : Retorna un número 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 con 2 DUPN ROT

Page 7: Programación en Lenguaje User Rpl

Para este caso basta ya no es tan evidente. Para obtener este resultado debemos ingresar

3 DUPN ROT 5 ROLLD SWAP 4 ROLLD

Aca es ya un poco más complejo el codigo se transforma

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