Estructuras Selectivas

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 4

Estructuras selectivas

Las utilizamos cuando el desarrollo de la solución de un problema debemos tomar una


decisión, para establecer un proceso o señalar un camino alternativo a seguir.

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.

También podría haber otras estructuras o bloques de sentencias con instrucciones


compuestas {} que se ejecutan en función de si se cumple o no la condición. Por ejemplo:

//Se toman como si fuese una sola sentencia


{
instrucción0
instrucción1
...
instrucción
}

Tipos de estructuras de control selectivas


Dentro de las estructuras de control de tipo selectivo se pueden dar varios tipos como:

 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

En el caso del código C:

#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

El código fuente en C del ejemplo sería:

#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;
}

También podría gustarte