Estructuras de control de ciclos o bucles

De Libro Gambas

Contenido

FOR - NEXT

Esta estructura repite mientras se va incrementando o decrementando una variable

Sintaxsis

FOR Var = Inicio TO Fin [ STEP Paso ]
   ' El código
NEXT

Ejemplo

DIM i AS Integer
 
FOR i = 1 TO 5
   PRINT i
NEXT

Esto nos dará la siguiente salida:

1
2
3
4
5

STEP es opcional y nos dira de cuanto en cuanto irá incrementando o decrementando la variable, por ejemplo:

DIM i AS Integer
 
FOR i = 10 TO 1 STEP -2
   PRINT i
NEXT

Esto nos dará la siguiente salida:

10
8
6
4
2

En este caso hicimos que el valos descendiera desde el 10 al 1 de 2 en 2.

FOR EACH - NEXT

Repite un ciclo Dependiendo de la cantidad de elementos que contiene un objeto enumerable (por ejemplo una colección o un array) mientras se recorre esta enumeración

Sintaxis

FOR EACH Var IN Enum
  ' El código
NEXT

Ejemplo

DIM Linea AS String[]
DIM Palabra AS String
 
Linea = Split("Gambas Almost Mean Basic", " ")
 
FOR EACH Palabra IN Linea
  PRINT Palabra
NEXT

Esto nos dará la siguiente salida:

Gambas
Almost
Mean
Basic

Esta sintaxis se debe utilizar cuando la expresión es un objeto enumerable que no es un contenedor real: por ejemplo, el resultado de una consulta de base de datos.

DIM Res AS Result
 
Res = DB.Exec("SELECT * FROM MyTable")
 
FOR EACH Res
  PRINT Res!Code; " "; Res!Name
NEXT

DO - LOOP

Repite un ciclo mientras que la condición inicial sea TRUE o hasta que la condición final sea TRUE.

Sintaxis

DO [WHILE Condición]
  ' El código
LOOP [UNTIL Condición]

Ejemplo

DIM i AS Integer = 0
 
DO WHILE i > 6
  INC i
LOOP
PRINT i

nos imprimirá el número 6

DIM i AS Integer = 0
 
DO
  INC i
LOOP UNTIL i > 6
PRINT i

nos imprimirá el número 7

DO WHILE i < 3
  INC i
LOOP UNTIL i > 6
PRINT i

nos imprimirá el número 3

REPEAT - UNTIL

Repite un ciclo hasta que la condición final sea TRUE.

Esta estructura es equivalente a DO - LOOP UNTIL

Sintaxis

REPEAT
  ' El código
UNTIL [UNTIL Condición]

Ejemplo

DIM i AS Integer = 0
 
REPEAT
  INC i
UNTIL i > 6
PRINT i

nos imprimirá el número 7

WHILE - WEND

Repite un ciclo mientras que la condición inicial sea TRUE

Esta estructura es equivalente a DO WHILE - LOOP

Sintaxis

WHILE Condición
  ' El código
WEND

Ejemplo

DIM i AS Integer = 0
 
WHILE i > 6
  INC i
WEND
PRINT i

nos imprimirá el número 6

CONTINUE

Salta al siguiente paso del ciclo

Ejemplo

DIM i AS Integer
 
FOR i = 1 to 5
  IF i = 3 CONTINUE
  PRINT i 
NEXT

Esto dará como resultado:

1
2
4
5

BREAK

Sale inmediatamente del ciclo en que se encuentre

Ejemplo

DIM i AS Integer
 
FOR i = 1 to 5000
  IF i = 3 BREAK
  PRINT i 
NEXT

Esto dará como resultado:

1
2

Referencia

Estructuras de Control de Bucles

Herramientas personales
Patrocinador
Hosting: www.sferahosting.com