if (condicional) y ==, !=, <, > (operadores de comparació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.
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.
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
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)
Advertencia:
Tenga cuidado con el uso
accidental del signo igual solo (por ejemplo, if (x
= 10). Un solo signo igual es el operador de asignación y
establece 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.
{
digitalWrite (LEDpin, HIGH);
digitalWrite (LEDpin1, HIGH);
digitalWrite (LEDpin2, HIGH);
} // todas las declaraciones son correctas
Advertencia:
Tenga cuidado con el uso
accidental del signo igual solo (por ejemplo, if (x
= 10). Un solo signo igual es el operador de asignación y
establece 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.
tu comentario...
ResponderEliminar