Descarga la aplicación para disfrutar aún más
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
Compartir