Proy1Sec10+Grupo+No.+3

Integrantes:
Martín Oliveros 08075 Alejandro Ordóñez 06774

Este programa tiene como objetivo involucrar y entretener al usuario, brindándole un juego en el cual se desarrolla lógica y creatividad para hacer con una serie de instrucciones y seis pasos, a que se adivine un número correspondiente al intervalo de 1 a 63. El diseño del programa es sobre un juego en el cual se adivina un número en seis pasos; en este juego el usuario tiene que pensar en un número de 1 a 63 y a través de seis pasos, respondiendo “si” o “no” se obtiene el número pensado. Esto ocurre debido a que el programa cuenta con funciones, condiciones y ciclos capaces de identificar en cada uno de los pasos si se encuentra el número pensado y si se está cumpliendo con las reglas de juego. El usuarios tiene una sola oportunidad para darse cuenta que el juego le puede adivinar el número que pensó; únicamente se debe responder “si” o “no”. Al no cumplir con esta instrucción el juego desplegará un mensaje que indique que no se esta cumpliendo con las reglas. El programa utilizado para desarrollar este juego fue a través del lenguaje Phyton; aplicando funciones, condiciones y ciclos que determinan el comportamiento y funcionamiento del juego.
 * // Introducción: //**

//** Manual del Usuario : continuación se puede visualizar el manual del usuario del programa.[[file:Manual del Usuario Ale y Martin.doc]] **//
Video de ejecución del programa:

=
//¿Cuál es la meta? // =====

=
//La meta del proyecto es realizar un programa con el que se pueda adivinar un número en seis pasos, en un rango de 1 a 63. // =====

=
//¿Cuáles son los datos? // =====

=
//Se debe encontrar un número. // =====

=
//¿Cuáles son las condiciones? // =====

=
//Realizar estrictamente seis pasos para obtener un número. // =====

=
//Procedimiento: // =====

=
//Se desarrolló un programa que en seis pasos encontrara el número que el usuario escogía. Para esto, a cada casilla de números se le asigno un valor, que iba desde 2 elevado a la 0, hasta 2 elevado a la 5. Luego se iban sumando las respuestas del usuario, por lo que se encuentra el número que este escogió.// =====

**//Diseño de Programa//**
<span style="background-color: #c0c0c0; font-family: 'Comic Sans MS', cursive; color: #0000ff;">¿Cómo se llevó a cabo la solución? Para realizar el programa, se ingresaron rangos previamente establecidos para cada uno de los seis pasos que debía seguir el programa. Cada uno de los seis pasos tenía un valor, que iba desde 1, hasta 32.

<span style="background-color: #c0c0c0; font-family: 'Comic Sans MS', cursive; color: #008000;">Se utilizó únicamente una variable, la cual se definió como numeros y debía llevar cuenta acerca de las respuestas que el usuario ingresaba. No fue necesario utilizar objetos. No se utilizó ningún módulo de python ya que se decidió que eran innecesarios para que el programa corriera adecuadamente.

<span style="text-align: left; background-color: #ffff00; display: block; font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif; color: #008080;">Desarrollo: El programa inicia desplegando las instrucciones que el usuario debe seguir. Inmediatamente después, despliega el primer grupo de números al usuario, preguntándole si su número se encuentra en este listado. Si el usuario escribe si, el programa va dando un valor a la variable "numeros", si escribe no, la deja igual. Si el usuario escribe cualquier otra cosa, el programa despliega un mensaje de error, indicándole al usuario que debe seguir las reglas. Luego de pasar esta serie de números, el programa debe desplegar otros 5 grupos de números, en los cuales muestra diferentes opciones y va dando valores nuevos a la variable "numeros". Al final del programa, se despliega el resultado de "numeros", que representa el número que el usuario escogió. si el usuario escribió no siempre, el programa muestra el mensaje de no seguir instrucciones. Se utilizó un doctest, con el cual se garantizó que todas las funciones estuvieran corriendo correctamente.

**Programa Fuente:**



//** Video de Programa en funcionamiento: **//

[]

<span style="font-family: Georgia, serif; color: #03037c; font-size: 110%;">Se utilizó if y else para indicar varias condiciones; en las cuales se debía reflejar “sí” el número pensado correspondía al intervalo de números propuestos, al número se le sumaba 1 en el primer paso, en el segundo se le sumaba 2, en el tercero + 4, en el cuarto +8, en el quinto +16 y el sexto +32. Si los números no cumplían con la condición se aplicaba el “else” que proponía sumar cero en todos los pasos. Ejemplo: <span style="font-family: 'Arial', 'sans-serif'; font-size: 12pt;"><span style="font-family: Georgia, serif; color: #03037c; font-size: 110%;">
 * <span style="line-height: 115%; font-family: Georgia, serif; color: #03037c; font-size: 110%;">Condiciones, funciones y ciclos: **
 * <span style="font-family: Georgia, serif; color: #03037c; font-size: 110%;">Condiciones: **

<span style="line-height: 115%; font-family: Georgia, serif; color: #03037c; font-size: 110%;"> if numero == 'si': numeros = numeros + 1 (+2,+4,+8,+16, +32) para cada paso else: numeros = numeros + 0 <span style="line-height: 115%; font-family: 'Arial', 'sans-serif'; font-size: 12pt;"><span style="font-family: Georgia, serif; color: #03037c; font-size: 110%;">

<span style="line-height: 115%; font-family: Georgia, serif; color: #03037c; font-size: 110%;">Se utilizaron funciones como def numero1:, def numero2:,def numero3:,def numero4:,def numero5: y def numero6:. Estas funciones le indicaron al programa que debía identificar los seis juegos de números para los seis pasos correspondientes. Ejemplo: <span style="font-family: Georgia, serif; color: #03037c; font-size: 110%;"><span style="line-height: 115%; font-family: 'Arial', 'sans-serif'; font-size: 12pt; msotabcount: 2;"> <span style="line-height: 115%; font-family: 'Arial', 'sans-serif'; background: yellow; font-size: 12pt; mso-highlight: yellow; mso-ansi-language: EN-US;">def numero1: <span style="line-height: 115%; font-family: 'Arial', 'sans-serif'; font-size: 12pt; mso-ansi-language: EN-US;"> <span style="line-height: 115%; font-family: Georgia, serif; color: #03037c; font-size: 110%; mso-ansi-language: EN-US; msoansilanguage: EN-US;">  print '1 3 5 7 9 11 13 15 17' print '19 21 23 25 27 29 31' print '33 35 37 39 41 43 45' print '47 49 51 53 55 57 59' print '61 63\n' num1= numero1 <span style="line-height: 115%; font-family: Georgia, serif; color: #03037c; font-size: 110%; mso-ansi-language: ES-GT; msoansilanguage: ES-GT;">Se utilizaron también funciones para condicionar la corrida de python, como los son def cond1, def cond2, hasta def cond3: Ejemplos: def cond1: global números while numero != 'si' and numero!= 'no': print 'No estás siguiendo las reglas del juego' numero = str(raw_input('¿Esta aqui tu numero?\n')) if numero == 'si': numeros = numeros + 1 else: numeros = numeros + 0 return números cond1 = cond1 <span style="line-height: 115%; font-family: Georgia, serif; color: #03037c; font-size: 110%;">El ciclo “while” fue utilizado al momento de que el usuario rompiera las reglas del juego; permitiendo que se quedara en el paso donde estuviese el error. De esta forma el juego no continúa hasta cumplir con las instrucciones propuestas. Ejemplo: numero = str(raw_input('¿Esta aqui su numero?\n')) <span style="font-family: Georgia, serif; color: #03037c; font-size: 110%;"><span style="line-height: 115%; font-family: 'Arial', 'sans-serif'; background: yellow; font-size: 12pt; mso-highlight: yellow;">while numero != 'si' and numero!= 'no': <span style="line-height: 115%; font-family: 'Arial', 'sans-serif'; font-size: 12pt;"> <span style="line-height: 115%; font-family: Georgia, serif; color: #03037c; font-size: 110%;"> print 'Usted no está siguiendo las reglas del juego' numero = str(raw_input('¿Esta aqui su numero?\n')) if numero == 'si': numeros = numeros + 1 else: numeros = numeros + 0 <span style="line-height: 115%; font-family: Georgia, serif; color: #03037c; font-size: 13.2pt;"> <span style="line-height: 115%; font-family: Georgia, serif; color: #03037c; font-size: 110%;">Además se utilizó: str(raw_input ) para ingresar los mensajes print : para desplegar en pantalla los mensajes Asignaciones : total = 0 <span style="line-height: 115%; font-family: Georgia, serif; color: #03037c; font-size: 13.2pt;"> numeros = <span style="line-height: 115%; font-family: 'Arial', 'sans-serif'; font-size: 12pt;">0
 * <span style="line-height: 115%; font-family: Georgia, serif; color: #03037c; font-size: 110%;">Funciones: **
 * <span style="line-height: 115%; font-family: Georgia, serif; color: #03037c; font-size: 110%; mso-ansi-language: ES-GT; msoansilanguage: ES-GT;">Ciclos: **

// Conclusiones: // // <span style="line-height: 115%; font-family: Symbol; font-size: 12pt; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol; msofareastfontfamily: Symbol; msobidifontfamily: Symbol; msolist: Ignore;">· <span style="line-height: 115%; font-family: 'Arial', 'sans-serif'; font-size: 12pt;">Se adquirió más experiencia y conocimiento respecto al uso de condiciones, funciones y ciclos. // <span style="line-height: 115%; background-color: #008080; font-family: 'Arial', 'sans-serif'; color: #000000; font-size: 12pt;"> // <span style="line-height: 115%; font-family: Symbol; font-size: 12pt; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol; msofareastfontfamily: Symbol; msobidifontfamily: Symbol; msolist: Ignore;">· <span style="line-height: 115%; font-family: 'Arial', 'sans-serif'; font-size: 12pt;">Se analizó y comprendió la utilidad del ciclo “while” el cual da ventajas para no romper la secuencia del programa y no se vea en la necesidad de reiniciar. // <span style="line-height: 115%; background-color: #008080; font-family: 'Arial', 'sans-serif'; color: #000000; font-size: 12pt;"> // <span style="line-height: 115%; font-family: Symbol; font-size: 12pt; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol; msofareastfontfamily: Symbol; msobidifontfamily: Symbol; msolist: Ignore;">· <span style="line-height: 115%; font-family: 'Arial', 'sans-serif'; font-size: 12pt;">Se aprendió sobre la aplicación correcta de las condiciones como if y else, los cuales permiten que el programa cumpla con el objetivo principal. // <span style="line-height: 115%; background-color: #008080; font-family: 'Arial', 'sans-serif'; color: #000000; font-size: 12pt;"> // <span style="line-height: 115%; font-family: Symbol; font-size: 12pt; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol; msofareastfontfamily: Symbol; msobidifontfamily: Symbol; msolist: Ignore;">· <span style="line-height: 115%; font-family: 'Arial', 'sans-serif'; font-size: 12pt;">La realización de este proyecto beneficia la aplicación de los temas y ejercicios aprendidos en clase y laboratorio. // <span style="line-height: 115%; background-color: #008080; font-family: 'Arial', 'sans-serif'; color: #000000; font-size: 12pt;"> <span style="line-height: 115%; font-family: Symbol; font-size: 12pt; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol; msofareastfontfamily: Symbol; msobidifontfamily: Symbol; msolist: Ignore;">// · // <span style="line-height: 115%; font-family: 'Arial', 'sans-serif'; font-size: 12pt;">// Las herramientas virtuales son de mucha ayuda, ya que hacen relacionarnos con la tecnología aplicada en los países con mayor desarrollo. //