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:
Ampliar 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 😉
Filed under: Dev-C++ | 17 Comments »