
Repetir um bloco de comandos um certo número de vezes.
FOR <var.N> = <exp.N1> TO <exp.N2> [STEP <exp.N3>]
<comandos>
[LOOP]
<comandos>
[EXIT]
<comandos>
NEXT
|
<var.N> |
representa uma variável de controle para o laço. |
|
<exp.N1> |
representa o valor inicial para variável de controle. |
|
<exp.N2> |
representa o valor final para variável de controle. |
|
STEP |
determina o incremento ou o decremento da variável de controle segundo o valor de <exp.N3>. |
|
LOOP |
determina que a seqüência de execução retornará ao início do laço (comando FOR). |
|
EXIT |
determina o encerramento forçado do laço. |
Quando há necessidade de se repetir um conjunto de comandos um número específico de vezes, de acordo com uma variável de controle .
Por DEFAULT, o contador é incrementado de um, a cada passagem pelo comando FOR, mas pode-se alterar este incremento utilizando-se a cláusula STEP. Quando a variável de controle atingir valor igual ao limite (<exp.N2>) o LOOP é terminado. Caso a variável de controle não se iguale ao limite, o laço termina um valor antes.
Caso <var.N> não exista, é criada automaticamente e incrementada, podendo servir de contador.
O exemplo a seguir exibe todos os números de 0 a 100.
FOR var_num = 0 TO 100
? var_num && Exibe um numero em cada linha.
NEXT
O exemplo a seguir exibe todos os números pares entre 100 e 0 utilizando a cláusula STEP.
** Decrementa de 2 o valor de num.
FOR var_num = 100 TO 0 STEP -2
** Exibe um numero em cada linha.
? var_num
NEXT
O exemplo a seguir exibe todos os números pares entre 100 e 0 utilizando a cláusula LOOP.
FOR var_num = 100 TO 0 STEP -1
IF var_num % 2 # 0 && Verifica se num não é múltiplo de 2
LOOP && Devolve o controle ao comando FOR
ENDIF
? var_num && Exibe um numero em cada linha
NEXT
O exemplo a seguir mostra um laço infinito (LOOP fechado)
FOR var_num = 1 TO 10 STEP 2 && var_num nunca será igual a 10
? var_num && Exibe numero em cada linha
NEXT
DECR, DO WHILE, EXIT, INCR, LOOP, QUIT, STORE, CHR( ) e VAL( ).
