Todos los lenguajes de programación cuentan con lo que se conoce como estructuras condicionales. Estas estructuras, se conocen a su vez como estructuras de control de flujo, ya que a través de ellas, podemos controlar qué partes de código van a ejecutarse en nuestra aplicación y cuáles no.

De todas las estructuras de control de flujo, podemos decir que los condicionales son las que más  se parecen al pensamiento lógico humano. De este modo, una explicación sencilla de un condicional en programación, no dista mucho de un condicional en nuestra vida cotidiana. 

Por ejemplo, todos los días cuando caminamos por la calle tomamos decisiones tras evaluar una determinada condición. Digamos que estamos a punto de cruzar un paso de peatones. Para decidir si vamos a cruzar, evaluaremos la condición de si el semáforo está en rojo o en verde. En caso de que el semáforo esté en verde, es decir, en caso de que se cumpla la condición que habíamos propuesto, cruzaremos. En caso contrario esperaremos.

Con esto, se explica muy claramente cómo funcionan los condicionales en programación. Nuestro programa evaluará una condición (o varias) que hemos propuesto. En caso de que la condición se cumpla, la aplicación ejecutará un bloque de código, y en caso de que la condición no se llegue a cumplir, el programa ejecutará otro bloque de código distinto o directamente no hará nada.

Tipos de condicionales

Independientemente de las diferencias entre los distintos lenguajes de programación, nos encontramos con que casi todos ellos, disponen de los mismos condicionales. En primer lugar, podemos hablar del condicional más básico de todos, el condicional “if”.

Este condicional lo que hará será evaluar una condición, y en caso de que se cumpla, ejecutará un determinado código, y si no se cumple, simplemente no lo ejecutará. En el ejemplo del semáforo sería: 

En este ejemplo, no ocurrirá nada si la condición no se cumple, ya que solo queremos que se ejecute código cuando se cumpla la condición. Para el resto de casos, nuestro programa seguirá avanzando y ejecutando el resto del código, pero el código del cuerpo del condicional será ignorado.

En segundo lugar, nos encontramos con la estructura condicional “if” + “else”. Esta estructura es muy parecida a la anterior, pero con la diferencia de que en caso de que no se cumpla el código de nuestro condicional, se ejecutará otro código distinto. El “else” hace como un cajón de sastre para todos aquellos casos en los que no se cumpla la condición propuesta en el “if”. Por ejemplo:

En este caso, nuestro programa evaluará si la variable semáforo es verde o no. En caso de que lo sea, nos dará el mensaje de que el peatón puede pasar. Para cualquier otro caso que la variable semáforo no sea verde (ámbar o rojo) nuestro programa ejecutará el “else”, y por tanto nos dirá que esperemos.

La tercera estructura condicional sería la estructura “else if”. Esta estructura necesita de un primer “if” que evalúe una primera condición, y en caso de que esta primera condición no se cumpla, saltará al “else if”. A diferencia del else, que se ejecutaba para cualquier caso que la condición del “if” no se cumpliera el “else if” sólo se cumplirá si su propia condición se cumple. De este modo, no funciona como un cajón de sastre, sino que es más parecido a un “if” pero cuya ejecución depende de que el primer if no se cumpla. Por ejemplo:

En este ejemplo, el código se ejecutará de la siguiente forma. En primer lugar, evaluará si el semáforo está en verde. En caso de que sea así, ejecutará el código del “if” y no evaluará nada más. En caso de que no sea verde, saltará al “else if” y evaluará la siguiente condición si el semáforo está en ámbar. Si es así, ejecutará el código del “else if” y si no, ejecutará directamente el código del “else” ya que en caso de que no se cumplan ninguna de las condiciones anteriores, este código siempre se ejecutará.

Por último, existe otro tipo de condicional que es algo distinto a los anteriores, tanto en estructura como en sintaxis. Este condicional se conoce como “switch/case” y se utiliza sobre todo para cuando tenemos muchas condiciones distintas que dependen normalmente del valor de una variable. La estructura del condicional es la siguiente:

En este ejemplo, hemos creado un una aplicación que te devuelve una receta dependiendo del ingrediente que le pases. En nuestro ejemplo, dependerá del valor que tiene la variable ingrediente para que nos proponga una u otra cosa. En caso de que sea pollo, como es ahora, nos propondrá la receta “Pollo asado”. Pero en caso de que su valor fuera “patatas”, nos propondrá la receta “Tortilla de patatas”. Por último, la instrucción default actúa en este caso como el “else” en el resto de los condicionales. En caso de que no se cumpla ninguna de las condiciones anteriores, mostrará el mensaje de “default”, es decir, es como un cajón de sastre para cuando no se cumple ninguna otra condición.

Conclusión

Con todo esto, podemos decir que los condicionales son estructuras imprescindibles para cualquier aplicación que desarrollemos como programadores. Sin ellos, no podríamos escribir ni el programa más básico, ya que no habría orden ni control. Así, podemos concluir con que estas estructuras, ayudan a que la aplicación esté ordenada y sea interactiva, ya que dependiendo de lo que haga el cliente de la aplicación, nuestro código se ejecutará de una u otra forma.