Logo Studenta

programacion hp prime

¡Este material tiene más páginas!

Vista previa del material en texto

H
P
P
R
IM
E
CEIC UNSCH
AYALA BIZARRO, Rocky Giaban
"CURSODEPROGRAMACIÓNEN
LACALCULADORAHPPRIME"
ÍNDICE GENERAL
Índice General ii
Índice de Cuadros vi
Índice de Figuras vii
I CLASES I 1
I INTRODUCCIÓN 2
1.1 Conociendo la Calculadora . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Problemas y algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4.1 Ejemplo de algoritmos . . . . . . . . . . . . . . . . . . . . . . . . 5
II PROGRAMACIÓN EN HP PPL 6
2.1 Estructura de comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Catalogo de programas . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4 Creación de un nuevo programa . . . . . . . . . . . . . . . . . . . . . . . 8
2.4.1 Desde la HP PRIME . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4.2 Desde el software de conectividad de la HP PRIME. . . . . . . . . 9
III VARIABLES Y OBJETOS 11
3.1 Variables Globales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2 Variables locales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.3 Objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.4 Declaración de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
IV INGRESO Y SALIDA DE DATOS 18
4.1 Ingreso de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.1.1 Función . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.1.2 Comando INPUT . . . . . . . . . . . . . . . . . . . . . . . . . . 19
ii
Índice General
4.1.3 Pantalla táctil . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.2 Formularios interactivos . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.3 Otros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.4 Salida de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.4.1 Comando MSGBOX . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.4.2 Comando PRINT . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.4.3 Ingreso de datos personalizados . . . . . . . . . . . . . . . . . . . 25
4.5 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.5.1 Ejercicio 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.5.2 Ejercicio 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.5.3 Ejercicio 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.5.4 Ejemplo Nro 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
V BIFURCACIONES Y BUCLES 29
5.1 Bifurcación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.1.1 Operadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.1.2 Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.1.3 Comando IF THEN . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.1.4 Comando IF THEN ELSE . . . . . . . . . . . . . . . . . . . . . . 31
5.1.5 Comando CASE . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.1.6 Comando IFERR . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.1.7 Comando IFERR ELSE . . . . . . . . . . . . . . . . . . . . . . . 34
5.1.8 Ejemplo 01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.2 Bucle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.2.1 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.2.2 Comando FOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.2.3 Comando FOR STEP . . . . . . . . . . . . . . . . . . . . . . . . 37
5.2.4 Comando FOR DOWN . . . . . . . . . . . . . . . . . . . . . . . 38
5.2.5 Comando FOR STEP DOWN . . . . . . . . . . . . . . . . . . . . 39
5.2.6 Comando WHILE . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.2.7 Comando REPEAT . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.2.8 Comando BREAK . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.2.9 Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
VI CADENAS 44
6.1 Definición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.2 ASC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.3 LOWER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.4 CHAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.5 DIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6.6 STRING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
iii
Índice General
VIILISTAS Y MATRICES 47
7.1 Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
7.2 Listas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.2.1 Creación de listas . . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.2.2 SORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.2.3 CONCAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.2.4 Posición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.2.5 Tamaño . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
7.2.6 EDITLIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
7.3 Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
7.3.1 ADDCOL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
7.3.2 ADDROW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
7.3.3 DELCOL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
7.3.4 DELROW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
7.3.5 EDITMAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
7.3.6 REDIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
7.3.7 REPLACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.3.8 SCALE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.3.9 SCALEADD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.3.10 SUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.3.11 SWAPCOL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.3.12 SWAPROW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.3.13 Posición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
7.4 Comandos especiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
7.4.1 GETKEY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
7.4.2 ISKEYDOWN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
7.5 Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
VIIIObjetos Gráficos 55
8.1 Comando de ingreso de datos . . . . . . . . . . . . . . . . . . . . . . . . 56
8.1.1 MOUSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
8.1.2 WAIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
8.2 Comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
8.2.1 DRAWMENU . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
8.2.2 FREEZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
8.2.3 RGB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
8.2.4 LINE P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
8.2.5 RECT P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
8.2.6 TEXTOUT P . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
8.2.7 BLIT P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
8.3 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
iv
Índice General
IX Procedimientos y Subrutinas 65
v
ÍNDICE DE CUADROS
3.1 Tipo de objetos o identificadores de variables . .. . . . . . . . . . . . . . 16
6.1 Tipo de objetos o identificadores de variables . . . . . . . . . . . . . . . . 46
8.1 Tipo de objetos o identificadores de variables . . . . . . . . . . . . . . . . 57
vi
ÍNDICE DE FIGURAS
1.1 Conociendo la calculadora HP PRIME . . . . . . . . . . . . . . . . . . . . 3
1.2 Módulo o secciones de un algoritmo . . . . . . . . . . . . . . . . . . . . . 5
2.1 Se ingresa presionando los botones Shift + 1 . . . . . . . . . . . . . . . 8
3.1 Variables de aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2 Variables de usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.3 Variables locales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.4 Declaracion de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.1 Formularios Interactivos . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.2 Declaracion de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.3 Declaracion de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.4 Ingreso de datos a través de la pantalla táctil . . . . . . . . . . . . . . . . 22
4.5 Formularios Interactivos . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.6 Formularios interactivos . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.7 Formularios interactivos . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.8 Formularios interactivos . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.9 Formularios interactivos . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.10 Formularios interactivos . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
7.1 Tipos de array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
7.2 Valores de teclas obtenidos con el comando GETKEY . . . . . . . . . . . 52
8.1 Modelo aditivo de colores rojo, verde, azul. . . . . . . . . . . . . . . . . . 59
vii
PARTE I
„Proyecto: CURSO DE PROGRAMACIÓN EN LA
CALCULADORA HP PRIME
—
CA
PÍ
TU
LO I
INTRODUCCIÓN
1.1 Conociendo la Calculadora
La calculadora gráfica HP Prime es una calculadora potente de fácil uso diseñada especí-
ficamente para la enseñanza de matemáticas con una amplia biblioteca de funciones y
comandos, la calculadora incluye un conjunto de aplicaciones de HP.
La calculadora HP Prime también dispone de su propio lenguaje de programación que puede
utilizar para explorar y resolver problemas matemáticos.
2
1.1 Conociendo la Calculadora | Capitulo I
Figura No 1.1:
Conociendo la calculadora HP PRIME
iii
iii
Leyenda del teclado de HP Prime
Número Función
1 Pantalla táctil y LCD: 320 × 240 píxeles
2 Menú de botones táctiles contextuales 
3 Teclas de aplicaciones de HP
4 Configuración de las preferencias y la vista de Inicio
5 Funciones matemáticas y científicas habituales 
6 Teclas Alpha y de alternancia
7 Tecla de encendido, de cancelación y de apagado
8 Catálogos de listas, matrices, programas y notas
9 Tecla de última respuesta (Ans)
10 Tecla de aceptación
11 Tecla de retroceso y eliminación
12 Tecla de menú y pegado
13 Configuración de las preferencias y de la vista del 
sistema algebraico computacional
14 Tecla de vista y copiado
15 Tecla de escape y borrado
16 Tecla de ayuda
17 Rueda basculante (para mover el cursor)
1
2
3
4
5
6
7
8
9
11
13
14
12
15
16
10
17
QSG_Fir.book Page iii Tuesday, July 2, 2013 11:09 AM
3
1.2 Programación | Capitulo I
1.2 Programación
Indicar a la calculadora qué es lo que tiene que hacer.
¿Qué es programar?
Decirle a un tonto muy rápido exactamente lo que tiene que hacer Especificar la estructura
y el comportamiento de un programa, así como probar que el programa realiza su tarea
adecuadamente y con un rendimiento aceptable.
1.3 Programa
Transforma entrada en salida.
1. Secuencia de instrucciones
2. Instrucciones que entiende la computadora
3. Y que persiguen un objetivo: ¡resolver un problema!
1.4 Problemas y algoritmos
Casi inconscientemente, los humanos efectuamos cotidianamente una serie de pasos, pro-
cedimientos o acciones que nos permiten alcanzar un resultado o resolver un problema.
Un algoritmo como un conjunto de pasos, procedimientos o acciones que nos permiten
alcanzar un resultado o resolver un problema.
Muchas veces aplicamos el algoritmo de manera inadvertida, inconsciente o automática-
mente. Esto generalmente se produce cuando el problema que tenemos enfrente lo hemos
resuelto con anterioridad un gran número de veces.
Supongamos que simplemente tenemos que abrir una puerta. Lo hemos hecho tantas veces
que difícilmente nos ponemos a enumerar los pasos para alcanzar este objetivo. Lo hacemos
de manera automática. Lo mismo ocurre cuando queremos subirnos a un automóvil.
Por otra parte, existe una gran cantidad de problemas que requieren de un análisis profundo
y de un pensamiento flexible y estructurado para su solución.
En este curso nos interesa abordar ese tipo de problemas. Invariablemente surgen ciertas
preguntas
1. ¿Podemos enseñar a resolver un problema?
2. ¿Podemos enseñar a analizar el mismo?
3. ¿Podemos enseñar a pensar .... ?
Por otra parte, un algoritmo consta de tres secciones o módulos principales. En la figura
1.2 podemos observar las secciones que constituyen un algoritmo.
El módulo 1 representa la operación o acción que permite el ingreso de los datos del
problema.
El módulo 2 representa la operación o conjunto de operaciones secuenciales, cuyo objetivo
es obtener la solución al problema.
4
1.4 Problemas y algoritmos | Capitulo I
El módulo 3 representa una operación o conjunto de operaciones que permiten comunicar
al exterior el o los resultados alcanzados.
Figura No 1.2:
Módulo o secciones de un algoritmo4 Algoritmos, diagramas de flujo y programas
Figura 1.2 Módulos o 5ecclones de un Algoritmo
1.2 Diagramas de flujo
Un diagrama de flujo representa la esquematización gráfica de un algoritmo. En 
realidad muestra gráficamente los pasos o procesos a seguir para alcanzar la solu­
ción de un problema. Su correcta construcción es sumamente importante porque 
a partir del mismo se escribe un programa en algún lenguaje de programación. Si 
el diagrama de flujo está completo y correcto, el paso del mismo a un lenguaje de 
programación es relativamente simple y directo.
A continuación en la tabla 1.1 presentamos los símbolos que utilizaremos, y 
una explicación de los mismos. Estos satisfacen las recomendaciones de la “Jn- 
ternational Organization for Standardizatiorí' (ISO) y la “American National 
Standards Institute” (ANSI).
A continuación en la figura 1.3 presentamos las etapas que debemos seguir 
en la construcción de un diagrama de flujo.
1.2.1 Reglas para la construcción de diagramas de flujo
Debemos recordar que un diagrama de flujo debe ilustrar gráficamente los pasos
o procesos a seguir para alcanzar la solución de un problema. Los símbolos pre­
sentados, colocados adecuadamente, permiten crear una estructura gráfica flexi­
ble que ilustra los pasos a seguir para alcanzar un resultado específico. El 
diagrama de flujo facilitará más tarde la escritura del programa en algún lenguaje 
de programación.
 www.FreeLibros.com
1.4.1 Ejemplo de algoritmos
1.4.1.1 Ejemplo 1
Elaborar un algoritmo para calcular el promedio final de la materia de algoritmos. Dicha
calificación se compone delos siguientes porcentajes.
55% —–del promedio final de sus calificaciones parciales (3)
30% —– de la calificación de promedio
15% —– de la calificación de un trabajo final
1.4.1.2 Ejemplo 2
Elabora un algoritmo para leer un numero y determinar si es par o impar.
1.4.1.3 Ejemplo 3
Solicitar un entero y determinar sí es múltiplo de 3 y además que se encuentre en el rango
(100-200).
1.4.1.4 Ejemplo 4
Desarrolle un algoritmo que realice la sumatoria de los números enteros comprendidos entre
el 1 y el 10, es decir, 1 + 2 + 3 + . . . . + 10.
1.4.1.5 Ejemplo 5
Determinar la hipotenusa de un triángulo rectángulo conocidas las longitudes de sus dos
catetos. Desarrolleel algoritmo correspondiente.
1.4.1.6 Ejemplo 6
Desarrolle un algoritmo que permita leer dos números y ordenarlos de menor a mayor, si es
el caso.
5
CA
PÍ
TU
LO II
PROGRAMACIÓN EN HP PPL
Este lenguaje esta orientado a secuencias y permite el manejo de datos de una forma muy
aprovechable, por lo que se precisa indicar que estas consideraciones pueden llegar a ser
exclusivas de PPL.
2.1 Estructura de comandos
Los programas pueden contener cualquier número de subrutinas (cada una de las cuales
es una función o procedimiento). Las subrutinas se inician con un encabezado que consta
del nombre seguido por paréntesis que contienen una lista de parámetros o argumentos,
separados por comas. El cuerpo de una subrutina consta de una secuencia de instrucciones
incluidas entre un par BEGIN-END. Por ejemplo, el cuerpo de un programa simple,
denominado MYPROGRAM, podría parecerse a esto:
EXPORT MYPROGAM()
BEGIN
PIXON(1,1);
END;
Los comandos se separan con punto y coma (;). Los comandos que aceptan varios
argumentos incluyen a estos últimos entre paréntesis, separados por comas( , ). Por ejemplo.
»> TEXTOUT_P(texto,posicion x, posicion y);
6
2.2 Comentarios | Capitulo II
En ocasiones, los argumentos de un comando son opcionales. Si se omite un argumento,
se utiliza un valor predeterminado en su lugar. En el caso del comando
TEXTOUTP, podría utilizarse un tercer argumento que especificara la fuente del texto:
»> TEXTOUT_P(texto,[G],posicion x, posicion y, [fuente]);
En este manual, los argumentos opcionales a los comandos aparecen dentro de corchetes,
como se ha mostrado anteriormente. En el ejemplo TEXTOUTP, una variable gráfica (G)
podría especificarse como segundo argumento. El valor predeterminado es G0, que contiene
siempre la pantalla mostrada en ese momento. Por lo tanto, la sintaxis mas completa del
comando TEXTOUTP es:
»> TEXTOUT_P(texto,[G],posicion x, posicion y, [fuente]);
2.2 Comentarios
Cuando una línea de un programa empieza con dos barras diagonales, //, se ignorará el
resto de la línea. Esto le permite introducir comentarios en el programa:
EXPORT MYPROGAM()
BEGIN
PIXON(1,1);
//Esta linea es solo un comentario.
END;
2.3 Catalogo de programas
El catálogo de programas es donde se ejecutan, depuran y guardan los programas. También
se puede cambiar el nombre de los programas o eliminarlos y es donde se inicia el editor de
programas. El editor de programa es donde se crean y editan los programas. También se
pueden ejecutar programas desde Vista de inicio o desde otros programas.
7
2.4 Creación de un nuevo programa | Capitulo II
Figura No 2.1:
Se ingresa presionando los botones Shift + 1
2.4 Creación de un nuevo programa
Existen dos maneras practicas para crear un nuevo programa la primera es desde la misma
HP PRIME y la segunda utilizando el software de conectividad de la Hp Prime:
2.4.1 Desde la HP PRIME
Se sigue los siguientes pasos:
1. Abra el catálogo de programas e inicie un programa nuevo.
2. Introduzca un nombre para el nuevo programa.
8
2.4 Creación de un nuevo programa | Capitulo II
3. Presione OK. Se crea automáticamente una plantilla para el programa. La plantilla
consta de un encabezado para una función del mismo nombre que el programa, que
encerrará las instrucciones de la función.
EXPORT HOLAMUNDO()
BEGIN
END;
2.4.2 Desde el software de conectividad de la HP PRIME.
Se sigue los siguientes pasos:
1. Abra el software de conectividad de la HP PRIME.
9
2.4 Creación de un nuevo programa | Capitulo II
2. En Programas presione anticlick y seleccioneNuevo introduzca el nombre del pro-
grama y le teclee enter.
3. Se crea automáticamente una ventana nueva para el programa.
Un nombre de programa solo puede contener caracteres alfanuméricos (letras y números)
y el carácter de subrayado. El primer carácter debe ser una letra. Por ejemplo,
HELLO_WORLD y Programa2 son nombres de programa válidos, mientras que HELLO
WORLD (no se permiten espacios) y 2Program! (empieza con un número e incluye un
signo !) no son válidos.
: Sugerencia
10
CA
PÍ
TU
LO III
VARIABLES Y OBJETOS
Son valores asignados en la memoria con un nombre dentro de un programa que se requieren
constantemente para ser operados.
Las variables en un programa de HP Prime pueden utilizarse para almacenar números,
listas, matrices, objetos de gráficos y cadenas. El nombre de una variable debe tener
una secuencia de carácteres alfanuméricos (letras y números), comenzado con una letra.
Los nombres reconocen mayúsculas y minúsculas, por lo tanto las variables denominadas
VarTem y varTEM son diferentes.
3.1 Variables Globales
Son aquellos valores que se declaran en un programa y pueden ser reconocidos en cualquier
otro programa de la calculadora( visible en cualquier lugar de la calculadora).
Estos variables se clasifican en los siguientes tipos:
3.1.0.1 Variables de inicio
Son las variables que poseen nombres reservados, es decir ya están declarados por defecto
dentro de la calculadora.
Por ejemplo, las variables integradas A a Z pueden utilizarse para almacenar números reales,
Z0 a Z9 pueden utilizarse para almacenar números complejos, M0 a M9 pueden utilizarse
para almacenar matrices y vectores y así sucesivamente. Estos nombres están reservados.
No se pueden usar para otros datos. Por ejemplo, no puede darle a un programa el nombre
M1ni almacenar un número real en una variable denominada Z8.
Estos variables se clasifican en los siguientes tipos:
1. Reales.
11
3.1 Variables Globales | Capitulo III
2. Complejos.
3. Listas.
4. Matrices.
12
3.1 Variables Globales | Capitulo III
5. Gráficos.
6. Configuración.
7. Sistema.
13
3.1 Variables Globales | Capitulo III
3.1.0.2 Variables de aplicaciones.
Son las variables que se utilizan para almacenar datos en las aplicaciones o para cambiar la
configuración de la aplicación. Poseen nombres reservados y no pueden ser creados por el
usuario.
Figura No 3.1:
Variables de aplicaciones
3.1.0.3 Variables de usuario
Son variables creadas por el usuario. Puede crear variables de usuario en un programa o
por asignación en la vista de inicio.
Las variables de usuario creadas por asignación o exportadas desde un programa aparecerán
en el menú de usuario Vars.
14
3.2 Variables locales. | Capitulo III
Figura No 3.2:
Variables de usuario
3.2 Variables locales.
En un programa puede declarar variables para usar solo dentro de una función específica.
Esto se realiza usando la declaración LOCAL. El uso de variables locales le permite declarar
y utilizar variables que no afectarán el resto de la calculadora. Las variables locales no
están vinculadas a un tipo particular; es decir, puede almacenar números de punto flotante,
enteros, listas, matrices y expresiones simbólicas en una variable con cualquier nombre local.
Aunque el sistema le permite almacenar distintos tipos en la misma variable local, esto es
una mala práctica de programación y debe ser evitada.
Figura No 3.3:
Variables locales
3.3 Objetos
Son valores asignados en una variable para ser operados dentro de un programa.
15
3.4 Declaración de variables | Capitulo III
Cuadro No 3.1 :
Tipo de objetos o identificadores de variables
Valor asignado Nombre objeto
0 Real
1 Entero
2 Cadena
3 Compleja
4 Matriz
5 Error
6 Lista
8 Función
9 Unidad
3.4 Declaración de variables
Expresión combinada. Para declarar variables usamos el comando LOCAL seguido de los
identificadores de la variable, esta acción no solo declara la variable (Reserva de espacio
en memoria), también le asigna un valor inicial aún si no se indicó ninguno, el valor
predeterminado es 0, entonces la variable queda definida como tipo Real. Si estamos
trabajando y vemos que de repente nos aparece un 0, es por esta razón.
Para evitar ésto, podemos iniciar de buena vez si es necesario, los tipos de datos a asignar.
EXPORT HOLAMUNDO()
BEGIN
LOCAL var1;
LOCAL var2:="";
LOCAL var3:=(0,0);
LOCAL var4:=[0];
LOCAL var5:=[[0]];
LOCAL var6:={};
LOCAL var7:=)0);
END;
16
3.4 Declaración de variables | Capitulo IIIFigura No 3.4:
Declaracion de variables
17
CA
PÍ
TU
LO IV
INGRESO Y SALIDA DE DATOS
En este capítulo aprenderemos cómo ingresar valores por el teclado y/o pantalla y hacer
que estos se guarden en variables. Nos permitirá hacer programas cuya ejecución cambie
según un valor que ingresemos.
4.1 Ingreso de datos
La entrada de datos consiste en colocar en la memoria principal datos provenientes desde
algún dispositivo de entrada( teclado, disco, etc. ) para que la computadora, de acuerdo
a un programa, realice una tarea. La salida de datos consiste en enviar datos ( que,
generalmente, son el resultado de un procesamiento) desde la memoria principal hacia un
dispositivo de salida ( pantalla, impresora, disco, etc.).
Existen Muchas maneras de ingreso de datos en la creación de programas; el mas simple
es utilizando el comando INPUT con sus diferentes variables, también se puede realizar el
ingreso de datos a través de la pantalla táctil de la calculadora y uno mas avanzado es con
la creación formularios interactivos.
4.1.1 Función
Los programas mas simples no necesitan de la creación de formularios. Con la asignación
de variables le es suficiente para poder operar y funcionar adecuadamente.
Ejemplo :
EXPORT RArea(b,h)
BEGIN
18
4.1 Ingreso de datos | Capitulo IV
LOCAL Area;
Area:=b*h;
RETURN "Area="+Area;
END;
(a) Ingreso de datos A (b) Ingreso de datos A
4.1.2 Comando INPUT
La forma más sencilla de este comando abre un cuadro de diálogo con el título dado y
un campo denominado etiqueta, y muestra el contenido de ayuda en la parte inferior. El
cuadro de diálogo incluye las teclas de menú CANCEL y OK. Se puede ingresar un valor
en el campo etiquetado. Al presionar la tecla de menú OK, la variable var se actualiza con
el valor introducido y el comando devuelve 1. Si se presiona la tecla de menú CANCEL, la
variable no se actualiza y devuelve 0.
En las formas más complejas del comando, se utilizan listas para crear un cuadro de diálogo
con varios campos. Si las variables son una lista, cada elemento puede ser un nombre de
variable o una lista que usa la siguiente sintaxis.
4.1.2.1 Sintaxis
Para una entrada:
INPUT(V,[title],[label],[help],[valor_reset],[valor_inicial])
Para múltiples entrada:
INPUT({V},[{title}],[{label}],[{help}],[{valor_reset}],[{valor_inicial}])
4.1.2.2 Forma simple
EXPORT AREACALC()
19
4.1 Ingreso de datos | Capitulo IV
BEGIN
LOCAL radio;
INPUT(radio, "Radio del circulo","R = ","Enter radius",1);
END;
Ejecución del programa
Figura No 4.1:
Formularios Interactivos
4.1.2.3 Forma completa
Estructura del comando INPUT:
Figura No 4.2:
Declaracion de variables
Ejecución del programa:
20
4.1 Ingreso de datos | Capitulo IV
Figura No 4.3:
Declaracion de variables
Código del programa:
EXPORT RInput
BEGIN
LOCAL Aa,Bb, Cc,Dd,Ee;
INPUT
(
{
{Aa,[0],{25,25,0}},
{Bb,[1],{25,20,1}},
{Cc,[6],{25,25,2}},
{Dd,{"Esc A","Esc B","Esc C","Esc D"},{25,25,3}},
{Ee,0,{25,25,4}}
},
"TITULO DEL FORMULARIO",
{
"Etiqueta 1: ",
"Etiqueta 2: ",
"Etiqueta 3 : ",
"Etiqueta 4 : ",
"Etiqueta 5 : "
},
{
"Ayuda 1",
"Ayuda 2",
"Ayuda 3",
"Ayuda 4",
21
4.2 Formularios interactivos | Capitulo IV
"Ayuda 5"
},
{2.5,20,{2,5},2,0},
{2.5,20,{2,5},2,0}
);
END;
4.1.3 Pantalla táctil
La calculadora HP PRIME permite el ingreso de datos a través de su pantalla táctil, para
ello utiliza los comandosMOUSE yWAIT, en capítulos posteriores se desarrollara a detalle
este tipo de ingreso.
Ejemplo de Ingreso de datos con el teclado.
Figura No 4.4:
Ingreso de datos a través de la pantalla táctil
4.2 Formularios interactivos
Este tipo de ingreso de datos consiste en crear un formulario personalizado al gusto del
programador. En capítulos posteriores de desarrollara.
Ejemplos:
22
4.3 Otros | Capitulo IV
Figura No 4.5:
Formularios Interactivos
Figura No 4.6:
Formularios interactivos
4.3 Otros
También se puede personalizar el ingreso de datos a través de matrices, vectores, listas,
etc.
4.4 Salida de datos
Los datos de salida son datos derivados, es decir, obtenidos a partir de los datos de entrada.
Por esta razón, a los datos de salida se les considera más significativos que a los datos
de entrada. Ambos tipos de datos son información (textos y imágenes) que maneja la
calculadora. Sin embargo, en un sentido más filosófico, a los datos de entrada se les
considera la materia prima de los datos de salida, considerados estos como la verdadera
información.
Al igual que el ingreso de datos la calculadora presenta una gama de formatos de salida de
datos por defecto y personalizadas
23
4.4 Salida de datos | Capitulo IV
4.4.1 Comando MSGBOX
Muestra un cuadro de mensaje con el valor de la expresión o cadena dada.
4.4.1.1 Sintaxis
MSGBOX(expresion o cadena [ok_cancel]);
Ejemplo:
EXPORT AREACALC()
BEGIN
LOCAL radio,ar;
INPUT(radio, "Radio del circulo","R = ","Enter radius",1);
ar:=PI*radio^2;
MSGBOX("El area del circulo es:" + ar);
END;
Procesando el programa.
(a) Ingreso del valor = 10 (b) Comando MSGBOX
4.4.2 Comando PRINT
Imprime el resultado de expresión o cadena en el terminal.
El terminal es un mecanismo de visualización de salida de texto que se muestra solo cuando
se ejecutan los comandos PRINT.
4.4.2.1 Sintaxis
PRINT(expresion o cadena);
Ejemplo:
24
4.4 Salida de datos | Capitulo IV
EXPORT AREACALC()
BEGIN
LOCAL radio,ar;
INPUT(radio, "Radio del circulo","R = ","Enter radius",1);
ar:=PI*radio^2;
PRINT("El radio es: " +ar);
END;
Procesando el programa.
(c) Ingreso del valor = 10 (d) Comando PRINT
4.4.3 Ingreso de datos personalizados
Existen comandos para salida de datos en la sección Gráficos. En particular, se pueden
utilizar los comandos TEXTOUT y TEXTOUTP para salida de texto.
Figura No 4.7:
Formularios interactivos
4.5 Ejercicios
25
4.5 Ejercicios | Capitulo IV
4.5.1 Ejercicio 1
Figura No 4.8:
Formularios interactivos
4.5.2 Ejercicio 2
Figura No 4.9:
Formularios interactivos
26
4.5 Ejercicios | Capitulo IV
4.5.3 Ejercicio 3
Figura No 4.10:
Formularios interactivos
4.5.4 Ejemplo Nro 4
Realizar un programa donde se calcule el momento de inercia geométrico de un rectángulo
con respecto al eje X y Y.
1. Variables de entrada: Longitud de Base del rectángulo y altura del rectángulo.
2. Proceso: Calculo de Momentos de inercia.
3. Salida de datos: Momento de inercia con respecto al eje X y Y.
Código del programa.
EXPORT MI()
BEGIN
//1 ->Declaracion de variables.
LOCAL a , b, Ix, Iy, Icg;
//2 ->Ingreso de datos.
INPUT
(
{
{a ,[0],{ 25,25,0}},
{b ,[0],{ 25,20,1}}
},
"MOMENTO DE INERCIA" ,
{
" Base: " ,
27
4.5 Ejercicios | Capitulo IV
" Altura : "
},
{
" Ingrese la base del rectangulo (cm)" ,
" Ingrese la altura del rectangulo (cm)"
},
{25,20 },
{25,20 }
);
//3 ->Calculo de momentos de inercia.
Icg:=b*a^3/12;
Ix:= Icg+b*a*(a/2)^2;
Iy:= Icg+b*a*(b/2)^2;
//4 ->Salida de datos.
PRINT(); //->limpiar pantalla
PRINT(" CALCULO DE MOMENTO DE INERCIA");
PRINT("");
PRINT("1.−Momento de inercia I_cg");
PRINT(" Icg =" + Icg + " cm");
PRINT("2.−Momento de inercia Ixx");
PRINT(" Ixx =" + Ix + " cm");
PRINT("3.−Momento de inercia Iyy");
PRINT(" Iyy =" + Iy + " cm");
END;
Procesando el programa.
(a) Ingreso de datos (b) Resultados
28
CA
PÍ
TU
LO V
BIFURCACIONES Y BUCLES
5.1 Bifurcación
Un condicional en la programación es una sentencia o grupo de sentencias que puede
ejecutarse o no en función del valor de una condición.
Los tipos más conocidos de condicionales son el SI (IF) y el SEGÚN (case), aunque también
podríamos mencionar al lanzamiento de errores como una alternativa más moderna para
evitar los cierres inesperados de nuestros programas.
5.1.1 Operadores
La calculadora HP Prime realiza cálculos en función del siguiente orden de precedencia. Las
funciones con la misma precedencia se evalúan de izquierda a derecha.
1. Expresiones entre paréntesis. Los paréntesis anidados se evalúan de dentro hacia
fuera.
2. Raíz n-ésima (sqrt)
3. Potencia, 10n
4. Negación, multiplicación, división y módulo
5. Suma y resta
6. Operadores relacionales(<,>,≤,≥,==, 6=,=)
7. AND y NOT
8. OR y XOR
9. Argumento izquierdo de | (where)
10. Asignación a una variable (:=)
29
5.1 Bifurcación | Capitulo V
5.1.2 Ejemplos
5.1.2.1 Ejemplo 1
Elabore un programa que pida al usuario dos numero e imprima el mayor de ellos.
5.1.2.2 Ejemplo 2
Elabore un programa que pida un numero y si diga si es o no múltiplo de 3.
5.1.2.3 Ejemplo 3
Elabore un programa que pida un numero y si diga si es o no múltiplo de 3.
5.1.2.4 Ejemplo 4
Dado 3 números deducir cual es el central.
5.1.2.5 Ejemplo 5
Que dados dos números n1 y n2 se quiere dividir n1 entre n2 siempre y cuando n2 no sea
cero, determinar e imprimir el resultado de la división en caso contrario imprimir “No se
puede dividir”.
5.1.2.6 Ejemplo 6
Que lea dos temperaturas, imprimir “Hace Frio” si la temperatura es inferior a 15o, en caso
contrario imprimir “Hace Calor”.
5.1.3 Comando IF THEN
Evalúa prueba. Si prueba es verdadero (distinto de 0), ejecuta comandos. De lo contrario,
no sucede nada.
5.1.3.1 Sintaxis
IF prueba THEN
comandos
END;
Ejemplo :
EXPORT C1(A)
BEGIN
PRINT();
IF A<10 THEN
PRINT("EL NUMERO INGRESADO ES MENOR QUE 10");
END;
END;
Procesando el programa.
30
5.1 Bifurcación | Capitulo V
(a) Código del programa (b) Resultado del programa
5.1.4 Comando IF THEN ELSE
Evalúa prueba. Si prueba es verdadero (distinto de 0), ejecuta comandos 1, de lo contrario,
ejecuta comandos.
5.1.4.1 Sintaxis
IF prueba THEN
comandos 1
ELSE
comandos 2
END;
Ejemplo :
EXPORT C1(A)
BEGIN
PRINT();
IF A<10 THEN
PRINT("EL NUMERO INGRESADO ES MENOR QUE 10");
ELSE
PRINT("EL NUMERO INGRESADO ES MAYOR QUE 10");
END;
END;
Procesando el programa.
31
5.1 Bifurcación | Capitulo V
(c) Código del programa (d) Resultado del programa
5.1.5 Comando CASE
Evalúa prueba1. Si es verdadero, ejecuta comandos1 y cierra el CASE. De lo contrario,
evalúa prueba2. Si es verdadero, ejecuta comandos2 y cierra el CASE. Continúa evaluando
pruebas hasta que encuentra una verdadera. Si no encuentra ninguna prueba verdadera,
ejecuta los comandos predeterminados, si se proporcionan. El comando CASE se limita a
127 bifurcaciones.
5.1.5.1 Sintaxis
CASE
IF prueba1 THEN
comandos1
END;
IF prueba2 THEN
comandos2
END;
...
[DEFAULT comandos]
END;
EXPORT C1(A)
BEGIN
PRINT();
CASE
IF A<10 THEN
PRINT("EL NUMERO INGRESADO ES MENOR QUE 10");
END;
IF A=10 THEN
32
5.1 Bifurcación | Capitulo V
PRINT("EL NUMERO INGRESADO ES IGUAL A 10");
END;
IF A>10 THEN
PRINT("EL NUMERO INGRESADO ES MAYOR QUE 10");
END;
END;
END;
Procesando el programa.
(e) Código del programa (f) Resultado del programa
5.1.6 Comando IFERR
Ejecuta la secuencia de comandos1. Si se produce un error durante la ejecución de
comandos1, ejecuta la secuencia de comandos2.
5.1.6.1 Sintaxis
IFERR
comandos1
THEN
comandos2
END;
Ejemplo :
EXPORT C1(A)
BEGIN
PRINT();
IFERR
PRINT("LA INVERSA DEL NUMERO ES:" + 1/A);
THEN
PRINT("INGRESE UN NUM DIFERENTE DE CERO");
33
5.1 Bifurcación | Capitulo V
END;
END;
Procesando el programa.
(g) Código del programa (h) Resultado del programa
5.1.7 Comando IFERR ELSE
Ejecuta la secuencia de comandos1. Si se produce un error durante la ejecución de
commands1, ejecuta la secuencia de commands2. De lo contrario, ejecuta la secuencia
de comandos3.
5.1.7.1 Sintaxis
IFERR
comandos1
THEN
comandos2
ELSE
comandos3
END;
5.1.8 Ejemplo 01
Cálculo de tipo de flujo en tuberías.
5.1.8.1 Datos:
Q = 0.1 m3/s
D = 10 pulg.
ν = 1.14× 10−6 m2/s
5.1.8.2 Donde:
Re = 4Q
πνD
(5.1)
34
5.2 Bucle | Capitulo V
Re < 2100⇒ FLUJO LAMINAR
2100 ≤ Re < 4100⇒ FLUJO EN TRANSICION
Re ≥ 4100⇒ FLUJO TUEBULENTO
5.2 Bucle
Los ciclos repetitivos también llamados lazos o bucles permiten repetir una operación o
secuencia de operaciones en función de ciertas condiciones. Es un segmento de un algoritmo
o programa cuyas instrucciones se repiten un número determinado de veces mientras se
cumpla una determinada condición. Consta de tres partes:
1. Decisión.
2. Cuerpo del bucle
3. Salida del bucle.
Dentro de los ciclos se utilizan contadores y acumuladores, que regulan que el ciclo llegue
a su fin.
1. Contador: Es un tipo de variable que incrementa o decrementa su valor en un valor
constante.
Cuando decimos incrementa estamos sumando. Ejemplo: Veces = Veces + 1
Como se puede observar a la variable "veces" se le está incrementando un valor
constante (1); es decir a su contenido le sumas el valor y se vuelve a guardar en la
misma variable.
Es una variable cuyo valor se incrementa o decremento en una cantidad constante en
cada iteración.
Puede ser positivo (incrementos, uno e uno) o negativo (decremento, uno en uno).
2. Acumulador: Es una variable que incrementa o decrementa su contenido en cantidades
variables.
Ejemplo: Nomina = Nomina + sueldo
5.2.1 Ejercicios
5.2.1.1 Ejercicio 1
Que lea un numero N y calcule la suma de los números menores que N.
5.2.1.2 Ejercicio 2
Que lea un numero N y que permita calcular el promedio de los números menores que N.
5.2.1.3 Ejercicio 3
Que lea N números ingresados por teclado y decir si son múltiplo de 5.
5.2.1.4 Ejercicio 4
Que permita mostrar los N primeros números naturales.
35
5.2 Bucle | Capitulo V
5.2.1.5 Ejercicio 5
Que permita mostrar los N primeros números impares.
5.2.1.6 Ejercicio 6
Que permita mostrar la suma de los N primeros números pares.
5.2.1.7 Ejercicio 7
Que calcule la siguiente suma:
S = 1 + x1 +
x
2 +
x
3 ...
5.2.1.8 Ejercicio 8
Que muestre las tablas de multiplicar del numero 9.
5.2.1.9 Ejercicio 9
Que lea N números y que muestre el mayor de ellos.
5.2.1.10 Ejercicio 10
Calcule la suma y el promedio de los números pares menores o iguales que un numero K
leído al comienzo.
5.2.1.11 Ejercicio 11
Que calcule el factorial de un número N ingresado por el teclado.
5.2.2 Comando FOR
Define la variable var con el valor de inicio y siempre que el valor de esta variable sea inferior
o igual a fin, ejecuta la secuencia de comandos, y luego incremente 1 a la variable.
Lo resaltaste de este comando es que ejecuta un número especificado de veces y de modo
automático controla el número de iteraciones o pasos a través del cuerpo del bucle.
5.2.2.1 Sintaxis
FOR var FROM inicio TO fin DO
comandos
END;
FOR var:=inicio TO fin DO
comandos
END;
Ejemplo :
36
5.2 Bucle | Capitulo V
EXPORT BUCLES(A)
BEGIN
//1 ->Declaracion de variables.
LOCAL Factorial,i;
//2 ->Proceso de datos
Factorial:=1;
FOR i:=1 TO A DO
Factorial:=i*Factorial;
END;
//3 ->Salida de datos
PRINT();
PRINT("El factorial de "+A + " es igual a " +Factorial );
END;
Procesando el programa.
(i) Código del programa (j) Resultado del programa
5.2.3 Comando FOR STEP
Define la variable var con el valor inicio y siempre que el valor de esta variable sea inferior
o igual a fin ejecuta la secuencia de comandos y luego suma incremento a var.
5.2.3.1 Sintaxis
FOR var FROM inicio TO fin [STEP incremento] DO
comandos
END;
FOR var:=inicio TO fin [STEP incremento] DO
37
5.2 Bucle | Capitulo V
comandos
END;
Ejemplo :
EXPORT BUCLES(A,b)
BEGIN
//1 ->Declaracion de variables.
LOCAL Mult,i;
//2 ->Proceso de datos
Mult:=1;
FOR i:=1 TO A STEP b DO
Mult:=i*Mult;
END;
//3 ->Salida de datos
PRINT();
PRINT("Producto de los primeros "+ A +"numeros tomados de" +b+ "en"+ ←↩
b+ " es igual a " +Mult );
END;
Procesando el programa.
(k) Código del programa (l) Resultado del programa
5.2.4 Comando FOR DOWN
Define la variable var con el valor inicio y siempre que el valor de esta variable sea mayor o
igual a fin, ejecuta la secuencia de comandos, y luego resta 1 (decremento) a var.
5.2.4.1 Sintaxis
38
5.2 Bucle | Capitulo V
FOR var FROM inico DOWNTO fin DO
comandos
END;
FOR var:=inico DOWNTO fin DO
comandos
END;
Ejemplo :
EXPORT BUCLES(A,b)
BEGIN
//1 ->Declaracion de variables.
LOCAL i;
//2 ->Proceso de datos y salida de datos
PRINT();
FOR i:=A DOWNTO b DO
PRINT("Numero " + i );
END;
END;
Procesando el programa.
(m) Código del programa (n) Resultado del programa
5.2.5 Comando FORSTEP DOWN
Define la variable var con el valor inicio y siempre que el valor de esta variable sea mayor o
igual a fin ejecuta la secuencia de comandos y luego resta decremento a var.
5.2.5.1 Sintaxis
39
5.2 Bucle | Capitulo V
FOR var FROM inicio DOWNTO fin [STEP incremento] DO
comandos
END;
5.2.6 Comando WHILE
Evalúa prueba. Si el resultado es verdadero (distinto de 0), ejecuta los comandos y repite.
Es decir, repite mientras el test sea verdadero.
5.2.6.1 Sintaxis
WHILE prueba DO
comandos
END;
Ejemplo :
EXPORT BUCLES(A)
BEGIN
//1 ->Declaracion de variables.
LOCAL Factorial,i;
//2 ->Proceso de datos
Factorial:=1;
i:=1;
WHILE i<=A DO
Factorial:=i*Factorial;
i:=i+1;
END;
//3 ->Salida de datos
PRINT();
PRINT("El factorial de "+A + " es igual a " +Factorial );
END;
Procesando el programa.
40
5.2 Bucle | Capitulo V
(o) Código del programa (p) Resultado del programa
5.2.7 Comando REPEAT
Repite la secuencia de comandos hasta que el valor de test sea verdadero (distinto de 0).
Es decir, repite mientras el test sea falso.
5.2.7.1 Sintaxis
REPEAT
comandos
UNTIL prueba ;
EXPORT BUCLES(A)
BEGIN
//1 ->Declaracion de variables.
LOCAL Factorial,i;
//2 ->Proceso de datos
Factorial:=1;
i:=1;
REPEAT
i:=i+1;
Factorial:=i*Factorial;
UNTIL i=A;
//3 ->Salida de datos
PRINT();
PRINT("El factorial de "+A + " es igual a " +Factorial );
END;
41
5.2 Bucle | Capitulo V
Procesando el programa.
(q) Código del programa (r) Resultado del programa
5.2.8 Comando BREAK
Sale del comando de bucles rompiendo n niveles de bucle. La ejecución retoma en la primera
instrucción después del bucle. Sin un argumento, sale desde un único bucle.
5.2.8.1 Sintaxis
BREAK(n);
5.2.9 Ejemplos
5.2.9.1 Ejemplo 1
Calcule la suma de los números ingresados en una lista.
EXPORT LISTAS()
BEGIN
//1 ->Declaracion de variables.
LOCAL List:={},i,n,Suma;
//2 ->Ingreso de datos.
INPUT
(
{
{List ,[6],{25,50,3}}
},
"Suma" ,
{
" Numeros: "
},
42
5.2 Bucle | Capitulo V
{
"Ingrese una lista de numeros"
},
{{1,2,3,4,5}},
{{1,2,3,4,5}}
);
//3 ->Calculo del area del poligono.
n:=length(List); //-> Numero de elemntos de la lista
FOR i:=1 TO n DO
Suma:=Suma+List(i);
END;
//4 ->Salida de datos.
PRINT(); //-> Limpia la pantalla
PRINT("La suma de los numeros es:" +Suma);
END;
5.2.9.2 Ejemplo 2
Calcule el área de cualquier polígono ingresando sus coordenadas.
43
CA
PÍ
TU
LO VI
CADENAS
6.1 Definición
Una cadena es una secuencia de carácteres entre comillas (""). Para poner comillas dobles
en una cadena, use dos comillas consecutivas. Las cadenas se pueden utilizar en los
diferentes tipos de salida de datos en los programas.
1 Salida de datos con el comando PRINT.
EXPORT CPRINT()
BEGIN
LOCAL Variable;
PRINT();
PRINT("La Variable A = " + Variable + "metros");
END;
2 Salida de datos con el comando TEXTOUT.
EXPORT CTEXTOUT()
BEGIN
LOCAL Variable:=10;
RECT();
TEXTOUT_P("La Variable A = " + Variable + " metros", 10, 10 ,1);
WAIT;
44
6.2 ASC | Capitulo VI
END;
3 Salida de datos con el comando MSGBOX.
EXPORT CMSGBOX()
BEGIN
LOCAL Variable:=10;
MSGBOX("La Variable A = " + Variable + " metros");
END;
6.2 ASC
Devuelve una lista que contiene los códigos ASCII de cadena.
Sintaxis: ASC(cadena)
Por ejemplo:
»> ASC("AB") devuelve [65,66]
6.3 LOWER
Convierte caracteres en mayúsculas a una cadena en minúsculas.
Sintaxis: LOWER(cadena)
Ejemplos:
»> LOWER("ABC") devuelve "abc"
6.4 CHAR
Devuelve la cadena correspondiente a los códigos de carácter en vector o el código único
del entero.
Sintaxis 1: CHAR(cadena)
Sintaxis 2: CHAR(entero)
Ejemplos:
»> CHAR([82,77,72]) devuelve "RMH"
45
6.5 DIM | Capitulo VI
6.5 DIM
Devuelve a la cantidad de caracteres en cadena.
Sintaxis: DIM(cadena)
Ejemplos:
»> DIM("12345") devuelve 5
»> DIM( "" "" )devuelve 1
»> DIM("n") devuelve 1
(Observe el uso de dos comillas dobles y la secuencia de escape).
6.6 STRING
Evalúa la expresión y devuelve el resultado como una cadena. Los parámetros adicionales
especifican cómo se muestran los números.
Si se especifica el Modo, debe ser:
Cuadro No 6.1 :
Tipo de objetos o identificadores de variables
Valor Asignado Nombre del Objeto
0 Utilice la configuración actual
1 Estándar
2 Fijo
3 Científico
4 Ingeniería
5 Flotante
6 Redondeo
7 Fracción
La precisión es -1 para la configuración actual o de 0 a 12.
Sintaxis: STRING(Expresión, [Modo], [Precisión])
46
CA
PÍ
TU
LO VII
LISTAS Y MATRICES
7.1 Array
Un array es una colección de datos del mismo tipo, que se almacena en posiciones consec-
utivas de memoria y reciben un nombre común. Para referirse a un determinado elemento
de un array se debera utilizar un índice, que especifique su posicion relativa en el array. Los
array podran ser.
1 Unidimensionales −→ Vectores.
2 Bidimensionales −→ Matrices o tablas.
3 Multidimensionales con 3 o mas dimensiones.
Figura No 7.1:
Tipos de array
47
7.2 Listas | Capitulo VII
7.2 Listas
Una lista consta de números reales o complejos separados por comas, expresiones o matrices,
todos entre llaves. Por ejemplo, una lista puede contener una secuencia de números reales
como 1,2,3. Las listas representan una forma práctica de agrupar objetos relacionados.
Puede realizar operaciones realizadas con las listas en Inicio y en los propios programas.
Hay diez variables de lista disponibles, denominadas de L0 a L9. Puede utilizarlas en
cálculos o expresiones en Inicio o en un programa. Recupere el nombre de la lista del menú
Vars. ( ) o escriba su nombre con el teclado.
7.2.1 Creación de listas
Calcula una secuencia de elementos para una nueva lista mediante la sintaxis:
Sintaxis: MAKELIST(expresión,[variable],[principio],[final],[incremento])
Ejemplos:
»> MAKELIST(A,A,1,5,1) devuelve {1,2,3,4,5}
7.2.2 SORT
Ordena los elementos de la lista en orden ascendente.
Sintaxis: SORT(lista)
Ejemplos:
»> SORT({2,5,3}) devuelve {2,3,5}
7.2.3 CONCAT
Concatena dos listas para formar una nueva lista.
Sintaxis: CONCAT(lista1,lista2)
Ejemplos:
»> CONCAT({1,2,3},{4}) devuelve {1,2,3,4}.
7.2.4 Posición
Devuelve la posición de un elemento en la lista. El elemento puede ser un valor, una variable
o una expresión.
Si hay más de una instancia del elemento, devuelve la posición de la primera incidencia del
elemento. Si no hay ninguna incidencia del elemento especifcado, devuelve un valor 0.
48
7.3 Matrices | Capitulo VII
Sintaxis: POS(lista, elemento)
Ejemplos 1:
»> POS({3,7,12,19},12) devuelve 3
Ejemplos 2 - lenguaje de programción HP PPL:
»> A:={3,7,12,19}; // Lista A declarada.
»> b:=A(3); obtenemos b=12
7.2.5 Tamaño
Devuelve el número de elementos de una lista o una lista que contiene las dimensiones de
un vector o matriz.
Sintaxis 1: SIZE(lista)
Sintaxis 2: SIZE(Vector)
Sintaxis 3: SIZE(Matriz)
Ejemplos:
»> SIZE({1,2,3}) devuelve 3
»> SIZE([[1 2 3], [4 5 6]]) devuelve {2, 3}
7.2.6 EDITLIST
Inicia el Editor de lista cargando listvar y muestra la lista especifcada. Si se utiliza en
programación, retorna al programa cuando el usuario pulsa .
Sintaxis: EDITLIST(listvar)
Ejemplos:
»> EDITLIST(L1) devuelve lista L1 editable.
7.3 Matrices
Algunos comandos de matriz toman como su argumento el nombre de la variable de matriz
sobre la cual se aplica el comando. Los nombres válidos son las variables globales M0–M9
o una variable local que contenga una matriz. También puede introducir una matriz
directamente como un argumento para el comando.
49
7.3 Matrices | Capitulo VII
7.3.1 ADDCOL
Inserta los valores en vector en una nueva columna insertada antes de número-columna en
la matriz especificada. El número de valores en el vector debe ser igual a la cantidad de
filas de la matriz.
Sintaxis: ADDCOL(nombrematriz, vector, número-columna)
7.3.2 ADDROW
Inserta los valores en vector en una nueva fila insertada antes de número-fila en la matriz
especificada.
Sintaxis: ADDROW(nombrematriz, vector, número-fila)
El número de valores en el vector debe ser igual al número de columnas de la matriz.
7.3.3 DELCOL
Elimina la columnanúmero-columna de la matriz.
Sintaxis: DELCOL(nombre, número-columna)
7.3.4 DELROW
Elimina la fila número-fila de la matriz.
Sintaxis: DELROW(nombre,número-fila)
7.3.5 EDITMAT
Inicia el Editor de matriz y muestra la matriz especificada. Si se utiliza en programación,
vuelve al programa cuando el usuario presiona. A pesar de que este comando devuelve
la matriz que ha sido editada, EDITMAT no puede ser utilizado como un argumento en
otros comandos de matriz.
Sintaxis: EDITMAT(matvar)
Ejemplos:
»> EDITMAT(M1) devuelve lista M1 editable.
7.3.6 REDIM
Redimensiona la matriz o vector especificado a tamaño. Para una matriz, tamaño es una
lista de dos números enteros (n1, n2). Para un vector, tamaño es una lista que contiene
un número entero (n). Se mantienen los valores existentes en la matriz. El valor de relleno
será 0.
50
7.3 Matrices | Capitulo VII
Sintaxis: REDIM(nombre, tamaño)
7.3.7 REPLACE
Reemplaza parte de una matriz o vector almacenado en matriz con un objeto comenzando
por la posición de inicio. El inicio para una matriz es una lista que contiene dos números;
para un vector, es un único número.
Sintaxis: REPLACE(nombre, inicio, objeto)
REPLACE también funciona con listas, gráficos y cadenas.
Ejemplo,
»> REPLACE("123456", 2, "GRM") devuelve "1GRM56"
7.3.8 SCALE
Multiplica el número− fila de la matriz especificada por valor.
Sintaxis: SCALE(nombre, valor, número-fila)
7.3.9 SCALEADD
Multiplica fila1 de la matriz (nombre) por valor y, a continuación, añade este resultado a
fila2 de la matriz (nombre) y sustituye fila1 por el resultado.
Sintaxis: SCALEADD(nombre, valor, fila1, fila2)
7.3.10 SUB
Extrae un subobjeto (una parte de una lista, matriz o gráfico) y lo guarda en nombre. Inicio
y fin se especifican por medio de una lista de dos números para una matriz, un número para
un vector o para listas, o un par ordenado, (X,Y), para gráficas: SUB(M11,2,2,2)
Sintaxis: SUB(nombre, inicio, fin)
7.3.11 SWAPCOL
Intercambia columna1 y columna2 de la matriz especificada (nombre).
Sintaxis: SWAPCOL(nombre, columna1, columna2)
7.3.12 SWAPROW
Intercambia fila1 y fila2 en la matriz especificada (nombre).
Sintaxis: SWAPROW(nombre, fila1, fila2)
51
7.4 Comandos especiales | Capitulo VII
7.3.13 Posición
Devuelve la posición de un elemento de la matriz dada.
Ejemplos 2 - lenguaje de programción HP PPL:
»> M2:=[[10 20 30], [15 25 35]]; // Matriz M2 declarada.
»> b:=M2(2,3); obtenemos b=35
7.4 Comandos especiales
7.4.1 GETKEY
Devuelve el ID(identifcador) de la primera tecla en el búfer del teclado, o -1 si no se
pulsó 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.
Figura No 7.2:
Valores de teclas obtenidos con el comando GETKEY
GETKEY
Sintaxis: GETKEY
Devuelve el ID (identificador) de la primera tecla en el búfer del teclado, o –1 si no se pulsó 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.
INPUT
Sintaxis: INPUT(var,[“title”], [“label”], [“help”], [reset_value], 
[initial_value])
Sintaxis: INPUT({vars},[“título”], [{“etiquetas”}], [{“ayuda”}], 
[{restablecer_valores}], [{valores_iniciales}])
La forma más sencilla de este comando abre un cuadro de diálogo con el título dado y un campo denominado 
etiqueta, y muestra el contenido de ayuda en la parte inferior. El cuadro de diálogo incluye las teclas de menú 
CANCEL y OK. El usuario puede ingresar 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 el comando devuelve 1. Si el usuario presiona 
la tecla de menú CANCEL, la variable no se actualiza y devuelve 0.
En las formas más complejas del comando, se utilizan listas para crear un cuadro de diálogo con varios 
campos. Si var es una lista, cada elemento puede ser un nombre de variable o una lista que usa la siguiente 
sintaxis.
Comandos de programa 599
7.4.2 ISKEYDOWN
Devuelve true(verdadero) (distinto de cero) si la tecla cuyo id-tecla se proporciona está
presionada actualmente y falso (0) si no es así.
Sintaxis: ISKEYDOWN(id-tecla)
52
7.5 Ejemplos | Capitulo VII
7.5 Ejemplos
Ejemplo 1
Desarrolle una funcion que encuentre el máximo y mínimo valor en una lista de listas
de numeros naturales.
Solución:
Codigo Fuente :
EXPORT MaxLista()
BEGIN
// 1->Declarando variables
LOCAL Lista:={2,3,15,7,10},i,n,mayor,menor;
// 2->Ingreso de datos
INPUT
(
{
{Lista,[6],{25,70,0}}
},
"MAX VALOR LISTA",
{
"Lista: "
},
{
"Ingrese una lista {a,b,c,...,z}"
},
{Lista},
{Lista}
);
// 3->Proceso del programa
n:=SIZE(Lista);
mayor:=Lista(1);
menor:=Lista(1);
FOR i:=1 TO n DO
IF Lista(i)>mayor THEN
mayor:=Lista(i)
END;
IF Lista(i)<menor THEN
menor:=Lista(i)
53
7.5 Ejemplos | Capitulo VII
END;
END;
// 4->Proceso del programa
MSGBOX("El Maximo valor de la lista es: " + mayor + " y el minimo es: " + ←↩
menor );
END;
Procesando el codigo se obtiene :
(a) Ingreso de datos (b) Resultados
Ejemplo 2
Calcular el promedio de n valores almacenados en un vector. determinar además
cuantos son menor que el promedio, imprimir el promedio, el número de datos menores
que el promedio y una lista de valores menores que el promedio.
Ejemplo 3
Hacer un algoritmo que llene una matriz de m * n y que imprima cuantos de los
números almacenados son ceros, cuántos son positivos y cuántos son negativos.
54
CA
PÍ
TU
LO VIII
Objetos Gráficos
Existen 10 variables de gráficos integradas en HP Prime llamadas G0–G9. G0 es siempre
el gráfico de la pantalla actual.
El G1 al G9 pueden utilizarse para almacenar los objetos gráficos temporales (abreviados
GROBs) al programar aplicaciones que usen gráficos. Son temporales y, por consiguiente,
se borran al apagar la calculadora.
Se pueden usar veintiséis funciones para modificar las variables de gráficos. Trece de
ellas trabajan con coordenadas cartesianas utilizando el plano cartesiano definido en la
aplicación actual por las variables Xmin, Xmax, Ymin e Ymax.
»> RECT();
»> ARC(G0, 0, 0, 100);
»> WAIT(1);
Las trece restantes trabajan con coordenadas de píxel donde el píxel 0,0 es el píxel superior
izquierdo de la GROB y 320, 240 es el inferior derecho. Las funciones de este segundo
55
8.1 Comando de ingreso de datos | Capitulo VIII
conjunto tienen un sufijo -P para el nombre de la función.
»> RECT();
»> ARC_P(G0, 100, 100, 100);
»> WAIT(1);
8.1 Comando de ingreso de datos
8.1.1 MOUSE
Devuelve dos listas que describen la ubicación actual de cada puntero posible (listas vacías
si no se utilizan punteros). La salida es {x, y, z original, y original, 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).
Sintaxis: MOUSE(índice)
EXPORT CMOUSE()
BEGIN
LOCAL tocar;
REPEAT
RECT();
tocar:=B->R(MOUSE());
WAIT(-1);
IF SIZE(tocar(1))=0 THEN
MSGBOX(tocar);
END;
UNTIL ISKEYDOWN(4);
END;
8.1.2 WAIT
Pausa la ejecución del programa durante n segundos. Con ningún argumento o con n = 0,
pausa la ejecución durante un minuto.
56
8.1 Comando de ingreso de datos | Capitulo VIII
Sintaxis: WAIT(n)
Si n=-1, pausa la ejecución hasta que se pulsa una tecla o exista una actividad del mouse,
devolviendo el código de la tecla o una lista de la forma {tipo, x, y, dx, dy }.
Donde: =
 x, y : : eslaposicióndeleventotipo : eseltipodeactividad
Cuadro No 8.1 :
Tipo de objetos o identificadores de variables
Tipo Descripción
0 : mouse hacia abajo
1 : movimiento del mouse
2 : mouse hacia arriba
3 : Clic del mouse
5 : estiramiento del mouse
6 : rotación del mouse
7 : clic largo del mouse
EXPORT Programa()
BEGIN
LOCAL SALIR,accion;
RECT();
REPEAT
RECT();
accion:=B->R(WAIT(-1));
IF TYPE(accion)==6 THEN // Tipo de argumento Lista.
IF accion(1)==1 THEN
MSGBOX("Movimientodel mouse: "+accion(1));
END;
IF accion(1)==3 THEN
MSGBOX("Clic del mouse: "+accion(1));
END;
IF accion(1)==7 THEN
MSGBOX("Clic largo del mouse: "+accion(1));
END;
END;
57
8.2 Comandos | Capitulo VIII
IF TYPE(accion)==0 THEN // Tipo de argumento Real.
MSGBOX(accion);
SALIR:=accion;
END;
UNTIL SALIR==4;
END;
(a) Resultados (b) Resultados (c) Resultados
8.2 Comandos
8.2.1 DRAWMENU
Dibuja un menú de seis botes en la parte inferior de la pantalla, con etiquetas cadena1,
cadena2,..., cadena6.
Sintaxis: DRAWMENU(cadena1, cadena2, . . . , cadena6).
EXPORT MENU()
BEGIN
RECT();
DRAWMENU("Menu 1","Menu 2","Menu 3","Menu 4","Menu 5","Menu 6");
WAIT(-1);
END;
8.2.2 FREEZE
Pausa la ejecución de un programa hasta que se pulse una tecla. Esto evita que la pantalla se
redibuje después de finalizada la ejecución del programa, dejando la visualización modificada
en la pantalla para que el usuario la vea.
Sintaxis: FREEZE
EXPORT ()
BEGIN
RECT();
DRAWMENU("Menu 1","Menu 2","Menu 3","Menu 4","Menu 5","Menu 6");
58
8.2 Comandos | Capitulo VIII
FREEZE;
END;
8.2.3 RGB
La descripción RGB (del inglés Red, Green, Blue; «rojo, verde y azul») de un color hace
referencia a su composición de la intensidad de los colores primarios con que se forma: el
rojo, el verde y el azul. Este un modelo de color basado en lo q se conoce como síntesis
aditiva, con lo que es posible representar a un color por la mezcla por adición de los tres
colores luz primarios.
Figura No 8.1:
Modelo aditivo de colores rojo, verde, azul.
Para indicar con qué proporción se mezcla cada color, le asignamos un valor a cada uno de
los colores primarios, así, por ejemplo, el valor 0 significa que no interviene en la mezcla, y
en la medida que ese valor aumenta, aportará más intensidad a la mezcla.
Devuelve un número entero que puede utilizarse como el parámetro de color para una
función de dibujo, en base a los valores de los componentes rojo, verde y azul (cada uno
de 0 a 255).
Sintaxis: RGB(R, G, B, [A])
EXPORT CRGB()
BEGIN
RECT(RGB(0,0,255,0.5));
DRAWMENU("Menu 1","Menu 2","Menu 3","Menu 4","Menu 5","Menu 6");
FREEZE;
END;
8.2.4 LINE P
El formato básico de LINE P ó LINE dibuja una línea entre las coordenadas píxel ó
cartesiano del gráfico utilizando el color especificado.
Sintaxis: LINE P([G], x1, y1, x2, y2, [color])
59
8.2 Comandos | Capitulo VIII
EXPORT ()
BEGIN
END;
8.2.5 RECT P
Dibuja un rectángulo en G entre los puntos x1,y1 y x2,y2 utilizando color del borde para el
perímetro y color de relleno para el interior.
Sintaxis: RECT P([G, x1, y1, x2, y2, colorborde, colorrelleno])
EXPORT ()
BEGIN
END;
8.2.6 TEXTOUT P
Dibuja un texto utilizando un color en el gráfico G en la posición x, y usando un tamaño
de fuente.
0: fuente actual seleccionada en la pantalla Configuración de Inicio,
1: Tamaño 10
2: Tamaño 12
3: Tamaño 14
4: Tamaño 16
5: Tamaño 18
6: Tamaño 20
7: Tamaño 22
Sintaxis: TEXTOUT P(texto [ ,G], x, y [ ,fuente, c1, ancho, c2])
EXPORT ()
BEGIN
END;
8.2.7 BLIT P
Copia la región de srcGRB entre el punto (sx1, sy1) al punto (sx2, sy2) en la región de
trgtGRB entre los puntos (dx1, dy1) y (dx2, dy2).
Sintaxis: BLIT P([trgtGRB, dx1, dy1, dx2, dy2], [srcGRB, sx1, sy1, sx2, sy2,c])
60
8.3 Ejemplo | Capitulo VIII
EXPORT ()
BEGIN
END;
8.3 Ejemplo
Ejemplo 1
Desarrolle una aplicacion que calcule el error de cierre de un poligono en un
levantamiento topografico.
Solución:
Estructura de programacion general.
//------------------------------------------------
// VARIABLES GLOBALES
//------------------------------------------------
n:=3;
dAz:=1;Azz:={84,50,00};dC:=1;CE:=100;CN:=100;Az:=0;
Ang:={};GMS:=[[0]],Lad:=[0];SUMAng:=0;
//------------------------------------------------
// VARIABLES COLORES
//------------------------------------------------
White:=RGB(255,255,255);
Plomo:=RGB(192,192,192);
//------------------------------------------------
// FUNCIONES DECLARADAS
//------------------------------------------------
FInDat();
FMOUSEP();
//------------------------------------------------
// NOMBRE : INICIO PROGRAMA POLIGONAL
// DESCRIPCION : Inicio del programa
//------------------------------------------------
EXPORT Poligonal()
BEGIN
END;
//------------------------------------------------
61
8.3 Ejemplo | Capitulo VIII
Creacion de la pantalla principal.
EXPORT Poligonal()
BEGIN
LOCAL accion,cx,cy,salir;
REPEAT
RECT_P();
DRAWMENU("Datos","Proceso","Resultados","","","Salir");
accion:=B->R(WAIT(-1));
IF TYPE(accion)==6 THEN
IF accion(1)==3 THEN
cx:=accion(2);
cy:=accion(3);
IF cy>=219 AND cy<=240 THEN
CASE
IF cx>=0 AND cx<=51 THEN
//Accion del mouse
END;
IF cx>=53 AND cx<=104 THEN
//Accion del mouse
END;
IF cx>=106 AND cx<=157 THEN
//Accion del mouse
END;
IF cx>=265>= AND cx<=319 THEN
salir:=4;
END;
END;
END;
END;
END;
UNTIL salir==4;
END;
Código de los formularios de ingreso(INPUT).
FInDat()
BEGIN
//Formulario de ingreso 1
INPUT
62
8.3 Ejemplo | Capitulo VIII
(
{
{n,[0],{40,20,3}}
},
"NUMERO DE LADOS",
{"n: "},
{"Ingrese el numero de lados"},
{n},{n}
);
//Declarando variables locales
LOCAL LA,LB,j,A,B,C;
LA:={};
LB:={};
//Proceso para concatenar los vertices del poligono
FOR j:=1 TO n DO
A:=char(64+j);
IF j==n THEN
B:=char(65);
ELSE
B:=char(65+j);
END;
C:=A+B;
LA:=CONCAT(LA,C);
LB:=CONCAT(LB,A);
END;
//Formulario de ingreso 2
INPUT
(
{
{dAz,LA,{20,15,1}},
{Az,[6],{60,35,1}},
{dC,LB,{40,15,3}},
{CE,[0],{20,20,5}},
{CN,[0],{60,20,5}}
},
"INGRESO DEL AZIMUT Y CORDENADAS",
{
"Tramo:","Azimut:","Punto:","Coor E:","Coor N:"
},
{
63
8.3 Ejemplo | Capitulo VIII
"Tramo Azimut conocido","Ingrese Azimut {G,M,S}","Punto de ←↩
coordenada conocida","Ingrese cordenadas este","Ingrese cordenadas ←↩
norte"
},
{dAz,Az,dC,CE,CN},
{dAz,Az,dC,CE,CN}
);
//Tabla increso de datos Angulos.
Az:=Azz(1)+Azz(1)/60+Azz(1)/3600;
GMS:=MAKEMAT(0,n,3);
LB:=CONCAT(LB," ");
GMS:=EDITMAT(GMS,{"Introduzca datos",LB,{"G","M","S",""}});
FOR i:=1 TO n DO
GMS(i,1)+GMS(i,2)/60+GMS(i,3)/3600»Ang(i);
END;
//Suma de todos los angulos cambiar signo (Sum)
SUMAng:=(Sum)LIST(Ang);
//Tabla ingreso de datos Lados.
Lad:=MAKEMAT(0,n);
LA:=CONCAT(LA," ");
EDITMAT(Lad,{"Introduzca dist. de los lados",LA,{"Dist. (m)",""}});
END;
64
CA
PÍ
TU
LO IX
Procedimientos y Subrutinas
65
	Índice General
	Índice de Cuadros
	Índice de Figuras
	I CLASES I
	INTRODUCCIÓN
	Conociendo la Calculadora
	Programación
	Programa
	Problemas y algoritmos
	Ejemplo de algoritmos
	PROGRAMACIÓN EN HP PPL
	Estructura de comandos
	Comentarios
	Catalogo de programas
	Creación de un nuevo programa
	Desde la HP PRIME
	Desde el software de conectividad de la HP PRIME.
	VARIABLES Y OBJETOS
	Variables Globales
	Variables locales.
	Objetos
	Declaración de variables
	INGRESO Y SALIDA DE DATOS
	Ingreso de datos
	Función
	Comando INPUT
	Pantalla táctil
	Formularios interactivos
	Otros
	Salida de datos
	Comando MSGBOX
	Comando PRINT
	Ingreso de datos personalizados
	Ejercicios
	Ejercicio 1
	Ejercicio 2
	Ejercicio 3
	Ejemplo Nro 4
	BIFURCACIONES Y BUCLES
	Bifurcación
	Operadores
	Ejemplos
	Comando IF THEN
	Comando IF THEN ELSE
	Comando CASE
	Comando IFERR
	Comando IFERR ELSE
	Ejemplo 01
	Bucle
	Ejercicios
	Comando FOR
	Comando FOR STEP
	Comando FOR DOWN
	Comando FOR STEP DOWN
	Comando WHILE
	Comando REPEAT
	Comando BREAK
	Ejemplos
	CADENAS
	Definición
	ASC
	LOWER
	CHAR
	DIM
	STRING
	LISTAS Y MATRICES
	Array
	Listas
	Creación de listas
	SORT
	CONCAT
	Posición
	Tamaño
	EDITLIST
	Matrices
	ADDCOL
	ADDROW
	DELCOL
	DELROW
	EDITMAT
	REDIM
	REPLACE
	SCALE
	SCALEADD
	SUB
	SWAPCOL
	SWAPROW
	Posición
	Comandos especiales
	GETKEY
	ISKEYDOWN
	Ejemplos
	Objetos Gráficos
	Comando de ingreso de datos
	MOUSE
	WAIT
	Comandos
	DRAWMENU
	FREEZE
	RGB
	LINE P
	RECT P
	TEXTOUT P
	BLIT P
	Ejemplo
	Procedimientos y Subrutinas

Continuar navegando

Materiales relacionados

14 pag.
Manual de Práticas com R

User badge image

Estudios Generales

221 pag.
64 pag.
Programacion-y-Extencion-de-OpenOffice

SIN SIGLA

User badge image

Materiales y Contenidos