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