Programación en castellano
-Tutoriales

VBScript


Estructuras de control

Ningún programa es una secuencia lineal de instrucciones. En todo lenguaje de programación existen estructuras que nos permiten variar el orden de ejecución dependiendo de ciertas condiciones. Estas estructuras se pueden clasificar en dos grandes grupos: bifurcaciones condicionales y bucles.

. Bifurcaciones condicionales

Una bifurcación condicional en una estructura que realiza una tarea u otra dependiendo del resultado de evaluar una condición. En VBScript la sentencia de bifurcación básica es la estructura If - Then - Else. Como es la que utilizan todos los lenguajes imperativos del universo terrenal (o casi) vamos a verla con un ejemplo:

If dinero = 0 Then
	MsgBox "Estás en la más absoluta de las miserias"
ElseIf dinero >= 100000000 Then
	MsgBox "Estas forrado, oye"
Else
	Msgbox "Tampoco me iba a casar contigo por dinero, la verdad"
End If

Como os podéis imaginar, este código comprueba primero si la variable dinero es igual a cero. En caso afirmativo muestra en pantalla el primer mensaje. En otro caso comprueba si tenemos... bueno, si tenemos mucho dinero para sacar el segundo mensaje. Finalmente si no es ninguno de los dos casos enseña el tercer mensaje. Hay que indicar que End If sólo es necesario ponerlo cuando nuestra estructura If - Then - Else ocupa más de una línea.

Existe un caso bastante común de bifurcación en el que se miran todos los posibles valores de una variable, ejecutándo una tarea u otra dependiendo de ello. En VBScript esto se hace por medio de la sentencia Select Case:

Select Case Pelo
Case "Rubio"
	MsgBox "Los caballeros las prefieren rubias"
Case "Moreno"
	MsgBox "Pero se casan con las morenas"
Case Else
	MsgBox "Ya no me sé más refranes estúpidos, lo siento"
End Select

Es menos flexible que la anterior sentencia estudiada, pero más cómoda y legible si nuestro caso se adapta a ella.

. Bucles

Un bucle es una estructura que permite repetir una tarea un número de veces, determinado por una condición. De nuevo comenzaremos viendo por el más flexible, el bucle Do...Loop. Este bucle itera indefinidamente las sentencias contenidas en su interior hasta que se cumple (o deja de cumplir) una condición. Esta condición se puede poner al principio (junto al do) o al final (junto al loop), variando de ese modo el momento en que se comprueba, y precedida de la palabra while (si queremos que se itere mientras se cumpla) o la palabra until (si lo que deseamos es que itere mientras no se cumpla). Para mostrar estas diferencias, en el siguiente ejemplo:

i = 0
Do Until i = 10
	i=i+1
Loop

i sería 10, mientras que aquí:

i = 0
Do
	i=i+1
Loop While i = 10

i tendría el valor 1. Por último, hay que decir que la ejecución de la sentencia Exit Do en cualquier punto del interior del bucle provoca la salida inmediata del mismo. Es conveniente, sin embargo, evitar su uso porque puede convertir el código en algo parecido a un jeroglífico egipcio antes de encontrar la piedra Rossetta.

Un bucle muy común es el numérico. El siguiente ejemplo calcula el factorial de un número usando un bucle For..Next:

Numero = 4
For x = Numero - 1 To 1 Step -1
	Numero = Numero * x
Next

En la primera iteración x es igual a Numero - 1 (es, decir, 3). Se ejecuta lo de dentro, con lo que número será igual a 4*3=12. Cuando llegamos al Next sumamos a x el valor contenido que viene después del Step (si no ponemos esta palabra reservada se asume que este valor es 1), por lo que x será ahora 3 y comprobamos que no ha llegado todavía al valor 1. Cuando lo haga, después de dos iteraciones, hay que precisar que realizará una iteración más con x=1, y después de esta la ejecución se saldrá del bucle.

Este bucle también tiene su puerta de atrás, llamada Exit For. Las mismas consideraciones que con el anterior caso.

Por último, una variación de este bucle es For Each...Next, que nos permitirá recorrer vectores. El siguiente ejemplo inicializaría un vector:

Dim vector(8)
For Each indice in vector
	vector(indice) = "No tengo nada"
Next

El bucle recorrería los 9 elementos del vector, siendo indice el número del elemento que está recorriendo en ese preciso momento.

 
Patrocinados
 

Copyright © 1999-2007 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network

red internet: musica mp3 | logos y melodias | hospedaje web linux | registro de dominios | servidores dedicados
más internet: comprar | recursos gratis | posicionamiento en buscadores | tienda virtual | gifs animados