Proy1Sec30+Grupo+No.+16

= Integrantes del Grupo 16: = Varinia Ruano 09088 Darlen Ayala 09148

= Manual de usuario =

a. Instrucciones de instalación del programa
1. Deberá descargar el programa Python 2.3.2.1, depende de que computadora con la que cuente Window Instaler o Macintosh, lo puede encontrar en http://www.python.org/download/. 2. Al contar con Python 2.3.2.1 instalado, descargará de esta página el programa, y lo guarda en el lugar adecuado a su comodidad. 3. Deberá descargar también el programa llamado PythonG, lo puede encontrar en http://marmota.act.uji.es/MTP. 4. Al contar con PythonG, deberá darle doble click sobre la carpeta que descargo y seleccionar el archivo que dice pythong.py. Si cuenta con una versión de Python que no sea 2.3.2.1, PythonG no funcionará adecuadamente. 5. Aparecerán dos pantallas la que contiene el PythonG se llama script y la otra se llama IDLE. 6. Se deberá situar en la pantalla llamada script, y seleccionara en la barra de tareas del programa Run y seleccionará Run Module; o también lo puede hacer presionando ctrl+c+c. 7. Rápidamente le aparecerá la pantalla IDLE, en donde se está ejecutando Python.py. 8. Para poner en marcha el juego deberá seleccionar en el programa PythonG la opción llamada python y seleccionar ejecutar el programa. 9. El juego se ejecutará rápidamente en el IDLE.

b. Indicaciones sobre que hace el programa
1. Al poner en marcha el programa aparecerá el menú, en donde el usuario podrá elegir tres opciones a) Instrucciones del juego, b)Jugar o c)Salir del juego. 2. Al inicio del juego al usuario se le desplegará el primer intervalo de dígitos, donde deberá descifrar el primer dígito según la pista ya dada. 3. Si el usuario no acierta primer digito aparecerá en pantalla “Upps…Ese no era!!!”, y se le restará una oportunidad. 4. El usuario cuanta con 8 oportunidades para poder acertar 4 números, que cada uno de estos se desplegara en dígito por dígito. 5. Si el usuario acaba con sus oportunidades antes de haber completado el juego, habrá terminado el juego y aparecerá en pantalla “Perdiste!!!” 6. En caso que suceda lo del inciso 9, para reiniciar el juego deberá cerrarlo y abrirlo nuevamente. 7. En caso que el usuario acierte con el primer dígito, se le proporcionará su segundo intervalo y deberá de hacer lo mismo que el inciso 6. 8. En caso que el usuario acierte con el tercer dígito, se le proporcionará su segundo intervalo y deberá de realizar lo mismo que el inciso 6. 9. Si el usuario acierta con su primer número se desplegará en pantalla “Felicidades…has resuelto el numero!!! : )”. 10. Seguidamente se le proporcionara su segundo número y deberá de realizar lo que hizo en el inciso 6, 11, 12 y 13. 11. El programa terminará hasta que el usuario acierte con los 4 números.

c. Instrucciones de uso. Explicación de las opciones del menú.
1. El programa creado y que se presenta se llama “Adivina un número de 3 cifras”. 2. Al iniciar el programa se le despliega al usuario el menú de opciones las cuales son: a) Instrucciones del juego, b) Jugar y c) Salir. 3. Si el usuario presiona a), aparecerán en pantalla cada una de las instrucciones respectivas, para que entienda a la perfección el funcionamiento del programa. 4. Si el usuario decide jugar, empezará en pantalla un mensaje “¿Listo para jugar? Si o No:” 5. Si el usuario elige Si, empezará el juego. 6. Si el usuario elige No, se le desplegará de nuevo en pantalla un mensaje “¿Listo para jugar? Si o No:” 7. Si el usuario decide salir, automáticamente se cerrará el programa; para acceder nuevamente deberá darle nuevamente ctrl+c+c.

d. Mensajes de error que pueda cometer el usuario y como solventarlos.
Al iniciar el programa al momento que aparece la barra de menú el usuario es libre de escoger lo que él quiera, pero si se equivoca al presionar a), b) ó c); el programa desplegará en pantalla “Error!!!” y le dará la oportunidad de elegir la acción a realizar nuevamente.

e. Como reportar bugs o hacer sugerencias de mejoras.
El usuario esta en el libre opción de hacernos saber qué es lo que piensa del programa, si ha encontrado errores o cree que se pueden realizar arreglos para el bien común del programa, puede hacerlo a las siguientes direcciones:

• Darlen Ayala: darlenayala3@gmail.com

• Varinia Ruano: pamela_bocaletti@hotmail.com

**f. Archivo Descargable**


= Enlace a Video: = Para acceder al video haz clic en: [|Ir al Video :)]

= Investigacion Corta: =


 * I.** **Análisis de Requerimiento**


 * a.** **Preguntas insustituibles**

Proporcionar al usuario una pista para encontrar los tres dígitos de 4 números, que se irán desplegando uno por uno hasta descubrir los primeros tres dígitos pasará al siguiente número hasta completar los 4. Las pistas que se darán vendrán dadas en intervalos, y el número que deberá encontrar se encuentra en el centro de este intervalo de números. Si el usuario acertó correctamente con las primeras tres cifras del numero, pasar con el siguiente numero para realizar el mismo procedimiento, de lo contrario no lo hará.
 * 1.** **¿Cuál es la meta?**

Los datos con los que se cuenta únicamente son los números, que deberá ingresar el usuario.
 * 2.** **¿Cuáles son los datos?**

El usuario tiene 8 oportunidades para acertar con los 3 dígitos de cada número. Los números deberán ser encontrados antes que al usuario se le acaben las oportunidades. El usuario solo deberá ingresar números, porque de lo contrario el juego no lo aceptara. Si el usuario acierta a las 3 cifras sin que sus oportunidades se hayan terminado, aparecer en pantalla un mensaje ¡Felicidades!!! Has resuelto el numero!!! :).
 * 3.** **¿Cuáles son las condiciones?**

Al iniciar el juego, se le presentan al usuario tres opciones, si desea las instrucciones del juego, jugar o salir; si decide jugar se le presentara el primer intervalo de números y el cual deberá acertarlo para continuar con el siguiente digito, si no acierta aparecerá en pantalla “Upss… Ese no era!”, se mostraran cuantas oportunidades le quedan y se le dará un nuevo intervalo para el dígito. El usuario gana en el momento que acierte los 4 números o pierde en el momento que se le acaben las oportunidades para encontrar los dígitos.
 * 4.** **¿Qué proceso necesito?**


 * b. **** Fórmulas utilizadas, valores constantes de la fórmula, funciones matemáticas, etc. **
 * 1. ** Se utilizó la función predefinida por python llamada random.randint(100,999), en donde la computadora elige un números al azar de tres cifras.
 * 2. ** Se utilizó la función predefinida por python llamada doctest.testmod(verbose=True), para poder realizar las pruebas unitarias.


 * II. **** Diseño **

Para poder llevar a cabo el funcionamiento del juego, se utilizarán las funciones mencionadas anteriormente, en donde se asignaran valores, condiciones o repeticiones. El usuario contara con 8 oportunidades para poder lograr acertar las 3 cifras de los 4 números. Para las oportunidades se utilizara una variable global llamada vidas, en donde cada vez que el usuario se equivoque le restara las oportunidades que le quedan y al no tener oportunidades le mostrará en pantalla perdiste. Se utilizara también variables globales llamadas num_d1, num_d2 y num_d3, para almacenar el primer, segundo y tercer dígito del número que esta descifrando. Y por último se utilizara la variable contador que va almacenar la opción elegida por menú.
 * a. **** ¿Cómo llevara a cabo la solución? Variables y objetivos a utilizar. **

Al inicio del juego se le presentan al usuario tres opciones que son: las __instrucciones del juego__, __jugar__ o __salir del juego__. Si el usuario presiona instrucciones del juego le aparecerán las instrucciones del juego; si presiona salir de juego, el juego habrá terminado y por ultimo si el usuario decide jugar en pantalla se desplegara el primer intervalo o pista para poder encontrar el primer digito del primer número, si el usuario no acierta en la primer oportunidades al digito aparecerá en pantalla el mensaje “Upss…Ese no era!!!”, y le restara una vida a sus oportunidades, pero sí de lo contrario presiona el digito correcto aparecerá en pantalla el mensaje “Bien!!!”, e inmediatamente el juego le dará el siguiente intervalo para descifrar, pero si de lo contrario sus oportunidades se terminan antes de haber resuelto el primer número, en pantalla aparecerá el mensaje “Perdiste!!!” y el juego habrá terminado, pero si de lo contrario el usuario acierta a todos los dígitos y descifra correctamente el 1 número sin que sus oportunidades se acaben, aparecerá en pantalla el mensaje “Felicidades!!! Has resuelto el numero!!!:)” y así sucesivamente sucederá con los 3 números restantes. Fin.
 * b. ** **Descripción del curso lógico de la solución del problema.**


 * c. **** Módulos de Python utilizados. ** **Como se utilizaran en el programa.**
 * 1.** Para utilizar la función predefinida random.randint(0,9) se importo el modulo de random, el cual alzar escoge un numero de acuerdo al intervalo que se definió anteriormente. Como se muestra en la función de arriba el intervalo que se eligió fue de mayor o igual a 0 pero menor o igual a 9.
 * 2.** Para utilizar la función doctest.testmod(verbose=True), se importo el modulo de doctest, para poder poner a prueba las funciones individualmente, para concluir si funcionan correctamente.
 * 3.** Se importo el modulo de sleep, que sirve para poner en stand by el programa por cuánto tiempo haya sido programado que en este caso 1 segundo.


 * d.** **Funciones desarrolladas por el programa. Para que se usan, parámetros esperados.**


 * 1.** **Nombre de la función:** intro.
 * Función:** Presenta una breve explicación del programa, el titulo, las creadoras del mismo. El comando de sleep es para detener la ejecución durante un segundo y así hacer más agradable la introducción. Esta función no tiene parámetros. El valor de retorno es texto.


 * 2.** **Nombre de la función:** menu.
 * Función:** Es un menú que presenta tres opciones al usuario, la cuales son instrucciones de juego, jugar o salir. El parámetro de esta función puede ser una a, b o c minúscula, la cual pertenece a la acción definida anteriormente, si el usuario introduce un letra mayúscula o un número, se le mostrara un mensaje que el carácter no es válido.


 * 3.** **Nombre de la función:** intervalo_uno.
 * Función:** Se presenta al usuario el primer intervalo del primer digito que debe ingresar. Como parámetro tiene el número que fue elegido según el intervalo indicado. No tiene valor de retorno.


 * 4.** **Nombre de la función:** intervalo_dos.
 * Función:** Se presenta al usuario el segundo intervalo del segundo digito que debe ingresar. Como parámetro tiene el número que fue elegido según el intervalo indicado. No tiene valor de retorno.


 * 5.** **Nombre de la función:** intervalo_tres.
 * Función:** Se presenta al usuario el tercer intervalo del tercero digito que debe ingresar. Como parámetro tiene el número que fue elegido según el intervalo indicado. No tiene valor de retorno.


 * 6.** **Nombre de la función:** vidas.
 * Función:** Tiene como función crear un cuadro para colocar en él el número de vidas restantes del usuario.


 * III.** **Conclusiones**
 * 1.** En esta tarea denominada Proyecto No. 1, tenía como objetivo que el estudiante aprendiera a estructurar programas y en esta ocasión se utilizo Python, y que exitosamente se cumplió el objetivo, puesto que se aprendió lo previsto.
 * 2.** En este proyecto se aprendió a definir funciones de acuerdo a la necesidad del programador.
 * 3.** Así también, en este proyecto se aprendió a utilizar funciones de repetición y condiciones para que el programa fuera más corto y que contara con menos errores posibles.


 * IV.** **Bibliografía**
 * 1.** Downey, A. (2008). //Think Python: How to Think Like a Computer Scientist.// Massachusetts: Green Tea Press. ISBN 13:9780521898119. http://www.thinkpython.com
 * 2.** González, R. (n.d.). //Python para todos.// http://mundogeek.net/tutorial-python/.
 * 3.** Python Software Foundation. (2008). //Python v2.6.2.//  Adquirida en julio, 2009, from Python Software Foundation Web page. http://www.python.org/
 * V. Archivo Descargable**

= Programa Fuente: =



= Pruebas Unitarias: =

buenas tarde maestra Gloria este es mi correo electroico enlil1@live.com.mx mi nombre es Enlil Paloma Guzmán León en esta pagina lo que yo entendi fue que nos explica como descargar este programa ,consiste en que nosostros los alumnos aprendamos a estrecturar programas