ALGORITMO Y ESTRUCTURA DE DATOS II

 

TDE ES EI CB Formulario CF EM Ejemplo Salir

Estructuras Iterativas

 

Instrucción      FOR … TO … NEXT

 

Sirve para ejecutar un bloque de sentencias un número conocido de veces. La sintaxis de esta instrucción es:

 

For contador = inicio To fin [Step incremento]

bloque de sentencias

Next [contador]

 

Contador es la variable numérica que se incrementa cada vez que se ejecuta el bucle. Este se realizará un número determinado de veces que vendrá determinado por los valores de inicio y de fin. Los argumentos entre corchetes son opcionales. Si no se indica incremento, éste se presupone que vale 1. En cualquier momento podemos abandonar la ejecución en mitad del bucle si dentro del bloque de sentencias colocamos la instrucción Exit For.

 

Unos cuantos ejemplos ayudarán a comprender mejor esta instrucción:

 

For i = 1 to 5

   Print i

Next i

 Imprime en pantalla los números 1 a 5

For i = 0 to 10 step 2

   Print i

Next i

 Imprime en pantalla los números 0, 2, 4, 6, 8 y 10

For i = 10 to 2 step -2

   Print i

Next i

 Imprime en pantalla los números 10, 8, 6, 4 y 2

 

Hay que tener cuidado con no crear un bucle que no se acabe nunca. Por el ejemplo, el siguiente bucle For no se terminaría nunca, pues si comenzamos en el número 10 y aumentamos una unidad cada vez que el bucle se repita, nunca llegaremos al número 5.

 

For i = 10 to 5

      Print i

Next i

 

Instrucción      DO … LOOP

 

En las estructuras anteriores, conocíamos de antemano el número de veces que iba a repetirse el bucle; en algunas ocasiones no podemos conocer cuantas veces debemos repetir una determinada instrucción (por ejemplo al pedir una clave secreta; habrá que repetir la petición de la misma hasta que la clave introducida sea correcta). En estos casos utilizaremos la instrucción Do … Loop. Se ejecutará un bloque de código mientras o hasta que la condición evaluada sea verdadera. Dependerá de la forma en la que escribamos la instrucción. Por lo tanto la sintaxis de esta estructura puede adoptar alguna de las siguientes formas:

 

Estructura

Explicación

Do While condición

bloque de sentencias

Loop

El bloque de sentencias se ejecuta mientras se cumpla la condición. Puede ocurrir que dicho bloque no se ejecute ninguna vez.

Do

bloque de sentencias

Loop While condición

El bloque de sentencias se ejecuta mientras se cumpla la condición. Dicho bloque se ejecutará al menos una vez.

Do Until condición

bloque de sentencias

Loop

El bloque de sentencias se ejecuta hasta que se cumpla la condición. Puede ocurrir que dicho bloque no se ejecute ninguna vez.

Do

bloque de sentencias

Loop Until condición

El bloque de sentencias se ejecuta hasta que se cumpla la condición. Dicho bloque se ejecutará al menos una vez.

 

En cualquier momento podemos abandonar la ejecución en mitad del bucle si dentro del bloque de sentencias colocamos la instrucción Exit Do.

Veamos algunos ejemplos del uso de estas sentencias:

 

i = 2

Do While i < 8

   Print i

   i = 2 + i

Loop

 Imprime en pantalla los números 2, 4 y 6

i = 3

Do

   Print i

   i = 2 * i

Loop While i <= 12

 Imprime en pantalla los números 3, 6 y 12

i = 2

Do Until i >= 16

   Print i

   i = i ^ 2

Loop

 Imprime en pantalla los números 2 y 4

i = 10

Do

   Print i

   i = i - 1

Loop Until i < 7

 Imprime en pantalla los números 10, 9, 8 y 7

 

Hay que tener cuidado con no crear un bucle infinito, es decir, un bucle que no termine nunca, como por ejemplo los siguientes:

i = 2

Do While i > 0

      Print i

      i = i + 2

Loop

Como i siempre es mayor que 0, el bucle no terminará nunca y el programa imprimirá en pantalla todos los números pares, hasta el infinito.

También puede ocurrir lo contrario, es decir, que creemos un bucle que no se ejecute nunca:

i = 2

Do While i < 0

      Print i

      i = i + 2

Loop

Como i no es menor que 0, el bucle nunca se ejecutará.

 

Ejercicios:

1)    Escribe el código de un programa que imprima en pantalla los números del 1 al 10 junto a su cuadrado.

2)    Un programa debe imprimir todos los números impares en orden descendente entre el 100 y el 10. ¿Cuál será su código?

3)    Queremos calcular la suma de los números comprendidos entre 11 y 20, a. i. Escribe el código correspondiente.

4)    Escribe el código que imprime todos los números junto a su cubo, comenzando por el 1, hasta que ese cubo sea superior a 5.000.

 

Volver