Está en la página 1de 13

Aviso

Esta gua de programacin y los ejemplos contenidos en la misma se


proporcionan "tal como estn" y se encuentran sujetos a cambios sin previo
aviso.
Propiedad literaria perteneciente a DEACHP Software. Todos los derechos

reservados. Queda prohibida la reproduccin, adaptacin o traduccin de este


manual sin el consentimiento previo por escrito de DEACHP Software, salvo
casos contemplados en las leyes de derechos de autor.
DEACHP Software
Lima - Per
Jr. Vir 471 Rimac
Dante Aron C. Telfs.: (+511)481-0146, (+511)9-97111260
Email: informeseachp.com, MSN: deachp

Nota de Agradecimiento
Quiero expresar un agradecimiento especial a mis Padres, hermanos y dems
familiares por el apoyo incondicional recibido. A mis compaeros de la UNI
Universidad Nacional de Ingeniera, en especial a los de la FIEE Facultad de
Ingeniera Elctrica y Electrnica, adems a mis grandes amigos quienes
lograron llevar adelante este proyecto en sus universidades:
CCEU de la Universidad Nacional del Callao (Martn, Severo, Junior, etc)
ASEIMEC de la Pontificia Universidad Catlica del Per (Csar).
ADEIC de la Pontificia Universidad Catlica del Per (Paul).
UNHV Universidad Nacional Hermilio Valdizn de Hunuco (Igor).
CEIC de la UNI (Francisco y Jhim).
UCSM Universidad Catlica de Santa Mara de Arequipa (Paulo).
UPAO Universidad Privada Antenor Orrego de Trujillo (Mario).

Dante E. Aron Cornelio


Autor
-I-

Prologo
La presente gua ha sido elaborada con el fin de acompaar y facilitar el
aprendizaje y la comprensin de los conceptos fundamentales de la
programacin en lenguaje User-RPL para calculadoras HP de series 48G, 49G
y HP50G durante el desarrollo del curso de programacin impartido por
DEACHP.
Su publicacin obedece al propsito de poner a disposicin del lector una
herramienta eficaz en orden al perfeccionamiento de su formacin en el mundo
de la programacin.
Esta gua forma parte del Curso de Programacin de Calculadoras HP
de Series 48G y 49G iniciado en Febrero del ao 2000 por Dante Aron C., el
cual se lleva a cabo debido a la necesidad de explotar el uso de la calculadora
programable en el rea de la ingeniera. Inicialmente slo se entregaba en el
curso una gua impresa bsica que acompaaba a los participantes del curso
durante todo su desarrollo y era actualizada peridicamente de acuerdo a las
expectativas de los mismos, ya a finales del 2003 toma el nombre de Manual de
Programacin y desde ese entonces acompaa a los usuarios a la hora de llevar
a cabo el desarrollo de software aplicados a la ingeniera y otras especialidades,
como he podido observar ltimamente, tales como administracin, economa,
finanzas. Actualmente DEACHP entrega una gua impresa a los participantes y
una gua digital (sta gua) enfocada a los ejemplos expuestos durante el curso.
Es necesario entender que las calculadoras cientficas programables as
como las computadoras de mano son herramientas que actualmente acompaan
al estudiante durante su desarrollo acadmico por lo que su uso no debe ser
prohibido en institutos y universidades, sin embargo en DEACHP sugerimos su
uso a partir de los ciclos intermedios y en adelante.
La teora y los ejemplos que se incluyen en ste manual son propios de
DEACHP Software. Por m parte deseara conocer los comentarios y
sugerencias sobre el contenido de esta gua digital y as continuar con el
perfeccionamiento de la misma.

Dante Aron C.
Noviembre 2006

- II -

Introduccin
Las Calculadoras HP de series 48S/G y 49G han sido diseadas para el uso, de
estudiantes y profesionales, en la ingeniera y campos tcnicos.
Estas calculadoras en sus modelos 48S 48SX 48G 48G+ 48GX y 49G usan la
llamada arquitectura Saturno, y en sus modelos 48GII 49G+ y 50G la
arquitectura llamada ARM, siendo llamadas as por el cdigo de su procesador.
En ambas se incluye un lenguaje de programacin llamado RPL, que fue
diseado para darle capacidades de matemtica simblica.
El User-RPL, lenguaje de programacin bsico en la calculadora, es adecuado
para todo tipo de programas; pero si se desea crear sistemas ms elaborados las
calculadoras HP cuentan con el System-RPL y el Lenguaje Ensamblador
(Assembler) en los cuales tambin se debe tener en cuenta que la deliberada falta
de proteccin frente a los errores puede dar lugar a una prdida de datos de la
memoria del usuario final.

Breve Resea Histrica


En 1984, se inici un proyecto en la divisin de Hewlett-Packard en Corvallis
para desarrollar un nuevo software de un sistema operativo para el desarrollo de
una lnea de calculadoras y soportar una nueva generacin de hardware y
software.
Se tuvieron en cuenta varios lenguajes y sistemas operativos ya existentes pero
ninguno cumpla con todos los objetivos del diseo, por consiguiente se
desarrollo un nuevo sistema, el cual mezcla la interpretacin entrelazada del
Forth con el enfoque funcional del Lisp.
El sistema operativo resultante, conocido de modo no oficial como RPL
(Reverse-Polish Lisp), hizo su primera aparicin pblica en Junio de 1986.
Las siglas RPN son abreviatura de Reverse-Polish Notation Notacin Polaca
Inversa basada en el libro de lgica formal escrito por Jan Lukasiewicz en 1951,
en el cual muestra que las expresiones matemticas podan especificarse sin
parntesis.
Aos posteriores a la obra de Lukasiewicz, cientficos de computadoras se dieron
cuenta que el RPN era muy eficiente para matemticas en computadoras.
En la poca que la HP35 fue lanzada otras calculadoras usaban una forma de
lgebra parcial, eso quiere decir que no podan evaluar expresiones simples que
tuvieran parntesis. La tecnologa de ese tiempo no permita compiladores
totalmente algebraicos en calculadoras de bolsillo.
RPN permiti a HP a producir una calculadora de bolsillo que pudiera evaluar
expresiones arbitrarias usando la tecnologa disponible. Para muchos, aprender
un nuevo estilo de ingreso era el pequeo precio que deban pagar para poder
evaluar expresiones arbitrarias en una calculadora. Una vez que la tecnologa
permiti que compiladores algebraicos entraran en una calculadora de bolsillo, la
mayora de los usuarios usando RPN decidieron que RPN era ms eficiente y
consistente para los usuarios como para la calculadora. Adems, ya que las
- III -

subexpresiones son evaluadas cuando son ingresadas, los errores de entrada son
ms obvios con RPN.
Otra ventaja de RPN es la consistencia entre maquinas. Los primeros modelos
algebraicos tenan diferentes lmites de complejidad en las expresiones que
podan evaluar. Por ejemplo, los catlogos de TI de finales de los 70' describan
cuantos niveles de parntesis y operaciones pendientes poda manejar cada
modelo. Aun hoy en da si comienzas a usar una calculadora algebraica, necesitas
determinar "cuan algebraica" es realmente.

Algunos detalles tcnicos


Las Calculadoras HP de serie 48G (1993) cuentan con 32Kbytes 128Kbytes
dependiendo del modelo, incluso en su versin GX cuentan con dos ranuras que
le permiten la insercin de tarjetas de expansin, con lo que pueden lograr una
capacidad de almacenamiento de hasta 4Mb.
Estos modelos cuentan con la transmisin de datos va infrarrojos, lo que facilita
el intercambio de programas entre los usuarios a una distancia mxima de 5cm..
Las Calculadoras HP de serie 49G (1999) cuentan con 512Kbytes de memoria
RAM y 1Mb de memoria Flash, estos se encuentran distribuidos de la siguiente
manera: El directorio HOME y la puerta lgica 0 comparten 255Kbytes, la puerta
lgica 1 cuenta con 255Kbytes, y la puerta lgica 2 tiene 1Mb de memoria flash
lo que la hace ms segura incluso que cualquiera de las otras puertas.
Adems cuenta con 1Mb ms de memoria flash en el cual se encuentra el
software de la calculadora, el cual puede ser actualizado desde una computadora,
desde otra calculadora con una versin superior igual a la 1.16.
Fue eliminada la transmisin de datos va leds infrarrojos con la que contaban sus
predecesoras, la velocidad, en muchos casos, es de 10 a 100 veces ms rpida
que su predecesora.
Las 49G incluyen adems un nuevo lenguaje de programacin llamado HPBasic,
el cual corre bajo el modo de operacin Algebraico incluido en ellas.
Las Calculadoras HP de serie 49G+ (2003) Cuentan con un potente procesador
ARM de 75Mhz. Traen una pantalla ampliada de 13180 pxeles, lo que permite
mostrar mayor cantidad de datos y una mejor visualizacin en grficas.
La memoria puede ser ampliada mediante tarjetas SD muy comunes en el
mercado, cuenta tambin con una batera de respaldo CR-2032 que permite el
cambio de las bateras AAA evitando la perdida de datos.
La conexin Calculadora-PC es va USB para una transferencia de archivos y
actualizacin del sistema operativo de manera muy rpida.
Adems, este modelo trae de regreso la transmisin de datos va leds infrarrojos.
El sistema operativo es el mismo que en sus predecesoras 49G.
Las Calculadoras HP de serie 50G (2006) Muy similares a sus predecesoras las
49G+, traen adicionalmente un puerto de conexin serial, y son alimentadas por
4 bateras AAA. Adems son alimentadas por la PC al ser conectadas a sta.
- IV -

Importante: En esta gua digital solo se ensear el manejo de la


calculadora en modo RPN, ya que se considera como el ms apropiado y
eficaz en la elaboracin de programas.

Cambiando al Modo RPN


Si Ud. posee una 49G, 48GII , 49G+ 50G cambie el modo de operacin a
RPN de la siguiente manera (presione la tecla MODE y luego en el men el
comando CHOOSE):

Luego active el indicador -117 dentro del men FLAGS:

Por ltimo active el modo Aproximado dentro del men CAS:

Adems de mejorar el rendimiento da la calculadora lograr una apariencia y


funcionabilidad similar a sus predecesoras 48G, 48G+ y 48GX.

-V-

Gua para el Curso de Programacin User-RPL para Calculadoras Grficas HP


(sta gua NO es un reemplazo del Manual de Programacin en
User-RPL DEACHP, para ms informacin visite www.deachp.com)
Creacin de Variables Globales
En la calculadora es posible almacenar informacin a travs del
uso de variables. En ellas podemos almacenar todo tipo de
objetos.
Ejemplo: Se desea almacenar un nmero real 12.3456 en a variable
'NUMS'
Colocamos en la pantalla el nmero real y el nombre de la
variable entre apstrofes:
3:
2: 12.3456
1: 'NUMS'
Luego presionamos la tecla [STO]
Se podr apreciar en el men de variables (tecla [VAR]) la
variable creada.
De esta forma es posible almacenar cualquier tipo de objeto en
la memoria de la calculadora.
Para eliminar una variable global debemos colocar su nombre
entre llaves: { NUMS } y aplicarle el comando PURGE ubicado en
el men [TOOL].
Reemplazar valores en una ecuacin
Es posible dar un valor (real, complejo, simblico) a una
variable y luego evaluar una expresin algebraica que incluya
dicha variable para obtener un resultado.
Ejemplo: Se desea evaluar la ecuacin '3*X^2+4*X-1' para X=4.
Colocamos en la pantalla el nmero 4 y la variable 'X' entre
apstrofes:
3:
2: 4
1: 'X'
Luego presionamos la tecla [STO], a continuacin ingresamos la
ecuacin:
2:
1: '3*X^2+4*X-1'
y presionamos la tecla [EVAL] ( el comando EVAL en el men)
para obtener el resultado: 63
Nota: El procedimiento anterior puede ser utilizado para ms de
una variable.

Expositor: Dante Aron C.


-1Visite: www.deachp.com y obtenga el Manual de Programacin para Calculadoras HP

Gua para el Curso de Programacin User-RPL para Calculadoras Grficas HP


(sta gua NO es un reemplazo del Manual de Programacin en
User-RPL DEACHP, para ms informacin visite www.deachp.com)
Programacin Introduccin
Un programa en la calculadora HP es una secuencia de comandos
que sern ejecutados de forma ordenada desde el inicio al final
del programa. Estos comandos se encuentra delimitados por los
smbolos .
Ejemplo bsico: Un programa que calcule la suma de los nmeros 4
y 5:
1- Digitamos el siguiente cdigo: '4+5' EVAL
2- Presionamos [ENTER], para que sea aceptado.
3- Ingresamos el nombre para nuestro programa: 'EX1'
El nombre debe ser ingresado entre apstrofes.
4- Presionamos [ENTER], para que sea aceptado.
5- Almacenamos el programa presionando la tecla [STO].
Para probar el funcionamiento correcto del programa basta con
ejecutarlo. Ingresamos al men de variables (tecla [VAR]) y
presionamos la tecla correspondiente del men F1~F6. El
resultado obtenido debe ser 9.
Ejemplo: Desarrollemos un programa que asigne el valor numrico
8 a la variable 'A', y luego nos devuelva el resultado de la
ecuacin 'A*(A+1)/2'
8 'A' STO
'A*(A+1)/2' EVAL
Luego de digitar el programa presionamos la tecla [ENTER] y lo
almacenamos en la variable 'EX2'.
Probamos el funcionamiento correcto del programa. El resultado
obtenido ser 36.
Ejemplo: Desarrollemos un programa que asigne el valor numrico
8 a la variable 'A', el valor 12 a la variable 'B' y luego nos
devuelva los resultados de las ecuaciones 'A^2-B' y 'B^2-A'.
8 'A' STO
12 'B' STO
'A^2-B' EVAL
'B^2-A' EVAL
Luego de digitar el programa presionamos la tecla [ENTER] y lo
almacenamos en la variable 'EX3'.
Probamos el funcionamiento correcto del programa. Los resultados
obtenidos deben ser 52 y 136.

Expositor: Dante Aron C.


-2Visite: www.deachp.com y obtenga el Manual de Programacin para Calculadoras HP

Gua para el Curso de Programacin User-RPL para Calculadoras Grficas HP


(sta gua NO es un reemplazo del Manual de Programacin en
User-RPL DEACHP, para ms informacin visite www.deachp.com)
Ejemplo: Desarrollemos un programa que asigne el valor numrico
8 a la variable 'A', el valor 12 a la variable 'B', luego que
calcule los resultados de las ecuaciones 'A^2-B' y 'B^2-A', y
que los asigne (almacene) en las variables 'R1' y 'R2'
respectivamente. Finalmente que devuelva el resultado de la
ecuacin 'R1*R2*(A-B)', y los valores de R1 y R2.
8 'A' STO
12 'B' STO
'A^2-B' EVAL
'R1' STO
'B^2-A' EVAL
'R2' STO
'R1*R2*(B-A)' EVAL
R1
R2
Luego de digitar el programa presionamos la tecla [ENTER] y lo
almacenamos en la variable 'EX4'.
Probamos el funcionamiento correcto del programa. Los resultados
obtenidos deben ser 28288, 52 y 136.
Sugerencia:
Las variables globales que se han ido creando con la ejecucin
de los programas vistos hasta el momento pueden ser eliminadas
manualmente de forma automtica aadiendo un pequeo cdigo
como se puede observar a continuacin:
Basado en el programa anterior:
8 'A' STO
12 'B' STO
'A^2-B' EVAL
'R1' STO
'B^2-A' EVAL
'R2' STO
'R1*R2*(B-A)' EVAL
R1
R2
{ A B R1 R2 } PURGE

El cdigo aadido utiliza el comando PURGE para la eliminacin


de las variables globales utilizadas en el programa.

Expositor: Dante Aron C.


-3Visite: www.deachp.com y obtenga el Manual de Programacin para Calculadoras HP

Gua para el Curso de Programacin User-RPL para Calculadoras Grficas HP


(sta gua NO es un reemplazo del Manual de Programacin en
User-RPL DEACHP, para ms informacin visite www.deachp.com)
Listas
Es aquel objeto que se encuentra delimitado por llaves { },
dentro del cual podemos agrupar cualquiera de los tipos de
objetos de la calculadora. Adems es posible aplicar un comando,
funcin programa a una lista.
Ejemplo: Tenemos la siguiente lista de ngulos en formato horas,
minutos y segundos: { 17.0235 56.1208 108.0025 } y se desea
calcular la funcin SENO a cada uno de sus elementos.
Procedimiento:
1- Fijar el modo DEG (Grados sexagesimales).
2- Ingresamos la lista.
3:
2:
1: { 17.0235 56.1208 108.0025 }
3- Aplicamos el comando HMS, para convertir cada uno de los
elementos de la lista que se encuentran en hh.mmss (horas,
minutos y segundos) a horas. Obtenemos:
3:
2:
1: { 17.0430555556 56.2022222222 108.006944444 }
4- Aplicamos el comando SIN (funcin SENO). El resultado final
es:
3:
2:
1: { .293090248031 .831006044627 .951019055395 }
Uso de Listas en un programa
Utilizar listas en un programa es tan sencillo como utilizar
nmeros reales. Es posible almacenar listas en variables
globales y luego operar las variables como si se tratarn de
simples nmeros reales, con la diferencia de que los resultados
obtenidos sern listas.
Ejemplo: Se desea obtener la lista resultante de la expresin
'X^2*Y' cuando 'X' es la lista de elementos {1.1 1.9 3.1 4 4.8},
y 'Y' la lista {5 6.9 8.8 11.1 13}.

Expositor: Dante Aron C.


-4Visite: www.deachp.com y obtenga el Manual de Programacin para Calculadoras HP

Gua para el Curso de Programacin User-RPL para Calculadoras Grficas HP


(sta gua NO es un reemplazo del Manual de Programacin en
User-RPL DEACHP, para ms informacin visite www.deachp.com)
{1.1 1.9 3.1 4 4.8} 'X' STO
{5 6.9 8.8 11.1 13} 'Y' STO
'X^2*Y' EVAL
Luego de digitar el programa presionamos la tecla [ENTER] y lo
almacenamos en la variable 'EX5'.
Probamos el funcionamiento correcto del programa. El resultado
obtenido debe ser la lista: { 6.05 24.909 84.568 177.6 299.52 }
Ejemplo: Basados en el ejemplo anterior podemos crear un
programa para obtener los valores de 'a' y 'b' de la ecuacin de
la recta 'a+b*X' que corresponde al clculo del ajuste de puntos
por el mtodo de Regresin Lineal, las frmulas a utilizar son:
b = '(n*(X*Y)- X*Y)/(n*(X^2)-( X)^2))'
a = '(Y-b*X)/n'
En donde X e Y son listas de datos.
{1.1 1.9 3.1 4 4.8} 'X' STO
{5 6.9 8.8 11.1 13} 'Y' STO
X SIZE 'n' STO
'X*Y' EVAL LIST 'P' STO
X LIST 'Q' STO
Y LIST 'R' STO
'X^2' EVAL LIST 'M' STO
'(n*P-Q*R)/(n*M-Q^2)' EVAL 'b' STO
'(R-b*Q)/n' EVAL 'a' STO
a
b

Luego de digitar el programa presionamos la tecla [ENTER] y lo


almacenamos en la variable 'RLIN1'.
Probamos el funcionamiento correcto del programa. Los resultados
obtenidos para 'a' y 'b' respectivamente sern: 2.65494044994 y
2.11579179532.
Nota: Las listas de datos X e Y pueden ser cambiadas para
comparar los resultados con algn ejercicio.

Expositor: Dante Aron C.


-5Visite: www.deachp.com y obtenga el Manual de Programacin para Calculadoras HP

Gua para el Curso de Programacin User-RPL para Calculadoras Grficas HP


(sta gua NO es un reemplazo del Manual de Programacin en
User-RPL DEACHP, para ms informacin visite www.deachp.com)
Variables Locales
Las variables locales, tambin llamadas variables temporales,
tienen un funcionamiento similar al de las variables globales,
la diferencia principal radica en que stas slo existen
mientras se encuentre en ejecucin el procedimiento (subprograma) para el cual han sido creadas.
Para definir variables locales dentro de un programa se utiliza
el comando (flecha), y delante de ste irn los objetos que se
asignarn a cada variable.
Ejemplo: Desarrollemos un programa que calcule la hipotenusa y
el rea de un tringulo rectngulo a partir de sus catetos.
a b
'(a^2+b^2)' EVAL
'a*b/2' EVAL

Luego de digitar el programa presionamos la tecla [ENTER] y lo


almacenamos en la variable 'EX6'.
En el ejemplo mostrado el cdigo empieza
asignacin (flecha), lo que nos indica
colocar dos valores u objetos en la pila
ejecutar el programa para que estos sean
variables 'a' y 'b'.

con el comando de
que ser necesario
(stack) antes de
asignados a las

Probamos el funcionamiento correcto del programa. Colocamos en


la pantalla los valores 5 y 12 y ejecutamos el programa desde el
men de variables. Los resultados obtenidos para la hipotenusa y
el rea respectivamente sern: 13 y 30.
Sugerencia: Los valores u objetos que se asignarn a las
variables locales tambin pueden incluirse dentro del cdigo del
programa en caso sea necesario. Como se puede observar a
continuacin:
3 4 a b
'(a^2+b^2)' EVAL
'a*b/2' EVAL

En donde los valores 3 y 4 se asignarn a las variables 'a' y


'b' respectivamente.

Expositor: Dante Aron C.


-6Visite: www.deachp.com y obtenga el Manual de Programacin para Calculadoras HP

Gua para el Curso de Programacin User-RPL para Calculadoras Grficas HP


(sta gua NO es un reemplazo del Manual de Programacin en
User-RPL DEACHP, para ms informacin visite www.deachp.com)
Luego de digitar el programa presionamos la tecla [ENTER] y lo
almacenamos en la variable 'EX7'. Los resultados obtenidos para
la hipotenusa y el rea respectivamente sern: 5 y 6.

Reasignando valores a variables locales


Como se mencion anteriormente, las variables locales tienen
funciones similares a las de las variables globales, y una de
ellas es que pueden ser reasignadas con nuevos valores.
Ejemplo: Basados en el ejemplo anterior y conociendo la
hipotenusa y el rea del tringulo rectngulo, calcular la
altura respecto a la hipotenusa.

Inicio del programa.

3 4 0 0

Se asignan los valores 3 y 4 a


las variables 'a' y 'b', y los
dos ceros a las variables 'hyp'
y 'area' para que sean tomadas
cmo variables locales.

b hyp area

Abre procedimiento.

'(a^2+b^2)' EVAL 'hyp' STO

Se calcula la hipotenusa.

'a*b/2' EVAL 'area' STO

Se calcula el rea.
Se calcula la altura respecto a
la hipotenusa.
Cierra procedimiento.

Fin del programa.

'2*area/hyp' EVAL

Luego de digitar el programa presionamos la tecla [ENTER] y lo


almacenamos en la variable 'EX8'. El resultado obtenido de la
altura respecto a la hipotenusa para un tringulo de catetos 3 y
4 es: 2.4.

Expositor: Dante Aron C.


-7Visite: www.deachp.com y obtenga el Manual de Programacin para Calculadoras HP

También podría gustarte