¿Cómo funciona if/else? ¿Cómo los utilizas en tu programa?

La función if le permite ejecutar código si la condición es verdadera. La función else permite ejecutar código si la condición no se verifica. Por último, la función else if le permite proponer una segunda condición para comprobar si la primera condición if no es verdadera. Revisaremos todo esto paso a paso.

Condicion if

La condición if se utiliza para probar una parte de su programa bajo una condición: si la condición es verdadera, el código se ejecuta, de lo contrario el programa continúa.

if (condición) {
  //Tu código
}

La función if toma como parámetro una condición booleana: falso o verdadero.

Veamos un ejemplo de condición verdadera:

if (7>5) {
   Serial.println("tu código");//Tu código
}

Si establece que 7 es mayor que 5, la condición es verdadera y se ejecutarán las líneas de código dentro de los corchetes. Si devuelve la condición, es decir, 7<5, la condición se convierte en falsa y el código dentro de los corchetes no se ejecutará.

¿Cómo se escribe la condición?

La condición if puede ser difícil de escribir, especialmente con todos los operadores que existen. ¡Recomendamos nuestro curso sobre funciones matemáticas para una tabla completa de todos los operadores que se pueden utilizar en arduino!

Condición Else

El else se utiliza cuando la condición if es falsa. Es una alternativa al if; si el if no se ejecuta, entonces se ejecutará el else.

He aquí un ejemplo de else:

if (condición) {
  // Si la condición es verdadera
}

else {
  // Si la condición no se cumple
}

He aquí un ejemplo en el que la condición if es falsa para que se ejecute el programa else:

if (7<5) { 
    Serial.println("if");// código no ejecutado porque la condición es falsa
}

else {
  Serial.println("else"); // Código ejecutado
}

Como has visto, el else no tiene condición, por lo que siempre se ejecutará si el if es falso. Puede que quieras hacer otro if para probar una segunda condición. Hay un “else if” para eso.

Condicion else if

El “else if” se utiliza para probar una segunda condición después del primer if. El “else if”, al igual que el if simple, sólo se ejecutará si la condición es verdadera. Puedes poner tantos “else if” como quieras:

if (condición1) {
  // El código if
}
else if (condición2) {
  // El código del primer else if
}
else if (condition3) {
  // El código del segundo else if
}
else {
  // Código ejecutado sólo si las condiciones if y elif son falsas
}

Aquí tienes un ejemplo con condiciones reales para que lo entiendas con más detalle:

if (4==3) { // condición falsa
  Serial.println("if");// El código if no se ejecutará 
}
else if (4<2) { // condición falsa
  Serial.println("primer elif ");// El código del primer else if no se ejecutará
}
else if (4>2) { // condición verdadera
  Serial.println("segundo elif ");// Se ejecutará el código del segundo else if
}
else {
 Serial.println("else"); // El código no se ejecutará
}

Aquí, como puede ver, es el segundo “else if” el que se ejecutará porque las condiciones anteriores son falsas.

Sin embargo, si tiene que utilizar muchos “else if”, una alternativa es el caso switch.

Bonus : condicion switch case

El caso switch permite probar varias condiciones, produciendo un código más limpio que con varias sentencias if o else if. El caso switch no sustituye a los if y else if en todos los casos; se utiliza caso por caso.

Utiliza una variable que contiene un entero, una cadena de caracteres o un booleano. La palabra case se utiliza para diferenciar lo que debe hacer el programa si la variable es igual a la condición 1 o 2. Si la variable no corresponde a ningún caso, se ejecutará el código por defecto.

He aquí un ejemplo:

switch (var) {
  case tu_condición1:
   // código para condición 1
    romper
  case tu_condición2:
    // código para condición 2
    break;
  default:
   // código que se ejecuta si no se introduce el programa en una casilla
    break;
}

Aquí tienes un ejemplo que te ayudará a entender el caso del interruptor:

int var=1;
switch (var) {
  caso 1:
    Serial.println("conditon 1"); // Código a ejecutar
    break;
  caso 2:
    Serial.println("conditon 2");
    break;
  por defecto:
   Serial.println("default"); // Código que se ejecuta si no se introduce el programa en una casilla
    break;
}

Aquí la variable var se comparará con cada casilla para determinar qué código ejecutar. Aquí la variable var es 1, por lo que el código ejecutado estará en la casilla 1.