Repite una serie de instrucciones varias veces hasta que un contador de bucles alcanza un valor determinado.
Sintaxis
For Contador = Inicio To Fin [Step Incremento] Do
[Instrucciones]
End
La sintaxis de la instrucción For...End consta de las siguientes partes:
Parte |
Descripción |
|---|---|
Contador |
Variable que se utiliza como contador de bucles. No es necesario declarar el contador de bucles con Dim. |
Inicio |
Valor inicial del Contador. |
Fin |
Valor final del Contador. |
Incremento |
El incremento opcional para el contador. El valor predeterminado es 1. |
Instrucciones |
Una o más instrucciones entre For y End que se repiten hasta que el Contador supera el valor final. |
Notas
Una vez ejecutadas todas las instrucciones de la primera pasada del bucle, el programa incrementa en un Incremento el valor del Contador. A continuación, las instrucciones del bucle se ejecutan de nuevo (basándose en la misma prueba que se realizó al principio de la primera ejecución), o bien el programa finaliza el bucle y continúa la ejecución con la instrucción que sigue a la instrucción End.
Puede crear un bucle que se ejecute hacia atrás si utiliza un incremento negativo y especifica un valor final menor que el valor inicial.
Puede cambiar el valor de Contador dentro de un bucle, pero esto hace más difícil entender y probar el código.
Puede especificar tamaños para el Inicio, el Fin y el Incremento. El Contador recibe la unidad desde el Inicio. El Fin y el Incremento se transforman en esta unidad antes de la prueba o adición, si se especifican como valores. En caso contrario, se considera que están presentes en la unidad desde el Inicio.
Nota Si utiliza el contador de bucles para indexar valores de conjuntos de datos, debe especificar el Inicio, el Fin y, si es necesario, el incremento como números enteros (añadiendo el sufijo "n").
Puede anidar bucles For...End posicionando un bucle For...End dentro de otro. Utilice un nombre de variable único como contador para cada bucle. La siguiente construcción es correcta:
For I = 1n To 10n Do
For J = 1n To 10n Do
For K = 1n To 10n Do
. . .
End
End
End
Nota En la medida de lo posible, evite los bucles sobre valores individuales de un conjunto de datos. FPScript le ofrece la posibilidad de calcular conjuntos de datos completos en una sola instrucción. Por lo general, los bucles pueden sustituirse por funciones de aislamiento de eventos junto con el operador de índice. El bucle For Each Value...End es el bucle FPScript más rápido.
Disponibilidad
FlexPro View, Basic, Professional, Developer Suite
Ejemplos
El siguiente ejemplo calcula la amplitud de ondas individuales en una señal senoidal y la transfiere como una serie de datos:
Arguments Data
Dim Idx, Result, n
Idx = LevelCrossings(Data, 0, 0, EVENT_INDEX + EVENT_POSITIVE)
n = NumberOfRows(Idx)
Result = 0. # 0 // Serie de datos vacía
For i = 1n To n - 1n Do
Result := Maximum(Data[Idx[i - 1n], Idx[i]])
End
Result
El siguiente ejemplo muestra un bucle que utiliza unidades:
For s = 0 km To 100 km Step 250 m Do
...
End
El siguiente ejemplo muestra un bucle que se ejecuta hacia atrás:
For i = 100n To 0n Step -1n Do
...
End
Véase también
Instrucción For Each Element...End
Instrucción For Each Value...End
Instrucción For Each Column...End