Soft7k
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

Soft7k

Todo sobre ayuda online.
 
ÍndiceÍndice  PortalPortal  Últimas imágenesÚltimas imágenes  BuscarBuscar  RegistrarseRegistrarse  ConectarseConectarse  

 

 Programar con Visual BASIC (VI)

Ir abajo 
AutorMensaje
wazrun
Admin
Admin
wazrun


Cantidad de envíos : 195
Pais : Programar con Visual BASIC (VI) Estado10
Fecha de inscripción : 25/07/2008

Programar con Visual BASIC (VI) Empty
MensajeTema: Programar con Visual BASIC (VI)   Programar con Visual BASIC (VI) Icon_minitimeMar Jul 29, 2008 2:08 am

En la quinta entrega de este pequeño tutorial, vimos que con FOR…NEXT podíamos resolver aquellas situaciones en las que un grupo de instrucciones debían repetirse un numero determinado de veces. Pero existen otras situaciones, y aparecen con mucha frecuencia, en las que no se conoce de antemano el número de iteraciones que debería tener nuestro bucle.

A pesar de que un programador con experiencia siempre encontrará la forma de afrontar esas situaciones haciendo uso de FOR…NEXT, resulta mas fácil, apropiado y eficiente emplear las instrucciones que el repertorio sentencias de Visual Basic pone a nuestra disposición. Veamos cuales son.
Do…Loop
El bucle DO...LOOP es muy versátil. Tanto, que puede reemplazar a FOR…NEXT en casi todos los casos. Con él se pueden crear una gran variedad de bucles diferentes, dependiendo si comprueban una condición antes de ejecutar el bucle una vez; después de la primera ejecución; mientras que se cumple la condición o hasta que la mencionada condición se cumpla. La sintaxis básica de esta estructura es la siguiente:

Do
Instrucciones…
[Exit Do]
Instrucciones…
Loop

Esta es la forma más simple de escribir este tipo de bucle. Las instrucciones comprendidas entre el Do y el Loop se ejecutaran indefinidamente. Resulta muy apropiado para aquellos casos en que nuestro programa se encuentra esperando que ocurra alguna situación determinada, a la vez que repite un grupo de instrucciones.

La opción “Exit Do” permite abandonar el bucle cuando lo deseemos. En general, una sentencia “If…Then” comprueba el valor de alguna expresión, y cuando dicha expresión es verdadera, se ejecuta el “Exit Do”. El siguiente ejemplo ilustra este caso:

Dim edad As Integer
edad = 20

Do
edad = edad - 1
If edad = 0 Then
Exit Do
End If
Loop

Como puede verse, el bucle se repetirá mientras que el valor de “edad” sea diferente de cero. Cuando esto ocurre, la condición que evalúa el “If…Then” será verdadera y el control del programa saltará a la instrucción que haya a continuación del “Loop”.
Programar con Visual BASIC (VI) 3A1Cx550y1000
La opción “Exit Do” permite abandonar el bucle cuando lo deseemos.

La segunda forma en que se puede escribir un bucle “Do…Loop” es la que sigue:

Do { While | Until } condición
Instrucciones…
[Exit Do]
Instrucciones…
Loop

Por supuesto, no podemos utilizar “While” y “Until” a la vez. En esta forma del bucle, la condición se evalúa al comienzo del mismo. En el caso de utilizar la opción “While”, el bucle se repetirá mientras que la condición sea verdadera. Podemos escribir el ejemplo anterior utilizando esta posibilidad:

Do While edad <> 0
edad = edad - 1
Loop

Como puede verse, es mucho más simple utilizar “While” que “If…Then” y “Exit Do”. Aclaramos que la condición evalúa que edad sea diferente de cero.

También podríamos haber resuelto el problema con el uso de “Until”:

Do Until edad = 0
edad = edad - 1
Loop

En este caso, el bucle se repetirá hasta que edad sea igual a cero. En estos dos ultimo ejemplos puede darse el caso de que, si edad es igual a cero cuando se llega a la instrucción “Do”, las instrucciones existentes en el interior del bucle no se ejecuten nunca.
Programar con Visual BASIC (VI) 3A1Dx550y1000
El bucle se repetirá hasta que edad sea igual a cero.

La tercera forma que puede adoptar el bucle que estamos analizando es la siguiente:

Do
Instrucciones…
[Exit Do]
Instrucciones…
Loop { While | Until } condición

Como puede verse, se ha delegado la capacidad de evaluar la condición al final del bucle. Esto tiene la particularidad de permitir que el grupo de instrucciones existentes en el interior del bucle se ejecuten al menos una vez, independientemente de que la condición a evaluar sea o no verdadera.

Nuestro ejemplo podría resolverse así:

Dim edad As Integer
edad = 20

Do
edad = edad - 1
Loop Until edad = 0

O asi:

Dim edad As Integer
edad = 20

Do
edad = edad - 1
Loop While edad <> 0
Programar con Visual BASIC (VI) 3A1Ex550y1000
Se puede evaluar la condición al final del bucle.

En todos los casos puede utilizarse, entre las instrucciones que están dentro del bucle, la sentencia “Continue Do”, que hace que el control del programa salte nuevamente al “Do…”, repitiendo el ciclo actual.
Volver arriba Ir abajo
https://soft7k.forum.st
 
Programar con Visual BASIC (VI)
Volver arriba 
Página 1 de 1.

Permisos de este foro:No puedes responder a temas en este foro.
Soft7k :: ::Zona Informatica:: :: Zona Web-
Cambiar a: