C# while y do...while bucle
C# while y do...while loop
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 sentencias por un número específico de veces. Una posible solución será escribir esas declaraciones la cantidad de veces requerida. Sin embargo, es posible que el número de repeticiones no se conozca de antemano (durante el tiempo de compilación) o sea lo suficientemente grande (digamos 10000).
La mejor solución a tal problema es bucle. Los bucles se utilizan en la 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# ciclo while
El mientras La palabra clave se usa para crear un bucle while en C#. La sintaxis del ciclo while es:
while (test-expression) { // body of while }
¿Cómo funciona el ciclo while?
- C# while loop consta de un
test-expression
. - Si el
test-expression
se evalúa atrue
,- se ejecutan las sentencias dentro del bucle while.
- después de la ejecución, el
test-expression
se vuelve a evaluar.
- Si el
test-expression
se evalúa afalse
, el ciclo while termina.
Diagrama de flujo de bucle while
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# For Loop: Iteration 1 C# For Loop: Iteration 2 C# For Loop: Iteration 3 C# For Loop: Iteration 4 C# For Loop: Iteration 5
Inicialmente el valor de i es 1.
Cuando el programa llega a la instrucción de ciclo while,
- la expresión de prueba
i <=5
se evalúa. Desde i es 1 y1 <= 5
estrue
, 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 vuelve a evaluar. Esta vez también, la expresión devuelvetrue
(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á como
false
y por lo tanto el ciclo termina.
Ejemplo 2:ciclo 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á:
Sum = 15
Este programa calcula la suma de los primeros 5 números naturales.
- Inicialmente el valor de sum se inicializa a 0.
- En cada iteración, el valor de sum se actualiza a
sum+i
y el valor de i se incrementa en 1. - Cuando el valor de i llega a 6, la expresión de prueba
i<=5
devolverá falso y el ciclo terminará.
Veamos qué sucede en el programa dado en cada iteración.
Inicialmente, i =1, suma =0
Iteración | Valor de i | i<=5 | Valor de la suma |
---|---|---|---|
1 | 1 | verdadero | 0+1 =1 |
2 | 2 | verdadero | 1+2 =3 |
3 | 3 | verdadero | 3+3 =6 |
4 | 4 | verdadero | 6+4 =10 |
5 | 5 | verdadero | 10+5 =15 |
6 | 6 | falso | El bucle termina |
Entonces, el valor final de sum serán 15.
C# hacer...bucle while
El hacer y mientras La palabra clave 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 verifica antes de que se ejecute el cuerpo. Es exactamente lo contrario en do...while bucle, es decir, la condición se comprueba después de que se ejecuta el cuerpo.
Por eso, el cuerpo del ciclo do...while se ejecutará al menos una vez independientemente de la expresión de prueba.
La sintaxis del bucle do...while es:
do { // body of do while loop } while (test-expression);
¿Cómo... funciona el ciclo while?
- El cuerpo del bucle do...while se ejecuta al principio.
- Entonces el
test-expression
se evalúa. - Si el
test-expression
estrue
, se ejecuta el cuerpo del bucle. - Cuando el
test-expression
esfalse
, do...while termina el bucle.
hacer...mientras diagrama de flujo
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
Como podemos ver, el programa anterior imprime la tabla de multiplicar de un número (5).
- Inicialmente, el valor de i es 1. El programa, luego ingresa al cuerpo del ciclo do...while sin verificar ninguna condición (a diferencia del ciclo while).
- Dentro del cuerpo, producto se calcula y se imprime en la pantalla. El valor de i luego se incrementa a 2.
- Después de la ejecución del cuerpo del bucle, la expresión de prueba
i <= 10
se evalúa. En total, el bucle do...while se ejecutará 10 veces. - Finalmente, cuando el valor de i es 11, la expresión de prueba se evalúa como
false
y por lo tanto termina el bucle.
Infinito while y do...while loop
Si la expresión de prueba en el ciclo while y do...while nunca se evalúa como false
, el cuerpo del bucle se ejecutará para siempre. Estos bucles se denominan bucles infinitos.
Por ejemplo:
Bucle while infinito
while (true) { // body of while loop }
Do infinito...bucle while
do { // body of while loop } while (true);
El ciclo infinito es útil cuando necesitamos que un ciclo se ejecute mientras se ejecuta nuestro programa.
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.
Lenguaje C
- Identificadores y palabras clave de C#
- Asociatividad y precedencia de operadores de C#
- Clase y objeto de C#
- Clase y método abstractos de C#
- C# Clase parcial y método parcial
- Clase y método sellados de C#
- Diferencia entre while y do-while:explicada con ejemplos
- Programa numérico Palindrome en Java usando while &for Loop
- C - Constantes y Literales
- C# - Constantes y literales
- Programación de SINUMERIK 840D Uso de bucle WHILE