Dev-C++, clase7 – ejercicios de aplicacion II

Hola a todos/as,

En la clase anterior vimos la aplicacion de la instrucción selectiva doble: if / else que sirve para las condiciones. Ahora haremos unos ejercicios de aplicacion para terminar de solventar ese conocimiento y aplicarlo bien. Vamos a ello.

8.-) Hacer un programa que pida 3 numeros y al mayor lo muestre en pantalla

Por favor antes de ver ésta entrada recomiendo ver la entrada:

Uso de la aplicacion

Bien, entonces segun el ejercicio propuesto necesitamos tres numeros, para ello vamos a usar tres variables diferentes: n1,n2,n3.

n1 = primer numero

n2 = segundo numero

n3 = tercer numero

Luego habra que analizar cual entre los tres numeros ingresados es el mayor, y al encontrarlo lo mostraremos en pantalla. Funcionará de ésta manera, asumiendo datos:

n1 = 15

n2 = 22

n3 = 9

Expresandolo en manera humana, como apreciamos nosotros el medio:

si 15 es mayor a 22 y tambien es mayor a 9 entonces, Mostramos 15

Expresandolo en  manera de codigo, la primera pregunta seria:

Si 15 > 22 && 15 > 9

si eso fuera cierto mostrariamos el 15 como respuesta. Pero no es cierto por lo tanto vamos con la siguiente pregunta.

Si 22 > 15 && 22 > 9

eso si es cierto, entonces mostrariamos el numero 22 como resultado. Pero si eso tampoco fuera cierto se preguntaria por tercera vez:

Si 9 > 15 && 9 > 22

si eso fuera cierto, se mostraria el 9 como numero mayor, pero no es así. El numero mayor fue el 22. Se hubiera mostrado en la linea anterior cuando preguntamos si 22 era mayor que 15 y 9

Tambien podemos observar que tenemos un codigo nuevo, es el separador » && » que significa » Y «. Asi como vemos he coloreado con café el » Y » en el lenguaje Humano y el » && » en lenguaje codigo para que observen que decir » Y » equivale a poner » && » en codigo fuente en lenguaje C++

NOTA: ver mas informacion sobre el operador logico » && » [ AQUI ]

Ahora que vimos como va el ejercicio. Comenzamos con el codigo fuente 😉

ATENCION: en las clases anteriores he explicado las lineas y que hace cada una, entonces les sugiero que vean las entradas anteriores para entender las lineas de las que no voy a hacer mucha enfasis.

Las lineas que ya hayamos visto, les colocaré ” *** “  al final para que sepan que ya lo hemos visto con anterioridad ( entiendase como “anterioridad” a la/las clases anteriores ademas de sus correspondientes entradas en la seccion “General” del mapa de sitio ).

#include <iostream.h>
main ()

{

int n1,n2,n3;
cout<<» \t \n Ingrese 2 numeros \n \n»;
cout<<» \n Primer nuemro: \n»;
cin>>n1;
cout<<» \n Segundo nuemro: \n»;
cin>>n2;
cout<<» \n Segundo nuemro: \n»;
cin>>n3;

if ( n1 > n2 && n1 > n3 )
{
cout<<» \n El mayor numero entre: «<<n1<<» , «<<n2<<» , «<<n3<<» fue el numero: «<<n1<<«\n\n»;
}

if ( n2 > n1 && n2 > n3 )
{
cout<<» \n El mayor numero entre: «<<n1<<» , «<<n2<<» , «<<n3<<» fue el numero: «<<n2<<«\n\n»;
}

if ( n3 > n1 && n3 > n2 )
{
cout<<» \n El mayor numero entre: «<<n1<<» , «<<n2<<» , «<<n3<<» fue el numero: «<<n3<<«\n\n»;
}

system(«pause»);

}

– linea 1: la cabecera y libreria ***

– linea 2: funcion principal ***

– linea 3 – 25 : inicio y fin del programa ***

– linea 4: declaramos variables ***

– linea 5: recurso ” cout ” ***

– linea 6: recurso ” cout ” ***

– linea 7: recurso ” cin ” ***

– linea 8: recurso ” cout ” ***

– linea 9: recurso ” cin ” ***

– linea 10: recurso ” cout ” ***

– linea 11: recurso ” cin ” ***

– linea 12 – 15: instrucción selectiva simple » if «

Vemos asi como lo explicaba arriba, que el codigo pide al programa que pregunte si el primer numero es mayor que el segundo y el tercero. A continuacion les colocare el modo «lenguaje humano» y el «lenguaje codigo»

Lenguaje humano

Si ( primer numero > segundo numero Y primer numero > tercer numero )

Entonces, haga esto:

{

muestre: » El mayor numero entre: « primer numero,segundo numero,tercer numero. » fue el numero: « primer numero «doble enter»;

}

Lo mismo que vemos escrito en «lenguaje humano», es decir lo que nosotros entendemos y podemos realizarlo a medida de logica. Pues la computadora no lo entendera porque no es su lenguaje, asi que para decirle eso, habrá que hablar en su lenguaje de ésta manera:

( como está en el programa ya expuesto )

Lenguaje codigo

if ( n1 > n2 && n1 > n3 )
{
cout<<» \n El mayor numero entre: «<<n1<<» , «<<n2<<» , «<<n3<<» fue el numero: «<<n1<<«\n\n»;
}

Y asi mismo con cada pregunta, ya que son tres numeros se haran tres preguntas, ya que cada una asumira que ése sera el primero y si no es así pues saltará a la siguiente y siguiente y siguiente asi sucesivamente hasta llegar al numero que cumple la condicion [ que sea mayor a los demas numeros ingresados ]

Nota: Cuando solo se valida a la expresión para saber unicamente si fué positiva, se le denomina una » instrucción selectiva simple » y usa unicamente el » if » porque va a validar solo en caso de que se haya cumplido la condición, en ésta instrucción no entra el » else «, por lo mismo se le denomina simple. Para ver más entrar [ Aqui ]

– linea 16 – 19: instrucción selectiva simple » if » ***

– linea 20 – 23: instrucción selectiva simple » if » ***

– linea 24: pausando el programa ***

9.-) Hacer un programa que pida 5 numeros y muestre los numeros pares hallados

Bien como podemos apreciar, el ejercicio propuesto nos pide que ingresemos cinco numeros, osea que usaremos cinco variables:

n1 = primer numero

n2 = segundo numero

n3 = tercer numero

n4 = cuarto numero

n5 = quinto numero

Y segun el ejercicio, solo se deben mostrar aquellos numeros que fueron pares. Entonces tendremos que validar cada numero para saber si cada uno es par o no. Si es par lo mostramos si no es par pues pasamos al siguiente. De ésta manera:

Si primer numero es par

entonces

{

mostramos el primer numero

}

Vamos con el codigo fuente del programa:

ATENCION: en las clases anteriores he explicado las lineas y que hace cada una, entonces les sugiero que vean las entradas anteriores para entender las lineas de las que no voy a hacer mucha enfasis.

Las lineas que ya hayamos visto, les colocaré ” *** “  al final para que sepan que ya lo hemos visto con anterioridad ( entiendase como “anterioridad” a la/las clases anteriores ademas de sus correspondientes entradas en la seccion “General” del mapa de sitio ).

#include <iostream.h>
main ()

{

int n1,n2,n3,n4,n5;
cout<<» \t \n Ingrese 5 numeros \n \n»;
cout<<» \n Primer nuemro: \n»;
cin>>n1;
cout<<» \n Segundo nuemro: \n»;
cin>>n2;
cout<<» \n Tercer nuemro: \n»;
cin>>n3;
cout<<» \n Cuarto nuemro: \n»;
cin>>n4;
cout<<» \n Quinto nuemro: \n»;
cin>>n5;

if ( n1 % 2 == 0 )
{
cout<<» Numero par hallado: «<<n1<<«\n\n»;
}

if ( n2 % 2 == 0 )
{
cout<<» Numero par hallado: «<<n2<<«\n\n»;
}

if ( n3 % 2 == 0 )
{
cout<<» Numero par hallado: «<<n3<<«\n\n»;
}

if ( n4 % 2 == 0 )
{
cout<<» Numero par hallado: «<<n4<<«\n\n»;
}

if ( n5 % 2 == 0 )
{
cout<<» Numero par hallado: «<<n5<<«\n\n»;
}

system(«pause»);

}

– linea 1: la cabecera y libreria ***

– linea 2: funcion principal ***

– linea 3 – 37 : inicio y fin del programa ***

– linea 4: declaramos variables ***

– linea 5: recurso ” cout ” ***

– linea 6: recurso ” cout ” ***

– linea 7: recurso ” cin ” ***

– linea 8: recurso ” cout ” ***

– linea 9: recurso ” cin ” ***

– linea 10: recurso ” cout ” ***

– linea 11: recurso ” cin ” ***

– linea 12: recurso ” cout ” ***

– linea 13: recurso ” cin ” ***

– linea 14: recurso ” cout ” ***

– linea 15: recurso ” cin ” ***

– linea 16 – 19: instrucción selectiva simple » if » ***

Asi como venia diciendo al comienzo del ejercicio. Teniamos que validar cada numero para saber si era o no un numero par, y en caso de que lo fuese mostrarlo. Pero..

¿ Cómo sabemos si un numero es par ?

Esto ya lo hemos visto cuando vimos DFD, pero de todas maneras lo explicare a continuacion:

Pues un numero es par cuando al dividirlo para dos ( 2 ), su residuo o resto es igual a cero ( 0 ). Dado como la formula:

entonces si tenemos por ejemplo dando datos los siguientes valores:

n1 = 22

n2 = 7

Aplicando la formula de numeros pares ( «numero cualquiera» dividio para «dos» ), entonces tenemos que:

Numero par

22 / 2 = 11 sobrando cero ( 0 ) porque es exacta la division.

Numero impar

7 / 2 = 3 sobrando uno ( 1 ) porque la division no es exacta.

Pero todo lo que vemos es la manera en como la entendemos nosotros, a la computadora se le escribe en codigo para que entienda entre lineas lo que debe realizar y como lo debe realizar. Para ello lo transicribimos del «lenguaje humano» al «lenguaje codigo». De esta manera para que sea más didactico:

Lenguaje humano

Si el residuo del primer numero al dividido para dos es igual a cero

entonces

{

mostrar el primer numero porque es par

}

Lenguaje codigo

if ( n1 % 2 == 0 )
{
cout<<» Numero par hallado: «<<n1<<«\n\n»;
}

Como podemos observar aqui tambien usamos un nuevo codigo que es para hallar el residuo o resto de una division, es el simbolo » % «.

Recordatorio: en DFD usabamos una funcion llamada «mod» para hacer ésta operacion, osea hablamos de sacar el residuo/resto/lo que sobra, en una division de dos numeros. [ ver más sobre mod en DFD, ejercicio8 ]. Acá en el lenguaje C++ usamos a diferencia de DFD, un simbolo que equivale a usar el mod en DFD, es el simbolo que venimos viendo en ésta clase: « % »

He hecho una grafica donde muestro más didacticamente como funciona el » mod » ( en DFD ) y el » % » ( en lenguaje C++ ), como ven a continuacion:

imagenAmpliar imagen

– linea 20 – 23: instrucción selectiva simple » if » ***

– linea 24 – 27: instrucción selectiva simple » if » ***

– linea 28 – 31: instrucción selectiva simple » if » ***

– linea 32 – 35: instrucción selectiva simple » if » ***

– linea 36: pausando el programa ***

Eso fue todo por ésta clase, espero haya sido de ayuda. Cualquier inquietud o sugerencia me la pueden comentar, la atenderé lo más rapido posible. Saludos 😉

17 respuestas

  1. hola!!
    me parece muy interesante esta pagina..!
    no tendrias ejercicios con el do while??

    • Hola Valeria, bienvenida al blog 😀
      Pues claro, fijate [ AQUI ] fue la ultima clase que he subido hasta el momento de Dev-C++. Espero te sirva de mucho y gracias por visitar mi blog y por el cumplido Valeria, saludos y pasa bien 😉

  2. como hago para hallar un reciduo ,sin utlizar el signo % ? ayuda gracias.

  3. hola, muy interesante la pagina, me podrias mandar un ejercicio con «for» . gracias

    • Hola Jhonatan, bienvenido!
      En la seccion de «AYUDA» puedes encontrar las clases disponibles hasta el momento, y en la 1011 tienes ejericios con el «ciclo for» / «ciclo para». Entonces hechales un ojo. Saludos!

  4. si se puede quisiera que me ayuden con un programa para reaqlizar datos continuos,discretos para la materia de estadistica porfavor di gracias y la pagina esta muy buena

  5. hola Eddy saludos y felicitaciones por tu pagina es de mucha ayuda.
    me gustaria saver si tienes todas las clases q suviste en un archivo para descargar ya que no puedo estar mucho tiempo en internet y me gustaria descargarlas todas.

    gracias de antemano y sigue adelante

    • Hola Mario, bienvenido!
      gracias por el comentario, pues mira en parte si.. las tengo en la biblioteca virtual pero cada una esta alojada por separado, no tengo un link en si que te sirva para bajarlas todas del golpe; en todo caso no has de demorarte mucho pues pesan muy poco los archivos y la descarga es sin demora, saludos!

  6. no me compila k hago T_T

    • Hola Jhon, bienvenido!
      Podrias especificar a que se debe, osea que error te sale para guiarme mejor y poder ayudarte, saludos!

      • Hola Eddy, primer blog que encuentro que realmente explica y enseña el C++, excelente.

        También trabajas Java??

  7. hola
    amigos soy nuevo en esto y me dejaron un trabajo de crear 15 ejercicios con if,for,while,do while teniendo en cuenta que solo estamos trabajando con las librerias conio.h y iostream.h.
    de estos solo llevo 5 y ps necesito ayuda para los otros si alguien me puede emviar un taller al correo (dhronos@hotmail.com) se los agradeceria.
    gracias.

  8. hola soy yo nuevamente estoy super emocionada estudiando desde la primera clase de c ++ que has subido en el block,,,eres toda una bendición de los cielo hasta ahora me parece tan sencilla de entender tu forma de explicar que me quise empezar de el primer capitulo de el curso de c++ no asi el dfd que no vi ninguno ,, sucede que estoy bastante adelantada en mi curso es decir adelantada en cuanto a materia vista porque no asi en rendimiento ya que casi no les entendia nada ya vamos por recursividad,, y no entendi lo de funciones decidi hoy quedarme en casa para estudiar desde el principio lo que tu has subido y pero me detube a darte las gracias popr esta gran ayuda y apedir te por fis que sigas explicando y bueno a decir verdad buscaba tutoriales con videos alli encontre que explicabas recursividad y no comprendi nada eso me hizo tomar la decicion de empezar de cero y aca estoy para ver si al llegar nuevamente arecursividad comprendo si no te pedire una super ayuda de verda mil gracias

  9. hola edy lo felicito por su blog de programacion asta hora estoy aprendoendo c++ y me agustado su forma de explicar estava haciendo su programa mas omenos ami manera pero no me quier ejecutar ni dar error sera que le puede echar una revidada y decirme e error gracias

    #include

    main(){

    int n1,n2,n3;

    cout<<"\t \t INGRESE TRES NUMEROS PARA SABER SU RESULTADO \n";
    cout<>n1;
    cout<>n2;
    cout<>n3;

    if (n1 > n2 && n1 > n3)
    {
    cout<<" \n el mayor nuemero entre :" <<n1<< "," <<n2<< ", " <<n3<< " fuel el nuemero: " <<n1< n1 && n2 > n3)
    {

    cout<<" \n el mayor numero :"<<n1","<<n2","<<n3<<"fue el nuemero"<<n2< n1 && n3 > n2)
    {

    cout<<" \n el mayor numero:"<<n1<<","<<n2<<","<<n3<<"fue el nuemero"<<n3<<"\n\n";

    }

    system("pause");

    }

  10. que pena algo sali mal

    #include

    main(){

    int n1,n2,n3;

    cout<<"\t \t INGRESE TRES NUMEROS PARA SABER SU RESULTADO \n";
    cout<>n1;
    cout<>n2;
    cout<>n3;

    if (n1 > n2 && n1 > n3)
    {
    cout<<" \n el mayor nuemero entre :" <<n1<< "," <<n2<< ", " <<n3<< " fuel el nuemero: " <<n1< n1 && n2 > n3)
    {

    cout<<" \n el mayor numero :"<<n1","<<n2","<<n3<<"fue el nuemero"<<n2< n1 && n3 > n2)
    {

    cout<<" \n el mayor numero:"<<n1<<","<<n2<<","<<n3<<"fue el nuemero"<<n3<<"\n\n";

    }

    system("pause");

    }

Replica a Eddy Cancelar la respuesta