Aduino - Aula 4 - IF e Operadores Lógicos


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.