Bueno no hablare mucho de este lenguaje en este manual, solo dir que es el lenguaje de programacin ms sencillo y a su vez poderoso que tienen las calculadoras HP, puesto que solo hay que tener conocimiento de cmo trabaja.
Las calculadoras HP pueden ser programadas en tres lenguajes: USER-RPL (lenguaje de USUARIO), SYSTEM-RPL (lenguaje del SISTEMA) y ML (lenguaje ensamblador).
Un programa hecho en USER-RPL es nada ms que un conjunto de datos, operadores y comandos ordenados de forma lgica, es decir, es la solucin lgica paso a paso de manera secuencial de un problema.
DECLARACIN DE VARIABLES
Una variable es nada mas que un objeto o dato que ocupa un espacio en la memoria de la calculadora representada por un nombre (Nombre de variable), y pueden ser de dos tipos: Locales y globales.
1) Variables locales:
Este tipo de variables solo almacenan su valor o dato hasta que se termine el programa en ejecucin.
2) Variables globales:
Este tipo de variables almacenan valores o datos de manera permanente en la memoria, hasta que uno decida eliminarla.
Pequeo Manual de Programacin en USER-RPL 2010
4 Autor: Fernando Cuellar Menacho INTRODUCCIN DE DATOS:
1) INPUT:
2) INFORM:
ALG Activa el modo algebraico Activa alpha para introducir cadenas de caracteres V Verifica si existe algn error de sintaxis -1 Cambia el modo de entrada de la lnea de comandos de modo insertar ( ) a modo sustituir ( ) y viceversa Pequeo Manual de Programacin en USER-RPL 2010
Autor: Fernando Cuellar Menacho 5 TIPO OBJETO EJEMPLO 0 Nmero real 81.85 1 Nmero complejo (3,4) 2 Cadena de caracteres ING. PETROLERA 3 Vector o matriz
4 Vector Complejo 5 Lista 6 Nombre de variable A 7 Variable en uso i 8 Programa 9 Constantes simblica 9 Expresin algebraica 10 Nmero binario #240d 11 Objeto grafico (GROB) Graphic 132 x 40 12 Objeto etiquetado Area:125 13 Objeto de unidad 100_km 14 Nombre de XLIB XLIB 755 1 15 Directorio DIR a 1 END 16 Librera Library 762: Sepflash 17 Objeto de reserva Backup MYDIR 18 Funciones incorporadas SIN, COS 19 Comandos de la HP IF, FOR , START 25 Objeto codificado Code 26 Datos de librera Library data 30 Objeto externo External
NOTA: Si conoce el tipo de objeto, utilize el comando TYPE para saber el tipo de objeto que se encuentra en la pila
3) CHOOSE:
Pequeo Manual de Programacin en USER-RPL 2010
6 Autor: Fernando Cuellar Menacho 4) TMENU:
SALIDA DE DATOS:
1) MSGBOX:
2) PROMPT:
3) DISP WAIT:
#Lnea= Posicin de la pantalla donde aparecer Cadena #Tiempo= Cuanto tiempo estar visible Cadena (en segundos)
Pequeo Manual de Programacin en USER-RPL 2010
Autor: Fernando Cuellar Menacho 7 4) DISP FREEZE:
#Parte= Nmero que indica un rea de la pantalla.
Nmero Zona 0 Toda la pila 1 Area de estado 2 La pila 3 Area de estado y la pila 4 Los mens 5 Area de estado y los mens 6 La pila y los mens 7 Toda la pila
5) SCROLL:
Pequeo Manual de Programacin en USER-RPL 2010
8 Autor: Fernando Cuellar Menacho ESTRUCTURAS DE PROGRAMACIN:
1) Estructuras de seleccin o de alternativa
1.1) IF THEN END (SI ENTONCES FIN):
1.2) IF THEN ELSE END (SI ENTONCES SINO FIN):
1.3) CASE THEN END (EN CASO DE ENTONCES FIN):
Pequeo Manual de Programacin en USER-RPL 2010
Autor: Fernando Cuellar Menacho 9 2) Estructuras de repeticin definida:
2.1) START NEXT (EMPEZAR SIGUIENTE):
2.2) START STEP (EMPEZAR PASO):
2.3) FOR NEXT (PARA contador SIGUIENTE):
2.4) FOR STEP (PARA contador incremento PASO):
Pequeo Manual de Programacin en USER-RPL 2010
10 Autor: Fernando Cuellar Menacho 3) Estructuras de repeticin indefinidas:
3.1) DO UNTIL END (HACER HASTA que FIN):
3.2) WHILE REPEAT END (MIENTRAS REPETIR FIN):
Pequeo Manual de Programacin en USER-RPL 2010
Autor: Fernando Cuellar Menacho 11 COMANDOS DE PROGRAMACIN
EN LA OPCIN PRG:
STACK
COMANDO DESCRI PCI N DUP Duplica el primer dato de la pila
SWAP Invierte los datos de la pila1 y pila2
DROP Borra el dato que se encuentra en la pila1
OVER Duplica el dato de la pila2
ROT Cambia de posicin el dato de la pila1 con la pila3
UNROT Cambia de posicin de manera inversa al ROT
EVAL Pequeo Manual de Programacin en USER-RPL 2010
12 Autor: Fernando Cuellar Menacho ROLL Coloca el dato de la pilaN en la primera pila (se debe poner el valor de N antes de aplicar este Cmdo)
ROLLD Coloca el dato de la pila1 en la pila N (es el inverso de ROLL)
PICK Duplica el dato de la pila N.
UNPICK Elimina el dato de la pilaN+1 y remplaza el dato de la pilaN con la pila1
PICK3 Duplica el dato de la pila3 en la pila1
DEPTH Muestra cuantos datos hay (indica cuantas pilas tienen dato)
DUP2 Duplica los datos de la pila1 y pila2
Pequeo Manual de Programacin en USER-RPL 2010
Autor: Fernando Cuellar Menacho 13 DUPN Duplica los datos de las N pilas (pila1, pila2,,pilaN)
DROP2 Elimina los datos de las dos primeras pilas
DROPN Elimina los datos de las N pilas (pila1, pila2,,pilaN)
DUPDUP Duplica doblemente el dato de la primer pila
NIP Elimina el dato de la pila2
NDUPN Duplica el dato de la pila1 N-1 veces y el valor de N se queda en la pila1.
Pequeo Manual de Programacin en USER-RPL 2010
14 Autor: Fernando Cuellar Menacho MEMORY
COMANDO DESCRI PCI N PURGE Elimina un dato o variable de la memoria.
MEN Muestra cuanto de memoria queda en la HP. ARCHIVE Crea una copia de seguridad de todos los datos que contiene la memoria HOME.
#Posicin= En que memoria se guardara (#2=memoria FLASH, #3=memoria SD) Name= Nombre con el cual se guarda la Copia. ARCHIVE= Cmdo que ejecuta la accin de crear la copia de seguridad
RESTORE Restaura todos los archivos que contena la copia de seguridad en la memoria HOME
MEMORY/DIR
COMANDO DESCRI PCI N RCL Muestra el dato que almacena una variable.
Pequeo Manual de Programacin en USER-RPL 2010
Autor: Fernando Cuellar Menacho 15 STO Guarda el dato en la variable deseada.
PATH Muestra en una lista en que directorio o subdirectorio nos encontramos trabajando. CRDIR Crea un subdirectorio. PGDIR Elimina un subdirectorio. VARS Muestra en una lista las variables que tenemos disponibles en pantalla. MEMORY/ARITH
COMANDO DESCRI PCI N STO+ Adiciona un nmero u otro objeto al contenido de una variable especifica almacenada en la memoria.
Antes la variable NAME= 50 Ahora la variable NAME= A+50 STO- Calcula la diferencia de un dato menos el contenido de una variable almacenada en memoria y guarda esta diferencia en la misma variable.
Antes la variable NAME= A+50 Ahora la variable NAME= B (A+50) STO* Multiplica el contenido de una variable con un nmero u otro objeto.
Antes la variable NAME= B (A+50) Ahora la variable NAME= 100*(B (A+50))
STO/ Divide un numero u objeto entre el contenido de una variable y luego la almacena.
Antes la variable NAME= 100*(B (A+50)) Ahora la variable NAME=
BRCH
Los comandos contenidos en esta parte del men pertenecen a la parte de Estructuras de programacin explicadas en este manual.
Pequeo Manual de Programacin en USER-RPL 2010
16 Autor: Fernando Cuellar Menacho TEXT
COMANDO DESCRI PCI N = = Compara si dos datos u objetos son iguales dando como resultado un valor (1=verdad; 0=falso). Verifica si dos datos u objetos son distintos de si (1=verdad; 0=falso). < Compara si el dato 1 es menor que el dato 2. > Compara si el dato 1 es mayor que el dato 2. Compara si el dato 1 es menor o igual que el dato 2. Compara si el dato 1 es mayor o igual que el dato 2. AND Devuelve verdad si ambos argumentos son verdad. OR Devuelve verdadero si al menos un argumento es verdad XOR Devuelve verdad si solamente un argumento es verdadero NOT Convierte lo falso en verdad y viceversa ( ) convierte al inverso lgico. SAME Pregunta si dos objetos son iguales. TYPE Muestra el tipo de objeto que se tiene en pantalla con un valor numrico. SF Activa la bandera del sistema sealado.
CF Desactiva la bandera del sistema sealado.
FS? Da verdadero si la bandera esta activada y falso caso contrario. FC? Da verdadero si la bandera esta desactivada y falso caso contrario. FS?C Ejecuta la misma accin que FS? y desactiva la bandera sealada. FC?C Ejecuta la misma accin que FC? y desactiva la bandera sealada. TYPE
COMANDO DESCRI PCI N
Descompone un objeto en sus N componentes.
Combina los datos en un vector matriz se deben especificar la cantidad de datos.
Pequeo Manual de Programacin en USER-RPL 2010
Autor: Fernando Cuellar Menacho 17
Agrupa datos en una lista, es necesario especificar la cantidad de datos a agruparse en la lista.
Convierte un objeto en una cadena.
Define o etiqueta un objeto con un nombre.
Asigna a un dato numrico una unidad deseada .
Separa un numero complejo (X, Y) es sus componentes real e imaginaria. Forma un numero complejo (X, Y) dadas las partes real e imaginaria. NUM Produce el cdigo correspondiente al primer carcter en texto. ( ) CHR Convierte el cdigo al carcter correspondiente. DTAG Quita la etiqueta de una cantidad rotulada Convierte la expresin (X=Y) a (X) y (Y) sea separa la ecuacin desde la igualdad en dos partes. LIST
COMANDO DESCRI PCI N Descompone un objeto en sus N componentes. Agrupa datos en una lista, es necesario especificar la cantidad de datos a agruparse en la lista. SUB Extrae una sub-matriz de una matriz existente, siempre y cuando se indique la posicin inicial y final de la matriz. REPL Sustituye o inserta una sub-matriz en una matriz ms grande (se debe indicar la posicin inicial). LIST/ELEM
COMANDO DESCRI PCI N GET Este comando ayuda a extraer elementos de una lista o matriz se debe indicar la posicin del elemento a extraer. GETI Similar a GET con la diferencia de que al aplicarlo extrae el dato de la lista o matriz y la posicin permanece incrementada mas 1. PUT Reemplaza un dato de una lista o matriz se debe indicar la posicin. Pequeo Manual de Programacin en USER-RPL 2010
18 Autor: Fernando Cuellar Menacho PUTI Igual que PUT y realiza la misma accin de incrementar mas 1 la posicin. SIZE Indica la dimensin que tiene un objeto, es decir, cuantos elementos tiene una cadena, lista o matriz POS Indica la posicin que tiene un objeto en una lista. HEAD Extrae el primer elemento de una lista. TAIL Quita el primer elemento de una lista reduciendo la lista. LIST/PROC
COMANDO DESCRI PCI N DOLIST DOSUBS NSUB ENDSUB STREAM REVLIST Invierte el orden de los elementos en la lista. SORT Ordena los elementos de la lista en orden creciente. SEQ Genera una lista para esto necesita los siguientes argumentos: expresin, ndice, valor inicial, valor final, incremento (N^2, N, 1, 4, 1)