El bucle en un lenguaje de programación es una forma de ejecutar una declaración o un conjunto de declaraciones varias veces según el resultado de la condición que se evaluará para ejecutar declaraciones. La condición de resultado debe ser verdadera para ejecutar sentencias dentro de bucles.
Los bucles se dividen principalmente en dos categorías:
Bucles controlados por entrada: Los bucles en los que la condición que se va a probar está presente al comienzo del cuerpo del bucle se conocen como bucles controlados por entrada . while loop y for loop son bucles controlados por entrada.
1. ciclo while La condición de prueba se da al comienzo del ciclo y todas las declaraciones se ejecutan hasta que la condición booleana dada se cumple. Cuando la condición se vuelve falsa, el control estará fuera del ciclo while.
Sintaxis:
while (boolean condition) { loop statements... }
Diagrama de flujo:
Ejemplo:
// C# program to illustrate while loop using System; class whileLoopDemo { public static void Main() { int x = 1; // Exit when x becomes greater than 4 while (x <= 4) { Console.WriteLine("GeeksforGeeks"); // Increment the value of x for // next iteration x++; } } }
Producción:
GeeksforGeeks GeeksforGeeks GeeksforGeeks GeeksforGeeks
2. for loop
for loop tiene una funcionalidad similar a while loop pero con una sintaxis diferente. Se prefieren los bucles for cuando se conoce de antemano el número de veces que se van a ejecutar las sentencias de bucle. La inicialización de la variable de bucle, la condición que se va a probar y el incremento/decremento de la variable de bucle se realizan en una línea en el bucle for, lo que proporciona una estructura de bucle más corta y fácil de depurar.
for (loop variable initialization ; testing condition; increment / decrement) { // statements to be executed }
Diagrama de flujo:
1. Inicialización de la variable de bucle: Aquí se inicializa la expresión/variable que controla el bucle. Es el punto de partida del bucle for. Se puede usar una variable ya declarada o se puede declarar una variable, solo local para bucle.
2. Condición de prueba: la condición de prueba para ejecutar sentencias de bucle. Se utiliza para probar la condición de salida de un bucle. Debe devolver un valor booleano verdadero o falso . Cuando la condición se vuelve falsa, el control estará fuera del ciclo y el ciclo finaliza.
3. Incremento/Decremento: La variable de lazo se incrementa/decrementa de acuerdo con el requisito y luego el control cambia a la condición de prueba nuevamente.
Nota: La parte de inicialización se evalúa solo una vez cuando se inicia el bucle for.
Ejemplo:
// C# program to illustrate for loop. using System; class forLoopDemo { public static void Main() { // for loop begins when x=1 // and runs till x <=4 for (int x = 1; x <= 4; x++) Console.WriteLine("GeeksforGeeks"); } }
Producción:
GeeksforGeeks GeeksforGeeks GeeksforGeeks GeeksforGeeks
Bucles controlados de salida: los bucles en los que la condición de prueba está presente al final del cuerpo del bucle se denominan bucles controlados de salida . do-while es un bucle controlado por salida.
Nota: En los bucles controlados por salida, el cuerpo del bucle se evaluará al menos una vez, ya que la condición de prueba está presente al final del cuerpo del bucle.
1. do-while loop
do while loop es similar a while loop con la única diferencia de que verifica la condición después de ejecutar las sentencias, es decir, ejecutará el cuerpo del bucle una vez porque verifica la condición después de ejecutar las sentencias.
Sintaxis:
do { statements.. }while (condition);
Diagrama de flujo:
Ejemplo:
// C# program to illustrate do-while loop using System; class dowhileloopDemo { public static void Main() { int x = 21; do { // The line will be printed even // if the condition is false Console.WriteLine("GeeksforGeeks"); x++; } while (x < 20); } }
Producción:
GeeksforGeeks
Bucles infinitos:
los bucles en los que la condición de prueba no se evalúa como falsa nunca tienden a ejecutar declaraciones para siempre hasta que se usa una fuerza externa para terminarlo y, por lo tanto, se conocen como bucles infinitos.
Ejemplo:
// C# program to demonstrate infinite loop using System; class infiniteLoop { public static void Main() { // The statement will be printed // infinite times for(;;) Console.WriteLine("This is printed infinite times"); } }
Producción:
This is printed infinite times This is printed infinite times This is printed infinite times This is printed infinite times This is printed infinite times This is printed infinite times This is printed infinite times ..........
Bucles anidados:
cuando los bucles están presentes dentro de otros bucles, se conocen como bucles anidados.
Ejemplo:
// C# program to demonstrate nested loops using System; class nestedLoops { public static void Main() { // loop within loop printing GeeksforGeeks for(int i = 2; i < 3; i++) for(int j = 1; j < i; j++) Console.WriteLine("GeeksforGeeks"); } }
Producción:
GeeksforGeeks
declaración de continuación:
la declaración de continuación se usa para omitir la parte de ejecución del bucle en una determinada condición y mover el flujo a la siguiente parte de actualización.
Diagrama de flujo:
Ejemplo:
// C# program to demonstrate continue statement using System; class demoContinue { public static void Main() { // GeeksforGeeks is printed only 2 times // because of continue statement for(int i = 1; i < 3; i++) { if(i == 2) continue; Console.WriteLine("GeeksforGeeks"); } } }
Producción:
GeeksforGeeks