Estruturas Condicionais: If e Else

O que vais aprender nesta aula:

  • Como fazer o código tomar decisões com if (Se)
  • Como criar uma alternativa com else (Senão)
  • A importância dos blocos de código { }
  • Criar fluxos de lógica bifurcada

🧠 Teoria (com Analogia e Contexto Real)

Até agora, o nosso código corria sempre em linha reta, do início ao fim. Mas a vida real é feita de escolhas.

🛤️ Analogia da Bifurcação na Estrada

Imagina que estás a conduzir e chegas a uma bifurcação:

SE (if) a placa disser "Lisboa", viras à direita.

SENÃO (else) (se não for Lisboa), segues em frente ou viras à esquerda.

O código nunca percorre os dois caminhos ao mesmo tempo. Ele escolhe um e ignora o outro.

Porque é que isto importa? É assim que o software reage ao utilizador. "Se a password estiver certa, entra. Senão, mostra erro". "Se o saldo for maior que o preço, compra. Senão, recusa".

💻 Prática (Orientada e Progressiva)

Vamos criar as primeiras "decisões" do nosso código:

Exemplo 1: O `if` simples

O código dentro das chavetas { } só corre se a condição for verdadeira.

let estaChovendo = true;

if (estaChovendo) {
    console.log("Leva o guarda-chuva! ☔");
}
console.log("Fim do programa.");

Exemplo 2: O par `if / else`

Aqui temos duas opções. O código vai executar UMA ou OUTRA, nunca as duas.

let idade = 15;

if (idade >= 18) {
    console.log("Podes entrar na discoteca. 💃");
} else {
    console.log("És menor de idade. Fica à porta. 🚫");
}

Exemplo 3: Decisões com Lógica (Revisão da Aula 5)

Podemos usar operadores lógicos dentro do `if`.

let saldo = 50;
let precoJogo = 60;

if (saldo >= precoJogo) {
    console.log("Compra efetuada com sucesso! 🎮");
} else {
    // Calculamos quanto falta
    let falta = precoJogo - saldo;
    console.log("Dinheiro insuficiente. Faltam " + falta + "€.");
}
⚠️
Sintaxe: Nunca te esqueças das chavetas { }. Elas definem onde começa e acaba o bloco de código que pertence ao if ou ao else. A indentação (espaços à esquerda) é essencial para ler bem o código!

✅ Verificação de Conhecimento

1. Se a condição do if for falsa, o que acontece?

O programa encerra imediatamente com erro.
O código dentro do bloco if é saltado e ignorado.
O computador tenta tornar a condição verdadeira.

2. Quando é que o código dentro do else é executado?

Sempre, aconteça o que acontecer.
Apenas quando a condição do if for verdadeira.
Apenas quando a condição do if for falsa.

3. Posso ter um if sem um else?

Sim, o else é opcional.
Não, dá erro de sintaxe.
Sim, mas o programa fica mais lento.

🧩 Desafio Prático

Verificador de Números Par ou Ímpar

Cria um programa que verifica se um número é Par ou Ímpar.

Dica: Lembras-te do operador Módulo % da Aula 3? Se o resto da divisão por 2 for zero, é par.

let numero = 7;

// Escreve aqui o teu if/else
// Se for par, mostra "O número 7 é Par"
// Senão, mostra "O número 7 é Ímpar"
Mostrar Solução
let numero = 7;

if (numero % 2 === 0) {
    console.log("O número " + numero + " é Par");
} else {
    console.log("O número " + numero + " é Ímpar");
}

📌 Explicação: A condição numero % 2 === 0 é a forma padrão universal em programação para detetar números pares. Se o resto for 0, é par. Caso contrário (se for 1), cai no else e é ímpar.