CONTROLE DE FLUXO · AULA 04
Repetições previsíveis com FOR...NEXT
Aprenda a controlar repetições, percorrer arrays e escolher limites seguros em AdvPL.
Etapa 1
+5 XPObjetivos 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
Etapa 2
+5 XPEntenda o conceito
FOR...NEXT executa um bloco repetidamente, controlando uma variável numérica. É indicado quando os limites da repetição podem ser determinados antecipadamente.
exemplo-for.prw
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.
Etapa 3
+5 XPAnatomia da sintaxe
For nContador := 1 To 5 Step 1
// instruções repetidas
Next nContadorClique em uma parte da sintaxe para ver sua função.
Etapa 4
+10 XPSimulador passo a passo
ITERAÇÃO ATUAL
1/ 5
1 <= 5 → .T.
Executa o bloco e mostra “Execução: 1”.
| Passo | Contador | Condição | Ação |
|---|
Etapa 5
+5 XPExemplos 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.
Etapa 6
+15 XPExercício orientado
Complete o código para mostrar uma contagem regressiva de 10 até 1.
For nNumero :=ToStep
Etapa 7
+20 XPQuestionário final
★
AULA CONCLUÍDA
