if

Descripción

if es una instrucción que se utiliza para comprobar si una determinada condición se ha alcanzado, como por ejemplo averiguar si un valor analógico está por encima de un cierto número. Si la condición es TRUE (cierta) se ejecutan una serie de declaraciones (operaciones) que se escriben dentro de llaves. Si es FALSE (la condición no se cumple) el programa se salta las llaves y no ejecuta las operaciones que están dentro de ellas.

Sintaxis

El formato para if es el siguiente:

if (Variable > 50) { // ejecuta instrucciones }

En el ejemplo anterior se compara una variable con un valor, el cual puede ser una variable, una constante o un valor Booleano. Si la comparación, o la condición entre paréntesis se cumple (es cierta), las declaraciones dentro de las llevas se ejecutan. Si no es así, el programa salta sobre ellas y sigue.

※ Nota:

Las llaves se pueden omitir después de una instrucción if. Si se hace así, la siguiente línea (definida por el punto y coma) se convierte en la única sentencia condicional.

if (x > 120) digitalWrite (LEDpin, HIGH); if (x > 120) digitalWrite (LEDpin, HIGH); if (x > 120) {digitalWrite (LEDpin, HIGH);} if (x > 120) { digitalWrite (LEDpin1, HIGH); digitalWrite (LEDpin2, HIGH); } // todas las declaraciones son correctas

Ejemplo

The below code will print the even numbers only

int i = 0; void setup() { Serial.begin(9600); } void loop() { if ((i % 2) == 0) { Serial.print("Inside the IF statement, even number: i = "); Serial.println(i); } i++; // increase i by 1 delay(500); }

The result on Serial Monitor:

COM6
Send
Inside the IF statement, even number: i = 0 Inside the IF statement, even number: i = 2 Inside the IF statement, even number: i = 4 Inside the IF statement, even number: i = 6 Inside the IF statement, even number: i = 8 Inside the IF statement, even number: i = 10
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ Nota:

Las instrucciones que están siendo evaluadas dentro del paréntesis requieren el uso de uno o más operadores.

Operadores de comparación

x == y (x es igual a y) x! = y (x es diferente de y) x < y (x es menor que y) x > y (x es mayor que y) x <= y (x es menor o igual que y) x >= y (x es mayor o igual que y)

Tenga cuidado con el usoaccidental del signo igual solo (por ejemplo, if (x = 10). Un solo signo igual es el operador de asignación yestablece que x = 10 (pone el valor 10 en la variable x).

Use en su lugar, el doble signo igual (por ejemplo, if (x == ), que es el operador de comparación y comprueba si x es igual a 10 o no. Esta última instrucción solo es cierta si x es igual a 10, pero la primera instrucción será siempre cierta.

Esto es porque C evalúa la instrucción if (x = 10) como sigue: 10 es asignado a x (recuerde que un solo signo igual es el operador de asignación), de forma que ahora x contiene 10. Cuando la instrucción condicional "if" evalúa 10, siempre se avalúa como TRUE, ya que cualquier número distinto de cero se avalúa como TRUE. En consecuencia, if (x = 10) siempre se evalúa como TRUE, que no es el resultado deseado cuando se usa una instrucción if. Además, la variable x se establece a 10, que tampoco es una acción deseada.

If también puede ser parte de una estructura de if...else.

ARDUINO BUY RECOMMENDATION

Arduino UNO R3
Arduino Starter Kit
Disclosure: Some links in this section are Amazon affiliate links. If you make a purchase through these links, we may earn a commission at no extra cost to you.
Additionally, some links direct to products from our own brand, DIYables.

※ OUR MESSAGES