ciclos Bucle con parámetro (para)


Imagine una situación en la que necesitamos mostrar la misma palabra en la pantalla, digamos la palabra "HOLA", 10 veces. ¿Qué debemos hacer?
Puede tomar y escribir el comando 10 veces writeln('HOLA');

Pero, ¿y si no necesitas 10 veces, sino 20, 30, 40 veces?, ¿y si 200 veces? En este caso, la copia llevará mucho tiempo. ¿Y si es necesario que el usuario pueda elegir cuántas veces mostrar la información en pantalla? 

Para hacer frente a esta tarea, podemos usar una construcción especial llamada LOOP

Un bucle es una construcción algorítmica en la que una determinada secuencia de comandos se repite varias veces.


En el lenguaje de programación Pascal, hay dos tipos de bucles: un bucle con una variable (for) y un bucle con una condición (while)

Comencemos nuestro conocimiento de los ciclos desde el primer tipo.

BUCLE CON UNA VARIABLE O CON UN NÚMERO DE PASOS CONOCIDO (PARA)

A menudo sucede que conocemos el número de repeticiones de algunas acciones, o podemos calcular el número de repeticiones utilizando los datos que conocemos. Algunos lenguajes de programación tienen un comando que en ruso suena como REPETIR (número de veces), es decir, podemos especificar el número exacto de repeticiones. 

Es interesante ver cómo funciona este ciclo a nivel de máquina:
1. una determinada celda de memoria se asigna en la memoria y se escribe en ella el número de repeticiones,
2. cuando el programa ejecuta el cuerpo del bucle una vez, el contenido de esta celda (contador) se reduce en uno.
3. La ejecución del ciclo finaliza cuando esta celda es cero.

En el lenguaje de programación Pascal, no existe tal construcción, pero hay una construcción for.  

La forma general de la declaración del bucle for es la siguiente: para *valor inicial* a *valor final* hacer comenzar /*una sentencia o bloque de sentencias - cuerpo del bucle*/; fin; Esta construcción requiere que
1. asigna explícitamente una celda de memoria, que será un contador, y establece su valor inicial
2. Especifique cómo cambiará el valor en esta celda.
3. se escribió una condición bajo la cual se ejecutará el cuerpo del ciclo

En la parte práctica, intentaremos mostrar la palabra Hola 10 veces. En las siguientes tareas, analizaremos esta construcción con más detalle.

Un bucle for es un medio para pasar por acciones repetidas. Echemos un vistazo más de cerca a cómo funciona.

Por lo general, las partes de un bucle for realizan los siguientes pasos: 
1. Establecer valor inicial. 
2. Establecer el paso con el que cambiará la variable de bucle
3. Estableciendo el valor final.
3. Realizar acciones de bucle. 
4. Actualice los valores utilizados en la prueba. 
y luego se repiten los pasos 2-4 hasta que se cumpla la condición. Tan pronto como la condición se vuelve falsa, el ciclo termina y se ejecuta la instrucción que sigue a la instrucción del ciclo for.

Volvamos a la forma general del enunciado del bucle y analicemos con más detalle todas las partes para *establecer valor inicial en variable* hasta/hasta *valor final* empezar /*una sentencia o bloque de sentencias - cuerpo del bucle*/; fin;

Establecer una variable en un valor inicial

se encarga de poner el valor inicial de la variable ciclo (contador), NO se destaca con corchetes ni nada más
Por ejemplo : yo := 0; //a la variable de ciclo i se le asigna el valor inicial igual a cero. Con tal registro, //variable que debo declarar antes del ciclo a/abajo Este es el paso en el que cambiará la variable utilizada en el bucle. Si escribimos a, entonces cada iteración el valor de la variable aumentará en 1, si downto - disminuirá en 1 Valor final es el último valor en el que aún se ejecutará el cuerpo del bucle. Por ejemplo, si establecemos el último valor en 100, entonces en 100 nuestro bucle aún se ejecutará y en 101 no. Practiquemos escribir el título del bucle for

La cabeza de un bucle for en Pascal consta de varias partes:
1) la palabra para
2) qué variable y qué valor le estamos asignando. En este programa, esto es b := 1, es decir le asignamos el valor 1 a b.
3) la palabra to o downto, que indica el paso con el que se ejecuta el bucle. Si escribimos a, entonces la variable aumentará en 1 en cada iteración, si es hacia abajo, luego disminuirá en 1.
4) valor final de la variable
5) palabra hacer
6) la palabra  comenzar  (se puede omitir si solo hay una línea en el cuerpo del ciclo, de lo contrario debe escribirse. Si no escribe comenzar, solo se escribirá la primera línea). ejecutarse desde todo el cuerpo del bucle). No olvidemos que después del cuerpo del ciclo, si escribimos la palabra begin, escriba la palabra end; !

Todos los programas con un bucle for que hemos escrito hasta ahora no pueden llamarse universales. Porque nosotros mismos establecemos el número de repeticiones del cuerpo del loop. 
Pero, ¿y si el número de repeticiones depende de algún otro valor? Por ejemplo, el propio usuario quiere establecer el número de repeticiones del ciclo.
¿Qué hacer en este caso?
Todo es muy simple. En lugar de valores numéricos de inicio y fin, podemos usar cualquier variable que el usuario pueda calcular o establecer.

Por ejemplo, necesitamos mostrar los cuadrados de los números del 1 al n, donde el usuario ingresa el valor de la variable n desde el teclado.
El programa se verá así:
  var i, n :entero; // en el tablero; variable de bucle, n - el número máximo para el que calculamos el cuadrado comenzar leer(n); // ingresa n desde el teclado for i := 1 to n do // bucle: para todos los i de 1 a n - variable tomaré secuencialmente valores de 1 a n writeln('Kvadrat chisla ', i, ' cuervo ', i * i); // Emitiendo el cuadrado de un número en un formato específico y moviéndose a una nueva línea fin. Al ingresar al ciclo, se ejecuta la sentencia i := 1, y luego la variable i se incrementa en uno (to) con cada paso. El bucle se ejecuta mientras la condición i <= n es verdadera. En el cuerpo del bucle, la única declaración de salida imprime el número en sí y su cuadrado en la pantalla según el formato especificado.
Para elevar al cuadrado u otros exponentes bajos, es mejor usar la multiplicación.

Ejecute el programa y vea el resultado de su trabajo con diferentes valores de la variable n.