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.