Se puede tener un bloque if-else dentro o anidado en otro bloque if- else. Un uso común es cuando hay dos condiciones diferentes.
Observe el ejemplo. Una persona puede votar en Colombia si:
- Es colombiano
- Es mayor de edad
Observe el código:
Veamos otra solución del problema de ordenar tres números, esta vez con if-elif-else anidados
En una empresa se va a dar bono a todas las mujeres en el día de la mujer, resaltando a las madres, así misma a las trabajadoras muy jóvenes o muy veteranas,según:
- Si es madre: $180.000 - Si es menor de 25 años: $120.000 - Si es mayor de 50 años: $150.000 - No madre y entre 26 y 49 años: $80.000
Vemos que sólo es necesario preguntar la edad si no es madre. Luego en caso negativo, se requiere un if anidado:
Observe la línea 6 que evalúa a las trabajadores de edades intermedias, no son muy jóvenes ni muy veteranas.
Luego se utiliza un if anidado para evaluar las edades de trabajadoras muy jóvenes o muy veteranas.
Otra solución es de la forma:
En esta solución se evita un segundo if anidado en las condiciones de mujeres muy jóvenes o muy mayores
La solución como pseudocódigo, es:
Observe que se debe verificar S o s si es madre.
El diagrama de flujo es: