Está en la página 1de 18

Estructuras de

Control en
Visual Basic 2010
Decisión y Repetición

Descripción breve
Las estructuras de control de un lenguaje de programación permiten seleccionar o decidir las
acciones a ejecutar según un valor o condición, así como, permiten repetir un conjunto de
instrucciones Mientras o Hasta que una condición se cumpla.

Prof. Lisbeth Pacheco


lpachecos@gmail.com
Octubre de 2016
ESTRUCTURAS DE CONTROL EN VISUAL BASIC 2010

Contenido

Estructuras de Control ..................................................................................... 1


Estructura Secuencial ...................................................................................... 1
Estructuras Selectivas o de Decisión ............................................................... 2
Estructura Selectiva If ...................................................................................... 2
Estructura Selectiva Select Case ........................................................................ 3
Otras Formas de escribir el IF en Visual Basic ...................................................... 4
Decisión simple en una línea .......................................................................... 4
Decisión doble en una línea ............................................................................ 5
If anidados ................................................................................................... 6
If – ElseIf ..................................................................................................... 8
Estructuras Iterativas ...................................................................................... 9
Estructuras iterativas condicionales .................................................................... 9
Con condición al inicio (Mientras) .................................................................... 9
Con condición al final (Repetir) ..................................................................... 10
Estructura iterativa de repetición automática (FOR) ........................................... 12
Otras Formas de la Estructura Cíclica Do...Loop ................................................. 14
Do Until Condición, moviendo la condición al principio ..................................... 14
Do-Loop While Condición, moviendo la Condición al final ................................. 14
Ciclo Infinito ................................................................................................. 15
Referencias ...................................................................................................... 16
ESTRUCTURAS DE CONTROL EN VISUAL BASIC 2010

Estructuras de Control

Las estructuras de control son las que le indican a la computadora la siguiente acción o
instrucción a ejecutar por ella, su finalidad es:

Estructura Secuencial
Cuando se tiene una estructura secuencial las instrucciones se efectúan una detrás de
otras.

MATERIAL DE COMPUTACIÓN I. Desarrollado por Prof. Lisbeth Pacheco 1


ESTRUCTURAS DE CONTROL EN VISUAL BASIC 2010

Estructuras Selectivas o de Decisión

Las estructuras de selección o decisión permiten ejecutar un bloque de código o


instrucciones entre varios disponibles, de acuerdo al resultado de la evaluación de una
expresión de resultado lógico, verdadero o falso, denominada condición o pregunta.

tras evaluar la condición o pregunta

Estructura Selectiva If
Permite a la computadora la toma de decisión respecto a la
instrucción a ejecutar en un programa entre dos alternativas
basándose en el resultado (Verdadero (true) o Falso (false))
de una expresión de resultado lógico, llamada condición.

Sintaxis
If Condición then
Instrucciones si
Else
Instrucciones sino
EndIF

Funcionamiento: La sentencia If evalúa la condición, si el


resultado es true (verdadero) el programa ejecuta las
instrucciones o sentencias que se encuentren indicadas en el
then (Instrucciones Si), en caso contrario, resultado false, se
ejecutan las instrucciones o sentencias ubicadas en el else
(Instrucciones sino).

Importante

Condición es una expresión de resultado lógico

El else puede omitirse en el caso de que no se desee se efectúen acciones o instrucciones cuando al
evaluar la condición de cómo resultado false, en cuyo caso se dice es una selectiva simple.

MATERIAL DE COMPUTACIÓN I. Desarrollado por Prof. Lisbeth Pacheco 2


ESTRUCTURAS DE CONTROL EN VISUAL BASIC 2010

EJEMPLO DE DESICIÓN SIMPLE

Module Module1
Sub Main()
'Declaración de Variables
Dim Edad As Integer
'lectura de los datos
Console.Write("Introduzca su edad:")
Edad = Console.ReadLine
'Decisión doble
If Edad >= 18 Then
Console.WriteLine(" Es ud. Mayor de Edad ")
End If
End Sub
End Module

EJEMPLO DE DESICIÓN DOBLE

Module Module1
Sub Main()
'Declaración de Variables
Dim Edad As Integer
'lectura de los datos
Console.Write("Introduzca su edad:")
Edad = Console.ReadLine
'Decisión doble
If Edad >= 18 Then
Console.WriteLine(" Es ud. Mayor de Edad ")
Else
Console.WriteLine(" Es ud. Menor de Edad ")
End If
End Sub
End Module

Estructura Selectiva Select Case


Se trata de una evolución en la estructura If...End If para
múltiples decisiones u opciones para una misma variable o
resultado de una expresión, y su trabajo consiste en evaluar la
expresión y comparar el resultado con la lista de valores de
cada uno de los casos u opciones proporcionadas. Se
emplea cuando existen más de dos elecciones posibles
de una misma variable o expresión. Cada elección
posible se denomina Case.

Sintaxis
Select Case Variable y/o expresión
Case valor1 / lista1
Instrucción(es)
Case valor2 / lista2
Instrucción(es)

Case Else
Instrucción(es)
End Select

MATERIAL DE COMPUTACIÓN I. Desarrollado por Prof. Lisbeth Pacheco 3


ESTRUCTURAS DE CONTROL EN VISUAL BASIC 2010

Importante

Tras evaluar la expresión, si se encuentra una coincidencia con alguna de las opciones, Case, se ejecuta el bloque de
código situado entre dicho Case y el siguiente. En caso de que no haya ninguna coincidencia, podemos
opcionalmente, ejecutar un bloque por defecto, utilizando la opción Case Else. Finalizada esta estructura, la ejecución
continuará a partir de la línea situada después de End Select
El Case else puede omitirse en el caso de que no se desee se efectúen acciones o instrucciones cuando al evaluar la
expresión el valor resultante no se encuentre en ninguna de las posibilidades planteadas.

La lista de valores asociada a cada posibilidad o Case en esta estructura estará separada
por comas y podrá tener alguno de los siguientes formatos:
• Valor, una constante o lista de constantes, si son varios se separan con coma

• ValorMenor To ValorMayor, un rango de valores con ambos límites conocidos

• Is OperadorComparación Valor, un rango de valores con un solo límite conocido

EJEMPLO DE DESICIÓN MÚLTIPLE

Select Case Valor


Case 5 'Si Valor es 5
Console.WriteLine("El valor es 5")
Case 120, 250 'Si Valor es 5 o 250
Console.WriteLine("El valor es 120 ó 250")
Case 3000 To 4000 'Si Valor está entre 3000 y 4000
Console.WriteLine("El valor está en el rango de 3000 a 4000")
Case Is < 10 'Si Valor es menor que 10
Console.WriteLine("El valor es menor de 10")
Case Else 'Si Valor no coincide con ninguna de las opciones >4000
Console.WriteLine("El valor es {0}, y no se cumple ningún caso", Valor)
End Select

Importante

En el ejemplo, cuando la variable Valor contiene 5, se cumplen dos casos. Sin embargo sólo se ejecuta el código del
primer Case, esto es imprimirá o mostrará el mensaje "El valor es 5"
EL SELECT CASE ES UN CASO ESPECIAL DEL IF, PUDIENDO ESCRIBIRSE TODAS LAS
DECISIONES DE UN PROGRAMA USANDO SOLO LA ESTRUCTURA SELECTIVA IF

Otras Formas de escribir el IF en Visual Basic


Decisión simple en una línea
En el caso de que sólo haya que ejecutar una instrucción sencilla cuando se cumple la
expresión de la estructura, podemos omitir el End If, escribiendo la sentencia a ejecutar en
la misma línea de la declaración de la estructura If, justo a continuación de la palabra
Then. La sintaxis en este caso, se simplifica, como se muestra a continuación

Sintaxis

If Expresión Then Instrucción

MATERIAL DE COMPUTACIÓN I. Desarrollado por Prof. Lisbeth Pacheco 4


ESTRUCTURAS DE CONTROL EN VISUAL BASIC 2010

EJEMPLO DE DESICIÓN SIMPLE EN UNA SOLA LÍNEA

Module Module1
Sub Main()
'Declaración de Variables
Dim Edad As Integer
'lectura de los datos
Console.Write("Introduzca su edad:")
Edad = Console.ReadLine
'Decisión doble
If Edad >= 18 Then Console.WriteLine(" Es ud. Mayor de Edad ")
End Sub
End Module

Decisión doble en una línea


Al igual que ocurre con la decisión simple, si para cada resultado de la expresión, sólo
necesitamos ejecutar una instrucción, podemos escribir todo el código en una sola línea.

Sintaxis

If Expresión Then InstrucciónVerdadero Else InstrucciónFalso

EJEMPLO DE DESICIÓN DOBLE EN UNA SOLA LÍNEA

Module Module1
Sub Main()
Dim Valor As Integer
Dim Resultado As String
Console.WriteLine("Introducir un número")
Valor = Console.ReadLine()
If Valor <=10 Then Resultado = "Aprobado" Else Resultado = "Reprobado"
Console.WriteLine("La variable resultado contiene {0}", Resultado)
Console.ReadLine()
End Sub
End Module

Importante

Si en la instrucción If es posible colocar varias acciones derivadas de un Then o de un Else en una sola línea, es
mejor utilizar esta opción de sintaxis en una sola línea exclusivamente para casos sencillos como puede ser una
instrucción en caso de que se cumpla la condición y otra en caso de que no se cumpla. Si intervienen varias
instrucciones, siempre resultará más legible usar el formato de sintaxis original.

MATERIAL DE COMPUTACIÓN I. Desarrollado por Prof. Lisbeth Pacheco 5


ESTRUCTURAS DE CONTROL EN VISUAL BASIC 2010

If anidados
La instrucción If se puede usar una dentro de otra, lo que produce los llamados If
anidados, ocurre cuando se tienen varios casos o procesos donde sus condiciones son
excluyentes entre sí. Hay que tener en cuenta que cada If, finalice con su correspondiente
End If. A continuación algunas representaciones o posibilidades de if anidados en
diagrama de flujo

EJEMPLO DE CÓDIGO

Problema: Dado un Valor C, escriba “se encuentra en el rango”, si el valor esta entre 5 y 15,
usando if anidados

En Visual Basic:
If c >= 5 Then
If c <= 15 Then
Console.WriteLine("Se encuentra en el rango")
Else
Console.WriteLine("Fuera del rango")
End If
Else
Console.WriteLine("Fuera del rango")
End If

MATERIAL DE COMPUTACIÓN I. Desarrollado por Prof. Lisbeth Pacheco 6


ESTRUCTURAS DE CONTROL EN VISUAL BASIC 2010

Otro Ejemplo

Problema: Dada la el valor numérico con que una persona indica el agrado por un determinado
producto, un valor entre 0 y 100, determine la calificación del producto en base a la siguiente tabla y
empleando if anidados.

Rango Calificación
0-20 Muy Malo
21-40 Deficiente
41-60 Regular
61-80 Bueno
81-100 Muy Bueno
Para plantear la solución empezamos con una decisión considerando el límite superior del rango, si es
menor o igual a ese valor está en esa calificación sino en alguna de las otras, así vamos descartando
una a una las posibilidades, quedando en diagrama de flujo algo como lo siguiente:

En Visual Basic:
If C <= 20 Then
R = "Muy Malo"
Else
If C <= 40 Then
R = "Deficiente"
Else
If C <= 60 Then
R = "Regular"
Else
If C <= 80 Then
R = "Bueno"
Else
If C <= 100 Then
R = "Muy Bueno"
End If
End If
End If
End If
End If

Importante

Observe que cada If, finaliza con su End If. En la última opción pudo omitirse colocar la decisión de si C<=100. En
este caso resultaría más legible usar un Select Case. El Visual Basic permite usar una forma abreviada o contraída
cuando se tiene un else e inmediatamente un if, ElseIf, la cual veremos a continuación

MATERIAL DE COMPUTACIÓN I. Desarrollado por Prof. Lisbeth Pacheco 7


ESTRUCTURAS DE CONTROL EN VISUAL BASIC 2010

If – ElseIf
La instrucción If–ElseIf, permite evaluar otra condición
cuando la primera ha fallado, sin necesidad de escribir
otro If. La ventaja que presenta aparte de minimizar las
líneas de código y hacerlo más legible, es que sólo se
colocará el End If de la primera instrucción If abierta.

Sintaxis
If Condición then
Instrucciones si se cumple condición1
ElseIf Condición2 then
Instrucciones si no se cumple condición1 pero se cumple condición 2
Else
Instrucciones si no se cumple condición1 ni se cumple condición 2
EndIF

Ejemplo anterior Usando If-ElseIf

Problema: Dada la el valor numérico con que una persona indica el agrado por un determinado producto, un valor entre 0 y
100, determine la calificación del producto en base a la siguiente tabla y empleando if anidados.
Rango Calificación
0-20 Muy Malo
21-40 Deficiente
41-60 Regular
61-80 Bueno
81-100 Muy Bueno
Para plantear la solución empezamos con una decisión considerando el límite superior del rango, si es menor o igual a ese
valor está en esa calificación sino en alguna de las otras, así vamos descartando una a una las posibilidades, quedando en
diagrama de flujo algo como lo siguiente:
En Visual Basic:
Forma 1 Forma 2
If C <= 20 Then If C <= 20 Then
R = "Muy Malo" R = "Muy Malo"
ElseIf C <= 40 Then ElseIf C <= 40 Then
R = "Deficiente" R = "Deficiente"
ElseIf C <= 60 Then ElseIf C <= 60 Then
R = "Regular" R = "Regular"
ElseIf C <= 80 Then ElseIf C <= 80 Then
R = "Bueno" R = "Bueno"
ElseIf C <= 100 Then Else
R = "Muy Bueno" R = "Muy Bueno"
End If End If

Importante
Observe que sólo el último If, finaliza con su End If. En la última opción pudo omitirse colocar la decisión de si
C<=100, en cuyo caso se colocaría Else, observe la Forma 2, en ese caso la asignación R = "Muy Bueno"
ocurrirá cuando no se cumpla ninguna de las opciones anteriores.

MATERIAL DE COMPUTACIÓN I. Desarrollado por Prof. Lisbeth Pacheco 8


ESTRUCTURAS DE CONTROL EN VISUAL BASIC 2010

Estructuras Iterativas
Una estructura iterativa o de repetición llamada ciclo o bucle,
hace posible la ejecución repetida de secciones específicas de
código. Al conjunto de instrucciones contenidas dentro de una
instrucción iterativa se le conoce como cuerpo del ciclo o
bucle, a cada una de las ocasiones en que se ejecuta el
cuerpo del ciclo o bucle se le denomina iteración.
Dependiendo de la forma de funcionamiento se clasifican en:

1. Condicionales (Se repite un número no predeterminado de veces)


2. De repetición automática (Se repite un número predeterminado de veces)

Estructuras iterativas condicionales


En este tipo de acción se requiere de una condición que determine cuando terminan las
iteraciones o repeticiones de la acción o conjunto de acciones. Dependiendo de si esa
condición se evalúa al principio o al final de la acción se pueden definir dos
construcciones iterativas distintas:

 Con Condición al inicio


 Con Condición al final

Con condición al inicio (Mientras)


En este caso la condición se coloca primero en la
definición de la instrucción iterativa y se evalúa antes
de ejecutar la instrucción o conjunto de instrucciones.
En español se puede decir:

Mientras Condición Hacer


Instrucciones (cuerpo del ciclo)
FinMientras

Sintaxis

While condición
Instrucción(es)
End While

Sólo si al evaluar la Condición (expresión de resultado


lógico) el resultado es True, se ejecutan las
Importante
Instrucciones (cuerpo del ciclo). Al terminar de Es importante hacer notar que si al evaluarse la
ejecutarse las Instrucciones, se vuelve a evaluar la Condición la primera vez el resultado es False,
Condición; si la Condición nuevamente es True, se no se ejecutan las Instrucciones (cuerpo del
repite la ejecución de las Instrucciones; si la ciclo) e inmediatamente pasa la ejecución a la
Condición es False, la acción iterativa termina y pasa siguiente acción luego del End While
la ejecución de la siguiente instrucción en la
secuencia del programa.

MATERIAL DE COMPUTACIÓN I. Desarrollado por Prof. Lisbeth Pacheco 9


ESTRUCTURAS DE CONTROL EN VISUAL BASIC 2010

Otra forma de escribirlo

Do While condición
Instrucción(es)
Loop

El ciclo Do_while¸ es equivalente al While por lo que el funcionamiento es el mismo, repite


una instrucción o grupo de instrucciones mientras la expresión es cierta. Se detiene
cuando la expresión es falsa. El ciclo Do_while siempre se ejecuta al menos una vez, dado
que la expresión controladora del ciclo o condición se evalúa nuevamente después de
finalizar cada iteración.

Importante

La variable que representa la condición del ciclo se denomina también variable de control del bucle o ciclo debido a
que su valor determina si el cuerpo del ciclo se ejecuta nuevamente o no.
La variable de control del ciclo debe ser: 1) inicializada, 2) comprobada, y 3) actualizada, esto último significa que
dentro del grupo de las instrucciones del ciclo debe haber por lo menos una instrucción que modifique el resultado de la
expresión lógica de lo contrario, nunca se terminará la repetición de la ejecución de las instrucciones y será un proceso
infinito
Si la variable de control no se actualiza el ciclo se ejecutara siempre, este se denominará ciclo infinito, en otras
palabras el ciclo infinito será aquel en el cual su condición ciclo nunca sea cumple, en este caso nunca es falsa

Con condición al final (Repetir)


En este caso la condición se coloca al final de la definición de
la instrucción iterativa y se evalúa después de ejecutar las
instrucciones o cuerpo del ciclo.

Repita Sintaxis
Acción
Hasta Condición Do
Instrucción(es)
Loop Until condición

Al comenzar la ejecución de esta estructura iterativa, se ejecutarán las Instrucciones


primero; luego se evalúa la Condición (expresión lógica) y sólo si la condición da como
resultado False, se repite la ejecución de las Instrucciones; si la Condición da como
resultado True la instrucción iterativa termina y pasa la ejecución de la Instrucción
posterior al Loop Until Condición.

Importante

Es importante hacer notar que si la Condición (expresión lógica) da como resultado True la primera vez, sin importar
este hecho, previo se ejecutaron las Instrucciones contenidas dentro del ciclo y luego al evaluar la condición
inmediatamente pasa la ejecución de la las instrucción siguiente al Loop Until Condición. En este caso, las
Instrucciones dentro del ciclo se ejecutan, al menos, una vez. Se puede usar esta estructura cuando el ciclo o
proceso se tenga que ejecutar como mínimo una vez.

MATERIAL DE COMPUTACIÓN I. Desarrollado por Prof. Lisbeth Pacheco 10


ESTRUCTURAS DE CONTROL EN VISUAL BASIC 2010

Reflexión
Analice el funcionamiento de las instrucciones iterativas condicionales utilizando el cuadro
comparativo que se presenta a continuación y concluya cuales son las principales
diferencias entre ellas, lo que le permitirá reconocer cual debe utilizar en la resolución de
un problema.
Cuadro comparativo del funcionamiento de las instrucciones Mientras y Repetir
(Fuente: Prof. Manuel Fernández(2007))
Estructura
Iterativa Mientras Repetir
Característica
La condición (expresión Antes de ejecutar el ciclo Después de ejecutar el ciclo
lógica) se evalúa
Si la condición (expresión Ejecuta el ciclo y regresa a Ejecuta el ciclo y al evaluar
lógica) da como resultado evaluar la condición la condición pasa la
true ejecución a la instrucción
siguiente al fin del ciclo
Si la condición (expresión Termina la instrucción y pasa la Ejecuta el ciclo y luego
lógica) da como resultado ejecución a la instrucción vuelve a evaluar la
false siguiente al fin del ciclo condición
Si la primera vez que se Ejecuta el ciclo y regresa a Primero ejecuta el ciclo,
evalúa la condición evaluar la condición luego de evaluar la
(expresión lógica) da como condición pasa la
resultado true ejecución a la instrucción
siguiente al fin del ciclo
Si la primera vez que se Termina la instrucción sin Primero ejecuta el ciclo,
evalúa la condición ejecutar ni una sola vez el ciclo luego después de evaluar la
(expresión lógica) da como y pasa la ejecución a la condición, repite el ciclo y
resultado false instrucción siguiente al fin del vuelve a evaluar la
ciclo condición
Ejemplo de Estructuras Iterativas

Module Module1
Sub Main()
'Programa tonto que debe permitir al usuario escribir un número hasta acertar que es el 20
Dim Valor As Integer
Console.Writeline ("Probando el While – End While")
Console.Writeline ("Adivine el número entre 0 y 20")
Valor = 10
Do While Valor <> 20
Console.WriteLine("Introducir un número")
Valor = Console.ReadLine()
Loop
Console.Writeline ("Probando el Repeat - Until")
Console.Writeline ("Adivine otro número entre 0 y 20")
Do
Console.WriteLine("Introducir un número")
Valor = Console.ReadLine()
Loop Until Valor = 20
End Sub
End Module

MATERIAL DE COMPUTACIÓN I. Desarrollado por Prof. Lisbeth Pacheco 11


ESTRUCTURAS DE CONTROL EN VISUAL BASIC 2010

Estructura iterativa de repetición automática (FOR)


La principal diferencia de una instrucción PARA con
respecto a los bucles Do While y Do – Loop Until, es que
puede determinarse antes de ejecutarse el ciclo cuántas
veces se ejecutará el mismo. Se puede decir, entonces,
que la instrucción FOR permite ejecutar repetidamente un
conjunto de instrucciones un número determinado de
veces, con la particularidad de que la variable de control
se incrementa o decrementa en cada iteración en función
de una constante o paso llamado Inc.
Su sintaxis en lenguaje algorítmico es:
para variabledecontrol <- valorinicial hasta valorfinal paso Inc hacer
instrucciones a repetir (Cuerpo del Ciclo o Bucle)
finpara
Sintaxis
For variabledecontrol= valorinicial to valorfinal Step Inc
Instrucción(es)
Next
La variable de control debe ser numérica (entera o real), al igual que las expresiones
correspondientes a valorinicial, valorfinal e Inc. La variable de control se incrementa (o
decrementa) de acuerdo a lo indicado en Inc, al terminar de ejecutar el ciclo y antes de
comparar con el resultado de la variable de control con el valor final. Su funcionamiento
es de la siguiente manera:

1. Al comenzar la ejecución de la instrucción, la variable de control se inicia con el


resultado la expresión numérica que representa el valor inicial
2. Se evalúa si el contenido de la variable de control es menor o igual al resultado la
expresión numérica que representa el valor final. Si es así, se ejecuta el ciclo; luego
se incrementa el contenido de la variable en el valor indicado en Inc antes de
volver de comparar el contenido de dicha variable con el resultado de numérica
que representa el valor final.
3. Si al evaluar el contenido de la variable de control, no resulta menor o igual que el
valor final si Inc es positivo o no resulta mayor o igual que el valor final si Inc es
negativo, se omite la ejecución del ciclo y se pasa la ejecución a la instrucción
posterior al final del ciclo

Ejemplo de Estructuras For con paso

Module Module1
Sub Main()
'Programa tonto que escribe los números entre 1 y el valor indicado por el usuario
Dim Valor As Integer
Console.Write("Introducir un número entero positivo:")
Valor = Console.ReadLine()
For i= 1 to Valor Step 2
Console.WriteLine("I=" & i)
Next
Console.ReadKey()
End Sub
End Module

MATERIAL DE COMPUTACIÓN I. Desarrollado por Prof. Lisbeth Pacheco 12


ESTRUCTURAS DE CONTROL EN VISUAL BASIC 2010

Ejemplo de Estructuras For omitiendo paso

Module Module1
Sub Main()
'Programa tonto que escribe los números entre 1 y el valor indicado por el usuario
Dim Valor As Integer
Console.Write("Introducir un número entero positivo:")
Valor = Console.ReadLine()
For i= 1 to Valor
Console.WriteLine("I=" & i)
Next
Console.ReadKey()
End Sub
End Module

Importante

Para que se pueda ejecutar al menos una vez el ciclo, es necesario que el resultado la expresión numérica que
representa el valor inicial sea menor o igual al resultado la expresión numérica que representa el valor final, sì Inc
es >0 y que el resultado la expresión numérica que representa el valor inicial sea mayor o igual al resultado la
expresión numérica que representa el valor final, sì Inc es <0

Step Inc , es opcional, lo cual significa que puede omitirse en cuyo caso asume que Inc=1
Es de hacer resaltar que la expresión correspondiente a valorfinal se evalúa en cada iteración, en el caso de que Inc
sea es >0, sí el valor de la variable de control es mayor que valor final finaliza el ciclo. Por el contrario en el caso de
Inc sea es <0, sí el valor de la variable de control es menor que valor final finaliza el ciclo
Inc, NO puede ser cero (0) se ya que se transformaría en un ciclo infinito

Estructura Iterativa Visual Basic 2010


While condición DO While condición
Con condición al inicio Instrucción(es) Instrucción(es)
End While Loop
Do
Con condición al final Instrucción(es)
Loop Until condición
‘incremento por omisión uno (1)
For Variable =Vi hasta Vf
Instrucción(es)
Next
Repetición Automática
‘incremento variable inc
For Variable = Vi to Vf step Inc
Instrucción(es)
Next

MATERIAL DE COMPUTACIÓN I. Desarrollado por Prof. Lisbeth Pacheco 13


ESTRUCTURAS DE CONTROL EN VISUAL BASIC 2010

Otras Formas de la Estructura Cíclica Do...Loop


Como ya vimos esta estructura ejecuta un conjunto de líneas de código,
en función del valor devuelto por una expresión de resultado lógico, que a
modo de condición, podemos situar al comienzo o final de la estructura. Es
posible además, no utilizar la instrucción de acuerdo a lo previamente
establecido, cambiando al principio o al final la condición.

Do Until Condición, moviendo la condición al principio


La diferencia entre usar While o Until reside en que empleando
While, el código del bucle se ejecutará mientras la expresión Sintaxis
devuelva True. En el caso de Until, el código se ejecutará
mientras que la expresión devuelva False, colocarla condición Do Until condición
al inicio lo que cambia es que evaluará la condición antes de Instrucción(es)
ejecutar las instrucciones o cuerpo del ciclo la primera vez, Loop
con lo que de la condición al evaluarla devuelva como
resultado True la primera vez, NO se ejecutará el cuerpo de
ciclo.
Ejemplo de Estructuras Iterativas con condición cambiada al inicio

Module Module1
Sub Main()
'Programa tonto que debe permitir al usuario escribir un número hasta acertar que es el 20
Dim Valor As Integer
Console.Writeline ("Probando el While – End While")
Console.Writeline ("Adivine el número entre 0 y 20")
Valor = 10
Do While Valor <> 20
Console.WriteLine("Introducir un número")
Valor = Console.ReadLine()
Loop
Console.Writeline ("Probando el Repeat - Until")
Console.Writeline ("Adivine otro número entre 0 y 20")
Do Until Valor = 20
Console.WriteLine("Introducir un número")
Valor = Console.ReadLine()
Loop
End Sub
End Module

Do-Loop While Condición, moviendo la Condición al final


Sintaxis
La diferencia en este caso, consiste en que las instrucciones
del ciclo se ejecutarán al menos una vez.
Do
Instrucción(es)
Loop While condición

MATERIAL DE COMPUTACIÓN I. Desarrollado por Prof. Lisbeth Pacheco 14


ESTRUCTURAS DE CONTROL EN VISUAL BASIC 2010

Ejemplo de Estructuras Iterativas con condición cambiada al final

Module Module1
Sub Main()
'Programa tonto que debe permitir al usuario escribir un número hasta acertar que es el 20
Dim Valor As Integer
Console.Writeline ("Probando el While – End While")
Console.Writeline ("Adivine el número entre 0 y 20")
Valor = 10
Do
Console.WriteLine("Introducir un número")
Valor = Console.ReadLine()
Loop While Valor <> 20
Console.Writeline ("Probando el Repeat - Until")
Console.Writeline ("Adivine otro número entre 0 y 20")
Do
Console.WriteLine("Introducir un número")
Valor = Console.ReadLine()
Loop Until Valor = 20
End Sub
End Module

Ciclo Infinito
Un ciclo infinito ocurre cuando NUNCA se
detiene. Esto ocurre en una estructura repetitiva
tipo:
 mientras cuando la condición siempre
se cumple y por lo tanto no sale del
ciclo,
 repetir cuando la condición nunca se
cumple y por lo tanto no sale del ciclo

Por ejemplo:
En el segmento de código que se muestra a la
izquierda se puede observar que la variable i es
inicializada en 1. Como el valor es mayor que 0
entra en el ciclo mientras. Dentro del ciclo la
única instrucción es el incremento en 1 de la
variable i. Como i tenía un valor mayor que 0
inicialmente, y solo se incrementa en 1, siempre
tendrá un valor mayor que 0, por lo que la
condición siempre se cumple y no hay forma
que i sea igual o menor que 0. De todo lo
anterior se concluye entonces que el ciclo
mostrado es un ciclo infinito.

MATERIAL DE COMPUTACIÓN I. Desarrollado por Prof. Lisbeth Pacheco 15


ESTRUCTURAS DE CONTROL EN VISUAL BASIC 2010

Referencias
Blanco, Luis Miguel (2002). Fundamentos de Programación en Visual Basic.Net.
Grupo Eidos.
Buyens, Jim (2003). Introducción a la Programación, Mc. Graw Hill.
Fernandez. Manuel (2007) Material de apoyo a clases
Petroutsos, Evangelos (2008). La Biblia de Visual Basic 2008. Anaya Multimedia

MATERIAL DE COMPUTACIÓN I. Desarrollado por Prof. Lisbeth Pacheco 16