0% encontró este documento útil (0 votos)
277 vistas25 páginas

Estructuras de Control en Visual Basic 1

Este documento presenta un resumen de las estructuras de control en Visual Basic. Existen dos tipos principales: estructuras de decisión como If/Then, If/Then/Else y Select Case; y estructuras de repetición como Do/Loop, For/Next, For Each/Next y While/Wend. Las estructuras de decisión controlan el flujo de ejecución basado en condiciones, mientras que las estructuras de repetición permiten ejecutar código de forma repetitiva. El documento explica los usos y características de cada una de estas estructuras de

Cargado por

SaryRobles
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
277 vistas25 páginas

Estructuras de Control en Visual Basic 1

Este documento presenta un resumen de las estructuras de control en Visual Basic. Existen dos tipos principales: estructuras de decisión como If/Then, If/Then/Else y Select Case; y estructuras de repetición como Do/Loop, For/Next, For Each/Next y While/Wend. Las estructuras de decisión controlan el flujo de ejecución basado en condiciones, mientras que las estructuras de repetición permiten ejecutar código de forma repetitiva. El documento explica los usos y características de cada una de estas estructuras de

Cargado por

SaryRobles
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 25

UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE INGENIERÍA, CIENCIAS, FÍSICAS Y MATEMÁTICA


CARRERA DE INGENIERIA CIVIL
PROGRAMACION 1

ASIGNATURA: Programación 1
SEMESTRE – PARALELO: 1ero - 2do
PROFESOR: Ing. José Ramiro Pilaluisa Q.
M.Sc.
PERÍODO ACADÉMICO: Marzo 2017 – Agosto 2017

INFORME DE INVESTIGACIÓN

TÍTULO: ESTRUCTURAS DE CONTROL EN VB

FECHA DE ENTREGA: Miércoles, 07 de abril de 2017

MIEMBROS DEL GRUPO - G1


 ÀLVAREZ MACÌAS KEVIN HÈCTOR 100%

 ASIMBAYA CANDO MICHELLE ALEXANDRA 100%

 OÑA VELOZ MISHEL CRISTINA 100%

 REYES CERÒN KERLY ANAHÌ 100%

 ROBLES CARRILLO SARA RAQUEL 100%


Programación 1 Estructuras de control en VB

1 Resumen
Las estructuras de control son aquellas que permiten controlar el flujo de ejecución de un
programa o proyecto, existen dos tipos de estructuras de control y son: Estructuras de decisión y
de repetición o bucle. Cada una cuenta con sus características y cumple con instrucciones o
funciones diferentes.
Ya que las estructuras de decisiones pueden probar condiciones, dependiendo de los resultados,
realiza las distintas operaciones designadas, en las que incluye: If… Then, If…Then… Else y
Select Case.
Mientras que las estructuras de repetición, son aquellas que permiten ejecutar una o más líneas
de código repetidamente, entre ellas incluye: Do… Loop, For… Next, For Each… Next y
While… Wend, a su vez, Do… Loop, incluye: Do While… Loop, Do… Loop While, Do until…
Loop y Do… Loop until.

2 Introducción
El Manual de Visual Basic presenta Estructuras de control que se dividen en Estructura de
Decisión o Estructura de Bucle (Repetición) aplicadas con un único fin dar instrucciones en base
a una única condición o varias condiciones con varias instrucciones en un solo código, esto
dependerá de la Estructura que se quiera ejecutar. Para la Estructura de Decisión esta, se
encuentra dividida en If…Then (Si… Entonces), If …Then…Else(Si… Entonces…Mas) - su
caso especial ElseIf…Then y Else Case (Seleccione…Caso), la función principal que cumplen
las instrucciones de decisión es dar una instrucción por medio de una condición, dependiendo del
caso que se utilice se tendrá distintas características que los diferencian el uno del otro. Para la
estructura Bucles (estructura de Repeticion) existen varias estructuras a presentar como son:
Do…Loop, While…Loop (Ciclo While), Do Until…Loop (hacer hasta), Do…Loop While, Do
…Loop Until, las funciones generales de la Estructura de Bucles (Repetición) consiste en la
ejecución de un grupo de instrucciones de forma repetitiva estos pueden ser: Los que repiten
instrucciones hasta que esta sea True (Verdadera), repetición de instrucciones hasta que estas
sean Falce (Falso) y la repetición de instrucciones el número de veces que se haya especificado.
En la Estructura de Repetición también existe otro grupo estos son: For…Next, For Each…Next
y While… Wend, cuya función principal es ejecutar un grupo de instrucciones de forma
repetitiva de un intervalo a otro (se especifica el número de veces que se quiere repetir), estos
pueden ser director (no necesitan una condición) o Indirectos (necesitan una condición para
realizar la ejecución). A continuación, se dará a conocer con más profundidad cada una de las
estructuras ya mencionadas, con sus respectivas características.

3 Materiales y métodos
Visual Basic es uno de los lenguajes de programación más simples, ya que puede ser usado por
personas que tengan conocimientos básicos de programación y ofimática.
Debido a que utiliza el lenguaje de programación de otras aplicaciones conocidas, es un de los
más utilizados, a su vez ha ido evolucionando, ya que actualmente puede ejecutar varias
instrucciones y funciones.
Para crear la interfaz, basta con saber manejar Paint, para poder hacerlo, motivo por el cual, su
facilidad de uso es evidente.

Prof. Ing. José Ramiro Pilaluisa Q. M.Sc. Marzo 2017 – Agosto 2017 1
Programación 1 Estructuras de control en VB

4 Resultados
4.1 DECISIÓN:

4.1.1 If...Then
Se usa para ejecutar una o más instrucciones basadas en una condición. Puede usar la sintaxis de
una línea o un bloque de varias líneas.

If condición Then instrucción


If condición Then
instrucciones
End If

4.1.2 If...Then...Else
Utilice un bloque If...Then...Else para definir varios bloques de instrucciones, uno de los cuales
se ejecutará.

If condición1 Then
[bloque de instrucciones 1]
[ElseIf condición2 Then
[bloque de instrucciones 2]] ...
[Else
[bloque de instrucciones n]]

End If

4.1.3 Select Case


La estructura Select Case funciona con una única expresión de prueba que se evalúa una vez
solamente, al principio de la estructura.

End Select Select Case expresiónPrueba

[Case listaExpresiones1
[bloque de
instrucciones 1]]
[Case listaExpresiones2
[bloque de
instrucciones 2]]
.
.
.
[Case Else
[bloque de
instrucciones n]]

Prof. Ing. José Ramiro Pilaluisa Q. M.Sc. Marzo 2017 – Agosto 2017 2
Programación 1 Estructuras de control en VB

4.2 REPETICION O BUCLES

4.2.1 DO… LOOP


Las siguientes variantes repiten el bucle siempre y cuando condición sea True:

4.2.1.1 DO WHILE… LOOP


Cuando se ejecuta este bucle Do, primero se evalúa condición. Si condición es False (cero), se
salta todas las instrucciones. Si es True (distinto de cero), se ejecuta las instrucciones, vuelve a
la instrucción Do While y prueba la condición de nuevo.

Do While condición
instrucciones
Loop

4.2.1.2 DO… LOOP WHILE


Ejecuta las instrucciones primero y prueba condición después de cada ejecución. Esta variación
garantiza al menos una ejecución de instrucciones:

Do
instrucciones
Loop While condición

*Las siguientes variantes repiten el bucle siempre y cuando condición sea False:

4.2.1.3 DO UNTIL… LOOP


Si condición es False se ejecuta el grupo de sentencias y se sigue ejecutando hasta que condicion
sea True. La evaluación de la condición se realiza antes de ejecutar las sentencias, por tanto el
rango posible de veces que se ejecutan estas será de 0 a n, es decir, puede que el bucle no llegue
a ejecutarse nunca. Hace el bucle cero o más veces

Do Until condición
instrucciones
Loop

4.2.1.4 DO… LOOP UNTIL


Hace el bucle al menos una vez
Se ejecuta una vez el grupo de sentencias y luego se va evaluando condicion, repitiéndose la
ejecución de las sentencias mientras sea False, por tanto con esta forma el bucle al menos se
ejecuta una vez, es decir su rango será de 1 a n.

Do
instrucciones
Loop Until condición

Prof. Ing. José Ramiro Pilaluisa Q. M.Sc. Marzo 2017 – Agosto 2017 3
Programación 1 Estructuras de control en VB

4.2.2 For...Next
Repite un grupo de instrucciones un número especificado de veces.

For contador = iniciar To finalizar [Step incremento]


instrucciones
Next [contador]

4.2.3 For Each...Next


Repite un grupo de instrucciones para cada elemento de una matriz o colección..

For Each elemento In grupo


[instrucciones]
[Exit For]
[instrucciones]
Next [elemento]

4.2.4 While...Wend
Ejecuta una serie de instrucciones mientras una condición dada se evalúe como True.

While condición
[instrucciones]
Wend

5 Discusión
Las estructuras de control, están unidas a ciertas condiciones que facilitan a resolver problemas
muy complejos de manera sencilla, según (Vanesa Borjas, 2013) 1 “Las estructuras de control se
utilizan para controlar el flujo del programa en una rutina o función” a lo que podemos
agregarle que obviamente estas instrucciones son secuenciales, por lo que van a seguir un orden,
por ejemplo cuando no se culpe la primera condición pasa directamente a la segunda así
sucesivamente hasta que se cumpla o se dé fin a este. (Borjas, 2013) presenta que” estas
estructuras permiten controlar, mediante una condición, la ejecución o no de una línea o
conjunto de líneas de código” es decir estas estructuras de control nos simplifica la escritura del
código y la depuración de fórmulas complejas.

6 Conclusiones
Con frecuencia se presentan tareas lo suficientemente complejas como para utilizar algoritmos
que tenga un esquema tan sencillo y en llamado a esta dificultad se emplea las estructuras de
control.
1
Borjas, Vanesa. 2013. slideshare. Estructuras de control en Visual Basic. [En línea] 8 de Octubre de 2013. [Citado
el: 05 de Junio de 2017.] https://es.slideshare.net/carolina00/estructuras-de-control-en-isual-basic.

Prof. Ing. José Ramiro Pilaluisa Q. M.Sc. Marzo 2017 – Agosto 2017 4
Programación 1 Estructuras de control en VB

Las estructuras de control son de carácter esencial en un lenguaje de programación puesto que
sin ellas los programas se desarrollaría por completo en una manera secuencial, la finalidad
principal de estas estructuras son modificar este orden para que el planteamiento del algoritmo a
desarrollar transcurra de la manera más óptima teniendo en cuenta las características de cada
estructura o bucle que se emplee. Estas características son las que le dan una forma flexible a
algo algoritmo

7 Recomendaciones
Es fundamental conocer el lenguaje de programación, para poder ejecutar los bucles de manera
adecuada, ya que la sintaxis varía dependiendo de las funciones que se vayan a ejecutar, por
ende, se debe tener claras, las diferencias entre las estructuras de control.
Ya sea el caso de las estructuras de repetición o bucles (Do…Loop), en donde, su sintaxis, se
asemeja, pero las palabras cambian su posición, al igual que sucede con las condiciones e
instrucciones establecidas, por ello, se debe tomar en cuenta cada uno de estos detalles y saber
emplear el bucle adecuado para que el flujograma y el programa en Visual Basic se lleven a
cabo.

8 Referencias
I. Sánchez, Y. (2008): Estructuras de Control en Visual Basic: Recuperado de:
https://es.scribd.com/doc/8982653/Estructuras-de-Control-Visual-Basic
II. Durán, C. (2009): Estructura de iteración Do- Until-Loop: Recuperado de:
https://www.allexcel.com.ar/programacion%20VBA/Do-Until-Loop/Do-Until-Loop.php
III. López, K.(2011): Estructuras de control: Recuperado de:
https://vbasic.wikispaces.com/file/view/Ficha+3-5s.pdf
IV. Suarez, M. (2009): Estructura repetitiva Do While (condición)… Loop: Recuperado de:
https://vbasic.wikispaces.com/file/view/Ficha+3-5s.pdf
V. Rancel, M. (2012): Estructuras de repetición. Bucles o ciclos desde… siguiente (for…
next). Recuperado de: http://www.aprenderaprogramar.com/index.php?
option=com_content&view=article&id=359:estructuras-de-repeticion-bucles-o-ciclos-
desde-siguiente-for-next-anidamientos-cu00150a&catid=28&Itemid=59
VI. Apr. (2008): Bucles (ciclos) Visuak Basic: For Next Step, Do While Loop, Until.
Ejemplos y ejercicios resueltos: Recuperado de:
http://www.aprenderaprogramar.com/index.php?
option=com_content&view=article&id=263:bucles-ciclos-visual-basic-for-next-step-do-
while-loop-until-ejemplos-y-ejercicios-resueltos-cu00326a&catid=37&Itemid=61
VII. Mailxmail.com. (2009): Visual Basic 6. Curso de introducción: Recuperado de:
http://www.mailxmail.com/curso-visual-basic-6-introduccion/sentencia-do-until-loop

Prof. Ing. José Ramiro Pilaluisa Q. M.Sc. Marzo 2017 – Agosto 2017 5
Programación 1 Estructuras de control en VB

VIII. Flores, L. (2012): Estructura de control If Then en VB: Recuperado de:


http://www.mailxmail.com/curso-visual-basic-6-introduccion/sentencia-do-until-loop

9 ANEXOS
9.1 DECISIÓN

9.1.1 IF… THEN

Condición normalmente es una comparación, pero puede ser cualquier expresión que dé como
resultado un valor numérico. Visual Basic interpreta este valor como True o False; un valor
numérico cero es False y se considera True cualquier valor numérico distinto de cero. Si
condición es True, Visual Basic ejecuta todas las instrucciones que siguen a la palabra clave
Then. Puede usar la sintaxis de una línea o de varias líneas para ejecutar una instrucción basada
en una condición (estos dos ejemplos son equivalentes):

If cualquierFecha < Now Then cualquierFecha = Now

If cualquierFecha < Now Then


cualquierFecha = Now
End If

Observe que el formato de una única línea de If...Then no utiliza la instrucción End If. Si desea
ejecutar más de una línea de código cuando condición sea True, debe usar la sintaxis de bloque
de varias líneas If...Then...End If.

If cualquierFecha < Now Then


cualquierFecha = Now
Timer1.Enabled = False ' Desactiva el control Timer.
End If

9.1.2 IF… THEN… ELSE

Visual Basic evalúa primero condición1. Si es False, Visual Basic procede a evaluar condición2
y así sucesivamente, hasta que encuentre una condición True. Cuando encuentra una condición
True, Visual Basic ejecuta el bloque de instrucciones correspondientes y después ejecuta el
código que sigue a End If. Opcionalmente, puede incluir un bloque de instrucciones Else, que
Visual Basic ejecutará si ninguna de las condiciones es True.

If...Then...Else If es un caso especial de If...Then...Else. Observe que puede tener cualquier


número de cláusulas Else If o ninguna. Puede incluir una cláusula Else sin tener en cuenta si
tiene o no cláusulas Else If.

Prof. Ing. José Ramiro Pilaluisa Q. M.Sc. Marzo 2017 – Agosto 2017 6
Programación 1 Estructuras de control en VB

Por ejemplo, la aplicación podría realizar distintas acciones dependiendo del control en que se
haya hecho clic de una matriz de controles de menú:

Private Sub mnuCut_Click (Index As Integer)

If Index = 0 Then ' Comando Cortar.


CopyActiveControl ' Llama a procedimientos generales.
ClearActiveControl
ElseIf Index = 1 Then ' Comando Copiar.
CopyActiveControl
ElseIf Index = 2 Then ' Comando Borrar.
ClearActiveControl
Else ' Comando Pegar.
PasteActiveControl
End If

End Sub

Observe que siempre puede agregar más cláusulas ElseIf a la estructura If...Then. Sin embargo,
esta sintaxis puede resultar tediosa de escribir cuando cada ElseIf compara la misma expresión
con un valor distinto. Para estas situaciones, puede usar la estructura de decisión Select Case.

9.1.3 SELECT CASE


Visual Basic compara el resultado de esta expresión con los valores de cada Case de la
estructura. Si hay una coincidencia, ejecuta el bloque de instrucciones asociado a ese Case.
Cada listaExpresiones es una lista de uno o más valores. Si hay más de un valor en una lista, se
separan los valores con comas. Cada bloque de instrucciones contiene cero o más instrucciones.
Si más de un Case coincide con la expresión de prueba, sólo se ejecutará el bloque de
instrucciones asociado con la primera coincidencia. Visual Basic ejecuta las instrucciones de la
cláusula (opcional) Case Else si ningún valor de la lista de expresiones coincide con la expresión
de prueba.
Visual Basic proporciona la estructura Select Case como alternativa a If...Then...Else para
ejecutar selectivamente un bloque de instrucciones entre varios bloques de instrucciones. La
instrucción Select Case ofrece posibilidades similares a la instrucción If...Then...Else, pero hace
que el código sea más legible cuando hay varias opciones.

Por ejemplo, suponga que agrega otro comando al menú Edición en el ejemplo If...Then...Else.
Podría agregar otra cláusula ElseIf o podría escribir la función con Select Case:

Private Sub mnuCut_Click (Index As Integer)

Select Case Index


Case 0 ' Comando Cortar.
CopyActiveControl ' Llama a procedimientos generales.
ClearActiveControl
Case 1 ' Comando Copiar.
CopyActiveControl
Case 2 ' Comando Borrar.
ClearActiveControl

Prof. Ing. José Ramiro Pilaluisa Q. M.Sc. Marzo 2017 – Agosto 2017 7
Programación 1 Estructuras de control en VB

Case 3 ' Comando Pegar.


PasteActiveControl
Case Else
frmFind.Show ' Muestra el cuadro de diálogo Buscar.
End Select

End Sub

Observe que la estructura Select Case evalúa una expresión cada vez al principio de la
estructura. Por el contrario, la estructura If...Then...Else puede evaluar una expresión diferente
en cada instrucción ElseIf. Sólo puede sustituir una estructura If...Then...Else con una estructura
Select Case si la instrucción If y cada instrucción ElseIf evalúa la misma expresión.

9.2 REPETICION O BUCLES

9.2.1 DO… LOOP

9.2.1.1 Descripción
Repite un bloque de instrucciones mientras una condición es True o hasta que una condición es
True.

Utilice el bucle Do para ejecutar un bloque de instrucciones un número indefinido de veces. Hay
algunas variantes en la instrucción Do...Loop, pero cada una evalúa una condición numérica para
determinar si continúa la ejecución. Como ocurre con If...Then, la condición debe ser un valor o
una expresión que dé como resultado False (cero) o True (distinto de cero).

9.2.1.2 Partes de la sintaxis


Parte Descripción

condición Expresión numérica o expresión de cadena que es True o False. Si


condición es Null, condición se trata como False.

instrucciones Una o más instrucciones que se repiten mientras o hasta que


condición es True.

9.2.1.3 DO WHILE… LOOP

Por tanto, el bucle se puede ejecutar cualquier número de veces, siempre y cuando condición sea
distinta de cero o True. Nunca se ejecutan las instrucciones si condición es False inicialmente.
Por ejemplo, este procedimiento cuenta las veces que se repite una cadena de destino dentro de
otra cadena repitiendo el bucle tantas veces como se encuentre la cadena de destino:

Prof. Ing. José Ramiro Pilaluisa Q. M.Sc. Marzo 2017 – Agosto 2017 8
Programación 1 Estructuras de control en VB

Function ContarCadenas (cadenalarga, destino)


Dim posición, contador
posición = 1
Do While InStr(posición, cadenalarga, destino)
posición = InStr(posición, cadenalarga, destino) _
+ 1
contador = contador + 1
Loop
ContarCadenas = contador
End Function

Si la cadena de destino no está en la otra cadena, InStr devuelve 0 y no se ejecuta el bucle.

9.2.1.4 Comentario
Exit Do sólo se puede usar dentro de una estructura de control Do...Loop para proporcionar una
forma alternativa de salir de Do...Loop. Se puede colocar cualquier número de instrucciones
Exit Do en cualquier lugar dentro de un bucle Do...Loop. Frecuentemente usado con la
evaluación de alguna condición (por ejemplo, If...Then), Exit Do transfiere el control a la
instrucción que sigue a Loop.

Cuando se usa dentro de instrucciones Do...Loop anidadas, Exit Do transfiere el control al bucle
que está anidado a un nivel superior del bucle en el que se produjo.

Los siguientes ejemplos muestran el uso de la instrucción Do...Loop:

Do Until RespPred = vbNo


MiNum = Int (6 * Rnd + 1)
' Genera un entero aleatorio entre 1 y 6
RespPred = MsgBox (MiNum & " ¿Desea otro número?", vbYesNo)
Loop

Dim Comprobacion, Contador


Comprobacion = True: Contador = 0
' Inicia las variables.
Do
' Bucle externo.
Do While Contador < 20
' Bucle interno.
Contador = Contador + 1
' Incrementa Contador.
If Contador = 10 Then
' Si la condición es True...
Comprobacion = False
' establece el valor del indicador a False.
Exit Do
' Sale del bucle interno.

Prof. Ing. José Ramiro Pilaluisa Q. M.Sc. Marzo 2017 – Agosto 2017 9
Programación 1 Estructuras de control en VB

End If
Loop
Loop Until Comprobacion = False
' Sale del bucle externo.

Do [{While | Until} condición]


[instrucciones]
[Exit Do]
[instrucciones]
Loop

O puede usar la sintaxis:

Do
[instrucciones]
[Exit Do]
[instrucciones]
Loop [{While | Until} condición]
La sintaxis de la instrucción Do...Loop tiene las siguientes partes:

9.2.1.5 Uso de bucles para repetir codigo


Los bucles le permiten ejecutar un grupo de instrucciones de forma repetida. Algunos bucles
repiten instrucciones hasta que una condición es False; otros repiten instrucciones hasta que la
condición es True. También hay bucles que repiten instrucciones un número de veces específico.

9.2.1.6 Uso de bucles Do


Puede utilizar las instrucciones Do...Loop para ejecutar un bloque de instrucciones un número de
veces indefinido. Las instrucciones se repiten mientras una condición es True o hasta que una
condición pasa a ser True.

9.2.1.7 Repetición de instrucciones mientras una condición es True


Utilice la palabra clave While para comprobar una condición en una instrucción Do...Loop.
Puede comprobar la condición antes de entrar en el bucle (como se muestra en el ejemplo
CompPrimerWhile a continuación) o puede comprobarla después de que el bucle se haya
ejecutado al menos una vez (como se muestra en el ejemplo CompUltimoWhile). En el
procedimiento CompPrimerWhile, si miNum se establece a 9 en lugar de 20, las instrucciones
que hay dentro del bucle nunca se ejecutarían. En el procedimiento CompUltimoWhile, las
instrucciones que hay dentro del bucle sólo se ejecutan una vez porque la condición ya es False.
Sub CompPrimerWhile()
Dim contador, miNum
contador = 0

Prof. Ing. José Ramiro Pilaluisa Q. M.Sc. Marzo 2017 – Agosto 2017 10
Programación 1 Estructuras de control en VB

miNum = 20
Do While miNum > 10
miNum = miNum - 1
contador = contador + 1
Loop
MsgBox "El bucle realizó " & contador & " repeticiones."
End Sub

Sub CompUltimoWhile()
Dim contador, miNum
contador = 0
miNum = 9
Do
miNum = miNum - 1
contador = contador + 1
Loop While miNum > 10
MsgBox "El bucle realizó " & contador & " repeticiones."
End Sub

9.2.1.8 Repetición de una instrucción hasta que una condición pasa a ser True
Puede utilizar la palabra clave Until de dos formas para comprobar una condición en una
instrucción Do...Loop. Puede comprobar la condición antes de entrar en el bucle (como se
muestra en el ejemplo CompPrimerUntil) o puede comprobarla después de que el bucle se haya
ejecutado al menos una vez (como se muestra en el ejemplo CompUltimoUntil). Mientras la
condición es False se ejecuta el bucle.
Sub CompPrimerUntil()
Dim contador, miNum
contador = 0
miNum = 20
Do Until miNum = 10
miNum = miNum - 1
contador = contador + 1
Loop
MsgBox "El bucle realizó " & contador & " repeticiones."
End Sub

Sub CompUltimoUntil()
Dim contador, miNum
contador = 0
miNum = 1
Do
miNum = miNum + 1
contador = contador + 1
Loop Until miNum = 10
MsgBox "El bucle realizó " & contador & " repeticiones."

Prof. Ing. José Ramiro Pilaluisa Q. M.Sc. Marzo 2017 – Agosto 2017 11
Programación 1 Estructuras de control en VB

End Sub

9.2.1.9 Salida de una instrucción Do ... Loop desde dentro del bucle
Puede salir de una instrucción Do ... Loop utilizando la instrucción Exit Do. Puesto que
normalmente desea salir sólo en ciertas situaciones, como evitar un bucle sin fin, debe utilizar la
instrucción Exit Do en el bloque de instrucciones True de una instrucción If...Then...Else. Si la
condición es False, el bucle se ejecuta normalmente. En el siguiente ejemplo, miNum se asigna
a un valor que crea un bucle sin fin. La instrucción If...Then...Else comprueba esta condición,
impidiendo la repetición infinita.
Sub EjemploSalir()
Dim contador, miNum
contador = 0
miNum = 9
Do Until miNum = 10
miNum = miNum - 1
contador = contador + 1
If miNum < 10 Then Exit Do
Loop
MsgBox "El bucle realizó " & contador & " repeticiones."

End Sub

9.2.2 For… NEXT


Los bucles Do funcionan bien cuando no se sabe cuántas veces se necesitará ejecutar las
instrucciones del bucle. Sin embargo, cuando se sabe que se van a ejecutar las instrucciones un
número determinado de veces, es mejor elegir el bucle For…Next. A diferencia del bucle Do, el
bucle For utiliza una variable llamada contador que incrementa o reduce su valor en cada
repetición del bucle.

9.2.2.1 Partes de la sintaxis


Parte Descripción

contador Variable numérica que se usa como contador de bucle. La variable no puede ser
un elemento de una matriz o un elemento de un tipo definido por el usuario.

inicio Valor inicial de contador.

fin Valor final de contador.

paso Cantidad que se cambia contador cada vez que se ejecuta el bucle. Si no se
especifica, el valor predeterminado de paso es uno.

instrucciones Una o más instrucciones entre For y Next que se ejecutan el número de veces
especificado.

Los argumentos contador, iniciar, finalizar e incremento son todos numéricos.

Prof. Ing. José Ramiro Pilaluisa Q. M.Sc. Marzo 2017 – Agosto 2017 12
Programación 1 Estructuras de control en VB

9.2.2.2 Ejecutar el bucle For, Visual Basic:


1. Establece contador al mismo valor que iniciar.
2. Comprueba si contador es mayor que finalizar. Si lo es, Visual Basic sale del bucle.

(Si incremento es negativo, Visual Basic comprueba si contador es menor que finalizar.)

3. Ejecuta instrucciones.

4. Incrementa contador en 1 o en instrucciones, si se especificó.


5. Repite los pasos 2 a 4.

Este código imprime los nombres de todas las fuentes de pantalla disponibles:

Private Sub Form_Click ()


Dim I As Integer
For i = 0 To Screen.FontCount
Print Screen.Fonts(i)
Next
End Sub

En la aplicación de ejemplo VCR, el procedimiento HighlightButton utiliza un bucle For...Next


para pasar por la colección de controles del formulario VCR y mostrar el control Shape
apropiado:

Sub HighlightButton(MyControl As Variant)


Dim i As Integer
For i = 0 To frmVCR.Controls.Count - 1
If TypeOf frmVCR.Controls(i) Is Shape Then
If frmVCR.Controls(i).Name = MyControl Then
frmVCR.Controls(i).Visible = True
Else
frmVCR.Controls(i).Visible = False
End If
End If
Next
End Sub

9.2.2.3 Comentarios
El argumento paso puede ser positivo o negativo. El valor del argumento paso determina el
procesamiento del bucle como se indica a continuación:
Valor El bucle se ejecuta si

Positivo o 0 contador <= fin

Negativo contador >= fin

Prof. Ing. José Ramiro Pilaluisa Q. M.Sc. Marzo 2017 – Agosto 2017 13
Programación 1 Estructuras de control en VB

Una vez iniciado el bucle y una vez se comienzan a ejecutar todas las instrucciones del bucle, se
suma paso a contador. En este punto, las instrucciones del bucle se vuelven a ejecutar (basado en
la misma comprobación que produjo la ejecución inicial del bucle), o se sale del bucle y continúa
la ejecución con la instrucción que sigue a la instrucción Next.

Exit For sólo se puede usar dentro de una estructura de control For Each...Next o For...Next
para proporcionar una forma alternativa de salir. Se puede colocar cualquier número de
instrucciones Exit For en cualquier lugar del bucle. Exit For se suele usar junto con la
evaluación de alguna condición (por ejemplo, If...Then), y transfiere el control a la instrucción
que sigue a Next.

Puede anidar bucles For...Next colocando un bucle For...Next dentro de otro. Asigne a cada
bucle un nombre de variable único como contador. La siguiente construcción es correcta:

For I = 1 To 10
For J = 1 To 10
For K = 1 To 10
. . .
Next
Next
Next

9.2.2.4 Uso de For ... Next


Puede utilizar las instrucciones For...Next para ejecutar un bloque de instrucciones un número de
veces específico. Para bucles, utilice una variable de tipo contador cuyo valor aumente o
disminuya con cada repetición del bucle.

Por ejemplo, el siguiente procedimiento ejecuta 50 veces un procedimiento llamado MiProc. La


instrucción For especifica la variable de tipo contador x y los valores inicial y final de la misma.
La instrucción Next aumenta la variable de tipo contador de 1 en 1.

Sub HazMiProc50Veces()
Dim x
For x = 1 To 50
MiProc
Next
End Sub

Utilizando la palabra clave Step puede aumentar o disminuir la variable tipo contador en el valor
que especifique. En el siguiente ejemplo, la variable tipo contador aumenta de 2 en 2 cada vez
que se repite el bucle. Cuando el bucle finaliza, total es la suma de 2, 4, 6, 8 y 10.

Sub TotalesdePares()
Dim j, total
For j = 2 To 10 Step 2

Prof. Ing. José Ramiro Pilaluisa Q. M.Sc. Marzo 2017 – Agosto 2017 14
Programación 1 Estructuras de control en VB

total = total + j
Next
MsgBox "El total es " & total
End Sub

Para disminuir la variable tipo contador, utilice un valor Step negativo. Cuando lo haga, debe
especificar un valor final que sea menor que el valor inicial. En el siguiente ejemplo, la variable
tipo contador miNum disminuye de 2 en 2 cada vez que se repite el bucle. Cuando el bucle
termina, total es la suma de 16, 14, 12, 10, 8, 6, 4 y 2.

Sub NuevoTotal()
Dim miNum, total
For miNum = 16 To 2 Step -2
total = total + miNum
Next
MsgBox "El total es " & total
End Sub

Puede salir de cualquier instrucción For...Next antes de que el contador alcance su valor final
utilizando la instrucción Exit For. Como normalmente desea salir sólo en ciertas situaciones,
como cuando se produce un error, debe utilizar la instrucción Exit For en el bloque de
instrucciones True de una instrucción If...Then...Else. Si la condición es False, el bucle se
ejecuta normalmente.

9.2.3 For Each… Next


Crea un bucle que ejecuta una o varias sentencias para cada valor en una lista separada por
comas. Las sentencias que están dentro del bucle, entre for y next se ejecutarán con cada valor de
la lista

9.2.3.1 Partes de la sintaxis

Parte Descripción

elemento Variable que se usa para iterar por los elementos de la colección o
matriz. Para colecciones, elemento sólo puede ser una variable
Variant, una variable Object genérica o cualquier variable de objeto
de automatización específica. Para matrices, elemento sólo puede ser
una variable Variant.

grupo Nombre de una matriz o colección de objetos.

instrucciones Una o más instrucciones que se ejecutan en cada elemento de grupo.

Prof. Ing. José Ramiro Pilaluisa Q. M.Sc. Marzo 2017 – Agosto 2017 15
Programación 1 Estructuras de control en VB

9.2.3.2 Comentarios
Se entra en el bloque For Each si al menos hay un elemento en grupo. Una vez que se ha
entrado en el bucle, se ejecutan todas las instrucciones del bucle para el primer elemento de
grupo. Mientras haya más elementos en grupo, las instrucciones del bucle se siguen ejecutando
para cada elemento. Cuando no hay más elementos en grupo, se sale del bucle y continúa la
ejecución con la instrucción que sigue a la instrucción Next.

Exit For sólo se puede usar dentro de una estructura de control For Each...Next o For...Next
para proporcionar una forma alternativa de salir. Se puede colocar cualquier cantidad de
instrucciones Exit For en cualquier parte del bucle. Exit For se suele usar con la evaluación de
algunas condiciones (por ejemplo, If...Then), y transfiere el control a la instrucción siguiente a
Next.

Puede anidar bucles For Each...Next colocando un bucle For Each...Next dentro de otro. Sin
embargo, cada elemento del bucle debe ser único.

El siguiente ejemplo muestra el uso de la instrucción For Each...Next:

Function MostrarListaDeCarpetas(especificaciondecarpeta)
Dim fso, f, f1, fc, s
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(especificaciondecarpeta)
Set fc = f.Files
For Each f1 in fc
s = s & f1.name
s = s & "<BR>"
Next
MostrarListaDeCarpetas = s
End Function

9.2.3.3 Uso de For Each...Next


Un bucle For Each...Next es parecido a un bucle For...Next. En lugar de repetir las
instrucciones un número determinado de veces , un bucle For Each...Next repite un grupo de
instrucciones para cada elemento de una colección de objetos para cada elemento de una matriz.
Esto es especialmente útil si no desea conocer cuántos elementos hay en una colección.

En el ejemplo de código HTML completo siguiente, el contenido de un objeto Dictionary se


utiliza para colocar texto en varios cuadros de texto:

<HTML>
<HEAD><TITLE>Formularios y elementos</TITLE></HEAD>
<SCRIPT LANGUAGE="VBScript">
<!--
Sub cmdCambiar_OnClick
Dim d 'Crea una variable
Set d = CreateObject("Scripting.Dictionary")

Prof. Ing. José Ramiro Pilaluisa Q. M.Sc. Marzo 2017 – Agosto 2017 16
Programación 1 Estructuras de control en VB

d.Add "0", "Atenas" 'Agrega algunas claves y elementos


d.Add "1", "Belgrado"
d.Add "2", "El Cairo"

For Each I in d
Document.frmForm.Elements(I).Value = D.Item(I)
Next
End Sub
-->
</SCRIPT>
<BODY>
<CENTER>
<FORM NAME="frmForm"

<Input Type = "Text"><p>


<Input Type = "Text"><p>
<Input Type = "Text"><p>
<Input Type = "Text"><p>
<Input Type = "Button" NAME="cmdCambiar" VALUE="Haga clic aquí"><p>
</FORM>
</CENTER>
</BODY>
</HTML>

9.2.4 While wend

9.2.4.1 Partes de la sintaxis

Parte Descripción

condición Expresión numérica o expresión de cadena que se evalúa como True


o False. Si condición es Null, condición se trata como False.

instrucciones Una o más instrucciones ejecutadas mientras la condición se evalúe


como True.

9.2.4.2 Uso de While ... Wend


La instrucción While ... Wend se proporciona en VBScript para las personas que están
familiarizadas con su uso. Sin embargo, se recomienda que utilice Do ... Loop debido a la escasa
flexibilidad de la instrucción While ... Wend.

9.2.4.3 Comentarios
Si condición se evalúa como True, todas las instrucciones en instrucciones se ejecutan hasta que
se encuentre la instrucción Wend. Entonces el control vuelve a la instrucción While y condición
se comprueba de nuevo. Si condición se sigue evaluando como True, el proceso se repite. Si no
se evalúa como True, la ejecución continua con la instrucción que sigue a la instrucción Wend.

Prof. Ing. José Ramiro Pilaluisa Q. M.Sc. Marzo 2017 – Agosto 2017 17
Programación 1 Estructuras de control en VB

Los bucles While...Wend se pueden anidar en cualquier nivel. Cada Wend coincide con el
While más cercano.

El ejemplo siguiente muestra el uso de la instrucción While...Wend:

Dim Contador
Contador = 0 ' Inicializa la variable.
While Contador < 20 ' Comprueba el valor de Contador.
Contador = Contador + 1 ' Incrementa Contador.
Alert Contador
Wend ' Finaliza el bucle While cuando Contador
> 19.

10 FLUJOGRAMAS
10.1 DECISION

10.1.1If… Then

10.1.2If… Then… Else

Prof. Ing. José Ramiro Pilaluisa Q. M.Sc. Marzo 2017 – Agosto 2017 18
Programación 1 Estructuras de control en VB

10.1.2.1 SELEC CASE

10.2 REPETICION O BUCLES

10.2.1DO… LOOP

10.2.1.1 Do While … Loop

Prof. Ing. José Ramiro Pilaluisa Q. M.Sc. Marzo 2017 – Agosto 2017 19
Programación 1 Estructuras de control en VB

10.2.1.2 Do… Loop While

10.2.1.3 Do Until … Loop

Prof. Ing. José Ramiro Pilaluisa Q. M.Sc. Marzo 2017 – Agosto 2017 20
Programación 1 Estructuras de control en VB

10.2.1.4 Do… Loop Until

10.2.1.5 For… Next

Prof. Ing. José Ramiro Pilaluisa Q. M.Sc. Marzo 2017 – Agosto 2017 21
Programación 1 Estructuras de control en VB

10.2.1.6 For Each … Next

10.2.1.7 While… Wend

Prof. Ing. José Ramiro Pilaluisa Q. M.Sc. Marzo 2017 – Agosto 2017 22
Programación 1 Estructuras de control en VB

ÍNDICE
TÍTULO: ESTRUCTURAS DE CONTROL EN VB................................................................................................... 1
1 RESUMEN.................................................................................................................................................. 1
2 INTRODUCCIÓN......................................................................................................................................... 1
3 MATERIALES Y MÉTODOS........................................................................................................................... 1
4 RESULTADOS.............................................................................................................................................. 2
4.1 DECISIÓN:...................................................................................................................................................... 2
4.1.1 If...Then...................................................................................................................................................2
4.1.2 If...Then...Else..........................................................................................................................................2
4.1.3 Select Case..............................................................................................................................................2
4.2 REPETICION O BUCLES...................................................................................................................................3
4.2.1 DO… LOOP..............................................................................................................................................3
4.2.1.1 DO WHILE… LOOP.......................................................................................................................................3
4.2.1.2 DO… LOOP WHILE.......................................................................................................................................3
4.2.1.3 DO UNTIL… LOOP........................................................................................................................................3
4.2.1.4 DO… LOOP UNTIL........................................................................................................................................3
4.2.2 For...Next.................................................................................................................................................4
4.2.3 For Each...Next........................................................................................................................................4
4.2.4 While...Wend..........................................................................................................................................4
5 DISCUSIÓN................................................................................................................................................. 4
6 CONCLUSIONES.......................................................................................................................................... 4
7 RECOMENDACIONES.................................................................................................................................. 5
8 REFERENCIAS............................................................................................................................................. 5
9 ANEXOS..................................................................................................................................................... 6
9.1 DECISIÓN....................................................................................................................................................... 6
9.1.1 IF… THEN................................................................................................................................................6
9.1.2 IF… THEN… ELSE.....................................................................................................................................6
9.1.3 SELECT CASE............................................................................................................................................7
9.2 REPETICION O BUCLES...................................................................................................................................8
9.2.1 DO… LOOP..............................................................................................................................................8
9.2.1.1 Descripción..................................................................................................................................................8
9.2.1.2 Partes de la sintaxis.....................................................................................................................................8
9.2.1.3 DO WHILE… LOOP.......................................................................................................................................8
9.2.1.4 Comentario.................................................................................................................................................9
9.2.1.5 Uso de bucles para repetir codigo.............................................................................................................10

Prof. Ing. José Ramiro Pilaluisa Q. M.Sc. Marzo 2017 – Agosto 2017 23
Programación 1 Estructuras de control en VB

9.2.1.6 Uso de bucles Do.......................................................................................................................................10


9.2.1.7 Repetición de instrucciones mientras una condición es True....................................................................10
9.2.1.8 Repetición de una instrucción hasta que una condición pasa a ser True...................................................11
9.2.1.9 Salida de una instrucción Do ... Loop desde dentro del bucle...................................................................11
9.2.2 For… NEXT.............................................................................................................................................12
9.2.2.1 Partes de la sintaxis...................................................................................................................................12
9.2.2.2 Ejecutar el bucle For, Visual Basic:.............................................................................................................12
9.2.2.3 Comentarios..............................................................................................................................................13
9.2.2.4 Uso de For ... Next.....................................................................................................................................14
9.2.3 For Each… Next.....................................................................................................................................15
9.2.3.1 Partes de la sintaxis...................................................................................................................................15
9.2.3.2 Comentarios..............................................................................................................................................15
9.2.3.3 Uso de For Each...Next..............................................................................................................................16
9.2.4 While wend...........................................................................................................................................17
9.2.4.1 Partes de la sintaxis...................................................................................................................................17
9.2.4.2 Uso de While ... Wend...............................................................................................................................17
9.2.4.3 Comentarios..............................................................................................................................................17
10 FLUJOGRAMAS......................................................................................................................................... 18
10.1 DECISION.................................................................................................................................................18
10.1.1 If… Then...........................................................................................................................................18
10.1.2 If… Then… Else.................................................................................................................................18
10.1.2.1 SELEC CASE...............................................................................................................................................19
10.2 REPETICION O BUCLES............................................................................................................................19
10.2.1 DO… LOOP........................................................................................................................................19
10.2.1.1 Do While … Loop.......................................................................................................................................19
10.2.1.2 Do… Loop While........................................................................................................................................20
10.2.1.3 Do Until … Loop.........................................................................................................................................20
10.2.1.4 Do… Loop Until..........................................................................................................................................21
10.2.1.5 For… Next..................................................................................................................................................21
10.2.1.6 For Each … Next.........................................................................................................................................22
10.2.1.7 While… Wend............................................................................................................................................22

Prof. Ing. José Ramiro Pilaluisa Q. M.Sc. Marzo 2017 – Agosto 2017 24

También podría gustarte