Estructuras Selectivas
Estructuras Selectivas
Estructuras Selectivas
Para que eso sea posible se necesitan expresiones de condición. Una de ellas es la
expresión booleana. En este caso, si el resultado es cero, se considera falsa. Mientras que si
es uno se tomará como cierta. Por ejemplo, usando pseudocódigo:
x=1;
if (x=1) //Sí se cumple que la variable x es igual a 1 como resultado de una operación
anterior. En ese caso será uno, por lo que se ejecutan las instrucciones que dependen de esta
evaluación
z=3;
if (z>7) //No se cumple, ya que 3 no es mayor que 7 nunca. Por tanto, no se ejecutaría las
instrucciones de esta condición.
Simple if
Se ejecutarán una o varias instrucciones en función de si se cumple o no una condición. Si
es verdadera, se ejecutarán esas instrucciones, de ser falsa no se hará. Aquí un ejemplo de
pseudocódigo:
Si (condición)
inicio
instrucción0
instrucción1
. . .
Y un ejemplo práctico en C:
include <stdio.h>
main()
{
int num;
printf("Introduce un número: ");
scanf("5d", num);
if (num > 60) {
printf("Tu número es mayor a 60");
}
return 0;
}
Doble if/else
En este caso se ejecutarán una acción en caso de que sea verdadera y en caso contrario se
ejecutará otra acción alternativa. Cada una de esas acciones, como en el caso anterior,
puede ser una o varias instrucciones. En pseudocódigo:
si(condición)
instrucción/es A
sino
instrucción/es B
fin
#include <stdio.h>
int main() {
int num;
printf("Introduce un número entero: ");
scanf("%d", &numr);
//Si el numero introducido se divide entre 2 y el resto es igual a 0...
if (num%2 == 0) {
printf("%d es un entero par.",num);
}
//En cualquier otro caso...
else {
printf("%d es un número impar.",num);
}
return 0;
Anidadas if-else-if
El anidamiento es cuando se usa una estructura dentro de otra. En este caso se trata
de usar una if dentro de otra if. Si ambas se cumplen se realizará la acción. En caso
contrario (else) se procesa otra acción diferente. El pseudocódigo sería:
si(condición1)
instrucciónA0
instrucciónA1
. . .
instrucciónAn
sino
si(condición2)
instruccionB1
instrucciónB2
. . .
instrucciónBn
sino
instrucciónC0
instrucciónC1
. . .
instrucciónCn
fin
En cuanto al ejemplo en C:
#include <stdio.h>
int main()
{
int num1, num2;
printf("Entra dos números enteros: ");
scanf("%d %d", &num1, &num2);
if (num1 >= num2) {
if (num1 == num2) {
printf("Resultado: %d = %d",num1,num2);
}
else {
printf("Resultado: %d > %d", num1, num2);
}
}
else {
printf("Resultado: %d < %d",num1, num2);
}
return 0;
}
}
Múltiple con switch
En este caso se selecciona entre varias posibilidades dependiendo del valor de la expresión.
Explicado en pseudocódigo sería algo similar a:
según sea(expresión)
inicio
caso1;
instrucción/es
salir
caso2;
instrucción/es
salir
cason;
instrucción/es
salir
fin
#include <stdio.h>
#include <conio.h>
main()
{
int diasemana;
printf("Introduce el número de día de la semana: \n");
scanf("%d", $díasemana);
switch(diasemana)
{
case 1: printf("Lunes");
break;
case 2: printf("Martes")
break;
case 3: printf("Miércoles");
break;
case 4: printf("Jueves");
break;
case 5: printf("Viernes");
break;
case 6: printf("Sábado");
break;
case 7: printf("Domngo");
breal;
default: printf("Solo se admiten números del 1 al 7, ese día de la semana no
existe");
}
getch();
return 0;
}