User RPL
User RPL
User RPL
HP49g/49g+/48gII/50g
Mdulo 2: Recursos avanzados
Tema 2.5 Programacin User-RPL I
Francisco Palacios
Escuela Politcnica Superior de Ingeniera de Manresa
Universidad Politcnica de Catalunya
Dep. Matemtica Aplicada III
Abril 2008, versin 1.2
Contenido
1. Introduccin
2. Variables globales
3. Variables locales
4. Presentacin de resultados
5. Ejecucin condicionada
6. Formularios de entrada de datos
7. Gestin de la memoria
ndice General
1 Introduccin
1.1 Programas en User-RPL . . . . . . . . . . . . . . . . . . . . .
1.2 Almacenado y ejecucin de programas . . . . . . . . . . . . .
1
1
4
2 Variables globales
2.1 Uso de variables globales . . . . . . . . . . . . . . . . . . . . .
2.2 Reordenacin de variables . . . . . . . . . . . . . . . . . . . .
2.3 Soluciones a las actividades . . . . . . . . . . . . . . . . . . .
7
7
18
23
3 Variables locales
3.1 Uso de variables locales . . . . . .
3.1.1 Estructura de variable local
3.1.2 Etiquetado de resultados . .
3.2 Programa con resultados mltiples
3.3 Uso de variables auxiliares . . . . .
24
24
24
30
32
36
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
39
5 Ejecucin condicionada
45
5.1 Estructura IF-THEN-ELSE . . . . . . . . . . . . . . . . . . . 45
5.2 Estructura CASE . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.3 Soluciones de las actividades . . . . . . . . . . . . . . . . . . 53
6 Formularios de entrada de datos
6.1 Formularios de entrada de datos . . . .
6.2 Uso simplificado del comando INFORM
6.3 Un ejemplo de aplicacin . . . . . . . .
6.4 Uso avanzado del comando INFORM . .
6.4.1 Valores de reset . . . . . . . . . .
6.4.2 Especificaciones de formato . . .
6.4.3 Formatos de campo . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
54
54
56
60
72
72
75
78
7 Gestin de la memoria
84
7.1 Organizacin de la Memoria de la calculadora . . . . . . . . . 84
7.2 Acceso a los objetos de los puertos . . . . . . . . . . . . . . . 90
7.3 Copias de seguridad del sistema . . . . . . . . . . . . . . . . . 92
Francisco Palacios
Programacin en User-RPL. 1
Introduccin
1.1
Programas en User-RPL
En una primera aproximacin, podemos decir que un programa en UserRPL es una secuencia de objetos escritos entre los delimitadores << >>. Si
cargamos un programa en la pila y pulsamos [EVAL], la calculadora procesa
automticamente la secuencia de objetos que contiene el programa. Es esencial entender que, al ejecutar el programa, la calculadora realizar diferentes
acciones dependiendo del tipo de objeto.
Comandos. Los comandos son ejecutados.
Otros tipos de objetos son cargados en la pila, en concreto se cargan
en la pila:
Expresiones algebraicas: cos(x)+sin(x).
Nmeros: 2, 2.34, (1,2.34).
Strings: Entra un nmero, Volumen.
Listas: {1,2,a,b}.
Consideremos como ejemplo el siguiente programa.
Tipo
delimitador de programa
nmero
nmero
comando
nmero
comando
delimitador de programa
Accin
carga en la pila
carga en la pila
ejecucin
carga en la pila
ejecucin
Francisco Palacios
Programacin en User-RPL. 2
Accin
Duplica el objeto del nivel 1 de la pila.
Intercambia el contenido de nivel 1
y el nivel 2 de la pila.
Elimina el objeto del nivel 1 de la pila.
Elimina los objetos de los n primeros
niveles de la pila.
Duplica los objetos de los n primeros
niveles de la pila.
Duplica el contenido de los 2 primeros
niveles de la pila.
Sintaxis
n DROPN
n DUPN
Actividad 1.1 El men [PRG] contiene todos los comandos tiles para programacin agrupados por categoras.
Francisco Palacios
Programacin en User-RPL. 3
Actividad 1.3 El uso de la pila permite que algunos programas en UserRPL pueden ser sorprendentemente simples, as el programa para tomar dos
nmeros de la pila y sumarlos, se reduce a
Francisco Palacios
Programacin en User-RPL. 4
1.2
Francisco Palacios
Programacin en User-RPL. 5
Francisco Palacios
Programacin en User-RPL. 6
Francisco Palacios
Programacin en User-RPL. 7
Variables globales
2.1
Para asignar valores a una variable se usa el comando STO, dado que una
variable global puede existir previamente a la ejecucin del programa, debes
usar su nombre entre apstrofos (quoted name).
Como ejemplo, vamos a realizar un programa que calcule el volumen, rea
lateral y rea total de un cilindro a partir del radio y la altura. Con mayor
detalle, creamos un subdirectorio de HOME denominado CILIN, el programa se denominar VACL(Volumen y Area del CiLindro). Tomar los
valores:
Radio: almacenado en la variable global R.
Altura: almacenado en la variable global H.
Y producir como salida los valores:
Francisco Palacios
Programacin en User-RPL. 8
H
10
V ol
282. 7433
Abas
56. 5486
Alat
188. 4956
Atot
245. 0442
(1)
Francisco Palacios
Programacin en User-RPL. 9
Francisco Palacios
Programacin en User-RPL. 10
6. Ahora vamos a escribir el programa, pulsa [+] para escribir los delimitadores del programa.
Francisco Palacios
Programacin en User-RPL. 11
7. Observa que cuando te encuentras dentro de los delimitadores de programa, se activa el modo PRG. Cuando el modo PRG est activo, las
teclas escriben los comandos y funciones correspondientes, en vez de
producir su ejecucin.
Pulsa la tecla [EVAL] para escribir el comando EVAL, escribe el nombre de variable Vol (no olvides los apstofros) y pulsa la tecla [STO]
para escribir el comando STO.
Francisco Palacios
Programacin en User-RPL. 12
y pulsa [STO].
Francisco Palacios
Programacin en User-RPL. 13
Francisco Palacios
Programacin en User-RPL. 14
Francisco Palacios
Programacin en User-RPL. 15
Francisco Palacios
Programacin en User-RPL. 16
Para acabar el programa, escribe los nombre Alat y Abas sin apstrofos,
Tecla (4,5).
Francisco Palacios
Programacin en User-RPL. 17
eso hace que se carguen sus valores en la pila, pulsa [+] para entrar el
comando +
19. Ahora tendrs el valor Alat + Abas en la pila, entra el nombre Atot
entre apstrofos4 y escribe STO.
Observa que en este caso quieres usar el nombre, no el valor, por eso debes escribirlo
entre apstrofos.
Francisco Palacios
Programacin en User-RPL. 18
2.2
Reordenacin de variables
Francisco Palacios
Programacin en User-RPL. 19
[Abas]
Francisco Palacios
Programacin en User-RPL. 20
y pulsa [ENTER].
Francisco Palacios
Programacin en User-RPL. 21
Francisco Palacios
Programacin en User-RPL. 22
H
12
Vol
Abas
Alat
Atot
Actividad 2.4 Crea un directorio con el nombre ESFE. Escribe un programa con el nombre CVAE (Clculo del Volumen y Area de la Esfera) que
calcule el volumen y el rea de la superficie esfrica a partir del radio. La
entrada es una variable global R que contiene el radio y la salida son las
variables globales Vol y Area. Usa las frmulas
4
V = R3 ,
3
A = 4R2 .
H
12.1
Vol
179. 59
Area
153. 99
Francisco Palacios
Programacin en User-RPL. 23
Abas = R2 ,
Alat = R
p
R2 + H 2 ,
2.3
H
11.5
Vol
75. 3
Abas
19. 6
Alat
92. 4
Atot
112. 1
Actividad 2.3
R
3.5
H
12.1
Vol
465. 7
Abas
77. 0
Alat
266. 1
Atot
343. 1
Actividad 2.4
Programa
<<
1/3**R^2*H EVAL
Vol STO
4**R^2 EVAL
Area STO
>>
Actividad 2.6
Accin
Abre programa.
Calcula el valor del volumen.
Guarda el valor con el nombre Vol.
Calcula el valor del rea de la
la superfice esfrica.
Guarda el valor con el nombre Area.
Cierra programa.
Francisco Palacios
Programa
<<
1/3**R^2*H EVAL
Vol STO
*R^2 EVAL
Abas STO
Programacin en User-RPL. 24
Accin
Abre programa.
Calcula el valor del volumen.
Guarda el valor con el nombre Vol.
Calcula el valor del rea de la base.
Guarda el valor con el nombre Abas.
Calcula el valor del rea lateral.
Guarda el valor con el nombre Alat.
Calcula el valor del rea total.
Guarda el valor con el nombre Atot.
cCierra programa.
Variables locales
3.1
3.1.1
Francisco Palacios
Programacin en User-RPL. 25
y
<< v1 v2 v3 expresin algebraica que contiene v1 v2 v3 >>
En la sintaxis hemos usado, por simplicidad, slo 3 variables locales: v1,v2 y
v3, pero puede usarse cualquier nmero de variables locales; tambin puede
usarse cualquier nombre vlido como nombre de variable local.
Al ejecutarse una estructura de variable local como las descritas arriba, se
producen las siguientes acciones:
Se descargan 3 valores de la pila y se guardan ordenadamente en las
variables v1, v2, v3, empezando de derecha a izquierda.
Se ejecuta el programa o se evala la expresin algebraica que acompaa la definicin de las variables.
Veamos con mayor detalle como se produce la asignacin de variables.
En primer lugar se descarga el valor del nivel 1 de la pila, y se guarda
en la variable en v3.
El valor del nivel 2 de la pila se guarda en v2.
El valor del nivel 3 de la pila se guarda en v1.
Este funcionamiento puede parecer algo extrao, pero si escribimos 3 valores
en la lnea de edicin separados por espacios
Es decir, si escribimos
Francisco Palacios
Programacin en User-RPL. 26
Francisco Palacios
Programacin en User-RPL. 27
Francisco Palacios
Programacin en User-RPL. 28
Resultado
Nivel 2 R
Nivel 2
Nivel 1 H
Nivel 1 Vol
Francisco Palacios
Programacin en User-RPL. 29
H
12.1
Vol
465. 6626
y pulsa [ENTER].
Francisco Palacios
3.1.2
Programacin en User-RPL. 30
Etiquetado de resultados
Francisco Palacios
Programacin en User-RPL. 31
7. Pulsa [F1] para actualizar el contenido de la variable Vol con el programa modificado, carga los valores 3.5 y 12.1 en la pila
Francisco Palacios
Programacin en User-RPL. 32
3.2
Programa VACil
Resultado
Nivel 3 Vol: valor volumen
Nivel 2 Alat: valor rea lateral
Nivel 1 Atot: valor rea total
Francisco Palacios
Programacin en User-RPL. 33
H
15.1
Vol
960. 6
Alat
426. 9
Atot
554. 2
4. En este caso, no nos bastar con una slo expresin algebraica, debemos por lo tanto usar un programa, pulsa [+] para escribir otro par
de delimitadores de programa.
Francisco Palacios
Programacin en User-RPL. 34
Francisco Palacios
Programacin en User-RPL. 35
Francisco Palacios
Programacin en User-RPL. 36
3.3
Programa Med
Resultado
Nivel 1 Valor medio de los
elementos de la lista X
Med
3.5
Francisco Palacios
Programacin en User-RPL. 37
Francisco Palacios
Programacin en User-RPL. 38
Entra el nombre
Francisco Palacios
Programacin en User-RPL. 39
Una buena forma de presentar resultados consiste en aadir una etiqueta al valor usando el comando TAG. Una segunda forma, muy elegante,
de presentar mensajes y resultados es el comando MSGBOX. El comando
MSGBOX toma como argumento un string y, como resultado, produce una
cuadro de dilogo en la pantalla. Puedes encontrar el comando MSGBOX
en el [PRG][OUT], o bien en el catlogo de funciones y comandos
Francisco Palacios
Programacin en User-RPL. 40
R
23.41
AREA
1721. 68
Francisco Palacios
Programacin en User-RPL. 41
que calcula el rea a partir del radio. Guarda el programa con el nombre AR1
Francisco Palacios
Programacin en User-RPL. 42
Ahora el programa toma un valor de la pila y lo guarda en la variable local R, la variable A contendr inicialmente el valor 0. Una vez
calculado el valor del rea, lo guarda en A.
5. Escribe la siguiente lnea de programa.
El comando +, cuando acta con strings, realiza la concatenacin, esto es , junta las
dos cadenas.
Francisco Palacios
Programacin en User-RPL. 43
Para comprender bien el efecto de la nueva lnea de cdigo, pulsa [ENTER] para salir del editor y cargar el programa en la pila,
guarda la nueva versin del programa con [F1], carga el valor de prueba en la pila
Francisco Palacios
Programacin en User-RPL. 44
Francisco Palacios
Programacin en User-RPL. 45
Pulsa [ENTER] para continuar, entonces el programa continua y genera el resultado etiquetado que se carga en la pila.
Ejecucin condicionada
A menudo, la ejecucin de una parte de un programa depende del cumplimiento de una condicin. Un ejemplo es el clculo de la siguiente funcin:
sin x si x 0,
f (x) =
x2 si x > 0.
En esta seccin veremos las estructuras IF-THEN-ELSE y CASE, que permiten gestionar la ejecucin de partes del programa usando condiciones.
5.1
Estructura IF-THEN-ELSE
sin x si x 0.
f (x) =
x2 si x > 0.
Francisco Palacios
Programacin en User-RPL. 46
Actividad 5.1 Crea un directorio con el nombre DRP6, fija el modo angular en radianes y entra en DRP6.
10
BRanCH = ramificar.
Francisco Palacios
Programacin en User-RPL. 47
6. En las estructuras condicionales, las condiciones (que siguen a la palabra clave IF) se evalan automticamente; por el contrario, las expresiones algebraicas que aparecen despus de THEN o de ELSE slo
se cargan en la pila, por lo tanto, en cualquier caso deben ser evaluadas. Por lo tanto, debes incluir un EVAL o un NUM despus de la
palabra clave END.
11
Tecla (10,3).
Francisco Palacios
Programacin en User-RPL. 48
obtendrs:
Francisco Palacios
Programacin en User-RPL. 49
cos x si x 0,
g(x) =
1 x2 si x > 0.
Verifica que funciona correctamente con los valores de prueba x = 0.25
rad y x = 1.25.
Actividad 5.3 Modifica la funcin anterior para que fije el modo angular
en radianes antes de realizar la evaluacin.
5.2
Estructura CASE
>>
...
CASE
condicin 1
condicin 2
..
.
THEN
THEN
END
END
condicin n THEN
acciones por defecto
END . . .
END
Francisco Palacios
Programacin en User-RPL. 50
1
si x ,
cos(x) si < x 0,
g(x) =
1
si 0 < x 2,
2
si 2 < x.
5x
Actividad 5.4 Realiza los siguientes pasos. Fija el modo angular en radianes y entra en el directorio DRP6.
1. Escribe los delimitadores de programa y el inicio de una estructura de
variable local.
Francisco Palacios
Programacin en User-RPL. 51
Francisco Palacios
Programacin en User-RPL. 52
que se ejecutar despus de salir de la estructura CASE, provocando la evaluacin de la expresin algebraica cargada en la pila. Pulsa
[ENTER] para cargar el programa en la pila
Francisco Palacios
Programacin en User-RPL. 53
x1
g(x) =
x2 1
x 1,
1 < x 0,
0 < x 2,
2 < x.
5.3
Actividad 5.2
Programa
<<
X
<<
IF X 0
THEN cos(x)
ELSE 1-x^2
END
NUM
>>
>>
Accin
Abre programa.
Define X como variable local.
Inicia programa asociado a variable local.
Inicia estructura condicional IF.
Expresin del caso afirmativo.
Expresin en el caso negativo.
Final estructura condcional.
Evala la expresin cargada por IF.
Cierra estructura de variable local.
Cierra programa.
Actividad 5.3
Simplemente debes escribir RAD delante de NUM.
Actividad 5.5
Francisco Palacios
Programa
<<
X
<<
CASE
X 1 THEN -2 END
X0 THEN X-1 END
X2 THEN X^2-1 END
1
END
NUM
>>
>>
Programacin en User-RPL. 54
Accin
Abre programa.
Define X como variable local.
Inicia programa asociado a variable local.
Inicia estructura condicional CASE
Primer caso.
Segundo caso.
Tercer caso.
Accin por omisin.
Final estructura condcional CASE.
Evala la expresin cargada por CASE.
Cierra estructura de variable local.
Cierra programa.
Actividad 5.6
La representacin grfica en el intervalo x [3, 3] tiene el siguiente aspecto:
6
6.1
Cuando los datos son simples, la mejor estrategia de entrada de datos para
nuestros programas consiste en que el programa tome los datos directamente
de la pila. En este caso basta con escribir un simple diagrama de pila para
describir la forma de funcionamiento del programa. Cuando los datos de
entrada son complejos, los formularios de entrada de datos son un excelente
recurso.
Pulsa [7] para acceder al men [N.SLV] que contiene los recursos de resolucin numrica de ecuaciones.
Francisco Palacios
Programacin en User-RPL. 55
Ttulo
Campo de datos
Etiqueta de campo
Francisco Palacios
6.2
Programacin en User-RPL. 56
El comando INFORM nos permite definir formularios de entrada de datos para nuestros programas. Puedes acceder al comando INFORM en
[PRG][IN] o a travs del catlogo de funciones.
Francisco Palacios
Programacin en User-RPL. 57
Actividad 6.1 Crea un subdirectorio de HOME con el nombre DRP7, entra en DRP7 y realiza los siguientes pasos:
1. Escribe los delimitadores de programa y un string con el ttulo del
formulario.
Observa que las etiquetas son strings y que, por lo tanto, deben
ir entre comillas dobles.
3. Entra tres listas vacas, correspondientes a las especificaciones de
formato, valores de reset y valores por defecto.
Tecla (10,3).
Francisco Palacios
Programacin en User-RPL. 58
Francisco Palacios
Programacin en User-RPL. 59
El valor 1 del Nivel 1 de la pila, indica que el usuario ha rellenado el formulario; la lista del Nivel 2 contiene los valores de
los campos. Observa que el valor correspondiente al campo C es
NOVAL, esto es debido a que hemos dejado el campo vaco.
Actividad 6.2 Ejecuta el programa P1 y, cuando aparezca el formulario,
pulsa [F5] para ejecutar [CANCEL]. Observa que, como resultado, obtienes
el valor 0 en el Nivel 1 de la pila. Esto indica que el usuario ha cancelado
el formulario.
Actividad 6.3 Vamos a entrar valores por omisin al formulario del programa P1. Realiza los siguientes pasos:
1. Pulsa [F1] para recuperar el contenido de P1 y [H] para activar el
editor. Segn se ha indicado anteriormente, la tercera lista vaca
Francisco Palacios
Programacin en User-RPL. 60
Esto indica que los tres campos deben tomar, inicialmente, el valor 0.
3. Pulsa [ENTER] para salir del editor y cargar el programa en la pila y
[P1] para guardar en P1 la nueva versin. A continuacin, ejecuta
P1, obtendrs
6.3
Un ejemplo de aplicacin
A=
X +Y
H
2
Francisco Palacios
Programacin en User-RPL. 61
Recuerda que para que aparezcan las comas dentro del parntesis debes
entrar un espacio13 .
3. Pulsa [ENTER] para cargar la frmula en la pila
Tecla (10,4).
Francisco Palacios
Programacin en User-RPL. 62
14
Francisco Palacios
Programacin en User-RPL. 63
Pulsa [A] para guardar la nueva versin del programa con el nombre
A.
6. Vamos a verificar el funcionamiento de A con los siguientes valores
de prueba
X
Y
H
A
12.1 4.7 5.8 48.72
Recuerda que para una estructura de variable local como la empleada
el diagrama de pila es
Funcin A
Datos
Resultado
Nivel 3 X
Nivel 2 Y
Nivel 1 H
Nivel 1 A
Carga los valores de prueba en la pila
Francisco Palacios
Programacin en User-RPL. 64
Francisco Palacios
Programacin en User-RPL. 65
10. En esta primera versin no tendremos en cuenta si el usuario ha cancelado el formulario de entrada, escribe el comando15 DROP
Francisco Palacios
Programacin en User-RPL. 66
Francisco Palacios
Programacin en User-RPL. 67
16
Tecla (4,5).
Francisco Palacios
Programacin en User-RPL. 68
Francisco Palacios
Programacin en User-RPL. 69
Francisco Palacios
Programacin en User-RPL. 70
Observa que despus del END debes tener dos delimitadores de programa, el primero corresponde al subprograma con variable local F y
el segundo cierra el programa principal.
8. Pulsa [ENTER] para salir del editor y cargar el programa en la pila,
Francisco Palacios
Programacin en User-RPL. 71
9. Para finalizar vamos a verificar el funcionamiento del programa, ejecuta ATRAP y entra los valores de prueba.
Francisco Palacios
Programacin en User-RPL. 72
A = R2
6.4
En esta seccin veremos como definir los valores de reset, las especificaciones
de formato y los formatos de campo.
6.4.1
Valores de reset
Los valores de reset estn definidos por la lista que ocupa el Nivel 2 en la
entrada de INFORM. Si la lista no est vaca debe contener tantos valores
como campos.
Vamos a modificar el programa ATRAP aadiendo los valores de reset.
Actividad 6.9 Realiza los siguientes pasos:
1. Accede al directorio DRP8
Francisco Palacios
Programacin en User-RPL. 73
contiene los valores de reset, entra tres ceros tambin en esa lista.
Francisco Palacios
Programacin en User-RPL. 74
Francisco Palacios
Programacin en User-RPL. 75
Pulsa [NEXT], para volver a la primer pgina del men del formulario
6.4.2
Especificaciones de formato
Francisco Palacios
Programacin en User-RPL. 76
NUM_COL = 1 (1 columna).
TAB = 3 (tres espacios reservados para las etiquetas).
Actividad 6.10 Recupera el programa ATRAP y modifica la lista de especificaciones de formato de manera que el formulario tenga dos columnas de
campos, esto es, debes sustituir la lista vaca del Nivel 3
por {2}.
Actividad 6.11 En esta actividad, vamos a ver el funcionamiento del parmetro TAB.
1. Recupera el programa ATRAP y establece el formato de una columna
Francisco Palacios
Programacin en User-RPL. 77
Observa que aparece una sola columna de campos. Por otra parte, la
etiqueta del campo 3 es de longitud 6, eso provoca una mala alineacin
de los campos. Si estableces el valor de tabulacin en 6, los campos
estarn bien alineados.
3. Recupera el programa y modifica la lista de especificaciones de formato
como sigue
Francisco Palacios
Programacin en User-RPL. 78
6.4.3
Formatos de campo
texto de ayuda}.
{etiqueta
texto de ayuda
tipo1
tipo2 . . . tipok }.
{ }.
Si incluimos un texto de ayuda, ste texto se muestra en la base de la
pantalla cuando seleccionamos el campo. Si especificamos uno o ms cdigos
de tipo, el sistema verifica si el objeto entrado se ajusta a los tipos prescritos
Francisco Palacios
Programacin en User-RPL. 79
cdigo de tipo
0
1
2
3
4
5
6
8
9
A rea.
BH
donde
B base.
A=
2
H altura.
Francisco Palacios
Programacin en User-RPL. 80
Observa que las especificaciones de los campos es una lista que contiene
dos listas de la forma {etiqueta texto de ayuda}.
3. Completa la entrada de INFORM con una lista vaca para las especificaciones de formato del formulario (nmero de columnas y longitud
de tabulacin) y dos listas que asignan valores nulos como valores iniciales y valores de reset.
Francisco Palacios
Programacin en User-RPL. 81
Pulsa [F1] para guardar la nueva versin del formulario. Ejecuta el programa y obtendrs:
Francisco Palacios
Programacin en User-RPL. 82
Francisco Palacios
Programacin en User-RPL. 83
Francisco Palacios
Programacin en User-RPL. 84
3. Guarda la nueva versin con el nombre ATRG. Verifica el buen funcionamiento del programa.
Gestin de la memoria
7.1
Francisco Palacios
Programacin en User-RPL. 85
Debes tener en cuenta que los Puertos 0 y 1 son de acceso rpido, pero
su contenido puede perderse si falla la alimentacin; por el contrario, el
contenido del Puerto 2 se mantiene aunque retires las bateras.
Actividad 7.1 Accede al File Manager y observa la memoria disponible en
HOME/Puerto 0. En el emulador que estoy usando se obtiene
En este caso, dispongo de 239Kb libres para guardar objetos en el rea HOME/Puerto 0.
Actividad 7.2 Accede al editor de matrices y carga en la pila la siguiente
matriz.
Francisco Palacios
Programacin en User-RPL. 86
y pulsa [ENTER] para salir del editor. Pulsa nuevamente [ENTER] para
salir del File Manager. Si recuperas el contenido de A,
Francisco Palacios
Programacin en User-RPL. 87
Francisco Palacios
Programacin en User-RPL. 88
donde encontrars la variable A que acabas de copiar. Pulsa [F1] para ejecutar la opcin [VIEW] e inspeccionar el contenido de la variable.
Pulsa [F6] para ejecutar [OK] y volver a la vista del contenido del Puerto 1. Si pulsas la tecla [NEXT] para ver las diferentes pginas de men,
obtendrs
Francisco Palacios
Programacin en User-RPL. 89
que te avisa de que los cambios que realices no se guardarn. Pulsa [OK] y
cambia valor del elemento a11 de 20 a 50.
Francisco Palacios
7.2
Programacin en User-RPL. 90
Francisco Palacios
Programacin en User-RPL. 91
Francisco Palacios
Programacin en User-RPL. 92
4. Hemos comentado anteriormente que no puedes editar un objeto guardado en los puertos, pero s puedes acceder a su contenido y, si es un
programa, ejecutarlo. Accede a la pila y carga el valor 3 y el nombre18
:2:CIR
Tal como sucede con las variables, los programas guardados en los
puertos no se evalan automticamente, pulsa [EVAL] para evaluar el
programa, obtendrs:
7.3
Los comandos ARCHIVE y RESTORE te permiten realizar copias de seguridad del contenido de tu calculadora. Supongamos que has realizado un
buen nmero de las actividades propuestas en este tutorial, entonces habrs
creado varios directorios y al pulsar [VAR] aparecer un men con varias
etiquetas de directorio.
18
Observa que cuando cargas :2:ACIR en la pila, los dos puntos iniciales no se muestran.
Francisco Palacios
Programacin en User-RPL. 93
Este es un buen momento para hacer limpieza, pero quizs sera recomendable guardar los programas realizados en lugar de borrarlos. Los comandos
ARCHIVE y RESTORE permiten realizar una copia de seguridad del contenido del rea HOME de la calculadora. Puedes encontrar los comandos
ARCHIVE y RESTORE en la segunda pgina del men [PRG][MEM]
o en el catlogo de comandos.
Francisco Palacios
Programacin en User-RPL. 94
Francisco Palacios
Programacin en User-RPL. 95
Pulsa reiteradamente [ENTER] para marcar todos los objetos y directorios de HOME excepto el directorio CASDIR.
Pulsa [NEXT] para acceder a la segunda pgina del men del File
Manager
Francisco Palacios
Programacin en User-RPL. 96
Francisco Palacios
Programacin en User-RPL. 97
Importante