miércoles, 10 de marzo de 2010

Estructura de control de repetición FOR


La sentencia FOR permite repetir, un número de veces conocido a priori, una serie de
instrucciones. La sentencia FOR es el modo más adecuado de expresar bucles definidos en
Modula-2.
La forma más simple que toma esta sentencia es la siguiente:
FOR Variable := Valor1 TO Valor2 DO
Acciones
END
Las palabras FOR, TO, DO y END son palabras reservadas del lenguaje y delimitan cada una
de las partes de la sentencia. La variable que aparece a la izquierda del signo de asignación se
llama variable de control del bucle. El valor de esta variable se modifica en cada repetición
del bucle. El conjunto de acciones que aparecen entre las palabras DO y END constituyen el
cuerpo del bucle.

El significado de la sentencia FOR es el siguiente: se ejecutan las acciones entre las palabras
DO y END tantas veces como indique la expresión (Valor2-Valor1+1). La primera vez que se
ejecuten estas acciones, el valor de la variable de control es Valor1. La segunda vez que se
ejecuten las acciones, el valor de la variable de control es Valor1+1. El valor de la variable de
control es incrementado en una unidad tras cada repetición, de modo que la última vez que se
ejecuten las acciones el valor de la variable de control es Valor2.


Ejemplo: El cuerpo del siguiente bucle se ejecuta cero veces, ya que la condición de salida es cierta la primera vez.

FOR i := 1 TO 0 DO
WrCard(i,0); WrLn
END


Ejemplo: El cuerpo del siguiente bucle se ejecuta diez veces (con valores para la variable i entre uno y diez) ya que el valor para la expresión que aparece tras la palabra TO es calculado una única vez y no se vuelve a calcular tras cada repetición.

Fin := 5;
FOR i := 1 TO 2*Fin DO
WrCard(i,0); WrLn;
Fin := 15
END

Ejemplo: El siguiente bucle muestra por pantalla todas las letras mayúsculas
(excepto la letra eñe mayúscula que está fuera del rango [‘A’..’Z’] en la tabla
ASCII).

FOR Letra := ‘A’ TO ‘Z’ DO
WrChar(Letra)
END

No hay comentarios:

Publicar un comentario