perl | Bucles (for, foreach, while, do…while, hasta, bucles anidados)

El bucle en los lenguajes de programación es una característica que facilita la ejecución de un conjunto de instrucciones o funciones repetidamente mientras alguna condición se evalúa como verdadera. Los bucles simplifican la tarea de los programadores. Perl proporciona los diferentes tipos de bucle para manejar la situación basada en condiciones en el programa. Los bucles en Perl son: 

en bucle

El bucle «for» proporciona una forma concisa de escribir la estructura del bucle. A diferencia de un bucle while, una instrucción for consume la inicialización, la condición y el incremento/decremento en una línea, lo que proporciona una estructura de bucle más corta y fácil de depurar.
Sintaxis:
 

for (init statement; condition; increment/decrement ) 
{
    # Code to be Executed
}

Diagrama de flujo:
 

Un bucle for funciona en un flujo de control predefinido. El flujo de control puede ser determinado por lo siguiente:
 

  • instrucción init: Esta es la primera declaración que se ejecuta. En este paso, inicializamos una variable que controla el bucle.
  • condition: en este paso, se evalúa la condición dada y se ejecuta el bucle for si es True. También es un bucle de control de entrada, ya que la condición se comprueba antes de la ejecución de las instrucciones del bucle.
  • Ejecución de declaraciones: una vez que la condición se evalúa como verdadera, se ejecutan las declaraciones en el cuerpo del ciclo.
  • incrementar/decrementar: La variable de control de bucle se cambia aquí (incrementada o disminuida) para actualizar la variable para la próxima iteración.
  • Terminación del bucle: Cuando la condición se vuelve falsa, el bucle termina marcando el final de su ciclo de vida.

Ejemplo : 
 

Perl

# Perl program to illustrate
# the for loop
 
# for loop
for ($count = 1 ; $count <= 3 ; $count++)
{
    print "GeeksForGeeks\n"
}

Producción: 
 

GeeksForGeeks
GeeksForGeeks
GeeksForGeeks

bucle foreach

Se utiliza un bucle foreach para iterar sobre una lista y la variable contiene el valor de los elementos de la lista uno a la vez. Se usa principalmente cuando tenemos un conjunto de datos en una lista y queremos iterar sobre los elementos de la lista en lugar de iterar sobre su rango. El proceso de iteración de cada elemento lo realiza automáticamente el bucle.
Sintaxis: 
 

foreach variable 
{
    # Code to be Executed
}

Diagrama de flujo:
 

Ejemplo:
 

Perl

# Perl program to illustrate
# the foreach loop
 
# Array
@data = ('GEEKS', 'FOR', 'GEEKS');
 
# foreach loop
foreach $word (@data)
{
    print $word
}

Producción: 
 

GEEKSFORGEEKS

mientras bucle

Un ciclo while generalmente toma una expresión entre paréntesis. Si la expresión es verdadera, se ejecuta el código dentro del cuerpo del ciclo while. Un bucle while se utiliza cuando no sabemos el número de veces que queremos que se ejecute el bucle, sin embargo, conocemos la condición de terminación del bucle. También se conoce como bucle controlado por entrada, ya que la condición se comprueba antes de ejecutar el bucle. El ciclo while se puede considerar como una declaración if repetida.
Sintaxis:
 

while (condition)
{
    # Code to be executed
}

Diagrama de flujo:
 

while_loop_perl

Ejemplo : 
 

Perl

# Perl program to illustrate
# the while loop
 
# while loop
$count = 3;
while ($count >= 0)
{
    $count = $count - 1;
    print "GeeksForGeeks\n";
}

Producción: 
 

GeeksForGeeks
GeeksForGeeks
GeeksForGeeks
GeeksForGeeks

Ciclo while infinito : el ciclo while puede ejecutarse infinitas veces, lo que significa que no hay una condición de terminación para este ciclo. En otras palabras, podemos decir que hay algunas condiciones que siempre se cumplen, lo que hace que el ciclo while se ejecute infinitas veces o podemos decir que nunca termina. 
 

  • Ejemplo: el programa a continuación imprimirá la declaración especificada en un tiempo infinito y también dará el error de tiempo de ejecución como Límite de salida excedido en el IDE en línea
     

Perl

# Perl program to illustrate
# the infinite while loop
 
# infinite while loop
# containing condition 1
# which is always true
while(1)
{
    print "Infinite While Loop\n";
}
  • Producción: 
     
Infinite While Loop
Infinite While Loop
Infinite While Loop
Infinite While Loop
.
.
.
.

hacer…. mientras bucle

Un bucle do…while es casi lo mismo que un bucle while. La única diferencia es que el bucle do…while se ejecuta al menos una vez. La condición se comprueba después de la primera ejecución. Un ciclo do..while se usa cuando queremos que el ciclo se ejecute al menos una vez. También se conoce como ciclo controlado de salida ya que la condición se verifica después de ejecutar el ciclo.
Sintaxis: 
 

do {

    # statements to be Executed

} while(condition);

Diagrama de flujo: 
 

do-while

Ejemplo : 
 

Perl

# Perl program to illustrate
# do..while Loop
 
$a = 10;
 
# do..While loop
do {
 
    print "$a ";
    $a = $a - 1;
} while ($a > 0);

Producción: 
 

10 9 8 7 6 5 4 3 2 1

hasta bucle

hasta que loop es lo opuesto a while loop. Toma una condición entre paréntesis y solo se ejecuta hasta que la condición es falsa. Básicamente, repite una instrucción o un conjunto de instrucciones hasta que la condición sea FALSA. También es un bucle de controlador de entrada, es decir, primero se comprueba la condición y luego se ejecuta un conjunto de instrucciones dentro de un bloque.
Sintaxis:
 

until (condition) 
{
   # Statements to be executed
}

Diagrama de flujo:
 

until_loop_perl

Ejemplo : 
 

Perl

# Perl program to illustrate until Loop
 
$a = 10;
 
# until loop
until ($a < 1)
{
    print "$a ";
    $a = $a - 1;
}

Producción: 
 

10 9 8 7 6 5 4 3 2 1

Bucles anidados

Un bucle anidado es un bucle dentro de un bucle. Los bucles anidados también son compatibles con la programación de Perl. Y todos los bucles discutidos anteriormente se pueden anidar.
Sintaxis para diferentes bucles anidados en Perl:
 

  • Bucle for anidado 
     
for (init statement; condition; increment/decrement ) 
{
    for (init statement; condition; increment/decrement ) 
    {
         # Code to be Executed
    }
}
  •  
  • Bucle foreach anidado 
     
foreach variable_1 (@array_1) {

    foreach variable_2 (@array_2) 
   {

       # Code to be Executed
   } 
}
  •  
  • Bucle while anidado 
     
while (condition)
{
    while (condition)
    {
        # Code to be Executed
    }
}
  •  
  • Bucle anidado do..while 
     
do{
    do{

        # Code to be Executed

       }while(condition);

}while(condition);
  • Anidado hasta bucle 
     
until (condition) {

    until (condition) 
    {
       # Code to be Executed
    }
}
  •  

Ejemplo : 
 

Perl

# Perl program to illustrate
# nested while Loop
 
$a = 5;
$b = 0;
 
# outer while loop
while ($a < 7)
{
   $b = 0;
    
   # inner while loop
   while ( $b <7 )
   {
      print "value of a = $a, b = $b\n";
      $b = $b + 1;
   }
    
   $a = $a + 1;
   print "Value of a = $a\n\n";
}

Producción: 
 

value of a = 5, b = 0
value of a = 5, b = 1
value of a = 5, b = 2
value of a = 5, b = 3
value of a = 5, b = 4
value of a = 5, b = 5
value of a = 5, b = 6
Value of a = 6

value of a = 6, b = 0
value of a = 6, b = 1
value of a = 6, b = 2
value of a = 6, b = 3
value of a = 6, b = 4
value of a = 6, b = 5
value of a = 6, b = 6
Value of a = 7

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 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 *