Bucles en C#

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:
while loop

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:
for-loop-in-java

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:
do-while

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

Publicación traducida automáticamente

Artículo escrito por Sam007 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *