Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Hoy vamos a tratar otra estructura fundamental en la programación, se llama estructura condicional.
La instrucción if en arduino, seguida de una condición, hará posible que nuestro programa coja distintos caminos
dependiendo de si se cumplen o no.
Es una estructura de gran utilidad y que vamos a ver su uso y programación en detalle.
Bloques condicionales
if (condicion) {……..}
Seguido, y entre paréntesis, escribiremos una condición. Si esta condición se cumple, será validada y por tanto se
ejecutará el código que pongamos entre las llaves {…………}. En caso contrario, el programa continuará en la siguiente
instrucción sin ejecutar lo encerrado entre llaves.
Para escribir la condición a cumplir usaremos los operadores de comparación dentro de los paréntesis, por ejemplo:
1 if (x>5) { digitalWrite(pinLed,HIGH); }
en esta línea de código vemos que el led conectado a la salida no se encenderá si la variable x no es mayor que 5 ya que la
instrucción de encendido del led no se ejecutará hasta que no se cumpla la condición escrita después del comando if.
La condición es una expresión lógica que pondremos entre paréntesis después del comando if, como hemos visto en el
ejemplo anterior.
De que se cumpla o no dependerá que se ejecute las instrucciones que hayamos escrito entre las llaves que vienen a
continuación.
Si no se cumple, se le asigna valor 0, se saltará el código dentro de las llaves y continuara la ejecución en la línea de
programa siguiente.
Para hacer esta condición, disponemos de los operadores. Estos sirven para comprobar si dos valores son iguales o no.
existen varios tipos de operadores, los de comparación, los de asignación y los lógicos. A la hora de escribir nuestra
condición, usaremos normalmente los operadores junto a una variable por ejemplo x.
x == 5 // si x es igual a 5
x != 5 // si x es distinto de 5
x<5 // si x es menor que 5
x>5 // si x es mayor que 5
x >= 5 // si x es mayor o igual a 5
x <= 5 // si x es menor o igual a 5
x < 3 || x >5 // si x es menor que 3 O mayor que 5
x <== 3 && r ==7 // si x es menor o igual a 3 Y r es igual a 7
En este último ejemplo, observar que se usa el operador == (dos iguales) para comparar la variable con el número. Si
pusiésemos solo uno, r = 7, estaríamos asignando el valor 7 a la variable r por lo que ahora pasaría a valer 7 (es una
asignación). Hay que tener cuidado pues es fácil cometer un error.
|| OR // si, cuando alguna de las dos condiciones se cumple (o las 2 a la vez), no cuando no se cumplen a la vez.
&& AND // si, solo cuando las dos condiciones se cumplen a la vez, no en todas las combinaciones restantes
Existen muchos más operadores lógicos, pero sirvan estos como introducción para no complicarlo demasiado. Como se
puede ver, las posibilidades de combinación de los operadores para escribir nuestra condición son enormes.
Un caso particular de la condición es que solamente pongamos una variable entre los paréntesis por ejemplo:
1 if (condicion) {.....
2 instrucciones si se cumple
3 }
4 else {......
5 instrucciones si no se cumple
6 }
Una variante a la estructura de control if en arduino, es cuando usamos else, que nos permite la posibilidad de ejecutar unas
instrucciones de programa concretas tanto si se cumple como si no, la condición que hayamos puesto inicialmente.
1 if (condicion) {.....
2 instrucciones si se cumple
3 }
4 else {......
5 instrucciones si no se cumple
6 }
Con esto tenemos la posibilidad que el programa tome uno de los dos caminos dependiendo de que una única expresión
se cumpla o no. Una vez ejecutada, el programa continuará en la siguiente linea de código restante.
Con este artículo y el de los bucles for, tenemos ya una base mínima para programar y entender lo ejemplos que podemos
encontrar.