Capítulo 10: Repetição II (REPITA-ATE)
🎯 Objetivo da Aula
Às vezes você precisa que uma ação aconteça pelo menos uma vez antes de verificar se deve repetir. Nesta aula, você aprenderá sobre o laço REPITA-ATE. O objetivo é dominar essa estrutura, muito usada para validação de senhas e menus que precisam aparecer na tela antes da escolha do usuário.
🏢 O Cenário Prático (Seu Desafio)
Situação: O sistema WMS da FastLog exige uma senha de acesso para liberar a saída de veículos. O Problema: O sistema deve pedir a senha e, se estiver errada, continuar pedindo ATÉ QUE a senha correta seja digitada.
Missão: Criar um bloqueio de segurança que se repete até o usuário acertar a credencial.
🧠 Fundamentos: A Teoria Traduzida
1. A Lógica Inversa do REPITA
Diferente do enquanto, o laço repita executa os comandos primeiro e só faz a pergunta no final.
Atenção: Ele repete ATÉ QUE a condição seja Verdadeira. (No momento em que a condição for atingida, ele para).
🍜 Exemplo 1: Cotidiano (Sopa)
repita comer_colherada ate (prato_vazio = verdadeiro)
🔐 Exemplo 2: Técnico (Login de Sistema)
repita pedir_senha ate (senha = "1234")
graph TD
A[Início] --> B[Pedir Token de Acesso]
B --> C{Token Correto?}
C -- "Não" --> B
C -- "Sim" --> D[Sistema WMS Liberado]
D --> E[Fim]
style C fill:#f39c12,stroke:#fff,color:#fff2. A Sintaxe no VisuAlg
📖 Exemplo Guiado: Validação de Senha
O laço repita executa primeiro e pergunta no fim. Ele repete até que a condição seja verdadeira.
🛠️ Prática Obrigatória 1: Validador de Pesagem
Crie um algoritmo chamado “Validador_Pesagem”. O programa deve pedir o peso de uma caixa e só parar de pedir quando o peso digitado for maior que 0.
✅ Resultado Esperado
🛠️ Prática Obrigatória 2: Validação de Nota Fiscal FastLog
Peça o número de uma nota fiscal. Se o número for zero ou negativo, o programa deve continuar pedindo até que o usuário digite um número válido (maior que zero).
✅ Resultado Esperado
🔥 Desafio de Fixação (Opcional): Menu com Opção de Sair
Crie um programa que exiba um menu de opções (1. Iniciar, 2. Ajuda, 0. Sair). Use o laço repita para manter o menu ativo até que o usuário digite a opção 0.
📤 Instruções de Entrega (Microsoft Teams)
Após validar seus códigos:
- Lembre-se: o
repitapara quando a condição é verdadeira. - Salve os arquivos com a extensão
.alg(Ex:Atividade_10_SeuNome.alg). - Envie no Microsoft Teams na tarefa “VisuAlg Cap 10 - Laço Repita”.