Home - ASP - Curso práctico - Capítulo 3 - 1 - 2 - 3
Curso práctico de ASP (III)
por Luciano Moreno, del departamento de diseño web de BJS
Software.
Estructuras condicionales.-
Generalmente, durante la ejecución del código de un programa o script es necesaria la toma dinámica de decisiones, encaminando la ejecución de instrucciones a una parte u otra de nuestro código en función de valores concretos de variables. Esto se consigue mediante el uso de estructuras condicionales.
Una de las estructuras condicionales en VBScript de tipo
condicional es el conjunto If...Then...Else...End If
, análogo al que implementan
otros muchos lenguajes de programación. Una traducción coloquial al castellano
de ésta estructura sería "Si ocurre la siguiente condición, haz esto; si no se
cumple, haz esto otro", a la que se añade una instrucción final, End If, que
podría significar "se acabó la condición", y que da fin a la estructura If
condicional.
Es decir, ésta
estructura evalúa si una condición es true o false, ejecutando un grupo de
instrucciones u otro dependiendo del resultado de ésta evaluación.
Esta estructura tiene una sintaxis propia en VBScript, una forma correcta de escribir las instrucciones, que es la siguiente:
If condición
Then
sentencias a ejecutar si se cumple la
condición
Else
sentencias a ejecutar si no se cumple
End
If
Ejemplo:
<%
If a<5 Then
b=3*a
Else
b=a;
End If
%>
Si sólo queremos que se ejecuten una serie de sentencias en caso de que se cumpla la condición (o condiciones) necesarias, pero no deseamos que se ejecute nada en caso contrario, podemos prescindir de la instrucción Else:
<%
If x<y Then
y=2*x
x=5
End If
%>
Si además si nuestra estructura If ocupa sólo una línea, podemos prescindir también de la instrucción End If:
<%
If x<y Then y =
2*x
%>
Podemos anidar varias condiciones If, una dentro de otra, en el caso de que deseemos establecer condiciones adicionales en el caso de que no se cumpla la primera. Esto se consigue mediante la instrucción ElseIf:
<%
If x<y
Then
y=2*x
ElseIf x<10
Then
x=5
Else
x=z
End If
%>
Otro tipo de estructura condicional es la estructura Select...Case. Este tipo de estructura condicional nos va a permitir tomar diferentes decisiones en función del valor que tome una variable cualquiera. Es decir, nos va a permitir ejecutar un conjunto de sentencias dado para cada valor de la variable.
Mientras que la estructura If...Then...Else es de naturaleza lógica, ya que toma decisiones en función de si la condición es verdadera o falsa, la estructura Select...Case es de naturaleza más amplia, pues podemos tomar decisiones en función de todos los valores posibles de la variable.
Su sintaxis general es:
Select Case
variable
Case valor
1:
sentencias a ejecutar si la
variable=valor 1
Case valor
2:
sentencias a ejecutar si la
variable=valor 2
Case valor
3:
sentencias a ejecutar si la
variable=valor 3
Case
Else:
sentencias a ejecutar en
otro caso
End Case
De ésta forma, si el valor de la variable coincide con valor 1 se ejecuta el conjunto de sentencias correspondiente, lo mismo si vale valor 2, y así sucesivamente. El conjunto de sentencias bajo Case Else se ejecutará en caso de que la variable tenga un valor diferente a los arriba contemplados.
Por último, indicamos el final de la estructura condicional mediante la instrucción End Case.
Ejemplo 1:
<%
Select Case x
Case
1:
y=3*x
Case
2:
y=x
Case 5:
y=0
Case Else:
y=3*x+2
End Case
%>
Ejemplo 2:
<%
Select Case mensaje
Case
"Hola":
MsgBox "¿Cómo
estás?"
Case
"Adios":
MsgBox "Nos vemos
mañana"
Case
Else:
MsgBox "Salúdame"
End
Case
%>
Donde podemos mostrar al usuario diferentes mensajes en función del valor que él haya elegido previamente en un elemento de formulario.
Aunque pueda parecer a primera vista que éste tipo de estructura de control es más adaptable que la If...Then...Else, esto no es así, ya que ésta última permite una mayor posibilidad de configuración mediante anidamientos. En lo que sí gana la estructura Case es en claridad de código. El único inconveniente es que no siempre podremos encontrar una estructura Case que se adapte a nuestras necesidades, por lo que se suele emplear en aquellos casos en los que tenemos muy claro los posibles valores que puede tomar nuestra variable (días de la semana, provincias de España, etc).
Home - ASP - Curso práctico - Capítulo 3 - 1 - 2 - 3