Hola a todos/as,
En la clase anterior vimos la aplicacion de la funcion 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: funcion ” int “ ***
- linea 5: funcion ” cout ” ***
- linea 6: funcion ” cout ” ***
- linea 7: funcion ” cin ” ***
- linea 8: funcion ” cout ” ***
- linea 9: funcion ” cin ” ***
- linea 10: funcion ” cout ” ***
- linea 11: funcion ” cin ” ***
- linea 12 – 15: funcion ” 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 ]
- linea 16 – 19: funcion ” if ” ***
- linea 20 – 23: funcion ” 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: funcion ” int “ ***
- linea 5: funcion ” cout ” ***
- linea 6: funcion ” cout ” ***
- linea 7: funcion ” cin ” ***
- linea 8: funcion ” cout ” ***
- linea 9: funcion ” cin ” ***
- linea 10: funcion ” cout ” ***
- linea 11: funcion ” cin ” ***
- linea 12: funcion ” cout ” ***
- linea 13: funcion ” cin ” ***
- linea 14: funcion ” cout ” ***
- linea 15: funcion ” cin ” ***
- linea 16 – 19: funcion ” 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:
Ampliar imagen
- linea 20 – 23: funcion ” if ” ***
- linea 24 – 27: funcion ” if ” ***
- linea 28 – 31: funcion ” if ” ***
- linea 32 – 35: funcion ” 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