Logo Studenta

Programacion-UserPRL-una-herramienta-para-el-ingeniero

¡Este material tiene más páginas!

Vista previa del material en texto

UNIVERSIDAD NACIONAL AUTONOMA 
DE MEXICO 
 
FACULTAD DE ESTUDIOS SUPERIORES 
ARAGON 
PROGRAMACION USER-RPL 
UNA HERRAMIENTA PARA EL INGENIERO 
T E S I S 
 QUE PARA OBTENER EL TITULO DE: 
I N G E N I E R O C I V I L 
P R E S E N T A : 
CARMELO MORA GARCIA 
 ASESOR: ING. PATROCINIO ARROYO HERNANDEZ 
San Juan de Aragón, México 
 OCTUBRE 2008. 
 
UNAM – Dirección General de Bibliotecas 
Tesis Digitales 
Restricciones de uso 
 
DERECHOS RESERVADOS © 
PROHIBIDA SU REPRODUCCIÓN TOTAL O PARCIAL 
 
Todo el material contenido en esta tesis esta protegido por la Ley Federal 
del Derecho de Autor (LFDA) de los Estados Unidos Mexicanos (México). 
El uso de imágenes, fragmentos de videos, y demás material que sea 
objeto de protección de los derechos de autor, será exclusivamente para 
fines educativos e informativos y deberá citar la fuente donde la obtuvo 
mencionando el autor o autores. Cualquier uso distinto como el lucro, 
reproducción, edición o modificación, será perseguido y sancionado por el 
respectivo titular de los Derechos de Autor. 
 
 
 
 
PROGRAMACIÓN USER-RPL 
 
 
I
Programación 
User-rpl 
Una herramienta 
Para el Ingeniero 
 
PROGRAMACIÓN USER-RPL 
 
 
II
Agradezco a: 
Tengo mucho que agradecer a muchas personas las cuales hicieron que se cerrara 
este círculo de mi carrera profesional. Tanto a profesores como a familiares y a 
personas que de una o de otra forma siempre han estado para apoyarme o me dieron 
las palabras de aliento que necesitaba. 
Por primera instancia le agradezco a mi querida madre María del Carmen García 
Cabrera la mujer más grande para mí, la que nunca me ha desamparado ni de noche 
ni de día. La que vela siempre por mi y sus seres queridos. Gracias gracias gracias 
siempre estaré agradecido por todo lo que haces por mi X). 
A todos los profesores de la FES Aragón de la carrera de ingeniería civil, quienes 
realizan un gran trabajo docente y también extra-curricular. Primeramente a mi 
asesor Ing. Patrocinio Hernández Arroyo quien decidió apoyarme con el tema de tesis 
poco común y por el tiempo y acciones tomadas para mi titulación :]. 
A mi novia Mariana Córdoba una persona muy especial en mi vida, quien de igual 
manera me ha apoyado en momentos cruciales y con quien he pasado momentos 
muy felices y eternos. Te amo XD… 
También a otra persona importante en mi vida Mariana Velázquez, mi gran ilusión :# 
De igual manera a Mónica Velasco por darme el pequeño empujón para decidirme a 
concluir mi proceso de titulación. 
 
 
 
 
 
 
 
 
PROGRAMACIÓN USER-RPL 
 III
INDICE 
INDICE ............................................................................................................................................................ II 
INTRODUCCIÓN .......................................................................................................................................... IV 
1 INTRODUCCION A LA PROGRMACION ........................................................................................ 1 
1.1 OBJETOS Y COMANDOS BASICOS ........................................................................................... 1 
1.2 ASPECTOS BASICOS DE PROGRAMACION ............................................................................ 4 
1.3 VARIABLES .................................................................................................................................. 8 
1.4 COMANDOS DE ENTRADA IN ................................................................................................. 12 
1.5 COMANDOS DE SALIDA OUT .................................................................................................. 18 
1.6 DIAGRAMA DE FLUJO .............................................................................................................. 22 
2 ASPECTOS TEORICOS ..................................................................................................................... 30 
2.1 TABLA DE AREAS, VOLUMEN Y PERIMETRO. .................................................................... 30 
2.2 TABLA DE PROPIEDADES FISICAS DE VARILLA ESTRUCTURAL. .................................. 31 
2.3 CENTROIDES. ............................................................................................................................. 32 
2.4 MOMENTOS DE INERCIA. ........................................................................................................ 33 
2.5 RELACIONES GEOMETRICAS DE SECCIONES TRANSVERSALES. .................................. 36 
3 APLICACIONES .................................................................................................................................. 37 
3.1 ÁREA DE UN CUADRADO. ....................................................................................................... 37 
3.2 ÁREA DE UN RECTANGULO. ................................................................................................... 39 
3.3 ÁREA DE UN TRAPECIO. .......................................................................................................... 40 
3.4 ÁREA DE UN CILINDRO. ........................................................................................................... 43 
3.5 MOMENTOS DE INERCIA. ........................................................................................................ 49 
3.6 PROPIEDADES FISICAS DE CANALES. .................................................................................. 59 
CONCLUSIONES .......................................................................................................................................... 64 
A. ANEXO .................................................................................................................................................. 65 
BIBLIOGRAFIA ............................................................................................................................................ 72 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
PROGRAMACIÓN USER-RPL 
 IV
INTRODUCCIÓN 
urante la estancia en la carrera de Ingeniería Civil, es obligada la 
utilización de calculadoras poderosas, como es el caso de las 
calculadoras graficadoras Hewllet Packat, Texas Instrument, Casio, pero 
la mayoría de las personas que adquieren estas calculadoras no saben 
explotar todo el potencial que ofrecen, ya sea por falta de interés o limitación del 
lenguaje ante otro idioma (Inglés). 
Este trabajo se aboca a la calculadora graficadora HP 49G, aunque por su estructura 
es aplicable a otros modelos de la misma familia.1 
Para los estudiantes les es útil desde el inicio, en la solución de ecuaciones, matrices, 
solución de vigas, en fin de acuerdo a la ocasión se puede hacer un programa. De 
igual manera para los profesionistas al tener esta herramienta, pueden realizar un 
programa acorde al tipo de problema a solucionar en el campo laboral, pecios 
unitarios, estimaciones, cuantificación de acero, revisión de áreas, etc. Aquí se 
exponen conceptos y ejercicios básicos y elaborados, para la programación en 
lenguaje USER-RPL2; para que la persona interesada en programar esta calculadora o 
alguna similar, tenga una herramienta de consulta que le ayude a despejar sus 
dudas. 
La primera calculadora de HP fue diseñada por "Advanced Product Division" (APD) en 
Cupertino, CA, USA. En septiembre de 1976 continúo desarrollando la calculadora HP 
48G/GX y fue lanzada en 1993. Después de 1993 se decidió cambiar el centro de 
operaciones a Singapore. 
La HP 38G fue lanzada a la venta en 1995, con el trabajo conjunto de HP Corvallis y 
HP Singapore. En noviembre de 1997, HP decidió revivir el centro de operaciones de 
Australia, La Australian Calculator Operation (ACO), fue formada. 
 
1 48G, 48GX, 48G+ y 49G+ 
2 Este lenguaje se refiere a:User usuario y Rpl 
D 
 
PROGRAMACIÓN USER-RPL 
 V
ACO buscó los mejores programadores y los encontró estosson: Jean-Yves Avenard, 
Gerald Squelart, y Cyrille de Brebisson. 
ACO inicialmente comenzaron con la HP 48G+, ellos rediseñaron las HP y aminoran 
los costos de producción. Su primer gran proyecto fue la HP 49G, otros notables 
lanzamientos fueron la HP 39/40 y la 30S. Ellos realizaron trabajos que 
eventualmente eran cancelados (Xpander). 
OBJETIVO 
Proporcionar al estudiante y egresado una herramienta de trabajo para la solución de 
problemas que requieren de cierta sistematización. 
ALCANCES 
Mediante este trabajo se ayudara al ingeniero proporcionándole todo lo necesario 
para que pueda entender los aspectos fundamentales de programación y por lo tanto 
crear programas propios que se adecuen a sus necesidades, ya que se estará 
trabajando en un lenguaje de programación tiene el alcance para utilizarse en la 
mayoría de las graficadoras HP, además de los diferentes emuladores de las mismas 
que se encuentran en el Internet. 
En el primer capitulo se explicaran cosas básicas y fundamentales para entender la 
manera en que trabaja un programa y los elementos con los que debe contar el 
mismo. En el segundo capitulo se mostraran aspectos teóricos ya que estos ayudan a 
solucionar los problemas que se presenten y los cuales se utilizaran en la en pasos 
clave de los programas. En el capitulo correspondiente a las aplicaciones se 
plantearan posibles programas3 para solucionar determinado tipo de problema, ya 
que este capitulo muestra alternativas de solución las cuales servirán como guía para 
programas propios. 
Por ultimo el apartado de anexo, tiene información sobre utilerías que se pueden 
encontrar en el Internet, como editores, emuladores y programas de comunicación 
 
3 Se dice posibles porque cada quien tiene diferentes maneras de plantear un problema y una solución 
 
PROGRAMACIÓN USER-RPL 
 VI
graficadora-PC. Se dará una breve reseña de los mismos ya que en su mayoría son 
muy intuitivos. 
 
 
 
PROGRAMACIÓN USER-RPL 
 1
1 INTRODUCCION A LA PROGRMACION 
1.1 OBJETOS Y COMANDOS BASICOS 
La calculadora HP 49G trabaja con 30 tipos de objetos4 los cuales se mencionan a 
continuación en la Tabla 1. 
TABLA Nº 1.- Descripción. 
Numero Tipo Ejemplo 
0 Numero real -0.123E3 
1 Numero complejo ( 5, -12) 
2 Cadena (STRING) “ MYC ” 
3 Sistema de números reales [ [ 1 2 ] [ 9 0 ] ] 
4 Sistema de números complejos [ [ (1,-2) ] [ (9,- 0) ] ] 
5 Lista { 1 2 3 4 } 
6 Nombre global Y 
7 Nombre local Kdt 
8 Programa << 1 2 + >> 
9 Objeto algebraico ‘ 2+2*x ’ 
10 Numero entero binario # EFAC11h 
11 Objeto grafico Grafico de 164x80 
12 Objeto etiquetado : maryss : 
13 Objeto unidad 100_m^3/s 
14 Nombre XLIB XLIB 543 8 
15 Directorio DIR. . . END 
16 Biblioteca Library 440… 
17 Objeto de reserva Backup MYDIR 
18 Función incorporada ATAN 
19 Comando incorporado MSGBOX 
20 Numero entero binario interno < 123d > 
21 Numero real extendido Numero real largo 
22 Numero complejo extendido Numero complejo largo 
23 Serie enlazada Serie enlazada 
24 Objeto de carácter Carácter 
25 Objeto de código Código 
26 Datos de biblioteca Datos de biblioteca 
27 Tipos miniatura Tipos 
28 Entero 7 
29 Vector/matriz simbólica [ X X2 X3 ] 
 
4 Los objetos son todos los tipos de elementos con los cuales se puede trabajar un programa. 
 
PROGRAMACIÓN USER-RPL 
 2
30 Tipo Tipo 
1.1.1 Pantalla predeterminada (PILA). 
1.- Área de estado. 
2.- Historia. 
3.- Menú. 
 
Los siguientes diagramas muestran la forma de entrada y salida de funciones y 
comandos incorporados, ya que uno de los problemas en el desarrollo de programas 
es la manera en la que se introducen los argumentos para la ejecución correcta de 
los mismos. 
Entre más comandos y funciones se dominen, será más rápido y con menos pasos, la 
ejecución; debido a que se pueden abreviar pasos con otro tipo de comandos. 
Estos están introducidos en modo RPN5 y es la forma 
en la que se va a trabajar en el presente trabajo Y se 
pueden introducir directamente o mediante la tecla 
CAT. 
 
 
ACOS Arco seno de un número (X) 
 
ADD Suma dos listas (X e Y) elemento por elemento 
 
5 Sistema de anotación Polaca 
3
1
2
 
PROGRAMACIÓN USER-RPL 
 3
 
DUP Duplica el objeto en el nivel 1 
 
DROP Elimina el objeto que este en el nivel 1 
 
XQ Convierte un número o una lista de números en formato decimal al formato 
racional 
 
STO Almacena un objeto en una variable u objeto específico 
 
SQ Obtiene el cuadrado del argumento 
 
PROGRAMACIÓN USER-RPL 
 4
 
R→C Combina dos números o dos series reales en un número o series de complejos 
 
1.2 ASPECTOS BASICOS DE PROGRAMACION 
Los programas pueden variar en complejidad, desde una tarea simple como una 
sumatoria, hasta un proceso complejo que requiera entradas y la entrega de los 
resultados en un formato grafico. Pero también se puede utilizar ambos en un 
programa. 
Los programas se realizaran en modo RPN, y en ocasiones por comodidad se utilizara 
el modo Algebraico6. 
Un programa es un objeto que se puede almacenar en una variable. Es decir se crea 
un programa, se le asigna un nombre y se almacena en un directorio. 
Para crear un programa, presione (para que se obtenga el 
delimitador de un programa « »), con esto ya se puede comenzar a realizar el 
programa, además que en la parte superior derecha de la pila aparece anunciado 
PRG, para indicar que esta en modo de programación. 
1.2.1 Menú de programación 
Este menú contiene algunos de los comandos que se pueden usar en un programa. 
Para presentar este menú presione y aparecerá una caja que a 
continuación se ilustra. 
 
6 Es otra forma en la cual se puede introducir datos a la HP se podría decir que de manera normal. 
 
PROGRAMACIÓN USER-RPL 
 5
 
 
1.2.2 Manipulación de datos 
A continuación se explica brevemente como se puede introducir datos a los 
programas y como se puede dar salida a los que producen los programas. 
1.2.2.1 Datos de entrada 
Se puede utilizar uno de los siguientes métodos para especificar los datos que desea 
que use el programa. 
• Como argumentos cuando ejecuta el programa. 
• Como variables que se crean en la memoria antes de ejecutar el programa. 
• Pidiendo entradas a medida que se ejecuta el programa. 
1.2.2.2 Datos de salida 
Los datos que salen se escriben en la historia 
 Cuando se completa la ejecución de un programa, la historia presenta la 
última salida solamente. Esto se presenta en el nivel 1. Para retener las 
salidas creadas durante el proceso, se puede escribir la salida en una o unas 
variables globales a medida que avanza el programa. Este método le da la 
flexibilidad para estructurar la salida y para agregar comentarios brindando 
mayor claridad. 
 Algunas funciones indican valores múltiples. Para estas funciones, los valores 
se escriben en una lista. A menos que de salida a una variable, la lista aparece 
en la historia. 
1.2.3 Como fluye un programa 
Los programas de la calculadora HP 49G tienen un punto de entrada, al comienzo del 
programa, y un punto de salida, al final del mismo. No hay comandos como GOTO7 
que se puedan usar para saltar a un punto dentro en un programa. 
 
7 Como en la calculadora CASIO 
 
PROGRAMACIÓN USER-RPL 
 6
Dentro de los programas se utilizan estructuras de enlazado y bifurcaciones como IF 
THEN (las cuales se explicaran mas adelante), para encontrar el orden de las 
operaciones. 
Se pueden ejecutar otros programas dentro de un programa. 
Consecuentemente se pueden crear programas modulares. Por ejemplo se pueden 
crear tres programas discretos llamados UNO, DOS y TRES. Luego se puede crear un 
programa maestro que ejecute cada uno de los componentes por turnos, de la 
siguiente manera: 
« UNO DOS TRES» (Entrada procesamiento salida).1.2.4 Como visualizar, depurar y editar programas 
1.2.4.1 Para visualizar o editar un programa: 
1. Visualice el programa: 
• si el programa esta en el nivel 1, pulse EDIT ( y aparecerá 
 
EDIT en el menú inferior). 
• si el programa esta almacenado en una variable, ponga el nombre de la 
variable en el nivel 1 y pulse EDIT. 
 
2. Realice las modificaciones que desee. 
3. Pulse para archivar cualquier modificación (o pulse CANCEL para 
eliminar las modificaciones) y regrese a la pila. 
 
PROGRAMACIÓN USER-RPL 
 7
Resulta más fácil comprender como funciona un programa si lo ejecuta paso a paso, 
observando el efecto causado por cada paso. El hacerlo puede ayudarle a “depurar8” 
sus propios programas o a comprender los programas propios. 
1.2.4.2 Para la operación paso a paso desde el principio de un programa: 
1. Ponga todos los datos requeridos por el programa en la pila en los niveles 
apropiados. 
2. Ponga el programa ó el nombre del programa en el nivel 1 (o la línea de 
comandos). 
3. Ejecute DBUG para empezar e inmediatamente suspenda la ejecución. El 
indicador HALT se visualiza en el área de estado. 
4. Realice la acción que estime oportuna: 
• Para ver el paso siguiente del programa, visualizado en el área de 
estado y posteriormente ejecutado, pulse SST. 
• Para visualizar, pero no ejecutar el paso o los pasos siguientes del 
programa, pulse NEXT. 
• Para continuar con la ejecución normal, pulse . 
• Para abandonar otra ejecución, pulse KILL. 
5. Repita el paso 4 cuando desee hacerlo. 
1.2.4.3 Para realizar la operación pasó a paso cuando el paso siguiente 
es una subrutina: 
• Para ejecutar la subrutina en un paso, pulse SST. 
• Para ejecutar la subrutina paso a paso, pulse SST↓. 
SST ejecuta el paso siguiente de un programa –si el paso siguiente es una subrutina, 
SST ejecuta la subrutina en un paso. SST↓ funciona igual que SST, excepto si el paso 
del programa siguiente es una subrutina, en cuyo caso va avanzando paso a paso 
hacia el primer paso de la subrutina. 
NOTA: 
Todos los comandos antes nombrados se encuentran en el menú PRG. 
Pulse , aparecerá el menú de programación 
 
8 Mejorar el entendimiento del flujo de un programa 
 
PROGRAMACIÓN USER-RPL 
 8
 
Trasládese hacia abajo hasta llegar a la opción 14, pulse OK. 
 
A continuación se mostrara el menú RUN & DEBUG. 
 
1.3 VARIABLES 
Este tipo de objetos es uno de los más relevantes en el caso de la programación. 
Para almacenar un objeto se le da un nombre y se almacena. Un objeto almacenado 
de esta manera se llama VARIABLE. 
En una variable se puede almacenar cualquier objeto ya sea números, ecuaciones, 
programas y más. Las variables permiten almacenar y recuperar objetos. 
Los nombres de las variables pueden contener hasta 127 caracteres, que pueden 
contener números, letras mayúsculas y minúsculas, entre otros. 
Hay dos tipos de variable dentro de la programación de la calculadora HP 49G 
• Variables locales 
Las variables locales mantienen los valores fijos por los argumentos que se use 
cuando se llame el programa. 
• Variables globales 
 
PROGRAMACIÓN USER-RPL 
 9
I. Las variables globales están disponibles en cualquier parte dentro de un 
programa. 
II. Para retirar una variable global usando código, use el comando PURGE. 
1.3.1 Creación de una variable global. 
Se comenzará a explicar como se crea una variable global, ya que esta es más fácil 
de crear. 
Con el comando STO (ya citado anteriormente), se puede realizar esta tarea. 
1.- Contenido de la variable. 
 
2.- Nombre de la variable. 
 
3.- Presionar la tecla (o escribir STO y ). 
 
 
4.- La variable esta creada y se puede apreciar en la parte inferior de la pila. 
 
PROGRAMACIÓN USER-RPL 
 10
 
1.3.2 Creación de una variable local. 
Debe saber que hay ciertas restricciones en las variables locales, las cuales son las 
siguientes: 
• Inmediatamente después de una declaración de variable local, el código de 
programa debe contener cualquiera de los siguientes: 
 Un calculo algebraico, encerrado entre comillas 
 Un procedimiento anidado encerrado entre « ». 
• Una variable local esta disponible en el procedimiento anidado donde fue 
creada y todos los procedimientos anidados que contiene. 
• Se puede crear una variable local con el mismo nombre que una variable 
global existente (es decir, una variable en el mismo directorio o más arriba que 
el programa). Los comandos que usen el nombre de la variable usaran el valor 
de la variable local en lugar del valor del la variable global. 
En un programa, una estructura de variables locales crea variables locales. 
1.3.2.1 Para introducir una estructura de variables locales en un 
programa 
1. Se abren delimitadores de programa « ». 
2. introduzca el comando → ( ). 
3. introduzca uno a más nombres de variables. 
4. introduzca un procedimiento de definición (una operación algebraica u objeto 
de programas) que utilice los nombres. 
« → nombre 1 nombre 2 … nombre n ‘ operación algebraica’ » ó 
« → nombre 1 nombre 2 … nombre n « programa » » 
Cuando se ejecuta el comando → en un programa, se toman n valores de la pila y se 
asignan a las variables nombre 1 nombre 2 … nombre n . Por ejemplo si la pila 
presenta lo siguiente: 
 
PROGRAMACIÓN USER-RPL 
 11
Entonces 
→ a crea la variable local a=3 
→ a b crea las variables locales a=3 y b=2 
→ a b c crea las variables locales a=3, b=2 y c=1 
El procedimiento de identificación utiliza las variables locales para realizar los 
cálculos. 
Las estructuras de las variables locales tienen estas ventajas: 
• El comando → almacena los valores de la pila en las variables 
correspondientes; no es necesario que ejecute explícitamente STO. 
• Las variables locales desaparecen automáticamente cuando el procedimiento 
de definición por el que se crean han finalizado la ejecución. En consecuencia, 
las variables locales no aparecen en el menú VAR y ocupan la memoria de 
usuario solo durante la ejecución del programa. 
• Las estructuras de variables locales diferentes pueden utilizar los mismos 
nombres de las variables sin problema alguno. 
1.3.2.2 Como utilizar las variables locales dentro de las subrutinas 
Dado que un programa es en sí mismo un objeto, puede utilizarse en otro programa 
como una subrutina. Cuando el programa A utiliza al programa B, el programa A 
llama al programa B y el programa B es una subrutina del programa A. 
Por regla general, las variables locales existen solo dentro del procedimiento de 
definición (y no dentro de alguna subrutina que haya llamado el procedimiento de 
definición). Por eso, las variables locales normales solo pueden utilizarse dentro de 
una subrutina si esta está incorporada o anidada en el procedimiento de definición de 
la variable local. 
1.3.2.3 Como utilizar una variable local que ha llamado el procedimiento 
de definición de variable: 
• Al definir la variable local, nómbrela usando el comando ← (la ruta es, 
CHARS ). 
 
PROGRAMACIÓN USER-RPL 
 12
 
Como primer carácter, esto crea una variable local compilada. 
• Al llamar a la variable local dentro de una subrutina, especifique su 
nombre utilizando ← como primer carácter. 
Una variable local compilada esta al alcance de cualquier subrutina activada por el 
procedimiento de definición de la variable local. Sin embargo, las variables locales 
compiladas siguen siendo variables locales y se eliminan cuando termina el 
procedimiento de definición. 
1.3.2.4 Variables locales y funciones definidas por el usuario. 
El procedimiento de definición de una estructura de variable local puede ser una 
operación algebraica o bien un objeto de programa. 
Una función definida por el usuario es de hecho un programa que se compone 
únicamente de una estructura de variable local, cuyo procedimiento de definición es 
una expresión algebraica. La sintaxis es: 
« → nombre 1 nombre 2… nombre n ‘expresión’ »Toma un numero ilimitado de argumentos (puede utilizar un numero ilimitado de 
variables locales), pero devuelve un resultado a la pila. 
 Si un programa empieza con una estructura de variable local y tiene un programa 
como el procedimiento de definición que devuelve exactamente un resultado, el 
programa completo actúa como una función definida por el usuario de dos formas: 
• Toma argumentos numéricos o simbólicos. 
• Toma sus argumentos o bien de la pila o bien en sintaxis algebraica. 
Sin embargo aunque dicho programa puede contener comandos no permitidos en 
expresiones algebraicas, no posee una derivada. 
1.4 COMANDOS DE ENTRADA IN 
Para tener una mejor interactividad con un programa, se recure a comandos de 
ENTRADA, como su nombre lo dice nos sirve para introducir los datos necesarios para 
la ejecución del mismo. 
 
PROGRAMACIÓN USER-RPL 
 13
Existen varias maneras de introducir los datos, depende de que tan complejo sea la 
forma en que tomará el dato el programa. 
Puede ser simple como solo poner un número en la pila o pidiendo un número o 
hasta pedirlo en un cierto rango, positivo, negativo etc. 
Para poder ver los diferentes comandos abrimos el menú PRG, seleccionamos la 
opción IN. 
 
Aquí se muestran diferentes comandos que se pueden utilizar para pedir una entrada 
en programa que así lo necesite. 
1.4.1 INFORM 
Crea una forma de entrada definida por el usuario (cuadro de dialogo). 
 Su argumento es el siguiente: 
 “Titulo” { “Dato1”, “Dato2”, … “Dato n” } { } { } { } INFORM 
Esta es la forma básica, sì… un poco confusa para las personas que apenas comienza 
a familiarizarse con este tipo de estructuras, a continuación se ilustrara en forma 
escalonada para hacerlo mas claro y detallado el funcionamiento de los objetos 
requeridos para utilizar INFORM. 
"TITULO" Titulo a mostrar 
{ "ETIQUETA 1" Primer mensaje 
"ETIQUETA 2" } Segundo mensaje 
{ } Lista para formato 
{ } Valores reset 
{ } Valores iniciales 
INFORM Comando a utilizar 
Valores reset 
 
PROGRAMACIÓN USER-RPL 
 14
Estos son los valores que se restauran cuando se presiona la opción reset del menú 
del formulario. 
Valores iniciales 
Son los valores iniciales 
Al momento de compilar en la HP, se puede hacer en forma lineal o escalonada; 
Depende de la forma que se quiera hacerlo, pero teniendo especial cuidado de 
respetar todos los símbolos. 
 
Ahora se creará una estructura mas compleja, si es que se requiere de un cierto tipo 
de objeto a llenar. 
Se utilizara la forma escalonada en adelante para poder explicar mejor la estructura. 
"TUS DATOS" Titulo a mostrar 
{ { "EDAD" Primer mensaje 
"NUMERO" Mensaje de ayuda 
0 Tipo de objeto a ingresar (consulte tabla Nº1). 
 } Se cierra la primera entrada 
{ "NOMBRE" Segundo mensaje 
"LETRAS" Mensaje de ayuda 
0 Tipo de objeto a ingresar 
 } } Se cierran entradas 
{1 2 } #Columna #Espacio 
{ } Valores reset 
{ } Valores iniciales 
 
PROGRAMACIÓN USER-RPL 
 15
INFORM Comando a utilizar 
 
Se obtienen estas formas de entrada informando que qué tipo de objeto quiere que 
se introduzca como dato. 
1.4.2 CHOOSE 
Crea un recuadro de selección definido por el usuario a partir de secuencia de títulos 
(z), una lista de objetos (y) y el número de objetos por defecto (x) que se va a resaltar. 
El argumento es el siguiente: 
“indicador” Titulo de la caja 
{ c1 … cn } Elementos que lo conforman la caja 
npos Posición resaltada de la caja. 
CHOSSE Comando a utilizar 
A continuación un ejemplo 
 “Elije un numero” 
{ “Uno” “Dos” } 
2 
CHOOSE 
 
Como se vio este comando es muy fácil de usar, pero solo nos sirve para seleccionar 
opciones ya dadas. 
 
PROGRAMACIÓN USER-RPL 
 16
1.4.3 PROMPT 
Muestra una secuencia de mensajes (x), en el área de estado e interrumpe la 
ejecución del programa. 
Argumento: 
 “indicador” Mensaje a mostrar 
Ejemplo: 
 “Sailor Moon” 
PROMPT 
 
1.4.4 WAIT 
Interrumpe la ejecución de un programa durante el numero especificado en segundos 
(x) ó hasta que se pulse una tecla. 
Argumento 
X Cantidad de tiempo (1, 2, 3 … etc.)9 
0 Tecla 
-1 Tecla 
WAIT 
Ejemplos: 
10 Cinco segundos de espera 
WAIT Comando a utilizar 
 
9 El tiempo se toma en segundos y no deja residuo después de la espera. 
 
PROGRAMACIÓN USER-RPL 
 17
 
Se muestra el reloj en el área de estado por 10 segundos, 
0 Indica que se espera una tecla 
WAIT Comando a utilizar 
 
 
Después de utilizar WAIT la pila parece inmóvil, pero esta esperando que se presione 
una tecla, en este caso se presiono ENTER y arrojo un arreglo de números el cual 
corresponde a lo siguiente: 
Numero de columna del teclado 
XX.X 0 ó 1 = sin mayúsculas 
 2 = mayús. de la izquierda 
 3 = mayús. de la derecha 
Numero de fila del teclado 4 = alfabético 
 5 = alfabético de la izquierda 
 6 = alfabético de la derecha 
1.4.5 INPUT 
 
PROGRAMACIÓN USER-RPL 
 18
Suspende la ejecución del programa, muestra el mensaje (y) en la parte superior de 
la pila, é indica (x) que se introduzcan datos en la línea de comandos. 
Argumento: 
 “indicador pila” Titulo superior 
“indicador línea de comandos” Rotulo en línea de comandos 
“resultado” Resultado en cadena (“”) 
INPUT El comando a utilizar 
Ó 
 “indicador pila” { Lista línea de comandos } “resultado” 
Ejemplo: 
 “ARRIBA” 
“” 
INPUT 
 
Se obtiene ABAJO en formato de cadena. 
 
Aunque no se abrieron delimitadores de programación para este comando, la HP lo 
toma como si fuese uno. 
 
1.5 COMANDOS DE SALIDA OUT 
 
PROGRAMACIÓN USER-RPL 
 19
Ya visto los comandos de ENTRADA se puede realizar entradas muy variadas, unas de 
mejor apariencia que otras; de igual manera ocurre con las SALIDAS, se cuenta con 
una gama de opciones para mostrar los resultados obtenidos en un proceso. 
Los comandos de SALIDA se encuentran en la misma rutina que los de entrada ó 
ayudándose con el comando CAT. 
 
 
 
1.5.1 CLLCD 
Despeja la pantalla de la pila (pero no borra la pila en sí). 
Se hace tan rápido el despeje que solamente se ve parpadear la pila. 
1.5.2 DISP 
Muestra en pantalla un objeto (x) en la xª línea de visualización. 
Argumento 
Obj Objeto a mostrar 
n Linea en la que se mostrara el objeto (1 a 9) 
DISP 
1.5.3 FREEZE 
Congela un área de la pantalla (x) hasta que se pulsa una tecla. 
Argumento: 
n área visual 1= Área de estado 
 
PROGRAMACIÓN USER-RPL 
 20
 2= Línea de comandos 
 3= Área menú 
FREEZE 
1.5.4 MSGBOX10 
Crea una ventana de mensaje definida por el usuario. 
Argumento: 
“mensaje” Mensaje a utilizar 
MSGBOX 
Ejemplo: 
 “MARYSS” 
MSGBOX 
 
 
 
 
Todos estos comandos funcionan mucho mejor combinándolos, 
Se creara un muy sencillo programa para mostrarlo. 
“ Se abren los delimitadores de programación. 
CLLCD Se despeja la pantalla 
" MARYSSS" Mensaje a mostrar 
MSGBOX Se crea la caja 
» Se cierra el programa 
 
10 Este es una de los comandos de salida mas usados, por la presentación que le da a una salida. 
 
PROGRAMACIÓN USER-RPL 
 21
MAR Nombre con el cual se almacenara 
STO Se almacena 
Se obtiene este resultado: 
 
Ó aun mejor con un fondo utilizando DISP. 
 “ Se abre el programa 
"- - -YAOENSASKENKOKURYUJA - - -" Mensaje de fondo 
{ 1 2 3 4 5 6 7 8 9} Posicione de la pila 
DISP Comando DISP 
" MARYSSS" Mensaje de la caja 
MSGBOX Crea la caja 
» Se termina el programa 
MAR 
STO Se almacena 
 
Todo depende de que tipo de presentación se quiera dar a la salida de un objeto. 
 
 
 
 
PROGRAMACIÓN USER-RPL 
 22
 
 
 
1.6 DIAGRAMA DE FLUJO 
Para entender mejor la fluenciade un programa es necesario utilizar diagramas de 
flujo, ya que estos permiten saber los pasos que va siguiendo el programa de manera 
grafica, a continuación se muestra como será. 
 
 Inicio o fin 
 
 Entrada de datos 
 
 
Toma de decisiones 
 
 
 Proceso de datos 
 
 
 Salida de datos 
 
 
1.6.1 Estructuras de programación BRANCH 
Una estructura de programación permite que un programa decida sobre la ejecución 
a realizar, dependiendo de las condiciones existentes o de los valores de argumentos 
 « » 
COMANDOS IN 
INFORM INPUT 
COSE PROMPT 
COMANDOS 
OUT 
DISP CLLCD 
FREEZE 
MSGBOX
COMANDOS Y 
OPERACIONES 
A UTILIZAR 
COMANDOS 
BRANCH 
 
PROGRAMACIÓN USER-RPL 
 23
concretos. Una utilización adecuada de estas estructuras hace que sea posible crear 
programas extraordinariamente flexibles. 
 
1.6.1.1 Estructuras condicionales 
Las estructuras condicionales permiten que un programa tome una decisión basada 
en el resultado de una o mas pruebas. A continuación se ofrece un resumen de 
estas. 
1.6.1.2 IF…THE…END 
Su sintaxis es: 
« ...IF cláusula-prueba THEN cláusula-verdadera END...» 
IF…THE…END ejecuta la secuencia de comandos en la cláusula-verdadera solo si la 
cláusula-prueba es verdadera. La cláusula-prueba puede ser una secuencia de 
comandos (por ejemplo, A B ≤) o una operación algebraica (por ejemplo ‘A ≤ B’). 
Si la cláusula-prueba es una operación algebraica, la da automáticamente como 
resultado un número –no se necesita →NUM ni EVAL. 
IF indica la cláusula prueba, la cual deja un resultado de prueba en la pila. THEN 
retira el resultado de prueba de la pila. Si el valor es distinta a cero, se ejecuta la 
cláusula-verdadera; de lo contrario la ejecución del programa se reanuda después de 
END. 
Utilizando el diagrama de flujo se así: 
 
1.6.1.3 IF…THEN…ELSE…END 
Su sintaxis es: 
 
 
NO
SI
 
PROGRAMACIÓN USER-RPL 
 24
«... IF cláusula-prueba THEN cláusula-verdadera ELSE cláusula-falza END...» 
IF...THEN...ELSE...END ejecuta la secuencia de comandos cláusula-verdadera si la 
cláusula-prueba es verdadera, o bien la secuencia de comandos cláusula-falsa si la 
cláusula-prueba es falsa. Si la cláusula-prueba es una operación algebraica, da 
automáticamente como resultado un número; no se necesita →NUM ò EVAL. 
IF inicia la cláusula-prueba, la cual deja un resultado de prueba en la pila. THEN retira 
el resultado de prueba de la pila. Si el valor es no nulo, se ejecuta la cláusula-
verdadera; de lo contrario, se ejecuta la cláusula-falsa. Una vez ejecutada la cláusula 
apropiada, la ejecución se reanuda después de END. 
Utilizando el diagrama de flujo se así: 
 
1.6.1.4 CASE…END 
Su Sintaxis es: 
CASE Cláusula…prueba 1 THEN cláusula-verdadera 1 END Cláusula-prueba 2 THEN 
cláusula-verdadera 2 END ...Cláusula-prueba n THEN cláusula-verdadera n END 
cláusula por defecto (opcional) END 
Esta estructura le permite ejecutar una serie de comandos cláusula-prueba, y a 
continuación ejecutar la secuencia apropiada de comandos cláusula-verdadera. La 
primera prueba que devuelve un resultado verdadero produce la ejecución de la 
cláusula-verdadera correspondiente, finalizando la estructura CASE. ..END. A modo de 
opción, puede incluir después de la última prueba una cláusula por defecto que se 
ejecuta si todas las pruebas dan falso como resultado. Si una cláusula-prueba es una 
operación algebraica, da automáticamente como resultado un número; no se 
necesita →NUM ó EVAL. 
Al ejecutarse CASE, se evalúa la cláusula-prueba 1. Si la prueba es verdadera, se 
ejecuta la cláusula-prueba 1, y la ejecución salta a END. Si la cláusula-prueba 1 es 
falsa, la ejecución pasa a la cláusula-prueba 2. La ejecución dentro de la estructura 
CASE continúa hasta que se ejecuta una cláusula-prueba o hasta que todas las 
cláusulas-prueba dan falso como resultado. Si se incluye una cláusula por defecto y 
todas las cláusulas-prueba dan falso como resultado, se ejecuta la cláusula por 
defecto. 
 
 
 
NO
SI
 
PROGRAMACIÓN USER-RPL 
 25
 
Utilizando el diagrama de flujo se así: 
 
1.6.2 Estructuras de Bucle 
Las estructuras de bucle permiten que un programa ejecute una secuencia de 
comandos varias veces. Para especificar por adelantado cuántas veces ha de 
repetirse el bucle, utilice un bucle definido. Para utilizar una prueba que determine sí 
hay que repetir o no el bucle, utilice un bucle indefinido. 
1.6.2.1 START...NEXT 
« … inicio final START cláusula - bucle NEXT… » 
START. . .NEXT ejecuta la secuencia de comandos cláusula-bucle una vez por cada 
número entre inicio y final. La cláusula-bucle siempre se ejecuta al menos una vez. 
START toma dos números (inicio y final) de la pila y los almacena como los valores 
iniciales y final de un contador de bucle. A continuación, se ejecuta la cláusula-bucle. 
NEXT incrementa el contador por 1 y comprueba si su valor es menor que o igual a 
final 
Si no lo es, se vuelve a ejecutar la cláusula-bucle; de lo contrario, se reanuda la 
ejecución con NEXT, que viene a continuación. 
Utilizando el diagrama de flujo se así: 
 
 
 
 
 
+1
n 
N
 
 
 
 
 
PROGRAMACIÓN USER-RPL 
 26
1.6.2.2 START...STEP 
Su sintaxis es: 
« …inico final STAPT cláusula-bucle incremento STEP » 
START. . .STEP ejecuta la secuencia cláusula-bucle de la misma forma que lo hace 
START. . .NEXT, sólo que el programa especifica el valor de incremento para el 
contador, en vez de incrementarlo por 1. La cláusula-bucle se ejecuta siempre al 
START toma dos números (inicio y final) de la pila y los almacena como los valores 
inicial y final del contador de bucle. A continuación se ejecuta la cláusula-bucle STEP 
toma el valor de incremento de la pila e incrementa el contador por ese valor. Si el 
argumento de STEP es una operación algebraica o un nombre, da automáticamente 
como resultado un número. 
El valor del incremento puede ser positivo o negativo. Si es positivo, se vuelve a 
ejecutar el bucle si el contador es menor que o igual a final. Si el valor del incremento 
es negativo, se ejecuta el bucle si el Contador es mayor que o igual a final. De lo 
contrario, se reanuda la ejecución con STEP, que viene a continuación. 
Utilizando el diagrama de flujo se así: 
 
1.6.2.3 FOR...NEXT 
Su sintaxis es: 
« …inicio final FOR contador Cláusula-bucle NEXT… » 
FOR. . .NEXT ejecuta el segmento del programa cláusula-bucle una vez por cada 
número entre início y final, utilizando el contador de la variable local como contador 
de bucle. Puede utilizar esta variable en la cláusula bucle La cláusula-bucle se ejecuta 
siempre al menos una vez 
FOR toma inicio y final de la pila como los valores inicial y final para el contador de 
bucle y crea el contador de la variable local contador de bucle. A continuación se 
ejecuta la cláusula-bucle— el contador puede aparecer dentro de la cláusula-bucle. 
NEXT incrementa el nombre-contador por uno y, a continuación, comprueba si su 
 
 
+i 
n 
N
 
PROGRAMACIÓN USER-RPL 
 27
valor es menor que o igual a final. Si lo es, se repite la cláusula-bucle (con el nuevo 
valor del contador) —de lo contrario, se reanuda la ejecución con NEXT, que viene a 
continuación. Cuando existe el bucle, se elimina el contador. 
Utilizando el diagrama de flujo se así: 
 
1.6.2.4 FOR...STEP 
Su sintaxis es: 
« …inicio final FOR contador cláusula-contador incremento STEP… » 
FOR. . .STEP ejecuta la secuencia cláusula-bucle de la misma forma que lo hace FOR. 
. .NEXT, sólo que el programa especifica el valor del incremento del contador, en vez 
de incrementar por 1. La cláusula-bucle siempre se ejecuta al menos una vez. 
FOR toma inicio y final de la pila como los valores inicial y final del contador de bucle 
y crea el contador de la variable local como contador de bucle. A continuación se 
ejecuta la cláusula-iteración; contador puede aparecer dentro de la cláusula-bucle. 
STEP toma el valor de incremento de la pila e incrementa el contador por ese valor. Si 
elargumento de STEP es una operación algebraica o un nombre, da 
automáticamente como resultado un número. 
El valor de incremento puede ser positivo o negativo. Si el incremento es positivo, se 
vuelve a ejecutar el bucle si el contador es menor que o igual a inicio. Si el 
incremento es negativo, se ejecuta el bucle si el contador es mayor que o igual a 
final. De lo contrario, se elimina el contador y se reanuda la ejecución después de 
STEP. 
Utilizando el diagrama de flujo se así: 
 
 
 
C+i
n 
N
 
 
C+1
n 
N
 
PROGRAMACIÓN USER-RPL 
 28
1.6.2.5 DO...UNTIL...END 
Su sintaxis es: 
« ,,,DO cláusula-bucle UNTIL cláusula-prueba END… » 
DO. . .UNTIL. . .END ejecuta la secuencia cláusula-bucle de forma repetida hasta que 
la cláusula-prueba devuelve un resultado verdadero (distinto a cero). Como la 
cláusula-prueba se ejecuta después de la cláusula-iteración, ésta se ejecuta siempre 
al menos una vez. 
DO inicia la ejecución de la cláusula-bucle. UNTIL marca el final de la cláusula-bucle. 
La cláusula-bucle deja un resultado de prueba en la pila. END retira el resultado de 
prueba de la pila. Si su valor es cero, la cláusula-bucle se vuelve a ejecutar; de lo 
contrario, se reanuda la ejecución después de END. Si el argumento de END es una 
operación algebraica o un nombre, da automáticamente como resultado un número. 
Utilizando el diagrama de flujo se así: 
 
1.6.2.6 WHILE...REPEAT...END 
Su sintaxis es: 
« …WHILE cláusula-prueba REPEAT cláusula-bucle END…» 
WHILE. . .REPEAT. . .END evalúa de forma repetida la cláusula-prueba y ejecuta la 
secuencia de la cláusula-bucle, si la prueba es verdadera. Como la cláusula-prueba se 
ejecuta antes de la cláusula-bucle, ésta no se ejecuta si la prueba es inicialmente 
falsa. 
WHILE inicia la ejecución de la cláusula-prueba, la cual devuelve un resultado de 
prueba a la pila. REPEAT toma el valor de la pila. Si el valor es distinto a cero, 
continúa la ejecución con la cláusula-bucle; de lo contrario, se reanuda la ejecución 
después de END. Si el argumento de REPEAT es una operación algebraica o un 
nombre, da automáticamente como resultado un número. 
 
 
 
NO
SI
 
PROGRAMACIÓN USER-RPL 
 29
Utilizando el diagrama de flujo se así: 
 
1.6.3 Estructuras de Detección de Errores 
La HP 49 reconoce de forma automática gran cantidad de situaciones, como las de 
error y las trata automáticamente como tales en los programas. Un comando con uno 
ó varios argumentos inadecuados produce un error en un programa. Un resultado 
fuera de rango puede producir un error. Una condición de cálculo no válida puede 
producir un error. 
Las estructuras de detección de errores permiten que los programas detecten (ó 
intercepten) las situaciones de error que, de lo contrario, provocarían la suspensión 
de la ejecución del programa. 
1.6.3.1 IFERR...THEN..END 
Su sintaxis es: 
« …IFERR cláusula-detección THEN cláusula-error END… » 
Los comandos de la cláusula-error se ejecutan sólo si se produce un error durante la 
ejecución de la cláusula-detección. Si se produce un error en la cláusula-detección, se 
pasa por alto el error, se salta el resto de la cláusula-detección y la ejecución del 
programa salta a la cláusula- detección. Si no se produce ningún error en la cláusula-
detección, se salta la cláusula-error y se reanuda la ejecución después del comando 
END. 
1.6.3.2 IFERR...THEN...ELSE...END 
Su sintaxis es: 
« …IFERR cláusula-detección THEN cláusula-error ELSE cláusula-normal END ... » 
Los comandos de la cláusula-error se ejecutan sólo si se produce un error durante la 
ejecución de la cláusula-detección. Si se produce un error en la cláusula-detección, se 
pasa por alto el error, se salta el resto de la cláusula-detección y la ejecución del 
programa salta a la cláusula-error. Si no surge ningún error en la cláusula-detección, 
la ejecución salta a la cláusula- normal a la conclusión de la cláusula-detección. 
 
 
NO
SI
 
PROGRAMACIÓN USER-RPL 
 30
2 ASPECTOS TEORICOS 
En esta unidad se trataran generalidades como lo indica el titulo, con las cuales debe 
estar familiarizado el estudiante y egresado de la carrera. 
Estas generalidades tienen como objetivo mostrar la información que servirá en la 
siguiente unidad para realizar programas que ayuden a simplificar cada problema 
que se presente. De igual manera que se a estado trabajando anteriormente se 
comenzara con conceptos básicos. 
Se debe tener en cuenta que no por ser básicos son menos importantes. Los aspectos 
de programación así como los conocimientos adquiridos durante la carrera se 
complementan uno con el otro para desarrollar programas más poderosos y con 
mayor utilidad para todos. 
2.1 TABLA DE AREAS, VOLUMEN Y PERIMETRO. 
Figura Área 
Cuadrado 2aA = 
 
Rectángulo abA = 
 
Trapecio hbaA
2
+
= 
 
Triangulo 
2
))()((
2
cbas
csbsassA
ahA
++
=
−−−=
=
 
 
 
PROGRAMACIÓN USER-RPL 
 31
Circulo 
2
2
785.0
4
dA
dA
=
Π
=
 
 
Figura Volumen 
Cubo 
3
26
aV
aA
=
=
 
 
Cilindro circular recto 
hdV
hrA
2
2
4
2
Π
=
Π=
 
 
Tabla Nº 2 
2.2 TABLA DE PROPIEDADES FISICAS DE VARILLA ESTRUCTURAL. 
Numero Ø Pulgadas Ø mm Area cm2 Peso kg/m 
2 ¼ 6.4 0.32 0.248 
2.5 5/16 7.9 0.49 0.388 
3 3/8 9.5 0.71 0.559 
4 ½ 12.7 1.27 0.997 
5 5/8 15.9 1.98 1.552 
 
PROGRAMACIÓN USER-RPL 
 32
6 ¾ 19.0 2.85 2.235 
7 7/8 22.2 3.88 3.042 
8 1 25.4 5.07 3.973 
10 1 ¼ 31.8 7.92 6.207 
12 1 ½ 38.1 11.4 8.938 
Tabla Nº 3 
2.3 CENTROIDES. 
2.3.1 Introducción 
El peso de un objeto por ejemplo, generalmente es representada por el peso total del 
objeto, aunque la realidad es que debería ser representada como la acción de un 
gran número de pequeños pesos distribuidos en todo el objeto y actuando en cada 
pequeña parte del objeto. Un sistema equivalente a este planteado es ubicar el peso 
total o resultante en un único punto denominado centro de gravedad. 
2.3.2 Definición 
El centro de gravedad es el punto de aplicación de un cuerpo rígido donde al ubicar la 
resultante de las fuerzas los efectos sobre el cuerpo no varían. En el caso de 
superficies homogéneas, el centro de gravedad se sustituye por el centroide del área, 
el cual considera las áreas de los elementos en vez de los pesos y las expresiones 
para determinar las coordenadas centroidales son: 
 
 
 
PROGRAMACIÓN USER-RPL 
 33
2.3.3 Centroide de áreas compuestas 
En gran cantidad de casos una superficie cualquiera puede ser subdividida en una 
serie de figuras comunes (rectángulo, triangulo, circunferencia etc..). Esta forma de 
análisis es útil y permite determinar el centroide de cualquier superficie según: 
 
2.4 MOMENTOS DE INERCIA. 
2.4.1 Introducción 
El centroide representa el punto donde se ubica la resultante del peso de un objeto, 
además esta posición representa un movimiento simple de un objeto al contrario si 
se analiza el objeto completo donde cada punto presenta un movimiento más 
complejo. El centroide es proporcional a la ubicación del área asociada. Por otra 
parte, tenemos una medida denominada momento de inercia que no depende 
solamente de la ubicación del área sino de la distancia hasta un eje dado. 
2.4.2 Definición 
El momento de inercia es una propiedad geométrica de una superficie o área que 
representa la distancia de un área con respecto a un eje dado. Se define como la 
suma de los productos de todas las áreas elementales multiplicadas por el cuadrado 
de las distancias a un eje. Tiene unidades de longitud elevada a la cuatro (longitud4). 
Es importante para el análisis de vigas y columnas, porque el diseño del tamaño de 
estos elementos esta relacionado con el momento de inercia, ya que el momento de 
inercia I define la forma apropiada que debe la sección del elemento estructural. 
(Beer y Johnston, 1977; Parker y Ambrose, 1995) 
Dada la definición de momento de inercia, esta se expresa según lo siguiente: 
 
PROGRAMACIÓN USER-RPL 
 34
 
2.4.3 Centro de masa. 
Es el punto donde puede considerarseque está concentrada toda la masa de un 
cuerpo para estudiar determinados aspectos de su movimiento. El centro de masa de 
una esfera de densidad uniforme está situado en el centro de la esfera. El centro de 
masa de una varilla cilíndrica de densidad uniforme está situado a la mitad de su eje. 
En algunos objetos, el centro de masa puede estar fuera del objeto. 
Para tratar de comprender y calcular el movimiento de un objeto, suele resultar más 
sencillo fijar la atención en el centro de masa. Por ejemplo, si se arroja una varilla al 
aire, ésta se mueve de forma compleja. La varilla se mueve por el aire y al mismo 
tiempo tiende a girar. Si se siguiera el movimiento de un punto situado en el extremo 
de la varilla, su trayectoria sería muy complicada. Pero si se sigue el movimiento del 
centro de masa de la varilla, se comprueba que su trayectoria es una parábola que 
puede describirse matemáticamente con facilidad. El complicado movimiento del 
extremo de la varilla puede describirse como una combinación de su rotación en 
torno al centro de masa y del movimiento parabólico de éste. El centro de masa 
también puede ser un concepto útil cuando se estudia el movimiento de sistemas 
complicados que están formados por muchos objetos, por ejemplo, el movimiento de 
los planetas alrededor del Sol. 
El momento de inercia de la masa de un cuerpo, con respecto a un eje que pase por C 
de la suma de los productos de los elementos de masa y el cuadrado de su distancia 
al eje de rotación C. 
2.4.4 Teorema de Steiner ó de los ejes paralelos. 
El teorema de Steiner es una fórmula que nos permite calcular el momento de inercia 
de un sólido rígido respecto de un eje de rotación que pasa por un punto O, cuando 
conocemos el momento de inercia respecto a un eje paralelo al anterior y que pasa 
por el centro de masas. 
El momento de inercia del sólido respecto de un eje que pasa por O es 
 
El momento de inercia respecto de un eje que pasa por C es 
 
Para relacionar IO e IC hay que relacionar ri y Ri. 
 
PROGRAMACIÓN USER-RPL 
 35
 
El término intermedio en el segundo miembro es cero ya que obtenemos la posición 
xC del centro de masa desde el centro de masa. 
Ejemplo 
 
Sea una varilla de masa M y longitud L, que tiene dos esferas de masa m y radio r 
simétricamente dispuestas a una distancia d del eje de rotación que es perpendicular 
a la varilla y pasa por el punto medio de la misma. 
Si el momento de inercia de una masa respecto a un eje, que pasa por su centro de 
gravedad C, es jc entonces el momento de inercia j con respecto a un eje paralelo al 
anterior y que por O, situado a una distancia jc, es: 
j=jc+ml2 
Momento de inercia Forma de la seccion transversal 
12
3bh
 
 
 
PROGRAMACIÓN USER-RPL 
 36
64
4dΠ
 
 
)(
64
44 dD −Π 
 
Tabla Nº 4 
2.5 RELACIONES GEOMETRICAS DE SECCIONES TRANSVERSALES. 
Area 
hidráulica. A 
Perímetro mojado. 
P 
Radio 
hidráulico. 
R 
Forma de la sección 
transversal 
byA = ybP 2+= yb
byR
2+
=
 
 
yzybA )( += 212 zybP ++= 212
)(
zyb
yzybR
++
+
=
 
 
 
PROGRAMACIÓN USER-RPL 
 37
2zyA = 
212 zyP += 212 z
zyR
+
=
 
 
 
 
PROGRAMACIÓN USER-RPL 
 1
 
 
 
 
 
 
 
3 APLICACIONES 
Por fin llego el momento de darle aplicación a todo lo aprendido hasta este 
momento, es esta unidad se tomaran cosas vistas en la unidad anterior para realizar 
uno ó mas programas de acuerdo a la clase de presentación que se le quiera dar. 
Se auxiliara de los diagramas de flujo además de una explicación paso a paso de la 
realización de cado programa y de imágenes como las ya utilizadas anteriormente. 
En ocasiones se aprende mas de los ejercicios, ya realizados que de solo una 
explicación de elementos, tal vez se aprenda mas en esta unidad que en las pasadas 
ya que es va a trabajar de una manera mas desglosada, para que no se tengan 
dudas, pero si se tiene alguna se puede remitir a las bases (las unidades anteriores). 
Los programas que se desarrollaran de otra manera, ya que eso depende de la 
persona que los compila. Pero es recomendable que se siga un método básico como 
el del diagrama de flujo. 
Bueno se comenzara con un ejemplo demasiado “sencillo y pequeño” calcular el área 
de un cuadrado. 
3.1 ÁREA DE UN CUADRADO. 
De acuerdo a la tabla Nº 2. 
 
Se inicia el programa. 
Se pide la primera entrada. 
Se tiene que realizar la operación. 
Se debe mostrar el resultado. 
Fin 
ACUA
A=?
a2
A=
 
PROGRAMACIÓN USER-RPL 
 2
Ya con el diagrama realizado, se tiene una guía del camino a recorrer. 
Bueno a continuación se compilara el programa en modo RPN. 
« Se abre un programa nuevo. 
" Utilizando corchetes se pedirá una entrada. 
Introducir el valor de a Mensaje a mostrar. 
" 
" " Necesarios en el comando INPUT. 
INPUT Comando a utilizar. 
OBJ→ Extrae el valor de la cadena. 
2 ^ Se realizan la operación correspondiente. 
» Fin del programa. 
ACAU Nombre con el cual se almacenera. 
STO comando de almacenamiento. 
Ahora como se ve en la hp. 
 
 
Pues bastante simple no?... 
Ahora se continuara con otro ejercicio simple, el área 
de un rectángulo, en este se pedirán dos valores. 
 
 
 
PROGRAMACIÓN USER-RPL 
 3
3.2 ÁREA DE UN RECTANGULO. 
 
 Se abre el programa. 
 Se piden las dos incógnitas. 
 Se realiza la multiplicación. 
 Mostrar el resultado. 
 Fin 
 
 
« Se abre un programa nuevo. 
" Utilizando corchetes se pedirá una entrada. 
Introducir el valor de a y b Mensaje a mostrar.11 
" 
" " Necesarios en el comando INPUT. 
INPUT Comando a utilizar. 
OBJ→ Extrae el valor de la cadena. 
* Se realizan la operación correspondiente. 
» Fin del programa. 
AREC Nombre con el cual se almacenera. 
STO comando de almacenamiento. 
 
11 Cuando se introduzca este valor se debe dejar un espacio entre valor y valor 
AREC
a=? 
b=? 
a*b 
A=
 
PROGRAMACIÓN USER-RPL 
 4
 
 
Ya entendido lo básico se realizara un ejercicio, en el cual se introduzcan las variables 
aparte. Y dándole nombre a las variables, 
Para ello se utilizara un programa dentro de otro a continuación el como. 
Comenzamos con el diagrama de flujo. 
3.3 ÁREA DE UN TRAPECIO. 
 
Inicio del programa. 
Se pide el primer valor. 
 
Se pide el segundo valor. 
 
Se pide el tercero. 
Se realiza la operación para el área. 
 
Se muestra el resultado. 
Fin. 
ATRA
h=? 
hba
2
+
A=x 
a=? 
b=? 
 
PROGRAMACIÓN USER-RPL 
 5
« Se abre el programa. 
"h" Etiqueta a mostrar. 
" " Forma la cadena. 
INPUT Comando de entrada. 
OBJ → Separador de la cadena, anterior para se parar 
el valor de h 
"a" Etiqueta a mostrar. 
" " Formador de cadena. 
INPUT Entrada para a. 
OBJ→ Se separa de nuevo. 
"b" Etiqueta para el valor de b. 
" " Se repite lo anterior. 
INPUT De igual manera. 
OBJ→ Sirve para crear una variable local. 
→ h a b Como se separaron los valores de las cadenas, 
los valores de la pila toman los nombres 
correspondientes. 
« Se abren otros delimitadores, de programa 
para realizar operaciones con las variables 
locales. 
a b + 2 / h * Se realizan las operaciones necesarias para el 
área. 
» Se cierra el delimitador de la subrutina. 
» Se cierra el del programa principal. 
ATRP Se le da nombre al programa. 
STO Se almacena. 
 
PROGRAMACIÓN USER-RPL 
 6
Pero como se compila? De la misma forma en la que se a estado trabajando hasta 
ahora. 
 
 
 
Como fluye el mismo. 
 
 
Por ultimo en este apartado de áreas, se realizara un programa que calcule el área de 
un cilindro muy útil para el volumen de concreto a dosificar para unas muestras.PROGRAMACIÓN USER-RPL 
 7
3.4 ÁREA DE UN CILINDRO. 
 
Inicio 
Se pide la primera incógnita. 
 
Se pide la segunda incógnita. 
 
Se realizan las operaciones correspondientes. 
 
 
 
 Después del las operaciones se pide la primera 
 salida. 
 Y subsecuentemente se pide la segunda salida de
 datos. 
 
 Fin 
 
A continuación la explicación. 
« Se abre el programa. 
”INTRODUCE TUS DATOS” Titulo a mostrar. 
{ Se comienza con el formato INFORM. 
"RADIO" Nombre de la primera incógnita. 
"DIÁMETRO" Nombre de la segunda incógnita. 
r=?
h=?
hdv
hrA
2
2
4
2
Π
=
Π=
A=x 
v=x 
 
PROGRAMACIÓN USER-RPL 
 8
"ALTURA" Nombre de la tercera incógnita 
 } Se cierra la primera parte. 
{2 2} Se decide que se tendían dos columnas. 
{ } Delimitadores necesarios para el comando. 
{ } Delimitadores necesarios para el comando. 
INFORM Comando a utilizar. 
DROP El comando INFORM deja un residuo. 
OBJ→ Se separan los objetos dentro del delimitador 
utilizado por INFORM. 
DROP El comando OBJ→ deja un residuo. 
→ R D H Se les da nombre a las entradas anteriores. 
« Se abre otro programa para trabajar con las 
variables locales generadas anteriormente. 
' Se abre el delimitador de operación algebraica. 
2*π *R^2*H Se realiza la operación de área. 
' Se cierra el delimitador. 
→ NUM Con esto se evalúa la operación anterior. 
3 RND Se quiere que el resultado se redondee a 3 
dígitos. 
A STO Se almacena el resultado anterior con el 
nombre A. 
' Se tendrá que abrir otro delimitador para el 
volumen. 
(π /4)*D^2*H Se realiza la operación correspondiente para el 
volumen. 
' Se cierra el delimitador. 
 
PROGRAMACIÓN USER-RPL 
 9
→ NUM 
3 RND 
V STO 
"VOLUMEN " Se creara una etiqueta para utilizar DISP. 
V Se requiere el nombre de la variable a mostrar. 
+ Con esto se une la etiqueta con la variable V. 
CLLCD Se limpia la pila. 
4 Es el lugar en el que se mostrara la etiqueta. 
DISP Comando a utilizar. 
"AREA " Se repiten los mismos pasos. 
A 
+ 
3 En este caso se mostrara en la línea 3. 
DISP Comando a utilizar. 
0 Para utilizar WAIT se utilizara 0. 
WAIT 
DROP Con este comando borramos el residuo dejado 
por WAIT. 
{A V } Se purgaran las variables A y V. 
PURGE 
» Se cierra la subrutina. 
» Se cierra el programa. 
CILINDRO Se le da nombre al programa. 
 
PROGRAMACIÓN USER-RPL 
 10
STO Y finalmente se almacena. 
Ahora como se ve ya compilado en la HP. 
 
Pues mucha información no? Pero más adelante se utilizara una cantidad mayor 
información, para los programas posteriores. 
¿Pero como se ve? 
 
 
Para tener mejor apreciación de cómo fluye el programa se realizara un DBUG, pero 
en este caso no se puede realizar de la forma usual porque no se puede realizar un 
DBUG en los comandos de entrada. 
Para lógralo se utilizara el comando HALT y CONT dentro del programa. 
Que da de la siguiente manera: 
 
 
 
 
PROGRAMACIÓN USER-RPL 
 11
Se corre el programa como normalmente se hace. 
Y se detiene en la etiqueta “INTRODUCE TUS DATOS” 
y en la parte superior derecha aparece HLT lo cual 
indica que el programa esta detenido, se le da 
continuidad con CONT ( ). 
Aparece la pantalla de INFORM, se introducen los 
valores requeridos. 
 
 
Aquí se presenta la lista creada por INFORM y el 
residuo dejado por el mismo el cual se elimina con 
DROP se presiona la secuencia para CONT. 
 
Al separar la lista con OBJ→ deja de nuevo un 
residuo para el programa el cual no se le dará una 
utilidad en este programa así que se borra con DROP 
los valores 1,2 y 3 son los valores que tomaran las 
variables locales R ,D y H respectivamente se 
continua con CONT. 
Una vez creadas las variables locales se muestran las 
operaciones que se realizaran con las variables. 
 
 
Aquí ya es evaluó la operación algebraica con NUM y 
redondeado (aunque también se pudo haber 
compilado en modo (RPN). 
 
Sucede lo mismo con la formula del volumen. 
 
 
PROGRAMACIÓN USER-RPL 
 12
 
Igual se muestra el resultado ya redondeado. 
 
 
Aquí se muestra como queda unida la etiqueta 
“VOLUMEN “ y la variable V. 
 
 
Ya utilizado CLLCD queda limpia la pila y se 
muestran ÁREA en la línea 3 y VOLUMEN en la 4. 
 
 
De igual manera se tiene un residuo por utilizar WAIT 
el cual se eliminara con DROP y se purgaran A y V. 
 
 
Fin. 
Con esto queda mas clara la utilización de los 
comandos anteriores.12 
Ahora se realizara un programa con el cual calculara 
el momento de inercia en el eje X., utilizando el método de los ejes paralelos., aquí se 
utilizara el comando CHOOSE pero cuando tengamos ya realizados los programas a 
utilizar, ya que CHOOSE servirá para elegir con que sección se quiere trabajar. 
Ya teniendo bien claro los ejercicios anteriores se realizara este programa el cual es 
amplio y el cual requiere de especial atención en los pasos a seguir y además de 
recordar que ciertos comandos dejan residuos que no siempre se utilizaban. 
 
 
12 Se hará este procedimiento regularmente en los siguientes programas para su mejor entendimiento ya que 
es de gran utilidad. 
 
PROGRAMACIÓN USER-RPL 
 13
H=? 
B=? 
b=? 
h=? 
SE REALIZAN 
LAS 
OPERACIONES 
CORRESPONDIE
NTES PARA LOS 
CALCULOS DE 
INERCIA 
ŷ= x 
x= x 
IXX=x 
3.5 MOMENTOS DE INERCIA. 
Sección “L” 
 
 
 Inicial el programa. 
 
 Se piden las variables. 
 
 
 
 Se realizan las operaciones correspondientes 
 al problema. 
 
 
 Se anuncias los resultados 
 
 
 
 Finaliza el programa 
 
 
A simple vista parece un programa fácil; lo es, si es que se tienen las bases para 
saber las operaciones que involucran el programa. 
Además se van a utilizar el comando →TAG, para la presentación de los resultados y 
una ayuda para introducir el dato correspondiente INFORM. 
 
PROGRAMACIÓN USER-RPL 
 14
« Se comienza el programa. 
"MEDIDAS DE LA SECCION" Como se va a utilizar INFORM 
se pone el titulo. 
{ { "H" "ALTURA TOTAL" } { "B" "BASE TOTAL" } Datos mas la información de 
ayuda. 
 { "b" "BASE MENOR" } { "h" "ALTURA MENOR" } } 
 { 2 2 } { } { } Componentes necesarios para 
el comando. 
 INFORM Comando a utilizar. 
 DROP Con esto se elimina el residuo 
el cual no servirá en este 
programa. 
 OBJ→ DROP Se separan los componentes y 
queda un residuo el cual se 
elimina también. 
→H1 B B1 H2 Se almacenan los valores 
introducidos a las variables 
requeridas. 
« Se abre un subprograma para 
las operaciones. 
 H1 B1 * A1 STO Se comienza a trabajar con las 
variables en este caso para el 
área. 
 B B1 - B2 STO 
 B2 H2 * A2 STO 
 A1 H1 2 / * A2 H2 2 / * + A1 A2 + / Aquí se realizan las 
operaciones para el calculo del 
centroide. 
 EVAL YT STO Ya tenido el resultado se 
almacena con el nombre YT 
ósea “y testada”. 
 
PROGRAMACIÓN USER-RPL 
 15
 A1 B1 2 / * A2 B1 B2 2 / + * + A1 A2 + / 
 EVAL XT STO De igual manea que en el caso 
anterior pero aquí para “x”. 
 B1 H1 3 ^ * 12 / A1 YT H1 2 / - 2 ^ * + Se calcula el momento con 
respecto al eje x. 
 B2 H2 3 ^ * 12 / A2 YT H2 2 / - 2 ^ * + + 
 EVAL IX STO Se evalúa el argumento y se 
almacena con el nombre IX 
“momento de inercia con 
respecto al eje x. 
 CLLCD Se limpia la pila. 
 YT "y" →TAG 3 DISP Se muestra el resultado en la 
fila 3 de la pila. 
 XT "x" →TAG 5 DISP 
 IX "IXX" →TAG 7 DISP 
 "PROPIEDADES FISICAS" 
 1 DISP 
 0 WAIT Se quita la pantalla creada 
presionando una tecla. 
 DROP De igual manera queda un 
residuo y se elimina. 
 { A1 A2 B2 YT XT IX } Se enlistan en una llave las 
variables a eliminar. 
 PURGE Y se purgan. 
» » Se cierran los dos programas 
creados. 
MIL STO Y se almacena. 
Así es como queda compilado en la graficadora, 
 
PROGRAMACIÓN USER-RPL 
 16
 
 
 
¿Y como corre? 
 
 
 Se puede hacer un DBUG si se quiere detener en 
cualquier punto el programa como en el programa 
anterior, si es que se tiene algunaduda de cómo 
sigue los pasos introducidos, el programa. 
 
Ahora se realizara un programa para calcular los momentos de inercia en una 
sección I, además que si se omiten las medidas inferiores calcula el momento de 
inercia para una sección T, en este programa se introducirán de manera diferente los 
datos; solo para tener mas opciones de trabajo aunque se tiene mejor presentación 
con el comando INFORM y también se auxiliara con un grafico el cual ayuda 
considerablemente en la identificación de incógnitas. 
« Se abre el delimitador. 
FTI Esta variable es un grafico creado 
anteriormente. 
→LCD Con este invoca la variable a la pila. 
 
PROGRAMACIÓN USER-RPL 
 17
0 WAIT Desaparece el grafico hasta que se 
presione una tecla. 
DROP Se elimina el residuo. 
"MEDIDAS DE LA SECCION" Se pone una etiqueta. 
{ Se abre una llave para la otra forma de 
ingresar los datos. 
":B1: Aquí es donde se anuncia los datos a 
introducir todo dentro de “ ” e 
individualmente en :: 
:B2: 
:B3: 
:H: 
:H1: 
:H2:" En este caso deben de ir en forma vertical 
ya que se se ponen en forma horizontal se 
verán amontonados. 
{1 0 } } Se da la posición del puntero, y se cierra la 
llave. 
INPUT Se utiliza INPUT. 
OBJ→ → B1 B2 B3 H H1 H2 Se separan los objetos creados y se 
almacenan a las variables deseadas. 
« Se abre una sub-rutina. 
B1 H1 * A1 STO 
B2 H2 * A2 STO 
'H-(H1+H2' EVAL H3 STO Se calcula el área y la altura inferior y se 
almacena. 
B3 H3 * A3 STO Se calcula el ultima área. 
'(((A1*(H3+H2+H1/3)+(A2*(H3+H2/2)) 
 
PROGRAMACIÓN USER-RPL 
 18
+(A3*(H3/2)))/(A1+A2+A3)' 
EVAL YT STO Se calcula “y” y se almacena como YT. 
'((A1*(B1/2))+(A2*(B1/2))+(A3*(B1/2))) 
/(A1+A2+A3)' De igual manera pero XT. 
EVAL XT STO 
'B3*H3^3/12+A3*(YT-H3/2)^2+B2* 
H2^3/12+A2*(YT-(H2/2+H3))^2+B1* 
H1^3/12+A1*(YT-(H-H1/2))^2' 
EVAL IX STO Se calcula el momento en “x” y se 
almacena. 
CLLCD Se limpia la pila para presentación de los 
datos calculados. 
YT "ý" →TAG 3 DISP 
XT "�" →TAG 5 DISP 
IX "IXX" →TAG 7 DISP 
"PROPIEDADES FISICAS" 
1 DISP Se muestran los rótulos en cada línea 
solicitada. 
0 WAIT DROP Se espera hasta presionar una tecla y se 
elimina el residuo. 
{ A1 A2 A3 H3 YT XT IX } Se enuncian las variables a purgar. 
PURGE Comando para purgar. 
» 
» Se cierran los delimitadores de programa. 
MIT STO Y es almacena con el nombre deseado. 
 
PROGRAMACIÓN USER-RPL 
 19
 
Queda de la siguiente manera: 
Grafico de ayuda. 
Aquí es donde se solicita la entrada de datos, pero 
por desgracia no se da mas información solo la de la 
primera figura, pero solo es otra opción de cómo 
introducir datos. 
Para introducir los valores deseados se tiene que ir 
bajando el puntero con las teclas de dirección, ya 
que si de pulsa ENTER antes de introducir todos los 
datos crea un error. 
 
 
Por ultimo se tienen los valores buscados. 
Ya que es una estructura nueva se realizara un 
DBUG. 
 
 
Se pide aparezca le grafico FTI. Comando de espera de una tecla. 
 
 
PROGRAMACIÓN USER-RPL 
 20
Entrada de datos. Forma de acomodo. 
 
Se separan los objetos. Y se almacenan. 
 
Se evalúa un argumento. Y se obtiene un resultado. 
 
Es el valor de IX. Es como se mostrara el valor x. 
 
Un residuo dejado por TAG. Variables a purgar. 
 
Y se purga. 
Ahora se conjugaran los dos programas en uno solo aquí con el comando CHOOSE en 
realidad es muy fácil en este caso. 
 
PROGRAMACIÓN USER-RPL 
 21
 
« Se abre un programa. 
" TIPO DE SECCION" Titulo a mostrar. 
{ Se abre una llave general. 
{" SECCION L" Se abre otra la cual contiene el titulo de la 
opción entre “ “. 
MIL} Como residuo queremos que deje MIL el 
programa del Momento de Inercia para una 
sección L. 
{" SECCION T o I" MIT } De igual manera pero para MIT. 
} Se cierra la llave general. 
1 Posición entre las opciones. 
CLLCD Se limpia la pila antes de mostrar las 
opciones. 
CHOOSE Se muestran las opciones con este 
comando. 
DROP Se elimina uno de los residuos de CHOOSE. 
EVAL Se evalúa el primer residuo ya sea MIL ò 
MIT dependiendo de la opción elegida. 
» Finaliza el programa 
ESEC Se almacena como Elección de Sección. 
 
Una vez elegida la opción corre el programa según la opción. 
 
PROGRAMACIÓN USER-RPL 
 22
 
 
Se muestran las opciones a elegir. Una vez seleccionada la opción 
deja dos residuos uno el que se 
puso intencionalmente y otro 
dejado por el mismo comando. 
 
Se elimina el residuo y solo queda MIL Corre el programa MIL. 
Conviene tener estos programas en una sola librería además que tienen que estar 
juntos. 
Se realiza un paréntesis para mostrar el como se puede realizar esto. 
 
Se ingresa a FILES. Una vez adentro se escoge NEW. 
 
PROGRAMACIÓN USER-RPL 
 23
 
Se palomea la opción de librería primero Una vez creada, queda asi. 
 
Se seleccionan los programas y se ejecuto MOVE y se procede a moverlos. 
 
Ya movidos y regresando a la pila principal queda de la siguiente manera. 
 
Para encontrar el programa se ingresa a MOMEN. 
Se continuara con otra aplicación con lo correspondiente a la tala 2.5 referente a 
hidráulica de canales, de igual manera se auxiliara de gráficos los cuales harán mas 
fácil la introducción de datos. 
3.6 PROPIEDADES FISICAS DE CANALES. 
Se utilizara una estructura similar a la anterior, solo que en la hidráulica de canales 
se necesita saber alguna de las incógnitas que intervienen en el calculo, por ejemplo 
la rugosidad, el tirante, el tirante critico, la pendiente en fin dependiendo los datos 
con los cual se tenga o como se quiera diseñar el canal, por lo cual se utilizara el 
comando SOLVE, con el cual se despejara de la ecuación principal, las incógnitas 
requeridas. 
 
PROGRAMACIÓN USER-RPL 
 24
« Se abren los delimitadores del programa. 
TRAPECIO Se nombra al grafico. 
→LCD Se trae a la pila. 
0 WAIT Se espera hasta que se presione una tecla. 
DROP Se borra el residuo dejado. 
"INTRODUCIR DATOS" Etiqueta a utilizar (Nuevamente se utilizara 
el comando INFORM, por cuestiones de 
presentación. 
{ 
{ "b" "BASE" } 
{ "Z" "PENDIENTE LATERAL" } 
{ "y" "TIRANTE" } 
} 
1 
{ } 
{ } 
INFORM 
DROP Se borra el residuo. 
OBJ→ Se superan. 
DROP Nuevamente se borra el residuo. 
→ B Z Y Se almacenan las variables locales. 
« Se abre una subrutina. 
'((B+Z)*Y)/((B+2*Y)*√(1+Z^2)' Se hace el calculo para el radio hidráulico. 
EVAL →NUM Se evalúa y se convierte en numero. 
 
PROGRAMACIÓN USER-RPL 
 25
3 RND Se redondea a 3 dígitos después del punto 
decimal. 
R STO Se almacena. 
"R= " R + MSGBOX Se utiliza el comando MSGBOX para 
mostrar el resultado. 
{ R } PURGE Se purgan las variables globales. 
» 
» RHT STO Se almacena con el nombre deseado. 
Como queda 
 
 
 
 
Se parece demasiado a los ejercicios anteriores, pero cuando se quiere hacer un 
diseño de un canal y se quieren conocer ciertas incógnitas, lo habitual seria hacer un 
programa por cada variable a obtener pero utilizando el entorno SOLVE se puede 
hacer solo ingresando las ecuaciones que intervienen y la graficadora encuentra el 
valor deseado. 
« Se abren los delimitadores. 
TRAPECIO Se nombra al grafico de ayuda. 
→LCD Se trae a la pila. 
 
PROGRAMACIÓN USER-RPL 
 26
0 WAIT Permanece hasta que presione una tecla. 
DROP Se borra el residuo. 
'Q=V*A' Es la formula principal. 
EQ STO Se almacena con el nombre EQ.13 
'(b+z*y)*y' A STO De igual maneras las otras variables que 
intervienen en el calculo se almacenan con 
su nombre de cadena. 
'b+2*y*ƒ(1+z^2)' P STO 
'A/P' RH STO 
'1/n*RH^(2/3)*S^.5' V STO 
72.3 KEYEVAL Se evalúa la tecla 72.3 con el comando 
KEYEVAL14. 
{ Q S y z b n V RH P A EQ} Variables que intervienen en el programa. 
PURGE Se purgan. 
» DTRAP STO Se cierra el programa y se almacena con el 
nombre DTRAP. 
Es la pila de ayuda la cual sirve para saber las 
incógnitas que intervienen.Hasta este punto se hace interactivo el programa ya 
que se tiene que seleccionar la primera opción 
SOLVE EQUATION15. 
 
 
13 Es muy importante nombrar la formula con el nombre EQ ya que asi lo requiere la función. 
14 Lo que se hizo aquí es un atajo, porque la función a utilizar se la de solución de ecuaciones que es 
DERECHA+7 
15 Por desgracia solo hasta aquí se puede hacer automático el proceso, pero vale la pena ya que no se tiene que 
hacer ningún despeje para cada valor deseado. 
 
PROGRAMACIÓN USER-RPL 
 27
Una vez ya dentro de la opción seleccionada aparece 
ya la ecuación del gasto y las demás variables a 
utilizar. 
 
 
 
Solo se tiene que introducir los valores requeridos y 
posicionarse por último en la variable con el valor a 
calcular, y presionar SOLVE. 
 
 
Una vez calculo el valor se presiona . 
 
 
Y aparece en la pila el valor del gasto16. 
 
 
De igual manera se pueden saber los valores de las demás variables si es que se 
tienen los demás valores. 
 
 
 
16 Cuando se sale del entorno SOLVE aparecen todas variables en la parte del menú, pero se eliminaron en el 
programa con PURGE ya que son valores conocidos y la única que interesaba esta en la pila. 
 
PROGRAMACIÓN USER-RPL 
 64
CONCLUSIONES 
 
 Este trabajo es una herramienta de apoyo accesible para el Ingeniero, debido 
principalmente a que en su formación no se enfatiza la programación de 
soluciones iterativas. 
 
 La compilación de programas se hace versátil, compatible y posible de 
realizarse en los editores para PC y de ahí enviarla a la graficadora y viceversa, 
lo que da grandes ventajas enviarlo a la calculadora de bolsillo. 
 
 La programación es una herramienta para solucionar problemas de tipo 
iterativo o mecanizados. 
 
 No es necesario aprenderse los procedimientos realizados en este trabajo, solo 
se debe tener en cuenta la sintaxis y de esta forma lograr conseguir un toque 
personal en la programación y caminos diferentes pero que llegan al mismo 
resultado. 
 
 Los casos y procedimientos expuestos, son tipo y funcionan para valores 
diferentes, sin embargo, son susceptibles de ampliarse o reducirse, si el 
problema lo amerita. 
 
 Con la información aquí presentada se le puede dar seguimiento a este trabajo 
y contar con una gran cantidad de programas, para la solución de problemas 
prácticos, además de contribuir a que las personas se interesen en programar 
en este lenguaje. 
 
 
 
 
 
 
PROGRAMACIÓN USER-RPL 
 65
A. ANEXO 
En este capitulo se trataran cosas relacionadas con la PC y la calculadora, ya que 
este tipo de graficadoras pueden tener comunicación con las PC, ya sean transferir 
programas, plotear, servir de control remoto, de agenda etc. 
B. VINCULACIÓN CON LA PC. 
Abundan los programas en Internet17, con los que se pueden comunicar los dos 
hardwares, uno de ellos el HPComm XX, el cual se incluye en este trabajo. 
 
El cual cuando se instala pide el puerto en el 
que va a estar conectado el cable, ya sea 
COM4 u otro, las demas opciones se dan por 
defecto. 
Cuando se de OK en la graficadora se tiene que 
presionar para te poner la 
graficadora en moda conexión y aparece en la 
pila AWAITING SERVER Cmb. 
 
 
 
 
17 www.hpcalc.org/ 
 
PROGRAMACIÓN USER-RPL 
 66
Si es que se haya configurado mal aparece un cuadro en el cual dice que se tuvo un 
fallo. 
 
Si no se conecta tal ves el problema es que nos se tiene dado de alta el MODEM, solo 
se tiene que ir al PANEL DE CONTROL de Windows y OPCIONES DE TELEFONO Y 
MODEM y AGREGAR. 
Una ves en la siguiente ventana escoger un moden estándar y de velocidad de 
9600ps. 
 
Dar clic en siguiente para que lo de de alta, de acuerdo a los disponibles. 
 
PROGRAMACIÓN USER-RPL 
 67
Aquí se escoge entre los disponible en este caso el COM1; se selecciona y ya se 
cuenta con 2 puertos COM solo queda finalizar el asistente, en la configuración del 
HPComm se le pone como puerto de coneccion COM1. 
 
 
 
 
PROGRAMACIÓN USER-RPL 
 68
Una vez mas se presiona 
Y en este momento se van palomeando las opciones automáticamente. 
Y se ve el contenido de la graficadora y de la PC, solo se copia y pega los archivos que 
se quieran mandar de la PC a la HP y viceversa.18 
 
 
18 Este procedimiento se sigue cuando se quiere subir programas que se encuentran en el Internet.( 
http://www.hpcalc.org/) 
 
PROGRAMACIÓN USER-RPL 
 69
C. EDITORES 
Otro es el HPUserEdit 4, el cual sirve para comunicación, edición de programas, para 
hacer DBUGs y ahorrar pasos en la compilación de programas además que tiene su 
propia graficadora HP 49 integrada. 
El cual se anexa en este trabajo. 
 
La interfase es muy simple. 
 
Contenido 
1.-Esta opción permite introducir delimitadores de acuerdo al tipo de objeto a 
introducir entre ellos. 
2.-Es el área donde se compilan los programas o texto que se quiera enviar a la 
calculadora. 
3.- Presionando este icono aparece una graficadora hp 49. 
4.-Son atajos para compilación de programas. 
5.-Igual que el anterior pero este es para los CHARS. 
6.-Son comandos dándole doble clic aparece en el área de compilado. 
 
 
PROGRAMACIÓN USER-RPL 
 70
 
Esta es la graficadora con la que se 
pueden utilizar todos los comandos como 
se hace normalmente con la original. 
En la opción FILE 
Se tiene un menú de opciones de 
configuración para la comunicación entre 
este y la original. 
 1.-Es donde se escoge el puerto de 
comunicación. 
 
 
 
 
 
 
 
 
Por ejemplo se realiza el 
compilara el último programa 
que se realizo en el tema 
3.6. 
Una vez compilado el 
programa, se corre con el 
icono y lo manda 
directamente a la graficadora 
virtual o con el icono lo 
hace paso a paso como un 
DBUG. 
 
PROGRAMACIÓN USER-RPL 
 71
 
Una vez en la calculadora se manda a la 
graficadora física o abreves.19 
De igual manera se integra este programa en este 
trabajo así como otros además de los manuales y 
guía de usuario, los cuales ayudaran al interesado 
en este tema como realizar sus programas en 
USER RPL, iguales o mucho mejores. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19 Este progrma viene con su ayuda para ver todas las opciones que ofrece el mismo y además es de libre uso. 
 
PROGRAMACIÓN USER-RPL 
 72
BIBLIOGRAFIA 
• HEWLETT-PACKARD, MANUAL DEL PROPIETARIO HP-32S CALCULADORA 
CIENTIFICA RPN 
 
• GUIA DE USUARIO DE LA CALCULADORA GRAFICA SERIE HP-48G 
HEWLETT-PACKARD 
• GUIA DE USUARIO DE LA CALCULADORA GRAFICA SERIE HP-49G 
HEWLETT-PACKARD 
• GUIA DE USUARIO AVANZADO DE LA CALCULADORA GRAFICA SERIE HP-49G 
HEWLETT-PACKARD 
• GUIA DE USUARIO DE LA CALCULADORA GRAFICA SERIE HP-50G 
HEWLETT-PACKARD 
• GUIA DE USUARIO AVANZADO DE LA CALCULADORA GRAFICA SERIE HP-50G 
HEWLETT-PACKARD 
• GUIA DE HP49G POCKET 
HEWLETT-PACKARD 
• http://www.hpcalc.org/ 
• http://www.hpcalc.org/hp49/programming/entries/ 
• http://www.angelfire.com/ok/hp48g/ 
• ROCHA , ARTURO , “HIDRAULICA DE TUBERIAS Y CANALES”, Editorial , País, 
Año. 
• KURT GIECK, “Manual de Fórmulas Técnicas” , Editorial CONALEP, México 
1972. 
 
 
	Portada
	Índice
	Introducción
	1. Introducción a la Programación 
	2. Aspectos Teóricos 
	3. Aplicaciones 
	Conclusiones
	Anexos
	Bibliografía

Continuar navegando