Mundo Web
manuales - recursos - graficos - programación...

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).

 

anterior
siguiente

Home - ASP -  Curso práctico - Capítulo 3  - 1 - 2 - 3