Utilizamos los bucles para repetir un
grupo de instrucciones.
Tenemos diferentes bucles.
- Bucle For - Next
- Bucle Do While - Loop . Existe una variación. While - Wend
- Bucle Repeat - Until
Existe un cuarto tipo de bucle, que
usamos con listas de valores de variables o
con objetos.
Bucle For Each - Next
Cada bucle contiene una variable que le
indica cuando debe acabar
el bucle o se ejecute este, mientras se cumpla una
condición.
Con el bucle For – Next conocemos las
veces que se va ejecutar.
Ejemplo:
Vamos a realizar una serie de tablas de
multiplicar con diferentes bucles.
---código----
Public Sub Form_Open()
Dim seleccion As String
Repeat
Print "Selecciona el tipo de
bucle:"
Print "1 - Bucle Do..While"
Print "2 - Bucle For"
Input seleccion
Select Case seleccion
Case "1"
Bucle_DoWhile
Case "2"
Bucle_For
Case Else
Print "No existe esa
opción"
End Select
Until (seleccion = "1") Or
(seleccion = "2")
'Comprobamos la condición al final
'Utilice variable de cadena en vez de
número para que no hubiera
'error con el tipo introducido por teclado. En caso de
número o cadena.
'Una cadena puede parecer un número. "1"
'Una cadena puede parecer un número. "1"
End
Public Sub Bucle_For()
Dim x As Integer
Dim tabladel As Integer
tabladel = 2
For x = 1 To 10
Print x & " * " &
tabladel & " = " & (x * tabladel)
Next
End
Public Sub Bucle_DoWhile()
Dim x As Integer
Dim tabladel As Integer
x = 1
tabladel = 3
Do While x <= 10 ' Comprobamos la
condición al principio.
Print x & " * " &
tabladel & " = " & (x * tabladel)
x = x + 1
'Incrementamos el contador de
bucle en 1.
'Si no fuese así, entraríamos
en bucle infinito y colgaríamos el programa
'ya que siempre se cumpliría la
condición del principio.
'X sería menor de 10 siempre.
Loop
End
---código---
Bien. El programa presenta un menú en
la parte de consola.
Y te da a escoger que bucle quieres ejecutar.
El primer bucle que nos encontramos es
“Repeat”.”Repetir”
Con este bucle sabemos que se va
ejecutar al menos “una vez” ya que la condición del bucle esta al final.
El uso de Repeat en este lugar esta
hecho con la idea de que si se elige una opción diferente a 1,2 .Se volverá a
presentar la opción de que podamos ejecutar la opción 1 y 2, mostrando una vez mas el menú
Until le dice hasta..hasta que la
selección sea 1 o 2. Hemos vuelto a usar
un operador lógico. El operador
“OR”.El cual le dice, que una de las dos opciones es valida.
En este bucle repeat no hay un número
de veces especificadas para que se ejecute. Solo le dice hasta que se cumpla algo.
Vamos con el siguiente:
Bucle Do While - Loop
La primera opción es Do While. “Hacer
mientras” se cumpla una condición.
A la variable tabladel le hemos
“asignado” un número para que nos diga
la tabla de multiplicar de ese número.
“Hacer mientras que x sea menor o
igual a 10.”
Do While x<=10
x nos vale para incrementarla y una vez
llega 10 nuestro bucle termina.
He usado x=x+1
Podía haber usado la instrucción INC
x .La cual “nos incrementa” x en uno
Siempre incrementara el valor que tenga
x en uno hasta cumplir la condición
del bucle.
Como veis, la condición de esta bucle
esta al principio. Así que puede ejecutarse o no, depende de su condición.
Se podría decir que recuerda a una
“instrucción condicional“ con el añadido de
la repetición.
La variable x actúa como variable de
control del bucle. Sin ella nuestro bucle
se ejecutaría hasta el infinito y
podríamos perder el control de nuestro programa.
Loop marca el final del bucle.
Bucle For – Next.
En este bucle sabemos de principio a
fin que se va ejecutar un numero determinado de veces.
Desde 1 hasta 10.
For x=1 TO 10
x ira almacenando los valores de 1
hasta 10.Cuando llega a 11 sale del bucle.
Si, la x en vez de valer 10 y salir, la
variable continua teniendo un valor después
de la ejecución del bucle y su valor
es x+1
Hacer la prueba. Después del NEXT
añadir:
PRINT x
El bucle FOR tiene dos características
interesantes:
Imagina que queremos que el bucle se
ejecute de dos en dos, de tres en tres, etc.
Para eso usamos la instrucción STEP
---código---
DIM x As Integer
FOR x=1 TO 10 STEP 2
PRINT x
NEXT
---código---
Mostrara 1,3,5...9
Podemos hacerlo al revés,que nos
cuente de mayor a menor.
---código----
DIM x As Integer
FOR x=10 To 1 STEP -2
PRINT x
NEXT
---código---
Hemos hecho que vaya de 10 a 0 y hemos
añadido en STEP el valor -2.
Para que los incrementos sean
negativos.
Pregunta.¿ Que bucle debemos usar en
nuestro programa ?.
Dependerá de la condición que quieras
que haga tu programa.
Para mas información sobre bucles:
No hay comentarios:
Publicar un comentario