Esta é uma revisão do que cobrimos nesse tutorial sobre lógica e estruturas condicionais if.
Frequentemente, queremos ser capazes de "condicionalmente" fazer algo em nossos programas - queremos ser capazes de dizer "se isto for verdadeiro, então faça X, mas se este outro for verdadeiro, então faça Y." É como quando acordamos de manhã - "se estiver chovendo, então levarei um guarda-chuva, mas se estiver fazendo sol, eu usarei óculos escuros." Podemos fazer algo condicionalmente em nossos programas usando estruturas condicionais if e estruturas condicionais if/else combinadas com expressões condicionais.
Uma estrutura condicional if diz ao programa para executar um bloco de código, contanto que uma condição seja verdadeira. No código abaixo, nós exibimos uma mensagem somente se x for maior que 0:
var x = 5;

if (x > 0) {
  text('x é um número positivo!', 200, 200);
}
Já que x é 5, que é maior que 0, nós veremos a mensagem na tela. Se alterássemos x para -1, não veríamos de forma alguma a mensagem aparecer na tela, já que x não seria maior que 0.
O x > 0 é o que chamamos de uma expressão condicional - o que significa uma expressão que é avaliada como verdadeira ou falsa. Quando um valor é ou verdadeiro ou falso, podemos chamá-lo de valor booleano (ao contrário de um número ou uma string). Por exemplo, poderíamos simplesmente exibir a expressão condicional:
text(x > 0, 200, 200); // Exibe "true", que é verdadeiro em inglês
Também podemos armazená-la em uma variável e exibi-lá:
var ePositivo = x > 0;
text(ePositivo, 200, 200);
Poderíamos então dizer que ePositivo armazena um valor booleano, porque ele pode apenas assumir o valor true ou false, dependendo do que atribuirmos a x.
Temos muitas maneiras de criar expressões condicionais que irão avaliar para verdadeiro ou falso, porque temos muitos operadores de comparação. Aqui estão os mais populares:
Assumindo a variável a seguir, seguem os operadores de comparação mais comuns e expressões que seriam verdade com o uso deles:
var ePositivo = x > 0;
text(ePositivo, 200, 200);
OperadorSignificadoExpressões verdadeiras
===Igualdade EstritamyAge === 28
!==Desigualdade EstritamyAge !== 2928 !== 29
>Maior quemyAge > 2528 > 25
>=Maior que ou igualmyAge >= 2828 >= 28
<Menor quemyAge < 3028 < 30
<=Menor que ou igualmyAge <= 2828 <= 28
É um erro muito comum confundir o operador de atribuição (=) com o operador de igualdade (===), porque ambos usam sinais de igualdade, mas eles são bem diferentes. O operador de atribuição na verdade irá alterar o valor da variável, enquanto que o operador de igualdade irá apenas ler o valor da variável e ver se é igual a alguma coisa. Por exemplo:
var x = 2 + 2; // Define a variável igual a 4

if (x === 4) { // Faz a pergunta, "a variável é igual a 4?"
   text("sim, 2 + 2 = 4!", 200, 200);
}
Algumas vezes queremos combinar múltiplas comparações em uma expressão condicional, e é por isso que temos operadores lógicos. Esses operadores nos permitem dizer algo como "se ambos X e Y são verdadeiros" ou "se X ou Y são verdadeiros" em nossos programas.
Se quisermos que duas condições sejam verdadeiras, podemos usar o operador && ("e"):
var grausFora = 70;
var numeroNuvens = 50;
if (grausFora > 70 && numeroNuvens < 5) {
  text("Use protetor solar!", 200, 200);
}
Isso é frequentemente usado aqui em nossos programas para verificar se o cursor do mouse de um usuário está dentro de um retângulo (para simular um botão), caso em que precisamos de múltiplos operadores &&:
rect(100, 50, 100, 100); 

mousePressionado = function() {
    if (mouseX > 100 && mouseX < 200 && mouseY > 50 && mouseY < 150) {
      text("Você pressionou o mouse!", 80, 75);
    }
};
Se quisermos que ao menos uma das condições seja verdadeira, então podemos usar o operador || ("ou"):
var degreesOutside = 70;
var numberOfClouds = 50;
if (degreesOutside > 70 || numberOfClouds < 5) {
  text("Use filtro solar se estiver calor ou se houver poucas nuvens!", 200, 200);
}
Podemos usar ambos && e || na mesma expressão, caso tivermos alguma condição muito complexa para verificar. Apenas devemos usar parênteses para agrupar as expressões, de forma que o programa não fique confuso sobre em qual ordem ele deve avaliá-las:
var minhaIdade = 28;
if ((minhaIdade >= 0 && minhaIdade < 3)  || myAge > 90) {
  println('Você não está no seu ápice.');
}
Agora vamos voltar às estruturas condicionais if. Frequentemente queremos executar algum bloco de código no caso da condição if não ser verdadeira - nesse caso, adicionamos uma estrutura condicional else.
var idade = 28;
if (idade > 18) {
  println('Ei, você pode dirigir!');
} else {
  println('Desculpe, você precisa de ' + (18 - idade) + ' anos ainda para que possa dirigir.');
}
Às vezes queremos verificar múltiplas condições e fazer coisas diferentes em cada uma delas, nesse caso podemos usar else if:
var idade = 20;
if (idade >= 35) {
  println('Você pode votar E assumir qualquer lugar no governo!');
} else if (idade >= 29) {
  println('Você pode votar E concorrer ao senado!'');
} else if (idade >= 16) {
  println('Você pode votar!');
} else {
  println('Você não tem voz no governo');
}
Você pode continuar verificando condições tanto quanto quiser - apenas se certifique de que cada uma das condições é realmente acessível. Teste seu código alterando as variáveis até que você tenha examinado dentro de cada bloco de código, para que você saiba que tudo está funcionando.
Como você pode perceber, condicionais são uma parte importante da programação e nos permitem criar programas mais robustos e flexíveis.
Carregando