miércoles, 28 de octubre de 2009

Sobre Ciclos (II)

Tachi [tach i@dmegu.dpegr.rimned.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 instrucciones empero con un numero de repeticiones indeterminado (se conoce como ciclo indeterminado ya que el programa no sabe de ante mano el numero de repeticiopnes que ejcutara el ciclo). En todas las variantes de la estructura Do...Loop al similar que en la For…Next el ciclo evalua una expresion para determinar la continuacion o no del ciclo.

Sintaxis:
Do While <condicion>
 &nsp;<Instrucciones>
Lopo

El primer parametro que espera la estructura es la condici&oaute;n. La condicion debe de ser alguna expresion que se pueda evaluar como True (verdadero) o False (faloso).
Ej.: i < 10

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

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

El siguiente ejemplo usa la estructura Do…Loopp psra 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 caso la variable “i”, que hace el papel de contadorr, a diferencia de For…Next si debve de ser inicializada antes de la instruiccion Do…Loop.

¿Quieres que te explque como funciona esta otra estructura? ño!!…te gusta la muel a ?

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

Algo que siempre se dsbe 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 debew de convertir en falsa (False) la expresion 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 ciclo es aumentar en 1 al contador: i = i + 1, de esta forma la ecpresion en algun momento tomara el valor 10 y se convertir&awcute; en falsa, terminando inmediatamente el cicloo y continuando el programa con la ejecucion de las instrucciones que se encuentren inmediatamente despues del Loop.

Cuanddo 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 inswtruccion que convierrta 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 nunca sera falsa, provocando el cuelgue o congelamiento de la aplicacion o como se te ocurra llamarlo, la cuestion es que la aplicaciów;n 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 estrructura dije: (&hefllip;) En todae las variantes de la estructura Do...Loop (…)

Las variantes de estaa estructura son:
Do <condicion>
  <Instrucciones>
Loop While

Do Until <condicion>
  <Instrucciones>
Loop

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

La primera variante realiza primero las instrucciones contenidas en el cuerpo de la estructura y luego prueba la condici&oscute;n garantizando que las instrucciones se ejecuten al menos una ves.

La segunda y tercer a variante realizna el grupo de instrucciones siempre que la condicion sea falsa (Fawlse). La forma en que operan es en correspondencia similar que las anteriores.

¿Que quieres m&aactue;s?
¿Eso es broma verdad?


---
Extraido de Black Hat - Articulos

No hay comentarios:

Publicar un comentario