lunes, 21 de agosto de 2017

Programación - If...Else

Del mismo modo que ocurre en la vida diaria, en un programa es necesario tomar decisiones basadas en ciertos hechos y actuar en consecuencia.

La instrucción If sirve para ejecutar una serie de instrucciones si se cumple una determinada condición. Si la condición no se cumple, entonces la serie de instrucciones no se ejecuta. If en inglés significa "si" (condicional).

La forma general de la instrucción If es la siguiente:

             If (condición)
             {
                         instrucción 1
                         instrucción 2
                         instrucción 3
                         etc.
             }

A la sentencia If se le puede añadir una parte opcional que es la sentencia Else. Else en inglés significa "si no".

La forma general es de If con Else es la siguiente:

             If (condición)
             {
                         algunas instrucciónes
             }

             Else
             {
                         otras instrucciónes
             }

Si la condición se cumple, se ejecutan las instrucciones en rojo, y si no se cumple, se ejecutan las instrucciones en verde.

A continuación se muestra como usar las instrucciones de condición If y Else con los robots MakeBlock mBot y Lego MindStorms EV3.

MakeBlock mBot

El condicional
If ... Else se usa con las instrucciones "Si ... hacer" y "Si ... hacer ... sino". El primero es un "If" simple, y el segundo es un "If" con "Else".




En la parte superior, donde aparece la palabra "Si", se coloca la condición. Aquí se pueden usar los operadores lógicos para combinar las lecturas de dos o más sensores. En la parte que dice "hacer" va todo el conjunto de instrucciones que el robot debe realizar en caso de que la condición se cumpla.

Cuando se utiliza "Else", todas las instrucciones que se deben ejecutar en caso de que no se cumpla la condición van en la parte que dice "sino".

Lego MindStorms EV3


El condicional If ... Else se usa con el comando "Interruptor"



Primero se selecciona la condición que se va a evaluar. Esta puede ser una simple lectura de algún sensor, o puede ser una combinación de varios sensores usando los operadores lógicos.

Tiene dos pestañas, una etiquetada con una palomita ✓ y la otra con una cruz ✕. La pestaña que tiene la palomita es para poner ahí todas las instrucciones que el robot debe ejecutar cuando se cumpla la condición; de forma similar, en la pestaña que tiene la cruz se ponen las instrucciones que el robot debe ejecutar cuando no se cumpla.


Ejemplos


MakeBlock mBot. Aquí el robot usa el sensor de ultrasonido para preguntar si hay algún obstáculo a menos de 20 cm. De ser así, dará una vuelta a la izquierda, en caso contrario la dará a la derecha.





Lego MindStorms EV3. Aquí, el robot utiliza el sensor de ultrasonido para saber si hay algún obstáculo a menos de 30cm. Si lo hay, girará a la derecha, sino entonces girará a la izquierda.






Enlaces