Introdução aos Loops: O 'While'

O que vais aprender nesta aula:

  • O conceito de Repetição (Loop) em programação
  • A estrutura while (Enquanto...)
  • Como evitar o perigoso "Loop Infinito"
  • Criar contadores autimáticos

🧠 Teoria (com Analogia e Contexto Real)

Imagina que tinhas de enviar "Bom dia" a 50 amigos. Ias escrever 50 linhas de código iguais? Não! Usamos loops para repetir tarefas.

🥣 Analogia do Prato de Sopa

Como é que sabes quando parar de comer sopa?

A tua lógica é: ENQUANTO (while) houver sopa no prato, come uma colherada.

  • Verificas a condição (Há sopa?).
  • Executas a ação (Comer).
  • Repetes até a condição ser falsa (Prato vazio).

Porque é que isto importa? Os loops são o motor da automação. Servem para processar milhares de dados, mostrar feed de notícias (enquanto houver posts, mostra mais um), ou manter um jogo a correr (enquanto o jogador tiver vidas).

💡 Cuidado! Se te esqueceres de fazer a condição mudar (ex: nunca tirares sopa do prato), entras num Loop Infinito. O programa nunca para e bloqueia o computador!

💻 Prática (Orientada e Progressiva)

Vamos criar repetições controladas:

Exemplo 1: Contagem Crescente

Vamos contar de 1 até 5.

let contador = 1;

while (contador <= 5) {
    console.log("Número: " + contador);
    contador++; // IMPORTANTE: Aumentar o contador para não ser infinito!
}
// Resultado: 1, 2, 3, 4, 5

Exemplo 2: Loop de Jogo (Lógica de Vidas)

Enquanto o jogador tiver vidas, o jogo continua.

let vidas = 3;

while (vidas > 0) {
    console.log("A jogar... Vidas restantes: " + vidas);
    vidas--; // Perdeu uma vida
}
console.log("Game Over! 💀");
⚠️
Segurança Primeiro: Sempre que escreveres um while, pergunta-te imediatamente: "O que é que vai fazer a condição tornar-se FALSA?". Se não tiveres resposta, vais bloquear o browser.

✅ Verificação de Conhecimento

1. O que acontece se te esqueceres de atualizar a variável de controlo (ex: contador++)?

O loop para automaticamente após 10 voltas.
O computador cria um Loop Infinito e pode encravar.
Gera um erro de sintaxe.

2. Quando é que o loop while termina?

Quando a condição se torna Falsa e não se cumpre mais.
Quando a condição é Verdadeira.
Quando carregamos na tecla Enter.

3. Se a condição começar logo como Falsa (ex: while(false)), o que acontece?

O código executa pelo menos uma vez.
O código dentro do loop nunca é executado.
Dá erro.

🧩 Desafio Prático

A Contagem Decrescente de Ano Novo

Cria um loop que faça uma contagem decrescente de 10 até 0.

Quando chegar ao fim (depois do loop), deve mostrar "Feliz Ano Novo! 🎆".

Requisitos:

  • Começa com let segundos = 10;
  • Usa um while.
  • Não te esqueças de diminuir os segundos (segundos--).
let segundos = 10;

// O teu while aqui
Mostrar Solução
let segundos = 10;

while (segundos >= 0) {
    console.log(segundos);
    segundos--;
}

console.log("Feliz Ano Novo! 🎆");

📌 Explicação: Começamos em 10. Enquanto for maior ou igual a 0, mostramos o número e subtraímos 1. Quando chegar a -1, o loop pára e o código segue para a mensagem de festa.