Repetições previsíveis com FOR...NEXT
Aprenda a controlar repetições, percorrer arrays e escolher limites seguros em AdvPL.
Objetivos da aula
Ao concluir esta aula, você deverá conseguir:
- Reconhecer quando usar FOR...NEXT
- Definir início, limite e incremento
- Percorrer todos os elementos de um array
- Usar STEP positivo e negativo
- Evitar alterações perigosas no contador
- Diferenciar FOR de WHILE
Entenda o conceito
User Function ExContagem()
Local nContador
For nContador := 1 To 5
ConOut("Execução: " + cValToChar(nContador))
Next nContador
ReturnO contador é criado antes da repetição, recebe o valor inicial e é atualizado automaticamente a cada passagem.
Anatomia da sintaxe
For nContador := 1 To 5 Step 1
// instruções repetidas
Next nContadorSimulador passo a passo
Executa o bloco e mostra “Execução: 1”.
| Passo | Contador | Condição | Ação |
|---|
Exemplos aplicados
User Function ExContagemPares()
Local nNumero
For nNumero := 2 To 10 Step 2
ConOut("Número par: " + cValToChar(nNumero))
Next nNumero
ReturnSTEP 2 faz o contador avançar de dois em dois: 2, 4, 6, 8 e 10.
User Function ExListaProdutos()
Local aProdutos := {"Produto A", "Produto B", "Produto C"}
Local nProduto
For nProduto := 1 To Len(aProdutos)
ConOut(aProdutos[nProduto])
Next nProduto
ReturnLen(aProdutos) mantém o limite alinhado à quantidade atual de elementos.
Exercício orientado
Complete o código para mostrar uma contagem regressiva de 10 até 1.
