Está en la página 1de 5

Lógica de programación

Actividad 3

Objetivos

Mediantela realizaciónde esta actividad,se podrán alcanzarlos siguientes


objetivos correspondientes a la materia:

● Comprender las características, partes y tipos de algoritmos,


empleandola lógica proposicionalen la construcciónde procesosde
solución.
● Construir algoritmos, utilizando estructuras algorítmicasy diferentes
formas de representación en la solución de problemas.
● Aplicar métodos de ordenamiento,utilizando diferentes estructuras
de manejo de datos en la construcción de soluciones.
● Diferenciarlos conceptosbásicos de programación,profundizandoen
la programación orientada a objetos en el modelamiento de
soluciones.

Contexto

Nos acaban de contratar de una empresa para desarrollar un juego de


adivinanzas de números. El juego debe tener las siguientes particularidades:

● Al inicio del juego, se debe solicitaral usuario que ingrese el rango de


números para el juego y la cantidad de intentos máximos.
● El programa debe generar un número aleatorio dentro del rango
ingresado por el usuario.
● El programa debe permitir al usuario la posibilidad de adivinar el
número generado en la cantidad de intentos especificada.
● El programa debe indicar si el número ingresado por el usuario es
mayor o menor que el número generado.
● El programa debe indicar al usuario cuántos intentos lleva y cuántos
intentos le quedan.
Resolución:/

#include <iostream>

#include <cstdlib>

#include <ctime>

using namespace std;

void numIngresados(int arreglo[], int intentos);

int main(){

int rangoInferior, rangoSuperior, intentosmaximos, numAdivinar, esRepetido, intentos =0,


numUsuario;

do {

cout<<"Por favor, ingrese el rango inferior de numeros: "; cin >> rangoInferior;

} while(rangoInferior < 0);

do {

cout << "Por favor, ingrese el rango superior de numeros: "; cin>>rangoSuperior;

} while (rangoSuperior <= 0 || rangoInferior >= rangoSuperior);

do {

cout<<"Por favor, ingrese la cantidad de intentos posibles: "; cin>>intentosmaximos;

}while (intentosmaximos <=0);


srand (time(NULL));

numAdivinar = (rand() % (rangoSuperior - rangoInferior +1)) + rangoInferior;

int arreglo[intentosmaximos];

do {

esRepetido=0;

cout << "adivina el numero dentro de: " << rangoInferior << "y" << rangoSuperior <<endl;

cout << "\nintentos " << intentos + 1 << ", Ingrese un valor";

cin>>numUsuario;

for (int i = 0; i < intentos; i++){

if(arreglo[i] == numUsuario){

cout<<" El numero ya ha sido ingresado, ingrese otro numero entre: "<< rangoInferior << " y
" << rangoSuperior<<endl;

esRepetido =1;

break;

if (!esRepetido){

arreglo[intentos] = numUsuario;

intentos++;

if(numUsuario <= rangoInferior||numUsuario >= rangoSuperior){

cout << "El numero ingresado esta fuera del rango, Por favor ingresa un nuemro
valido"<<endl;

} else if (numUsuario < numAdivinar){

cout << "Que pesar, numero incorrecto. ";


cout << "El numero es mayor, Ingresa otro."<<endl;

}else if (numUsuario > numAdivinar){

cout<<"El numero es Menor, Ingresa otro."<<endl;

}while (numAdivinar != numUsuario && intentos < intentosmaximos);

if(numAdivinar == numUsuario){

cout << "\n!..FELICIDADES..! Has logrado Adivinar el numero correcto en: "<<(intentos+1)<<"
intentos"<<endl;

}else{

cout << "\nLamentable, has agotado todos tus intentos. El nuemero ganador era:
"<<numAdivinar<<endl;

numIngresados(arreglo, intentos);

return 0;

void numIngresados (int arreglo[], int intentos){

cout << "\n Los numeros ingresados fueron:" ;

for (int i = 0; i < intentos; i++){

cout << arreglo[i] << " ";

cout << endl;

}
● El programa debe permitir al usuario ingresar varios números para
intentar adivinar el número generado, y guardarlos en un array.
● El programa debe verificar si el número ingresado ya fue ingresado
anteriormente.
● El programa debe ordenar los números ingresados por el usuario de
manera ascendente.
● El programa debe indicar al usuario los números que ya fueron
ingresados ordenados.
● El juego debe terminar cuando el usuario adivina el número o se
quedan sin intentos.

Consigna

● El programa debe permitir al usuario ingresar varios números para


intentar adivinar el número generado, y guardarlos en un array.
● El programa debe verificar si el número ingresado ya fue ingresado
anteriormente y no contemplarlo como un intento.
● El programa debe indicar al usuario mediante una función los números
que ya fueron ingresados. No se deben contemplar los números
repetidos, es decir solo se contabilizan una vez.

Entrega
¡Llegamos al final de la actividad de este módulo! Recordemos guardar las
respuestas y luego subirlas haciendo clic en el botón "Enviar tarea".

Recordemos que es posible consultar las dudas con nuestros compañeros en


el foro de la materia o con nuestro tutor.

También podría gustarte