Páginas:
Por: Ariel Palazzesi
@
martes, 10 de junio de 2008
Nota vista 14965 veces
Continuamos aprendiendo a programar con Visual BASIC Studio. En esta tercera entrega dejaremos por un momento los controles de lado, para concentrarnos en las sentencias destinadas a controlar el flujo del programa.
Visual BASIC es un lenguaje muy extenso.
Por ejemplo, no podemos poner otra sentencia “If…” a continuación del “then” o “else”. Para estos casos tenemos la “versión larga” del “If…”, que ocupa todas las líneas que haga falta, y que, en la practica, es la que más utilizaremos. El formato de esta alternativa es la siguiente:
If condición then
sentencia1
sentencia2
sentencia3
….
End If
El funcionamiento es el mismo que cuando utilizamos los “:” en la versión de una sola linea para separar las sentencias unas de otras, pero se agrega la clausula “End If” al final para que el compilador sepa donde termina el bloque de instrucciones correspondientes al “If…” y donde comienzan las que pertenecen al resto del programa. Si realizamos el ejemplo anterior con este formato, nos quedaría:
If sujeto_edad > 18 then
sujeto_estado = “adulto”
End If
Ahora ya sabes por que, cada vez que pueden, los programadores eligen el “If de una línea”. Pero donde realmente se luce es en los casos que el código a ejecutar es mas extenso, ya que no solo permite un numero (teóricamente) infinito de sentencias de todo tipo en su interior, si no que es mucho más legible que el “If de una línea” con sentencias separadas por “:”. Y por supuesto, puede usarse con el “Else”:
If condición then
Sentencia_v1
Sentencia_v2
Sentencia_v3
….
Else
Sentencia_f1
Sentencia_f2
Sentencia_f3
….
End If
Pero lo más interesante es que pueden “anidarse” sentencias condicionales, unas dentro de otras. Eso permite la toma de decisiones realmente complejas. Y si somos ordenados (comentando e indentando el código a conciencia), el programa seguirá siendo legible a pesar de la longitud que pueda tener.
Veamos un ejemplo. Supongamos que tenemos una variable, llamada “sujeto_sexo”, cuyo valor puede ser “H” o “M” (por “Hombre”o “Mujer”), y otra llamada “sujeto_edad” que contiene (¡como no!) la edad del sujeto. El siguiente código:
If sujeto_sexo = “H” then ‘Si el sujeto es HOMBRE
If sujeto_edad > 18 then ‘Y tiene más de 18 años…
sujeto = “Varón mayor de edad”
Else ‘Si no….
Sujeto = “Varón menor de edad”
End If
Else ‘Si el sujeto es MUJER
If sujeto_edad > 18 then ‘Y tiene más de 18 años…
sujeto = “Mujer mayor de edad”
Else ‘Si no….
Sujeto = “Mujer menor de edad”
End If
End If
coloca en la variable “sujeto” una descripción de la persona basada en los datos conocidos. Puede verse en que forma se han “anidado” un If dentro de otro. La indentación del código permite identificar fácilmente cada parte del programa.
|
|
Los "if" pueden anidarse.
|

IIF, el "If...then" sin "then"

If…Then de una línea

Animales biónicos: Final feliz para Beauty

Aiptek PocketCinema V10: 55 pulgadas en tu bolsillo
Prohibida su copia total con o sin fines comerciales. Copias parciales deben citar la fuente.