SlideShare una empresa de Scribd logo
1 de 40
MANUAL DE PROGRAMACIONHP-PRIME
P1
MANUAL DE
PROGRAMACION
ESCRIBIR EN PANTALLA
LENGUAJE DE PROGRAMACIÓN HP-PPL
TIPO DE PROGRAMACION PROGRAMACION MODULAR
ESCRIB IR EN PANTALLA
 USANDO VARIABLES LOCALES
 USANDO VARIABLES GLOBALES
 RECOBRAR PANTALLA DE GRAFICOS
 BORRAR PANTALLA DE GRAFICOS
 ENTRE OTROS…….
U
S
E
R
-
R
P
L
CONTACTAR WHATSAPP:
+51 924179935
MANUAL DE PROGRAMACIONHP-PRIME
FACEBOOK: leo suca yunga
FUNDAMENTOS
DE PROGRAMACIÓN
INTRODUCCION
Este capítulo le introduce a la metodología a seguir para la resolución de problemas con
la calculadora HP-PRIME y con un lenguaje de programación como HP Prime
Programming Language (HPPP).
La resolución de un problema con una calculadora HP-PRIME se hace escribiendo un
programa, que exige al menos los siguientes pasos:
1.-Definición o análisis del problema.
2.- Diseño del algoritmo.
3.-Transformación del algoritmo en un programa.
4.- Ejecución y validación del programa.
Uno de los objetivos fundamentales de este libro es el aprendizaje y diseño de los
algoritmos. Este capítulo introduce al lector en el concepto de algoritmo y de programa,
así como las herramientas que permiten «dialogar» al usuario con la máquina: los
lenguajes de programación.
1.1 Fases de creación de un programa
El proceso de resolución de problemas en LA CALCULADORA HP-PRIME conduce a la escritura
de un programa y su ejecución. Las fases en el desarrollo de un programa pueden resumirse de la
siguiente forma:
1. Analizar el problema consiste en conocer perfectamente en qué consiste y qué resultados se
desean obtener.
2. Planificación de la resolución del problema, dividiéndolo, sies complicado, en una secuencia de
etapas más simples. Esta fase se lleva a cabo EN UN PAPEL, estableciendo lo más claramente posible
la finalidad de cada etapa, los datos que se necesitan de entrada, los datos que producirán en salida,
los algoritmos (ver la Sección 5.2) que se utilizaran. etc.
3. Edición del código fuente, es decir, escritura del mismo utilizando un editor de textos simple (sin
formato) y un lenguaje de programación.
4. Compilación y ejecución del programa al lenguaje máquina.
5. Corrección de errores del programa. Los errores se corregirán en el código fuente, repitiendo los
pasos 3 y 4 tantas veces comosea necesario. Si seproducen errores en la lógica del programa, es decir,
si el programa “funciona” pero produce resultados incorrectos, hay que modificar el algoritmo
volviendo al paso 2. Estos errores son los más difíciles de detectar.
#CELULAR:+51 924179935
MANUAL DE PROGRAMACIONHP-PRIME
6. Documentación. Una vez que el programafuncione correctamente, es conveniente revisar elcódigo
fuente para ordenarlos, eliminar cálculos innecesarios e incluir las líneas de comentario
necesarias, que normalmente deben incluir unas breves explicaciones al principio del código
sobre la finalidad del programa y sus argumentos de entrada y de salida.
1.2Algoritmos
Un ordenador es capaz de realizar “solo” determinadas acciones sencillas, tales como sumar, com-
parar o transferir datos, pero los problemas que normalmente interesa resolver son más
complejos. Para resolver un problema real es necesario, en primer lugar, encontrar un método
de resolución y, posteriormente, determinar la sucesión de acciones sencillas (susceptibles de
ser ejecutadas por un ordenador) en que se descompone dicho método.
No todos los métodos de solución de un problema pueden ser puestos es practica en un ordenador.
Para que un procedimiento pueda ser implantado en un ordenador debe ser:
Preciso: estar compuesto de pasos bien definidos (no ambiguos) y ordenados.
Definido: si se sigue dos veces, se obtiene el mismo resultado cada vez.
Finito: tener un número finito de pasos.
Un procedimiento o método para resolver un problema que cumpla los requisitos anteriores se dice
que es un algoritmo. Se puede dar por tanto la siguiente definición:
Un algoritmo es un método para resolver un problema mediante una secuencia de pasos bien
definidos, ordenados y finitos.
Para que se pueda ejecutar el algoritmo es preciso, además, que se disponga de las “herramien-
tas” adecuadas para llevar a cabo cada uno de los pasos. Si no es así, estos deberán, a su
vez, ser descompuestos en una secuencia (algoritmo) de pasos más simples que si se puedan llevar
a cabo.
Un programa es una sucesión de ´ordenes que describen un algoritmo, escritas de forma que
puedan ser entendidas por la calculadora.
En un algoritmo (y por tanto en un programa) se distinguen las siguientes acciones:
Entrada: es la información de partida que necesita el algoritmo para arrancar.
Proceso: es el conjunto de todas las operaciones a realizar.
Salida: son los resultados obtenidos.
Un ejemplo elemental es el Algoritmo 5.1.
Algoritmo 1.1 Preparar una taza de t´e.
Entrada: tetera, taza, bolsa de t´e
Salida: taza de t´e
Inicio
Tomar la tetera
Llenarla de agua
Encender el fuego
Poner la tetera en el fuego
Esperar a que hierva el agua
Tomar la bolsa de t´e
Introducirla en la tetera
Esperar 1 minuto
Echar el t´e en la taza
Fin
MANUAL DE PROGRAMACIONHP-PRIME
1.3 Representación de algoritmos
Las dos herramientas más utilizadas comúnmente para describir algoritmos son:
Diagramas de flujo: son representaciones graficas de secuencias de pasos a realizar. Cada operación
se representa mediante un símbolo de normalización, el Instituto Norteamericano de normalización
(ANSI - American National Standars Institute). Las líneas de flujo indican el orden de ejecución.
Algunos de los símbolos principales se muestran en la Figura 5.1, como son: Inicio/Fin del
algoritmo, Lectura/Escritura de datos que el programa necesita o genera (por ejemplo, lectura de datos
que se teclean o escritura de datos en un fichero); Proceso conjunto de instrucciones secuenciales;
Decisión es una bifurcación en el flujo del algoritmo en base a que se verifique o no cierta condición
(ver la sección 1.5).
Los diagramas de flujo suelen ser usados solo para representar algoritmos pequeños , ya que
abarcan mucho espacio.
Figura 1.1: símbolos en diagramas de flujo.
Seudocódigos: describen un algoritmo de forma similar a un lenguaje de programación pero sin su
rigidez, de forma más parecida al lenguaje natural. Presentan la ventaja de ser más compactos que los
diagramas de flujo, más fáciles de escribir para las instrucciones complejas y más fáciles de transferir
a un lenguaje de programación. El seudocódigo no está regido por ningún estándar.
En estos apuntes usaremos las palabras LEER/IMPRIMIR para representar las acciones de lectura de
datos (el programa recibe datos desde algún sitio) y salida de datos (el programa escribe
información en algún medio)
El Algoritmo 1.2 y la Figura 1.2 muestran respectivamente el seudocódigo y el diagrama de
flujo del algoritmo para calcular la altura de una persona en pulgadas y pies a partir de la altura en
centímetros introducida por el teclado.
Proceso
Decisión
No
Sí
MANUAL DE PROGRAMACIONHP-PRIME
Figura 1.2: Diagrama de flujo para determinar la altura de una persona en pulgadas y pies a partir de
la altura en centímetros introducida por el teclado.
Algoritmo 1.2 Calcular una altura en pulgadas (1 pulgada=2.54 cm) y pies (1 pie=12
pulgadas), a partir de la altura en centímetros, que se introduce por el teclado.
Inicio
1- IMPRIMIR ’Introduce la altura en
centímetros: ’
2- LEER: altura
3- CALCULAR pulgadas=altura/2.54
4- CALCULAR pies=pulgadas/12
5- IMPRIMIR ’La altura enpulgadas es: ’,
pulgadas
6- IMPRIMIR ’La altura en pies es: ’, pies
Fin
MANUAL DE PROGRAMACIONHP-PRIME
MANUAL DE PROGRAMACIONHP-PRIME
Para editar los programas se hará uso del editor PrimeComm,link de descarga
https://www.hpcalc.org/details/7470
Como usar: https://www.youtube.com/watch?v=tDrK_fZmjs4
EXPORT (Exportar). Exporta la función FunctionName para que esté disponible
globalmente y aparezca en el menú de usuario
Ejemplo:Mostar un mensaje en pantalla “hola amigo”
EXPORT P1()
BEGIN
MSGBOX ("hola amigo");
END;
BLOQUE.- Los comandos de bloque determinan el comienzo y el final de una subrutina o
función. También hay un comando RETURN para llamar a los resultados de las subrutinas
o funciones. BEGIN END
Sintaxis:
BEGIN
stmt1;
stm2;
…
StmtN;
END;
PROGRAMAS MULTIFUNCIÓN.-Si un programa contiene más de una función
EXPORT, al tocar se mostrará una lista para que elija qué función desea ejecutar. Para ver
esta función, cree un programa con el texto:
EJEMPLO.-el siguiente programa muestra un programa que contienen más de una función EXPORT
EXPORT PROGRAMA1 ()
BEGIN //inicio de programa 1
LOCAL A:=10, B:=20; //declaración de variables
MSGBOX(A+B); //mostrar la suma de A+B
C:=A+B; //c es igual a la suma de A+B
END; //fin de programa 1
Bloque
MANUAL DE PROGRAMACIONHP-PRIME
EXPORT PROGRAMA2 ()
BEGIN //inicio de programa 2
LOCAL C:=300; //declaración de variables
MSGBOX(C+100); //mostrar la suma de C+100
END; //fin de programa 2
SUBPROGRAMAS.-cuando requiere el uso de un programa dentro de otro
programa
PROGRAMA2 ( ); declarar el subprograma antes del programa principal
EXPORT PROGRAMA1 ( )
BEGIN
LOCAL A: =10, B: =20;
MSGBOX (A+B);
C: =A+B;
PROGRAMA2 ( );
END;
PROGRAMA2 ( )
BEGIN
LOCAL C: =300;
MSGBOX(C+100);
END;
ESTRUCTURAS DE SELECCIÓN
En programación, la estructura de selección es un tipo de estructura de control. También llamado
estructura de decisión o estructura selectiva. En una estructura de selección /decisión, el algoritmo al
ser ejecutado toma una decisión, ejecutar o no ciertas instrucciones si se cumplen o no ciertas
condiciones, las condiciones devuelven un valor, verdadero o falso, determinado así la secuencia a
seguir. Básicamente se tiene tres tipos de estructuras de selección.
 Estructura de selección simple (IF THEN END)
 Estructura de selección doble (IF THEN ELSE END)
 Estructura de selección multiple (CASE IF THEN THEN END END)
IF THEN.- Evalúa prueba. Si prueba es verdadero (no 0), ejecuta comandos. De lo contrario, no se
produce ninguna acción.
Sintaxis: IF prueba THEN comandos END;
EJMPLO: el siguiente programa pide un dato de ingreso, si el numero ingresado es mayor o igual a cero, mostrará un
mensaje en pantalla (SI).
EXPORT CONDICION ()
BEGIN
LOCAL N;
INPUT (N);
IF N≥0
THEN MSGBOX ("SI")
END;
C
P1
SI
NO
Programa principal
Subprograma
MANUAL DE PROGRAMACIONHP-PRIME
END;
IF THEN ELSE. - Evalúa prueba.Si prueba es verdadero (no 0), ejecuta comandos1;de lo contrario,
ejecuta comandos2
Sintaxis: IF prueba THEN comandos1 ELSE comandos2 END;
EJMPLO: el siguiente programa pide un dato de ingreso, si el numero ingresado es mayor o igual a cero, mostrará un
mensaje en pantalla (SI), caso contrario mostrara en mensaje (NO) en pantalla.
EXPORT CONDICION2 ()
BEGIN
LOCAL N;
INPUT (N);
IF N≥0
THEN MSGBOX ("SI")
ELSE MSGBOX ("NO")
END;
END;
REPEAT.-Repite la secuencia de comandos hasta que el valor de prueba es verdadero (no 0).
Sintaxis: REPEAT comandos UNTIL prueba;
EJMPLO: el siguiente programa muestra tres opciones, y termina el programa cuandose presiona la tecla ESC
EXPORT RECTANGULO ( )
BEGIN
RECT ( );
RECT (RGB (225, 225, 0));
RECT_P (G0, 30, 35, 50, 50, #E10000h, #E1h);
TEXTOUT_P("OPCION 1 CHEK",G0,60,35,0,RGB(0,0,225),200,RGB(0,225,225));
RECT_P (G0, 30, 65, 50, 80, #E10000h, #E1h);
TEXTOUT_P("OPCION 2 CHEK",G0,60,65,0,RGB(0,0,225),200,RGB(0,225,225));
RECT_P (G0, 30, 95, 50, 111, #E10000h, #E1h);
TEXTOUT_P("OPCION 3 CHEK",G0,60,95,0,RGB(0,0,225),200,RGB(0,225,225));
FREEZE;
REPEAT
UNTIL
ISKEYDOWN (4)
END;
END;
C P1
P2
SI
NO
NO
SI
P1
C
MANUAL DE PROGRAMACIONHP-PRIME
La instrucción CASE:
La instrucción CASE(traducción:caso) puede ser utilizado para cifrarvariastrayectoriasposibles del flujo
de programa, como en el caso de los IF anidados,presentado anteriormente. El formato general de esta
instrucción es como sigue:
CASE
IF Expresión lógica 1 THEN expresiones del programa1 END;
IF Expresión lógica 2 THEN expresiones del programa2 END;
.
.
.
IF Expresión lógica THEN expresiones del programa END;
Default expresiones del programa (opcional)
END;
Al evaluar esta instrucción,el programa prueba cada una de las expresiones lógicas hasta queencuentra
una que sea verdad. El programa ejecuta las expresiones del programa correspondientes, y pasa el flujo
de programa al paso que sigue la instrucción END.
EXPORT SELECCION_MULTIPLE ( )
BEGIN
CASE
IF Condicion 1 (C1) THEN proceso 1a (P1a) END;
IF Condicion 1 (C1) THEN proceso 1a (P1a) END;
IF Condicion 1 (C1) THEN proceso 1a (P1a) END;
.
.
.
IF Condicion n (C1) THEN proceso 1a (P1a) END;
END;
END;
C1
P1b
C2
Cn
SI
NO
NO
SI
SI
NO
P1a
P2a
P2b
Pnb
Pna
MANUAL DE PROGRAMACIONHP-PRIME
ESTRUCTURAS DE REPETICION
FOR .- Define la variable var para inicio y, siempre que el valor de esta variable sea inferior o igual
a fin, ejecuta la secuencia de comandos y, a continuación, añade 1 (incremento) a var.
Sintaxis: FOR var FROM inicio TO fin DO comandos END;
Sintaxis: FOR var FROM inicio TO fin STEP incr DO comandos END;
Sintaxis: FOR var FROM fin DOWNTO inicio STEP incr DO comandos END;
EJMPLO: el siguiente programa muestra el textoMANUAL HP-PRIMEdesplazándose horizontal y verticalmente
EXPORT programName()
BEGIN
LOCAL j;
DIMGROB_P (G1, 320, 240,RGB (255,255,255));
FOR j FROM 1 TO 20 DO
TEXTOUT_P ("MANUAL HP-PRIME",G1,100+j,100+j);
END;
TEXTOUT_P ("MANUAL HP-PRIME",G1,100+20,100+20,3,RGB(0,255,0));
BLIT_P (G0,G1);
FREEZE;
END;
EXPORT programName()
BEGIN
LOCAL j;
DIMGROB_P (G1, 320, 240,RGB (255,255,255));
FOR j FROM 1 TO 20 STEP 1 DO
TEXTOUT_P ("MANUAL HP-PRIME",G1,100+j,100+j);
END;
TEXTOUT_P ("MANUAL HP-PRIME",G1,100+20,100+20,3,RGB(0,255,0));
BLIT_P (G0,G1);
FREEZE;
END;
EXPORT programName()
BEGIN
LOCAL j;
DIMGROB_P (G1, 320, 240,RGB (255,255,255));
FOR j FROM 20 DOWNTO 1 STEP 1 DO
TEXTOUT_P ("MANUAL HP-PRIME",G1,100+j,100+j);
END;
TEXTOUT_P ("MANUAL HP-PRIME",G1,100+20,100+20,3,RGB(0,255,0));
BLIT_P (G0,G1);
FREEZE;
END;
i=m
N
+1 o S
P
MANUAL DE PROGRAMACIONHP-PRIME
REPEAT.-
La estructurageneral de este comandoes:
Sintaxis: REPEAT expresiones del programa UNTIL expresión lógica;
La instrucción REPEATcomienzaunlazo indefinidoejecutandolas expresionesdel programa
hasta que la expresiónlógicaproduce unfalso(FALSE(0)).La expresiónlógicadebe contener
el valorde uníndice cuyo valorse cambia enlas expresionesdel programa.
EXPORT MENU ()
BEGIN
LOCAL j ;
DIMGROB_P (G1,320,240 );
RECT_P (G1,RGB(0,225,0));
REPEAT
FOR j FROM 1 TO 120 DO
TEXTOUT_P("METODO-RIGIDEZ-ARMADURAS",G1,j+5,3,2,RGB(0,0,0),320,RGB(0,225,0));
BLIT_P (G0,G1);
WAIT(0.01);
END;
FOR j FROM 1 TO120 DO
TEXTOUT_P("METODO-RIGIDEZ-ARMADURAS",G1,125-j,3,2,RGB(0,0,0),320,RGB(0,225,0));
BLIT_P (G0,G1);
WAIT(0.01);
END;
UNTIL ISKEYDOWN (4);
END;
WHILE.-
La estructurageneral de este comandoes:
Sintaxis: WHILE expresión lógica DO expresiones del programa END;
La instrucción WHILE repetirá las expresiones del programa mientras expresión lógica es
verdadero (no cero). Si no, el control de programa se pasa a la instrucción que sigue a la
declaraciónEND.Las expresionesdel programa debenincluiruníndice de lazo que se modifica
antes de que se verifique la expresión lógica al principio de la repetición siguiente.
P
C
NO
SI
MANUAL DE PROGRAMACIONHP-PRIME
EXPORT SELECCION ( )
BEGIN
LOCAL A:=2;
WHILE
A == 1 OR A == 2 OR A == 3 OR A == 4 OR A==5 OR A==6
DO
CHOOSE(A,"RIGIDEZ-ARMADURAS","._DATOS GENERALES-ARMADURA","._A E L 0","._GL.INICIAL-
GL.FINAL","._CARGA EXTERNA","._EJECUCION","._RESULTADOS","._SALIR");
CASE
IF A == 1 THEN MSGBOX ("OPCION" +1);
END;
IF A == 2 THEN MSGBOX ("OPCION" +2);
END;
IF A == 3 THEN MSGBOX ("OPCION" +3);
END;
IF A == 4 THEN MSGBOX ("OPCION" +4);
END;
IF A == 5 THEN MSGBOX ("OPCION" +5);
END;
IF A == 6 THEN MSGBOX ("OPCION" +6);
END;
IF A == 7 THEN MSGBOX ("SALIENDO" +7);
END;
END;
END;
END;
EJMPLO: el siguiente programarepite el ingresode datos, y se detiene hasta que se presione la tecla cancel, del
ingreso de datos INPUT;
EXPORT REPETIR ( )
BEGIN
LOCAL X;
LOCAL Y;
LOCAL Z:=0;
REPEAT
Z+1 ▶ Z;
UNTIL INPUT ({X, Y},"COORDENADAS # " +STRING (Z), {"X:","Y:"},{"ABSCISA X","ORDENADA Y"}) == 0;
END;
EJEMPLO: tomandocomo referencia el programaanterior, ahora podemos guardar todas las coordenadas enla
variable loca D.
EXPORT REPETIR ( )
BEGIN
LOCAL X;
LOCAL Y;
LOCAL Z:=0;
LOCAL D:={};
REPEAT
Z+1 ▶ Z;
IF Z ≠ 1
THEN
SI
NO
C
P1
MANUAL DE PROGRAMACIONHP-PRIME
{X, Y} ▶ D (Z-1);
END;
MSGBOX (D);
UNTIL INPUT ({X, Y},"COORDENADAS # " +STRING (Z), {"X:","Y:"},{"ABSISA X","ORDENADA Y"}) == 0 ;
END;
EJEMPLO: mostrar una secuencia de número de manera que se detenga cuando presiones la tecla ESC
EXPORT CONTEO ( )
BEGIN
LOCAL A: =0;
RECT ( );
TEXTOUT_P ("NUMERO: " 25, 25);
REPEAT
A+1 ▶ A;
TEXTOUT_P(" " +STRING(A),90,28,2,RGB(225,225,0),100,RGB(0,0,225));
UNTIL ISKEYDOWN (4) ;
END;
Una función en un conjunto de líneas de código que realizan una tarea específica y puede retornar un
valor.
Variables globales
Las variables globales son variablesque se declaran fuera de la función y por defecto (omisión) son
visibles a cualquier función.
EJEMPLO: el siguiente programa muestra cómo crear una variable global, para ser usada en las diferentes funciones
EXPORT DIAMETRO;
EXPORT GLOBAL ( )
BEGIN
INPUT (DIAMETRO,"DIAMETRO","D:","DIAMETRO DEL CIRCULO EN (M)",1);
PRINT ( );
PRINT ("D:" +STRING (DIAMETRO+200));
END;
Pero también se pueden crear variable global que son solo visibles para la función principal, veamos
en ejemplo siguiente.
EJEMPLO: el siguiente programa muestra cómo crear una variable global, para la función o funciones internas del
programa
LOCAL DIAMETRO; //VARIABLE GLOBAL
EXPORT GLOBAL ( ) //FUNCION PRINCIPAL
BEGIN
INPUT (DIAMETRO,"DIAMETRO","D:","DIAMETRO DEL CIRCULO EN (M)",1);
PRINT ( );
MANUAL DE PROGRAMACIONHP-PRIME
PRINT ("D:" +STRING (DIAMETRO+200));
END;
Variables locales
Además de tener un ámbito restringido, las variables locales son especiales por otra razón: existen en
memoria sólo cuando la función está activa (es decir, mientras se ejecutan las sentencias de la
función).
Cuando la función no se está ejecutando, sus variables locales no ocupan espacio en memoria, ya
que no existen. Algunas reglas que siguen las variables locales son:
a.-Los nombres de las variables locales no son únicos. Dos o más funciones pueden definir la misma
variable test. Cada variable es distinta y pertenece a su función específica.
b.- Las variables locales de las funciones no existen en memoria hasta que se ejecute la función. Por
esta razón, múltiples funciones pueden compartir la misma memoria para sus variables locales (pero no
al mismo tiempo).
EXPORT GLOBAL ( ) //función principal
BEGIN
LOCAL DIAMETRO; //variable local de la función
INPUT (DIAMETRO,"DIAMETRO","D:","DIAMETRO DEL CIRCULO EN (M)",1);
PRINT ( );
PRINT ("D:" +STRING (DIAMETRO+200));
END;
FREEZE.-Pausa la ejecución del programa hasta que se pulsa una tecla. Evita que la pantalla vuelva a
dibujarse después de que se termine la ejecución delprograma, manteniendo la visualización modificada
en la pantalla para que el usuario la vea.
Sintaxis: FREEZE
EJEMPLO: el ejemplo muestra el uso del comando
RECT.-Dibuja un rectángulo en G entre los puntos x1, y1 y x2, y2 utilizando el color del borde para el
perímetro y el color de relleno para el interior.
RECT_P ([G, x1, y1, x2, y2, color borde, color relleno])
(50,50) (270,50)
(50,190)
(270,190)
MANUAL DE PROGRAMACIONHP-PRIME
MOUSE.- Devuelve dos listas que describen la ubicación actual de cada puntero potencial
(o listas vacías si no se utilizan punteros). La salida es {Xmovil, Ymóvil, Xstático, Yestatico, tipo}
donde tipo es 0 (para nuevo), 1 (para completado),2(para arrastrar),3 (para alargar),4 (para
girar) y 5 (para un clic largo).
El índice de parámetros opcional es el elemento n-ésimo que se devolvería (Xmovil, Ymóvil,
Xstático, etc.) si se hubiera omitido el parámetro (o –1 si no se registra actividad del puntero).
Sintaxis: MOUSE [(índice)]
EXPORT RATON1 ( )
BEGIN
LOCAL RATON;
REPEAT
RATON:=MOUSE;
CASE
IF
SIZE (RATON(1))
THEN
TEXTOUT_P(B→R(RATON),G0,200,150,2,RGB(0,225,0),100,RGB(225,225,225));
END;
END;
UNTIL ISKEYDOWN (4);
END;
FILLPOLY.-Rellena el polígono especificado por las coordenadas del pixel proporcionado
utilizando los colores suministrados .Si se proporciona Alfa (0 a 255), el polígono es dibujado
con transparencia.
Sintaxis: FILLPOLY_P ([G], {coordenadas...} o [coordenadas], Color, [Alpha])
EJEMPLO: el siguiente programa muestra el doblez de una página por la esquina
EXPORT dobles ( )
BEGIN
DIMGROB_P (G1, 320,240);
DIMGROB_P (G2, 320,240);
BLIT_P (G1, G0);
WHILE 1 DO
FOR Z FROM 0 TO 170 STEP 1 DO
BLIT_P (G2, G1);
FILLPOLY_P (G2, {{0, 0}, {320, 0}, {320,240}, {0,240}}, #000000, Z);
FILLPOLY_P (G2, {{150,240}, {320, 70}, {320-Z, 240-Z}}, #000000, 225);
BLIT_P (G0, G2);
WAIT (0.005);
END;
END;
END;
MANUAL DE PROGRAMACIONHP-PRIME
FOR.- Define la variable var para inicio y, siempre que el valor de esta variable sea inferior o
igual a fin, ejecuta la secuencia de comandos y, a continuación,añade 1 (incremento) a var.
Sintaxis: FOR var FROM inicio TO fin DO comandos END;
TEXTOUT_P.-Dibuja texto de color c1 en la posición x,y de la gráfica G con la fuente
especificada. No dibuje texto con un ancho en píxeles mayor que el especificado y borre el
fondo antes de dibujar el texto utilizando el color c2. G puede ser cualquiera de las variables
gráficas y es opcional. El valor predeterminado es G0.
La fuente puede ser:
0: fuente actual seleccionada en la pantalla de modo, 1:fuente pequeña 2: fuente grande.La
fuente es opcional y, si no se especifica, es la fuente actual seleccionada en la pantalla Configuración de
Inicio. c1 puede ser cualquier color especificado cómo #RRGGBB. El valor predeterminado es negro
(#000000). Ancho es opcional y, si no se especifica, no se realiza ningún recorte.
Sintaxis: TEXTOUT (texto, G, x, y, fuente, c1, ancho,c2)
TEXTOUT_P (texto, G, x, y, fuente, c1, ancho, c2)
EJEMPLO: el siguiente programa muestra muestra un texto en la gráfica G5
EXPORT TITULO ( )
BEGIN
DIMGROB_P (G5, 320,240);
TEXTOUT_P("MANUAL DE PROGRAMACION HP-PRIME",G5,30,25,2,RGB(225,225,0),220,RGB(0,0,0));
BLIT_P (G0, G5);
FREEZE;
END;
Peo en el ejemplo podemos poner el fondo de color negro para ello haremos uso del comando RECT_P
( ).
EXPORT TITULO ( )
BEGIN
DIMGROB_P (G5, 320,240);
RECT_P (G5, RGB (0, 0, 0));
TEXTOUT_P("MANUAL DE PROGRAMACION HP-PRIME",G5,30,25,2,RGB(225,225,0),220,RGB(0,0,0));
BLIT_P (G0, G5);
FREEZE;
i=j
+1 o S
N
P
MANUAL DE PROGRAMACIONHP-PRIME
END;
INPUT.-Abre un cuadro de diálogo con el texto del título, título, con un campo denominado
etiqueta,que muestra ayuda en la parte inferior y que utiliza el valor predeterminado.
Actualiza la variable var si el usuario toca y devuelve 1. Si el usuario toca,no actualiza la
variable y devuelve 0.
Sintaxis: INPUT (var, ["título", "etiqueta", "ayuda", predeterminado]);
INPUT (Var, [“titulo”], [“etiqueta”], [“ayuda”], [restablecer valor], [valor inicial]);
INPUT ({Var}, [“titulo”], [{“etiqueta”}], [{“ayuda”}], [{restablecer valores}], [{valor iniciales}]);
Var:{nombre var, real, [{pos}]}
Var:{nombre var, [tipos permitidos de matriz], [{pos}]}
La fórmula más simple de este comando abre un cuadro de dialogo con el título dado y un campo llamado
etiqueta, además de que muestra la ayuda en la parte inferior. El cuadro de dialogo incluye las teclas de
menú cancelar u ok.el usuario puede introducir un valor en el campo etiquetado. Si el usuario presiona la
tecla de menú ok,la variable var se actualiza con el valor introducido y se devuelve 1.si el usuario presiona
la tecla de menú cancelar, no actualiza var y se devuelve 0.
En la forma más compleja delcomando,las listas se utilizan para crear un cuadro,de dialogopluridisciplinar.
Sí var es una lista, cada elemento puede ser un nombre de variable, o una lista utilizando el siguiente
formato:
{Nombre var, real, [{pos}]} para crear un control con casillas de verificación .si real es >1, esta casilla de
verificación se agrupa con la siguiente casilla de verificación n-1 en un grupo de radio (por ejemplo solo
una casilla de verificación n puede ser marcada en cualquier momento).
{Nombre var, [tipos permitidos de matriz], [{pos}]} para crear un campo de edición,tipos permitidos de
matriz enumera todos los tipos permitidos ([-1] representa todos los tipos permitidos).si el único tipo
permitido es una cadena, entonces la edición ocultara las comillas dobles.
{Nombre var, {elegir elementos}, [{pos}]} para crear un campo de selección.
Si se especifica pos,esta es una lista del formulario {inicio del campo en el porcentaje de pantalla,línea
(empieza cero)} esto permite que controle con precisión la posición y el tamaño de los campos .tome en
cuenta que tiene que especificar pos para ninguno o todos los campos en el cuadro de dialogo.
Hay un máximo de 7 líneas de controles por pagina .los controles con más de 7 líneas se colocaran en la
siguientes páginas .si se crea más de una pagina, los títulos pueden ser una lista de títulos.
EJEMPLO: en los siguientes programas se mostrara el uso de comando INPUT, en sus diferentes variaciones.
a.-formulario de entrada para 2 variables
EXPORT FORMA1 ( )
BEGIN
LOCAL Vv, Vs;
INPUT ({Vv, Vs})
END;
b.-formulario de entrada para 2 variables y un título.
EXPORT FORMA2 ( )
BEGIN
LOCAL Vv , Vs;
INPUT ({Vv, Vs},"RELACION DE VACIOS");
END;
MANUAL DE PROGRAMACIONHP-PRIME
c.-formulario de entrada para 2 variables y un título, con 2 etiquetas.
EXPORT FORMA3 ( )
BEGIN
LOCAL Vv, Vs;
INPUT ({Vv, Vs},"RELACION DE VACIOS", {"Vv:","Vs:"});
END;
d.-formulario de entrada para 2 variables y un título, con 2 etiquetas, ayudas de campo
EXPORT FORMA4 ( )
BEGIN
LOCAL Vv, Vs;
INPUT ({Vv, Vs},"RELACION DE VACIOS", {"Vv:","Vs:"},{"VOLUMEN DE VACIOS","VOLUMEN DE
SOLIDOS"});
END;
También podemos colocar la ubicación de la celda y el tipo de objeto para el campo. Formato para la
ubicación, tipo de objeto y orden de las variables.
Common Types:
-1: todo
0: real
1: entero
2: cadena
3: complejo
4: matrices
6: lista
8: funciones
9: unidad
14?: Objeto CAS la parte fraccionaria es de tipo cas
EXPORT FORMA5 ( )
BEGIN
LOCAL Vv, Vs;
INPUT({{Vv,[0],{30,40,1}},{Vs,[0],{30,40,2}}},"RELACION DE VACIOS",{"Vv:","Vs:"},{"VOLUMEN DE
VACIOS","VOLUMEN DE SOLIDOS"});
END;
También podemos colocar opciones CHECK,para las diferentes opciones
MANUAL DE PROGRAMACIONHP-PRIME
EXPORT FORMA6 ()
BEGIN
LOCAL Vv, Vs;
INPUT ({{Vv, 1}, {Vs, 0}},"RELACION DE VACIOS", {"Vv:","Vs:"},{"VOLUMEN DE VACIOS","VOLUMEN
DE SOLIDOS"});
END;
También podemos colocar opciones CHOOSE,para las diferentes opciones
EXPORT FORMA7 ( )
BEGIN
LOCAL Vv, Vs;
INPUT ({{Vv, {"100","200"}},{Vs, {"1","2"}}},"RELACION DE VACIOS", {"Vv:","Vs:"},{"VOLUMEN DE
VACIOS","VOLUMEN DE SOLIDOS"});
END;
Pero como ver los valores
de restauración
MANUAL DE PROGRAMACIONHP-PRIME
PRIMERO PASOS DE PROGRAMACION EN HP-PRIME
Cuando se inicia el editor,lo que se ve es lo siguiente
EXPORT programName ( )
BEGIN
END;
Donde se distinguen las siguientes partes
EXPORT.- Exporta la variable para que esté disponible de forma global.
BLOQUE.-Los comandos de bloque determinan el comienzo y el final de una subrutina o función.
Define un comando o conjunto de comandos para su ejecución en bloque.
Sintaxis:
BEGIN
stmt1;
stm2;…
stmtN;
END;
programName ( ).-nombre del programa
( ).-para el ingreso de datos
Estructura de comandos
Los comandos se separan con punto y coma (;). Los comandos que aceptan varios
argumentos incluyen a estos últimos entre paréntesis, separados por comas ( , ).
EXPORT programName ( )
BEGIN
stmt1;
stm2;… Estructura de comandos
stmtN;
END;
MANUAL DE PROGRAMACIONHP-PRIME
EJEMPLO.-realizar un programa que muestre las operaciones suma,resta,multiplicación ydivisión,con
los números 10 y 20.
EXPORT programName( )
BEGIN
10+20;
10-20;
10*20;
10/20;
END;
RETURN.- Devuelve el valor actual de expresión.
Sintaxis: RETURN expresión;
EXPORT programName( )
BEGIN
10+20;
RETURN 10-20;
10*20;
10/20;
END;
PRINT Imprime el resultado de la expresión o cadena en el terminal. El terminal es un
mecanismo de visualización de la salida de texto de un programa que se muestra solo cuando
se ejecutan los comandos PRINT.
Sintaxis: PRINT (expresión o cadena);
EXPORT programName( )
BEGIN
PRINT (10+20);
PRINT (10-20);
PRINT (10*20);
PRINT (10/20);
END;
EXPORT programName()
BEGIN
PRINT("suma:"+(10+20));
PRINT("resta:"+(10-20));
PRINT("multiplicacion:"+(10*20));
PRINT("division:"+(10/20));
END;
EXPORT programName( )
BEGIN
Pero aquí solo se muestra
la última operación
¿Pero si quiero todos los
resultados?
¿Perono se sabe quién es
quién?
¿Cómo mostrar los
resultados en una sola
línea?
MANUAL DE PROGRAMACIONHP-PRIME
PRINT ("suma:"+(10+20)+" resta:"+(10-20)+" multiplicación:"+(10*20)+" división:"+(10/20));
END;
EXPORT programName( )
BEGIN
PRINT;
PRINT ("suma:"+(10+20)+" resta:"+(10-20)+" multiplicación:"+(10*20)+" división:"+(10/20));
END;
INPUT.- Abre un cuadro de diálogo con el texto del título, título, con un campo denominado
etiqueta,que muestra ayuda en la parte inferior y que utiliza el valor predeterminado. Actualiza
la variable var si el usuario toca y devuelve 1. Si el usuario toca , no actualiza la variable y
devuelve 0.
Sintaxis: INPUT ({vars} [{"título"}],[{ "etiqueta"}],[ {"ayuda”}], [{predeterminado}]);
Ejemplo.-determinar la relación de vacíos
e =
Vv
Vs
Ejemplo: determinar la relación de vacíos, donde Vv 𝑦 Vs son desconocidos
EXPORT programName()
BEGIN
LOCAL Vv,Vs;
IF
INPUT({{Vv,[0],{10,30,1}},{Vs,[0],{50,30,1}}},"RELACION DE VACIOS","Vv:",{"VOLUMEN DE
VACIOS","VOLUMEN SE SOLIDOS"},{10,20},{100,200})
THEN MSGBOX ("OK");
ELSE
MSGBOX ("CANC");
END;
END;
Pero cada vez que se ejecuta el
programa muestra el resultado
anterior
MANUAL DE PROGRAMACIONHP-PRIME
Como crear un menú, en informática, un menú es una serie de opciones que el usuario
puede elegir para realizar determinadas tareas.
ISKEYDOWN Devuelve verdadero (no cero) si está pulsada actualmente la tecla cuyo id_tecla
se proporciona y falso (0) si no lo está.
Sintaxis: ISKEYDOWN (id_tecla);
EJEMPLO.-en este ejemplo
GETKEY
Devuelve el ID de la primera tecla del búfer de teclado o -1 si no se ha pulsado ninguna tecla
desde la última llamada a GETKEY. Los ID de tecla son enteros de 0 a 50, numerados desde
la esquina superior izquierda (tecla 0) a la esquina inferior derecha (tecla 50) como se muestra
en la figura 27-1.
Sintaxis: GETKEY
EJEMPLO.-en este ejemplo se puede ver que cuando no está condicionada el comando GETKEY solo
muestra -1,dado que no se ha presionado tecla alguna
EXPORT programName ( )
BEGIN
LOCAL TECLA;
REPEAT
TECLA:= GETKEY;
PRINT (TECLA);
UNTIL TECLA = 4
END;
MANUAL DE PROGRAMACIONHP-PRIME
EJEMPLO.-en este ejemplo se muestra la manera de condicionar el comando GETKEY
EXPORT programName ( )
BEGIN
LOCAL TECLA;
PRINT ("PRESIONA UNA TECLA");
REPEAT
TECLA:=GETKEY;
CASE
IF TECLA ≥ 0 THEN PRINT (TECLA); END;
END;
UNTIL TECLA = 4;
END;
Ejemplo.-crear un menú de 3 opciones:
Se creara 3 casillas rectangulares en la variable grafica con las siguientes características
EXPORT programName ( )
BEGIN
DIMGROB_P(G1,320,240,RGB(0,0,225));
RECT_P(G1,20,20,100,40,RGB(225,0,0),RGB(0,0,0));
RECT_P(G1,20,45,100,65,RGB(225,0,0),RGB(0,225,0));
RECT_P(G1,20,70,100,90,RGB(225,0,0),RGB(0,225,0));
BLIT_P(G0,G1);
FREEZE;
END;
(10,20)
(100,40)
(10,45)
(100,65)
(10,70)
(100,90)
MANUAL DE PROGRAMACIONHP-PRIME
DECLARACION DE VARIABLES LOCALES
Las variables locales son aquellas variables temporales dentro de los programas,es decir solo están
presentes en la ejecución de los programas.Es muyrecomendable el uso de estas variables ya que
utiliza menos memoria y son más rápidos al ejecutarse.
Sintaxis: LOCAL var1, var2,…var_n;
Convierte las variables var1, var2, etc. en locales del programa en que se encuentran.
EXPORT P1 ()
BEGIN
LOCAL A, B;
END;
3.1.5. Comentarios
Un comentario es cualquier información que se añade a su archivo fuente para proporcionar
documentación de cualquier tipo. El compilador ignora los comentarios, no realiza ninguna tarea
concreta. El uso de comentarios es totalmente opcional, aunque dicho uso es muy recomendable.
Generalmente, se considera buena práctica de programación comentar su archivo fuente tanto como
sea posible, al objeto de que usted mismo y otros programadores puedan leer fácilmente el programa
con el paso de tiempo. Es buena práctica de programación comentar su programa en la parte superior
de cada archivo fuente. La información que se suele incluir es el nombre del archivo, el nombre del
programador, una breve descripción, la fecha en que se creó la versión y la
información de la revisión.
Los comentarios en C estándar comienzan con la secuencia / * y terminan con la
secuencia * /.
Todo el texto situado entre las dos secuencias es un comentario ignorado por el
compilador
P1 (110,70) P3
P4
MANUAL DE PROGRAMACIONHP-PRIME
Determinar los elementos comunes de dos listas:
member.-Prueba si un elemento está en una lista o un conjunto. Si el elemento
está en la lista o el conjunto, devuelve 1+ el índice de la primera incidencia del
elemento. Si elemento no está en la lista o el conjunto, devuelve 0.
Sintaxis: member (Elem(e),(Lst(l) o Set(l)))
Ejemplo: determinar la posición del número 20 en la lista {10, 20,30}.
EXPORT programName ( )
BEGIN
LOCAL L1 :={ 10, 20, 30}; //declaración de v ariable local def inido
MSGBOX (member (20, L1)); //muestra el numero 2 (posición que ocupa el número 20 en la lista (L1))
END;
Ejemplo: determinar todas las posiciones del número 20 en la lista {10, 20, 30, 20, 50, 20,20}.
EXPORT programName ( )
BEGIN
LOCAL i,k=1,L1 :={ 10, 20, 30, 20,50,20,20}; //declaración de v ariables locales
FOR // def ine la v ariable i para en inicio
i //v ariable de control
FROM // de
1 //1
TO // a
SIZE (L1) //tamaño de la lista (L1)
DO // hacer
IF // si
L1 (i) = 20 // el elemento i de la lista L1 es igual a 20
THEN //entonces
"20" ▶ L1 (i); // el texto (“20”) se guarda en la posición i de la lista L1
i ▶ L2 (k); //la posición i se guarda en la lista L2 en la posición k
k:=k+1; //el v alor de k se incrementa en una unidad para ser guardada en la v ariable k
END; //f in de la instruction IF THEN END;
END; //f in de la instruction FOR FROM TO DO;
MSGBOX (L2); //muestra la lista de todos las posiciones del 20 en pantalla
END;
//
Determinar las cifras acumuladas del texto "0.125"
EXPORT programName ( )
BEGIN
LOCAL NUMER:="0.125",j,NUMERO:={};
FOR
MANUAL DE PROGRAMACIONHP-PRIME
j
FROM
1
TO
DIM (NUMER)
DO
MID (NUMER, 1, j) ▶ NUMERO (j); // {"0","0.","0.1","0.12","0.125"}
END;
END;
Determinar las cifras individuales del texto "0.125"
EXPORT programName ( )
BEGIN
LOCAL NUMER:="0.125", j,CIFRAS:={};
FOR
j
FROM
1
TO
DIM (NUMER)
DO
MID (NUMER, j, 1) ▶CIFRAS (j); // {"0",".","1","2","5"}
END;
END;
Devuelve las soluciones a una ecuación polinómica o un conjunto de ecuaciones
polinómicas.
EXPORT ECUACION ( )
BEGIN
solve ('X^2+2*X-3', X);
END;
MANUAL DE PROGRAMACIONHP-PRIME
CHOOSE.-muestra un cuadro de selección con el “titulo” dado y elementos con las cadenas
Si el usuario selecciona un objeto, var se actualizara para contener el número del objeto
seleccionado (un entero 1, 2, 3,4,…); de lo contrario, almacena cero en var si el usuario sale
sin realizar una selección.Devuelve verdadero (no cero) si el usuario selecciona un objeto de
lo contario devuelve falso (0)
Sintaxis: CHOOSE (var, “titulo”, “item1”,“titulo2”…“titulo14”);
Sintaxis: CHOOSE (var, “titulo”, {“item1”, “titulo2”…});
Ejemplos:haciendo uso del comando CHOOSE crear una caja de selección.
EXPORT programName ()
BEGIN
LOCAL t: =2; //var indica el número de celda seleccionada
CHOOSE (t,"SELECCIONAR", {"OPCION","OPCION","OPCION","OPCION"});
END;
Ejemplos:haciendo uso del comando CHOOSE crear una caja de selección de manera que no se salga
de la caja de selección cada vez que se escoja una opción.
EXPORT programName ()
BEGIN
LOCAL t:=2;
REPEAT
CHOOSE (t,"SELECCIONAR", {"OPCION","OPCION","OPCION","OPCION","SALIR"});
CASE
IF t= 1 THEN MSGBOX(t); END;
IF t= 2 THEN MSGBOX(t); END;
IF t= 3 THEN MSGBOX(t); END;
IF t= 4 THEN MSGBOX(t); END;
IF t= 5 THEN MSGBOX("SALIR"); END;
END;
UNTIL t=5;
END;
¿Pero caga vez que se
escoge una opción se sale
de la caja de selección?
¿Pero si quiero otra caja de
selección dentro de una de
las opciones?
MANUAL DE PROGRAMACIONHP-PRIME
Ejemplos:haciendo uso del comando CHOOSE crear una caja de selección dentro de otra caja de
selección.
LOCAL CAJA_INTERIOR ();
EXPORT programName ()
BEGIN
LOCAL t: =2;
REPEAT
CHOOSE (t,"SELECCIONAR", {"OPCION","OPCION","OPCION","OPCION","SALIR"});
CASE
IF t= 1 THEN MSGBOX(t); CAJA_INTERIOR (); END;
IF t= 2 THEN MSGBOX(t); END;
IF t= 3 THEN MSGBOX(t); END;
IF t= 4 THEN MSGBOX(t); END;
IF t= 5 THEN MSGBOX ("SALIR"); END;
END;
UNTIL t=5;
END;
CAJA_INTERIOR ()
BEGIN
LOCAL r: =2;
REPEAT
CHOOSE (r, "SELECCIONAR1", {"OPCION1","OPCION1","OPCION1","OPCION1","SALIR1"});
CASE
IF r= 1 THEN MSGBOX(r); END;
IF r= 2 THEN MSGBOX(r); END;
IF r= 3 THEN MSGBOX(r); END;
IF r= 4 THEN MSGBOX(r); END;
IF r= 5 THEN MSGBOX ("SALIR"); END;
END;
UNTIL r=5;
END;
EDITMAT.-permite que el usuario edite o vea una matriz especificada .si se usa una matriz
variable (M0-M9), se actualiza la variable cuando el usuario pulsala tecla de menú OK.el título
opcional puede ser “titulo” o {“”título, {“nombre de fila…”}, {“nombre de columna…”}} si existe
título se mostrara en la parte superior del editor. Si se especifica los row names (nombre de
filas) y column names(nombre de columnas),se utilizaran como los encabezados de la fila y la
columna en el editor. Si solo lectura no es 0 ,el usuario no podrá modificar ,solo puede verla .
MANUAL DE PROGRAMACIONHP-PRIME
Ejemplos:haciendo uso del comando EDITMAT ingresar coordenadas
EXPORT programName()
BEGIN
LOCAL MA_TRIZ:=[[0,0]];
EDITMAT( MA_TRIZ,{"COORDENADAS",{},{"X","Y",""}});
END;
Para poder recobrar los datos cargados (coordenadas) se debe de trabajar MA_TRIZ como variable
global.
LOCAL MA_TRIZ:=[[0,0]];
EXPORT programName()
BEGIN
EDITMAT( MA_TRIZ,{"COORDENADAS",{},{"X","Y",""}});
END;
Ejemplos:extraer las coordenadas x e y de una matriz, en dos listas
LOCAL MA_TRIZ:=[[0,0]];
LOCAL X_LIST:={},Y_LIST:={};
EXPORT programName()
BEGIN
LOCAL j;
LOCAL N;
MA_TRIZ:=EDITMAT( MA_TRIZ,{"COORDENADAS",{},{"X","Y",""}});
N:=SIZE(MA_TRIZ);
N:=N(1);
FOR j FROM 1 TO N DO
MA_TRIZ(j,1) ▶ X_LIST(j);
MA_TRIZ(j,2) ▶ Y_LIST(j);
END;
EDITLIST(X_LIST);
EDITLIST(Y_LIST);
END;
¿Pero cómo sería para que
se mantenga la matriz?
MANUAL DE PROGRAMACIONHP-PRIME
Ejemplos:graficar lar coordenadas cargados de una matrz
LOCAL MA_TRIZ:=[[0,0]];
LOCAL X_LIST:={},Y_LIST:={};
LOCAL GRAFICAR();
LOCAL N_F;
EXPORT programName()
BEGIN
DIMGROB_P(G1,320,240,RGB(255,255,255));
LOCAL j;
MA_TRIZ:=EDITMAT( MA_TRIZ,{"COORDENADAS",{},{"X","Y",""}});
N_F:=SIZE(MA_TRIZ);
N_F:=N_F(1);
FOR j FROM 1 TO N_F DO
MA_TRIZ(j,1) ▶ X_LIST(j);
MA_TRIZ(j,2) ▶ Y_LIST(j);
END;
GRAFICAR();
END;
GRAFICAR()
BEGIN
LOCAL X_MAX,Y_MAX;
LOCAL L_max,L_papel:=100,FAC_ESC,j;
X_MAX:=MAX(X_LIST);
Y_MAX:=MAX(Y_LIST);
L_max:={X_MAX,Y_MAX};
L_max:=MAX(L_max);
CASE
IF L_max==0 THEN
END;
IF L_max>0 THEN
FAC_ESC:=L_papel/L_max;
END;
END;
FOR j FROM 1 TO N_F DO
ARC_P(G1,X_LIST(j)*FAC_ESC,Y_LIST(j)*FAC_ESC,5,0,360,RGB(0,0,255));
END;
BLIT_P(G0,G1);
FREEZE;
END;
MANUAL DE PROGRAMACIONHP-PRIME
Para poder verlo en forma normal es necesario expresar las componentes y, de cada coordenada como
240-y, es decir:
ARC_P(G1,X_LIST(j)*FAC_ESC,240-Y_LIST(j)*FAC_ESC,5,0,360,RGB(0,0,255));
Para poder desplazar o centrar las coordenadas es necesario sumar a las componentes x e y, 100 y 50
respectivamente.
ARC_P(G1,100+X_LIST(j)*FAC_ESC,240-(Y_LIST(j)*FAC_ESC+50)5,0,360,RGB(0,0,255));
¿Pero cómo se haría para
que no grafique de cabeza?
¿Pero cómo se haría para
centrar las coordenadas?
MANUAL DE PROGRAMACIONHP-PRIME
Ejemplos:dado tres vectores,componer una matriz teniendo como filas los elementos de
los vectores.
EXPORT programName()
BEGIN
LOCAL VECT_1:=[10,20,30];
LOCAL VECT_2:=[40,50,60];
LOCAL VECT_3:=[60,70,80];
LOCAL VECT_T,MAT_TRIZ;
VECT_T:=mat2list(VECT_1,VECT_2,VECT_3);
MAT_TRIZ:=list2mat(VECT_T,3);
EDITMAT(MAT_TRIZ);
END;
Ejemplos:graficar una carga distribuida
MANUAL DE PROGRAMACIONHP-PRIME
EXPORT programName()
BEGIN
DIMGROB_P(G1,320,240,RGB(255,255,255));
LOCAL Xo:=50,Xf:=200,Wo:=40,Wf:=40,Y,j;
LINE_P(G1,30, 240-140, 290, 240-140, RGB(0,0,255));
FOR j FROM Xo TO Xf STEP 3 DO
Y:=Wo+((Wf-Wo)/(Xf-Xo))*(j-Xo);
LINE_P(G1,j,240-140,j,240-(Y+140),RGB(0,0,0));
END;
BLIT_P(G0,G1);
DRAWMENU("","","","CARGA","SALIR","OK");
FREEZE;
END;
Para ver los otros tipos de datos es necesario cargar los datos necesarios.
LOCAL Xo:=50,Xf:=200,Wo:=-40,Wf:=-40,Y,j; carga distribuida negativa
LOCAL Xo:=50,Xf:=200,Wo:=0,Wf:=40,Y,j; carga distribuida triangular
LOCAL Xo:=50,Xf:=200,Wo:=-40,Wf:=40,Y,j; carga triangular positiva y negativa
Ejemplos:graficar una carga distribuida de grado n
EXPORT programName()
BEGIN
DIMGROB_P(G1,320,240,RGB(255,255,255));
LOCAL Xo:=50,Xf:=200,Wo:=40,Wf:=40,Y,j ,n:=2;
LINE_P(G1,30, 240-140, 290, 240-140, RGB(0,0,255));
FOR j FROM Xo TO Xf STEP 3 DO
Y:=Wo+(Wf-Wo)*((j-Xo)/(Xf-Xo))^n;
LINE_P(G1,j,240-140,j,240-(Y+140),RGB(0,0,0));
END;
BLIT_P(G0,G1);
DRAWMENU("","","","CARGA","SALIR","OK");
FREEZE;
END;
¿y si existen otro tipo de
cargas?
MANUAL DE PROGRAMACIONHP-PRIME
Ejemplo.-calcular el acero necesario para que la viga de b=30cm, y d=50cm , resista
Mu=20ton.m, sabiendo que fy=4200kg/cm2
y f’c=250kg/cm2
.
𝐴 𝑠 =
𝑀𝑢
∅. 𝑓𝑦.(𝑑 − 𝑎/2)
𝑎 =
𝐴 𝑠. 𝑓𝑦
0.85. 𝑓𝑐. 𝑏
El valor de a (asumido) debe ser igual al valor de a (calculado)
LOCAL RESULTADOS ();
LOCAL CALCULOS ();
LOCAL Mu:=2000000,ф:=0.90,fy:=4200,fc:=210,b:=30,d:=55;
LOCAL a_asu_lista:={ },As_lista:={ },a_calcu_lista:={ };
LOCAL CONTAR:=1;
EXPORT programName ()
BEGIN
LOCAL SIP;
SIP:=INPUT({Mu,ф,fy,fc,b,d},"calculo de As",{"Mu:","ф:","fy:","fc:","b:","d:"},
{"momento ultimo -(kg.cm)","factor de reduccion","fluencia del acero-(kg/cm2)","resistencia del concreto-
(kg/cm2)","ancho de la viga-(cm)","peralte efectivo-(cm)"},{0,0,0,0,0,0},{Mu,ф,fy,fc,b,d});
IF SIP=1
THEN CALCULOS ();
ELSE MSGBOX ("SALIR");
END;
a(asumido) As(a=aasumido) a(calculado)
MANUAL DE PROGRAMACIONHP-PRIME
END;
CALCULOS ()
BEGIN
LOCAL As,a,a_calculado,a_asumido;
a_asumido:=d/5;
a:=a_asumido;
a:=ROUND(a,3);
a ▶ a_asu_lista(CONTAR);
As: =Mu/(ф*fy*(d-a/2));
As: =ROUND (As, 3);
As ▶ As_lista(CONTAR);
a_calculado:=As*fy/(0.850*fc*b);
a_calculado:=ROUND (a_calculado,3);
a_calculado ▶ a_calcu_lista(CONTAR);
REPEAT
CONTAR:=CONTAR+1;
a_asumido:=a_calculado;
a:=a_asumido;
a:=ROUND(a,3);
a ▶ a_asu_lista(CONTAR);
As:=Mu/(ф*fy*(d-a/2));
As: =ROUND (As, 3);
As ▶ As_lista(CONTAR);
a_calculado:=As*fy/(0.850*fc*b);
a_calculado:=ROUND (a_calculado,3);
a_calculado ▶ a_calcu_lista(CONTAR);
UNTIL ROUND (a_asumido,3)=ROUND ( a_calculado,3);
RESULTADOS ();
CONTAR:=1;
END;
RESULTADOS ()
BEGIN
LOCAL RESULT;
LOCAL j;
RESULT: =MAKEMAT (0, CONTAR, 3);
FOR j FROM 1 TO CONTAR DO
a_asu_lista (j) ▶ RESULT (j, 1);
As_lista (j) ▶ RESULT (j, 2);
a_calcu_lista (j) ▶ RESULT (j, 3);
END;
EDITMAT (RESULT, {"RESULTADOS", { }, {"a_asumido","As","a_calculado"}});
END;
MANUAL DE PROGRAMACIONHP-PRIME
Ejemplo.-crear un menú.
EXPORT programName()
BEGIN
DIMGROB_P(G1,320,240,RGB(255,255,255));
BLIT_P(G0,G1);
DRAWMENU("","","","","SALIR","OK");
FREEZE;
END;
Para poder controlar las opciones del menú es necesario conocer las coordenadas de los extremos
opuesto de cada opción (rectángulo),es decir:
Ejemplo.-crear un menú, de manera que se pueda controlar las opciones del menú.
LOCAL TOCAR;
LOCAL TECLA;
LOCAL ACTIVO:=1;
LOCAL RECT_TAN:={};
LOCAL CASE_TOCAR();
EXPORT programName()
BEGIN
DIMGROB_P(G1,320,240,RGB(255,255,255));
LOCAL H:=0,b:=51,t:=2,V:=218,h:=20,j;
FOR j FROM 1 TO 6 DO
RECT_P(G1,H+(j-1)*b+(j-1)*t,V,H+j*b+(j-1)*t,V+h,RGB(0,0,0));
{H+(j-1)*b+(j-1)*t,V,H+j*b+(j-1)*t,V+h} ▶ RECT_TAN(j);
END;
¿Pero cómo se podría
controlar las opciones de
menú?
(62,80)
(50,50)
MANUAL DE PROGRAMACIONHP-PRIME
BLIT_P(G0,G1);
REPEAT
TECLA:=GETKEY;
TOCAR:=MOUSE;
CASE
IF SIZE(TOCAR(1))=0 THEN
// CASE_TECLAS();
END;
IF SIZE(TOCAR(1)) THEN
CASE_TOCAR();
END;
END;
UNTIL TECLA == 4 ;
END;
CASE_TOCAR()
BEGIN
LOCAL j;
FOR j FROM 1 TO 5 DO
IF
RECT_TAN(j,1) ≤ TOCAR(1,3)≤ RECT_TAN(j,3) AND RECT_TAN(j,2) ≤ TOCAR(1,4) ≤ RECT_TAN(j,4)
THEN
ACTIVO:=j;
MSGBOX(ACTIVO);
BLIT_P(G0,G1);
END;
END;
END;
MANUAL DE PROGRAMACIONHP-PRIME
 MATEMATICA BASICA
 GEOMETRIA ANALITICA
 FISICA I,II
 CALCULO I,II,II
 ECUACIONES DIFERENCIALES
 ESTATICA
 RESISTENCIA DE MATERIALES I,II
 SUELOS I,II
 ANALISIS ESTRUCTURAL I,II
 PUENTES…ENTRE OTROS CURSOS…
CIRCULO DE ESTUDIOS
“EL INGENIERO”
RESOLUCION DE EJERCICIOS DE LOS
SIGUIENTES CURSOS
WHATSAPP:+51 9241779935
RESOLUCION DE EXAMENES
ASESORAMIENTO DE TRABAJOS

Más contenido relacionado

La actualidad más candente

Teorema de Castigliano
Teorema de CastiglianoTeorema de Castigliano
Teorema de CastiglianoGabriel Pujol
 
Mecánica de fluidos II, Francisco Ugarte
Mecánica de fluidos II, Francisco UgarteMecánica de fluidos II, Francisco Ugarte
Mecánica de fluidos II, Francisco UgarteNovoConsult S.A.C
 
INFORME DE TRÁNSITO DE AVENIDAS A TRAVÉS DE EMBALSES
INFORME DE TRÁNSITO DE AVENIDAS A TRAVÉS DE EMBALSESINFORME DE TRÁNSITO DE AVENIDAS A TRAVÉS DE EMBALSES
INFORME DE TRÁNSITO DE AVENIDAS A TRAVÉS DE EMBALSESAngelo Alvarez Sifuentes
 
Diseño de obras de captación de aguas superficiales y subterráneas
Diseño de obras de captación de aguas superficiales y subterráneasDiseño de obras de captación de aguas superficiales y subterráneas
Diseño de obras de captación de aguas superficiales y subterráneasGiovene Pérez
 
Estructuras de captacion, medicion, distribucion y proteccion
Estructuras de captacion, medicion, distribucion y proteccionEstructuras de captacion, medicion, distribucion y proteccion
Estructuras de captacion, medicion, distribucion y proteccionIngeniero Edwin Torres Rodríguez
 
mecánica de suelos 2-Esfuerzos transmitidos
mecánica de suelos 2-Esfuerzos transmitidosmecánica de suelos 2-Esfuerzos transmitidos
mecánica de suelos 2-Esfuerzos transmitidosEricArturoTorresRoza
 
Ejercicios tema 4
Ejercicios tema 4 Ejercicios tema 4
Ejercicios tema 4 Miguel Rosas
 
Mecanica de fluidos_2
Mecanica de fluidos_2Mecanica de fluidos_2
Mecanica de fluidos_2SUSAN GOMEZ
 
1 PERIODO DE DISEÑO.pdf
1 PERIODO DE DISEÑO.pdf1 PERIODO DE DISEÑO.pdf
1 PERIODO DE DISEÑO.pdfAnggíe P-f
 
Segundo teorema de castigliano
Segundo teorema de castiglianoSegundo teorema de castigliano
Segundo teorema de castiglianoChrizthian Marcos
 
Solucionario mecánica de fluidos e hidráulica 02
Solucionario mecánica de fluidos e hidráulica 02Solucionario mecánica de fluidos e hidráulica 02
Solucionario mecánica de fluidos e hidráulica 02sap200
 
Libro de hidraulica de canales (maximo villon)
Libro de hidraulica de canales (maximo villon)Libro de hidraulica de canales (maximo villon)
Libro de hidraulica de canales (maximo villon)SIMON MELGAREJO
 
Socavación General y Erosión Local alrededor de Pilares y Estribos
Socavación General y Erosión Local alrededor de Pilares y EstribosSocavación General y Erosión Local alrededor de Pilares y Estribos
Socavación General y Erosión Local alrededor de Pilares y EstribosManuel García Naranjo B.
 

La actualidad más candente (20)

Teorema de Castigliano
Teorema de CastiglianoTeorema de Castigliano
Teorema de Castigliano
 
Mecánica de fluidos II, Francisco Ugarte
Mecánica de fluidos II, Francisco UgarteMecánica de fluidos II, Francisco Ugarte
Mecánica de fluidos II, Francisco Ugarte
 
INFORME DE TRÁNSITO DE AVENIDAS A TRAVÉS DE EMBALSES
INFORME DE TRÁNSITO DE AVENIDAS A TRAVÉS DE EMBALSESINFORME DE TRÁNSITO DE AVENIDAS A TRAVÉS DE EMBALSES
INFORME DE TRÁNSITO DE AVENIDAS A TRAVÉS DE EMBALSES
 
Diseño de obras de captación de aguas superficiales y subterráneas
Diseño de obras de captación de aguas superficiales y subterráneasDiseño de obras de captación de aguas superficiales y subterráneas
Diseño de obras de captación de aguas superficiales y subterráneas
 
Estructuras de captacion, medicion, distribucion y proteccion
Estructuras de captacion, medicion, distribucion y proteccionEstructuras de captacion, medicion, distribucion y proteccion
Estructuras de captacion, medicion, distribucion y proteccion
 
mecánica de suelos 2-Esfuerzos transmitidos
mecánica de suelos 2-Esfuerzos transmitidosmecánica de suelos 2-Esfuerzos transmitidos
mecánica de suelos 2-Esfuerzos transmitidos
 
Ejercicios tema 4
Ejercicios tema 4 Ejercicios tema 4
Ejercicios tema 4
 
Mecanica de fluidos_2
Mecanica de fluidos_2Mecanica de fluidos_2
Mecanica de fluidos_2
 
Manual hcanales
Manual hcanalesManual hcanales
Manual hcanales
 
1 PERIODO DE DISEÑO.pdf
1 PERIODO DE DISEÑO.pdf1 PERIODO DE DISEÑO.pdf
1 PERIODO DE DISEÑO.pdf
 
Problemas de-canales-abiertos-1
Problemas de-canales-abiertos-1Problemas de-canales-abiertos-1
Problemas de-canales-abiertos-1
 
Curvas compuestas horizontales de tres radios
Curvas compuestas  horizontales de tres radiosCurvas compuestas  horizontales de tres radios
Curvas compuestas horizontales de tres radios
 
Segundo teorema de castigliano
Segundo teorema de castiglianoSegundo teorema de castigliano
Segundo teorema de castigliano
 
ENSAYO SPT
ENSAYO SPTENSAYO SPT
ENSAYO SPT
 
Ensayo SPT
Ensayo SPTEnsayo SPT
Ensayo SPT
 
Solucionario mecánica de fluidos e hidráulica 02
Solucionario mecánica de fluidos e hidráulica 02Solucionario mecánica de fluidos e hidráulica 02
Solucionario mecánica de fluidos e hidráulica 02
 
Bocatoma
BocatomaBocatoma
Bocatoma
 
Libro de hidraulica de canales (maximo villon)
Libro de hidraulica de canales (maximo villon)Libro de hidraulica de canales (maximo villon)
Libro de hidraulica de canales (maximo villon)
 
Informe mecanica de suelos consolidacion unidimensional final
Informe mecanica de suelos consolidacion unidimensional finalInforme mecanica de suelos consolidacion unidimensional final
Informe mecanica de suelos consolidacion unidimensional final
 
Socavación General y Erosión Local alrededor de Pilares y Estribos
Socavación General y Erosión Local alrededor de Pilares y EstribosSocavación General y Erosión Local alrededor de Pilares y Estribos
Socavación General y Erosión Local alrededor de Pilares y Estribos
 

Similar a Manual hp-prime-2021

Metodología para la solución de problemas utilizando la computadora 2°Am Prog...
Metodología para la solución de problemas utilizando la computadora 2°Am Prog...Metodología para la solución de problemas utilizando la computadora 2°Am Prog...
Metodología para la solución de problemas utilizando la computadora 2°Am Prog...Dulcevelazquez6
 
Fpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.comFpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.comFresyMetal
 
Clase de metodologia para analisis y planteamiento de problemas
Clase de metodologia para analisis y planteamiento de problemasClase de metodologia para analisis y planteamiento de problemas
Clase de metodologia para analisis y planteamiento de problemasSol Hernández
 
ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR
ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR
ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR DarkStarPlay
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujocasdilacol
 
Investigar y describa la resolución de problemas empleando computadoras
Investigar y describa la resolución de problemas empleando computadorasInvestigar y describa la resolución de problemas empleando computadoras
Investigar y describa la resolución de problemas empleando computadoraschristian arroyo marchan
 
Resumen de metodología_para_la_solución_de_problemas_utilizando_la_computadora2
Resumen de metodología_para_la_solución_de_problemas_utilizando_la_computadora2Resumen de metodología_para_la_solución_de_problemas_utilizando_la_computadora2
Resumen de metodología_para_la_solución_de_problemas_utilizando_la_computadora2Arazelii Puentez
 
Visual basic terminado[1]
Visual basic terminado[1]Visual basic terminado[1]
Visual basic terminado[1]Jalil Segura
 
Visual basic terminado[1]
Visual basic terminado[1]Visual basic terminado[1]
Visual basic terminado[1]Jalil Segura
 
Etapas del desarrolo de un programa
Etapas del desarrolo de un programaEtapas del desarrolo de un programa
Etapas del desarrolo de un programazeta2015
 
Resolver problemas con_una_computadora
Resolver problemas con_una_computadoraResolver problemas con_una_computadora
Resolver problemas con_una_computadoraFaridCastillo2
 
Resolver problemas con_una_computadora
Resolver problemas con_una_computadoraResolver problemas con_una_computadora
Resolver problemas con_una_computadoraJulioVizcarra5
 

Similar a Manual hp-prime-2021 (20)

Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Metodología para la solución de problemas utilizando la computadora 2°Am Prog...
Metodología para la solución de problemas utilizando la computadora 2°Am Prog...Metodología para la solución de problemas utilizando la computadora 2°Am Prog...
Metodología para la solución de problemas utilizando la computadora 2°Am Prog...
 
Fpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.comFpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.com
 
Clase de metodologia para analisis y planteamiento de problemas
Clase de metodologia para analisis y planteamiento de problemasClase de metodologia para analisis y planteamiento de problemas
Clase de metodologia para analisis y planteamiento de problemas
 
ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR
ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR
ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Programación
ProgramaciónProgramación
Programación
 
Algoritmos y programacion
Algoritmos y programacionAlgoritmos y programacion
Algoritmos y programacion
 
Resolucion de problemas
Resolucion de problemasResolucion de problemas
Resolucion de problemas
 
Investigar y describa la resolución de problemas empleando computadoras
Investigar y describa la resolución de problemas empleando computadorasInvestigar y describa la resolución de problemas empleando computadoras
Investigar y describa la resolución de problemas empleando computadoras
 
Resumen de metodología_para_la_solución_de_problemas_utilizando_la_computadora2
Resumen de metodología_para_la_solución_de_problemas_utilizando_la_computadora2Resumen de metodología_para_la_solución_de_problemas_utilizando_la_computadora2
Resumen de metodología_para_la_solución_de_problemas_utilizando_la_computadora2
 
Algoritmos primero
Algoritmos primeroAlgoritmos primero
Algoritmos primero
 
Visual basic terminado[1]
Visual basic terminado[1]Visual basic terminado[1]
Visual basic terminado[1]
 
Visual basic terminado[1]
Visual basic terminado[1]Visual basic terminado[1]
Visual basic terminado[1]
 
Etapas del desarrolo de un programa
Etapas del desarrolo de un programaEtapas del desarrolo de un programa
Etapas del desarrolo de un programa
 
Clase 1 lógica de programación
Clase 1 lógica de programaciónClase 1 lógica de programación
Clase 1 lógica de programación
 
Actividad n° 7
Actividad n° 7Actividad n° 7
Actividad n° 7
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Resolver problemas con_una_computadora
Resolver problemas con_una_computadoraResolver problemas con_una_computadora
Resolver problemas con_una_computadora
 
Resolver problemas con_una_computadora
Resolver problemas con_una_computadoraResolver problemas con_una_computadora
Resolver problemas con_una_computadora
 

Más de Leo Suca Yunga

Trabajo academico analisis matematico 2020
Trabajo academico analisis matematico 2020Trabajo academico analisis matematico 2020
Trabajo academico analisis matematico 2020Leo Suca Yunga
 
317979915 ntc-4483-concretos
317979915 ntc-4483-concretos317979915 ntc-4483-concretos
317979915 ntc-4483-concretosLeo Suca Yunga
 
Manual escribir en pantalla (autoguardado)
Manual escribir en pantalla (autoguardado)Manual escribir en pantalla (autoguardado)
Manual escribir en pantalla (autoguardado)Leo Suca Yunga
 
296505932 271698208-solucionario-problema-4-james-cardenas-diseno-geometrico-...
296505932 271698208-solucionario-problema-4-james-cardenas-diseno-geometrico-...296505932 271698208-solucionario-problema-4-james-cardenas-diseno-geometrico-...
296505932 271698208-solucionario-problema-4-james-cardenas-diseno-geometrico-...Leo Suca Yunga
 
Informe final del metropolitano nilda
Informe final del metropolitano  nildaInforme final del metropolitano  nilda
Informe final del metropolitano nildaLeo Suca Yunga
 
Informe final del metropolitano briss
Informe final del metropolitano  brissInforme final del metropolitano  briss
Informe final del metropolitano brissLeo Suca Yunga
 
Historietade asunto publico con la finalidad de presentar al municipio escolar
Historietade asunto publico con la finalidad de presentar al municipio escolarHistorietade asunto publico con la finalidad de presentar al municipio escolar
Historietade asunto publico con la finalidad de presentar al municipio escolarLeo Suca Yunga
 

Más de Leo Suca Yunga (16)

Trabajo academico analisis matematico 2020
Trabajo academico analisis matematico 2020Trabajo academico analisis matematico 2020
Trabajo academico analisis matematico 2020
 
Afiche okii 1
Afiche okii 1Afiche okii 1
Afiche okii 1
 
Volante
VolanteVolante
Volante
 
317979915 ntc-4483-concretos
317979915 ntc-4483-concretos317979915 ntc-4483-concretos
317979915 ntc-4483-concretos
 
Manual escribir en pantalla (autoguardado)
Manual escribir en pantalla (autoguardado)Manual escribir en pantalla (autoguardado)
Manual escribir en pantalla (autoguardado)
 
296505932 271698208-solucionario-problema-4-james-cardenas-diseno-geometrico-...
296505932 271698208-solucionario-problema-4-james-cardenas-diseno-geometrico-...296505932 271698208-solucionario-problema-4-james-cardenas-diseno-geometrico-...
296505932 271698208-solucionario-problema-4-james-cardenas-diseno-geometrico-...
 
Digital zone
Digital zoneDigital zone
Digital zone
 
Informe final del metropolitano nilda
Informe final del metropolitano  nildaInforme final del metropolitano  nilda
Informe final del metropolitano nilda
 
Informe final del metropolitano briss
Informe final del metropolitano  brissInforme final del metropolitano  briss
Informe final del metropolitano briss
 
Historietade asunto publico con la finalidad de presentar al municipio escolar
Historietade asunto publico con la finalidad de presentar al municipio escolarHistorietade asunto publico con la finalidad de presentar al municipio escolar
Historietade asunto publico con la finalidad de presentar al municipio escolar
 
Lira
LiraLira
Lira
 
Fany gladys corregido
Fany gladys corregidoFany gladys corregido
Fany gladys corregido
 
En la ficha insertar
En la ficha insertarEn la ficha insertar
En la ficha insertar
 
Doc1
Doc1Doc1
Doc1
 
Cobre
CobreCobre
Cobre
 
Armaduras
ArmadurasArmaduras
Armaduras
 

Último

Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaXjoseantonio01jossed
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023ANDECE
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxEverardoRuiz8
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaANDECE
 
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...SuannNeyraChongShing
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Francisco Javier Mora Serrano
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAJAMESDIAZ55
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacajeremiasnifla
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdfEdwinAlexanderSnchez2
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdfevin1703e
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasSegundo Silva Maguiña
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPJosLuisFrancoCaldern
 
Normas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISINormas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISIfimumsnhoficial
 
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIAMayraOchoa35
 
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfCAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfReneBellido1
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaSHERELYNSAMANTHAPALO1
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7luisanthonycarrascos
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALKATHIAMILAGRITOSSANC
 

Último (20)

Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptx
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes Granada
 
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpaca
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdf
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la Ingenierías
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
 
Normas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISINormas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISI
 
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
 
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfCAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresa
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
 

Manual hp-prime-2021

  • 1. MANUAL DE PROGRAMACIONHP-PRIME P1 MANUAL DE PROGRAMACION ESCRIBIR EN PANTALLA LENGUAJE DE PROGRAMACIÓN HP-PPL TIPO DE PROGRAMACION PROGRAMACION MODULAR ESCRIB IR EN PANTALLA  USANDO VARIABLES LOCALES  USANDO VARIABLES GLOBALES  RECOBRAR PANTALLA DE GRAFICOS  BORRAR PANTALLA DE GRAFICOS  ENTRE OTROS……. U S E R - R P L CONTACTAR WHATSAPP: +51 924179935
  • 2. MANUAL DE PROGRAMACIONHP-PRIME FACEBOOK: leo suca yunga FUNDAMENTOS DE PROGRAMACIÓN INTRODUCCION Este capítulo le introduce a la metodología a seguir para la resolución de problemas con la calculadora HP-PRIME y con un lenguaje de programación como HP Prime Programming Language (HPPP). La resolución de un problema con una calculadora HP-PRIME se hace escribiendo un programa, que exige al menos los siguientes pasos: 1.-Definición o análisis del problema. 2.- Diseño del algoritmo. 3.-Transformación del algoritmo en un programa. 4.- Ejecución y validación del programa. Uno de los objetivos fundamentales de este libro es el aprendizaje y diseño de los algoritmos. Este capítulo introduce al lector en el concepto de algoritmo y de programa, así como las herramientas que permiten «dialogar» al usuario con la máquina: los lenguajes de programación. 1.1 Fases de creación de un programa El proceso de resolución de problemas en LA CALCULADORA HP-PRIME conduce a la escritura de un programa y su ejecución. Las fases en el desarrollo de un programa pueden resumirse de la siguiente forma: 1. Analizar el problema consiste en conocer perfectamente en qué consiste y qué resultados se desean obtener. 2. Planificación de la resolución del problema, dividiéndolo, sies complicado, en una secuencia de etapas más simples. Esta fase se lleva a cabo EN UN PAPEL, estableciendo lo más claramente posible la finalidad de cada etapa, los datos que se necesitan de entrada, los datos que producirán en salida, los algoritmos (ver la Sección 5.2) que se utilizaran. etc. 3. Edición del código fuente, es decir, escritura del mismo utilizando un editor de textos simple (sin formato) y un lenguaje de programación. 4. Compilación y ejecución del programa al lenguaje máquina. 5. Corrección de errores del programa. Los errores se corregirán en el código fuente, repitiendo los pasos 3 y 4 tantas veces comosea necesario. Si seproducen errores en la lógica del programa, es decir, si el programa “funciona” pero produce resultados incorrectos, hay que modificar el algoritmo volviendo al paso 2. Estos errores son los más difíciles de detectar. #CELULAR:+51 924179935
  • 3. MANUAL DE PROGRAMACIONHP-PRIME 6. Documentación. Una vez que el programafuncione correctamente, es conveniente revisar elcódigo fuente para ordenarlos, eliminar cálculos innecesarios e incluir las líneas de comentario necesarias, que normalmente deben incluir unas breves explicaciones al principio del código sobre la finalidad del programa y sus argumentos de entrada y de salida. 1.2Algoritmos Un ordenador es capaz de realizar “solo” determinadas acciones sencillas, tales como sumar, com- parar o transferir datos, pero los problemas que normalmente interesa resolver son más complejos. Para resolver un problema real es necesario, en primer lugar, encontrar un método de resolución y, posteriormente, determinar la sucesión de acciones sencillas (susceptibles de ser ejecutadas por un ordenador) en que se descompone dicho método. No todos los métodos de solución de un problema pueden ser puestos es practica en un ordenador. Para que un procedimiento pueda ser implantado en un ordenador debe ser: Preciso: estar compuesto de pasos bien definidos (no ambiguos) y ordenados. Definido: si se sigue dos veces, se obtiene el mismo resultado cada vez. Finito: tener un número finito de pasos. Un procedimiento o método para resolver un problema que cumpla los requisitos anteriores se dice que es un algoritmo. Se puede dar por tanto la siguiente definición: Un algoritmo es un método para resolver un problema mediante una secuencia de pasos bien definidos, ordenados y finitos. Para que se pueda ejecutar el algoritmo es preciso, además, que se disponga de las “herramien- tas” adecuadas para llevar a cabo cada uno de los pasos. Si no es así, estos deberán, a su vez, ser descompuestos en una secuencia (algoritmo) de pasos más simples que si se puedan llevar a cabo. Un programa es una sucesión de ´ordenes que describen un algoritmo, escritas de forma que puedan ser entendidas por la calculadora. En un algoritmo (y por tanto en un programa) se distinguen las siguientes acciones: Entrada: es la información de partida que necesita el algoritmo para arrancar. Proceso: es el conjunto de todas las operaciones a realizar. Salida: son los resultados obtenidos. Un ejemplo elemental es el Algoritmo 5.1. Algoritmo 1.1 Preparar una taza de t´e. Entrada: tetera, taza, bolsa de t´e Salida: taza de t´e Inicio Tomar la tetera Llenarla de agua Encender el fuego Poner la tetera en el fuego Esperar a que hierva el agua Tomar la bolsa de t´e Introducirla en la tetera Esperar 1 minuto Echar el t´e en la taza Fin
  • 4. MANUAL DE PROGRAMACIONHP-PRIME 1.3 Representación de algoritmos Las dos herramientas más utilizadas comúnmente para describir algoritmos son: Diagramas de flujo: son representaciones graficas de secuencias de pasos a realizar. Cada operación se representa mediante un símbolo de normalización, el Instituto Norteamericano de normalización (ANSI - American National Standars Institute). Las líneas de flujo indican el orden de ejecución. Algunos de los símbolos principales se muestran en la Figura 5.1, como son: Inicio/Fin del algoritmo, Lectura/Escritura de datos que el programa necesita o genera (por ejemplo, lectura de datos que se teclean o escritura de datos en un fichero); Proceso conjunto de instrucciones secuenciales; Decisión es una bifurcación en el flujo del algoritmo en base a que se verifique o no cierta condición (ver la sección 1.5). Los diagramas de flujo suelen ser usados solo para representar algoritmos pequeños , ya que abarcan mucho espacio. Figura 1.1: símbolos en diagramas de flujo. Seudocódigos: describen un algoritmo de forma similar a un lenguaje de programación pero sin su rigidez, de forma más parecida al lenguaje natural. Presentan la ventaja de ser más compactos que los diagramas de flujo, más fáciles de escribir para las instrucciones complejas y más fáciles de transferir a un lenguaje de programación. El seudocódigo no está regido por ningún estándar. En estos apuntes usaremos las palabras LEER/IMPRIMIR para representar las acciones de lectura de datos (el programa recibe datos desde algún sitio) y salida de datos (el programa escribe información en algún medio) El Algoritmo 1.2 y la Figura 1.2 muestran respectivamente el seudocódigo y el diagrama de flujo del algoritmo para calcular la altura de una persona en pulgadas y pies a partir de la altura en centímetros introducida por el teclado. Proceso Decisión No Sí
  • 5. MANUAL DE PROGRAMACIONHP-PRIME Figura 1.2: Diagrama de flujo para determinar la altura de una persona en pulgadas y pies a partir de la altura en centímetros introducida por el teclado. Algoritmo 1.2 Calcular una altura en pulgadas (1 pulgada=2.54 cm) y pies (1 pie=12 pulgadas), a partir de la altura en centímetros, que se introduce por el teclado. Inicio 1- IMPRIMIR ’Introduce la altura en centímetros: ’ 2- LEER: altura 3- CALCULAR pulgadas=altura/2.54 4- CALCULAR pies=pulgadas/12 5- IMPRIMIR ’La altura enpulgadas es: ’, pulgadas 6- IMPRIMIR ’La altura en pies es: ’, pies Fin
  • 7. MANUAL DE PROGRAMACIONHP-PRIME Para editar los programas se hará uso del editor PrimeComm,link de descarga https://www.hpcalc.org/details/7470 Como usar: https://www.youtube.com/watch?v=tDrK_fZmjs4 EXPORT (Exportar). Exporta la función FunctionName para que esté disponible globalmente y aparezca en el menú de usuario Ejemplo:Mostar un mensaje en pantalla “hola amigo” EXPORT P1() BEGIN MSGBOX ("hola amigo"); END; BLOQUE.- Los comandos de bloque determinan el comienzo y el final de una subrutina o función. También hay un comando RETURN para llamar a los resultados de las subrutinas o funciones. BEGIN END Sintaxis: BEGIN stmt1; stm2; … StmtN; END; PROGRAMAS MULTIFUNCIÓN.-Si un programa contiene más de una función EXPORT, al tocar se mostrará una lista para que elija qué función desea ejecutar. Para ver esta función, cree un programa con el texto: EJEMPLO.-el siguiente programa muestra un programa que contienen más de una función EXPORT EXPORT PROGRAMA1 () BEGIN //inicio de programa 1 LOCAL A:=10, B:=20; //declaración de variables MSGBOX(A+B); //mostrar la suma de A+B C:=A+B; //c es igual a la suma de A+B END; //fin de programa 1 Bloque
  • 8. MANUAL DE PROGRAMACIONHP-PRIME EXPORT PROGRAMA2 () BEGIN //inicio de programa 2 LOCAL C:=300; //declaración de variables MSGBOX(C+100); //mostrar la suma de C+100 END; //fin de programa 2 SUBPROGRAMAS.-cuando requiere el uso de un programa dentro de otro programa PROGRAMA2 ( ); declarar el subprograma antes del programa principal EXPORT PROGRAMA1 ( ) BEGIN LOCAL A: =10, B: =20; MSGBOX (A+B); C: =A+B; PROGRAMA2 ( ); END; PROGRAMA2 ( ) BEGIN LOCAL C: =300; MSGBOX(C+100); END; ESTRUCTURAS DE SELECCIÓN En programación, la estructura de selección es un tipo de estructura de control. También llamado estructura de decisión o estructura selectiva. En una estructura de selección /decisión, el algoritmo al ser ejecutado toma una decisión, ejecutar o no ciertas instrucciones si se cumplen o no ciertas condiciones, las condiciones devuelven un valor, verdadero o falso, determinado así la secuencia a seguir. Básicamente se tiene tres tipos de estructuras de selección.  Estructura de selección simple (IF THEN END)  Estructura de selección doble (IF THEN ELSE END)  Estructura de selección multiple (CASE IF THEN THEN END END) IF THEN.- Evalúa prueba. Si prueba es verdadero (no 0), ejecuta comandos. De lo contrario, no se produce ninguna acción. Sintaxis: IF prueba THEN comandos END; EJMPLO: el siguiente programa pide un dato de ingreso, si el numero ingresado es mayor o igual a cero, mostrará un mensaje en pantalla (SI). EXPORT CONDICION () BEGIN LOCAL N; INPUT (N); IF N≥0 THEN MSGBOX ("SI") END; C P1 SI NO Programa principal Subprograma
  • 9. MANUAL DE PROGRAMACIONHP-PRIME END; IF THEN ELSE. - Evalúa prueba.Si prueba es verdadero (no 0), ejecuta comandos1;de lo contrario, ejecuta comandos2 Sintaxis: IF prueba THEN comandos1 ELSE comandos2 END; EJMPLO: el siguiente programa pide un dato de ingreso, si el numero ingresado es mayor o igual a cero, mostrará un mensaje en pantalla (SI), caso contrario mostrara en mensaje (NO) en pantalla. EXPORT CONDICION2 () BEGIN LOCAL N; INPUT (N); IF N≥0 THEN MSGBOX ("SI") ELSE MSGBOX ("NO") END; END; REPEAT.-Repite la secuencia de comandos hasta que el valor de prueba es verdadero (no 0). Sintaxis: REPEAT comandos UNTIL prueba; EJMPLO: el siguiente programa muestra tres opciones, y termina el programa cuandose presiona la tecla ESC EXPORT RECTANGULO ( ) BEGIN RECT ( ); RECT (RGB (225, 225, 0)); RECT_P (G0, 30, 35, 50, 50, #E10000h, #E1h); TEXTOUT_P("OPCION 1 CHEK",G0,60,35,0,RGB(0,0,225),200,RGB(0,225,225)); RECT_P (G0, 30, 65, 50, 80, #E10000h, #E1h); TEXTOUT_P("OPCION 2 CHEK",G0,60,65,0,RGB(0,0,225),200,RGB(0,225,225)); RECT_P (G0, 30, 95, 50, 111, #E10000h, #E1h); TEXTOUT_P("OPCION 3 CHEK",G0,60,95,0,RGB(0,0,225),200,RGB(0,225,225)); FREEZE; REPEAT UNTIL ISKEYDOWN (4) END; END; C P1 P2 SI NO NO SI P1 C
  • 10. MANUAL DE PROGRAMACIONHP-PRIME La instrucción CASE: La instrucción CASE(traducción:caso) puede ser utilizado para cifrarvariastrayectoriasposibles del flujo de programa, como en el caso de los IF anidados,presentado anteriormente. El formato general de esta instrucción es como sigue: CASE IF Expresión lógica 1 THEN expresiones del programa1 END; IF Expresión lógica 2 THEN expresiones del programa2 END; . . . IF Expresión lógica THEN expresiones del programa END; Default expresiones del programa (opcional) END; Al evaluar esta instrucción,el programa prueba cada una de las expresiones lógicas hasta queencuentra una que sea verdad. El programa ejecuta las expresiones del programa correspondientes, y pasa el flujo de programa al paso que sigue la instrucción END. EXPORT SELECCION_MULTIPLE ( ) BEGIN CASE IF Condicion 1 (C1) THEN proceso 1a (P1a) END; IF Condicion 1 (C1) THEN proceso 1a (P1a) END; IF Condicion 1 (C1) THEN proceso 1a (P1a) END; . . . IF Condicion n (C1) THEN proceso 1a (P1a) END; END; END; C1 P1b C2 Cn SI NO NO SI SI NO P1a P2a P2b Pnb Pna
  • 11. MANUAL DE PROGRAMACIONHP-PRIME ESTRUCTURAS DE REPETICION FOR .- Define la variable var para inicio y, siempre que el valor de esta variable sea inferior o igual a fin, ejecuta la secuencia de comandos y, a continuación, añade 1 (incremento) a var. Sintaxis: FOR var FROM inicio TO fin DO comandos END; Sintaxis: FOR var FROM inicio TO fin STEP incr DO comandos END; Sintaxis: FOR var FROM fin DOWNTO inicio STEP incr DO comandos END; EJMPLO: el siguiente programa muestra el textoMANUAL HP-PRIMEdesplazándose horizontal y verticalmente EXPORT programName() BEGIN LOCAL j; DIMGROB_P (G1, 320, 240,RGB (255,255,255)); FOR j FROM 1 TO 20 DO TEXTOUT_P ("MANUAL HP-PRIME",G1,100+j,100+j); END; TEXTOUT_P ("MANUAL HP-PRIME",G1,100+20,100+20,3,RGB(0,255,0)); BLIT_P (G0,G1); FREEZE; END; EXPORT programName() BEGIN LOCAL j; DIMGROB_P (G1, 320, 240,RGB (255,255,255)); FOR j FROM 1 TO 20 STEP 1 DO TEXTOUT_P ("MANUAL HP-PRIME",G1,100+j,100+j); END; TEXTOUT_P ("MANUAL HP-PRIME",G1,100+20,100+20,3,RGB(0,255,0)); BLIT_P (G0,G1); FREEZE; END; EXPORT programName() BEGIN LOCAL j; DIMGROB_P (G1, 320, 240,RGB (255,255,255)); FOR j FROM 20 DOWNTO 1 STEP 1 DO TEXTOUT_P ("MANUAL HP-PRIME",G1,100+j,100+j); END; TEXTOUT_P ("MANUAL HP-PRIME",G1,100+20,100+20,3,RGB(0,255,0)); BLIT_P (G0,G1); FREEZE; END; i=m N +1 o S P
  • 12. MANUAL DE PROGRAMACIONHP-PRIME REPEAT.- La estructurageneral de este comandoes: Sintaxis: REPEAT expresiones del programa UNTIL expresión lógica; La instrucción REPEATcomienzaunlazo indefinidoejecutandolas expresionesdel programa hasta que la expresiónlógicaproduce unfalso(FALSE(0)).La expresiónlógicadebe contener el valorde uníndice cuyo valorse cambia enlas expresionesdel programa. EXPORT MENU () BEGIN LOCAL j ; DIMGROB_P (G1,320,240 ); RECT_P (G1,RGB(0,225,0)); REPEAT FOR j FROM 1 TO 120 DO TEXTOUT_P("METODO-RIGIDEZ-ARMADURAS",G1,j+5,3,2,RGB(0,0,0),320,RGB(0,225,0)); BLIT_P (G0,G1); WAIT(0.01); END; FOR j FROM 1 TO120 DO TEXTOUT_P("METODO-RIGIDEZ-ARMADURAS",G1,125-j,3,2,RGB(0,0,0),320,RGB(0,225,0)); BLIT_P (G0,G1); WAIT(0.01); END; UNTIL ISKEYDOWN (4); END; WHILE.- La estructurageneral de este comandoes: Sintaxis: WHILE expresión lógica DO expresiones del programa END; La instrucción WHILE repetirá las expresiones del programa mientras expresión lógica es verdadero (no cero). Si no, el control de programa se pasa a la instrucción que sigue a la declaraciónEND.Las expresionesdel programa debenincluiruníndice de lazo que se modifica antes de que se verifique la expresión lógica al principio de la repetición siguiente. P C NO SI
  • 13. MANUAL DE PROGRAMACIONHP-PRIME EXPORT SELECCION ( ) BEGIN LOCAL A:=2; WHILE A == 1 OR A == 2 OR A == 3 OR A == 4 OR A==5 OR A==6 DO CHOOSE(A,"RIGIDEZ-ARMADURAS","._DATOS GENERALES-ARMADURA","._A E L 0","._GL.INICIAL- GL.FINAL","._CARGA EXTERNA","._EJECUCION","._RESULTADOS","._SALIR"); CASE IF A == 1 THEN MSGBOX ("OPCION" +1); END; IF A == 2 THEN MSGBOX ("OPCION" +2); END; IF A == 3 THEN MSGBOX ("OPCION" +3); END; IF A == 4 THEN MSGBOX ("OPCION" +4); END; IF A == 5 THEN MSGBOX ("OPCION" +5); END; IF A == 6 THEN MSGBOX ("OPCION" +6); END; IF A == 7 THEN MSGBOX ("SALIENDO" +7); END; END; END; END; EJMPLO: el siguiente programarepite el ingresode datos, y se detiene hasta que se presione la tecla cancel, del ingreso de datos INPUT; EXPORT REPETIR ( ) BEGIN LOCAL X; LOCAL Y; LOCAL Z:=0; REPEAT Z+1 ▶ Z; UNTIL INPUT ({X, Y},"COORDENADAS # " +STRING (Z), {"X:","Y:"},{"ABSCISA X","ORDENADA Y"}) == 0; END; EJEMPLO: tomandocomo referencia el programaanterior, ahora podemos guardar todas las coordenadas enla variable loca D. EXPORT REPETIR ( ) BEGIN LOCAL X; LOCAL Y; LOCAL Z:=0; LOCAL D:={}; REPEAT Z+1 ▶ Z; IF Z ≠ 1 THEN SI NO C P1
  • 14. MANUAL DE PROGRAMACIONHP-PRIME {X, Y} ▶ D (Z-1); END; MSGBOX (D); UNTIL INPUT ({X, Y},"COORDENADAS # " +STRING (Z), {"X:","Y:"},{"ABSISA X","ORDENADA Y"}) == 0 ; END; EJEMPLO: mostrar una secuencia de número de manera que se detenga cuando presiones la tecla ESC EXPORT CONTEO ( ) BEGIN LOCAL A: =0; RECT ( ); TEXTOUT_P ("NUMERO: " 25, 25); REPEAT A+1 ▶ A; TEXTOUT_P(" " +STRING(A),90,28,2,RGB(225,225,0),100,RGB(0,0,225)); UNTIL ISKEYDOWN (4) ; END; Una función en un conjunto de líneas de código que realizan una tarea específica y puede retornar un valor. Variables globales Las variables globales son variablesque se declaran fuera de la función y por defecto (omisión) son visibles a cualquier función. EJEMPLO: el siguiente programa muestra cómo crear una variable global, para ser usada en las diferentes funciones EXPORT DIAMETRO; EXPORT GLOBAL ( ) BEGIN INPUT (DIAMETRO,"DIAMETRO","D:","DIAMETRO DEL CIRCULO EN (M)",1); PRINT ( ); PRINT ("D:" +STRING (DIAMETRO+200)); END; Pero también se pueden crear variable global que son solo visibles para la función principal, veamos en ejemplo siguiente. EJEMPLO: el siguiente programa muestra cómo crear una variable global, para la función o funciones internas del programa LOCAL DIAMETRO; //VARIABLE GLOBAL EXPORT GLOBAL ( ) //FUNCION PRINCIPAL BEGIN INPUT (DIAMETRO,"DIAMETRO","D:","DIAMETRO DEL CIRCULO EN (M)",1); PRINT ( );
  • 15. MANUAL DE PROGRAMACIONHP-PRIME PRINT ("D:" +STRING (DIAMETRO+200)); END; Variables locales Además de tener un ámbito restringido, las variables locales son especiales por otra razón: existen en memoria sólo cuando la función está activa (es decir, mientras se ejecutan las sentencias de la función). Cuando la función no se está ejecutando, sus variables locales no ocupan espacio en memoria, ya que no existen. Algunas reglas que siguen las variables locales son: a.-Los nombres de las variables locales no son únicos. Dos o más funciones pueden definir la misma variable test. Cada variable es distinta y pertenece a su función específica. b.- Las variables locales de las funciones no existen en memoria hasta que se ejecute la función. Por esta razón, múltiples funciones pueden compartir la misma memoria para sus variables locales (pero no al mismo tiempo). EXPORT GLOBAL ( ) //función principal BEGIN LOCAL DIAMETRO; //variable local de la función INPUT (DIAMETRO,"DIAMETRO","D:","DIAMETRO DEL CIRCULO EN (M)",1); PRINT ( ); PRINT ("D:" +STRING (DIAMETRO+200)); END; FREEZE.-Pausa la ejecución del programa hasta que se pulsa una tecla. Evita que la pantalla vuelva a dibujarse después de que se termine la ejecución delprograma, manteniendo la visualización modificada en la pantalla para que el usuario la vea. Sintaxis: FREEZE EJEMPLO: el ejemplo muestra el uso del comando RECT.-Dibuja un rectángulo en G entre los puntos x1, y1 y x2, y2 utilizando el color del borde para el perímetro y el color de relleno para el interior. RECT_P ([G, x1, y1, x2, y2, color borde, color relleno]) (50,50) (270,50) (50,190) (270,190)
  • 16. MANUAL DE PROGRAMACIONHP-PRIME MOUSE.- Devuelve dos listas que describen la ubicación actual de cada puntero potencial (o listas vacías si no se utilizan punteros). La salida es {Xmovil, Ymóvil, Xstático, Yestatico, tipo} donde tipo es 0 (para nuevo), 1 (para completado),2(para arrastrar),3 (para alargar),4 (para girar) y 5 (para un clic largo). El índice de parámetros opcional es el elemento n-ésimo que se devolvería (Xmovil, Ymóvil, Xstático, etc.) si se hubiera omitido el parámetro (o –1 si no se registra actividad del puntero). Sintaxis: MOUSE [(índice)] EXPORT RATON1 ( ) BEGIN LOCAL RATON; REPEAT RATON:=MOUSE; CASE IF SIZE (RATON(1)) THEN TEXTOUT_P(B→R(RATON),G0,200,150,2,RGB(0,225,0),100,RGB(225,225,225)); END; END; UNTIL ISKEYDOWN (4); END; FILLPOLY.-Rellena el polígono especificado por las coordenadas del pixel proporcionado utilizando los colores suministrados .Si se proporciona Alfa (0 a 255), el polígono es dibujado con transparencia. Sintaxis: FILLPOLY_P ([G], {coordenadas...} o [coordenadas], Color, [Alpha]) EJEMPLO: el siguiente programa muestra el doblez de una página por la esquina EXPORT dobles ( ) BEGIN DIMGROB_P (G1, 320,240); DIMGROB_P (G2, 320,240); BLIT_P (G1, G0); WHILE 1 DO FOR Z FROM 0 TO 170 STEP 1 DO BLIT_P (G2, G1); FILLPOLY_P (G2, {{0, 0}, {320, 0}, {320,240}, {0,240}}, #000000, Z); FILLPOLY_P (G2, {{150,240}, {320, 70}, {320-Z, 240-Z}}, #000000, 225); BLIT_P (G0, G2); WAIT (0.005); END; END; END;
  • 17. MANUAL DE PROGRAMACIONHP-PRIME FOR.- Define la variable var para inicio y, siempre que el valor de esta variable sea inferior o igual a fin, ejecuta la secuencia de comandos y, a continuación,añade 1 (incremento) a var. Sintaxis: FOR var FROM inicio TO fin DO comandos END; TEXTOUT_P.-Dibuja texto de color c1 en la posición x,y de la gráfica G con la fuente especificada. No dibuje texto con un ancho en píxeles mayor que el especificado y borre el fondo antes de dibujar el texto utilizando el color c2. G puede ser cualquiera de las variables gráficas y es opcional. El valor predeterminado es G0. La fuente puede ser: 0: fuente actual seleccionada en la pantalla de modo, 1:fuente pequeña 2: fuente grande.La fuente es opcional y, si no se especifica, es la fuente actual seleccionada en la pantalla Configuración de Inicio. c1 puede ser cualquier color especificado cómo #RRGGBB. El valor predeterminado es negro (#000000). Ancho es opcional y, si no se especifica, no se realiza ningún recorte. Sintaxis: TEXTOUT (texto, G, x, y, fuente, c1, ancho,c2) TEXTOUT_P (texto, G, x, y, fuente, c1, ancho, c2) EJEMPLO: el siguiente programa muestra muestra un texto en la gráfica G5 EXPORT TITULO ( ) BEGIN DIMGROB_P (G5, 320,240); TEXTOUT_P("MANUAL DE PROGRAMACION HP-PRIME",G5,30,25,2,RGB(225,225,0),220,RGB(0,0,0)); BLIT_P (G0, G5); FREEZE; END; Peo en el ejemplo podemos poner el fondo de color negro para ello haremos uso del comando RECT_P ( ). EXPORT TITULO ( ) BEGIN DIMGROB_P (G5, 320,240); RECT_P (G5, RGB (0, 0, 0)); TEXTOUT_P("MANUAL DE PROGRAMACION HP-PRIME",G5,30,25,2,RGB(225,225,0),220,RGB(0,0,0)); BLIT_P (G0, G5); FREEZE; i=j +1 o S N P
  • 18. MANUAL DE PROGRAMACIONHP-PRIME END; INPUT.-Abre un cuadro de diálogo con el texto del título, título, con un campo denominado etiqueta,que muestra ayuda en la parte inferior y que utiliza el valor predeterminado. Actualiza la variable var si el usuario toca y devuelve 1. Si el usuario toca,no actualiza la variable y devuelve 0. Sintaxis: INPUT (var, ["título", "etiqueta", "ayuda", predeterminado]); INPUT (Var, [“titulo”], [“etiqueta”], [“ayuda”], [restablecer valor], [valor inicial]); INPUT ({Var}, [“titulo”], [{“etiqueta”}], [{“ayuda”}], [{restablecer valores}], [{valor iniciales}]); Var:{nombre var, real, [{pos}]} Var:{nombre var, [tipos permitidos de matriz], [{pos}]} La fórmula más simple de este comando abre un cuadro de dialogo con el título dado y un campo llamado etiqueta, además de que muestra la ayuda en la parte inferior. El cuadro de dialogo incluye las teclas de menú cancelar u ok.el usuario puede introducir un valor en el campo etiquetado. Si el usuario presiona la tecla de menú ok,la variable var se actualiza con el valor introducido y se devuelve 1.si el usuario presiona la tecla de menú cancelar, no actualiza var y se devuelve 0. En la forma más compleja delcomando,las listas se utilizan para crear un cuadro,de dialogopluridisciplinar. Sí var es una lista, cada elemento puede ser un nombre de variable, o una lista utilizando el siguiente formato: {Nombre var, real, [{pos}]} para crear un control con casillas de verificación .si real es >1, esta casilla de verificación se agrupa con la siguiente casilla de verificación n-1 en un grupo de radio (por ejemplo solo una casilla de verificación n puede ser marcada en cualquier momento). {Nombre var, [tipos permitidos de matriz], [{pos}]} para crear un campo de edición,tipos permitidos de matriz enumera todos los tipos permitidos ([-1] representa todos los tipos permitidos).si el único tipo permitido es una cadena, entonces la edición ocultara las comillas dobles. {Nombre var, {elegir elementos}, [{pos}]} para crear un campo de selección. Si se especifica pos,esta es una lista del formulario {inicio del campo en el porcentaje de pantalla,línea (empieza cero)} esto permite que controle con precisión la posición y el tamaño de los campos .tome en cuenta que tiene que especificar pos para ninguno o todos los campos en el cuadro de dialogo. Hay un máximo de 7 líneas de controles por pagina .los controles con más de 7 líneas se colocaran en la siguientes páginas .si se crea más de una pagina, los títulos pueden ser una lista de títulos. EJEMPLO: en los siguientes programas se mostrara el uso de comando INPUT, en sus diferentes variaciones. a.-formulario de entrada para 2 variables EXPORT FORMA1 ( ) BEGIN LOCAL Vv, Vs; INPUT ({Vv, Vs}) END; b.-formulario de entrada para 2 variables y un título. EXPORT FORMA2 ( ) BEGIN LOCAL Vv , Vs; INPUT ({Vv, Vs},"RELACION DE VACIOS"); END;
  • 19. MANUAL DE PROGRAMACIONHP-PRIME c.-formulario de entrada para 2 variables y un título, con 2 etiquetas. EXPORT FORMA3 ( ) BEGIN LOCAL Vv, Vs; INPUT ({Vv, Vs},"RELACION DE VACIOS", {"Vv:","Vs:"}); END; d.-formulario de entrada para 2 variables y un título, con 2 etiquetas, ayudas de campo EXPORT FORMA4 ( ) BEGIN LOCAL Vv, Vs; INPUT ({Vv, Vs},"RELACION DE VACIOS", {"Vv:","Vs:"},{"VOLUMEN DE VACIOS","VOLUMEN DE SOLIDOS"}); END; También podemos colocar la ubicación de la celda y el tipo de objeto para el campo. Formato para la ubicación, tipo de objeto y orden de las variables. Common Types: -1: todo 0: real 1: entero 2: cadena 3: complejo 4: matrices 6: lista 8: funciones 9: unidad 14?: Objeto CAS la parte fraccionaria es de tipo cas EXPORT FORMA5 ( ) BEGIN LOCAL Vv, Vs; INPUT({{Vv,[0],{30,40,1}},{Vs,[0],{30,40,2}}},"RELACION DE VACIOS",{"Vv:","Vs:"},{"VOLUMEN DE VACIOS","VOLUMEN DE SOLIDOS"}); END; También podemos colocar opciones CHECK,para las diferentes opciones
  • 20. MANUAL DE PROGRAMACIONHP-PRIME EXPORT FORMA6 () BEGIN LOCAL Vv, Vs; INPUT ({{Vv, 1}, {Vs, 0}},"RELACION DE VACIOS", {"Vv:","Vs:"},{"VOLUMEN DE VACIOS","VOLUMEN DE SOLIDOS"}); END; También podemos colocar opciones CHOOSE,para las diferentes opciones EXPORT FORMA7 ( ) BEGIN LOCAL Vv, Vs; INPUT ({{Vv, {"100","200"}},{Vs, {"1","2"}}},"RELACION DE VACIOS", {"Vv:","Vs:"},{"VOLUMEN DE VACIOS","VOLUMEN DE SOLIDOS"}); END; Pero como ver los valores de restauración
  • 21. MANUAL DE PROGRAMACIONHP-PRIME PRIMERO PASOS DE PROGRAMACION EN HP-PRIME Cuando se inicia el editor,lo que se ve es lo siguiente EXPORT programName ( ) BEGIN END; Donde se distinguen las siguientes partes EXPORT.- Exporta la variable para que esté disponible de forma global. BLOQUE.-Los comandos de bloque determinan el comienzo y el final de una subrutina o función. Define un comando o conjunto de comandos para su ejecución en bloque. Sintaxis: BEGIN stmt1; stm2;… stmtN; END; programName ( ).-nombre del programa ( ).-para el ingreso de datos Estructura de comandos Los comandos se separan con punto y coma (;). Los comandos que aceptan varios argumentos incluyen a estos últimos entre paréntesis, separados por comas ( , ). EXPORT programName ( ) BEGIN stmt1; stm2;… Estructura de comandos stmtN; END;
  • 22. MANUAL DE PROGRAMACIONHP-PRIME EJEMPLO.-realizar un programa que muestre las operaciones suma,resta,multiplicación ydivisión,con los números 10 y 20. EXPORT programName( ) BEGIN 10+20; 10-20; 10*20; 10/20; END; RETURN.- Devuelve el valor actual de expresión. Sintaxis: RETURN expresión; EXPORT programName( ) BEGIN 10+20; RETURN 10-20; 10*20; 10/20; END; PRINT Imprime el resultado de la expresión o cadena en el terminal. El terminal es un mecanismo de visualización de la salida de texto de un programa que se muestra solo cuando se ejecutan los comandos PRINT. Sintaxis: PRINT (expresión o cadena); EXPORT programName( ) BEGIN PRINT (10+20); PRINT (10-20); PRINT (10*20); PRINT (10/20); END; EXPORT programName() BEGIN PRINT("suma:"+(10+20)); PRINT("resta:"+(10-20)); PRINT("multiplicacion:"+(10*20)); PRINT("division:"+(10/20)); END; EXPORT programName( ) BEGIN Pero aquí solo se muestra la última operación ¿Pero si quiero todos los resultados? ¿Perono se sabe quién es quién? ¿Cómo mostrar los resultados en una sola línea?
  • 23. MANUAL DE PROGRAMACIONHP-PRIME PRINT ("suma:"+(10+20)+" resta:"+(10-20)+" multiplicación:"+(10*20)+" división:"+(10/20)); END; EXPORT programName( ) BEGIN PRINT; PRINT ("suma:"+(10+20)+" resta:"+(10-20)+" multiplicación:"+(10*20)+" división:"+(10/20)); END; INPUT.- Abre un cuadro de diálogo con el texto del título, título, con un campo denominado etiqueta,que muestra ayuda en la parte inferior y que utiliza el valor predeterminado. Actualiza la variable var si el usuario toca y devuelve 1. Si el usuario toca , no actualiza la variable y devuelve 0. Sintaxis: INPUT ({vars} [{"título"}],[{ "etiqueta"}],[ {"ayuda”}], [{predeterminado}]); Ejemplo.-determinar la relación de vacíos e = Vv Vs Ejemplo: determinar la relación de vacíos, donde Vv 𝑦 Vs son desconocidos EXPORT programName() BEGIN LOCAL Vv,Vs; IF INPUT({{Vv,[0],{10,30,1}},{Vs,[0],{50,30,1}}},"RELACION DE VACIOS","Vv:",{"VOLUMEN DE VACIOS","VOLUMEN SE SOLIDOS"},{10,20},{100,200}) THEN MSGBOX ("OK"); ELSE MSGBOX ("CANC"); END; END; Pero cada vez que se ejecuta el programa muestra el resultado anterior
  • 24. MANUAL DE PROGRAMACIONHP-PRIME Como crear un menú, en informática, un menú es una serie de opciones que el usuario puede elegir para realizar determinadas tareas. ISKEYDOWN Devuelve verdadero (no cero) si está pulsada actualmente la tecla cuyo id_tecla se proporciona y falso (0) si no lo está. Sintaxis: ISKEYDOWN (id_tecla); EJEMPLO.-en este ejemplo GETKEY Devuelve el ID de la primera tecla del búfer de teclado o -1 si no se ha pulsado ninguna tecla desde la última llamada a GETKEY. Los ID de tecla son enteros de 0 a 50, numerados desde la esquina superior izquierda (tecla 0) a la esquina inferior derecha (tecla 50) como se muestra en la figura 27-1. Sintaxis: GETKEY EJEMPLO.-en este ejemplo se puede ver que cuando no está condicionada el comando GETKEY solo muestra -1,dado que no se ha presionado tecla alguna EXPORT programName ( ) BEGIN LOCAL TECLA; REPEAT TECLA:= GETKEY; PRINT (TECLA); UNTIL TECLA = 4 END;
  • 25. MANUAL DE PROGRAMACIONHP-PRIME EJEMPLO.-en este ejemplo se muestra la manera de condicionar el comando GETKEY EXPORT programName ( ) BEGIN LOCAL TECLA; PRINT ("PRESIONA UNA TECLA"); REPEAT TECLA:=GETKEY; CASE IF TECLA ≥ 0 THEN PRINT (TECLA); END; END; UNTIL TECLA = 4; END; Ejemplo.-crear un menú de 3 opciones: Se creara 3 casillas rectangulares en la variable grafica con las siguientes características EXPORT programName ( ) BEGIN DIMGROB_P(G1,320,240,RGB(0,0,225)); RECT_P(G1,20,20,100,40,RGB(225,0,0),RGB(0,0,0)); RECT_P(G1,20,45,100,65,RGB(225,0,0),RGB(0,225,0)); RECT_P(G1,20,70,100,90,RGB(225,0,0),RGB(0,225,0)); BLIT_P(G0,G1); FREEZE; END; (10,20) (100,40) (10,45) (100,65) (10,70) (100,90)
  • 26. MANUAL DE PROGRAMACIONHP-PRIME DECLARACION DE VARIABLES LOCALES Las variables locales son aquellas variables temporales dentro de los programas,es decir solo están presentes en la ejecución de los programas.Es muyrecomendable el uso de estas variables ya que utiliza menos memoria y son más rápidos al ejecutarse. Sintaxis: LOCAL var1, var2,…var_n; Convierte las variables var1, var2, etc. en locales del programa en que se encuentran. EXPORT P1 () BEGIN LOCAL A, B; END; 3.1.5. Comentarios Un comentario es cualquier información que se añade a su archivo fuente para proporcionar documentación de cualquier tipo. El compilador ignora los comentarios, no realiza ninguna tarea concreta. El uso de comentarios es totalmente opcional, aunque dicho uso es muy recomendable. Generalmente, se considera buena práctica de programación comentar su archivo fuente tanto como sea posible, al objeto de que usted mismo y otros programadores puedan leer fácilmente el programa con el paso de tiempo. Es buena práctica de programación comentar su programa en la parte superior de cada archivo fuente. La información que se suele incluir es el nombre del archivo, el nombre del programador, una breve descripción, la fecha en que se creó la versión y la información de la revisión. Los comentarios en C estándar comienzan con la secuencia / * y terminan con la secuencia * /. Todo el texto situado entre las dos secuencias es un comentario ignorado por el compilador P1 (110,70) P3 P4
  • 27. MANUAL DE PROGRAMACIONHP-PRIME Determinar los elementos comunes de dos listas: member.-Prueba si un elemento está en una lista o un conjunto. Si el elemento está en la lista o el conjunto, devuelve 1+ el índice de la primera incidencia del elemento. Si elemento no está en la lista o el conjunto, devuelve 0. Sintaxis: member (Elem(e),(Lst(l) o Set(l))) Ejemplo: determinar la posición del número 20 en la lista {10, 20,30}. EXPORT programName ( ) BEGIN LOCAL L1 :={ 10, 20, 30}; //declaración de v ariable local def inido MSGBOX (member (20, L1)); //muestra el numero 2 (posición que ocupa el número 20 en la lista (L1)) END; Ejemplo: determinar todas las posiciones del número 20 en la lista {10, 20, 30, 20, 50, 20,20}. EXPORT programName ( ) BEGIN LOCAL i,k=1,L1 :={ 10, 20, 30, 20,50,20,20}; //declaración de v ariables locales FOR // def ine la v ariable i para en inicio i //v ariable de control FROM // de 1 //1 TO // a SIZE (L1) //tamaño de la lista (L1) DO // hacer IF // si L1 (i) = 20 // el elemento i de la lista L1 es igual a 20 THEN //entonces "20" ▶ L1 (i); // el texto (“20”) se guarda en la posición i de la lista L1 i ▶ L2 (k); //la posición i se guarda en la lista L2 en la posición k k:=k+1; //el v alor de k se incrementa en una unidad para ser guardada en la v ariable k END; //f in de la instruction IF THEN END; END; //f in de la instruction FOR FROM TO DO; MSGBOX (L2); //muestra la lista de todos las posiciones del 20 en pantalla END; // Determinar las cifras acumuladas del texto "0.125" EXPORT programName ( ) BEGIN LOCAL NUMER:="0.125",j,NUMERO:={}; FOR
  • 28. MANUAL DE PROGRAMACIONHP-PRIME j FROM 1 TO DIM (NUMER) DO MID (NUMER, 1, j) ▶ NUMERO (j); // {"0","0.","0.1","0.12","0.125"} END; END; Determinar las cifras individuales del texto "0.125" EXPORT programName ( ) BEGIN LOCAL NUMER:="0.125", j,CIFRAS:={}; FOR j FROM 1 TO DIM (NUMER) DO MID (NUMER, j, 1) ▶CIFRAS (j); // {"0",".","1","2","5"} END; END; Devuelve las soluciones a una ecuación polinómica o un conjunto de ecuaciones polinómicas. EXPORT ECUACION ( ) BEGIN solve ('X^2+2*X-3', X); END;
  • 29. MANUAL DE PROGRAMACIONHP-PRIME CHOOSE.-muestra un cuadro de selección con el “titulo” dado y elementos con las cadenas Si el usuario selecciona un objeto, var se actualizara para contener el número del objeto seleccionado (un entero 1, 2, 3,4,…); de lo contrario, almacena cero en var si el usuario sale sin realizar una selección.Devuelve verdadero (no cero) si el usuario selecciona un objeto de lo contario devuelve falso (0) Sintaxis: CHOOSE (var, “titulo”, “item1”,“titulo2”…“titulo14”); Sintaxis: CHOOSE (var, “titulo”, {“item1”, “titulo2”…}); Ejemplos:haciendo uso del comando CHOOSE crear una caja de selección. EXPORT programName () BEGIN LOCAL t: =2; //var indica el número de celda seleccionada CHOOSE (t,"SELECCIONAR", {"OPCION","OPCION","OPCION","OPCION"}); END; Ejemplos:haciendo uso del comando CHOOSE crear una caja de selección de manera que no se salga de la caja de selección cada vez que se escoja una opción. EXPORT programName () BEGIN LOCAL t:=2; REPEAT CHOOSE (t,"SELECCIONAR", {"OPCION","OPCION","OPCION","OPCION","SALIR"}); CASE IF t= 1 THEN MSGBOX(t); END; IF t= 2 THEN MSGBOX(t); END; IF t= 3 THEN MSGBOX(t); END; IF t= 4 THEN MSGBOX(t); END; IF t= 5 THEN MSGBOX("SALIR"); END; END; UNTIL t=5; END; ¿Pero caga vez que se escoge una opción se sale de la caja de selección? ¿Pero si quiero otra caja de selección dentro de una de las opciones?
  • 30. MANUAL DE PROGRAMACIONHP-PRIME Ejemplos:haciendo uso del comando CHOOSE crear una caja de selección dentro de otra caja de selección. LOCAL CAJA_INTERIOR (); EXPORT programName () BEGIN LOCAL t: =2; REPEAT CHOOSE (t,"SELECCIONAR", {"OPCION","OPCION","OPCION","OPCION","SALIR"}); CASE IF t= 1 THEN MSGBOX(t); CAJA_INTERIOR (); END; IF t= 2 THEN MSGBOX(t); END; IF t= 3 THEN MSGBOX(t); END; IF t= 4 THEN MSGBOX(t); END; IF t= 5 THEN MSGBOX ("SALIR"); END; END; UNTIL t=5; END; CAJA_INTERIOR () BEGIN LOCAL r: =2; REPEAT CHOOSE (r, "SELECCIONAR1", {"OPCION1","OPCION1","OPCION1","OPCION1","SALIR1"}); CASE IF r= 1 THEN MSGBOX(r); END; IF r= 2 THEN MSGBOX(r); END; IF r= 3 THEN MSGBOX(r); END; IF r= 4 THEN MSGBOX(r); END; IF r= 5 THEN MSGBOX ("SALIR"); END; END; UNTIL r=5; END; EDITMAT.-permite que el usuario edite o vea una matriz especificada .si se usa una matriz variable (M0-M9), se actualiza la variable cuando el usuario pulsala tecla de menú OK.el título opcional puede ser “titulo” o {“”título, {“nombre de fila…”}, {“nombre de columna…”}} si existe título se mostrara en la parte superior del editor. Si se especifica los row names (nombre de filas) y column names(nombre de columnas),se utilizaran como los encabezados de la fila y la columna en el editor. Si solo lectura no es 0 ,el usuario no podrá modificar ,solo puede verla .
  • 31. MANUAL DE PROGRAMACIONHP-PRIME Ejemplos:haciendo uso del comando EDITMAT ingresar coordenadas EXPORT programName() BEGIN LOCAL MA_TRIZ:=[[0,0]]; EDITMAT( MA_TRIZ,{"COORDENADAS",{},{"X","Y",""}}); END; Para poder recobrar los datos cargados (coordenadas) se debe de trabajar MA_TRIZ como variable global. LOCAL MA_TRIZ:=[[0,0]]; EXPORT programName() BEGIN EDITMAT( MA_TRIZ,{"COORDENADAS",{},{"X","Y",""}}); END; Ejemplos:extraer las coordenadas x e y de una matriz, en dos listas LOCAL MA_TRIZ:=[[0,0]]; LOCAL X_LIST:={},Y_LIST:={}; EXPORT programName() BEGIN LOCAL j; LOCAL N; MA_TRIZ:=EDITMAT( MA_TRIZ,{"COORDENADAS",{},{"X","Y",""}}); N:=SIZE(MA_TRIZ); N:=N(1); FOR j FROM 1 TO N DO MA_TRIZ(j,1) ▶ X_LIST(j); MA_TRIZ(j,2) ▶ Y_LIST(j); END; EDITLIST(X_LIST); EDITLIST(Y_LIST); END; ¿Pero cómo sería para que se mantenga la matriz?
  • 32. MANUAL DE PROGRAMACIONHP-PRIME Ejemplos:graficar lar coordenadas cargados de una matrz LOCAL MA_TRIZ:=[[0,0]]; LOCAL X_LIST:={},Y_LIST:={}; LOCAL GRAFICAR(); LOCAL N_F; EXPORT programName() BEGIN DIMGROB_P(G1,320,240,RGB(255,255,255)); LOCAL j; MA_TRIZ:=EDITMAT( MA_TRIZ,{"COORDENADAS",{},{"X","Y",""}}); N_F:=SIZE(MA_TRIZ); N_F:=N_F(1); FOR j FROM 1 TO N_F DO MA_TRIZ(j,1) ▶ X_LIST(j); MA_TRIZ(j,2) ▶ Y_LIST(j); END; GRAFICAR(); END; GRAFICAR() BEGIN LOCAL X_MAX,Y_MAX; LOCAL L_max,L_papel:=100,FAC_ESC,j; X_MAX:=MAX(X_LIST); Y_MAX:=MAX(Y_LIST); L_max:={X_MAX,Y_MAX}; L_max:=MAX(L_max); CASE IF L_max==0 THEN END; IF L_max>0 THEN FAC_ESC:=L_papel/L_max; END; END; FOR j FROM 1 TO N_F DO ARC_P(G1,X_LIST(j)*FAC_ESC,Y_LIST(j)*FAC_ESC,5,0,360,RGB(0,0,255)); END; BLIT_P(G0,G1); FREEZE; END;
  • 33. MANUAL DE PROGRAMACIONHP-PRIME Para poder verlo en forma normal es necesario expresar las componentes y, de cada coordenada como 240-y, es decir: ARC_P(G1,X_LIST(j)*FAC_ESC,240-Y_LIST(j)*FAC_ESC,5,0,360,RGB(0,0,255)); Para poder desplazar o centrar las coordenadas es necesario sumar a las componentes x e y, 100 y 50 respectivamente. ARC_P(G1,100+X_LIST(j)*FAC_ESC,240-(Y_LIST(j)*FAC_ESC+50)5,0,360,RGB(0,0,255)); ¿Pero cómo se haría para que no grafique de cabeza? ¿Pero cómo se haría para centrar las coordenadas?
  • 34. MANUAL DE PROGRAMACIONHP-PRIME Ejemplos:dado tres vectores,componer una matriz teniendo como filas los elementos de los vectores. EXPORT programName() BEGIN LOCAL VECT_1:=[10,20,30]; LOCAL VECT_2:=[40,50,60]; LOCAL VECT_3:=[60,70,80]; LOCAL VECT_T,MAT_TRIZ; VECT_T:=mat2list(VECT_1,VECT_2,VECT_3); MAT_TRIZ:=list2mat(VECT_T,3); EDITMAT(MAT_TRIZ); END; Ejemplos:graficar una carga distribuida
  • 35. MANUAL DE PROGRAMACIONHP-PRIME EXPORT programName() BEGIN DIMGROB_P(G1,320,240,RGB(255,255,255)); LOCAL Xo:=50,Xf:=200,Wo:=40,Wf:=40,Y,j; LINE_P(G1,30, 240-140, 290, 240-140, RGB(0,0,255)); FOR j FROM Xo TO Xf STEP 3 DO Y:=Wo+((Wf-Wo)/(Xf-Xo))*(j-Xo); LINE_P(G1,j,240-140,j,240-(Y+140),RGB(0,0,0)); END; BLIT_P(G0,G1); DRAWMENU("","","","CARGA","SALIR","OK"); FREEZE; END; Para ver los otros tipos de datos es necesario cargar los datos necesarios. LOCAL Xo:=50,Xf:=200,Wo:=-40,Wf:=-40,Y,j; carga distribuida negativa LOCAL Xo:=50,Xf:=200,Wo:=0,Wf:=40,Y,j; carga distribuida triangular LOCAL Xo:=50,Xf:=200,Wo:=-40,Wf:=40,Y,j; carga triangular positiva y negativa Ejemplos:graficar una carga distribuida de grado n EXPORT programName() BEGIN DIMGROB_P(G1,320,240,RGB(255,255,255)); LOCAL Xo:=50,Xf:=200,Wo:=40,Wf:=40,Y,j ,n:=2; LINE_P(G1,30, 240-140, 290, 240-140, RGB(0,0,255)); FOR j FROM Xo TO Xf STEP 3 DO Y:=Wo+(Wf-Wo)*((j-Xo)/(Xf-Xo))^n; LINE_P(G1,j,240-140,j,240-(Y+140),RGB(0,0,0)); END; BLIT_P(G0,G1); DRAWMENU("","","","CARGA","SALIR","OK"); FREEZE; END; ¿y si existen otro tipo de cargas?
  • 36. MANUAL DE PROGRAMACIONHP-PRIME Ejemplo.-calcular el acero necesario para que la viga de b=30cm, y d=50cm , resista Mu=20ton.m, sabiendo que fy=4200kg/cm2 y f’c=250kg/cm2 . 𝐴 𝑠 = 𝑀𝑢 ∅. 𝑓𝑦.(𝑑 − 𝑎/2) 𝑎 = 𝐴 𝑠. 𝑓𝑦 0.85. 𝑓𝑐. 𝑏 El valor de a (asumido) debe ser igual al valor de a (calculado) LOCAL RESULTADOS (); LOCAL CALCULOS (); LOCAL Mu:=2000000,ф:=0.90,fy:=4200,fc:=210,b:=30,d:=55; LOCAL a_asu_lista:={ },As_lista:={ },a_calcu_lista:={ }; LOCAL CONTAR:=1; EXPORT programName () BEGIN LOCAL SIP; SIP:=INPUT({Mu,ф,fy,fc,b,d},"calculo de As",{"Mu:","ф:","fy:","fc:","b:","d:"}, {"momento ultimo -(kg.cm)","factor de reduccion","fluencia del acero-(kg/cm2)","resistencia del concreto- (kg/cm2)","ancho de la viga-(cm)","peralte efectivo-(cm)"},{0,0,0,0,0,0},{Mu,ф,fy,fc,b,d}); IF SIP=1 THEN CALCULOS (); ELSE MSGBOX ("SALIR"); END; a(asumido) As(a=aasumido) a(calculado)
  • 37. MANUAL DE PROGRAMACIONHP-PRIME END; CALCULOS () BEGIN LOCAL As,a,a_calculado,a_asumido; a_asumido:=d/5; a:=a_asumido; a:=ROUND(a,3); a ▶ a_asu_lista(CONTAR); As: =Mu/(ф*fy*(d-a/2)); As: =ROUND (As, 3); As ▶ As_lista(CONTAR); a_calculado:=As*fy/(0.850*fc*b); a_calculado:=ROUND (a_calculado,3); a_calculado ▶ a_calcu_lista(CONTAR); REPEAT CONTAR:=CONTAR+1; a_asumido:=a_calculado; a:=a_asumido; a:=ROUND(a,3); a ▶ a_asu_lista(CONTAR); As:=Mu/(ф*fy*(d-a/2)); As: =ROUND (As, 3); As ▶ As_lista(CONTAR); a_calculado:=As*fy/(0.850*fc*b); a_calculado:=ROUND (a_calculado,3); a_calculado ▶ a_calcu_lista(CONTAR); UNTIL ROUND (a_asumido,3)=ROUND ( a_calculado,3); RESULTADOS (); CONTAR:=1; END; RESULTADOS () BEGIN LOCAL RESULT; LOCAL j; RESULT: =MAKEMAT (0, CONTAR, 3); FOR j FROM 1 TO CONTAR DO a_asu_lista (j) ▶ RESULT (j, 1); As_lista (j) ▶ RESULT (j, 2); a_calcu_lista (j) ▶ RESULT (j, 3); END; EDITMAT (RESULT, {"RESULTADOS", { }, {"a_asumido","As","a_calculado"}}); END;
  • 38. MANUAL DE PROGRAMACIONHP-PRIME Ejemplo.-crear un menú. EXPORT programName() BEGIN DIMGROB_P(G1,320,240,RGB(255,255,255)); BLIT_P(G0,G1); DRAWMENU("","","","","SALIR","OK"); FREEZE; END; Para poder controlar las opciones del menú es necesario conocer las coordenadas de los extremos opuesto de cada opción (rectángulo),es decir: Ejemplo.-crear un menú, de manera que se pueda controlar las opciones del menú. LOCAL TOCAR; LOCAL TECLA; LOCAL ACTIVO:=1; LOCAL RECT_TAN:={}; LOCAL CASE_TOCAR(); EXPORT programName() BEGIN DIMGROB_P(G1,320,240,RGB(255,255,255)); LOCAL H:=0,b:=51,t:=2,V:=218,h:=20,j; FOR j FROM 1 TO 6 DO RECT_P(G1,H+(j-1)*b+(j-1)*t,V,H+j*b+(j-1)*t,V+h,RGB(0,0,0)); {H+(j-1)*b+(j-1)*t,V,H+j*b+(j-1)*t,V+h} ▶ RECT_TAN(j); END; ¿Pero cómo se podría controlar las opciones de menú? (62,80) (50,50)
  • 39. MANUAL DE PROGRAMACIONHP-PRIME BLIT_P(G0,G1); REPEAT TECLA:=GETKEY; TOCAR:=MOUSE; CASE IF SIZE(TOCAR(1))=0 THEN // CASE_TECLAS(); END; IF SIZE(TOCAR(1)) THEN CASE_TOCAR(); END; END; UNTIL TECLA == 4 ; END; CASE_TOCAR() BEGIN LOCAL j; FOR j FROM 1 TO 5 DO IF RECT_TAN(j,1) ≤ TOCAR(1,3)≤ RECT_TAN(j,3) AND RECT_TAN(j,2) ≤ TOCAR(1,4) ≤ RECT_TAN(j,4) THEN ACTIVO:=j; MSGBOX(ACTIVO); BLIT_P(G0,G1); END; END; END;
  • 40. MANUAL DE PROGRAMACIONHP-PRIME  MATEMATICA BASICA  GEOMETRIA ANALITICA  FISICA I,II  CALCULO I,II,II  ECUACIONES DIFERENCIALES  ESTATICA  RESISTENCIA DE MATERIALES I,II  SUELOS I,II  ANALISIS ESTRUCTURAL I,II  PUENTES…ENTRE OTROS CURSOS… CIRCULO DE ESTUDIOS “EL INGENIERO” RESOLUCION DE EJERCICIOS DE LOS SIGUIENTES CURSOS WHATSAPP:+51 9241779935 RESOLUCION DE EXAMENES ASESORAMIENTO DE TRABAJOS