Etiquetas: , ,

La declaración if es la estructura condicional básica y se encuentra en todos los lenguajes de programación. Permite ejecutar diferentes bloques de código según una condición. Es la base de muchos algoritmos y permite a un ordenador hacer una elección basada en los datos que se le envían.

Sintaxis de la declaración if

La instrucción if toma como entrada una condición en forma de variable booleana y ejecuta un bloque de instrucciones si es verdadera (en este caso decimos que la condición se cumple) y otro si es falsa.

  if(condition){
    <liste d'instructions si condition=true>;
  }else{
    <liste d'instructions si condition=false>;
  }

Ejemplo de un código que determina el signo de una variable con la declaración if:

int val=-10;

void setup() {
  Serial.begin(9600);
}

void loop() {
  if(val>=0){
    Serial.println(F("Value is positive"));
  }else{
    Serial.println(F("Value is negative"));
  }
  val=val+2; //increment val
  if(val>10) val=-10; // set val to initial value
  delay(500); //delay for monitor display
}

Un booleano es un tipo de variable igual a true( 1-verdadero) o false(0-falso). En el lenguaje C(Arduino), las variables booleanas se inicializan con la palabra clave bool o boolean. Una booleana puede obtenerse de diferentes maneras

  • El resultado de una prueba lógica <,>,==,!=,!
 condition = variable == 10;    // variable égale à 10? 
 condition = temperature>30;   // temperature est supérieure à 30 
 condition = vitesse <= 100    // vitesse inférieure ou égale à 100 
 condition = !true // condition égale  non vraie (faux) 
   
  • El resultado de una función
bool test(int val){
  //retourne vraie si la valeur est supérieur à 200
  return val>200;
}
  • El resultado de varias condiciones
condition=(temperature>30) && (vitesse<20);

Otras sintaxis

La declaración if puede tener varias sintaxis dependiendo del caso.

Es posible olvidar los frenos cuando la única instrucción está en una línea.

  if(condition) <instructions>;

Ejemplo:

if(condtion) Serial.println("Conditon est réalisée");

Si no hay una instrucción a ejecutar cuando la condición no se cumple, es posible olvidar el otro bloque.

  if(condition){
    <liste d'instructions>;
  }

Si se evalúan varias condiciones al mismo tiempo

  if(condition){
   // <liste d'instructions si condition==true>;
  }else if(condition2){
    //<liste d'instructions si condition==false && condition2==true>;
  }else if(condition3){
    //<liste d'instructions si condition==false && condition2==false && condition3==true>;
  }else{
    //<liste d'instructions si aucune condition réalisée>;
  }

Cosas para recordar

  • la declaración if toma como entrada una condición representada por una variable booleana
  • la condición puede ser una función que devuelve un booleano o el resultado de una prueba con los operadores lógicos =, !=, <, >, !
  • la condición está entre corchetes
  • el bloque de instrucciones está entre corchetes {}
  • si la lista de instrucciones está en una sola línea entonces no hay necesidad de corchetes

Bonus

En casos sencillos, es posible utilizar la declaración «?» con la siguiente sintaxis

resultado = (condición) ? : instrucción si es falso>

Ejemplo, línea de código que devuelve el signo de una variable:

 
  int signe= (variable>=0) ? 1:-1; // retourne 1 si la valeur est positive et - 1 si elle est négative

Asegúrate de que entiendes las booleanas y los operadores lógicos para usar la declaración if correctamente. Una vez que hayas dominado esta declaración, tus algoritmos serán capaces de tomar buenas decisiones.

Sources