Las sentencias de control permiten evaluar condiciones y en base al resultado tomar la decisión de seleccionar entre varias alternativas posibles el flujo correcto.
Se utiliza la sentencia If - Then
cuando se necesita tomar una decisión dada la evaluación de una expresión para elegir más de 1 alternativa posible.
La sentencia If - Then
se evalua cuando una condición es verdadera (True
) o falsa (False
).
Sintaxis:
If condición Then cláusula
El ejemplo anterior no requiere del uso de la sentencia End If
, si sólo a continuación existe una línea de código, si es más de una línea de código utilice:
If condición Then
[sentencias]
End If
La sentencia If - Then - Else
es un concepto elaborado de la sentencia If - Then
. Un bloque If - Then - Else
permite definir 2 bloques de código y sólo un bloque se ejecutará dependiendo el resultado de una condición.
Sintaxis:
If condición Then
[sentencias]
Else
[sentencias]
End If
La sentencia If - Then - ElseIf
permiten ejecutar 1 bloque de código de varios bloques posibles. Esta sentencia lógicamente es igual que la sentencia Select - Case
.
Sintaxis:
If condición1 Then
[sentencias]
ElseIf condición2 Then
[sentencias]
ElseIf condición3 Then
[sentencias]
Else
[sentencia por default] 'Si ninguna de las condiciones anteriores se cumple
End If
Se recomienda emplear la sentencia Select - Case
en vez de utilizar una sentencia If - Then
cuando esta tiene más de 2 condiciones a evaluar. La estructura de una sentencia Select - Case
es similar a la estructura de la sentencia If - Then - ElseIf
.
La sentencia Select - Case
permiten al programa seleccionar más de 2 alternativas, donde la evaluación de la expresión se realiza sólo una vez y es comparado contra los múltiples valores posibles para determinar cual bloque de código es ejecutado.
Sintaxis:
Select Case condicionAevaluar
[Case expresion1]
[sentencias]
[Case expresion2]
[sentencias]
[Case expresion3]
[sentencias]
[Case Else]
[sentenciasDefault]
End Select
La estructura Do - Loop
proporciona al programa la habilidad de ejecutar un bloque de código un número indeterminado de veces mientras se cumpla una condición.
Esta sentencia tiene 2 categorias:
- Donde la expresión es evaluada al final del ciclo, por lo que se asegura que el código se ejecuta al menos 1 vez.
La estructura
Do - Loop While
evalua la condición después de ejecutar el código y repetir su ejecución hasta que la evaluación de la condición seafalse
.Do
[sentencias]
Loop While [condición]
Ejemplo:
iCount = 0
Do
MsgBox iCount
iCount = iCount + 1
Loop While iCount < 0
La estructura
Do - Loop Until
evalua la condición después de ejecutar el código y repetir su ejecución hasta que la evaluación de la condición seaTrue
.Do
[sentencias]
Loop Until [condición]
Ejemplo:
iCount = 0
Do
MsgBox iCount
iCount = iCount + 1
Loop Until iCount > 0
- Donde la expresión es evaluada al principio del ciclo, sólo si se cumple la condición el código se ejecuta.
La estructura
Do While - Loop
evalua la condición antes de ejecutar el código. El código del bloque sólo es ejecutado si la evaluación de la condición esTrue
y repite la ejecución hasta que la expresión sea evaluada comoFalse
.Emplee esta sentencia en aquellos casos donde no se conoce de antemano cuantas veces debe ejecutarse el bloque de código y entonces la condición determina cuando debera de pararse la ejecución del bloque de código.
Do While condición
[sentencias]
Loop
Ejemplo:
iCount = 0
Do While iCount < 0
MsgBox iCount
iCount = iCount + 1
Loop
La estructura
Do Until - Loop
evalua la condición antes de ejecutar el código. El código del bloque sólo es ejecutado si la evaluación de la condición esFalse
y repite la ejecución hasta que la expresión sea evaluada comoTrue
.Do Until condición
[sentencias]
Loop
Ejemplo:
iCount = 0
Do Until iCount = 0
MsgBox iCount
iCount = iCount + 1
Loop
La sentencia For - Next
se emplea cuando se conoce anticipadamente cuantas veces deberá ejecutarse un bloque de código, esto es posible ya que se utiliza un contador que mantiene y controla el número de veces que se ejecuta el bloque.
Sintaxis:
For counter = valorInicial To valorFinal [incremento positivo|negativo]
[sentencias]
Next[Counter]
For Each
es similar a For - Next
a diferencia que repite un grupo de instrucciones por cada elemento de una colección de objetos, en vez de repetir las instrucciones un número especifico de veces.
Sintaxis:
For Each elemento In grupo
[sentencias]
Next
La sentencia Exit
permite salir de un ciclo, procedimiento, función, su sintaxis es simple, después de escribir la sentencia Exit
escriba el nombre de la sentencia de la cual desea salir, ejemplo:
Exit For
Exit Do
0 comentarios:
Publicar un comentario