C es más rápido para hacer mientras. Bucle infinito y salida Do

En algunos casos, es necesario ejecutar código hasta lograr el resultado deseado. Para hacer esto, PHP proporciona bucles while, for y foreach.

Mientras que la sintaxis del bucle en PHP

Sintaxis ciclomientras:

Un ejemplo de uso de un bucle while en PHP:

En el ejemplo anterior del bucle while de php, la variable de contador $i primero se inicializa a 0.

La condición del bucle while es $i< 10 . Это означает, что мы проверяем, меньше ли переменная, чем 10.

Todo lo que está encerrado entre llaves son las instrucciones (cuerpo) del bucle. Se repiten mientras la condición sea verdadera. En el ejemplo anterior, se imprime $i en la pantalla y luego la variable del contador se incrementa en 1. Esto es importante para que la condición del bucle eventualmente falle. Si la condición del bucle siempre se cumple, por ejemplo porque olvidó incrementar la variable del contador $i, entonces el script entrará en un bucle infinito. Afortunadamente, PHP dejará de ejecutar tu script después de un tiempo.

Puede hacer que tanto la condición del bucle como el cuerpo del bucle sean tan complejos como desee. Por ejemplo, use while dentro de while php, use php mientras itera a través de la matriz ( array) o definir más de una variable de contador:

$min) ( echo "cuenta1: $cuenta1; cuenta2: $cuenta2
"; $ contador1 += 2; // Expresión abreviada para $contador1 = $contador1 + 2; $contador2 -= 3; // Expresión abreviada para $contador2 = $contador2-3; ) ?>

El ejemplo define dos variables: $ contador 1 y $ contador 2. Una variable se incrementa en 2 y la otra se reduce en 3. El ciclo while se ejecuta siempre que se cumplan ambas condiciones $ count 1< $ max и $ count 2 >$mín.

Efecto de las palabras clave break y continue en un bucle

Usando el comando romper Poder interrumpir la ejecución del bucle while en PHP. Digamos que estamos buscando un usuario específico. Luego puede revisar todos los usuarios en un bucle while. Si encontramos al usuario correcto, detendremos el ciclo usando la palabra clave romper.

Un ejemplo sencillo del uso de la palabra clave break:

mientras ($cuenta< $max) { if ($count == 10) { echo "Останавливаемся на числе 10"; break; } echo "$count,"; $counter += $increment; // увеличивает $count на значение $increment } ?>

Este código itera a través de los números en orden ascendente desde 0 hasta $max = 30, agregando el valor de $incremento a la variable $count, en otras palabras, el número 2. Pero si la variable $count es igual a 10, lo siguiente suceder: salir del bucle while php.

palabra clave continuar no termina el bucle while in php es completamente, pero simplemente omite el resto del cuerpo del bucle. El siguiente ejemplo demuestra esto:

mientras ($cuenta< $max) { $counter += $increment; // увеличивает $payer на $increment if ($count >= 10 && $cuenta<= 15) { echo "Число между 10 и 15
"; continuar; )
eco "$cuenta
"; } ?>

Este bucle comienza en 0 e incrementa el contador hasta $max. La variable $counter siempre se incrementa según el valor de la variable $increment. Es decir, toma valores 0, 2, 4, etc.

Si la variable $count tiene un valor entre 10 y 15, el texto y la declaración se imprimirán en la pantalla. continuar omitirá otras expresiones en el cuerpo del bucle. Como resultado, vemos que los números 10, 12 y 14 no se muestran.

bucle hacer-mientras en PHP

Modificación menor mientras es un bucle do - while. En este caso, la condición del bucle se comprueba sólo después de que se haya ejecutado su cuerpo. Esto significa que el cuerpo del bucle se ejecutará al menos una vez.

Sintaxis del bucle Do- while:

Digamos que queremos generar un número aleatorio que debe estar entre 0 y 10 o entre 20 y 30. Según la definición de la función rand ( $ mín., $máx.), puedes generar aleatoriamente un número entre $mínimo Y $máx.:

10 && $aleatorio< 20) { $random = rand (0, 30); }
echo "Nuestro número aleatorio: $aleatorio"; ?>

Usando el bucle php hacermientras, puede obtener el valor de una expresión sin inicializar la variable $random. El cuerpo del bucle se ejecuta antes de probar la condición. Entonces el ejemplo anterior se vería así:

10 && $aleatorio< 20);
echo "Nuestro número aleatorio: $aleatorio"; ?>

Para un principiante, el ciclo do- while puede resultar un poco confuso. Si no comprende completamente su propósito, no es un problema. Los bucles Do- while rara vez se utilizan en la práctica.

Bucles de JavaScript Proporcionar ejecución repetida de cálculos repetitivos. Optimizan el proceso de codificación ejecutando la misma declaración o bloque de declaraciones que forman el cuerpo de un bucle un número específico de veces (usando una variable de contador) o mientras una condición específica es verdadera. Los bucles iteran sobre una secuencia de valores. Ejecutar un bucle una vez se llama iteración.

El rendimiento de un bucle se ve afectado por el número de iteraciones y el número de operaciones realizadas en el cuerpo del bucle de cada iteración.

Los siguientes operadores de bucle existen en JavaScript:

1) for se utiliza cuando sabes de antemano cuántas veces necesitas hacer algo;
2) for...in se utiliza para recorrer las propiedades de los objetos;
3) while se usa cuando no sabes cuántas veces necesitas hacer algo;
4) do... while funciona de manera similar a la declaración while. La diferencia es que do... while siempre ejecuta la expresión dentro de las llaves al menos una vez, incluso si la prueba de condición devuelve false .

Tipos de bucles en JavaScript, control de bucles

1. Para bucle

El bucle for se utiliza para iterar sobre los elementos de matrices u objetos similares a matrices, como argumentos y HTMLCollection. La condición se verifica antes de cada iteración del ciclo. Si la verificación tiene éxito, se ejecuta el código dentro del bucle; de ​​lo contrario, el código dentro del bucle no se ejecuta y el programa continúa desde la primera línea inmediatamente después del bucle.

El siguiente bucle imprimirá la línea ¡Hola, JavaScript! cinco veces.

Para (var i = 0; i< 5; i++) { console.log(i + ": Hello, JavaScript!"); }
Arroz. 1. Resultado de ejecutar un bucle for en la consola

1.1. Cómo funciona el bucle for

El bucle for consta de tres operaciones diferentes:

Paso 1. inicialización var i = 0; — declaración de una variable de contador que se comprobará durante la ejecución del bucle. Esta variable se inicializa con el valor 0. Muy a menudo, las variables denominadas i, j y k actúan como contadores de bucle.

Paso 2. verificación de condición i< 5; — условное выражение, если оно возвращает true , тело цикла (инструкция в фигурных скобках) будет выполнено. В данном примере проверка условия идёт до тех пор, пока значение счётчика меньше 5 .

Paso 3. operación final i++: operación de incremento del contador, aumenta el valor de la variable var i en uno. En lugar de la operación de incremento, también se puede utilizar la operación de decremento.

Al final del ciclo, la variable var i se almacena en 1. La siguiente iteración del bucle se ejecuta para (var i = 1; i< 5; i++) { } . Условное выражение вычисляется снова, чтобы проверить, является ли значение счётчика i всё ещё меньше 5 . Если это так, операторы в теле цикла выполняются ещё раз. Завершающая операция снова увеличивает значение переменной на единицу. Шаги 2 и 3 повторяются до тех пор, пока условие i < 5; возвращает true .

1.2. Imprimir valores de matriz

Para imprimir los valores de una matriz usando un bucle for, debe usar la propiedad de longitud de la matriz. Esto le ayudará a determinar la cantidad de elementos en la matriz y realizar un bucle la misma cantidad de veces.

El siguiente script mostrará cinco mensajes con los nombres de los colores:

Var flores = ["Rosa", "Lirio", "Tulipán", "Jazmín", "Orquídea"]; para (var i = 0; i< flowers.length; i++){ alert(flowers[i] + " - это цветок."); }

Si el valor de la propiedad de longitud no cambia durante el ciclo, puede almacenarlo en una variable local y luego usar esa variable en una expresión condicional. De esta manera, puede aumentar la velocidad del bucle, ya que el valor de la propiedad de longitud se recuperará solo una vez durante toda la duración del bucle.

Var flores = ["Rosa", "Lirio", "Tulipán", "Jazmín", "Orquídea"], len = flores.longitud; para (var i = 0; i

2. Bucle para...en

Los bucles For...in se utilizan para recorrer las propiedades de objetos que no son de matriz. Este bypass también se llama transferir. Al recorrer, se recomienda utilizar el método hasOwnProperty() para filtrar las propiedades heredadas del prototipo.

Por ejemplo, creemos un objeto usando un objeto literal.

Usuario Var = (nombre: "Alice", edad: 25, país: "Rusia"); para (var prop en usuario) ( console.log(prop + ": " + usuario); )
Arroz. 2. Resultado de ejecutar el bucle for...in en la consola

Supongamos que en un escenario antes o después de que se creara el objeto de usuario, el prototipo del objeto Object se amplió con un método clone() adicional.

If (typeof Object.prototype.clone === "indefinido") ( Object.prototype.clone = function () (); )

Dado que el intérprete comprueba constantemente la cadena de herencia del prototipo, todos los objetos obtienen acceso automáticamente al nuevo método.

Arroz. 3. Resultado de repetir el bucle for...in en la consola

Para evitar la detección de este método al enumerar las propiedades del objeto de usuario, se utiliza el método hasOwnProperty(), que filtrará las propiedades del prototipo.

Usuario Var = (nombre: "Alice", edad: 25, país: "Rusia"); if (typeof Object.prototype.clone === "indefinido") ( Object.prototype.clone = function () (); ) for (var prop en usuario) ( if (user.hasOwnProperty(prop)) ( console.log (prop + ": " + usuario);
Arroz. 4. El resultado de enumerar las propiedades de un objeto usando el método hasOwnProperty()

3. Mientras bucle

El bucle while es un bucle con una verificación preliminar de una expresión condicional. La declaración dentro del bucle (bloque de código entre llaves) se ejecutará si la expresión condicional se evalúa como verdadera. Si la primera comprobación devuelve false, el bloque de instrucciones no se ejecutará ni una sola vez.

Una vez completada la iteración del bucle, se prueba nuevamente la expresión condicional para determinar si es verdadera y el proceso se repite hasta que la expresión se evalúa como falsa. En este caso, el programa continuará desde la primera línea inmediatamente después del bucle (si lo hay).

Este bucle mostrará la tabla de multiplicar del número 3:

Var i = 1; var mensaje = ""; mientras (yo< 10) { msg+= i + " x 3 = " + (i * 3) + "
"; i++; ) document.write(msg);
Arroz. 5. Resultado de ejecutar el ciclo while

4. Hacer... bucle while

Bucle hacer...mientras; Comprueba la condición de continuación después de ejecutar el bucle. A diferencia del bucle while, en do... while; El cuerpo del bucle se ejecuta al menos una vez, ya que la condición se comprueba al final del bucle, no al principio. Este bucle se utiliza con menos frecuencia que while , ya que en la práctica es rara una situación en la que se requiere la ejecución de al menos un bucle.

Resultado de la variable = ""; var i = 0; hacer (i += 1; resultado += i + " "; ) mientras (i< 5); document.write(result);
Arroz. 6. Resultado de ejecutar el bucle do... while

En el siguiente ejemplo, las declaraciones dentro de un bucle se ejecutan una vez, incluso si la condición no es verdadera.

Var i = 10; hacer (document.write(i + " "); i++; ) mientras (yo< 10);

5. Bucles infinitos

Cuando creas cualquier bucle, puedes crear un bucle infinito que nunca terminará. Un bucle de este tipo podría continuar ejecutándose mientras la computadora del usuario esté funcionando. La mayoría de los navegadores modernos pueden detectar esto y solicitar al usuario que deje de ejecutar el script. Para evitar crear un bucle infinito, debe estar seguro de que la condición dada devolverá falso en algún momento. Por ejemplo, el siguiente bucle define una condición que nunca devuelve falso porque nunca seré menor que 10:

For (var i = 25; i > 10; i++) ( document.write("Esta oración se ejecutará para siempre...
"); }

6. Bucles anidados

Un bucle dentro de otro bucle se llama anidado. Con cada iteración del bucle, el bucle anidado se ejecuta por completo. Los bucles anidados se pueden crear utilizando un bucle for y un bucle while.

Para (var cuenta = 1; cuenta< 3; count++) { document.write(count + ". Строка цикла
"); para (var recuento de nidos = 1; recuento de nidos< 3; nestcount++) { document.write("Строка вложенного цикла
"); } }
Arroz. 7. Resultado de ejecutar un bucle for anidado

7. Gestión del ciclo

El bucle se puede controlar mediante declaraciones de interrupción; y continuar; .

7.1. descanso del operador;

descanso del operador; finaliza la ejecución del bucle actual. Se utiliza en casos excepcionales en los que el bucle no se puede ejecutar por algún motivo, como si la aplicación encuentra un error. Muy a menudo el operador del descanso; es parte de la construcción if.

Cuando la declaración se rompe; usado sin una etiqueta, le permite salir de un bucle o una declaración de cambio. El siguiente ejemplo crea un contador cuyos valores deben oscilar entre 1 y 99, pero la declaración break rompe el ciclo después de 14 iteraciones.

Para (var i = 1; i< 100; i++) { if (i == 15) { break; } document.write(i); document.write("
"); }
Arroz. 8. El resultado del operador de interrupción en el bucle for.

Para bucles anidados, la declaración break; Se utiliza con una etiqueta que termina la instrucción nombrada. Una etiqueta le permite salir de cualquier bloque de código. Una declaración con nombre puede ser cualquier declaración externa a una declaración de interrupción; . La etiqueta puede ser el nombre de una declaración if o el nombre de un bloque de declaraciones entre llaves solo para asignar una etiqueta a ese bloque. Entre la palabra clave break; y el nombre de la etiqueta no permite una nueva línea.

Bucle exterior: for(var i = 0; i< 10; i++) { innerloop: for(var j = 0; j < 10; j++) { if (j >3) romper; // Salga del bucle más interno si (i == 2) rompe el bucle interno; // Lo mismo si (i == 4) rompe el bucle externo; // Salir del bucle externo document.write("i = " + i + " j = " + j + "
"); ) ) document.write("FINAL i = " + i + " j = " + j + "
");

7.2. El operador continúa;

El operador continúa; detiene la iteración actual del bucle e inicia una nueva iteración. En este caso, el bucle while regresa directamente a su condición, y el bucle for primero evalúa la expresión de incremento y luego regresa a la condición.

Este ejemplo mostrará todos los números pares:

Var i;<= 10; i++) { if (i % 2 !== 0) { continue; } document.write("
para(yo = 1; yo número par
= " + yo); )

Arroz. 9. El resultado del operador continuar en el bucle for.

El operador continúa; También se puede utilizar en bucles anidados con una etiqueta.
");
Bucle exterior: para (var i = 0; i "); para (var j = 0; j ");

) ) document.write("Todos los bucles completados"+"

Arroz. 10. El resultado del operador continuar con una etiqueta.

A menudo, al programar tareas, es necesario que la misma secuencia de comandos se ejecute varias veces. Este proceso se llama cíclico. Un algoritmo en el que una determinada secuencia de comandos se repite varias veces con nuevos datos de entrada se denomina cíclico.

Para implementar un proceso cíclico, los lenguajes de programación utilizan bucles. El lenguaje de programación C/C++ tiene operadores de bucle fáciles de usar.

  • 2. Tipos de operadores de bucle en C++
  • Hay 3 tipos de operadores de bucle en C++:
  • para bucle;

bucle while con condición previa;

hacer...mientras bucle con poscondición.

Cada uno de los operadores de bucle tiene sus propias características de aplicación. Cualquiera de las declaraciones de bucle anteriores se puede reemplazar por otra.

3. Para bucle. Forma general de la declaración de bucle for

En C++, el bucle for puede tener una implementación y aplicación muy amplia. Un bucle for también se denomina bucle con un parámetro. inicialización ; La forma general de la declaración de bucle for es: ; para ( ) { // ... }
  • inicialización expresión
  • La forma general de la declaración de bucle for es: aumentar
  • para (– una operación de asignación en la que se establece el valor inicial de una variable de bucle. Esta variable es un contador que controla el funcionamiento del bucle. El número de variables que controlan el bucle for puede ser dos o más;

– una expresión condicional que verifica el valor de una variable de bucle. En esta etapa, se determina la ejecución posterior del ciclo; La forma general de la declaración de bucle for es:– determina cómo cambiará el valor de la variable del bucle después de cada iteración.

El bucle for se ejecuta hasta que el valor

es igual a verdadero. Tan pronto como el valor de la expresión se vuelve falso, el bucle detiene la ejecución y se ejecuta la declaración que sigue al bucle for.

4. Ejemplos de uso del operador de bucle for Ejemplo 1.<=300; i++) sum = sum + i; // sum = 40200

Encuentra la suma de todos los números enteros del 100 al 300.// suma de números del 100 al 300 suma interna; ent i; suma = 0; para (yo = 100; yo Ejemplo 2.

Dado un numero natural

// s = 1 + 1/2 + 1/3 + ... + 1/n int n; flotador s = 0; ent i; // ingresa el valor n norte = 4; para (yo = 1; yo<=n; i++) s = s + 1.0/i; // s = 2.08333

En este ejemplo, para obtener un valor real, en lugar del número 1 (tipo entero), se ingresa el número 1.0 (tipo real). Operación de división

da un resultado real.

Ejemplo 3. Calcular suma

Dado un numero natural

flotador; ent i; s = 0; para (i=50; i>=1; i--) s = i + Math::Sqrt(s); s = Matemáticas::Sqrt(s); // s = 1,7579

En este ejemplo, el valor del contador i en el bucle for cambia en orden descendente. Este valor se reduce en 1 en cada iteración del ciclo. Al resolver este tipo de problemas, el valor del contador de bucle debe cambiar del último al primer valor. En este caso, de 50 a 1.

Los cálculos utilizaron la función Sqrt() de la biblioteca Math.

5. ¿Qué opciones existen para implementar un bucle for?

El bucle for puede tener varias implementaciones. El número de variables que controlan el bucle for puede ser una, dos o más.

Es posible que a un bucle for le falte alguno de los elementos del encabezado del bucle:

  • inicialización;
  • expresión;
  • crecimiento

Ejemplo un operador de bucle for que tiene 2 variables de control. Encuentra los significados del producto:

D = (1 + cos(9)) (2 + cos(8)) … (9 + cos(1))

Dado un numero natural

// D = (1 + cos(9))*(2 + cos(8))* ... *(9 + cos(1)) int i, j; flotador d; d = 1; para (i = 1, j = 9; yo<=9; i++, j--) d = d * (i + Math::Cos(j));

En el fragmento de código anterior, el bucle for utiliza dos variables que cambian su valor ( i , j ).

6. Mientras bucle. forma general

El bucle while se denomina bucle de condición previa. La forma general de un bucle while es la siguiente:

mientras ( La forma general de la declaración de bucle for es: ) { // secuencia de operadores // ... }

Dónde La forma general de la declaración de bucle for es:– cualquier expresión válida en C++. La secuencia de declaraciones se ejecuta hasta que se cumpla el condicional. La forma general de la declaración de bucle for es: devuelve verdadero. Tan pronto como La forma general de la declaración de bucle for es: se vuelve igual a false, la ejecución del bucle while finaliza y el control se transfiere a la siguiente instrucción después del bucle while.

7. Ejemplos de uso del operador de bucle while

es igual a verdadero. Dado un número real a. Encuentra el más pequeño suma interna; ent i; suma = 0; para (yo = 100; yo, en el cual

Consideraciones. Al principio el valor de la suma es menor que el valor a. A medida que pasa cada iteración, el valor de la suma aumenta gradualmente. En algún momento (en algún valor suma interna; ent i; suma = 0; para (yo = 100; yo) esta cantidad será mayor que el valor a. Este momento (es decir suma interna; ent i; suma = 0; para (yo = 100; yo) necesita ser arreglado. para calcular suma interna; ent i; suma = 0; para (yo = 100; yo, es conveniente un bucle while.

Dado un numero natural

flotar un; int n; suma flotante; //ingresa el valor a a = 2,2; norte = 1; suma = 1,0/n; mientras (suma< a) { n++; sum = sum + 1.0/n; } // n = 5; sum = 2.283334

Encuentra la suma de todos los números enteros del 100 al 300. Se da un número natural. Determina el número de dígitos 3 que contiene.

Dado un numero natural

// número de dígitos 3 en número int n; // número natural dado intk; // número de dígitos 3 en número int t, d; // variables adicionales // ingresa el valor n norte = 12343; t = norte; //hace una copia de n k = 0; mientras (t>0) ( d = t % 10; //seleccionamos el último dígito si (d == 3) k++; t = t/10;// reducir la profundidad de bits del número

) // k = 2

En este ejemplo, el valor del número original se dividirá por 10 en cada iteración. Por lo tanto, la profundidad de bits del número disminuirá. En cada iteración, utilizando la operación % del lenguaje C++, se toma el resto de la división entre 10, es decir, se determina el último dígito del número. Si este dígito es 3, entonces el contador k se incrementa en 1.

8. Forma general del operador de bucle do… while

Se recomienda utilizar el bucle do... while en los casos en que la iteración deba realizarse al menos una vez. A diferencia de los bucles for y while, en un bucle do... while la condición se comprueba al salir del bucle (no al entrar en el bucle). El bucle do... while también se denomina bucle de poscondición.

La forma general de la instrucción del bucle do... while es: // secuencia de operadores hacer( La forma general de la declaración de bucle for es: );

Dónde La forma general de la declaración de bucle for es:// ... ) mientras (

– una expresión condicional que verifica el valor de una variable de bucle. En esta etapa, se determina la ejecución posterior del ciclo.

Las llaves en este bucle son opcionales. La forma general de la declaración de bucle for es: El ciclo funciona de la siguiente manera. Primero, se ejecuta el cuerpo del bucle. Luego se verifica el valor La forma general de la declaración de bucle for es:(expresión condicional). si el valor La forma general de la declaración de bucle for es: es verdadero (verdadero), el cuerpo del bucle se ejecuta nuevamente. Una vez que el valor

se vuelve falso, la ejecución del bucle se detiene

9. Ejemplos de uso del operador de bucle do... while Ejemplo.

Usando un bucle do… while, encuentre el valor de la suma:

Dado un numero natural

S = 1 + 3 +… + 99<=99); // s = 2500
// s = 1 + 3 + ... + 99 int t; int s; s = 0; t = 1; hacer ( s = s + t; t = t + 2; ) mientras (t

10. Bucles anidados. Ejemplos de uso

es igual a verdadero. Los bucles anidados se pueden utilizar, por ejemplo, cuando se trabaja con matrices bidimensionales (multidimensionales) (poner a cero una matriz, calcular sumas, productos, etc.).

Calcular producto

Dado un numero natural

D = 1 · (1 + 2) · (1 + 2 + 3) · … · (1 + 2 + … + 9)// D = 1 * (1+2) * (1+2+3) * ... * (1+2+...+9) flotador d;// el resultado es el producto int i, j;// contadores de bucle int s;// variable adicional<=9; i++) { s = 0; for (j = 1; j<=i; j++) s = s + j; d = d * s; } // d = 2.571912E+09

d = 1; para (yo = 1; yo i En este ejemplo, en un bucle for con un contador j .

Encuentra la suma de todos los números enteros del 100 al 300. ejecutando un bucle for con un contador

Dada una matriz bidimensional de números enteros de tamaño 6x9. Escriba el valor 5 en todos los elementos de la matriz. entero M;// matriz bidimensional de números enteros<6; i++) for (j=0; j<9; j++) M[i][j] = 5;
int i, j; para (i=0; yo

11. ¿Qué es un bucle sin fin?

Un bucle infinito es un bucle que nunca termina.

Además, a veces desea que los bucles contengan un código de terminación especial mediante una declaración de interrupción.

es igual a verdadero. Bucle infinito con declaración for:

para (; ;) ( // secuencia de operadores C++. Declaración de selección de interruptor

Este artículo cubrirá dos ciclos más: mientras Y hacer mientras. Son muy similares entre sí. Su sintaxis es:

Fig.1 - sintaxis while
Fig.2 - sintaxis do while

La única diferencia es que cuando comienza el ciclo mientras, el estado se comprueba inmediatamente. Si devuelve falso ( FALSO), entonces el cuerpo del bucle no se ejecutará ni una sola vez. Y al usar hacer mientras, los operadores en el cuerpo del bucle se ejecutarán inmediatamente y luego se verificará la condición entre paréntesis () después de la palabra clave mientras. Y de la misma manera, al regresar FALSO, el ciclo termina; de lo contrario, se ejecuta el siguiente paso (iteración). Es decir, el cuerpo del bucle. hacer mientras se ejecutará al menos una vez, en cualquier escenario.

Hablemos de ellos por separado. Empecemos con mientras. Como se mencionó anteriormente, para que el cuerpo del bucle se ejecute, es necesario que al verificar las condiciones entre paréntesis () , se devolvió verdadero.

Se verifica la condición y se ejecuta el cuerpo hasta que la condición regrese. FALSO. De esto resulta que para interrumpir el ciclo debe suceder algo en su cuerpo que afectará la verificación de la condición.

Este puede ser el valor de una variable ingresada por el usuario desde el teclado, que está presente en la condición de prueba del bucle. O podría ser un aumento o disminución en la variable de control, que también está involucrada en la condición de prueba.

Consideremos un ejemplo en el que se cambia el valor de una variable de control en el cuerpo de un bucle. Planteamiento del problema: el usuario quiere recargar la cuenta de su tarjeta a través del terminal. Ingresa la cantidad desde el teclado. Proporcione al programa la capacidad de cambiar una cantidad ingresada erróneamente.

Ejemplo: bucle while C++

#incluir usando el espacio de nombres estándar; int main() ( setlocale(LC_ALL, "rus"); pago doble = 0; int exit = 1; // variable de control while (salida == 1) ( cout<< "Введите сумму для пополнения счета: "; cin >> pago;<< "Оплатить и выйти - нажмите 0. Изменить сумму - нажмите 1: "; cin >corte<< "\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n"; cout << "Ваш счет пополнен на " << payment << "$ Спасибо! До свидания!"; cout << "\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n"; return 0; }

#incluir

> salir; // cambiar la variable de control) cout

usando el espacio de nombres estándar;

int principal()

pago doble = 0 ; salida int = 1;

// variable de control

mientras (salir == 1)<< ;

corte

mientras (salir == 1)<< ;

cin >> pago ; cin >> salir ;

mientras (salir == 1)<< ;

mientras (salir == 1)<< // cambiar la variable de control<< payment << "Su cuenta ha sido recargada con ";

mientras (salir == 1)<< "¡$Gracias! ¡Adiós!";

"\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~\ n\n"

devolver 0; variable de control salida mientras declarado e inicializado a uno antes del ciclo – línea 9. Por lo tanto, al ingresar al bucle, verificar la condición mientras (salir == 1) regresaráverdadero) y el programa procederá a ejecutar el cuerpo del bucle. Esta condición suele escribirse de esta manera: mientras (salir). Con esta condición el programa funciona igual que el anterior. Esto se explica por el hecho de que cualquier valor de la variable variable de control El compilador interpretará un valor distinto de cero como regresará. El cuerpo del bucle se ejecutará hasta que el usuario cambie el valor de esta variable a 0. Luego mientras (salir) será equivalente mientras (0). Es decir, la condición de prueba es falsa. Esta entrada es más común porque es más corta, aunque no tan clara como la del ejemplo. Sólo tienes que acostumbrarte.

En las líneas 16 y 17 se le hace una pregunta al usuario y se le pide que elija: corte<< “Оплатить и выйти – нажмите 0. Изменить сумму – нажмите 1: “; Es decir, si cometió un error al ingresar el monto de reposición, tiene la oportunidad de corregirlo presionando 1.

Tan pronto como el usuario ingrese la cantidad correcta y presione 0 (que corresponde a “Pagar y salir”), el ciclo saldrá y el programa continuará funcionando. Como resultado, aparecerá en la pantalla un mensaje sobre el monto de la reposición de la cuenta (líneas 20 a 22).

Resultado:

El mismo problema se puede resolver usando un bucle. hacer mientras. En este caso, inicialmente el valor de la variable variable de control podría ser cualquier cosa. En cualquier caso, el bucle ejecutará el cuerpo y ofrecerá tomar una decisión. Miremos:

#incluir usando el espacio de nombres estándar; int main() ( setlocale(LC_ALL, "rus"); pago doble = 0; int exit = 0; hacer ( cout<< "Введите сумму для пополнения счета: "; cin >> pago;<< "Оплатить и выйти - нажмите 0. Изменить сумму - нажмите 1: "; cin >> salir;<< "\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n"; cout << "Ваш счет пополнен на " << payment << "$ Спасибо! До свидания!"; cout << "\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n"; return 0; }

#incluir

> salir; // cambiar la variable de control) cout

usando el espacio de nombres estándar;

) mientras (salida == 1);

int principal()

corte

mientras (salir == 1)<< setlocale(LC_ALL, "rus");;

corte

mientras (salir == 1)<< int salida = 0;;

cin >> pago ;

"Ingrese el monto para recargar su cuenta: "

"Pagar y salir: presione 0. Cambiar monto: presione 1: "

El bucle más utilizado es el bucle for, su estructura se muestra a continuación:

For (/*inicializando una variable; condición; cambiando el valor de una variable*/) ( // cuerpo del bucle (aquí está el código que se repetirá) )

La inicialización de variables le permite declarar una variable y asignarle un valor, o asignar un valor a una variable existente. En segundo lugar, el valor de esta variable le dice al programa si la condición del bucle es verdadera o falsa. Y mientras la condición del bucle sea verdadera, el bucle debería continuar repitiéndose. La variable de control debe cambiarse de alguna manera; de lo contrario, el bucle será interminable; por ejemplo, puede actualizarlo así: i++, i = i + 2, o incluso i = random(5). Tenga en cuenta que cada sección del encabezado del bucle está separada por un punto y coma, lo cual es muy importante. También tenga en cuenta que cada una de las secciones puede estar vacía, aunque el punto y coma aún debería estar ahí. Si la condición no está vacía, se evalúa como verdadera y el bucle se ejecutará hasta que algo haga que la condición del bucle sea falsa. Veamos un ejemplo sencillo del uso de un bucle for.

#incluir int main() ( int i; /* El bucle se ejecutará hasta que i< 10, при этом после каждой итерации переменная i будет инкрементироваться(увеличиваться на 1)*/ for (i = 0; i < 10; i++) { /* Имейте ввиду что условие проверяется перед каждым повторением, то есть работа цикла остановится когда переменная i будет равна 10*/ printf("%d\n", i); } getchar(); }

En realidad, el resultado del programa:

0 1 2 3 4 5 6 7 8 9

Este programa es un ejemplo muy simple del uso de un bucle. A la variable i se le asigna cero, y mientras i es menor que 10, el valor de la variable i se imprime en la pantalla, después de lo cual se agrega uno a la variable i y todo se repite nuevamente hasta que la condición se vuelve falsa. Tenga en cuenta que el valor de la variable i se incrementa después de que el código en el cuerpo del bucle se ejecuta por primera vez.

El bucle while es un bucle muy simple, aquí está su estructura:

Mientras (/*condición*/) ( // cuerpo del bucle - aquí está el código que debe repetirse)

El cuerpo del bucle comienza a ejecutarse si la condición del bucle es verdadera. La condición es una expresión booleana, como x == 1 o x! = 7 (x no es igual a 7). Es decir, la condición puede ser absolutamente cualquier cosa: cualquier combinación de expresiones lógicas. Aquí hay un ejemplo de una condición compuesta: x == 3 || x > 10, esta condición será verdadera si x es igual a tres o x es mayor que 10. Tenga en cuenta que while tiene una sección de inicialización o una sección de modificación de variable controlada, por lo que antes de usar este bucle, primero debe declarar la variable que Se probará en el bucle de condición y en el cuerpo del bucle se cambiará el valor de esta variable. En realidad, veamos un ejemplo simple usando un bucle while:

#incluir int main() ( int var = 0; /* asegúrese de declarar la variable primero */ while (var< 10) { /* пока значение переменной var меньше 10 */ printf("%d\n", var); var++; /* обновляем значение в переменной var(если этого не делать, то условие цикла всегда будет истинным, тогда цикл будет - бесконечным) */ } getchar(); }

Entonces miramos otro ejemplo de uso de bucles y, como puede ver, no hay nada complicado en este ejemplo. Imagínese que el bucle siempre comienza a repetir el código que está en el cuerpo del bucle. Tan pronto como se ejecuta la última declaración en el cuerpo del bucle, se verifica la condición del bucle. Si la condición sigue siendo verdadera, entonces el bucle continúa funcionando, y si la condición es falsa, entonces se sale del bucle.

Hay otro tipo de bucle: hazlo mientras. Este bucle es útil cuando necesita ejecutar el código al menos una vez. Veamos su estructura:

Hacer (//cuerpo del bucle) while (/*condición*/);

La estructura es muy simple, como puede ver, la condición está al final del ciclo y, en consecuencia, la condición se verificará después de ejecutar el código en el cuerpo del ciclo. Tenga en cuenta que la condición se prueba al final del ciclo, no al principio, por lo que el bloque de código en el cuerpo del ciclo se ejecutará al menos una vez. Si la condición es verdadera, el bucle vuelve al principio y lo ejecuta nuevamente. Un bucle do while es casi lo mismo que un bucle while, excepto que se garantiza que el cuerpo del bucle se ejecutará al menos una vez. El bucle while primero verifica la condición y luego ejecuta el bloque de código en el cuerpo, si la condición es verdadera, por supuesto, mientras que el bucle do while primero ejecuta el código en el cuerpo del bucle y luego verifica la condición, y si es cierto, entonces continúa ejecutándose. A continuación se muestra un ejemplo del bucle do while:

#incluir int main() ( int i = 0; do ( /* Imprime un mensaje y sale */ printf("¡Hola! Estoy haciendo un bucle while\n"); ) while (i != 0); getchar() ; )

Tenga en cuenta el punto y coma al final del bucle; siempre debe colocar ese punto y coma como en el ejemplo anterior. Muy a menudo este punto y coma no se incluye, lo que provoca un error de compilación. Sólo este ciclo termina con punto y coma; el resto de los ciclos no tienen nada al final excepto el paréntesis de cierre. Tenga en cuenta que en el ejemplo anterior, este bucle se ejecutará una vez porque primero se imprime el mensaje y luego se verifica la condición del bucle.




Arriba