Diseño+del+programa+G+11


 * Diseño **
 * Descripción de las variables principales **

Las variables de tipo entero a utilizar son: · Variables de ingreso: en estas se almacenan los valores de las unidades ingresadas por el usuario. Las variables de ingreso empleadas son: o v1: almacena el número ingresado por el usuario. o val1: almacena el primer dígito del número contenido en v1. o val2: almacena el segundo dígito del número contenido en v1. o val3: almacena el tercer dígito del número contenido en v1. o val4: almacena el cuarto dígito del número contenido en v1. o val5: almacena el quinto dígito del número contenido en v1. · Variables de resultado: En estas se almacenan valores resultantes de operaciones aritméticas. o suma: la suma de los 5 dígitos o suma2: la suma de los 5 dígitos (suma) más 4 unidades. Y a éste resultado buscar el múltiplo de 9 que le sigue. o suma3: es equivalente a la suma2 pero esta servirá para hacer una resta en el programa (sum2-sum3) o tachado: el resultado de restarle el número al múltiplo de nueve siguiente.

Las variables de tipo string a utilizar son: · jugarDeNuevo: almacena la respuesta a la pregunta (si desea jugar de nuevo), que se realiza a través de un raw_input. · instruc: almacena la variable a la pregunta (si desea leer de nuevo las instrucciones) que se realiza a través de un raw_input.

Las funciones a utilizar son: · instrucciones : Almacena las instrucciones del juego. Esta función no tiene parámetros y no devuelve ningún valor. Únicamente es invocada al ejecutar el programa y en caso de que el usuario desee leer nuevamente las instrucciones. · jugar: En esta función ya solicita el ingreso de el número (sin incluir el tachado), los lee y realiza los procedimientos adecuados para llegar a la respuesta. Al finalizar pregunta si desea el usuario seguir jugando, y si desea leer de nuevo las instrucciones; de ser se invocan respectivamente las funciones. Esta función no recibe parámetros. Dentro de esta función se encuentra otra función llamada Suma(x1,x2,x3,x4,x5). · Suma(x1,x2,x3,x4,x5): Esta función recibe 5 parámetros, que son los cinco números ingresados (val1,val2,val3,val4,val5) los almacena en (x1,x2,x3,x4,x5) y los suma. Esta suma la guarda en **suma.** En esta función se devuelve el valor de suma. 1. El programa se ejecuta e inmediatamente es invocada la función **instrucciones .** Las instrucciones se imprimen en pantalla. Dentro de esta función se realiza el invoco a la función **jugar.** 2. Dentro de la función, se solicita el ingreso del número (sin incluir el tachado). El número se guarda en la variable **v1**. Utilizando el operador de soporte (bracket operator)se selecciona cada número y se almacena en distinta variable (val1,val2,val3,val4,val5). 3. Luego se invoca a la función **Suma(x1,x2,x3,x4,x5)** y el valor que ésta devuelva se almacena en la variable **suma.** 4. A esta variable se le suma 4 unidades, y se almacena en la variable **suma2.** 5. Se lleva a cabo una condición utilizando if. Si el valor de **suma2** es divisible dentro de 9, se le suma 1. Esto es porque se necesita el próximo múltiplo de nueve. 6. Se guarda el valor de **suma2** en **suma3.** 7. Utilizando while se lleva a cabo la resta del próximo múltiplo de nueve. Y este valor se almacena en **tachado.** 8. Se imprime el valor de **tachado**. 9. Se pregunta si desea jugar de nuevo y se almacena la respuesta en **jugarDeNuevo,** si el resultado es __si__, realiza otra pregunta, si desea leer de nuevo las instrucciones si el resultado es __si__ se invoca la función **instrucciones **, de los contrario se invoca la función **jugar.** Si la primera respuesta NO es __si__, entonces, aparece un mensaje de despedida.
 * Descripción de las funciones que desarrolla, sus parámetros y resultados Curso **
 * Descripción del curso lógico de la solución del problema **

Se utilizó el módulo doctest. Este fue empleado para realizar una prueba de la función Suma, la cual no es invocada, sino por el usuario. Al realizar este proyecto pudimos poner en práctica todo lo aprendido durante el transcurso de dos meses en el curso de Fundamentos a la Programación. Consideramos que fue valioso este trabajo ya que habíamos visto en clase y practicado en los laboratorios varios temas por separado; pero ahora pudimos recolectar, unir, ejercitar y reforzar los conocimientos. El juego que se elaboró contiene asignación de variables, condiciones, funciones, doctrings. El trabajar en orden fue algo elemental, ya que a pesar de considerar que el proyecto no era sumamente difícil, si éste se trabaja en desorden se complica. Al momento de llevar a cabo el proyecto de manera organizada obtuvimos resultados positivos, y pudimos observar y concluir que ningún paso es una pérdida de tiempo; sino al contrario cada uno de ellos era base para el siguiente. Bibliografía - Downey, Allen. **Python for Software Design: How to Think Like a Computer Scientist.** ISBN 13:9780521898119. [|http://www.thinkpython.com] Versión electronic: Think Python. 1.1.19 - Marzal, Andrés & García, Isabel. **Introducción a la programación con Pyhon.** []
 * Forma de empleo de módulos Python para la solución del problema **
 * Conclusiones **

Para regresar a la página principal del proyecto 1 del grupo 11 haz click aqui.