Bucles en la programación
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 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, utilizaremos una construcción especial llamada bucle.
Un buclees una construcción algorítmica en la que una determinada secuencia de comandos se repite varias veces.< /div>
En el lenguaje de programación C++, hay dos tipos de bucles: un bucle variable ( for ) y un bucle condicional ( while y do...while código >)
Comencemos nuestro conocimiento de los ciclos desde el primer tipo.
Bucle con variable (for)
A menudo sucede que sabemos el número de repeticiones de algunas acciones, o podemos calcular el 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) , indicando el número exacto de repeticiones entre paréntesis.
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. La ejecución del ciclo finaliza cuando esta celda es cero.
No existe tal construcción en el lenguaje de programación C++, pero hay una 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*/;
}
Este diseño requiere que nosotros:
1. asignar explícitamente una celda de memoria que será un contador y establecer su valor inicial;
2. se escribió 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. En las siguientes tareas, analizaremos esta construcción con más detalle.
|
bucle for
Un bucle for es un medio para pasar por acciones repetidas. Echemos un vistazo más de cerca a cómo funciona.
La ejecución del bucle for consta de los siguientes pasos:
1. establecer el valor inicial de la variable de ciclo (contador);
2. comprobar condiciones para continuar el ciclo;
3. ejecución de un paso (cuerpo del bucle);
4. cambiando el valor de la variable de bucle.
Además, los pasos 2 a 4 se repiten hasta que la condición & nbsp; en el segundo paso se vuelve falsa. 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 todas las partes con más detalle.
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,
1)i=0; // Asignar el valor inicial igual a cero a la variable de ciclo i.
// Con esta notación, la variable i debe declararse antes del bucle.
2) int i=0; // La variable i se puede declarar directamente en el encabezado del bucle, pero
// en este caso, después de borrar el bucle de la memoria
3) ; // Sin inicialización ni declaración de la variable de ciclo en absoluto,
// en este caso se puede definir antes del bucle.
Expresión 2 es la condición de continuación del ciclo for que se comprueba que es verdadera.
i<=10 // El bucle se ejecutará siempre que la variable i sea menor o igual a 10. La condición puede ser cualquiera.
Expresión 3 cambia el valor de la variable contador. Sin este valor, el bucle se considerará infinito.
i++ // La variable i se incrementará en 1 con cada paso.
|
Si hay una instrucción en el cuerpo del bucle
Si solo hay una instrucción en el cuerpo del bucle, se pueden omitir los paréntesis.
|
Ciclo para -características
Puede haber varias declaraciones separadas por comas en cada parte del encabezado.
Ejemplo
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 en pasos 2 : i += 2 es una abreviatura de i = i + 2 . La variable x aumenta 0,1 veces con cada paso x = x * 0,1 , x *= 0,1 para abreviar.
|
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 .
|