Вы находитесь на странице: 1из 11

Tarea 01: Mdulo 5 Interfaces Graficas de Usuario.

Fecha de entrega: 12-10-2011. Nombre de Integrantes: Celso Silva Sobarzo. Cristian Fuentes Salgado.

ndice
Contenido Pgina

Introduccin.....3 Desarrollo..4-9 Conclusin..10 Referencias.11

Introduccin
En el curso de interfaces graficas de usuario se solicit crear una aplicacin grafica con la prediccin del clima durante el ao, mediante datos creados de forma random. Esta aplicacin debe ser creada tanto en lenguaje de programacin Python como el lenguaje de programacin C. Dos lenguajes de programacin bastante utilizados y con herramientas graficas cada uno. Python por su lado con pygame y C con SDL. No solo se deber trabajar en como mostrar datos de forma grfica sino que en la generacin de esos datos mediante el uso de mltiples mtodos y utilizacin de herramientas, creacin de estructuras y el manejo de arreglos. A continuacin se presentan trozos de cdigos utilizados en la creacin de esta aplicacin junto con una explicacin de lo que realizan las funciones utilizadas y variables.

Desarrollo
El pronstico del tiempo (Clima) se puede modelar mediante procesos estocsticos con Cadenas Markovianas de Primer Orden. La idea de esta Tarea es simular una generacin de 365 das del ao, la cual posee dos estados: (1): Soleado y (2): Lluvioso. Para entender cmo se modela una Cadena de Markov, estudie el siguiente ejemplo desarrollado en MatLab. Usted deber programar esta simulacin mediante PyGames y SDL en Python y C/C++. La aplicacin debera quedar como la que se presenta en la Imagen.1

Imagen.1 Para esta aplicacin deben considerar ciertas cosas como las siguientes: En caso de que el da est pronosticado soleado la temperatura deber generarse entre los rangos 18 y 35 grados Celsius, y la humedad deber generarse entre el 10% y 20%. En caso de que el da se pronostique con lluvia la temperatura deber generarse entre los rangos -10 a 10 grados Celsius, y la humedad deber estar entre los rangos 20% a 80%. Al desarrollar la aplicacin en Python lo primero que se realiz fue el de importar las libreras utilizadas, por ejemplo libreras grficas, random, etc. En la imagen.2 se muestran las libreras importadas y utilizadas en la aplicacin. Imagen.2 A continuacin se cre una funcin la cual permite cargar las imagenes utilizadas en la aplicacin, es decir cuando se desea mostrar una imagen, por ejemplo, para
4

el fondo de la aplicacin se debe llamar a esta funcin que permite realizar esta accin. El cdigo realizado para esta funcin es el que se aprecia en la imagen.3

Imagen.3

Luego se crean las estructuras utilizadas en la aplicacin, con el nombre de class algo. En nuestra aplicacin se crearon cuatro estructuras; una para humedad con una variable entera nhum, una estructura para temperatura con una variable entera ntempe, una estructura para pronostico con una variable entera npron (la que almacena la prediccin del pronstico; 1 soleado, 2 lluvioso), y finalmente una estructura wea, la cual se grabar en el archivo, que contienen una variable entera npron, adems contiene una variable nT que es un arreglo de tipo estructura(de la estructura temperatura), y una variable nH que es un arreglo de tipo estructura (de la estructura humedad). El cdigo realizado para la creacin de estructuras es el que se presenta en la imagen.4 Imagen.4

Una vez creada las estructuras (imagen.4), se puede generar los pronsticos, de forma random, para cada da del ao. Se crea un arreglo X que almacenar el nmero del pronstico para cada da del ao. Un arreglo p que contiene las probabilidades iniciales del resultado del pronstico, y una matriz P que contiene las probabilidades de que ocurra un suceso (nuevo pronostico) para cada uno de los estados creados. Se crea un arreglo oPron de tipo Pron que se utilizar para almacenar los pronsticos en una estructura. Un arreglo U que decidir lo que suceder en cada da. Por ultimo un ciclo for que genera los pronsticos considerando todas las probabilidades. El cdigo creado para esto fue el que se muestra en la imagen.5.

Imagen.5

En la imagen.6 se puede observar los arreglos de estructura creados para el almacenamiento de las temperaturas y humedad. Y un arreglo de estructura (de tipo wea) que contendr los 365 pronosticos con sus respectivas humedades y temperaturas.

Imagen.6 A continuacin se llenan los datos de temperatura y humedad considerando cada pronstico para cada da, son almacenados en sus arreglos correspondientes y a la vez van siendo escritos en un archivo binario. El proceso para la creacin de cada dato de temperatura y humedad son presentados a continuacin en la imagen.7

Imagen.7

Luego de creado el archivo y completado con los datos correspondientes, se procede a leer el archivo binario para almacenar los datos en otro arreglo de tipo
7

estructura llamado oRegIn. El ciclo for para la lectura del archivo y almacenamiento en el arreglo de tipo estructura se puede apreciar en la imagen.8.

Imagen.8

Teniendo lo ya visto se puede proceder a graficar y/o representar los datos de forma grfica. En este caso explicaremos lo que se realiza en caso de que la prediccin del clima fuera que el dia estuviera soleado (en caso de ser lluvioso los procesos son prcticamente los mismos, solo cambian imgenes y colores). Como se puede apreciar en la imagen.9 (cada lnea de cdigo est con su correspondiente explicacin) en caso de que la prediccin fuera de que el da estuviera soleada (opcin 1), se carga la imagen del sol, la dimensiona, pinta la imagen en pantalla y actualiza la pantalla.

Imagen.9

Adems se deben pintar los grficos de barra de la temperatura y de la humedad, con sus respectivos colores. En la imagen.10 se puede apreciar que mediante un ciclo for (para cada hora del da), se pregunta si la prediccin del da fue soleado o lluvioso (en este caso a modo de ejemplo se consider el da soleado), se consulta si es que la temperatura fue superior a 18 entonces se define el color a utilizar como el rojo, luego se define que se pinte la lnea del color especificado (barra del grfico). Y en donde se encuentra el cdigo nX=nX+12 se
8

corre la barra del grafico hacia la derecha para pintar la barra de la hora siguiente. A continuacin se realiza prcticamente lo mismo pero para el caso de la humedad.

Imagen.10

Conclusin
C1: Se pueden modelar y simular procesos cotidianos como por ejemplo el pronstico del clima mediante el uso de probabilidades y procesos estocasticos de Primer orden, adems de funciones randomicas ajustadas a los niveles en los que cotidianamente estos procesos se desarrollaran. C2: Mediante el uso de pygames se pueden graficar distintas interfaces que permiten al usuario una mejor comprensin de la finalidad y procesos llevados a cabo por cualquier aplicacin.

10

Referencias
1.- http://python.net/crew/theller/ctypes/tutorial.html#arrays

2.- http://richard.cgpublisher.com/product/pub.84/prod.11 3.- http://pythonmania.wordpress.com/2010/03/25/tutorial-pygame-2-ventana-e-imagenes/

11

Вам также может понравиться