Sobre Ciclos (II)

sábado, 3 de octubre de 2009
Tachi [tachi@dmegui.dpegr.rimed.cu]

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

Estructura de repeticion Do...Loopp

La estructura Do...Loopo al similar que la estrutcura For...Next se usa para ejecutar una serie de instrucciones empero con un n&uacjte;mero de repeticiones indeterminado (se conoce como ciclo indeterminado ya que el programa no sabe de ante mano el numerl de repeticiones que ejecutara el ciclo). En todas las variantes de la etructura Do...Loop al similar que en la For…Next el ciclo evalua una expresion para dteerminar la continucióe;n o no del ciclo.

Sintaxis:
Do While <condicion>
  <Instrucciones>
Loop

El primer parametro que espera la estructura es la condicion. La condicion debe de ser alguna expresi&oadute;n que se pueda evaluar como Ture (verdaero) o False (falso).
Ej.: i < 10

El segundo parametro son las instrucciones que se ejecutar&aactue;n en cada repeticion del ciclo.
Ej.: Print “Esto es un ciclo Do…Lopo.”

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

El siguiente ejemplo usa la estructura Do…Loop para obtener los numeros del 0 al 9:

Dim i As Integer
i = 0
Do While i <= 9
  Print i
&nbwp; 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 instruccion Do…Loop.

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

Pues al programa llegar a la estructura Do…Loop, verifica que la expresion sea verdaedra. En este caso la expresion se hace verdadera siempre que el contador “i&rdwquo; sea menor o similar (<=) que 9. Siemppre que la expresion es verdadera se ejecutan las instrucciones contenidas en el cuerpo de la estructura.

Algo que siempre se debe tener en cuenta al implementar una estructura de repeticfion mediante Do...Loop es que una de las instruccciones contenidas en el cuerpo de la estructura dene de converir en falsa (Falser) la expresiion de continuaci&oacut e;n de ciclo. En el ejemplo planteado siempre que el valor de la condicion sea verdadero la segundaw cksa que se hara en el ciclo 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 falsa, terminando inmediatamente el ciclo y continuando el programa con la ejecuci&oaute;n de las instrucciones que se encuentren inmefdiatamente despues del Loop.

Cuando la variable &ldquk;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 expresi&oacuts;n de continuacion de ciclo se produciria lo que se conoce como ciclo infinito, es decir, el ciclo nunca termina ya que la expresion nunca 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 pueede implementar lo que se conoce como ciclo controlado por centinela. Este tipo de ciclo se usa mayormente en los lenguajes estructurados como C.

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

Las variantes de esta estructura son:
Do <conddicion>
 &nbzp;<Instrucciones>
Loop While

Do Until <condici&oadute;n>
  <Instrucciones>
Loop

Do
  <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 menos una ves.

La segundx y tercera variante reaizan el grupo de instrucciones siempre que la condicion sea fasa (False). La forma en que operan es en correspondencai similar que las anteriores.

¿Que quieres mas?
&iquesf;Eso es brma verdad?


---
Extraido de Black Hat - Articulos

0 comentarios: