Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
INSTITUTO TECNOLÓGICO DE LA LAGUNA Práctica 8 PROGRAMACIÓN AVANZADA Ingeniería Mecatrónica Semestre 8 Alumno(s): Christian Enrique González Robles No. Control: 19131206 2 INSTITUTO TECNOLÓGICO DE LA LAGUNA Programa 1 Mejore el programa para trazar gráficas (ecuación cúbica), de manera que: • Trace los ejes x y y; • Reciba como entrada los coeficientes mediante cuadros de texto en vez de barras de seguimiento (para tener precisión); • Reciba como entrada factores de escala horizontal y vertical (acercamiento) mediante barras de seguimiento; • Trace una segunda gráfica de la misma función, pero con coeficientes distintos; • trace las gráficas de algunas otras funciones. Una manera de hacerlo sería volver a codificar el método LaFunción. Diseño de la GUI Script En este caso el programa consta de múltiples métodos que permiten su funcionamiento primeramente se adquieren los valores de x1, x2, y1 y y2 conforme se inicia el formulario. Una vez esto se le asigna al botón que al ser accionado llame al método trazar gráfica. Dentro de este método lo que se hace es extraer los coeficientes de ABC los cuales asignan valores bajo los cuales se van a regir el comportamiento de las gráficas. Luego de esto se llama al método trazar, dentro de este caso se vuelve un poco más sencillo debido a que se utiliza el mismo principio que en prácticas anteriores para hacer la impresión de las gráficas por medio de una interpolación lineal la cual permita generar dentro de un ciclo for una cantidad de iteraciones tales que permitan al final unir pequeñas líneas rectas en una gráfica mucho más compleja. Dependiendo de lo que se escoja en la lista se manda a llamar a distintos 3 INSTITUTO TECNOLÓGICO DE LA LAGUNA métodos que pueden generar ya sea una gráfica de onda senoidal de una cuadrática o de una cúbica, en todos los casos el principio de funcionamiento es el mismo se define primeramente los puntos equis y así como sus sucesores dentro de la interpolación posteriormente se entra al ciclo for y dentro de este mismo ciclo se define una instrucción switch la cual dependiendo de la elección dentro de la lista se manda a llamar al método específico que corresponde a dicha lista. Dentro de cada caso en el switch lo que se hace es que se manda a llamar a otros métodos que permiten escalar tanto en x como en y, para así dar una vista mucho más congruente según las dimensiones de la gráfica, además de que por medio de la función propia que permite obtener los valores que al final se terminan generando las líneas que crean la gráfica final. Como se indicó anteriormente cada una de las gráficas distintas tienen su propio método particular el cual genera esa impresión de gráficas. Finalmente, los métodos escalarX y escalarY lo que generan es una manera en la cual por medio de los valores que es ingresan en los track bar poder definir distintas escalas dentro de la gráfica para dar una visión mucho más clara que se adecue a las dimensiones cada curva. GUI funcional 4 INSTITUTO TECNOLÓGICO DE LA LAGUNA Programa 2 Escriba un programa que calcule la integral de una función y utilizando la “regla del trapecio”. El área que se ubica bajo la gráfica de la función se divide en n bandas iguales, de ancho d; el área que está bajo la curva (la integral) es aproximadamente igual a la suma de todos los (pequeños) trapecios. Diseño de la GUI Script Este programa es bastante sencillo debido a que no se necesita desarrollar un programa demasiado complejo para poder producir lo que se espera. Primero se declara que dentro de 1 de los textbox la función se va a tomar como tipo string así como que se van a obtener los coeficientes tanto del límite inferior del límite superior y de la cantidad de iteraciones que se van a hacer para aproximar la integral. Dentro del ciclo for se evalúa la fórmula que permite calcular por el método del trapecio y se va a iterar la cantidad de veces que se hayan aclarado previamente. Todo esto se hace gracias al método evaluar función, dentro del cual haciendo uso de un complemento descargado llamado Ncalc, el cual permite con unas simples líneas poder tomar como referencia alguna letra dentro de un string y evaluarlo según la necesidad de que se tenga que cubrir, y esto cumple con la función de poder evaluar cualquier función que sea ingresada en el textbox y así poder obtener resultados de una gran variedad de funciones distintas. GUI funcional 5 INSTITUTO TECNOLÓGICO DE LA LAGUNA Programa 3 Establezca un arreglo que contenga los seis dígitos para abrir una bóveda de seguridad. Pida al usuario que introduzca seis números, uno a la vez, mediante botones etiquetados con los dígitos 0 al 9, y compruebe que sean correctos. Al introducir un dígito indique al usuario si es correcto o no; éste tendrá tres oportunidades antes de verse obligado a empezar desde cero otra vez. Diseño de la GUI Script Como variables globales se declaran arreglos en este caso del tipo vector así como una cantidad de intentos restantes y un índice, todas estas variables van a permitir regir el programa para que funcione adecuadamente. En este caso para todos los botones es exactamente el mismo método el cual consiste en convertir el valor indicado en el botón a un número entero posteriormente, por medio de if anidados lo que se hace es ir registrando los números mientras que la cantidad de números siga siendo menor que la cantidad de dígitos que conforman el código de la bóveda y mientras esto sea cierto se va a ir guardando cada número en un string para conformar poco a poco el código. Para este caso el funcionamiento de la bóveda tiene que verificar que todos y cada uno de los dígitos sean correctos cada vez que se ingresa un número nuevo. Por lo tanto, se comparan los dígitos dentro del código parcial con los dígitos correspondientes al mismo índice del verdadero código de la bóveda y mientras estos sigan siendo iguales se puede seguir generando el código una vez que haya discrepancias entre el código parcial y el 6 INSTITUTO TECNOLÓGICO DE LA LAGUNA código real de la bóveda se tendrá que comenzar de nuevo tal y como lo indica el programa. Además, dentro de esta lógica una vez que se terminen la cantidad de intentos el mismo programa será capaz de decirte si se han terminado tus intentos o incluso si ya ha desbloqueado la bóveda. Por último, se ha creado un método que permite reiniciar los intentos el cual vuelve a restablecer los ajustes en mi programa para poder comenzar nuevamente. GUI funcional Programa 4 Escriba un programa que utilice un arreglo de 10 cadenas de caracteres. Escriba métodos que realicen cada una de las siguientes operaciones: • Introducir valores con el teclado mediante un cuadro de texto. • Mostrar los valores en pantalla (para poder comprobar que se hayan introducido correctamente en el arreglo). • Introducir una palabra mediante un cuadro de texto, y buscarla para ver si está presente en el arreglo. • Desplegar un mensaje que diga si la palabra está en el arreglo o no. Diseño de la GUI 7 INSTITUTO TECNOLÓGICO DE LA LAGUNA Script En este caso se declara un arreglo tipo vector que consiste en un arreglo que permite almacenar 10 valores tipo string. Por medio de ir lo que se hace es que se comprueba que haya algún valor escrito como cadena de caracteres en un textbox, posteriormente este valor escrito se pasa a registrar dentro del vector con un índice particular para irse registrando de manera continua y posteriormente se manda a mostrar en otro textbox.En el caso de que ya no haya espacio para agregar algún otro valor se mandó un mensaje de que el arreglo está lleno. Dentro del método mostrar valores lo que se hace es que por medio de un ciclo for se mandan a imprimir todos y cada uno de los valores registrados en el arreglo para mostrar la lista existente. Finalmente, dentro del botón buscar se compara la palabra ingresada con cualquiera de los valores que estén dentro del arreglo en el caso de ser encontrado se manda un mensaje e indica que la palabra está registrada en el arreglo en caso contrario al no encontrarlo se manda un mensaje que indica que no está esa palabra registrada. GUI funcionalg 8 INSTITUTO TECNOLÓGICO DE LA LAGUNA Programa 5 Escriba un método para dibujar una gráfica a partir de los datos que se proporcionan mediante un arreglo de coordenadas x, y un arreglo de las coordenadas correspondientes y. Diseño de la GUI Script El código de este programa consiste en primeramente inicializar dos arreglos del tipo vector los cuales serán los encargados de guardar las coordenadas de los distintos puntos a graficar. Dentro del método dibujar gráfica lo que se hace es generar dentro del picture box 1 un objeto tipo graphics así como dos distintos lápices con los cuales se va a poder generar la gráfica así como sus líneas de escala. Primeramente, se definen un margen dentro del textbox para dar una perspectiva mucho mejor a la gráfica posteriormente se dibujan los ejes con líneas de color negro y se manda a calcular los factores de escala. Los factores de escala, así como la X máxima y la Y máxima se utilizan para poder define todos los puntos de la gráfica y tomar en cuenta cuáles serán sus dimensiones máximas para poder escalar adecuadamente la gráfica que se genera. Finalmente, dentro de un ciclo for se generan interacciones que permiten dibujar los puntos que genera cada recta según sus coordenadas X y Y. Hay que destacar que dentro del método obtener máximo se define la manera en la cual se obtienen los valores máximos que permiten graficar y escalar adecuadamente. 9 INSTITUTO TECNOLÓGICO DE LA LAGUNA GUI funcional Programa 6 Cada uno de los usuarios de una biblioteca tiene un código de identificación único, un entero. Cuando alguien desea pedir un libro prestado, se comprueba que su código de usuario sea válido. Escriba un programa que busque la identificación de un usuario específico dentro de una tabla de códigos. El programa debe desplegar un mensaje que indique si el código es válido o no. Diseño de la GUI Script El programa es bastante sencillo, ya que primero se lee el número ingresado, y se comprueba si el texto ingresado es un valor numérico, en caso que sea cierto y por medio de un ciclo while se genera una comprobación de cuantos dígitos tiene el código ingresado, y posteriormente se compara dentro de un switch con los distintos códigos que están guardados, una vez esto, en caso de que ambos códigos coincidan, se genera un mensaje de que el código es válido, en caso contrario, el mensaje señala que el código no es válido. 10 INSTITUTO TECNOLÓGICO DE LA LAGUNA GUI funcional Programa 7 Escriba un programa que utilice una matriz de longitud 4 3 7, de números enteros, similar a la que usamos en Precipitación pluvial. Amplíe el programa para que contenga los siguientes métodos: • Al oprimir un botón etiquetado como “sumas”, sumar los valores de cada una de las siete columnas y todos los valores de cada una de las cuatro filas; los resultados deberán desplegarse en pantalla. • Al oprimir un botón etiquetado como “mayor”, encontrar el valor más grande de cada fila, de cada columna, y de toda la matriz. • Al oprimir un botón etiquetado como “escalar”, multiplicar cada uno de los valores que conforman la matriz por un número introducido por el usuario en un cuadro de texto. Diseño de la GUI Script El programa es bastante sencillo, ya que primero se lee el número ingresado, y se comprueba si el texto ingresado es un valor numérico, en caso que sea cierto y por medio de un ciclo while se genera una comprobación de cuantos dígitos tiene el código ingresado, y posteriormente se compara dentro de un switch con los distintos códigos que están guardados, una vez esto, en caso de que ambos códigos coincidan, se 11 INSTITUTO TECNOLÓGICO DE LA LAGUNA genera un mensaje de que el código es válido, en caso contrario, el mensaje señala que el código no es válido. GUI funcional Programa 8 Escriba un programa que utilice una matriz de longitud 4 3 7, de números enteros, similar a la que usamos en Precipitación pluvial. Amplíe el programa para que contenga los siguientes métodos: • Al oprimir un botón etiquetado como “sumas”, sumar los valores de cada una de las siete columnas y todos los valores de cada una de las cuatro filas; los resultados deberán desplegarse en pantalla. • Al oprimir un botón etiquetado como “mayor”, encontrar el valor más grande de cada fila, de cada columna, y de toda la matriz. • Al oprimir un botón etiquetado como “escalar”, multiplicar cada uno de los valores que conforman la matriz por un número introducido por el usuario en un cuadro de texto. Diseño de la GUI 12 INSTITUTO TECNOLÓGICO DE LA LAGUNA Script En este programa primeramente se ingresa el valor de filas y columnas que contendrá la matriz para a partir de ellos poder trabajar. A partir de esto se genera un arreglo que el cuál será la matriz entrada con las dimensiones que acaban de ser ingresados. Posteriormente para generar la matriz de entrada y poder imprimirla, de se vuelven a obtener la cantidad de filas y de columnas para esta matriz y por medio de un ciclo for se va haciendo un barrido de los valores que deben ser cargados en la matriz cambiando los índices de las posiciones cada que se registra un nuevo número y a partir de un if dentro de este mismo ciclo for cada que se guarda un número a la hora de ser impreso se obtiene una tabulación para dar esa apariencia de arreglo matricial además de que por medio de otro ciclo i cuando se llega al número máximo de números que puede soportar este arreglo dependiendo de la cantidad de columnas se genera un interlineado para pasar a la siguiente fila y seguir dando esa apariencia de arreglo matricial. Posteriormente para generar la matriz transpuesta se invierte en la cantidad de columnas y de filas para esta nueva matriz además de que se crea un nuevo arreglo matricial con las dimensiones ya transpuestas y por medio de ciclos for anidados se empieza a generar un barrido de los valores de la matriz original y se empiezan a transponer para dar esa impresión de transposición del arreglo. Finalmente, una vez que ya ha sido calculada la matriz se mandan a imprimir todos y cada 1 de los valores en el orden correspondiente y a una vez modificado. Por último, hay un último método que permite reiniciar todos los parámetros por lo que limpia todos los textos la impresión de las matrices, así como los valores de las matrices que se guardan dentro del propio código. 13 INSTITUTO TECNOLÓGICO DE LA LAGUNA GUI funcional Programa 9 El juego conocido como “gato” o “tres en línea” se practica en una cuadrícula de 3x3, que en un principio está vacía. Participan dos jugadores, por turnos. Uno de ellos coloca una cruz en un cuadro vacío, y el otro coloca un círculo en otro. Gana la persona que obtenga una línea de tres círculos o tres cruces. La partida puede terminar en empate si ninguno de los jugadores logra hacer una línea de tres. Escribaun programa para jugar “gato”. Debe haber sólo un botón para iniciar un nuevo juego. El programa mostrará los círculos y las cruces de manera gráfica, cada uno en su propio cuadro de imagen. Para especificar un movimiento, el jugador humano debe hacer clic con el ratón en el cuadro de imagen en donde se vaya a colocar la cruz. El otro jugador será la computadora, que decidirá al azar en dónde colocar los círculos. Diseño de la GUI 14 INSTITUTO TECNOLÓGICO DE LA LAGUNA Script En este caso el programa es un tanto más complejo debido a que se tienen que trabajar con algunas líneas de código que en general son bastante más complejas. Primeramente se define que dentro del evento de click para cualquier picture box, Primeramente se identifique cuál es el picture box el cual manda la señal de clic posteriormente se define Dentro de un hijo que en el tablero dependiendo de la fila y columna y en el caso de que sea el turno del usuario se manda a crear un gráfico llamado g en el Picture box en el cual se manda a dibujar dos líneas las cuales crean el efecto de Cruz, Al usuario se le ha asignado un valor numérico de 1 cada vez que hace un clic el cual se manda a guardar dentro de una matriz, cada que se hace un clic se carga a dicho número en el lugar correspondiente a la matriz en referencia a la posición del picture box en el tablero. Posteriormente se manda a llamar al método hay ganador o en su defecto en el caso de que no sea positivo este resultado, se manda al método hay empate. Además este programa cuenta también con un método que permite a la máquina de realizar sus movimientos primeramente por medio de un ciclo for se hace una especie de barrido por el tablero comprobando cuáles de ellos ya cuentan con un movimiento previo, y a partir de eso se obtiene la cantidad de Casillas que están vacías y bajo las cuales se va a poder generar un movimiento nuevo. Siempre y cuando el número de Casillas sea mayor a cero entonces por medio de un ciclo for se manda a encontrar cuáles son las Casillas que todavía se encuentran vacías, nuevamente se genera un barrido por el tablero y se contabilizan las posiciones de los picture box que están vacíos y para este caso se guardan los índices correspondientes a su posición y se ingresan a un ciclo if, posteriormente con estos índices se procede a llevar a la máquina de hacer la elección de 1 de ellos de manera aleatoria en el cual generará el círculo de color rojo correspondiente a su lección y en la matriz en donde se guardan los valores se manda a guardar un dos en el lugar correspondiente, seguido esto se le asigna el turno al usuario y se manda a corroborar por medio de los métodos hay ganador o hay empate cualquiera de los dos casos ya sé que alguno de los dos haya ganado o qué no sea posible más movimientos y se cierra el juegos en un empate. 15 INSTITUTO TECNOLÓGICO DE LA LAGUNA Dentro del método hay ganador lo que se hace es se hace un barrido dentro de la matriz en la cual se han guardado los valores primero por filas luego por columnas y finalmente las diagonal y lo que se hace es comprobar qué números están guardados, se compara ya sea la cantidad de número 1 o la cantidad de números dos que hay y si éstos hacen una conexión de 3 seguidos, por medio de un ciclo for se hace un barrido por los múltiples recorridos dentro del tablero en el caso de que haya una comprobación de que hay 3 números iguales seguidos formando esta conexión de 3 se procede a dar el mensaje de que hay un ganador en caso contrario de que no sea así se procede a seguir con el juegos y se pasa al turno siguiente pero en caso de que no hay un ganador y todas las Casillas se encuentran llenas se manda al método hay empate el cual comprueba si hay casi ya disponibles todavía para hacer movimientos en el caso de que no haya Casillas y no se haya asignado a ningún ganador será el mensaje de que hay un empate y posteriormente se manda a reiniciar el juego. Finalmente para reiniciar el juego se restablecen los picture box a un fondo blanco y se reinicia la matriz. GUI funcional
Compartir