


Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Programacion JAVA GUI graficos, ejercicio de espiral analisis, logica, resultados, codigo
Tipo: Monografías, Ensayos
1 / 4
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!



Resumen. – En el presente informe se explica la creación de dibujo en paneles, utilizando rectas y arcos.
1. INTRODUCCIÓN En el presente informe se explica cómo se crearon gráficos, utilizando líneas y arcos, las líneas deben cumplir un ciclo y aumentar su valor, lo mismo pasara con el arco, incrementando ángulos de 0 a 180 y de 180 a 360. Ambos programas se encuentran en una sola clase, para que interactuar mas con el usuario. 2. ENUNCIADO Dibujar espirales, recta y circular, el usuario podrá escoger que tipo de espiral quiere y cuantas vueltas debe dar dicho espiral. 3. COMPRENSION Para la espiral recta se necesita incrementar el valor de la línea de la derecha, abajo, izquierda y arriba (en ese orden) cada vez que de una vuelta. En el caso de la espiral circular, se debe incrementar el radio cada vuelta y dibujar por medias circunferencias y arcos. 4. ANALISIS DE PROCESO 4.1 Análisis Entrada/Salida 4.1.1 Análisis Entrada El usuario debe elegir 1 si quiere espiral recta o 2 si quiere espiral circular, además podrá escoger el número de vueltas que darán estas espirales 4.1.2 Análisis Salida Se mostrara un panel con una espiral, dependiendo de la opción de usuario se mostrara un espiral recta hecha solo con líneas y una espiral circular hecha con arcos. 4.2 Análisis Invariantes 4.2.1 Análisis de pre condiciones El valor del número para escoger el tipo de espiral es 1 o 2, si es de otra manera no se valida esos parámetros. El número de vueltas de la espiral tiene que ser mayor o igual a 1. 4.2.2 Análisis de post condición Se muestra panel con diferentes dos tipos de laberinto, depende de la elección del usuario el cual también podrá controlar el número de vueltas de las espirales.
5.1 Selección de la estrategia 5.1.1 Estrategia geométrica Se realizaras una estrategia geométrica para identificar el patrón que se debe seguir para que se dibuje líneas rectas (derecha abajo izquierda arriba) en el primer caso y el patrón que se debe seguir para que el arco se dibuje de 0 a 180 y de 180 a 360. 5.2 Justificación Se escogió esta estrategia porque es más fácil reconocer el patrón que deberá seguirá, además que al utilizar un método geométrico se obliga a dibujar el problema, lo cual ayuda a identificar más rápido el patrón mediante gráficos. 5.3 Desarrollo del algoritmo de solución Para dibujar las espirales se sigue la estrategia geométrica para cada caso a) Para el laberinto cuadrado se debe tomar en cuenta que se sigue un determinado patron, lo cual depende de las líneas derecha, abajo, izquierda y arriba, en ese orden. Figura 1. Figura que muestra el esquema de la estrategia geométrica para obtener un algoritmo de espiral cuadrada. En la Figura 1 se puede ver que la primera línea empieza en el centro y termina en el centro pero incrementando + 10 a la mitad de la altura, la siguiente línea tiene la misma longitud, pero su inicio es el fin de la línea anterior, en la siguiente línea se puede ver que su inicio es el final de la línea anterior y que es el doble que la primera línea y por último la
cuarta línea empieza donde termino la última y es el doble que la línea de abajo. Así sucesivamente se va incrementando el el punto final (depende si es derecha, abajo, izquierda y arriba). El valor de la longitud de la línea se aleja 10 unidades del centro y va incrementando, por lo tanto se multiplica la variable del número de espirales por 10. b) Para el laberinto circular como se ve en la Figura 2 se empieza disminuyendo 10 unidades a la mitad del panel, con un ángulo de 0 a 180, para el siguiente empieza en el mismo lugar con la diferencia que tiene un ángulo de 180 a 360, para el siguiente arco se resta 20 unidades a la mitad y se incrementa la altura y anchura respecto a los anteriores. Figura 2. Figura que muestra el esquema de la estrategia geométrica para obtener un algoritmo de espiral circular. El valor del número de vueltas se multiplica por 40,, se escogió ese valor a diferencia de 10, ya que el arco visible de 10 unidades es muy pequeño.
6. DESARROLLO DEL PROGRAMA 6.1 Codificación de la solución Para resolver el problema de graficar espirales en un panel, se utilizó la clase DibujoEspiral, donde se encuentran los atributos, el constructor y el conocido método paintComponent que permite graficar en paneles. También se tiene una clase PruebaDibujioEspiral en el cual se encuentra el programa principal, y la entrada de datos para que el usuario escoja el tipo de espiral y la cantidad de vueltas. En la clase DibujoEspiral se tienen los atributos de color, elección del usuario del tipo de espiral y el número de vueltas. El constructor recibe la opción del usuario y el número de vueltas, donde la elección del tipo de espiral tiene únicas dos variables 1 y 2; el número de vueltas tiene que ser mayor o igual a 1. El constructor recibe y valida estas condiciones. Figura 3. Figura que muestra el código en JAVA de la clase DibujoEspiral, en el cual se pueden ver los atributos y el constructor. Se utiliza el método paintComponent para graficar rectas y arcos, entonces se lee la opción del usuario y el valor del atributo entra a un switch, el cual se encarga de escoger la opción de acuerdo al número introducido. Una vez dentro del cada opción, para ambos se tiene un bucle for, el cual incrementa de valor de acuerdo al número de vueltas que el usuario haya introducido. Para la espiral cuadrada se tiene 4 líneas de graficadora las cuales representan las líneas de derecha, abajo, izquierda y arriba, después de dar una vuelta los valores incrementan hasta generar el numero de vueltas deseado por el usuario Para la espiral redonda se tiene 2 lineas de graficadora, las cuales ambas empiezan en la misma parte superior izquierda pero el ancho es el doble que del anterior y los ángulos,, los arcos hacia arriba tienen ángulo 0 a 180 y los arcos hacia abajo tienen ángulo de 180 a 360.
7.1 Análisis de resultados Los resultados de la clase DibujoEspiral, si funciona, recibe la opción del usuario de laberinto circular o cuadrado, tiene el número de vueltas deseados por el usuario y además tiene colores aleatorios para graficar de un color diferente cada vez que se ejecute el programa. 7.2 Mejoras de la solución Una posible mejora es dejar al usuario escoger el color o cambiar de longitud el espacio entre las espirales.
8. CONCLUSIONES Se logró resolverlos 2 programas en una sola clase, se logró entender el patrón de funcionamiento para líneas en la derecha, abajo, izquierda y arriba. Se logro entender el funcionamiento del arco para graficar y la importancia de los ángulos. Se logró unir 2 programas en un, con la ocion de que el usuario pueda escoger cual ver y de cuantas vueltas quiere la espiral. 9. REFERNCIAS Deitel & Deitel, How to Program Java, 9na ed. 2012