IBM Lotus Symphony


Instrucción For...Next [Ejecución]

Repite las instrucciones que se encuentran en el bloque For...Next un número determinado de veces.

Sintaxis:

For contador=inicio To final [Step incremento]

bloque de instrucciones

[Exit For]

bloque de instrucciones

Next [contador]

Variables:

Contador: Contador de bucle al que se asigna inicialmente el valor de la derecha del signo igual (inicio). Sólo las variables numéricas son válidas. El contador de bucles aumenta o disminuye según la variable Incremento hasta que se alcanza el valor final.

Inicio: Variable numérica que define el valor inicial al principio del bucle.

Final: Variable numérica que define el valor final cuando termina el bucle.

Incremento: Define el valor con el que incrementar o decrementar el contador del bucle. Si Incremento no se especifica, el contador del bucle se incrementa en 1. En ese caso, Final debe ser mayor que Inicio. Si desea reducir el Contador, Final debe ser inferior a Inicio e Incremento debe tener asignado un valor negativo.

El bucle For...Next repite todas las instrucciones del bucle tantas veces como especifiquen los parámetros.

A medida que la variable contador disminuye, Lotus® Symphony™ Basic comprueba si se ha alcanzado el valor final. Tan pronto como el contador llega al valor final, el bucle finaliza automáticamente.

Es posible anidar instrucciones For...Next. Si no especifica una variable que siga a la instrucción Next, Next se refiere automáticamente a la instrucción For más reciente.

Si se especifica un incremento 0, las instrucciones entre For y Next se repiten indefinidamente.

Al realizar la cuenta atrás con la variable de contador, Lotus Symphony Basic comprueba que no produzca un desbordamiento y subdesbordamiento. El bucle termina cuando el Contador supera a Final (valor de Incremento positivo) o es inferior a Final (valor de Incremento negativo).

La instrucción Exit For se utiliza para salir del bucle incondicionalmente. Esta instrucción debe estar incluida dentro del bucle For...Next. Use la instrucción If...Then para comprobar la condición de salida de la forma siguiente:

For...

instrucciones

If condición = Cierta Then Exit For

instrucciones

Siguiente

Nota: en los bucles anidados For...Next, si se sale de un bucle de forma incondicional con Exit For, sólo se sale de un bucle.

Ejemplo

El ejemplo siguiente usa dos bucles anidados para ordenar una matriz de cadenas con 10 elementos ( sEntry() ) que primero se rellenan con varios contenidos:

Sub EjemploOrdenar

Dim sEntrada(9) As String

Dim iContador As Integer

Dim iContador2 As Integer

Dim sTemp As String

sEntrada(0) = "Juan"

sEntrada(1) = "Patricia"

sEntrada(2) = "Koldo"

sEntrada(3) = "Tomás"

sEntrada(4) = "Miguel"

sEntrada(5) = "David"

sEntrada(6) = "Catalina"

sEntrada(7) = "Susana"

sEntrada(8) = "Eduardo"

sEntrada(9) = "Cristina"

For iContador = 0 To 9

For iContador2 = iContador + 1 To 9

If sEntrada(iContador) > sEntrada(iContador2) Then

sTemp = sEntrada(iContador)

sEntrada(iContador) = sEntrada(iContador2)

sEntrada(iContador2) = sTemp

End If

Next iContador2

Next iContador

For iContador = 0 To 9

Print sEntrada(iContador)

Next iContador

End Sub


Comentarios del producto | Documentación adicional | Marcas registradas