VisuAlg Web

Estruturas de Repetição: Para, Enquanto e Repita

Compare PARA, ENQUANTO e REPITA no Portugol: quando usar cada laço, condição de parada, exemplos executáveis e exercícios no VisuAlg.

Estruturas de repetição executam um bloco de comandos várias vezes. No Portugol do VisuAlg, para controla uma sequência com contador, enquanto repete enquanto a condição for verdadeira e repita...ate executa ao menos uma vez e termina quando a condição se torna verdadeira.

Quando escolher cada laço

Comparação de laços em Portugol
EstruturaUso frequenteTestePode executar zero vezes?
PARAPercorrer um intervalo de índices ou contagensControlado pelo contador e pelos limitesSim
ENQUANTOContinuar enquanto uma condição é satisfeitaAntes de cada voltaSim
REPITA ATÉLer ou mostrar algo antes de decidir pararDepois de cada voltaNão

Escolha pela regra do problema. Para mostrar os números de 1 a 3, um contador torna o limite claro. Para receber entradas até que uma condição seja satisfeita, pense em quando precisa ocorrer a primeira leitura. O mesmo problema pode admitir mais de uma estrutura, mas algumas tornam o término mais fácil de entender.

PARA: repetição com contador

A sintaxe para i de 1 ate 3 faca visita os valores 1, 2 e 3. O corpo termina em fimpara. Estude limites, contagem regressiva e passo na aula de PARA.

Exemplo de códigoVisuAlg
algoritmo "RepeticaoPara"
var
  i: inteiro
inicio
  para i de 1 ate 3 faca
    escreval(i)
  fimpara
fimalgoritmo

ENQUANTO: teste antes da repetição

A sintaxe é enquanto (condicao) faca, seguida do corpo e de fimenquanto. Se o teste inicial for falso, o bloco não roda. Na aula de ENQUANTO, você também pode testar uma leitura controlada por condição. Aqui, mude o valor inicial para 4 e observe que nenhuma contagem é mostrada.

Exemplo de códigoVisuAlg
algoritmo "RepeticaoEnquanto"
var
  i: inteiro
inicio
  i <- 1
  enquanto (i <= 3) faca
    escreval(i)
    i <- i + 1
  fimenquanto
fimalgoritmo

REPITA: teste no final

Use repita, escreva o corpo e termine com ate (condicaoDeParada). Mesmo com uma condição de parada já satisfeita, o corpo roda uma vez. Compare a saída ao iniciar o contador em 4. A aula de REPITA ATÉ apresenta um menu com entrada do usuário.

Exemplo de códigoVisuAlg
algoritmo "RepeticaoRepita"
var
  i: inteiro
inicio
  i <- 1
  repita
    escreval(i)
    i <- i + 1
  ate (i > 3)
fimalgoritmo

Erros comuns e exercício

Esquecer a atualização do contador pode criar um laço infinito. Inverter a condição do REPITA pode encerrar o programa antes do esperado. Também confira se o passo aproxima o contador do limite final.

Faça a tabuada de um número usando cada estrutura e compare a saída. Depois tente somar entradas até que o usuário informe zero. Há outras propostas nos exercícios de repetição. Para percorrer listas, avance para vetores; para retomar a sequência de estudos, use o guia de lógica de programação.