if-else

Descripción

Permite un mayor control sobre el flujo de nuestro código que la sentencia básica if, debido a que nos permite chequear o testear múltiples casos o situaciones que se pueden presentar.

Sintaxis

  if(condicion){
    //Codigo...
  }
  // en caso que la condición no se cumpla ejecutaremos
  //El codigo encerrado por "else"
  else{
    //Codigo
  }

Funcionamiento

Cuando la condición en la sentencia “if” no se cumple o lo que es igual, es “FALSE” (Falsa), el el código que se ejecuta, es el encerrado en la sentencia “else”.

Anidando la sentencia if

  if(condición){
    //Código...
  }
  // En caso que la condición anterior no se cumpla 
  // Se evalúa la siguiente
  else if(condición _2){
    //Código
  }
  //En caso que ninguna de las condiciones anteriores se cumpla
  else{
    
  }

Anidar “if” o enlazarlos, nos permitirá preguntar o chequear por diferentes condiciones, las cuales se pueden presentar dependiendo de la situación u objetivo

Ejemplo

void setup(){
  lineCompare(J1, 800);
  lineCompare(J5, 800);
}

void loop(){
  
    if(lineRead(J5) == WHITE && lineRead(J1) == WHITE){
    motorOn(M1, FORWARD);
    motorOn(M2, FORWARD);
    }
    
    else if(lineRead(J5) == WHITE && lineRead(J1) == BLACK){
      motorOn(M2, FORWARD);
      motorOn(M1, REVERSE);
    }
    
    else if(lineRead(J5) == BLACK && lineRead(J1) == WHITE){
      motorOn(M1, FORWARD);
      motorOn(M2, REVERSE);
    }

    else{
      motorsOff(M1,M2);
    }
}

Diferencias

Situación 1
  if(condicion_1){ 
    // Codigo...
  }
  
  if(condicion_2){
    // Codigo...
  }

  if(condicion_3){
    // Codigo...
  }

Situación 2
  if(condicion_1){ 
    // Codigo...
  }
  
  else if(condicion_2){
    // Codigo...
  }

  else if(condicion_3){
    // Codigo...
  }

En la situación se evaluaran todas las condiciones sin importar si la anterior ya se ha cumplido, contrario a la situación 2, donde si la primera condición se cumple, no evaluará las otras dos. Cuando las condiciones son independientes, es decir,las condiciones se pueden cumplir todas al mismo tiempo, usamos la primera situación, pero si las condiciones son dependiente, es decir, solo se cumple alguna de ellas al tiempo, usamos la situación 2.