Escala | Bucles (while, do..while, for, bucles anidados)

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

mientras bucle

Un ciclo while generalmente toma una condición entre paréntesis. Si la condició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:
 

  • Mientras que el ciclo comienza con la verificación de la condición. Si se evaluó como verdadero, entonces se ejecutan las declaraciones del cuerpo del ciclo; de lo contrario, se ejecuta la primera declaración que sigue al ciclo. Por este motivo, también se denomina bucle de control de entrada.
  • Una vez que la condición se evalúa como verdadera, se ejecutan las declaraciones en el cuerpo del ciclo. Normalmente, las declaraciones contienen un valor de actualización para la variable que se procesa para la siguiente iteración.
  • Cuando la condición se vuelve falsa, el ciclo termina, lo que marca el final de su ciclo de vida.

Ejemplo:
 

Scala

// Scala program to illustrate while loop
object whileLoopDemo
{
     
    // Main method
    def main(args: Array[String])
    {
        var x = 1;
 
        // Exit when x becomes greater than 4
        while (x <= 4)
        {
            println("Value of x: " + x);
 
            // Increment the value of x for
            // next iteration
            x = x + 1;
        }
    }
}

Producción: 
 

Value of x: 1
Value of x: 2
Value of x: 3
Value of x: 4

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 Killed (SIGKILL) en el IDE en línea.
 

Scala

// Scala program to illustrate Infinite while loop
object infinitewhileLoopDemo
{
     
    // Main method
    def main(args: Array[String])
    {
        var x = 1;
 
        // this loop will never terminate
        while (x < 5)
        {
            println("GeeksforGeeks")
        }
    }
}

Producción: 
 

GeeksforGeeks
GeeksforGeeks
GeeksforGeeks
GeeksforGeeks
.
.
.
.

do..while 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 bucle controlado de salida, ya que la condición se comprueba después de ejecutar el bucle.
Sintaxis: 
 

do {

// statements to be Executed

} while(condition);

Diagrama de flujo:
 

Ejemplo: 
 

Scala

// Scala program to illustrate do..while loop
object dowhileLoopDemo
{
     
    // Main method
    def main(args: Array[String])
    {
        var a = 10;
 
        // using do..while loop
        do
        {
            print(a + " ");
            a = a - 1;
        }while(a > 0);
    }
}

Producción:
 

10 9 8 7 6 5 4 3 2 1 

en bucle

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. Hay muchas variaciones de «bucle for en Scala» que discutiremos en los próximos artículos. Básicamente, es una estructura de control de repetición que permite al programador escribir un ciclo que necesita ejecutarse un número determinado de veces.
Ejemplo: 
 

Scala

// Scala program to illustrate for loop
object forloopDemo {
     
   // Main Method
   def main(args: Array[String]) {
        
      var y = 0;
       
      // for loop execution with range
      for(y <- 1 to 7)
      {
         println("Value of y is: " + y);
      }
   }
}

Producción: 
 

Value of y is: 1
Value of y is: 2
Value of y is: 3
Value of y is: 4
Value of y is: 5
Value of y is: 6
Value of y is: 7

Bucles anidados

El bucle que contiene un bucle dentro de otro bucle se conoce como bucle anidado. Puede contener el bucle for dentro de un bucle for o un bucle while dentro de un bucle while. También es posible que un ciclo while pueda contener el ciclo for y viceversa.
Ejemplo: 
 

Scala

// Scala program to illustrate nested loop
object nestedLoopDemo {
     
  // Main Method   
  def main(args: Array[String]) {
     
    var a = 5;
    var b = 0;
     
    // outer while loop
    while (a < 7)
    {
       b = 0;
        
       // inner while loop
       while (b < 7 )
       {
            
           // printing the values of a and b
          println("Value of a = " +a, " b = "+b);
          b = b + 1;
       }
        
       // new line
       println()
        
       // incrementing the value of a
       a = a + 1;
        
       // displaying the updated value of a
       println("Value of a Become: "+a);
        
       // new line
       println()
    }
 
  }
}

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 Become: 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 Become: 7

Publicación traducida automáticamente

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