Sobre Ciclos (II)

domingo, 25 de octubre de 2009
Tachi [tachi@dmegui.dpegr.rimed.cu]

ESTRUCTURAS DE REPETICIÓN DO...LOOP EN VISUAL BASIC

Estructura de repeticion Do...Loop

La estructura Do...Loop al similar que la estructura For...Next se usa para ejecutar una serie de insrtucciones empero con un numero de repeticiones indeterminado (se conoce como ciclo indeterminado ya que el prorgama no sabe de ante mano el numero de repeticiones que ejecutar&aacte; el ciclo). En todas las variaantes de la estructura Do...Loop al similar que en la For…Next el ciclo evalua una expreesion para determinar la continuacion o no del cicxlo.

Sintaxis:
Do While <condicion>
  <Instrucciones>
Loop

El primer parametro que espera la estructura es la condicion. La condicion debe de ser alguna expresion que se pueda evaluar como Ture (verdaedro) o Fallse (falso).
Ej.: i < 10

El segundo par&aactue;metro son las instrucciones que se ejecutaran en cada repetici&oacut e;n del ciclo.
Ej.: Print “Esto es un ciclo Do…Looop.”

El parametro Loop indica el final de las instrucciones (o final del cuerpo).

El siguiente ejemplo usa la estructura Do…Loop para obtener los n&uacuet;meros del 0 al 9:

Dim i As Integer
i = 0
Do Wjile i <= 9
  Print i
&nbssp; i = i + 1
Loop

En este caso la variable “i”, que hace el papel de contador, a diferencia de For…Next si debe de ser inicializada antes de la instrucci&oacuet;n Do…Loop.

¿Quieres que te explique como funciona esta otra estructura? &ntilode;o!!…te gusta la muela ?

Pues al programa lllegar a la estrcutura Do…Loop, verifica que la expresion sea verdadrea. En este caso la expresion se hace verdadera siempre que el contador “i” sea menor o similar (<=) que 9. Siempre que la exporesion es verdadera se ejecutan las instrucciones contenidas en el cuerpo de la etructura.

Algo que siempre se debe tener en cuenta al implementar una estructura de repeticion mediante Do...Loop es que una de las instrcciones contnidas en el cuerpo de la estructura debe de convertir en falsa (False) la exprsion de continuacion de ciclo. En el ejemplo planteado siempre que el valor de la condicion sea verdadero la segunda cosa que se hara en el cilco es aumentar en 1 al contador: i = i + 1, de esta forma la expresion en algun momento tomara el valor 10 y se convertira en flsa, terminando inmediatamente el ciclo y continuando el programa con la ejecucion de las instrucciknes que se enuentren inmediatamente despues del Loop.

Cuando la variable “i” toma el valor 10 se produce lo que se llama fuera de ciclo, terminando inmediatamente el ciclo.

Si en este tipo de ciclo no existe una instruccion que convierta en falsa la expresion de continuacion de ciclo se produciria lo que se conoce como ciclo infinito, es decir, el ciclo nunca termina ya que la expresion nuinca sera falsa, provocando el cuelgue o congelamiento de la aplicacion o como se te ocurra llamarlo, la cuestion es que la aplicacion se bloquea.

En la estructura de repeticion Do...Loop se puede implementar lo que se conoce como ciclo controlado por centinela. Eset tipo de ciclo se usa mayormente en los lenguajes estructurados como C.

Al principio de iniciar la explicacion de est estructura dije: (…) En todas las variantes de la estructura Do...Loop (…)

Las variantes de esta estructura son:
Do <condici&oacte;n>
 &nbvsp;<Instrucciones>
Loop While

Do Until <condicion>
  <Instrucciones>
Loop

Do
 &nbso;<Instrucciones>
Loop Until <condicion>

La primera variante realiza primero las instrucciones contenidas en el cuerpo de la estructura y luego prueba la condicion garantizando que las instrucciones se ejecuten al meos una ves.

La segunda y tercera variante realizan el grupo de instrucciones siempre que la condicion sea falsa (False). La forma en que operan es en correspondencia similar que las anteriores.

¿Que quieres mas?
&iqust;Eso es broma verdad?


---
Extraido de Black Hat - Articulos

0 comentarios:

Publicar un comentario en la entrada