DESDE

Sinopsis
DESDE lista_de_control lista_de_instrucciones
FOR lista_de_control lista_de_instrucciones
Descripción

DESDE es una herramienta flexible para la iteración.

El argumento lista_de_control controla como ocurre la iteración. Debe ser una lista con tres o cuatro miembros. En orden, son:

  1. Una palabra que se usa como el nombre del «variable de control». Esta variable es local al procedimiento.

  2. Una palabra o lista que se evalúa para obtener el valor inicial de la variable.

  3. Una palabra o lista que se evalúa para obtener un número, el valor límite de la variable.

  4. Una palabra o lista opcional que se evalúa para obtener el tamaño del incremento. Si falta el cuarto miembro tendrá el valor 1 o –1, dependiendo de si el valor límite sea mayor o menor que el valor inicial.

El argumento lista_de_instrucciones contiene las instrucciones que DESDE ejecuta en cada iteración.

El efecto de DESDE es que se ejecuta repetidamente las instrucciones contenidas en lista_de_instrucciones, y asigna un nuevo valor a la variable de control en cada iteración. Primero asigna el valor inicial a la variable de control y compara ese valor al valor límite. La ejecución termina cuando el signo de (actual - límite) es lo mismo que el signo del tamaño de incremento. En otro caso, se ejecutan las instrucciones contenidas en lista_de_instrucciones, se incrementa la variable de control por el valor del incremento y se vuelve a la comparación.

Si no hay un tamaño de incremento, entonces se ejecuta lista_de_instrucciones al menos una vez. Con un tamaño de incremento explicito, se puede conseguir que DESDE nunca ejecutara lista_de_instrucciones (por ejemplo, DESDE [i 1 0 1] [...]).

En muchos casos, puedes reescribir una instrucción DESDE en términos de REPITE y CUENTAREPITE.

Ejemplo
DESDE [i 2 7 1.5] [ESCRIBE :i]
2
3.5
5
6.5

SourceForge.net Logo