(Java) Bucles. 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 cout << "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 elija cuántas veces mostrar la información en pantalla? 

Para hacer frente a esta tarea, una construcción especial llamada LOOP
nos ayudará
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 Java, hay dos tipos de bucles: un bucle con una variable (for) y un bucle con una condición (while y do...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 Java, no existe tal construcción, sino la construcción for.  

La forma general de la declaración del bucle for es la siguiente: for (/*expresión1*/; /*expresión2*/; /*expresión3*/ ) { /*una sentencia o bloque de sentencias - cuerpo del bucle*/; } Esta construcción requiere que
1. asigna explícitamente una celda de memoria, que será un contador, y establece su valor inicial
2. se escribió una condición bajo la cual se ejecutará el cuerpo del ciclo
3. indique cómo cambiará el valor en esta celda.

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. Configuración del valor inicial. 
2. Realización de una prueba de condición para continuar el bucle.
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 for (/*expresión1*/; /*expresión2*/; /*expresión3*/ ) { /*una sentencia o bloque de sentencias - cuerpo del bucle*/; }

Expresión 1

responsable de establecer el valor inicial de la variable de ciclo (contador), termina con un punto y coma
Por ejemplo : opción 1) i=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 opción 2) int i=0; //la variable i puede declararse inmediatamente en el encabezado del ciclo, pero // en este caso, después de que el bucle se borre de la memoria opción 3) ; // sin inicialización y declaración de la variable de ciclo en absoluto, // en este caso se puede declarar antes del ciclo Expresión 2 esta es la condición para continuar con el  bucle for, se comprueba si es cierto. i<=10 // el bucle se ejecutará siempre que i sea menor o igual a 10. La condición puede ser cualquier cosa Expresión 3  cambia el valor de la variable contador. Sin este valor, el bucle se considerará infinito. i<=10 // el bucle se ejecutará siempre que i sea menor o igual a 10. La condición puede ser cualquier cosa Practiquemos escribir el título del bucle for

Otra característica del registro es que si solo hay un operador en el cuerpo del bucle, se pueden omitir los corchetes.

Puede haber varias declaraciones separadas por comas en cada parte del encabezado.
Ejemplos de títulos:
para ( yo = 0; yo < 10; yo ++ ) { ... } //título estándar para ( i = 0, x = 1.; i < 10; i += 2, x *= 0.1 ){ ... } // en este caso, usamos dos variables que cambiarán después de la ejecución del cuerpo del ciclo: estas son las variables i y x // la variable i cambia con el paso 2 - i+=2 - abreviatura de i=i+2 // la variable x aumenta 0,1 veces con cada paso x=x*0,1 - abreviado como x*=0,1

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í:
  #incluye <iostream> utilizando el espacio de nombres estándar; principal() { int i,N; // en el tablero; variable de bucle, N - el número máximo para el que calculamos el cuadrado cin>> NORTE; // ingresa N desde el teclado for (i = 1; i <= N; i ++) // bucle: para todos los i de 1 a N - variable tomaré valores secuencialmente de 1 a N { cout << "Kvadrat chisla "<<i<<" cuervo " <<i*i<<"\n"; // Emitiendo el cuadrado de un número en un formato específico y moviéndose a una nueva línea } } Al ingresar al ciclo, se ejecuta la declaración i = 1, y luego la variable i se incrementa en uno (i ++) con cada paso. El ciclo se ejecuta mientras se cumple la condición i <= N. En el cuerpo del ciclo, la única declaración de salida imprime el número en sí y su cuadrado en la pantalla de acuerdo con 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.