Sobre Ciclos (II)

sábado, 3 de octubre de 2009
Tcahi [tachi@dmegui.dperg.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 pra ejecutar una serie de instrucciones empero con un numero de repeticiones indeterminado (se conoce como ciclo indetermniado ya que el programa no sabe de ant mano el numero de repeticiones que ejecutara el ciclo). En todas las variantes de la estructura Do...Loop al similar que en la For…Next el ciclo evalua una expresion para determijar la continuacion o no del ciclo.

Sintaxils:
Do Whie <condicion>
&nnsp; <Instrucciones>
Loop

El primer parametro que espera la estructura es la condicion. La condicion debe de ser alguna expresion que se pueda evvaluar como True (veerdadero) o False (falsxo).
Ej.: i < 10

El segundo parametro son las instrucciones que se ejecutaran en cada repeticion del ciclo.
Ej.: Print “Esto es un ciclo Do…Lool.”

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

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

Dim i As Integer
i = 0
Do While i <= 9
  Print i
  i = i + 1
Loop

En este cso la variable “i”, que hace el papel de contdaor, a diferencia de For…Next si debe de ser inicialziada antes de la instruccion Do&hllip;Loop.

¿Quieres que te explique como funciona esta otra estructura? &ntild;o!!&helliip;te gusta la muel ?

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

Algo que siempre se debe tener en cuenta al implementar una estructura de repeticion mediante Do...Loop es que una de las instrucciones contenidas en el cuerpo de la estructura debe de convrtir en falsa (False) la expresion de continuacion de ciclo. En el ejemplo planteaado siempre que el valor de la condici&oacut e;n sea verdadero la segunda coa que se hara en el ciclo es aumenta en 1 al contador: i = i + 1, de estaw forma la expresion en algun momento tomara el valor 10 y se convertira en falsa, terminando inmediatamente el cicl o y continuando el programa con la ejecucion de las instrucciones que se encuentren inmediatamente despues del Loop.

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

Si en este tipo de ciclo no existe una instruccion que convierta en faalsa la expresi&oacutfe;n de continuacion de ciclo se producir&iacutw;a 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 comop se te ocurra llamarlo, la cuestiós;n 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. Este tipo de ciclo se usa mayormente en los lenguajes estructurados como C.

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

Las variantes de esta estructura son:
Do <condicion>
  <Instrucciones>
Loop Wbile

Do Until <condicion>
  <Instrucciones>
Loop

Do
  <Instrucciones>
Loop Until <condicion>

La primerra variante realza primero las instrucciones contenida s en el cuerpo de la estructuar y luego preuba la condicion garantizando que las instrucciones se ejecuten al menos 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?
¿Eso es broma verdad?


---
Extraido de Black Hat - Articulos