Anidamiento de sentencias if

Si observamos el formato general, la sentencia if … else pueden ser anidadas. Por ejemplo:

if_anidados_1

Al evaluarse las condiciones anteriores, pueden preguntarse los casos que se indican en la tabla siguiente:

tabla_if_anidados_1

if_anidados_else_1

Cuando en el código de un programa aparecen las sentencias if … else anidadas, sin llaves, la regla que usaremos para diferenciar cada una de estas sentencias, es que cada else se corresponde con el if más próximo que no haya sido emparejado.

if_anidados_else_2

Al evaluarse ahora las condiciones 1 y 2, pueden presentarse los casos que se indican en la siguiente tabla:

if_anidados_tabla2

 Es importante observar que una vez que se ejecuta una acción como resultado de haber evaluado las condiciones impuestas, la ejecución del programa continúa en la siguiente línea a la estructura a que dan lugar las sentencias if … else anidadas. Por ejemplo, si en el ejemplo siguiente ocurre que a no es igual a 0, la ejecución continúa en la siguiente línea del programa.

if_else_siguiente_linea_1

Si en vez de la solución anterior, deseamos es que se ejecute s = s + a cuando a no es igual a 0, entonces tendremos que incluir entre llaves ({}) el segundo if sin la clausula else. Por ejemplo:

if_else_entre_llaves

Como práctica, vamos a realizar una aplicación que dé como resultado el menor de tres números  a, b, c. La forma de proceder es comparar cada número con los otros dos una sola vez.

listado_if_else

La salida del programa sería:

salida_if_else

atras2

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.