El siguiente ejemplo combina: bucles, estructuras, gráficos, el teclado y la geometría.
Este ejemplo gráfico permite girar una figura geométrica libremente en la pantalla de la calculadora. Los vertices de la figura pueden ser modificados y/o aumentados dentro del programa.
Nota: La versión del programa para calculadoras gráficas con pantallas de 131×64 se encuentra en el archivo de descarga.
Date un tiempo y envíanos tus comentarios, sugerencias y/o consultas:[Enviar comentario]
Recomendaciones generales:
1- Cambie el modo de trabajo de la calculadora a RPN.
2- Active la opción Aproximado. Ingrese al menú MODE, luego al CAS (Tecla F3) y active con check la opción Approx.
3- Active el indcador (FLAG) -117 Soft Menu. Ingrese al menú MODE, luego a FLAGS (Tecla F1) y active con check el flag 117. Importante: Coloque a la calculadora en base DEC (decimal) antes de introducir el código del programa (Ir al menú BASE).
El código mostrado abajo es válido para calculadoras con pantallas de 131×80 y sistema operativo superior a 2.00. Válido para Calculadoras Gráficas HP series: HP 48G 48G+ y 48GX, y series: HP 49G, 48GII, 49G+ y HP 50G.
Código:
Descripción:
» Asigna: la matriz que contiene las coordenadas de los vertices de la figura, el número de columnas (coordenadas) y tres ceros a las variables 'data', 'n', 'salir?', 'alfa' y 'subgiro' respectivamente.
La línea DUP SIZE 2 GET duplica la matriz y devuelve el número de columnas del duplicado.
» Inicia un procedimiento.
» Se inicia el subprograma 'subgiro'. ERASE borra en entorno gráfico.
» Coloca el objeto gráfico "flecha giro a la izquierda" de dimensiones 8×5 en la coordenada {#7 #74}.
» Coloca el objeto gráfico "flecha giro a la derecha" de dimensiones 8×5 en la coordenada {#29 #74}.
» Coloca el objeto gráfico "flecha Salir" de dimensiones 8×5 en la coordenada {#117 #74}.
» Se crea la matriz de rotación 2D de 2×2.
» Se multiplica la matriz de datos por la matriz de rotación. Gira la figura.
» Se extrae la última coordenada de la matriz de coordenadas.
» Se inicia el bucle definido FOR NEXT que recorre las coordenadas.
» Se toma una copia de la coordenada que se encuentra en el nivel 1 de la pila (stack) y se extrae la coordenada de posición 'i' (valor actual del indice) de la matriz de coordenadas.
» Se duplica la coordenada de posición 'i' yse manda al nivel 3 de la pila (stack). Luego se dibuja una línea entre las coordenadas penúltima y última.
Se cierra el bucle FOR NEXT.
» Se eliminan los 2 objetos sobrantes que quedaron en la pila (stack): Las dos últimas coordenadas obtenidas.
» Crea la cadena de texto "Ang: alfa" (concatena "Ang:" y el valor actual del ángulo alfa') y la convierte en un texto gráfico de tamaño 1, luego la coloca en las coordenadas {#1 #1}.
» Almacena el subprograma en la variable local 'subgiro'.
» Coloca a la calculadora en modo DEG (grados sexagesimales) y desactiva la opción de mostrar el reloj en pantalla.
Utiliza el comando PVIEW para visualizar el entorno gráfico desde la coordenada {#0 #0}.
Ejecuta el subprograma 'subgiro'.
» Se inicia el bucle indefinido DO UNTIL END. Utiliza la línea 0 WAIT para detener la ejecución del programa y obtener el código de la tecla presionada.
Almacena el código en la variable local 'K'.
» Se inicia una subrutina y la estructura condicional CASE END.
» En caso se presione la tecla F1 entonces disminuir el ángulo 'alfa' en 20 grados. Luego ejecutar el subprograma 'subgiro'.
» En caso se presione la tecla F2 entonces aumentar el ángulo 'alfa' en 20 grados. Luego ejecutar el subprograma 'subgiro'.
» En caso se presione la tecla F6 entonces salir del programa. Se asigna el valor 1 a la variable 'salir?' para detener el bucle DO UNTIL END.
» Repetir hasta que la variable 'salir?' contenga el valor 1.
Almacenamiento y prueba
1- Digite el código del programa.
2- Presione ENTER.
3- Active el teclado alfabetico (Tecla ALPHA).
4- Ingrese un nombre entre apóstrofes (comillas simples).
5-
Finalmente presione la tecla STO para almacenar.
Para ejecutar el programa ingrese al menú de variables (tecla VAR) y presione la tecla del menú correspondiente al programa (Teclas F1~F6).
Comentarios y Sugerencias
Ayudanos a mejorar este tutorial
Date un tiempo y envíanos tus comentarios, sugerencias y/o consultas: