Las sentencias de selección if se basan en la evaluación de una condición (compuesta por una o varias expresiones lógicas) y en función de ésta el ordenador ejecuta unas u otras instrucciones. Estas instrucciones que se ejecutan en función de la evaluación de la condición pueden ser cualquier función o sentencia, incluidas las sentencias if.
Una sentencia if anidada es una sentencia if que contiene otras sentencias if es sus instrucciones alternativas.
Para comprender con mayor precisión las sentencias if realizaremos un algoritmo para detectar si una persona debe hacer el servicio militar. Para ello suponemos que una persona realiza el servicio militar si es mayor de edad, si es varón y si no padece ninguna enfermedad crónica.
leer sexo.
┌─ Si (sexo= varón) entonces
│ leer mayor_edad

│ ┌─ Si mayor_edad='sí' entonces
│ │ leer enfermedad
│ │
│ │ ┌─ Si enfermedad='sí' entonces
│ │ │ escribe "Lo siento, no vas a la mili"
│ │ │ de lo contrario
│ │ │ escribe "Usted va a la mili"
│ │ └─ fin if
│ │
│ │ de lo contrario
│ │ escribe "Usted es menor de edad, no va a la mili"
│ └─ fin if

│ de lo contrario
│ escribe "Las mujeres, de momento, no van a la mili"
└─ fin if
En el ejemplo se puede observar una sentencia con tres if anidados. Cuando se ponen if anidados se debe tener muy en cuenta el lugar donde comienza y finaliza la sentencia if. La figura nº 10 aclara el concepto de sentencias if anidadas.

2_o.jpg

Recuerda que: una sentencia if puede contener otras sentencias if. Si esto ocurre decimos que tenemos sentencias if anidadas.