O laço repita... ate é o irmão invertido do Enquanto. A filosofia dele é: "Atire primeiro, faça perguntas depois". Ele executa o bloco de código primeiro, e só no final faz a verificação. Isso garante que o código rodará pelo menos uma vez.
Exemplo de codigoVisuAlg
algoritmo "RepitaSimples"
var
i: inteiro
inicio
i <- 1
repita
escreval("Número: ", i)
i <- i + 1
// Diferente do Enquanto, o Repita PARA quando a condição se torna VERDADEIRA
ate (i > 3)
fimalgoritmoEssa estrutura é a favorita dos programadores para criar Menus de Jogos ou Sistemas, onde a tela precisa ser mostrada ao menos uma vez antes de perguntar se o usuário quer sair.
Exemplo de codigoVisuAlg
algoritmo "MenuInfinito"
var
opcao: inteiro
inicio
repita
escreval("--- MENU DO SISTEMA ---")
escreval("1. Jogar")
escreval("2. Configurações")
escreval("0. Sair do Jogo")
leia(opcao)
ate (opcao = 0)
escreval("O jogo foi encerrado.")
fimalgoritmoExercício Prático: Faça um código usando Repita que peça ao usuário para adivinhar o número 7. O laço só acaba quando ele acertar.