VBScript

Este bucle funciona de manera muy similar al anterior, con la salvedad de que el BLOQUE DE INSTRUCCIONES se ejecuta hasta que (UNTIL) se cumple la condici�n. Cuando se cumple la condici�n deja de ejecutarse el bucle. La estructura general es la siguiente:

DO UNTIL (condici�n)
    BLOQUE DE INSTRUCCIONES
LOOP

Como siempre, la mejor manera de entender el funcionamiento es con un ejemplo. Supongamos el mismo caso de antes. Se tiene que pedir la clave mientras no se introduzca correctamente. Veamos como hacerlo.

Bucle Do...Until
<HTML>
<HEAD>
<TITLE>Prueba de DO WHILE ... LOOP</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE = "VBScript">
    OPTION EXPLICIT
    DIM clave
    clave = ""
    DO UNTIL (clave = "AUTORIZADO") 
        ' Ejecuta hasta que la clave es igual a AUTORIZADO
        clave = INPUTBOX ("Teclea la clave:")
    LOOP
    MSGBOX ("La clave ya es correcta")
</SCRIPT>
</BODY>
</HTML>

El resultado es id�ntico al del ejemplo anterior.

.�BUCLES WHILE ... WEND

Estos bucles son un vestigio de los primeros tiempos de BASIC. Hoy d�a han sido sustituidos por los bucles DO WHILE ... LOOP, cuyo funcionamiento es id�ntico. Sin embargo, los int�rpretes actuales todav�a los soportan como complemento, por aquellos programadores acostumbrados al modelo antiguo. Su estructura general es la siguiente:

WHILE (condici�n)
    BLOQUE DE SENTENCIAS
WEND

De todas formas, me permito aconsejar al lector que no se acostumbre a usar este formato de bucle, ya que es posible que futuras versiones del int�rprete dejen de contemplarlo.

.�ROMPIENDO BUCLES

En ocasiones es necesario interrumpir de manera forzada la ejecuci�n de un bucle, por ejemplo si se produce una situaci�n que aconseje la continuaci�n del programa ignorando el resto del proceso del bucle. Para ello se emplea la instrucci�n EXIT. Esta instrucci�n presenta tres formatos distintos, seg�n el tipo de bucle en que se implemente. Si queremos causar la ruptura de un bucle FOR... NEXT, utilizaremos EXIT FOR. Para romper un bucle DO WHILE ... LOOP o un bucle DO UNTIL ... LOOP utilizaremos la instrucci�n EXIT DO. Si lo que queremos es romper un bucle WHILE ... WEND usaremos EXIT WHILE. Veamos un ejemplo pr�ctico. Vamos a suponer que estamos contando n�meros y queremos que la cuenta se interrumpa cuando el cuadrado del n�mero por el que vamos sea mayor que 99. Veamos el siguiente c�digo:

Salir de un bucle
<HTML>
<HEAD>
<TITLE>Prueba de EXIT</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE = "VBScript">
    OPTION EXPLICIT
    DIM num
    DIM cuad
    num = 0
    cuad = 0
    DO WHILE (num < 1000)
        num = num + 1
        cuad = num * num
        IF (cuad > 99) THEN
        EXIT DO
        END IF
        DOCUMENT.WRITE("El cuadrado de " & num & " es " & cuad & "<BR>")
    LOOP
    DOCUMENT.WRITE ("Se acab� el bucle.")
</SCRIPT>
</BODY>
</HTML>

El resultado del c�digo anterior es el siguiente:

El cuadrado de 1 es 1
El cuadrado de 2 es 4
El cuadrado de 3 es 9
El cuadrado de 4 es 16
El cuadrado de 5 es 25
El cuadrado de 6 es 36
El cuadrado de 7 es 49
El cuadrado de 8 es 64
El cuadrado de 9 es 81
Se acab� el bucle.

Este ejemplo ilustra el funcionamiento de la instrucci�n EXIT DO. Los otros dos formatos act�an de manera similar. La instrucci�n EXIT no es de uso muy frecuente, ya que casi siempre se pueden encontrar soluciones mas elegantes, pero conviene conocerla.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
ARTÍCULO ANTERIOR

SIGUIENTE ARTÍCULO