Gambas/Estructuras de control de ciclos o bucles
Una de las razones por las que escribimos un programa es para automatizar la ejecución de tareas repetitivas según alguna condicion. Esta funcionalidad es provista por las estructuras de control de ciclos o repetición. Estas estructuras hacen posible que una parte del programa se repita un número determinado de veces, dependiendo de alguna condición.
FOR – NEXT
editarSe repite un numero predeterminado de veces.
- Sintaxis
FOR Variable = Expression TO Expression [STEP Expression] ... NEXT 'Counter loop.
FOR iCount = 1 TO 20 STEP 3 PRINT iCount & " "; NEXT
FOR EACH IN
editarSe repite para cada uno de los miembros de una colección de elementos.
- Sintaxis
FOR EACH Variable IN Expression ... NEXT
'Enumeration loop. FOR EACH Element IN Dict PRINT Element; NEXT
DO – LOOP
editarEste estructura de control de ciclos se repetirá mientras que una determinada condición sea cierta. La condición puede ser evaluada al inicio o al final de la estructura dependiendo si se usa DO WHILE - LOOP o DO - LOOP UNTIL. Si la condición se evalúa al comienzo de la estructura (condición de entrada) el bloque de instrucciones pude no ejecutarse ninguna vez, si la condición de entrada es inicialmente falsa. Por el contrario, si la condición se evalúa al final de la estructura (condición de salida) el bloque de instrucciones se ejecutará al menos una vez, aunque la condición de salida ya sea cierta al entrar en la estructura.
- Sintaxis
DO [WHILE Condition] ... [BREAK|CONTINUE] ... LOOP [UNTIL Condition]
'Infinite loop. DO WHILE a <= 5 PRINT "Hello World"; a INC a LOOP ' The same effect with UNTIL DO PRINT "Hello World"; a INC a LOOP UNTIL a = 6
REPEAT – UNTIL
editarEl bloque de acciones se repetirá hasta que una determinada condición sea cierta. La condición se evalúa al final de la estructura (condición de salida). Esto implica que el bloque de instrucciones se ejecutará al menos una vez, aunque la condición de salida ya sea cierta al entrar en la estructura.
- Sintaxis
REPEAT ... UNTIL Condition
'Loop with an exit test at the end. REPEAT PRINT Timer 'The repeat loop is always executed at least once, even if the UNTIL value is initially false. UNTIL Timer > 10
WHILE - WEND
editarEl bloque de acciones se repetirá mientras que una determinada condición sea cierta. La condición se evalúa al comienzo de la estructura (condición de entrada). Esto implica que el bloque de instrucciones pude no ejecutarse ninguna vez, si la condición de entrada es inicialmente falsa.
- Sintaxis
WHILE Condition ... WEND
'Loop with an exit test at the beginning WHILE a \<= 10 PRINT "Hello World"; a INC a WEND