Parámetros
condición: una expresión booleana, es decir, puede ser true
ofalse
Sintaxis
if (condition1) {
// do Thing A
}
else if (condition2) {
// do Thing B
}
else {
// do Thing C
}
Código de ejemplo
A continuación se muestra un extracto de un código para el sistema de sensor de temperatura
if (temperature >= 70) {
// Danger! Shut down the system.
}
else if (temperature >= 60) { // 60 <= temperature < 70
// Warning! User attention required.
}
else { // temperature < 60
// Safe! Continue usual tasks.
}
Notas y Advertencias
Las declaraciones que se evalúan dentro de los paréntesis requieren el uso de uno
o más operadores que se muestran a continuación.Operadores de comparación:
x == y (x es igual a y)
x != y (x no es igual a 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 uso accidental del signo igual único (p. ej if (x = 10)
., ).
El único signo igual es el operador de asignación y se establece x
en 10 (coloca elvalor 10 en la variable x
). En su lugar, utilice el signo igual doble (p. ej if (x == 10)
.),que es el operador de comparación y comprueba si x
es igual a 10 o no. La últimaafirmación solo es verdadera si x
es igual a 10, pero la primera afirmación siempreserá verdadera.Esto se debe a que C evalúa la declaración de la if (x=10)
siguiente manera: 10 se
asigna a x
(recuerde que el único signo igual es el ( operador de asignación )), por
lo que x
ahora contiene 10. Luego, el condicional 'if' evalúa 10, que siempre se
evalúa como TRUE
, ya que cualquier número distinto de cero se evalúa como
VERDADERO. En consecuencia, if (x = 10)
siempre se evaluará como TRUE
, que no es
el resultado deseado cuando se usa una instrucción 'si'. Además, la variable x
se
establecerá en 10, que tampoco es una acción deseada.El Octavo Bit » Lenguaje de programación Arduino. » If…else
Bloques “switch”
Una manera válida de hacer comprobaciones de condiciones múltiples, más elegante
, cómoda y fácil es utilizar el bloque switch. Su sintaxis es la siguiente:switch (expresión) {
case valor1:
//Instrucciones que se ejecutarán cuando “expresión” sea igual a “valor1”
break;
case valor2:
//Instrucciones que se ejecutarán cuando “expresión” sea igual a “valor2”
break;
//Puede haber los “case” que se deseen, y al final una sección “default” (opcional)//
default:
//Instrucciones que se ejecutan si no se ha ejecutado ningún “case” anterior
}
La única limitación que tiene el switch es que solo se pueden evaluar números enteros
, y solo se evalúan las condiciones hasta que una sea cierta.Ejemplo de uso de un switch
int x; //Declara una variable sin un valor inicial
void setup(){
Serial.begin(9600); //inicia la comunicación serial
}
void loop() {
if (Serial.available()>0){ //Consulta si hay datos en buffer de entrada serial
x=Serial.parseInt(); //Lee un numero entero en el buffer serial y lo guarda en x
switch (x) { //consulto el valor de la variable x
case 20:
Serial.println("x vale 20 exactamente"); //Imprime un mensaje si el valor de x es 20
break;
case 50:
Serial.println("x vale 50 exactamente"); //Imprime un mensaje si el valor de x es 50
break;
default:
Serial.println("x no vale ni 20 ni 50");
//Imprime un mensaje si no se cumplen las condiciones anteriores } }}
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.