imprimir
if

(Se)


if testa se uma certa condição foi alcançada, como um input ser maior do que certo número, por exemplo. O formato para um teste de condição (if) é o seguinte:

if (algumaVariavel > 50)
{
// faça algo aqui
}

O programa testa pra ver se algumaVariavel é maior do que 50. Se for, o programa executa uma determinada ação. Ou seja, se o que estiver declarado nos parênteses for verdadeiro, as instruções entre as chaves são executadas. Se não, o programa pula para a próxima parte do código.

É quase sempre conveniente usar apenas uma linha - para uma teste condicinal compacto e reação ao teste. Neste caso, as chaves podem ser omitidas, embora possam prover clareza para programadores iniciantes:

if (x > 120) digitalWrite(LEDpin, HIGH);
if (x > 120) {digitalWrite(LEDpin, HIGH);} // ambas estão corretas


As declaraões que estão sendo avaliadas dentro dos parênteses requerem o uso de um ou mais operadores:

Operadores:

x == y (x é igual a y)
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)


Aviso sobre a escrita do código

Atente para não usar acidentalmente o = (exemplo: if (x = 10) ), o que na real atribui valor a uma variável, ao invés de usar == (exemplo: if (x == 10) ), que testa se x é igual a 10 ou não. A declaração com == só é verdadeira se x é igual a 10, mas aquela declaração que usa = vai sempre ser verdadeira, porque o valor de x = 10 é certo se a atribuição for bem sucedida. Confundir = for == pode resultar em um teste de condição que é sempre aceito, e que reseta sua variável, trazendo um (provavelmente mal-vindo) efeito colateral.

if também pode ser parte de uma estrutura de controle quando se usa a construção if...else?.

ArduinoReferencia

Última alteração: 05/07/2007 às 03:39, por: lucidasans