P06 Adi Nu

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 4

P06AdiNu.

1) Objetivo.
Se trata de adivinar un número (entre 0 y 9) que esta registrado dentro del
programa, en un número de intentos (entre 1 y 10).
Lee el número de intentos (nint), y en base a eso solicita alimentar un número
(intento). Si coincide con el número del programa, imprime mensaje de
felicitación y termina la ejecución; en caso contrario solicita nuevamente un
número repitiendo las acciones, y si se agotan los intentos imprime mensaje
alusivo y termina. En el caso de solicitar otro número, se imprime mensaje
de ayuda indicando si es mayor/menor que el número “mágico”. En esta
codificación se asignó 7 al número mágico.

2) Interface de usuario. Se refiere a un esquema que ilustra lo que sale en la pantalla


o monitor, al momento de la ejecución del programa.

ALIMENTE NUMERO DE INTENTOS (<=10): 3 (ejemplo)

ADIVINE EL NUMERO MAGICO, MAX=9: 8

Alto

ADIVINE EL NUMERO MAGICO, MAX=9: 3

Bajo

ADIVINE EL NUMERO MAGICO, MAX=9: 6

Bajo

ITERACIONES AGOTADAS 7 es el número mágico.

123 (POR EJEMPLO)

RESULTADOS

R1 =-1.000000 1.414214i R2 =-1.000000 -1.414214i

A=1.000000 B=2.000000 C=3.000000

PARA TERMINAR DIGITE ‘f’


3) Diagramas de flujo.

main

ALIMENTAR NUMERO DE INTENTOS (<=10):

nint

SI
!(nint>0 && nint<11)

I=1; i<=nint; i++

ADIVINE EL NUMERO MAGICO, MAX=9:

intento

SI
Intento == magico

NO
** Correcto **
Intento > magico
Intento es el numero magico

Bajo Alto
fin

ITERACIONES AGOTADAS

magico es el numero magico


fin
4) Codificación.

/* P06AdiNu.c
Adivina un numero
Ing.Leopoldo Ortega Rios
*/
#include <stdio.h>
int main() {
int nint,magico=7; /* numero magico */
int intento,i;

do{
system("cls"); //clrscr();
printf("\nALIMENTE NUMERO DE INTENTOS (<=10): ");
scanf("%d",&nint);
}while(!(nint>0&&nint<11));
//system("cls"); //clrscr();
for(i=1;i<=nint;i++) {
printf("\nADIVINE EL NUMERO MAGICO, MAX=9: ");
scanf("%d",&intento);
if (intento == magico) {
printf("\n** Correcto **");
printf(" %d es el numero magico.", magico);
getch();
return 0;
}
else
intento>magico ? printf("\nAlto") : printf("\nBajo") ;
}
printf("\nITERACIONES AGOTADAS");
printf(" %d es el numero magico.", magico);
getch();
return 0;
}

5) Observaciones:
- Se definen como int las variables nint (número de intentos), mágico (número a
adivinar y se le asigna el valor de 7), intento (valor que se alimenta para adivinar el
número mágico), “i” (variable que controla los intentos).
- Con do/while se controla que “nint” tenga un valor dentro del rango permitido, se
limpia pantalla, se imprime letrero alusivo y se lee.
- Con for(i=1;i<=nint;i++) {… } se controla con un máximo “nint” la repetición para
alimentar un numero (intento) y checar si tiene el valor de “mágico” .
- Dentro del “for”, se imprime mensaje alusivo y se lee “intento”.
- Dentro del “for” después de la lectura de “intento”, con un “if” se detecta si se
adivinó el número “mágico”.
- Si es verdadero “intento == mágico”, mensajes alusivos de éxito, y con “getch()” se
detiene el proceso para observarlo, hasta digitar una tecla, y con “return 0” se
termina el proceso.
- En el caso de ser falso “intento == mágico”, entra el “else”, dentro del cual existe
un “if compacto” (sintaxis: exp1? exp2: exp3; Explicación: Si exp1 es verdadera se
realiza exp2, de lo contrario se realiza exp3).
- Si “intento > mágico se imprime “Alto”, de lo contrario se imprime “Bajo”. A
continuación se regresa al inicio del “for”.
- En el caso de que el “for” agote sus iteraciones, quiere decir que no se adivinó el
número mágico, se sale del loop del “for “ y se imprimen mensajes alusivos a NO
adivinar el número mágico.
- Con “getch()” se detiene la ejecución, se observan resultados y al digitar una tecla
se termina el proceso.

También podría gustarte