O que fazer quando não sabemos quantas voltas precisamos dar? (Ex: "fique esperando no ponto enquanto o ônibus não chega"). O laço enquanto resolve isso. Ele repete o bloco de código indefinidamente enquanto sua condição for VERDADEIRA.
Exemplo de codigoVisuAlg
algoritmo "ContadorManual"
var
contador: inteiro
inicio
contador <- 1
enquanto (contador <= 5) faca
escreval("Valor atual: ", contador)
// No Enquanto, NÓS devemos aumentar a variável, senão vira um loop infinito!
contador <- contador + 1
fimenquanto
fimalgoritmoA principal característica do enquanto é que ele faz o teste antes de rodar o código. Ou seja, se a condição for falsa logo de cara, o código não será executado nenhuma vez. Isso é perfeito para criar sistemas de bloqueio de senhas.
Exemplo de codigoVisuAlg
algoritmo "BloqueioSenha"
var
senha: caractere
inicio
senha <- ""
enquanto (senha <> "secreta123") faca
escreva("Digite a senha para acessar: ")
leia(senha)
fimenquanto
escreval("Acesso Permitido! Bem-vindo.")
fimalgoritmoExercício Prático: Crie um programa que vá somando valores digitados pelo usuário enquanto o número digitado for maior que zero.