Universidad del Valle de Guatemala
Fundamentos de Programación
José Lam 09013
Yazmin Ortiz 09183


àJuego “Número de 3 Cifras” ß

¡BIENVENIDO!
tiiibz-painter-tux
tiiibz-painter-tux

Imagen de http://tux.crystalxp.net/

MANUAL DE USUARIO

Como instalar el programa:

Primero, debes ingresar al sitio de Python: http://python.org, selecciona la versión 2.6.2 para Windows: Windows Installer, guardarla en tu computadora. Instala Python y ejecuta el archivo bajado anteriormente. Para ejecutar Python selecciona el programa IDLE (Python GUI). Cuando hayas terminado, descarga el programa proyecto1final.py, guardarlo en una carpeta, como posees phyton haz clik en IDLE (Python GUI), luego clik en "file", luego selecciona "open" y selecciona el juego, una vez abierto haz click en "run" (F5). Y comienza a jugar y a divertirte.


¿Qué hace el programa?

El juego consiste en que debes de adivinar un número de 3 dígitos, debes de ingresar números enteros del 0 al 9, solo tienes 8 intentos para adivinar cada número.


Instrucciones de Uso:

El programa es muy simple. Para poder utilizar este programa, basta con tener el interprete de Python. Haz doble click en el icono del archivo que descargaste para utilizarlo en el ejecutor, o haz click derecho sobre el ícono, y presiona Edit with Idle. En la página del código, haz click en Run en la parte superior izquierda del documento, y haz click en Run Module. También puedes hacer click en F5 para correrlo. El programa deberá correr en el intérprete.

Mensajes de Error:

Al momento del ingreso del número, pueden haber errores en la identificación del número para hallar el número. En el caso que el intérprete no pueda leer el número, desplegará un mensaje: "Ingrese el número nuevamente (asegúrate que no tenga espacios, y que no sean letras)". Si sale este mensaje, deberás ingresar el número nuevamente, asegurándote que no hayan espacios, no sean letras, ni caracteres extraños. Solamente ingresa números enteros.


Reportar Errores:

Si te surge alguna duda o sugerencia acerca del funcionamiento del programa, no dudes en comunicarte con los creadores. Si el programa tiene algún error que provoque su mal funcionamiento, también nos puedes contactar. Nuestros correos son yini-0.8@hotmail.com y jalc27_91@hotmail.com


VIDEO

Haz click en el siguiente link para ver como funciona este programa:


ANÁLISIS

Preguntas insustituibles:

1. ¿Cuál es la meta?
Realizar un programa en lenguaje Python, que emita el juego -Adivinar un numero de 3 cifras-.


2. ¿Cuáles son los datos?

Números (1, 2, 3, 4, 5, 6, 7, 8, 9, 0)


3. ¿Cuáles son las condiciones?

*Son 8 intentos para ingresar un número en el juego.
*El número a ingresar debe pertenecer al intervalo dado.
*El número ha adivinar es de 3 cifras.
*Se debe adivinar 4 números de 3 cifras.
*Utilizar mínimo tres funciones para realizar el programa.


4. ¿Cuál es el proceso?

1) Utilizar prácticas de documentación y estilo de programación.
2) Utilizar lenguaje Python para la creación del programa
3) Crear funciones.
4) Incluir a cada función un docstring.
5) Definir funciones.
6) Crear un Doctest o prueba unitaria para cada función definida.
7) Realizar -programación defensiva-, es decir, probar con todas las opciones de ingreso posibles.
8) Crear estructuras condicionales.
9) Dar instrucciones de cómo funciona el programa a la hora de ejecución.
10)Dar los resultados de un forma clara, debe existir una representación lógica de lo que esta pasando en el juego.
11)Ejecutar el programa.
12)Mostrar en pantalla el programa.


5. ¿Cuál es el resultado?

Un programa en lenguaje Python, que emita el juego –Adivinar un numero de 3 cifras-.


Fórmulas utilizadas:

  • Se importo el modulo random
  • Se definió la variables mediante la asignación =
  • Se utilizaron condiciones (if, else)
  • Se hizo uso de operadores aritméticos
  • Las funciones matemáticas utilizada fue la resta, multiplicación y división.
  • No se utilizaron valores constantes.

DISEÑO

Variables a utilizar

Se utilizó una variable global llamado intentos la cual era la que indicaba cuantos intentos se poseía a medida que el juego avanzaba.
También se utilizaron los operador ==, y, las sentencias condicionales (if, if..else,), también. Se definieron 5 funciones en total: azar(x,y), numero( ), numeroReal(x,y,z), intervalo(n1) y dato(d). Utilizando todo esto se pudo llevar a cabo el programa.



Narrativa del Proceso

INICIO
Dar bienvenida al juego.
Mostrar en pantalla instrucciones del juego.
Python elige un número de 3 cifras.
Dar un intervalo que indique donde se encuentra el primer dígito.
Pedir al usuario ingresar un número.
Si el número ingresado es correcto, entonces mostrar en pantalla que es el número correcto y el intervalo en donde se encuentra el segundo digito.
Fin si
Si el número ingresado es incorrecto, entonces mostrar en pantalla que el número incorrecto, restar una oportunidad y pedir al usuario que ingrese otro numero.
Fin si
Si el número ingresado es correcto, entonces mostrar en pantalla que es el número correcto y el intervalo en donde se encuentra el tercer digito.
Fin si
Si el número ingresado es incorrecto, entonces mostrar en pantalla que el número incorrecto, restar una oportunidad y pedir al usuario que ingrese otro numero.
Fin si
Si el número ingresado es correcto, entonces mostrar en pantalla que es el número correcto.
Fin si
Si el número ingresado es incorrecto, entonces mostrar en pantalla que el número incorrecto, restar una oportunidad y pedir al usuario que ingrese otro numero.
Fin si
Mostrar en pantalla que ha ganado el juego, el puntaje del usuario y el número de oportunidades que necesito para lograrlo.
FIN


Módulos de Python utilizados.(Como se utilizaron)


Los módulos son elementos que de Python que con sus funciones incorporadas y predeterminadas evitan que nosotros debamos tratar directamente con el hardware de la computadora para realizar diversas tareas típicas como leer un archivo, comprobar que una tecla se ha presionado, etc. (Gauld, 2003)


Se utilizó el módulo random debido a que esto indica que phyton elegirá un número al azar entre un rango que se le indique (en este caso fue de 100 a 999). Además, se utilizó el modulo de math para poder utilizar funciones matemáticas en el programa.


Funciones desarrolladas por el programador.


  • def azar (x,y): Esta función reciben dos número y se elige un númeo al azar entre ellos.
  • def nuemro ( ): Esta función primero elige un número al azar y luego ese valor es devuelto
  • def numeroReal (x,y,z): Esta función primero recibe tres números, luego el primero se multiplica por cien y el segundo por diez, y finalmente regresa los tres números.
  • def intervalo(n1): Recibe un dato y se utiliza como argumento para llamar al "azar", imprimiendo así el intervalo que se utilizará.
  • def dato (d): Primero recibe un número, que se le llama “d”, después se pide un número y se le asigna a "num", pero al ingresarlo ese número es considerado letra por lo que se convierte a númer, se toma una decisión, si el número ingresado "num" no es igual al número recibido "d" entonces a la variable global se le resta uno y si esta es igual a cero, el juego se acaba, si no llega a ser igual que cero entonces se imprime un mensaje y se llama a la función "dato". Si el número "num" es igual al número "d", entoces imprimir mensaje de felicitación y mostrar.
CONCLUSIONES

· Es necesario establecer las entradas, salidas, procesos y condiciones (preguntas insustituibles) para poder llevar a cabo eficazmente un proyecto como éste, para poder tomar en cuenta todo lo que este requiere y así ejecutarlo de una forma eficaz.
· Las variables globales brindan facilidad al programar, debido a que una vez definidas solo se es necesario invocarlas.
· La importación de módulos permite que el programa realice una determinada tarea durante todo el programa, haciendo el trabajo más práctico y fácil.
· Un programa bien estructurado, con funciones y variables bien definidas, es fácil de comprender y a su vez hacen el manejo de éste mucho más fácil.
· El programa puede ser mejorado utilizando funciones predeterminadas por Python, que puede mejorar el desarrollo del mismo.


RESULTADOS DE PRUEBAS UNITARIAS


Estas son las pruebas unitarias del programa (juego) realizado:


1) Función azar
2) Función numero
3) Función numeroReal
4) Función intervalo
5) Función dato

PROGRAMA FUENTE

Puedes descargar el juego totalmente gratis. Solamente haz clic en el link juego y guárdalo en tu computador.




BIBLIOGRAFÍA


  • Python software foundation, Phyton programming language, copyright 1990-2009, [Versión electronica], obtenido de http://www.python.org/, recuperado el 29/8/2009.



Welcome to Your New Wiki!


Getting Started

  • Click on the edit button above to put your own content on this page.
  • To invite new members, click on Manage Wiki and Invite People.
  • To change your wiki's colors or theme, click on Manage Wiki and Look and Feel.
  • To set who can view and edit your wiki, click on Manage Wiki and Permissions.

Need Help?

  • Click on the help link above to learn more about how to use your wiki.