O laço for
O laço for é útil para executar um bloco de código um número definido de vezes.
O comando do laço é o seguinte:
- For x = 1 to 10
- ...
- EndFor
"X" é a variável de controle usada como um contador. seguido do operador de atribuição "=". o número "1" é o valor de início do cículo, e "10" é o valor final.
A palavra chave "to" separa o valor de início e de término.
Por exemplo:
- For x = 1 to 10
- Circle(x*10, 50, 8)
- EndFor
Este exemplo cria uma linha horizontal de dez círculos que se cruzam uma com a outra
Como você acaba de ver, a instrução FOR é usada quando um loop deve ser executado um número de vezes predeterminado. A variável de controle "x" do ciclo é iniciado, controlado e modificado pela instrução FOR.
Ela pode ser usada no corpo do laço, mas nunca deve ser alterada.
O valor inicial e final do laço pode aumentar ou diminuir:
O interpretador será responsável por aumentar ou diminuir a variável de controlle.
Mais de um laço podem ser utilizados juntos. Por exemplo, o seguinte código imprime um gráfico com interseção de círculos por toda a folha.
- For x = 1 to 10
- For y = 1 to 10
- Circle(x*10, y*10, 8)
- EndFor
- EndFor
O aumento ou diminuição do ciclo é geralmente definido
pelo interpretador com o valor 1. Isto significa que a variável de controlle é aumentada ou diminuída em um número por interação.
A quantidade de adição ou subtração, no entanto, pode ser definida explicitamente usando a palavra chave "Step". A instrução "Step" é opcional.
Por exemplo:
- For x = 1 to 10 step 2
- Circle(x*10, 50, 8)
- EndFor
Nós fixamos o valor de incremento explicitamente a dois.
Isto significa que 5 cículos serão tracejados, e não 10.
A variável de controle "X" será incrementada por duas unidades, portanto, o cículo executado 5 vezes, ao invés de 10.
O valor do Step só pode ser positivo, uma vez que o interpretador definirá em usá-lo como adição ou subtração na variável de controle.
Mesmo se você utilizar um número negativo, ele será transformado em um número positivo.
Os valores inicial, final e de cículos só podem ser do tipo numérico.
O tipo numérico inclui todos os números inteiros e de ponto flutuante. No loop For podemos usar a vírgula.
Por exemplo:
- For x = 0 to 3.13 step 0.01
- ...
- EndFor
A interação de um laço FOR pode ser interrompida usando a instrução Break.
Quando a instrução Break é encontrada, o interpretador passa para a próxima instrução após o cículo.
Por exemplo:
- For x = 1 to 10
- If x > 5
- Break
- EndIf
- Circle(x*10, 50, 8)
- EndFor
O exemplo é, naturalmente, sem sentido, porque a declaração finaliza o loop quando a variável de controle "x" atinge 5.
Mas simplesmente o cículo pode alcançar o valor 5 e ser concluído. A instrução Break geralmente não deve ser usada avendo uma ferramenta mais adequada para escrever um círculo. Toda via, no caso de haver necessidade, o uso poderá ser tolerado.
A instrução Continue tem um efeito semelhante ao Break, na execução do cículo. Ele interrompe, mas ao contrário do Break, a execução volta ao início, e a variável de controle é atualizada. Se necessário,
o corpo do laço é novamente repetido.
Por exemplo:
- For x = 1 to 10
- If (x >= 4) and (x <= 7)
- Continue
- EndIf
- Circle(x*10, 50, 8)
- EndFor
No exemplo é desenhada uma linha horizontal de círculos. Mas o quarto, quinto, sexto e sétimo círculo não são desenhados graças a instrução If que reinicia o cículo se a variável "x" for igual ou maior que 4 e menor ou igual 7. Assim como a instrução Break, Continue pode ser substituída por várias outras instruções para tornar o código mais rápido e legível.