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
| Estrutura | Uso frequente | Teste | Pode executar zero vezes? |
|---|---|---|---|
| PARA | Percorrer um intervalo de índices ou contagens | Controlado pelo contador e pelos limites | Sim |
| ENQUANTO | Continuar enquanto uma condição é satisfeita | Antes de cada volta | Sim |
| REPITA ATÉ | Ler ou mostrar algo antes de decidir parar | Depois de cada volta | Nã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.
algoritmo "RepeticaoPara"
var
i: inteiro
inicio
para i de 1 ate 3 faca
escreval(i)
fimpara
fimalgoritmoENQUANTO: 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.
algoritmo "RepeticaoEnquanto"
var
i: inteiro
inicio
i <- 1
enquanto (i <= 3) faca
escreval(i)
i <- i + 1
fimenquanto
fimalgoritmoREPITA: 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.
algoritmo "RepeticaoRepita"
var
i: inteiro
inicio
i <- 1
repita
escreval(i)
i <- i + 1
ate (i > 3)
fimalgoritmoErros 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.