InvestigacionCortaS20G8


 * 1)** **Análisis de requerimiento:**

a) Preguntas insustituibles · __Meta:__ - adivinar cinco números (entre 0 y 9) aleatorios generados por el computador

· __datos__: - Numeros

· __condiciones:__ - 5 dígitos del 0 al 9 - Los dígitos no se pueden repetir

· __procesos que necesito:__ - generar numero - pedir ingresar numero de 5 dígitos - si el número ingresado no es de 5 dígitos, mostrar un mensaje que diga que el número no es posible procesarlo. - obtener respuesta si cada digito que se ingreso es una fama o un toque - volver a ingresar números ya conociendo que dígitos son famas y toques - si se adivino el numero, mostrar un mensaje que diga que el juego se ha ganado - si al cabo de 5 oportunidades, no se adivino el número, mostrar un mensaje que diga que se ha perdido.

a. ¿Cómo llevará a cabo la solución? Variables y objetos a utilizar.
 * 2. Diseño:**

__Variables a utilizar:__ Estas variables generan un digito aleoratorio sin que se repitan entre si y que solo sean números del 0 al 9 x = random.randint(0,9)

y= random.randint(0,9) while y == x: y = random.randint(0,9)

z = random.randint(0,9) while (z == x or z == y): z = random.randint(0,9)

m = random.randint(0,9) while (m == x or m == y or m == z): m = random.randint(0,9)

n = random.randint(0,9) while (n == x or n == y or n == z or n == m): n = random.randint(0,9)

Estas variables obtiene el 1er, 2ndo, 3er, 4to, y 5to digito acorde a los datos que uno ingreso dándoles un nombre de a, b, c, d y e. a= int(numUsuario /10000) b = int((numUsuario/(1000)) - (10*a)) c = int((numUsuario/(100)) - (10*b)- (100*a)) d = int((numUsuario/(10)) - (10*c) - (100*b)- (1000*a)) e = int(numUsuario)) - (10*d)-(100*c) - (1000*b)- (10000*a) La solución se logra por medio de comparaciones entre los números del usuario de variables a,b,c,d,e y los números aleatorios guardados en las variables x,y,z,m,n. Dando solamente 5 oportunidades.

b. Descripción del curso lógico de la solución del problema. (Narrativo)

- La solución del problema se lleva a cabo mediante la creación de un programa llamado toque y fama. Después de que la persona ingreso un número de 5 dígitos, la computadora automáticamente imprime un mensaje en donde dice que números son correctos y cuales números no son correctos. Para todo esto, se crearon condiciones que deben cumplirse para que el juego pueda correr y se pueda jugar. Algunas condiciones creadas sirven, en caso de que no se cumple esa condición, para imprimir un mensaje si el número que se ingreso no cumple dichas condiciones, estas condiciones pueden ser, como por ejemplo si algún número es negativo, o es decimal. O si hay más de 5 dígitos, o menos de 5 dígitos, etc. Se dan condiciones, en donde según lo que el jugador ingreso, se imprima un mensaje para que el jugador sepa que números de los que el ingreso son correctos y cuales no. Como por ejemplo, si la persona ingreso dicho numero en el orden correcto, se imprime “fama” y si no se coloco un digito en orden correcto se imprime “toque”, dichas condiciones son como por ejemplo: if a == x or a == y or a == z or a == m or a == n: if a == x: r1 = "F" Famas = Famas + 1 else: r1 = "T" Toques = Toques + 1 else: r1 = "x" Al final la solución del juego es encontrar el numero que la computadora almaceno aleoratoriamente por medio del modulo random en el cual la computadora escoge al azar 5 dígitos diferentes todos, los cuales son diferentes, es decir que no se repiten.

c. Módulos de Python utilizados. Cómo se utilizarán en su programa.

Se importo el modulo random, el cual funciona para que la computadora busque números al azar sin repetir y los almacene en su memoria, y cada vez que se reinicie el juego, la computadora buscara números random para que el jugador los trate de adivinar según las condiciones.

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

__def Saludo :__La siguiente función se usa para definir la introducción al juego, es decir, la función se usa para dar una pequeña bienvenida al jugador, pidiendo su nombre para poder referirse a él. __def Numero :__Esta es la función mas importante de todas, ya que esta función se usa para definir los números y las variables globales que se van a utilizar durante todo el programa. Por medio de esta función se permite ingresar el numero de 5 dígitos, y a partir de ahí, se crean condiciones para que el programa corra. __Def oportunidades :__ Límita al jugador las oportunidades y recibe el parámetro de Numero: para detener el programa en caso de que gane. __def Saludo :__ No tiene parámetros __def Número:__ No usa parámetros __def oportunidades:__ Su parámetro son las Famas.


 * 3.** **Conclusiones****:** describir qué aprendieron y qué beneficio obtuvieron al realizar este proyecto.

En el siguiente programa se aprendió acerca de los ciclos, en especial el ciclo “while”, el cual nos ayudo a repetir un bloque de comandos hasta que se produce una condición terminal. Se reforzó el tema de condiciones, usando if, elif, else. El beneficio que le pudimos ver a este proyecto fue el desarrollar juegos numéricos y tener un dominio para poder aplicar los ciclos en una tarea o en un laboratorio.

Bibliografía Pablo Barrera Gonzalez Python "El lenguaje de moda" http://74.125.47.132/search?q=cache:Aq_iiWLNMdgJ:gsyc.es/~barrera/docs/python2-2004.pdf+secretos+de+python&cd=1&hl=es&ct=clnk&gl=gt

__Regresar__