Es muy difícil encontrar un proceso de datos que requiera de algún tipo de repetición. Si solo tuviésemos que llevar a cabo una acción determinada en dos o tres oportunidades, podríamos limitarnos a repetir el código en cuestión la cantidad necesaria de veces. Esto funcionaria, a pesar de que a un programador “serio” le produciría dolor de estomago. Pero si necesitamos efectuar un proceso sobre, digamos, un millón de registros, la solución anterior, además de ser muy poco eficaz, es absolutamente impracticable.
Para resolver estas situaciones, los lenguajes de programación proporcionan una serie de instrucciones destinadas a la repetición de porciones de código. Si bien todas ellas hacen básicamente lo mismo, tienen sutiles diferencias que hacen, frente a un determinado problema, unas mas apropiadas que otras.
FOR-NEXT
Esta quizás sea la estructura de este tipo mas conocida. De hecho, se encuentra presente en los dialectos BASIC desde los orígenes de este lenguaje. Su formato es el siguiente:
For variable = valor_inicial To valor_final Step incremento
Instrucciones
Next variable
donde “variable” irá cambiando su valor a lo largo de la ejecución del bucle For-Next, comenzando con “valor_inicial” hasta “valor_final”, en incrementos de “incremento”. Por cada valor que asuma “variable”, la(s) instrucción(es) que se encuentran entre el For y el Next se ejecutarán una vez.
¿Confuso? Seguramente el ejemplo siguiente te aclarará las cosas.
Supongamos que queremos sumar los números enteros de 1 a 10 (ambos inclusive). Usando For-Next podríamos hacerlo así:
Dim i, suma As Integer
suma = 0
For i = 1 To 10 Step 1
suma = suma + i
Next i
En primer lugar, declaramos la variable “i”, que será la que controlara el bucle, y la variable “suma” (guardará el total de la suma) como enteras. Luego, hacemos que suma sea igual a cero. Esto no es indispensable, por que el compilador la inicializa por defecto con ese valor, pero es recomendable tener a la vista ese dato.
Luego, tenemos el bucle for-Next propiamente dicho. Vemos que “i” adoptará valores desde 1 hasta 10, incrementándose en 1 cada iteración.
La sentencia “suma = suma + i” se ejecutará 10 veces, sumando cada vez el valor de “i” en la variable suma. “i” tomará valores 1, 2, 3, 4, 5, 6, 7, 8, 9 y 10, mientras que “suma” será 1, 3, 6, 10, 15, 21, 28, 36, 45 y 55.
Colocar el nombre de la “variable” a continuación del Next es opcional. Pero a pesar de no ser obligatorio, es una buena práctica hacerlo, ya que en aquellos programas en que se emplean varios bucles, uno dentro de otro, ayuda a identificar a que For corresponde cada Next.
Cuando el incremento de la “variable” es 1, como en el ejemplo anterior, tampoco hace falta poner “Step 1”, ya que el compilador lo hace por defecto. Digamos que si queremos escribir lo menos posible, nuestro ejemplo podría quedar como sigue:
Dim i, suma As Integer
For i = 1 To 10
suma = suma + i
Next
En programas tan sencillos, podemos omitir todas estas cuestiones que son opcionales. Pero si nuestro programa es muy extenso, o si debe ser modificado o leído por otra persona, conviene incluir todo lo necesario para que su comprensión sea más fácil.
La declaración del tipo de la “variable” puede hacerse dentro del mismo “For”, lo que compacta un poco más el código:
Dim suma As Integer
For i As Integer = 1 To 10
suma = suma + i
Next
Personalmente, me gusta ésta forma de declarar la variable usada en el bucle.
|
|
La declaración de la variable puede hacerse dentro del mismo “For”
|

Curso de Flash: Flash Básico (I)

LG y su móvil proyector