ciclos Bucle con parámetro (para)


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

Pero, ¿y si no necesita 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, podemos usar una construcción especial llamada bucle.

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 C#, hay dos tipos de bucles: un bucle variable (for) y un bucle condicional (while y do...while)

Comencemos nuestro conocimiento de los ciclos desde el primer tipo.

Un bucle con una variable o con un número conocido de pasos (for).

Suele pasar que sabemos el número de repeticiones de alguna acción, o podemos serif">calcular
número de repeticiones usando 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. Se asigna una determinada celda de memoria 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. El ciclo termina cuando esta celda es cero.

En el lenguaje de programación C#, no existe tal construcción, sino la construcción for.  

La forma general del operador de bucle for es la siguiente:
para (/*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. Hemos escrito una condición bajo la cual se ejecutará el cuerpo del ciclo.
3. Especifique cómo cambiará el valor en esta celda.

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

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

Por lo general, partes del bucle for  siguen 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.
 
Forma general del bucle for (/* expresión 1*/; /* expresión 2*/; /* expresión 3*/ ) {       /* 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 :
  • i=0; // variable de bucle i establece el valor inicial igual a cero - debe declararse antes el bucle
  • int i=0; // la variable i se puede declarar inmediatamente en el encabezado del bucle, pero en este caso, se borrará de la memoria después de la carreras de bucle
  • ;  // no hay inicialización ni 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 el bucle for, se comprueba si es cierto. Por ejemplo,

i <= 10  // el bucle se ejecutará siempre que la variable 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. Por ejemplo,

i++;  // cada vez que se completa el cuerpo del ciclo, i se incrementa en 1.

 

Puede haber varios operadores en cada parte del encabezado, separados por comas.< /span>
Ejemplos de títulos:

for ( int i = 0; i < 10; i + + ) { ... } - título estándar

for ( int i = 0, x = 1; i < 10; i += 2, x *= 2 ){ ... }  
         // 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 en incrementos de 2 - i+=2 - abreviatura de i=i+2
         // variable x aumenta 0,1 veces con cada paso x=x*2 - abreviado х*=2
< /span>

Repetir N veces

Todos los programas con un bucle for que hemos escrito hasta ahora no pueden llamarse universales. Porque nos fijamos el número de repeticiones del cuerpo del bucle. 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 desde 1 a N, donde el valor de la variable N se ingresa desde el teclado mediante el usuario.
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; for (i = 1; i <= N; i ++) // bucle: para todos los i de 1 a N. Variable i tomará valores secuencialmente de 1 a N { cout << "Número cuadrado "<<i<<" es" <<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 bucle, se ejecuta la declaración i = 1, y luego la variable i se incrementa en uno con cada paso (i ++ ). 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.