🛠️ Anatomia do Comando ENQUANTO

Enquanto o comando para organiza seus parâmetros em uma única linha, o enquanto é mais minimalista: ele só se preocupa com a condição. Isso dá mais poder ao programador, mas também exige mais atenção.

📐 As 3 Peças do Quebra-Cabeça

Para que um laço enquanto funcione sem erros, você deve garantir três momentos distintos no código:

  1. Inicialização: Definir o valor inicial da variável de controle antes do laço.
  2. Condição: O teste lógico que permite a entrada no bloco.
  3. Atualização: Mudar o valor da variável dentro do bloco para que a condição um dia se torne falsa.

O Perigo do Laço Infinito: Se você esquecer de atualizar a variável dentro do enquanto, a condição será sempre verdadeira e o programa “travará” em uma repetição eterna.


💉 Exemplo 1: Clínica de Vacinação (Contagem Fixa)

Mesmo sabendo o limite (30 vacinas), podemos usar o enquanto. Note o gerenciamento manual do contador.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
programa {
    funcao inicio() {
        inteiro vacinasAplicadas = 0
        
        enquanto (vacinasAplicadas < 30) {
            escreva("Aplicando vacina BCG...\n")
            vacinasAplicadas++ // ATUALIZAÇÃO MANUAL
        }
        
        escreva("Estoque do dia esgotado.")
    }
}

🚨 Exemplo 2: Radar de Velocidade (N vezes)

Neste caso, não sabemos quantos carros passarão. Usamos uma variável de “sentinela” (continuar).

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
programa {
    funcao inicio() {
        cadeia continuar = "S"
        real velocidade
        inteiro multas = 0

        enquanto (continuar == "S" ou continuar == "s") {
            escreva("Velocidade medida (km/h): ")
            leia(velocidade)

            se (velocidade > 120) {
                escreva(">> VEÍCULO MULTADO!\n")
                multas++
            }

            escreva("Deseja medir outro veículo? (S/N): ")
            leia(continuar) // ATUALIZAÇÃO VIA TECLADO
        }

        escreva("Total de multas aplicadas: ", multas)
    }
}

🏁 Resumo do Capítulo

Gerenciar o próprio laço exige disciplina. Lembre-se: Inicialize fora, Testar no topo e Atualize no final do bloco. No próximo capítulo, praticaremos estas lógicas com desafios reais! 🚀