C # while y do ... while loop (con ejemplos)

En este artículo, aprenderemos sobre el ciclo while y do… while en C #, cómo usarlos y las diferencias entre ellos.

En programación, a menudo se desea ejecutar cierto bloque de declaraciones durante un número específico de veces. Una posible solución será escribir esas declaraciones el número de veces requerido. Sin embargo, es posible que el número de repeticiones no se conozca de antemano (durante el tiempo de compilación) o que sea lo suficientemente grande (digamos 10.000).

La mejor solución a este problema es el bucle. Los bucles se utilizan en programación para ejecutar repetidamente un determinado bloque de declaraciones hasta que se cumpla alguna condición.

En este artículo, aprenderemos a usar bucles while en C #.

C # bucle while

La palabra clave while se usa para crear un bucle while en C #. La sintaxis del bucle while es:

 while (expresión-prueba) (// cuerpo de while) 

¿Cómo funciona el bucle while?

  1. El ciclo while de C # consta de un test-expression.
  2. Si test-expressionse evalúa como true,
    1. Las declaraciones dentro del ciclo while se ejecutan.
    2. después de la ejecución, test-expressionse evalúa nuevamente.
  3. Si test-expressionse evalúa como false, el ciclo while termina.

while loop Diagrama de flujo

Ejemplo 1: bucle while

 using System; namespace Loop ( class WhileLoop ( public static void Main(string() args) ( int i=1; while (i<=5) ( Console.WriteLine("C# For Loop: Iteration (0)", i); i++; ) ) ) ) 

Cuando ejecutamos el programa, la salida será:

 C # Bucle for: Iteración 1 C # Bucle for: Iteración 2 C # Bucle for: Iteración 3 C # Bucle for: Iteración 4 C # Bucle for: Iteración 5

Inicialmente, el valor de i es 1.

Cuando el programa llega a la sentencia while,

  • i <=5se evalúa la expresión de prueba . Como i es 1 y 1 <= 5es true, ejecuta el cuerpo del ciclo while. Aquí, la línea se imprime en la pantalla con la iteración 1 y el valor de i se incrementa en 1 para convertirse en 2.
  • Ahora, la expresión de prueba ( i <=5) se evalúa nuevamente. Esta vez también, la expresión devuelve true(2 <= 5), por lo que la línea se imprime en la pantalla y el valor de i ahora se incrementa a 3…
  • Esto continúa y el ciclo while se ejecuta hasta que i se convierte en 6. En este punto, la expresión de prueba se evaluará ay por lo falsetanto el ciclo termina.

Ejemplo 2: bucle while para calcular la suma de los primeros 5 números naturales

 using System; namespace Loop ( class WhileLoop ( public static void Main(string() args) ( int i=1, sum=0; while (i<=5) ( sum += i; i++; ) Console.WriteLine("Sum = (0)", sum); ) ) ) 

Cuando ejecutamos el programa, la salida será:

 Suma = 15

Este programa calcula la suma de los primeros 5 números naturales.

  • Inicialmente, el valor de suma se inicializa a 0.
  • En cada iteración, el valor de suma se actualiza ay sum+iel valor de i se incrementa en 1.
  • Cuando el valor de i llega a 6, la expresión de prueba i<=5devolverá falso y el ciclo termina.

Veamos qué sucede en el programa dado en cada iteración.

Inicialmente, i = 1, suma = 0

Mientras que los pasos de ejecución del bucle
Iteración Valor de i yo <= 5 Valor de la suma
1 1 cierto 0 + 1 = 1
2 2 cierto 1 + 2 = 3
3 3 cierto 3 + 3 = 6
4 4 cierto 6 + 4 = 10
5 5 cierto 10 + 5 = 15
6 6 falso El bucle termina

Entonces, el valor final de la suma será 15.

C # do… while bucle

La palabra clave do y while se utiliza para crear un bucle do… while. Es similar a un ciclo while, sin embargo, hay una gran diferencia entre ellos.

En el ciclo while, la condición se comprueba antes de que se ejecute el cuerpo. Es exactamente lo contrario en do … while loop, es decir, la condición se comprueba después de que se ejecuta el cuerpo.

Por eso, el cuerpo del bucle do… while se ejecutará al menos una vez independientemente de la expresión de prueba.

La sintaxis para do… while loop es:

 do (// cuerpo del bucle do while) while (expresión-prueba); 

¿Cómo funciona el bucle while?

  1. El cuerpo del bucle do… while se ejecuta al principio.
  2. Luego test-expressionse evalúa.
  3. Si test-expressiones true, se ejecuta el cuerpo del bucle.
  4. Cuando el ciclo test-expressionis false, do… while termina.

hacer … mientras que el diagrama de flujo de bucle

Ejemplo 3: bucle do… while

 using System; namespace Loop ( class DoWhileLoop ( public static void Main(string() args) ( int i = 1, n = 5, product; do ( product = n * i; Console.WriteLine("(0) * (1) = (2)", n, i, product); i++; ) while (i <= 10); ) ) ) 

Cuando ejecutamos el programa, la salida será:

 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 5 * 6 = 30 5 * 7 = 35 5 * 8 = 40 5 * 9 = 45 5 * 10 = 50

As we can see, the above program prints the multiplication table of a number (5).

  • Initially, the value of i is 1. The program, then enters the body of do… while loop without checking any condition (as opposed to while loop).
  • Inside the body, product is calculated and printed on the screen. The value of i is then incremented to 2.
  • After the execution of the loop’s body, the test expression i <= 10 is evaluated. In total, the do… while loop will run for 10 times.
  • Finally, when the value of i is 11, the test-expression evaluates to false and hence terminates the loop.

Infinite while and do… while loop

If the test expression in the while and do… while loop never evaluates to false, the body of loop will run forever. Such loops are called infinite loop.

For example:

Infinite while loop

 while (verdadero) (// cuerpo del bucle while) 

Do infinito … mientras bucle

 do (// cuerpo del bucle while) while (verdadero); 

El ciclo infinito es útil cuando necesitamos que un ciclo se ejecute mientras nuestro programa se ejecute.

Por ejemplo, si su programa es una animación, deberá ejecutarlo constantemente hasta que se detenga. En tales casos, es necesario un bucle infinito para seguir ejecutando la animación repetidamente.

Articulos interesantes...