O Comando IF
O comando IF é sempre utilizado em conjunto com os operadores de comparação, ele testa se um certa condição foi alcançada, como por exemplo se uma variável atingiu um certo valor. O formato para testes com o (if) é o seguinte:
x = 58; // uma variável qualquer
if ( x > 50) { // testa se a variável x é maior que 50
digitalWrite(13, HIGH); // se o teste for verdadeiro, liga o pino 13
}
imagem
Podemos usar uma sequência de comandos IF:
x = 52; // uma variável qualquer
if ( x = 50) { // testa se x é igual a 50
digitalWrite(13, HIGH); // se o teste for verdadeiro, liga o pino 13
}
if ( x = 51) { // testa se x é igual a 51
digitalWrite(12, HIGH); // se o teste for verdadeiro, liga o pino 12
}
if ( x = 52) { // testa se x é igual a 52
digitalWrite(11, HIGH); // se o teste for verdadeiro, liga o pino 11
}
Podemos também utilizar um comando IF dentro de outro:
x = 52; // uma variável qualquer
if ( x > 50) { // testa se x é maior que 50
if ( x < 53) { // testa se x é menor que 53
digitalWrite(13, HIGH); // se os testes forem verdadeiros, liga o pino 13
}
}
Importante : não podemos esquecer de abrir e fechar os { } para cada conjunto de IF.
Comando ELSE
A palavra ELSE significa: qualquer outra condição.
Ou seja, se o teste do IF não for verdadeiro, é executado o código que está especificado no ELSE.
Operadores de Comparação
x == y (x é igual a y) * lembrar que em comparação são sempre 2 ==
x != y (x não é igual a y)
x < y (x é menor que y)
x > y (x é maior que y)
x <= y (x é menor que ou igual a y)
x >= y (x é maior que ou igual a y)
Atenção!
Cuidado para não utilizar acidentalmente um único igual (=) (exemplo: if (x = 10) ), para efetuar comparações. O igual sozinho é utilizado para efetuar atribuições, por exemplo, x é igual a 10. Quando comparando, o correto é utilizar o sinal duplo (==).
Imagem
Operadores Lógicos
São usados para comparar duas expressões. Retornam 1 ou 0 (verdadeiro/falso)
- && (E)
Significa "E". É Verdadeiro apenas se os dois operandos forem verdadeiros, ou seja a primeira condição "E" a segunda forem verdadeiras. Exemplo:
if (digitalRead(2) == 1 && digitalRead(3) == 1) { // ler dois interruptores
// ...
}
- || (OU)
Significa "OU". Verdadeiro se algum dos operandos for verdadeiro, ou seja se a primeira "ou" a segunda condição for verdadeira. Exemplo:
if (x > 0 || y > 0) { // é verdadeiro apenas se x ou y forem maiores que 0.
// ...
}
Exercícios
Considerando as seguintes variáveis:
v = 3;
x = 8;
y = 7;
1) Responda verdadeiro ou falso:
x > v; _________________
y != x; __________________
v <= y; __________________
x >= y; ___________________
2) Crie um comando com IF que compara x e y e aciona o pino 13 quando x for menor que y.