Download - Manual Programacion Hp50g
-
8/13/2019 Manual Programacion Hp50g
1/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
PROGRAMACIN EN USER-RPL CON
EJEMPLOS APLICADOS A INGENIERA
CIVIL
SEGUNDA EDICIN.
ANDRS R. GARCA M. 1
-
8/13/2019 Manual Programacion Hp50g
2/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
PROGRAMACIN EN USER-RPL CON
EJEMPLOS APLICADOS A INGENIERA
CIVIL
SEGUNDA EDICIN.
ANDRS R. GARCA M. 2
-
8/13/2019 Manual Programacion Hp50g
3/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
ANDRS R. GARCA M. INGENIERO CIVIL
Para poder llegar a entender lo divino, primero tenemos que tratar de entender lo
Humano, es decir nuestro entorno, complejamente descrito a travs de las ciencias
exactas entre otras, las cuales no solamente desmitifican eventos relevantes de
nuestra existencia sino que tambin nos dan una luz gua de entendimiento en un
mundo hecho oscuroy que finalmente nos llevara a creer plenamente en nosotros
mismos como resultado de un instanten la creacin
ANDRS R. GARCA M. 3
-
8/13/2019 Manual Programacion Hp50g
4/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
A MI PADRE!" A MI MADRE POR SU PACIENCIA EN MIS
A#OS DI$CILES.
PRESEN%ACIN SEGUNDA EDICIN.
!e es supremamente grato y emocionante presentar esta segunda edicin que no es
mas que el resultado de lo que fue la primera y mas que eso, de la acogida que logr
dentro de la comunidad estudiantil y profesional no solo aqu en "olombia sino en
otros pases de habla hispana #e hecho, con solo una persona que me hubiera
escrito haciendo comentarios negativos o positivos de la anterior edicin, me hubiera
bastado para escribir esta edicin
$n mi concepto, creo que hay que detenernos a pensar un poco si realmente vale la
pena aprender programacin en %&$'('P) Para muchas personas no es importante
ANDRS R. GARCA M. 4
-
8/13/2019 Manual Programacion Hp50g
5/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
dentro de su vida estudiantil o profesional dado que es un lenguaje que solo aplica
para las HP *por ahora+ y que adems el estudiante promedio no lo usa de manera
muy profunda y sin inters #e nuevo en mi concepto creo que es muy importante
aprender alg-n lenguaje de programacin, por lo menos para nosotros los .ngenieros/
ya sea %&$'('P), 01&." o cualquier otro lenguaje, dado que la programacin nos
2ense3a4 a pensar de una manera un poco mas estructurada y analtica adems de
los beneficios que nos brinda, esto haciendo referencia a todos los procesos lgicos
que optimiza esto desde luego en funcin del tiempo empleado para estos
#ecid escribir esta segunda edicin con el fin de incluir temas que faltaron en la
primera y que considero de muy importantes dentro del desarrollo de nuestros
programas como lo es el entorno P."5 y sus respectivas aplicaciones y la creacin de
libreras entre otras cosas 5ambin hay mas ejemplos de temas ya tratados en la
edicin pasada y la diferencia mas importante6 los ejemplos se desarrollaron
utilizando el $mulador de la 789 y ya no de la 7:9 *esto no quiere decir que no sirvan
en la 7:9+ 1dems dentro del archivo &IP donde esta este libro vienen algunos
cdigos escritos utilizando 'PUsrE(it para que los lectores de este libro los puedan
analizar mas detalladamente y puedan experimentar cambiando cosas como el texto,
las coordenadas o lo que ustedes quieran
$spero que esta segunda edicin sea lo mas provechosa posible para aquellas
personas interesadas en la programacin en USER-RPLy por si cualquier duda no
duden en contactarme a travs del correo electrnico argarcia;
-
8/13/2019 Manual Programacion Hp50g
6/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
%a)*i+n s,ro u n sta sun(a (ici/n no ) 0a1an a ro*ar 2os cr+(itos
co)o 2o 3iciron con 2a ,ri)ra 4S5or 6o2i0iano7
#e nuevo quiero agradecer a las siguientes personas6
ROGER 6RONCANO RE"ES por su gran aplicacin 'PUsrE(it la cual permite
escribir los programas en el computador en ambiente >indo?s $ste soft?are es de
libre distribucin y lo pueden obtener en la siguiente direccin6???hpcalcorg
SE6AS%IEN CARLIER " C'RIS%OP' GIE6ELIN8Por el mejor emulador que haya
visto6 $!%7: @@A $ste soft?are tambin es de libre distribucin y lo pueden obtener
tambin en???hpcalcorg
DAN%E CAMARGO ,or LI68I% V9.9
ING. ANDRS R. GARCA M.
6OGO%A $E6RERO 9: DE ;
-
8/13/2019 Manual Programacion Hp50g
7/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
@; C!$'F& #$ .#$C5.B."1".DC #$ )F& F0G$5F&
;. DELIMI%ADORES
E@ #$B.C.".DC
EE 5.PF& #$ #$).!.51#F'$&
=. VARIA6LES
;@ #$B.C.".DC
;E 5.PF& #$ I1'.10)$&
>. PROGRAMAS
7@ #$B.C.".DC
7E .C5'F#%"".DC #$ #15F& $C %C P'F9'1!1
7; FP$'1".FC$& !15$!J5."1& #$C5'F #$ %C P'F9'1!1
77 P'F9'1!1& #$ 0)FK%$ "FC&5.5%5.IF
:. PRESEN%ACIN DE DA%OS " RESUL%ADOS DE UN PROGRAMA
-
8/13/2019 Manual Programacion Hp50g
8/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
?. MANIPULACIN DE LIS%AS
M@ #$B.C.".DC
ME "F!F "'$1' %C1 ).&51
M; 1#.".DC #$ F0G$5F& 1 %C1 ).&51
M7 "F!1C#F& K%$ P$'!.5$C FP$'1' &F0'$ ).&51&
@. ES%RUC%URA DE VARIA6LE LOCAL
N@ #$B.C.".DC
NE &.C51L.& #$ I1'.10)$ )F"1) #$C5'F #$ %C P'F9'1!1
N; $&5'%"5%'1 #$ I1'.10)$ )F"1) #$C5'F #$ %C1 &%0'%5.C1
. $LAGS
:@ #$B.C.".DC
:E "F!F !F#.B."1' )F& B)19& #$C5'F #$ %C P'F9'1!1
B. MENS
8@ C!$'F& #$ 1&.9C1".DC #$ )F& !$C&
8E "F!F "'$1' !$C& 5$!PF'1)$&
8; )F& !$C& 5$!PF'1)$& #$C5'F #$ %C P'F9'1!1
9
-
8/13/2019 Manual Programacion Hp50g
9/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
@AE@ .B5H$C$C#
@AEE .B5H$C$)&$$C#
@AE; "1&$O5H$C$C#
@AE;@ F'91C.1".DC #$) 5$")1#F
@A; $&5'%"5%'1& #$ 0%")$
@A;@ &51'5OC$L5
@A;E BF'OC$L5
@A;; #FO%C5.)O$C#
@A;7 >H.)$O'$P$15O$C#
99. ES%RUC%URAS DE DE%ECCIN DE ERRORES
@@@ #$B.C.".DC
@@E .B$''5H$C$C#
9;. VEN%ANA DE OPCIONES
@E@ #$B.C.".DC
@EE $) "F!1C#F "HFF&$
@E; BF'!1& #$ %5.).1".DC #$) "F!1C#F "HFF&$
9=. PLAN%ILLAS DE EN%RADA
@;@ #$B.C.".DC
@;E BF'!1& #$ %5.).1' )1& P)1C5.))1& #$ $C5'1#1
@;; "F!F P'$&$C51' '$&%)51#F& 1 5'1IQ& #$ %C1 P)1C5.))1
ANDRS R. GARCA M. 9
-
8/13/2019 Manual Programacion Hp50g
10/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
9>. EL EN%ORNO SOLVR
@7@ "F!F &F)%".FC1' $"%1".FC$& #$C5'F #$ %C P'F9'1!1
9:. EL EN%ORNO PIC%.
@
-
8/13/2019 Manual Programacion Hp50g
11/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
ANDRS R. GARCA M. 11
-
8/13/2019 Manual Programacion Hp50g
12/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
ANDRS R. GARCA M. 12
-
8/13/2019 Manual Programacion Hp50g
13/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
9. O6JE%OS
ANDRS R. GARCA M. 13
-
8/13/2019 Manual Programacion Hp50g
14/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
9. O6JE%OS
9.9 DE$INICIN.
)os objetos se definen como los elementos bsicos de informacin utilizados por laHP Por ejemplo, un numero real, una ecuacin, una lista, una secuencia o un
programa son objetos
9.; %IPOS DE O6JE%OS
5odos los objetos utilizados por la HP tienen un numero de identificacin 1s los
podemos identificar fcilmente dentro de un programa
)as siguientes tablas nos muestran el tipo de objeto, un ejemplo de dicho objeto y su
respectivo numero de identificacin
%IPO DE O6JE%O NUMERO
Cumero real A
Cumero complejo @
&ecuencia de caracteres E
&istema real ;
&istema complejo 7
)ista .;.= MEDIAN%E UNA PLAN%ILLA DE EN%RADA
$sta es una forma bastante interesante de introducir datos dentro de un programa ya
que muestra una presentacin bastante amigable pero no se comentara todava
debido a que necesitamos conocer primero otros elementos de programacin, y a
que considero necesario dedicarle un numeral completo e esta forma de entrada de
datos Por lo tanto no se comentara si no gasta llegar al numeral @;
>.= OPERACIONES MA%EMH%ICAS DEN%RO DE UN PROGRAMA
Ra todos sabemos, la HP utiliza la notacin polaca inversa *'PC+ para sus
operaciones, y funciones matemticas que se ejecuten en la pila #entro de un
ANDRS R. GARCA M. 37
-
8/13/2019 Manual Programacion Hp50g
38/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
programa podemos utilizar esta misma notacin para operaciones matemticas, pero
adems podemos escribir las operaciones tal cual se escriben en el papel
Para que esto sea claro, vamos al siguiente ejemplo en el cual no(solo se explica lo
anterior, adems se utilizarn aplicaciones vistas anteriormente6
$scribamos un programa que nos calcule el rea de un triangulo, la formula es6
A 4 * 3 7 ;
#onde6
1 _ Jrea
b _ 0ase
h _ 1ltura
$ntonces escribiendo la operacin en notacin algebraica se vera as6
4 * 3 7 ;
R escribiendo la operacin en Cotacin Polaca .nversa se vera as6
* 3 ! ;
Pero veamos el cdigo escrito de ambas formas6
- U%ILI&ANDO LA OPERACIN EN MODO ALGE6RAICO
X T0aseT TT INPU% O6J`b S%O
T1lturaT TT INPU% O6J
ANDRS R. GARCA M. 38
-
8/13/2019 Manual Programacion Hp50g
39/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
`h S%O
ZbhEZ EVAL
Y
1s se vera en la pila6
9rabamos bajo el nombre OPERy ejecutamos para b _ @A y h _ @
-
8/13/2019 Manual Programacion Hp50g
40/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
la operacin 5ampoco se hubiera realizado la operacin si hubiramos grabado el
valor de la base o de la altura con un nombre diferente a b o con 0 *may-scula+, ya
que en la operacin esta referenciado con b, y debe ser b *min-scula+ ya que la HP
discrimina entre may-sculas y min-sculas
E #e igual manera debemos percatarnos de que inmediatamente despus de la
operacin debemos ejecutar el comando EVAL *evaluar+ accin que no se ejecutara
si la operacin estuviera en 'PC
; )a operacin siempre que este escrita en modo algebraico como en el anterior
ejemplo, debe ir entre delimitadores de operacin algebraica K K
7 1l finalizar el programa nos dejo los valores de b y h grabados en el directorio
actual, algo que para mi gusto es molesto !as adelante comentaremos la manera de
evitar grabar valores para ejecutar una operacin, esto mediante la creacin de una
variable local, o simplemente antes de finalizar el programa eliminar esta variable
-
8/13/2019 Manual Programacion Hp50g
41/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
delimitadores ` ` para grabarla no se producira error )o que sucedera seria que la
sobrescribira es decir eliminara el valor del antiguo b o h y lo cambiaria al valor de b
o h que estamos introduciendo
- Uti2ian(o 2a o,raci/n n )o(o RPN
X T0aseT TT INPU% O6JZbZ &5F
T1lturaT TT INPU% O6JZhZ S%O
b h E
Y
1s se vera en la pila6
ANDRS R. GARCA M. 41
-
8/13/2019 Manual Programacion Hp50g
42/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
"F!$C51'.F&6
@ Co necesitamos el EVALdespus de la operacin
E Co necesitamos poner lo delimitadores ` ` para la operacin
Para ver la ejecucin del programa paso a paso ejecute el comando D6UG
anteriormente nombrado *se recomienda+
$stas son las formas bsicas de hacer operaciones matemticas proporcionadas por
la HP Personalmente en mi humilde opinin de programador, recomiendo ejecutar
las operaciones en modo algebraico, ya que es mucho ms fcil entenderlas si se les
quiere hacer modificaciones posteriores
1 los usuarios de 789 les recomiendo utilizar su calculadora en modo 'PC
recordando que la 78 brinda la posibilidad de trabajar en modo algebraico tambin
$sto dejmoslo para otras calculadoras
>.> PROGRAMAS DE 6LOUE CONS%I%U%IVO
%n programa de bloque constitutivo es un programa que se compone no(solo de una
variable sino que se compone de varias variables que tambin se denominan
subrutinas Fbservemos el ejemplo anterior *$7+ el cual para calcular el volumen de
una esfera solo necesito de una variable $7 Pero supongamos que el programa
hubiera sido muy largo/ es decir que hubiera tenido muchos mas comandos para
realizar otras tareas, esto es muy incomodo desde punto de vista de la edicin del
ANDRS R. GARCA M. 42
-
8/13/2019 Manual Programacion Hp50g
43/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
programa6 $ditar variables muy largas es bastante incomodo y demorado $ntonces
en ese caso la primera variable, es decir por donde empieza el programa/ la referimos
a segunda variable
Hay ocasiones en que es obligatorio referirnos a una segunda variable o subrutina, es
decir no solo lo hacemos por que la primera es una variable muy larga sino porque es
totalmente necesario 5ambin es importante aclarar que un programa puede estar
compuesto de muchas subrutinas *hasta que la memoria de su HP se lo permita+
$jemplo6
&upongamos que deseamos calcular el rea y la longitud de circunferencia de un
circulo dado su radio pero utilizaremos una variable para calcular el rea y otra para
calcular la longitud de circunferencia
"omo lo pueden imaginar estas son tareas que no representan programas muy largos
&e escribir en dos variables simplemente para explicar como se crea una subrutina y
como conectar las dos variables
@ "reamos la variable por donde vamos a empezar el programa es decir la que va a
calcular el rea6 )a llamaremos 1'$1
E )a segunda variable, es decir/ la que calculara la longitud de la circunferencia la
llamaremos )FC9
)a operacin matemtica para calcular el rea la escribiremos algebraicamente y
entonces la sintaxis ser la siguiente6
X TIalor del radio^T T T
INPU% O6JANDRS R. GARCA M. 43
-
8/13/2019 Manual Programacion Hp50g
44/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
Z r Z
S%O
Z ;@7 rE Z
EVAL
)FC9
Y
$n la pila se vera as6
)a grabamos bajo el nombre 1'$16 `1'$1 S%O
"F!$C51'.F&6
@ Fbservemos que se grabo el valor del radio en el directorio actual bajo el nombre r
` r ` S%O
E )a operacin es escrita algebraicamente por lo que tenemos que adicionar EVAL
despus de la operacin
ANDRS R. GARCA M. 44
-
8/13/2019 Manual Programacion Hp50g
45/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
=. Esta s 2a o*sr0aci/n )s i),ortant. N/ts u ants u s cirr 2
,rora)a sta)os 22a)an(o un no)*r 4LONG7 Est s 2 no)*r ( 2a
0aria*2 u siu s (cir 2a u 0a a ca2cu2ar 2a 2onitu( ( 2a circunrncia.
AuQ 2o u s 3io u u in)(iata)nt s aca*an 2as taras u o,racions
,or 3acr n 2a 0aria*2 HREA nos 0a)os ,ara 2a 0aria*2 LONG. Esta 0aria*2
LONG (*)os 22a)ar2a sin ninuna c2as ( (2i)ita(ors co)o s o*sr0a n
2a ,anta22a antrior.
Pero bueno, escribamos la variable )FC96
X ` E ;@7 r `
EVAL
Y
$n la pila se vera as
)o grabamos con el nombre )FC96 `)FC9 S%O
"F!$C51'.F&6
ANDRS R. GARCA M. 45
-
8/13/2019 Manual Programacion Hp50g
46/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
@ Percatarnos del $I1) despus de la operacin
$ntonces en este momento debemos tener dos variables grabadas que son6
J'$1 R )FC9
Iariables
$ntonces ejecutemos nuestro primer programa de bloque constitutivo 'ecordemos
que el programa inicia con la variable J'$1
$ntonces para un radio de : obtendremos los siguientes valores6
"F!$C51'.F&6
ANDRS R. GARCA M. 46
-
8/13/2019 Manual Programacion Hp50g
47/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
@ $ste ejemplo es simplemente para explicar como se llama una subrutina dentro de
un programa, ya que este programa en esencia/ no necesitaba una subrutina dado
que es muy corto
E Bijmonos que el programa nos deja la variable r grabada en el directorio actual
Ieamos como eliminar esta variable6
)o -nico que tenemos que hacer es lo siguiente6
1ntes de cerrar la subrutina debemos agregar lo siguiente
[ r \ P%'9$que lo que hace es sacar el nombre a borrar a la pila en este caso r
y luego borrarlo mediante el comando PURGE
$sta ultima parte *borrar r+ debemos ponerla al final de la subrutina *en este caso
)FC9+ y no al final del programa principal *en este caso 1'$1+ ya que si lo ponemos
al final del programa principal 1'$1, cuando nos vayamos a la subrutina )FC9 no
calculara nada porque el valor de r ya no existe, se ha borrado
$ntonces el cdigo completo quedara as
AREA
X TIalor del radio^T T T
.CP%5 F0G Z r Z &5F
Z ;@7 rE Z $I1)
)FC9 Y
LONG
X ` E ;@7 r ` EVAL T r PURGE
ANDRS R. GARCA M. 47
-
8/13/2019 Manual Programacion Hp50g
48/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
Y
1gregando este ultimo comando ya no nos quedara la variable r en el directorio
actual
Fbservemos que la variable a borrar debe ir entre delimitadores de lista
Para terminar con este numeral espero que haya quedado bien clara la manera como
se llaman las subrutinas dentro de un programa Si),2)nt s 22a)an ,or su
no)*r 1 sin ninn (2i)ita(or.
'ecomiendo que le pasen el D6UG *comando nombrado anteriormente+ a este
peque3o programa que acabamos de hacer *J'$1+ para as lograr una comprensin
total de lo que es un programa de bloque constitutivo
ANDRS R. GARCA M. 48
-
8/13/2019 Manual Programacion Hp50g
49/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
ANDRS R. GARCA M. 49
-
8/13/2019 Manual Programacion Hp50g
50/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
:. PRESEN%ACIN DE
RESUL%ADOS.
:. PRESEN%ACIN DE
RESUL%ADOS)a presentacin de los resultados que arroja un programa es de vital importancia ya
que de esto depende que los potenciales usuarios de nuestras creaciones entiendan
e interpreten lo que sale a la pila despus de ejecutar o correr un programa Cotemos
que los programas que hemos escrito hasta el momento nos arrojan o nos ponen
resultados en la pila pero no podemos interpretarlos de manera correcta dado que
solo nos pone n-meros en la pila pero no podemos saber ni interpretar que son
Para la presentacin de resultados existen varios comandos, unos ms funcionales
que otros pero todos igualmente importantes y de fcil manipulacin
ANDRS R. GARCA M. 5
-
8/13/2019 Manual Programacion Hp50g
51/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
1 continuacin se presentan comandos que nos permiten 2etiquetar4 los resultados o
presentarlos con su respectivo nombre, as por ejemplo un programa que nos calcule
el volumen de una esfera dado el radio, nos presentara el resultado con su respectivo
nombre6 I _ ;< por ejemplo $n este numeral haremos referencias a solo algunos de
estos comandos, los dems los referiremos mas adelante
:.9 MEDIAN%E EL COMANDO %AG$ste comando es el mas sencillo para etiquetar los resultados salidos de un programa
Para ver como funciona consideremos el siguiente ejemplo sencillo6
$G$!P)F @6
$scribamos un programa que nos calcule las soluciones de una ecuacin cuadrtica
'ecordemos la forma de la ecuacin cuadrtica6
0*2^* =++ cxbxa
R la formula para hallar las soluciones sern6
acabbX *2/)**42^(1 +=
acabbX *2/)**42^(2 =
$sto &uponiendo que la variable sea L
0ueno, se supone que ustedes manejan las matemticas perfectamente por lo que de
ahora en adelante no dar tantos detalles
Para el ejemplo los valores de los coeficientes sern a_ @ , b _ E , c _ @
ANDRS R. GARCA M. 51
-
8/13/2019 Manual Programacion Hp50g
52/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
Iamos al cdigo6
X
TIalor de a^T TT
INPU% O6JZaZ &5F
TIalor de b^T T T
INPU% O6JZbZ &5F
TIalor de c^T T T
INPU% O6JZcZ &5F
Z*(b]*bE(7ac++*Ea+Z EVALW9%AGZ*(b(*bE(7ac++*Ea+Z EVALW; %AGY
)o grabamos bajo el nombre "%1# y ejecutamos6
5endr que aparecernos algo como lo que sigue6
ANDRS R. GARCA M. 52
-
8/13/2019 Manual Programacion Hp50g
53/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
"F!$C51'.F&6
@ Para comenzar observemos que el programa nos grabo los valores de a, b , c en el
directorio actual $sto se evita poniendo al final del programa [ a b c\ PURGE
*prubenlo como ejercicio+
$n los ejemplos que hagamos de aqu en adelante se incluir esta ultima parte para
borrar la variables grabadas
E Cotemos que inmediatamente despus del EVAL aparece L Est tXto s 2 u
0a a tiutar 2 rsu2ta(o. .nmediatamente despus aparece el comando que
genera la etiqueta6 %AG; .mportantsimo pasarle el D6UG a este programa para que vean lo que hace paso a
paso
7 Para que el resultado se vea de esta manera debemos modificar primero el
siguiente $LAG
ANDRS R. GARCA M. 53
-
8/13/2019 Manual Programacion Hp50g
54/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
$s decir dejarlo como St( stacYque significa pila estndar #e lo contrario se vera
as6
$sto seria desactivando el $LAG
!as adelante veremos como se modifican los especficamente dentro del programa
'ealicmoslo de nuevo pero cambiemos la etiqueta a &F)%".FC@ y &F)%".FCE y
adicionmosle la parte final que borra las variables grabadas %tilicemos los mismos
valores que para el ejemplo anterior *@ E @+
X
TIalor de a^T TT
INPU% O6JZaZ &5F
ANDRS R. GARCA M. 54
-
8/13/2019 Manual Programacion Hp50g
55/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
TIalor de b^T T T
INPU% O6JZbZ &5F
TIalor de c^T T T
INPU% O6JZcZ &5F
Z*(b]*bE(7ac++*Ea+Z EVAL SOLUCION9%AGZ*(b(*bE(7ac++*Ea+Z EVAL SOLUCION;%AG[ a b c \ PURGE
Y
"F!$C51'.F&6
@ Cotemos que borramos los valores que habamos grabado
E "ambiamos las etiquetas a &F)%".FC@ y &F)%".FCE
ANDRS R. GARCA M. 55
-
8/13/2019 Manual Programacion Hp50g
56/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
; Bijmonos que el nombre &F)%".DC quedo pegado el @ es decir quedo
&F)%".FC@ Para que queden separados debemos poner el texto de la etiqueta entre
delimitadores de &5'.C9 "omo sigue6
X
TIalor de a^T TT
INPU% O6JZaZ &5F
TIalor de b^T T T
INPU% O6JZbZ &5F
TIalor de c^T T T
INPU% O6JZcZ &5F
Z*(b]*bE(7ac++*Ea+Z EVALZSOLUCION 9Z%AGZ*(b(*bE(7ac++*Ea+Z EVALZSOLUCION ;Z%AG[ a b c \ PURGE
Y
1l ejecutar este cdigo, es decir/ al correr este programa la respuestas quedaran
presentadas de la siguiente forma6
ANDRS R. GARCA M. 56
-
8/13/2019 Manual Programacion Hp50g
57/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
"F!$C51'.F&6
@ Fbservemos que ahora si quedaron despegados &F)%".DC y @ Co olvidemos que
para poner texto que contenga espacios y que vaya a etiquetar alg-n resultado,
debemos ponerlo con delimitadores de &5'.C9
$spero se haya entendido como se presentan resultados mediante el comando
%AG, es bastante fcil
:.; MEDIAN%E EL COMANDO MSG6OW
$ste es otro comando bastante funcional ya que nos permite mostrar resultados pero
ahora en una ventana de dialogo "onsideremos el siguiente ejemplo para aplicar el
comando6
$scribamos un programa *muy sencillo+ para calcular las perdidas por friccin en una
tubera simple utilizando la $cuacin de #arcy6
hf _ f *)#+ *I E Eg+ #onde6
f _ Bactor de friccin
ANDRS R. GARCA M. 57
-
8/13/2019 Manual Programacion Hp50g
58/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
) _ )ongitud de la tubera
# _ #imetro *%sualmente se designa con la letra griega fi *+ +
I _ Ielocidad de flujo
g _ 1celeracin de la gravedad *8:@ m sE+
Para el ejemplo utilizaremos los siguientes valores6
f _ AA@E
) _ EAA m
# _ AE
-
8/13/2019 Manual Programacion Hp50g
59/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
.CP%5 F0G ZIZ &5F
Z f *)#+ IE@8ME Z $I1)
S%R Thf_ T S[AP] MSG6OWT L D V PURGE
Y
1s vera parte del cdigo en la pila6
9rabamos bajo el nombre P$'# * `P$'# S%O+y lo ejecutamos6
ANDRS R. GARCA M. 59
-
8/13/2019 Manual Programacion Hp50g
60/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
)a respuesta se vera de la siguiente forma6
"F!$C51'.F&6
@ Fbservemos en las pantallas anteriores como van apareciendo las variables que
vamos grabando
E Cotemos el EVALinmediatamente despus de la operacin y despus viene loms interesante
; #espus del EVALaparece un comando nuevo para nosotros6 S%R$ste comando lo que hace es convertir el resultado de la operacin en un &5'.C9, es
decir le pone delimitadores de secuencia ya que para poder mostrarlo aplicando el
comando MSG6OWtiene que estar dentro de delimitadores de secuencia o &5'.C9
)uego viene el texto hf el cual es la etiqueta que le vamos a poner al resultado
Fbservemos que este texto esta dentro de delimitadores de &5'.C9
ANDRS R. GARCA M. 6
-
8/13/2019 Manual Programacion Hp50g
61/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
#espus de esto viene otro comando nuevo6 S[AP. $ste comando lo que hace es
voltear los dos datos que hay en la pila en ese momento que son TN7N8:T y Thf_ T
Pero porque se voltean^
&implemente porque si sumamos estos dos &5'.C9& *ntese que a continuacin
viene un ]+ tal cual nos los arrojo el programa la respuesta nos hubiera quedado al
revs $s decir as6
1 continuacin viene un ] que es el que suma los dos &5'.C9& que son6
;@ )a respuesta arrojada por la operacin TN7N8:T
;E )a etiqueta para la respuesta T hf _ T
Para que todo esto se entienda mejor hganle un D6UG a este programa y as
entendern perfectamente
)uego viene el comando MSG6OW que lo que hace es coger el &5'.C9 que se
encuentre en la pila y presentarlo en una ventana $n este caso el &5'.C9 que estaba
en la pila era T hf _ N7N8:T
1 continuacin viene T L D V PURGEque borra las variables que habamos
grabado6 T L D V
7 Bijmonos que al presentar el resultado, nos queda de fondo la pantalla con el
ultimo INPU%. 1lgo que en mi concepto es antiesttico a menos que fuese
ANDRS R. GARCA M. 61
-
8/13/2019 Manual Programacion Hp50g
62/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
totalmente necesario Para solucionar este problema lo que debemos hacer es poner
el comando CLLCD antes del comando MSG6OW. $ste comandoCLLCDlo que hace
es borrar la pantalla pero no borra la pila en si, es decir/ no borra los datos que hay en
la pila y para estos casos siempre va antes del comando MSG6OW
Ieamos como quedara el cdigo con este nuevo comando y como se vera la
respuesta6
X TBactor de friccin^T T T
.CP%5 F0GZfZ &5F
T)ongitud de la
tubera *$n m+T T T
.CP%5 F0G Z)Z &5F
T#iametro de la
tuberia^ *$C m+T T T
.CP%5 F0G `# &5F
TIelocidad de flujo^
*$n ms+T T T
.CP%5 F0G ZIZ &5F
Z f *)#+ IE@8ME Z $I1)
S%R Thf_ T S[AP] CLLCD MSG6OWT L D V PURGE
Y
ANDRS R. GARCA M. 62
-
8/13/2019 Manual Programacion Hp50g
63/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
)o grabamos bajo el mismo nombre P$'# y lo ejecutamos $ntonces la respuesta se
vera as6
!ucho mejor no les parece^
-
8/13/2019 Manual Programacion Hp50g
64/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
T#iametro de la
tuberia^ *$C m+T T T
.CP%5 F0G `# &5F
TIelocidad de flujo^
*$n ms+T T T
.CP%5 F0G ZIZ &5F
Z f *)#+ IE@8ME Z $I1) ; RND
S%R Thf_ T S[AP] CLLCD MSG6OWT L D V PURGE
Y
Ieamos como queda la respuesta6
Iemos que 2recorto4 la respuesta a dos lugares decimales
#e nuevo recomiendo hacerle un D6UGa este cdigo
$spero haber sido lo suficientemente claro y explicito al explicar estos nuevos
comandos que acabamos de ver *S%R MSG6OW CLLCD S[APRND+
ANDRS R. GARCA M. 64
-
8/13/2019 Manual Programacion Hp50g
65/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
:.= MEDIAN%E EL COMANDO DISP
)a presentacin de datos o resultados mediante este comando es en mi concepto, un
poco mas funcional que los otras dos comandos vistos anteriormente 4%AG 1MSG6OW+ ya que nos permite utilizar toda el rea de la pantalla para tal fin $l DISP
es un comando que suele ir acompa3ado de otros comandos, a los cuales tambin
haremos referencia en este numeral
$ste comando no solamente nos sirve para presentar resultados arrojados de
determinada operacin si no que adems nos permite poner texto en la pantalla de
manera organizada y adems los cdigos ocupan poco espacio en memoria
@Primero consideraremos un ejemplo en donde lo que se va a presentar es una
respuesta arrojada por un peque3o programa y luego mediante el mismo comando
DISPharemos una sencilla presentacin para el mismo programa $sto evocando la
posibilidad que nos ofrece DISPde poner texto en pantalla
Iamos entonces al primer ejemplo6
Iamos a considerar el mismo ejemplo anterior en donde calculamos las perdidas por
friccin en una conduccin simple con los mismos valores pero adems vamos a
calcular el rea de la seccin de la tubera6
Ieamos entonces al cdigo incluyendo el nuevo comando DISP y sus comandos
2acompa3antes4
ANDRS R. GARCA M. 65
-
8/13/2019 Manual Programacion Hp50g
66/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
X TBactor de friccion^T TT
.CP%5 F0GZ f Z &5F
T)ongitud de la
tuberia *$n m+T TT .CP%5 F0G
Z )Z &5F
T#iametro de la
tuberia^ *$C m+T TT .CP%5 F0G
Z #Z &5F
TIelocidad de flujo^
*$n ms+T TT .CP%5 F0G Z I Z &5F
Zf*)#+*IE@8M@+K EVAL E
RNDS%R Thf_ T S[AP ] CLLCD@ DISP Z;@7*#E+EZ EVAL E
RNDS%R T1rea_ T S[AP ] EDISP ; $REE&E [ I # ) f \
PURGE
Y
)o grabamos bajo el nombre P$'#E y ejecutamos
$ntonces ahora nos va a arrojar dos respuestas que son6 Perdidas y Jrea de la
seccin de la tubera los cuales se ven as6
ANDRS R. GARCA M. 66
-
8/13/2019 Manual Programacion Hp50g
67/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
"F!$C51'.F&6
@ Cotemos que despus de haber concatenado los dos &5'.C9& con el ]
4S%R Thf_ T S[AP ] 7 aparece el comando 9 DISP donde69es el nivel de la pila donde vamos a ubicar el resultado pero ordenado de arriba
abajo es decir el nivel @ ya no es el primero de abajo hacia arriba sino de arriba abajo
E )uego aparece DISP el cual nos permite poner el resultado en el nivel especificado
en este caso @
&ucede lo mismo para el segundo resultado, despus de haber concatenado los dos
&5'.C9& con el ] *S%R T1rea_ T S[AP ] E DISP+ aparece el comando EDISP donde6
; es el nivel de la pila donde vamos a ubicar el resultado
)uego aparece DISPel cual nos permite poner el resultado en el nivel especificado
en este caso E Para usuarios ( >G s i),ortant ac2arar2s u (is,onn ( @
ni02s ,ara ,onr rsu2ta(os n ,anta22a.
)uego viene un comando nuevo6 $REE&E
$REE&E nos permite congelar la pantalla para que el resultado se mantenga visible,
sin el $REE&E el resultado se hubiera puesto si en los niveles especificados pero
hubiera desaparecido tan rpido que ni nos hubiramos dado cuenta
ANDRS R. GARCA M. 67
-
8/13/2019 Manual Programacion Hp50g
68/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
Bijmonos que el $REE&E viene acompa3ado de un numero en este caso ; $ste
numero indica que el rea de la pantalla a congelar $n este caso consideramos ; ya
que es un valor que se ajusta perfectamente a cualquier ejemplo
; Por ultimo aparece [ I # ) f \ PURGE que es el encargado de borrar las variables
que habamos grabado
$xiste otro comando que nos permite mantener los resultados visibles en la pantalla
$ste comando se denomina[AI%
$l comando[AI% lo que hace es que despus de poner nuestros resultados en los
niveles deseados nos espere un tiempo *en segundos+ determinado
&i ponemos < [AI% nos dejara visibles los resultados durante < segundos, si
ponemos @A [AI% nos dejara visibles los resultados durante @A segundos y si
ponemos < [AI%nos dejara visibles los resultados 3asta u s ,u2s una tc2a que
es mucho mas conveniente en este caso
Pero veamos nuestro ejemplo ahora utilizando el [AI%
X TBactor de friccion^T TT
.CP%5 F0GZ f Z &5F
T)ongitud de la
tuberia *$n m+T TT .CP%5 F0G
Z )Z &5F
T#iametro de la
ANDRS R. GARCA M. 68
-
8/13/2019 Manual Programacion Hp50g
69/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
tuberia^ *$C m+T TT .CP%5 F0G
Z #Z &5F
TIelocidad de flujo^
*$n ms+T TT .CP%5 F0G Z I Z &5F
Zf*)#+*IE@8M@+K EVAL E
RNDS%R Thf_ T S[AP ] CLLCD@ DISP Z;@7*#E+EZ EVAL E
RNDS%R T1rea_ T S[AP ] EDISP < [AI% [ I # ) f \
PURGE
Y
9rabamos bajo el mismo nombre P$'#E y ejecutamos &e vera de la siguiente forma6
"F!$C51'.F&6
@ Fbservemos que nos visualiza el reloj $sto porque la opcin de ver reloj estaba
activada !as adelante veremos como modificar esto 4$LAGS7para que al presentar
respuestas no nos deje visible el reloj Por ahora dejmoslo as
ANDRS R. GARCA M. 69
-
8/13/2019 Manual Programacion Hp50g
70/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
E &i presionamos EN%ERo cualquier otra tecla nos dejara un numero puesto en el
nivel @ de la pila !as adelante veremos que significa este numero 4Oraniaci/n (2
tc2a(o7
; Bijmonos que el < [AI% va despus de que los resultados han sido puestos en
sus respectivos niveles &i lo ponemos antes pues no tiene ning-n sentido ya que no
hay ning-n resultado que mostrar
&i ubicamos el < [AI% despus de haber puesto -nicamente el primer resultado
pues no nos mostrara el segundo $l < [AI% debe ubicarse una vez estn ubicados
los resultados o los datos que queremos mostrar en sus respectivos niveles
Iamos entonces a la segunda parte del ejemplo6 "rear una peque3a presentacin
para el programa P$'#E mediante la utilizacin del comando DISP. #esactivemos la
opcin de mostrar el reloj para que no nos da3e nuestra presentacin
Iamos a suponer que los datos que lleva nuestra presentacin son los siguientes6
Combre del programa
Combre del creador del programa
Iersin
13o
R por ultimo una indicacin para continuar el programa $n este caso le vamos a
poner PRESIONE EN%ER
Ieamos el cdigo6
ANDRS R. GARCA M. 7
-
8/13/2019 Manual Programacion Hp50g
71/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
X CLLCD
T P$'#.#1&
PF'6 Goe &atriani
I$'&.FC @A
EAA COMANDOS UE PERMI%EN OPERAR SO6RE LIS%AS
"omo se dijo anteriormente, el buen manejo de listas es quizs uno de los elementos
de programacin ms importante que hay, dado que las listas son muy flexibles para
manejar y operar sobre datos dentro de un programa
1hora veremos los comandos que permiten operar sobre las listas $stos comandos
nos permiten extraer elementos de una lista, sumar los elementos que componen una
lista, etc Iamos entonces a explicar estos comandos
?.>.9 LIS%
ANDRS R. GARCA M. 82
-
8/13/2019 Manual Programacion Hp50g
83/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
$ste comando determina la diferencia entre dos elementos consecutivos de una lista
Por ejemplo si tenemos una lista con los siguientes elementos [ E 7 M M \ lo que hace
es devolvernos la lista [ E E A \
Ieamos un segundo ejemplo6
"onsideremos la siguiente lista y determinemos las diferencias de los elementos
consecutivos6
1hora ejecutamos el comando LIS%y veremos lo siguiente6
"F!$C51'.F&6
@ .mportante resaltar que la diferencia se efect-a de derecha a izquierda
E $l resultado es arrojado en lista
ANDRS R. GARCA M. 83
-
8/13/2019 Manual Programacion Hp50g
84/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
; $s un comando muy sencillo pero de gran utilidad dentro de programas donde
estemos manejando listas con muchos datos
?.>.; LIS%$ste comando nos permite hacer la sumatoria de todos los elementos de una lista y
nos arroja el resultado como un objeto numero real Ieamos el siguiente ejemplo6
"onsideremos la siguiente lista
$jecutamos el comando LIS%
"F!$C51'.F&6
Cinguno
Ieamos ahora un ejemplo con una lista que contiene &5'.C9&6
"onsideremos la siguiente lista
ANDRS R. GARCA M. 84
-
8/13/2019 Manual Programacion Hp50g
85/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
$jecutamos el comando LIS%
)o que hizo fue 2sumarnos4 o concatenarnos los &5'.C9& que estaban dentro de la
lista
?.>.=LIS%$ste comando efect-a el producto de todos los elementos de una lista Ieamos el
siguiente ejemplo6
"onsideremos la siguiente lista
ANDRS R. GARCA M. 85
-
8/13/2019 Manual Programacion Hp50g
86/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
$jecutamos el comando LIS%
"F!$C51'.F&6
Cinguno
?.>.> SOR%
$ste comando ordena todos los elementos de una lista en forma ascendente Ieamos
el siguiente ejemplo6
"onsideremos la siguiente lista
$jecutamos el comando SOR%
ANDRS R. GARCA M. 86
-
8/13/2019 Manual Programacion Hp50g
87/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
"F!$C51'.F&6
@ Prueben este comando pero con una lista que contenga &5'.C9& con letras
?.>.: REVLIS%
$ste comando invierte el orden de los elementos de una lista Ieamos el siguiente
ejemplo6
"onsideremos la siguiente lista
$jecutamos el comando REVLIS%
"F!$C51'.F&6
Cinguno
?.>.? ADD
ANDRS R. GARCA M. 87
-
8/13/2019 Manual Programacion Hp50g
88/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
$ste comando suma el contenido de los elementos de dos listas Ieamos el siguiente
ejemplo6
"onsideremos las siguientes listas6
$jecutamos el comandoADD
"F!$C51'.F&6
Cinguno
1hora veremos algunos comandos que nos permiten operar sobre listas pero son un
poco mas elaborados y 2poderosos4
?.>.? GE%
ANDRS R. GARCA M. 88
-
8/13/2019 Manual Programacion Hp50g
89/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
$ste comando nos permite extraer un elemento de una lista dado su ndice de
posicin
Para entender mejor veamos el siguiente ejemplo6
"onsideremos la siguiente lista la cual contiene tres &5'.C9&
&i queremos extraer el primer elemento de la lista entonces ponemos en la pila la lista
y el ndice de posicin del elemento a extraer, en este caso @
$jecutamos el comando GE%
ANDRS R. GARCA M. 89
-
8/13/2019 Manual Programacion Hp50g
90/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
"F!$C51'.F&6
Cinguno
?.>.@ PU%
$ste comando nos permite poner un elemento dentro de una lista dados su ndice de
posicin y el objeto a introducir Para entender mejor veamos el siguiente ejemplo6
"onsideremos la siguiente lista6
$ntonces vamos a introducir el &5'.C9 2'4 en la posicin siete "olocamos en la pila
lo siguiente6
( )a lista
( $l ndice de posicin *en este caso siete+
( &5'.C9 que vamos a poner
ANDRS R. GARCA M. 9
-
8/13/2019 Manual Programacion Hp50g
91/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
$jecutamos el comando PU%
"F!$C51'.F&6
@ Bijmonos que el elemento que estaba en la posicin tres *;M+ fue sustituido
por 7. SI&E
$ste comando nos permite saber la cantidad de elementos que componen una lista
"onsideremos la siguiente lista6
$jecutamos el comando SI&E
ANDRS R. GARCA M. 91
-
8/13/2019 Manual Programacion Hp50g
92/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
"F!$C51'.F&6
Cinguno
?.>.B POS
$ste comando nos permite conocer el ndice de posicin dentro de una lista, de un
elemento dado "onsideremos el siguiente ejemplo6
Kueremos saber cual es el ndice de posicin del &5'.C9 5 $ntonces6
ANDRS R. GARCA M. 92
-
8/13/2019 Manual Programacion Hp50g
93/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
$jecutamos el comando POS
"F!$C51'.F&6
@ .nicialmente podemos pensar que no tiene ninguna aplicacin funcional 1l
terminar la explicacin de cada uno de los comandos, haremos un ejemplo donde
nos daremos cuenta la importancia de este comando
?.>.9< 'EAD
$ste comando nos devuelve el primer elemento *cabeza+ de una lista "onsideremos
el siguiente ejemplo6
&i ejecutamos el comando 'EAD nos devolver lo siguiente6
ANDRS R. GARCA M. 93
-
8/13/2019 Manual Programacion Hp50g
94/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
"F!$C51'.F&6
Cinguno
?.>.99 %AIL
$ste comando nos elimina el primer elemento de una lista
"onsiderando la misma lista anterior nos devolver lo siguiente6
VEAMOS UN EJEMPLO UE APLICA ALGUNOS DE LOS COMANDOS
AN%ERIORES
ANDRS R. GARCA M. 94
-
8/13/2019 Manual Programacion Hp50g
95/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
$ste ejemplo es la 2esencia4 para escribir un programa que emule una agenda de
telefnica o como se le quiera llamar, la cual podr contener todos los aspectos de
determinado contacto
$scribamos entonces un programa que con base en el nombre del contacto nos
arroje el numero celular y el correo electrnico
9rabemos entonces tres listas las cuales contendrn6
@ Combre
E Cumero celular
; e(mail
NOM6RES
[ T1ndrs 9arcaT T"arlos #azT TBabin HerreraT T&antiago Gos )pezT \
%na vez puesta en pila esta lista la grabamos con el nombre CF!0'$&
ANDRS R. GARCA M. 95
-
8/13/2019 Manual Programacion Hp50g
96/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
NMEROS CELULARES
[ T;@@7:
-
8/13/2019 Manual Programacion Hp50g
97/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
contactoT TT INPU%
CLLCD 0lanqueamos la pantalla
ZcZ S%O 9rabamos el nombre introducido
c )lamamos el nombre a la pila
DUP )o duplicamos
9 DISP )o colocamos en pantalla
CF!0'$& )lamamos la lista nombres a la pila
S[AP 'otamos la pila
POS $ncontramos la PF& de "arlos #az
DUP #uplicamos el &5'.C9 2"arlos #az4
5$)& )lamamos la lista 5$)& a la pila
S[AP 'otamos la pila
GE% $xtraemos el 5$) de la PF& E
; DISP )o colocamos en pantalla
$!1.) )lamamos la lista $!1.) a la pila
S[AP 'otamos la pila
GE% $xtraemos el $!1.) de la PF& E
= DISP )o colocamos en pantalla
TH1R T Ponemos el &5'.C9 H1R en la pila
CF!0'$& )amamos la lista Combres a la pila
SI&E 1veriguamos su tama3o
S%R )o convertimos en &5'.C9ANDRS R. GARCA M. 97
-
8/13/2019 Manual Programacion Hp50g
98/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
! "oncatenamos los E &5'.C9&
T"FC51"5F&T Ponemos el &5'.C9 "FC51"5F& en la pila
! )o concatenamos al &5'.C9 que hay en pila
: DISP )o colocamos en pantalla
< [AI% $speramos a que se pulse una tecla
DROP 0orramos la 2semilla4 dejada por la tecla
pulsada
T c PURGE 0orramos de la memoria la I1' c
"ierra Programa
9rabamos este cdigo con el nombre INICIy lo ejecutamos para "arlos #az por
ejemplo6
Para &antiago Gos )pez6
ANDRS R. GARCA M. 98
-
8/13/2019 Manual Programacion Hp50g
99/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
"F!$C51'.F&6
@ Cotemos que al llamar las listas que contienen los diferentes datos, lo hacemos sin
ninguna clase de delimitador
E 1l introducir las listas debemos hacerlo en el mismo orden en que aparecen es
decir/ el elemento @ de la lista CF!0'$& debe corresponder al elemento @ de la lista
5$)& y $lemento @ de lista $!1.)
; $ste cdigo se puede optimizar muchsimo y lo retomaremos mas adelante, pero
para efectos del ejemplo esta bien as Por ultimo recomiendo )uc3Qsi)ohacerle
un D6UG a este cdigosi algo no quedo muy claro
Iamos a un segundo ejemplo6
Para calcular la capacidad de carga de un suelo aplicando la teora y las ecuaciones
propuestas por su eminencia #r 1') IFC 5$'19H. se encuentran dentro de
dichas ecuaciones, unos coeficientes llamados B1"5F'$& #$ "1P1".#1# #$
"1'91 *Cc, Cq y C+ los cuales son funcin del ngulo de friccin interna *+ $stos
coeficientes se pueden calcular mediante una ecuacin pero se hace extenso ya que
hay que conocer muchos otros datos
1 continuacin escribiremos un programa que nos pregunta -nicamente el ngulo de
friccin interna y nos devuelve los factores de capacidad de carga*Cc, Cq y C+
ANDRS R. GARCA M. 99
-
8/13/2019 Manual Programacion Hp50g
100/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
$stos factores se encuentran en ".!$C51".FC$& de 0raja ! #as O]oen el de
"imentaciones no el de fundamentos de .ngeniera 9eotcnica
Primero que todo debemos grabar nuestros coeficientes dentro de una lista %na lista
para los valores de , una lista para los valores de Cc, una lista para los valores de Cq
y otra lista para los valores de C
)as listas son las siguientes6
I1)F'$& #$6
[ A @ E ; 7 < M N : 8 @A @@ @E @; @7
@< @M @N @: @8 EA E@ EE E; E7 E< EM
EN E: E8 ;A ;@ ;E ;; ;7 ;< ;M ;N ;:
;8 7A 7@ 7E 7; 77 7< 7M 7N 7: 78
-
8/13/2019 Manual Programacion Hp50g
101/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
:@< :M 8A8 8M@ @A@M @ANM
@@7@ @E@@ @E:M @;M: @7M @
-
8/13/2019 Manual Programacion Hp50g
102/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
MA7 MN N77 :EM 8@8 @AE;
@@7 @ENE @7E@ @
-
8/13/2019 Manual Programacion Hp50g
103/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
%na vez puesta en pila esta lista la grabamos con el nombre C
Ra teniendo las tres listas grabadas entonces procedemos a escribir nuestro
programa6
X TIalor de T TT
INPU% O6JZB.Z S%O 9rabamos el valor de con el nombre B.
)lamamos la lista que contiene los valores de B. POS #eterminamos la posicin del valor de
B.E S%O 9rabamos la posicin del valor de
)lamamos la lista que contiene los valores de
B.E GE% &acamos el valor de que esta en la posicin B.E
ZZ %AG )o etiquetamosCc )lamamos la lista que contiene los valores de Cc
B.E GE% &acamos el valor de Cc que esta en la posicin B.E
ZCcZ %AG )o etiquetamosCq )lamamos la lista que contiene los valores de Cq
ANDRS R. GARCA M. 13
-
8/13/2019 Manual Programacion Hp50g
104/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
B.E GE% &acamos el valor de Cq que esta en la posicin B.E
ZCqZ %AG )o etiquetamosC )lamamos la lista que contiene los valores de C`
B.E GE% &acamos el valor de Cque esta en la posicin B.E
ZC` %AG )o etiquetamos[ B.E B. \ PURGE $liminamos las variables B.E y B.
Y
9rabamos el cdigo con el nombreAUy ejecutamos para un angulo de E;A 6
"F!$C51'.F&6
@ Cotemos que al llamar las listas que contienen los valores, lo hacemos sin ninguna
clase de delimitador
E Para poner la etiqueta si debemos hacerlo con los delimitadores ` de lo contrario
nos vertera todo el contenido de la lista a la pila
; $ste cdigo se puede optimizar muchsimo Pero para efectos del ejemplo esta
bien as Por ultimo recomiendo hacerle un D6UG si algo no quedo muy claro
ANDRS R. GARCA M. 14
-
8/13/2019 Manual Programacion Hp50g
105/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
0ueno, ahora sigamos explicando los dems comandos que permiten operar sobre
listas
?.>.9; DOLIS%
$ste comando nos permite operar sobre un grupo de listas Ieamos un ejemplo6
5enemos las siguientes listas en la pila6
Iamos a aplicar la operacin 2potenciacin4 $sta operacin debe ir dentro de
delimitadores de programa as6
$jecutamos el comando #F).&56
ANDRS R. GARCA M. 15
-
8/13/2019 Manual Programacion Hp50g
106/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
"F!$C51'.F&6
C.C9%CF
?.>.9= DOSU6S
$ste comando es supremamente funcional y lo que hace es ejecutar varias
operaciones *no(solo una+ a todos los elementos de una lista Ieamos un ejemplo6
"onsideremos la siguiente lista6
$specificamos un tama3o de paso igual a @ $s decir que aplique las operaciones a
cada elemento de la lista
ANDRS R. GARCA M. 16
-
8/13/2019 Manual Programacion Hp50g
107/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
Iamos a aplicar las siguientes operaciones las cuales deben ir dentro de
delimitadores de programa
$jecutamos el comando DOSU6S
Ieamos un segundo ejemplo6
"onsideremos la siguiente lista6
ANDRS R. GARCA M. 17
-
8/13/2019 Manual Programacion Hp50g
108/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
1hora especifiquemos un tama3o de paso igual a E
"on la siguiente operacin
$jecutamos DOSU6S
)o que hizo fue sumar los elemento adyacentes entre si
"F!$C51'.F&6
Cinguno
ANDRS R. GARCA M. 18
-
8/13/2019 Manual Programacion Hp50g
109/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
"reo que de a esta instancia del libro ustedes ya estn en capacidad de seguir
examinando que hace y como operan cada uno de los comandos guindose por el
manual de manejo, por lo que de ahora en adelante no har referencia a los
comandos como tal sino solamente a lo que es la programacin
ANDRS R. GARCA M. 19
-
8/13/2019 Manual Programacion Hp50g
110/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
ANDRS R. GARCA M. 11
-
8/13/2019 Manual Programacion Hp50g
111/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
@. ES%RUC%URA DE VARIA6LE
LOCAL.
@. ES%RUC%URA DE VARIA6LE
LOCAL.
@.9 DE$INICIN
)as variables locales son variables provisionales creadas por un programa $xisten
mientras se ejecuta el programa y a diferencia de las variables globales no se pueden
utilizar por fuera del programa a menos que la subrutina este anidada o embebida
dentro del proceso de definicin de variable local, esto lo entendern mejor mas
adelante
Para entender mejor como se crean y utilizan las variables locales veamos lo
siguiente
@.; SIN%AWIS DE VARIA6LE LOCAL DEN%RO DE UN PROGRAMA
ANDRS R. GARCA M. 111
-
8/13/2019 Manual Programacion Hp50g
112/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
Para entender veamos el siguiente ejemplo6
$scribiremos un programa que calcula el coeficiente de empuje activo en muros de
retencin en voladizo )a ecuacin *entre otras+ que se utiliza es la siguiente6
8a cos47 4 cos47 - 4 cos47 ^; cos47 ^;7 4cos47 ! 4 cos47 ^; cos47^;7 7
#onde6
1ngulo entre la corona del muro y el talud natural1ngulo de friccin interna del suelo de relleno)os datos que necesitamos son entonces y .Ieamos el cdigo y luego lo explico
X TIalor de T TT
INPU% O6JTIalor de T TT
INPU% O6J
X Z"F&*+*"F&*+( *"F&* +E("F&*+E++
*"F&*+] *"F&* +E("F&*+E++Z $I1) Y E RND
S%RTa_ T
ANDRS R. GARCA M. 112
-
8/13/2019 Manual Programacion Hp50g
113/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
S[AP !
CLLCD MSG6OW
Y
$n este punto del libro ya conocemos gran parte de este cdigo 1qu lo -nico nuevo
es la definicin de variable local
$n este ejemplo tenamos que definir dos variables locales * y + Para definir estas
dos utilizamos el smbolo
#espus del smbolo vienen los nombres con los cuales vamos a nombrar las
variables $n esta caso eran y
Ctese que despus de nombrar las dos variables tenemos que abrir otros
delimitadores de programa
#espus de esto viene la operacin y luego el comando RND el cual nos trunca la
respuesta a dos posiciones decimales
$l resto del cdigo ya lo conocemos perfectamente .mportante aclarar que las
variables locales no se pueden volver a llamar despus de haber cerrado los
delimitadores de programa que abrimos despus de definir las dos variables locales
* +
'ecomiendo hacer un D6UG a este cdigo si no se entendi algo
@.= ES%RUC%URA DE VARIA6LE LOCAL DEN%RO DE UNA SU6RU%INA
)as variables locales tambin las podemos utilizar dentro de una subrutina siempre y
cuando la subrutina este anidada dentro del procedimiento de variable local $sto
ANDRS R. GARCA M. 113
-
8/13/2019 Manual Programacion Hp50g
114/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
quiere decir que la subrutina debe estar dentro de los 2segundos2 delimitadores de
programa que abrimos haciendo referencia al ejemplo anterior
Ieamos el mismo ejemplo anterior pero ahora supondremos que necesitamos una
subrutina )a subrutina la llamaremos SU6R.
&upondremos tambin que la subrutina la utilizaremos -nicamente para elevar al
cuadrado las dos variables
X TIalor de T TT
INPU% O6JTIalor de T TT
INPU% O6J
X SU6R
Z"F&*+*"F&*+( *"F&* +E("F&*+E++
*"F&*+] *"F&* +E("F&*+E++Z $I1)
Y E RND
S%RTa_ T
S[AP !
CLLCD MSG6OW
Y
ANDRS R. GARCA M. 114
-
8/13/2019 Manual Programacion Hp50g
115/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
$l cdigo de la subrutina es el siguiente6
X ZEZ $I1)
ZEZ $I1)
Y
"F!$C51'.F&6
@ Para definir las variables locales debemos anteponerles el smbolo $sto es parapoder llamar las variables dentro de la subrutina SU6R
E )a subrutina SU6Rpuede estar antes o despus de la operacin $sto depende de
las solicitaciones del programa, en este caso puede estar antes o despus
; $n la operacin las variables deben aparecer con el smbolo de lo contrario nolas reconoce
7 $n resumen lo que hace este programa despus de haber introducido los datos es
ir a la subrutina, ejecutar las operaciones que hay en la subrutina SU6Rluego sigue
con la ejecucin del programa, es decir con lo que hay despus de SU6R
ANDRS R. GARCA M. 115
-
8/13/2019 Manual Programacion Hp50g
116/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
$l siguiente es un ejemplo de aplicacin de variable locales dentro de una subrutina
el cual sirve para calcular empates por lnea de energa en rgimen supercrtico en
aguas negras #ependiendo del valor de la operacin Z;@8K E
-
8/13/2019 Manual Programacion Hp50g
117/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
[ oP \ PURGE ! 9 DISP
T$l empate es sumergido
Presione enter para
solucionarT = DISP < [AI% DROP$E
ENDZoPMEZ %'EN CLLCDTA;@8KE
-
8/13/2019 Manual Programacion Hp50g
118/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
ANDRS R. GARCA M. 118
-
8/13/2019 Manual Programacion Hp50g
119/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
. $LAGS
. $LAGS..9 DE$INICIN.
ANDRS R. GARCA M. 119
-
8/13/2019 Manual Programacion Hp50g
120/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
%n B)19 o bandera es un indicador de sistema los cuales se pueden anular, fijar o
probar Por ejemplo el B)19 k7A es el indicador de sistema del reloj que nos permite
activarlo o desactivarlo, el B)19 kE es el indicador de sistema de las constantes el
cual nos permite poner constantes de manera numrica o simblica
.; COMO MODI$ICAR $LAGS DEN%RO DE UN PROGRAMA
Para activar o desactivar B)19& utilizamos las palabras S$R C$. &B para activar y "B
para desactivar Ieamos un ejemplo donde tenemos que desactivar el reloj para que
no nos da3e la presentacin de texto en pantalla6
Primero veamos el cdigo y la presentacin sin desactivar el reloj6
X CLLCD
T $).!.C1#F' #$ 01&%'1
Por6 1ndrs ' 9arca !
Fctubre E< de EAAE
ucatolica EAAET
< DISP < [AI% CLEAR
Y
$l cual al ejecutarlo nos muestra lo siguiente6
ANDRS R. GARCA M. 12
-
8/13/2019 Manual Programacion Hp50g
121/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
"omo nos podemos dar cuenta el reloj nos esta 2da3ando4 nuestra presentacin ya
que no desactivamos el reloj, mediante el B)19 k7A
1hora veamos el cdigo desactivando el reloj6
X CLLCD ->< C$
T $).!.C1#F' #$ 01&%'1
Por6 1ndrs ' 9arca !
Fctubre E< de EAAE
ucatolica EAAET
< DISP < [AI% CLEAR
Y
$l cual al ejecutarlo nos muestra lo siguiente6
ANDRS R. GARCA M. 121
-
8/13/2019 Manual Programacion Hp50g
122/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
"F!$C51'.F&6
@ 1l desactivar el reloj mejoramos mucho la presentacin
E #e esta misma manera se activan o desactivan los dems B)19& Ctese que el
numero de B)19 es negativo
; )os B)19& son muy importantes y hay que tener especial atencin en programas
que trabajan con constantes numricas o simblicas ya que hay que activar el B)19
antes de cualquier cosa )o mismo en programas que trabajan formulas u
operaciones matemticas de manera simblica Para una lista completa de los B)19&
refirase al manual de usuario Pagina F 1PQC#."$ #@
7 $n el ejemplo anterior para volver a activar el reloj entonces al final ponemos
k7A &B Ieamos el cdigo6
X CLLCD ->< C$
T $).!.C1#F' #$ 01&%'1
Por6 1ndres ' 9arcia !
Fctubre E< de EAAE
ANDRS R. GARCA M. 122
-
8/13/2019 Manual Programacion Hp50g
123/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
ucatolica EAAET
< DISP < [AI% CLEAR
->< S$
Y
ANDRS R. GARCA M. 123
-
8/13/2019 Manual Programacion Hp50g
124/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
B. MENS.
B. MENS.B.9 NMEROS DE ASIGNACIN DE LOS MENS
5odos los men-s que ofrece la HP tienen un numero de asignacin "omo por
ejemplo si pulsamos el numero ; y luego MENnos enviara al men- M%'.
"omo podemos ver a continuacin6
MEN MA%'
ANDRS R. GARCA M. 124
-
8/13/2019 Manual Programacion Hp50g
125/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
Ieamos un ejemplo en donde vamos a entrar dos datos pero queremos que durante
esta entrada no aparezca nada en las teclas de men- y al finalizar la entrada nos
aparezca el men- actual, es decir el del directorio donde estamos6
Iemos el cdigo6
X @ !$C%
TIalor de a^T TT
INPU% O6JTIalor de b^T TT
INPU% O6JEA@ !$C%
Y
$l cual al ejecutarlo nos muestra6
ANDRS R. GARCA M. 125
-
8/13/2019 Manual Programacion Hp50g
126/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
"F!$C51'.F&6
@ "omo se puede ver durante la entrada de los datos no muestra nada en las teclas
de men- $sto porque antes de iniciar la entrada de los datos pusimos
@ !$C%
E 1l final de la entrada de los datos nos muestra el men- actual $sto porque
pusimos EA@ !$C% el cual nos permite ver el men- actual
B.; COMO CREAR MENS %EMPORALES
)os men-s temporales son men-s creados directamente por el usuario $stos men-s
se pueden crear de dos formas6 !ediante la tecla MENo mediante el comando
%MENU.
B.;.9 )(iant 2a tc2a MEN
Para crear men-s personalizados mediante "&5 debemos hacer los siguiente6
@ .ntroducir una lista en la pila que a su vez contiene otras 2 sublistas 2 las cuales
contienen dos argumentos6 )a etiqueta *es decir lo queremos que aparezca en el
men-+ y la accin que queremos que se ejecute cuando pulsemos la tecla de men-
Ieamos un ejemplo6
"rearemos un men- temporal mediante la tecla MEN con la etiqueta &$CF la cual
ejecuta la funcin &$C6
ANDRS R. GARCA M. 126
-
8/13/2019 Manual Programacion Hp50g
127/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
!$C
$ntonces veremos lo siguiente6
&i colocamos un numero en la pila y ejecutamos entonces veremos6
"F!$C51'.F&6
@ &i volvemos al men- donde estbamos antes de ejecutar la tecla !$C% vemos que
se ha creado la variable CS%.
ANDRS R. GARCA M. 127
-
8/13/2019 Manual Programacion Hp50g
128/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
B.;.; )(iant 2 co)an(o %MENU
"rear men-s mediante este comando se hace de manera similar al comando anterior
Para entender como se crean men-s temporales mediante %MENU veamos el
siguiente ejemplo6
1signaremos < etiquetas de men- que contienen los n-meros del @ al ; cuyas
acciones son poner su correspondiente numero en pantalla mediante el comando
DISPy una quinta cuya accin es volver al directorio donde nos encontramos6
X [ [ @
XCLLCD %CFS%R9 DISP = $REE&E
Y
\
[ E
X CLLCD#F&S%R; DISP = $REE&E
Y
\
[ ;
X CLLCD 5'$&S%R
ANDRS R. GARCA M. 128
-
8/13/2019 Manual Programacion Hp50g
129/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
= DISP = $REE&E
Y
\
[ \ [ \
[ 15'J&
F ;. DISP < [AI% DROP
;.
-
8/13/2019 Manual Programacion Hp50g
130/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
&i pulsamos la tecla de men- @ har lo siguiente6
&i pulsamos la tecla de men- E har lo siguiente6
&i pulsamos la tecla de men- ; har lo siguiente6
&i pulsamos la tecla de men-A%RHShar lo siguiente6
ANDRS R. GARCA M. 13
-
8/13/2019 Manual Programacion Hp50g
131/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
"F!$C51'.F&6
@ Fbservemos que la accin a ejecutar esta dentro de delimitadores de programa
E Para dejar una tecla de men- en blanco la lista debe ir en blanco [ \
ANDRS R. GARCA M. 131
-
8/13/2019 Manual Programacion Hp50g
132/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
9
-
8/13/2019 Manual Programacion Hp50g
133/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
9
-
8/13/2019 Manual Programacion Hp50g
134/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
$n alcantarillados de aguas negras, el empate del tubo que entra y del tubo que sale
del pozo puede ser sumergido o no sumergido &abemos que es sumergido o no
sumergido seg-n el resultado de la siguiente operacin6
A;@8 K E1.5, $& #$".'/ #$&P%Q& #$
$&P$'1' %C1 5$")1
9
-
8/13/2019 Manual Programacion Hp50g
146/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
"E &" ("E (&"
&" &E (&" (&E
_ $1 ) ("E (&" "E &"
(&" (&E &" &E
#onde6
$ _ !odulo de elasticidad del material
1 _ Jrea de la seccin transversal del elemento
) _ )ongitud del elemento
" _ "oseno del ngulo que describe el elemento con la horizontal
& _ &eno del ngulo que describe el elemento con la horizontal
$ntonces los datos que necesita el programa para calcular la matriz de rigidez en
coordenadas globales de cada elemento son $, 1, ),
Ieamos la forma y configuracin de la cercha6
ANDRS R. GARCA M. 146
-
8/13/2019 Manual Programacion Hp50g
147/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
$)$!$C5F @6
) _ E< m
_ ;M:N
1 _ AAAAE< mE
$ _ EAA @AM P1
$)$!$C5F E6
) _ E m
_ A
1 _ AAAA7 mE
$ _ EAA @AM P1
$)$!$C5F ;6
) _ @< m
_ 8A
1 _ AAAA@< mE
$ _ EAA @AM P1
5eniendo ya estos datos veamos el cdigo6
ANDRS R. GARCA M. 147
-
8/13/2019 Manual Programacion Hp50g
148/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
! "C#$%&'( )*)+)%&'( ('%,"
" " INPUT OBJ E%&$ )* %#+)' ) )*)+)%&'(1 SWAP P'%) 1 )% )* % 2 / )* 0 ) )*)+ )% )* % 1
START I%$ )* '%&$' ) #*)
"D$&'( $(
E A L " " "
INPUT OBJ E%&$ E A L E A L D)%) $$*) *'$* $$ E A L / $(! ')*$( **$+$ $$( ))(
E A L : ; COS 2 <
E A L : ; SIN ; COS
E A L : ; COS 2 < NEG
E A L : ; SIN ; COS NEG
E A L : ; SIN ; COS
E A L : ; SIN 2 <
E A L : ; SIN ; COS NEG
E A L : ; SIN 2 < NEG
E A L : ; COS 2 < NEG O)$'%)( $$ $$ )*)+)%&' )E A L : ; SIN ; COS NEG *$ +$&=
E A L : ; COS 2 <
E A L : ; SIN ; COS
E A L : ; SIN ; COS NEG
ANDRS R. GARCA M. 148
-
8/13/2019 Manual Programacion Hp50g
149/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
E A L : ; SIN 2 < NEG
E A L : ; SIN ; COS
E A L : ; SIN 2 <
> 4 4 ? D+)%('%)( ) *$ +$&=
ARRY @'+$ *$ +$&= RND P'('%)( )+$*)(
NEXT C'%&%#$ '% )* ()B#%' )*)+.
Y
20ueno, realmente C$L5 incrementa el valor del contador por @4
1l correr el programa vemos lo siguiente6
#atos para el elemento @6
#atos para el elemento E6
ANDRS R. GARCA M. 149
-
8/13/2019 Manual Programacion Hp50g
150/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
#atos para el elemento ;6
)as respuestas se vern as en la pila6
$s decir no se entiende nada
ANDRS R. GARCA M. 15
-
8/13/2019 Manual Programacion Hp50g
151/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
"F!$C51'.F&6
@ )a entrada de datos de cada elemento se puede optimizar mediante una plantilla
de entrada, tema que se explicara mas adelante
E $n este caso eran tres elementos, pero que pasara si fueran ;A^ Kue despus de ir
en el cuarto o quinto elemento existe la posibilidad de que ya no sepamos en que
elemento vamos $sto se arregla escribiendo el cdigo ya no con S%AR...NEW%sino
con $OR NEW%, el cual se explica a continuacin
; )as respuestas son un poco difciles de interpretar ya que simplemente son
puestas en la pila 1 continuacin mediante $OR NEW% se optimizara muchsimo
esto
9
-
8/13/2019 Manual Programacion Hp50g
152/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
Ieamos entonces el cdigo6
X T"uantos elementos son^T
TT INPU% O6J@ S[AP
$ORi .nicia la estructura
T#atos $)T i S%R]T asi6 $ 1 ) T
]
T T INPU% O6JE A L X
$ 1 ) "F& E
$ 1 ) &.C "F&
$ 1 ) "F& E C$9
$ 1 ) &.C "F& C$9
$ 1 ) &.C "F&
$ 1 ) &.C E
$ 1 ) &.C "F& C$9
$ 1 ) &.C E C$9
$ 1 ) "F& E C$9
ANDRS R. GARCA M. 152
-
8/13/2019 Manual Programacion Hp50g
153/243
-
8/13/2019 Manual Programacion Hp50g
154/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
1hora pedir los datos del elemento @ pero ahora si nos dice que elemento es *$)@+6
1hora pedir los datos del elemento E pero ahora si nos dice que elemento es *$)E+6
1hora pedir los datos del elemento ; pero ahora si nos dice que elemento es *$);+6
ANDRS R. GARCA M. 154
-
8/13/2019 Manual Programacion Hp50g
155/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
R tendremos los resultados grabados6
'$&%)51#F&
"F!$C51'.F&6
@ Fbservemos que el $OR va acompa3ado de i. $sta letra nos esta representado el
contador lo que quiere decir que i to)ara 2 0a2or (2 conta(or. $n este caso @, E o
; Co necesariamente tiene que ser i. , puede tomar cualquier carcter alfa
E Por ultimo recomiendo hacer un D6UGa este cdigo y sino quedo algo claro lo
van a entender muy bien ya que asi van a poder ver como trabaja la pila durante la
ejecucin del programa
9
-
8/13/2019 Manual Programacion Hp50g
156/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
$scribamos un programa que eval-e repetidamente la raz cuadrada de un numero
puesto en el nivel @ de la pila hasta que este numero sea igual a @ $s un ejemplo muy
sencillo
Ieamos el cdigo6
X CLLCD
DO
DUP DUP
S%R 9 DISPA@[AI%
UN%IL
9
END
Y
$jecutemos este cdigo6
#ebemos poner un numero en la pila $j/ 888888888888$788
ANDRS R. GARCA M. 156
-
8/13/2019 Manual Programacion Hp50g
157/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
"F!$C51'.F&6
@ $ste cdigo se entiende perfectamente haciendo D6UG
CF516 ( .ntntenlo con un solo DUP.
- intntenlo sin el A@ >1.5
9 ['ILE_REPEA%_END
$sta estructura trabaja de manera similar a DO_UN%IL_END con la diferencia de
que primero ejecuta la condicin y luego el bucle Ieamos el ejemplo anterior pero
con['ILE_REPEA%_END
X CLLCD
['ILE DUP@
REPEA% DUP
S%R@ DISPA@[AI%
END
Y
"F!$C51'.F&6
@ $ste cdigo se entiende perfectamente haciendo D6UG
ANDRS R. GARCA M. 157
-
8/13/2019 Manual Programacion Hp50g
158/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
CF516 ( .ntntenlo con un solo DUP.
- intntenlo sin el A@ >1.5
ANDRS R. GARCA M. 158
-
8/13/2019 Manual Programacion Hp50g
159/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
99. ES%RUC%URAS DE DE%ECCIN
DE ERRORES.
99. ES%RUC%URAS DE DE%ECCIN
DE ERRORES.
99.9 DE$INICIN
)as estructuras de deteccin de errores permiten que los programas detecten o
intercepten las situaciones de error las cuales provocaran la interrupcin de la
ejecucin del programa
99.; I$ERR...%'EN...END
)a estructura de I$ERR...%'EN...END es la siguiente6
F I$ERR accin sospechosa
%'EN accin a ejecutar si se produjo error
ANDRS R. GARCA M. 159
-
8/13/2019 Manual Programacion Hp50g
160/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
END
$mpecemos con un ejemplo muy sencillo6
$scribamos un programa que suma dos numero reales puestos en la pila %na
condicin de error seria que hubiera un solo numero en la pila o que no fueran del
mismo tipo de variable los argumentos puestos en la pila, Por lo tanto la accin
sospecha seria !.Ieamos este sencillo cdigo6
X I$ERR]
%'EN
TBalta un datoT
CLLCD MSG6OW
END
Y
1l ejecutar con dos n-meros en la pila6
$jecutando con un solo numero en la pila *condicin de error+6
ANDRS R. GARCA M. 16
-
8/13/2019 Manual Programacion Hp50g
161/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
&e produce tambin un error cuando durante la ejecucin de un programa se pulsa la
tecla ON. Prubenlo como ejercicio para un programa en donde exista una aplicacin
del comando[AI%.
ANDRS R. GARCA M. 161
-
8/13/2019 Manual Programacion Hp50g
162/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
9;. VEN%ANA DE OPCIONES.
ANDRS R. GARCA M. 162
-
8/13/2019 Manual Programacion Hp50g
163/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
9;. VEN%ANA DE OPCIONES.9;.9 DE$INICIN
%na ventana de opciones, como su nombre lo indica es una ventana que puede
contener una o varias opciones, las cuales nos permiten seguir una ruta dentro de un
programa
9;.; EL COMANDO C'OOSE
$sta ventana de opciones se crea mediante el comando C'OOSE $ste comando
toma tres argumentos de la pila para poder ejecutarse, estos argumentos son en
orden los siguientes6
Un S%RING 2 cua2 contin 2 titu2o ( 2a 0ntana.
Una 2ista con 2as o,cions u ur)os u*icar n 2a 0ntana.
Un Qn(ic ( ,osici/n.
9;.= $ORMAS DE U%ILI&ACIN DEL COMANDO C'OOSE
$l comando "HFF&$ se puede aplicar de dos maneras, de hecho lo -nico que varia
es la lista, es decir el segundo argumento que toma el comando para ejecutarse
Ieamos un primer ejemplo6
$G$!P)F @6
ANDRS R. GARCA M. 163
-
8/13/2019 Manual Programacion Hp50g
164/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
$scribamos un peque3o programa que cree una ventana con las siguientes opciones6
( "ercha
( Iiga
( Prtico
Ieamos el cdigo6
X CLLCD Pone en blanco la pila
T$).G1 %C1 FP".DCT 5itulo de la ventana *&5'.C9+
[ "$'"H1
I.91
PF'5."F \ Fpciones *lista+
@ Sndice de posicin
C'OOSE
Y
)o cual muestra lo siguiente6
ANDRS R. GARCA M. 164
-
8/13/2019 Manual Programacion Hp50g
165/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
$sto si esta activo el B)19 8A el cual muestra el texto en BFC5 peque3o
Ieamos el cdigo desactivando este B)19
F(8A C$ CLLCD
T$).G1 %C1 FP".DCT
[ "$'"H1 I.91 PF'5."F \
@
C'OOSE
CF516 "ual es mejor^ 1 gusto de cada uno
"on las teclas que contienen las flechas nos podemos mover arriba o abajo
ANDRS R. GARCA M. 165
-
8/13/2019 Manual Programacion Hp50g
166/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
$ligiendo la opcin ;6
Presionando F devolver los siguiente a la pila6
"F!$C51'.F&6
$ste cdigo no nos permite poner texto que contenga mas de dos palabras, me
explico/ si fuera por ejemplo `cercha plana no podramos ponerlo as &e vera en
una lnea cercha y en una segunda lnea plana
Ieamos ahora una segunda forma de utilizar este comando C'OOSEla cul nos
permite poner mas de una palabra en una sola lnea
"onsiderando el mismo ejemplo anterior pero ahora las opciones sern6
( "ercha plana
( Iiga continua
ANDRS R. GARCA M. 166
-
8/13/2019 Manual Programacion Hp50g
167/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
( Iiga empotrada
Ieamos el nuevo cdigo6
X CLLCD
T$).G1 %C1 FP".DCT
[
[ T"$'"H1 P)1C1T @ \
[ TI.91 "FC5.C%1T E \
[ TI.91 $C $!PF5'1#1T ; \
\
9
C'OOSE
Y
"F!$C51'.F&
@ "omo se puede observar este cdigo si nos permite poner mas de una palabra en
una sola lnea
ANDRS R. GARCA M. 167
-
8/13/2019 Manual Programacion Hp50g
168/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
E Cotemos que las opciones a diferencia del cdigo anterior ahora van dentro de 2 2
*&5'.C9+
; Fbservemos tambin que la opcin y su ndice de posicin ahora son una lista
anidada dentro de otra lista que contiene todas las opciones
7 1l ejecutar este cdigo se ve algo como esto6
$ligiendo la opcin ;
$l entero del nivel E de la pila es el ndice de posicin de la opcin 1s por ejemplo
hubisemos elegido cercha plana se hubiera devuelto lo siguiente6
ANDRS R. GARCA M. 168
-
8/13/2019 Manual Programacion Hp50g
169/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
#ado el caso que no se presione la tecla de men- O8sino la tecla de men- CANCL
se devolver A a la pila
$n resumen esta son las dos formas que toman los argumentos que necesita el
comando C'OOSEpara su ejecucin Ieamos ahora un ejemplo completo
utilizando este comando y aplicando la segunda forma6
$scribamos un programa que llamaremos 8%ULUcon ; opciones6
)a primera nos permitir averiguar la cantidad de memoria disponible de nuestra HP
en 0 *ilobytes+
)a segunda nos permitir averiguar el numero de libreras instaladas en el puerto
)a tercera nos da la opcin salir del programa
Iamos entonces al cdigo6
ANDRS R. GARCA M. 169
-
8/13/2019 Manual Programacion Hp50g
170/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
! -9 SF IFERR S )'
CLLCD P'%) *$ $%&$**$ )% *$%'
" ELIJA UNA OPCION" *' ) *$ )%&$%$
> > "M)+'$ D(." 1 ?
> "P#)&' " 2 ? L(&$ '% *$( ''%)(
> "S$*" 3?
?
1 %) ) '(%
CHOOSE E)#&$ )* '+$%' CFOOSE
DROP E*+%$ )* 1 )$' )% *$ *$
i D)%) $. *'$* $$ 1 2 ' 3! CASE HH1 E% $(' ) #) B#$* $ 1 )( ) +)+'$
('%*)K
THEN E%&'%)(
CLLCD P'%) *$ $%&$**$ )% *$%'-4CF #&$ )* )*' ) *$ $%&$*$
MEM P'%) *$ $%&$ ) +)+'$ (. E% *$ *$
1 : D) ' 1 $$ $($ $
0 RND O *#B$)( )+$*)(
SR C'%)&) $ SRING" " A$) $* )(#*&$' ) +)+ ('%*)
"M)+'$ ('%*)" P'%) )* &)Q&' "M)+'$ ('%*) )% *$ *$
1 DISP P'%) )* &)Q&' $%&)' )% *$ $%&$**$
2 DISP P'%) )* &)Q&' ) MEM disponib!)% $%&$**$
WAIT E()$ #%$ &)*$
DROP '$ *$ ()+**$ )$$ ' *$ &)*$ #*($$
END )+%$
ANDRS R. GARCA M. 17
-
8/13/2019 Manual Programacion Hp50g
171/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
HH2 E% $(' ) #) I B#$* $ 2 )( ) #)&' K
THEN E%&'%)(
P"ARS C'+$%' #) %'( )#)*) #%$ *(&$ '% *$
$%&$ ) *)$( )% #)&' ))()%&$$(
' (# %#+)' %)* 2K/ *$ +)+'$ ('%*)
%)* 1K
DROP '$ )* %)* 1 ) *$ *$ /$ #) %' %))(&$+'(
)* $&' ) $%&$ ) +)+ ('%*).
SI#E O&)%) )* %#+)' $%&$K ) )*)+)%&'( ) *$
*(&$
STR L' '%)&) $ SRING" LIS" P'%) )* &)Q&' LIS / *' $$) $ 0 ) LIS
"LIS EN PUERO " P'%) )* &)Q&' "LIS EN PUERO "
1 DISP P'%) )* &)Q&' $%&)' )% *$ $%&$**$
2 DISP P'%) *$ $%&$ %#+)'K ) LIS )% *$ *$.
WAIT E()$ #%$ &)*$
DROP '$ *$ ()+**$ )$$ ' *$ &)*$ )('%$$
END )+%$HH3 E% $(' ) #) I B#$* $ )( ) ($*K
THEN E%&'%)(
END )+%$
END S$*) )*CASE
THEN S () '#' )' )%&'%)(
CLLCD "S) '#' #% M#)(&$ "S) '#' #% )' +)$%&)
MS$BOX
)'" MS$BOX
ULU V#)*) $ ))#&$ )* 'B$+$
END )+%$
ANDRS R. GARCA M. 171
-
8/13/2019 Manual Programacion Hp50g
172/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
9rabamos bajo el nombre 8%ULUy ejecutamos Fbsrvese que se )o(iicoel B)19
8A6
&i elegimos la opcin @
&i elegimos la opcin E
&i presionamos "1C")
"F!$C51'.F&6
ANDRS R. GARCA M. 172
-
8/13/2019 Manual Programacion Hp50g
173/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
@ Iemos un comando nuevo llamado PVARS que nos devuelve una lista con la
cantidad de libreras en puerto A representadas por su numero *nivel E+y la memoria
disponible *nivel @+
E $l comando C'OOSEes bastante eficiente cuando tenemos muchas opciones
dentro de nuestras aplicaciones
$G$!P)F E6
1hora supongamos que lo que tenemos es una lista con muchos nombres *como en
una agenda+ y lo que queremos es seleccionar dicho nombre6
Ieamos la lista con los nombres6
[
T1ndres 9arciaT
T&antiago Gose )opezT
TBabian HerreraT
T"arlos #iazT
T"ristina &antamariaT
TGoe satrianiT
TGuan 9allardoT
T1rmando #e castroT
T"arlos de "astroT
T$lin "ardenasT
\
9rabamos bajo el Combre CF!0'$&6
ANDRS R. GARCA M. 173
-
8/13/2019 Manual Programacion Hp50g
174/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
CF!0'$&
Ieamos el codigo6
X T "FC51"5F&T
CF!0'$&
@
C'OOSE
DROP
Y9rabamos bajo el nombre 19$C#1 y ejecutamos6
&i elegimos a &antiago Gose )opez6
ANDRS R. GARCA M. 174
-
8/13/2019 Manual Programacion Hp50g
175/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
$ste cdigo se relaciona directamente con el cdigo de la pagina :M
ANDRS R. GARCA M. 175
-
8/13/2019 Manual Programacion Hp50g
176/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
9=. PLAN%ILLAS DE EN%RADA.
9=. PLAN%ILLAS DE EN%RADA.1%&1 DEFINICI'N
L$( *$%&**$( ) )%&$$ ('% ($+)%&) #%$ '+$ ) )%&$ $&'( $ #%
'B$+$ ) +$%)$ $(&$%&) +'$ / ))%&) /$ #) %'( )+&) T$)
$*B#%$( '($( +$( #) ' ))+*' #%$ )%&$$ +)$%&) )* '+$%' INPUT&
L$ *$%&**$( ) )%&$$ () ))#&$% ' () )$% +)$%&) )* '+$%' INFORM )*
#$* %))(&$ &)( $B#+)%&'( ('( $$ (# ))#% #) ('%
ANDRS R. GARCA M. 176
-
8/13/2019 Manual Programacion Hp50g
177/243
PROGRAMACIN EN USER-RPL CON EJEMPLOS APLICADOS A ING. CIVIL SEGUNDA EDICIN
- U% &*' SRINGK
- U% '%#%&' ) $+'( U%$ *(&$K
- U%$ *%)$ ) +)%($)( U% SRINGK.
C*$' )(&$ #) #%$ *$%&**$ ) )%&$$ &$+% %'( () $$ +'(&$ )(#*