Está en la página 1de 3

Visual Basic 6.

Microsoft

8.4. ESTRUCTURA DE REPETICIN

n esta leccin ya ha podido utilizar estructuras de decisin para controlar el flujo de ejecucin de un programa.

Otro tipo de estructuras que pueden modificar dicho flujo de ejecucin son las estructuras de repeticin, tambin llamadas bucles. Estas estructuras sirven para repetir una y otra vez un conjunto de instrucciones. En este sentido puede querer repetir un nmero determinado de veces el conjunto de instrucciones o no conocer dicho nmero y desear repetirlas hasta que se cumpla cierta condicin (o mientras se cumpla otra). En definitiva existirn dos tipos de estructuras de repeticin: aquellas en las que se conoce el nmero de repeticiones y aquellas que dicho nmero se establece en la propia ejecucin. La estructura de repeticin For ... Next es adecuada cuando conocemos el nmero de veces que debe repetirse un conjunto de instrucciones y deseamos disminuirla cantidad de cdigo escrito. La sintaxis completa de esta estructura de repeticin es la siguiente:

For contador = principio To fin [Step incremento] [Instrucciones] [ExitForl [Instrucciones] Next [contador]

Donde contador es el nombre de una variable que sirve como contador de las veces que se ha de ejecutar el bucle. A dicha variable se le asigna un valor inicial y se indica el valor final o aquel en el que, una vez superado, el bucle no volver a repetirse. En el cuerpo del bucle se sitan el conjunto de instrucciones que deben ejecutarse cada vez, existiendo la posibilidad de introducir una instruccin Exit For para salir del bucle antes de que se repita el nmero de veces establecido. Finalmente, una vez ejecutada cada una de las instrucciones del cuerpo del bucle se ejecuta la lnea Next contador, en la que se aproxima el valor del contador hacia el valor final en el nmero de unidades indicado en el incremento. Aproximarse puede ser incrementar el valor, si el valor inicial es menor que el valor final, o decrementarlo, si el valor inicial es mayor que el final. Si no se determina ningn incremento, Visual Basic toma como valor predeterminado una unidad.

PAG. 64

Microsoft

Visual Basic 6.0

El ejemplo utilizado en el curso es:

Dim i As Integer For i = 3 To 5 LoadCommand1(i) Command1 (i).Visible = True Command1(i).Top = Command1(i-l).Top + 600 Next i

En este caso se utiliza la variable i, de tipo entero, como contador del bucle. Dicho bucle se ejecutar 3 veces, en las que el valor de i ser 3, 4 y 5. Las instrucciones que forman el cuerpo del bucle crean, en tiempo de ejecucin, un botn de comando nuevo en la matriz de controles. Fjese cmo el ndice de cada uno de los nuevos botones ser justamente el valor del contador en cada pasada del bucle. Por otra parte se sita el nuevo botn de forma que aparezca debajo del botn anterior en 600 unidades. En muchas ocasiones desconocer cuntas veces debe repetir un bucle. En estos casos deber utilizar una estructura de repeticin que dependa de una condicin. En este sentido puede interesarle repetir un bucle mientras se cumpla o hasta que se cumpla una condicin. En ambas situaciones Visual Basic presenta estructuras adecuadas. La estructura de repeticin genrica es Do...Loop. Dicha estructura es utilizada cuando no conocemos cuantas veces debe ejecutarse el bucle. La sintaxis de esta instruccin es:

Do [{While / Until} condicin [Instrucciones] [ExitDo] [Instrucciones] Loop Puede usar esta sintaxis vlida equivalente:

Do [Instrucciones] [Exit Do] Instrucciones] Loop [{While / Until} condicin]

PAG. 65

Visual Basic 6.0

Microsoft

Fjese cmo puede usar bien la palabra While o bien la palabra Until. En el primer caso el bucle se repite mientras la condicin se cumpla; en el segundo caso el bucle se repetir hasta que la condicin d el valor Verdadero. Por otra parte en la primera sintaxis, la condicin es comprobada al principio del bucle, por lo que si no se cumple al iniciarse, entonces el cuerpo del bucle no se ejecutar. Sin embargo, en la segunda sintaxis, la condicin es comprobada a la salida del bucle por lo que por lo menos una vez es seguro que el cuerpo del bucle se va a ejecutar. Existen otras estructuras de repeticin en el lenguaje que no son tratadas en este captulo. Es recomendable utilizar el sistema de ayuda y buscar informacin sobre repetir instrucciones.

PAG. 66

También podría gustarte