VisuAlg Web

Repetições por Condição (Enquanto)

Entenda o laco enquanto no VisuAlg para repetir blocos enquanto uma condicao for verdadeira e controlar repeticoes por criterio.

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

fimalgoritmo

A 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.")

fimalgoritmo
Exercício Prático: Crie um programa que vá somando valores digitados pelo usuário enquanto o número digitado for maior que zero.