Foros del Web » Programando para Internet » ASP Clásico »

While... Wend

Estas en el tema de While... Wend en el foro de ASP Clásico en Foros del Web. Hola a todos: En VBScript tenemos varias formas de hacer bucles. Hay una cosa sin embargo que no acabo de entender. El bucle Do while/until... ...
  #1 (permalink)  
Antiguo 12/04/2003, 07:11
Avatar de Kunael  
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona
Mensajes: 164
Antigüedad: 21 años, 7 meses
Puntos: 0
While... Wend

Hola a todos:

En VBScript tenemos varias formas de hacer bucles. Hay una cosa sin embargo que no acabo de entender.

El bucle Do while/until... Loop hace lo mismo que la variante While... wend. Así pues

¿Xq el lenguaje implementa la opción del While... Wend cuando el Do while/until puede hacer la misma función y, además, de manera más óptima?

Gracias por adelantado.
__________________
Comparte tu conocimiento
  #2 (permalink)  
Antiguo 12/04/2003, 09:49
Avatar de Dev.Net  
Fecha de Ingreso: abril-2003
Mensajes: 120
Antigüedad: 21 años, 2 meses
Puntos: 0
Hola kunael

lo que tu dices es verdad los dos hace los mismo, simplemente son forma de los lenguajes, que estan desde hace mucho tiempo esto no es solamente en VbScript en otros lenguajes tambien estan es como un estandar .....

Saludos...
__________________
César A. Montero O.
Dev.Net
Maracay - Venezuela
  #3 (permalink)  
Antiguo 12/04/2003, 10:01
Avatar de MsTech.DotNet  
Fecha de Ingreso: marzo-2003
Ubicación: Maracay - Edo. Aragua
Mensajes: 605
Antigüedad: 21 años, 2 meses
Puntos: 0
Estuve investigando sobre los diferentes bucles en asp que a la final hacen la misa función y bueno les comento lo siguiente...

La razon principal por lo que existen varios tipos de bucles que realizan la misma funcion es por lo de las diferentes actualizaciones del VBScript es decir, a medida que paso el tiempo fueron cambiando algunos bucles pero que a la final se podian seguir usando todos.. siendo unos mas optimos que otros...

A continuacion unos pequeños conceptos al respecto..
Cita:
BUCLES DO WHILE...LOOP

Este tipo de bucles se emplean para efectuar (DO) una operación un número indeterminado de veces mientras (WHILE) se cumpla una condición. Su estructura general es la siguiente:

DO WHILE (condición)
BLOQUE DE INSTRUCCIONES
LOOP

El BLOQUE DE INSTRUCCIONES, contenido entre las líneas DO y LOOP se ejecutará mientras se cumpla la condición. Supongamos que ha llegado la hora de pedirle al usuario una palabra clave para continuar ejecutando un programa. Esta palabra será, por ejemplo, AUTORIZADO. Veamos como lo haríamos:

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

BUCLES DO UNTIL ... LOOP

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.
Espero que se hallan aclarado algunas dudas..

Saludos...
__________________
Ing. Javier Ugalde
Desarrollador de Aplicaciones Web / Windows
Director de Desarrollos Web
Ing. en Información
Email: [email protected]
Telf. Hab: +[58] - (243) - 232.02.06
Telf. Cel: +[58] - (414) - 455.26.80
  #4 (permalink)  
Antiguo 12/04/2003, 11:17
Avatar de Kunael  
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona
Mensajes: 164
Antigüedad: 21 años, 7 meses
Puntos: 0
Las dudas quedaron muy aclaradas ya. Gracias.

No tiene nada q ver con el tema q nos ocupa, pero ¿qué es eso de Desarrollador 5 Estrellas y todo eso? He visto algún que otro usuario que lo tiene y, francamente, no tengo idea de que es.

Salu2.
__________________
Comparte tu conocimiento
  #5 (permalink)  
Antiguo 12/04/2003, 13:38
Avatar de MsTech.DotNet  
Fecha de Ingreso: marzo-2003
Ubicación: Maracay - Edo. Aragua
Mensajes: 605
Antigüedad: 21 años, 2 meses
Puntos: 0
Es un programa de estudio que esta ofreciendo microsoft para certificarte como desarrollador 5 estrellas de Tecnologia .NET...

La metodologia es presentar examenes para ir obteniendo estrellas, son 5 estrellas y los metodos de estudio son individuales y por modulos...

Si quieres mas informacion al respecto visita la pagina oficial...

Programa Desarrollador Microsoft 5 Estrellas

Si necesitas información adicional no dudes en consultar....

Saludos....
__________________
Ing. Javier Ugalde
Desarrollador de Aplicaciones Web / Windows
Director de Desarrollos Web
Ing. en Información
Email: [email protected]
Telf. Hab: +[58] - (243) - 232.02.06
Telf. Cel: +[58] - (414) - 455.26.80
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 00:43.