Estructura Selectiva
Las estructuras lógicas selectivas se encuentran en la solución algorítmica de casi todo tipo de problemas. Las utilizamos cuando en 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. Esta toma de decisión (expresada en el diagrama de flujo con un rombo) se basa en la evaluación de una o más condiciones que nos señalarán como alternativa o consecuencia la rama a seguir. Hay situaciones en las que la toma de decisiones se realiza en cascada. Es decir, se toma una decisión, se marca la rama correspondiente a seguir, se vuelve a tomar otra decisión, se marca la rama correspondiente a seguir, se vuelve a tomar otra decisión y así sucesivamente, a esto se le llama estructuras anidadas. Por lo que para alcanzar la solución de un problema o subproblema debemos aplicar prácticamente un árbol de decisión.
La estructura selectiva se basa en evaluaciones condicionales, donde se establece una condición y, según si esta es verdadera o falsa, el programa realiza acciones específicas. Aquí hay dos formas comunes de estructuras selectivas.
Estructura IF-ELSE: En esta estructura, se evalúa una condición. Si la condición es verdadera, se ejecuta un bloque de código; si es falsa, se ejecuta otro bloque. Es una bifurcación simple pero poderosa.
1. Estructura Selectiva Simple (if)
#include <stdio.h>
int main() {
int numero;
printf("Ingresa un número: ");
scanf("%d", &numero);
// Estructura selectiva simple
if (numero > 0) {
printf("El número es positivo.\n");
}
return 0;
}
2. Estructura Selectiva Doble (if-else)
#include <stdio.h>
int main() {
int numero;
printf("Ingresa un número: ");
scanf("%d", &numero);
// Estructura selectiva doble
if (numero > 0) {
printf("El número es positivo.\n");
} else {
printf("El número es negativo o cero.\n");
}
return 0;
}
3. Estructura Selectiva Múltiple (if-else if-else y switch)
#include <stdio.h>
int main() {
int numero;
printf("Ingresa un número: ");
scanf("%d", &numero);
// Estructura selectiva múltiple con if-else if-else
if (numero > 0) {
printf("El número es positivo.\n");
} else if (numero < 0) {
printf("El número es negativo.\n");
} else {
printf("El número es cero.\n");
}
return 0;
}