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).
💻 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! 💀");
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++)?
2. Quando é que o loop while termina?
3. Se a condição começar logo como Falsa (ex: while(false)), o que acontece?
🧩 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.