Download Proyecto No. 2 Catedrático Molina Castellanos
Document related concepts
no text concepts found
Transcript
UVG 19/04/10 Algoritmos y Lenguaje de Programación Sección 30 Julio Castillo #09859 Pedro Artiga #10144 Juan Manuel Gomez #09325 Proyecto No. 2 Catedrático Molina Castellanos Investigación Corta 1) Análisis de requerimientos: La solución del problema se llevo a cabo a través de varias preguntas, varias soluciones. Primero nos preguntamos cómo crear la sopa de letras. Para crear la sopa de letras creamos una serie de listas donde guardamos los valores. Por lo tanto, la lista es predeterminada y no tiene valores random. Debido a lo siguiente nos preguntamos cómo haríamos para que las palabras se formaran en orden adentro de las listas. Nuestra única solución fue hacer listas predeterminadas. Ahora que ya teníamos las listas impresas con las palabras predeterminadas, teníamos que encontrar una forma que el usuario pudiera interaccionar con las listas y poder escoger la letra querida para formar la palabra. Intentamos hacer botones y definirlos pero nuestro lenguaje de programación no era tan avanzado y no encontramos el tutorial que nos enseñara. Ya que los botones no fueron una opción, se nos ocurrió hacer el programa basado en coordenadas (x, y). El problema es que las listas no dejan usar coordenadas en x, tan solo en y. Lo que tuvimos que hacer es copiar las listas en un matriz que formamos. Ya que la matriz otorga el uso de coordenadas en (x, y); le pedimos al usuario ingresar un ‘raw_input’ como el numero de la fila (coordenada en x) y luego otro ‘raw_input’ como el numero de la columna (coordenada en y). Al ingresar una coordenada correcta, la letra se volvía mayúscula con la definición ‘.upper’, pero solo si era la letra correcta sucedía esto. Por cada mayúscula que había, se le agregaba uno a un contador llamado ‘n’. Cuando el contador llegaba a la misma cantidad del ‘len’ de la palabra que debía adivinar el ciclo se terminaba y los valores de las coordenadas donde estaba la palabra se sustituían con un valor de “ “. Así hicimos con cada una de las letras programadas hasta llegar al fin del programa. Las únicas formulas matemáticas utilizadas fueron los contadores que se usaban para romper los ciclos al cumplir una condición determinada. Las funciones que tiene nuestro programa son 3. Dos de ellas son para las variables ‘x’ y ‘y’. Van llamadas por ask_x () y ask_y (). Lo que hacen (cada una para su variable asignada) es que crean una restricción para que a la hora que el usuario ingrese datos en las coordenadas, los datos no pueden ser nada más que números enteros. La ultima variable se llama espacio (). El único propósito que tiene esta función es que produce un gran espacio en blanco en la pantalla. Es tan solo una forma de limpiar la pantalla. 2) Conclusiones: En este proyecto, nos tomo mucha investigación. Habían demasiadas cosas que no sabíamos cómo hacer y tuvimos que investigarlas como las matrices. Aprendimos a hacer matrices. Esto fue algo vital en nuestro proyecto ya que sin las matrices no hubiéramos podido usar coordenadas para identificar letras. También aprendimos varias funciones para manipular las listas como quisiéramos. 3) Bibliografía: http://mail.python.org/pipermail/tutor/2004-November/033333.html http://www.velocityreviews.com/forums/t324089-timer.html http://docs.python.org/library/threading.html#timer-objects http://banyut.obolog.com/python-listas-115312 http://wiki.aims.ac.za/mediawiki/index.php/Python:Matrices http://bytes.com/topic/python/answers/863946-python-matrices