🏗️ Aplicações do FAÇA...ENQUANTO

A principal vantagem do faca...enquanto é garantir que o fluxo de dados passe pelo código antes de ser barrado. Isso o torna ideal para dois cenários fundamentais em sistemas profissionais: Exibição de Menus e Validação de Dados.


📋 1. Exibição de Menus Interativos

Em qualquer sistema (como a Extreme Bikes), o usuário precisa ver as opções antes de escolher sair. O faca...enquanto garante que o menu apareça pelo menos uma vez.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
programa {
    funcao inicio() {
        inteiro opcao
        
        faca {
            escreva("=== MENU PRINCIPAL ===\n")
            escreva("1. Ver Promoções\n")
            escreva("2. Carrinho\n")
            escreva("0. Sair\n")
            escreva("Escolha: ")
            leia(opcao)
            
            // Aqui entraria a lógica de processamento
            
        } enquanto (opcao != 0)
        
        escreva("Sistema encerrado.")
    }
}

🛡️ 2. Validação Blindada (Input Validation)

Até agora, se um usuário digitasse uma idade negativa, o programa continuava. Com a validação, criamos uma “barreira” que só deixa o código avançar quando o dado estiver correto.

Exemplo: Sistema de CNH (Idade Mínima)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
inteiro idade

faca {
    escreva("Digite a idade do candidato (Mínimo 18): ")
    leia(idade)
    
    se (idade < 18) {
        escreva("[ERRO] Cadastro recusado para menores de idade.\n")
    }
} enquanto (idade < 18)

escreva("Candidato apto para o processo.")

Exemplo: Filtro de Notas (0 a 10)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
real nota

faca {
    escreva("Digite a nota (0.0 a 10.0): ")
    leia(nota)
    
    se (nota < 0 ou nota > 10) {
        escreva("[ERRO] Nota inválida! Use valores de 0 a 10.\n")
    }
} enquanto (nota < 0 ou nota > 10)

🏁 Resumo do Capítulo

O comando faca...enquanto é a sua ferramenta de segurança. He limpa os dados antes que cheguem ao resto do programa, evitando bugs e comportamentos inesperados. No próximo capítulo, consolidaremos tudo isso em um grande projeto final! 🚀