Programación informática: bucles

Consideremos una situación en la que desea imprimir. Hello, World!cinco veces. Aquí hay un programa C simple para hacer lo mismo:

#include <stdio.h>

int main() {
   printf( "Hello, World!\n");
   printf( "Hello, World!\n");
   printf( "Hello, World!\n");
   printf( "Hello, World!\n");
   printf( "Hello, World!\n");
}

Cuando se ejecuta el programa anterior, produce el siguiente resultado:

Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!

Era simple, pero de nuevo, consideremos otra situación en la que quieras escribir. Hello, World!mil veces. Ciertamente no podemos escribir declaraciones printf () mil veces. Casi todos los lenguajes de programación proporcionan un concepto llamadoloop, que ayuda a ejecutar una o más declaraciones hasta un número deseado de veces. Todos los lenguajes de programación de alto nivel proporcionan varias formas de bucles, que se pueden utilizar para ejecutar una o más declaraciones repetidamente.

Escribamos el programa C anterior con la ayuda de un while loop y luego, discutiremos cómo funciona este bucle

#include <stdio.h>

int main() {
   int i = 0;
   
   while ( i < 5 ) {
      printf( "Hello, World!\n");
      i = i + 1;
   }
}

Cuando se ejecuta el programa anterior, produce el siguiente resultado:

Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!

El programa anterior hace uso de un while loop, que se utiliza para ejecutar un conjunto de sentencias de programación incluidas en {....}. Aquí, la computadora primero verifica si la condición dada, es decir, la variable "a" es menor que 5 o no y si encuentra que la condición es verdadera, entonces se ingresa el cuerpo del bucle para ejecutar las declaraciones dadas. Aquí, tenemos las siguientes dos declaraciones en el cuerpo del bucle:

  • La primera declaración es la función printf () , que imprime ¡Hola mundo!

  • La segunda declaración es i = i + 1 , que se usa para aumentar el valor de la variablei

Después de ejecutar todas las declaraciones dadas en el cuerpo del bucle, la computadora vuelve a while (i <5) y la condición dada, (i <5), se verifica nuevamente, y el bucle se ejecuta nuevamente si la condición es verdadera. Este proceso se repite hasta que la condición dada permanece verdadera, lo que significa que la variable "a" tiene un valor menor que 5.

Para concluir, una declaración de bucle nos permite ejecutar una declaración o grupo de declaraciones varias veces. A continuación se muestra la forma general de una declaración de bucle en la mayoría de los lenguajes de programación:

Este tutorial ha sido diseñado para presentar los conceptos básicos de programación a los no programadores, así que analicemos los dos bucles más importantes disponibles en el lenguaje de programación C. Una vez que tenga claro estos dos bucles, puede elegir un tutorial de programación en C o un libro de referencia y verificar otros bucles disponibles en C y la forma en que funcionan.

El bucle while

UN while loop disponible en el lenguaje de programación C tiene la siguiente sintaxis:

while ( condition ) {
   /*....while loop body ....*/
}

El código anterior se puede representar en forma de diagrama de flujo como se muestra a continuación:

Los siguientes puntos importantes deben tenerse en cuenta sobre un bucle while:

  • Un ciclo while comienza con una palabra clave while seguido de un condition Adjunto en ( ).

  • Además de la declaración while (), tendrá el cuerpo del bucle entre llaves {...}.

  • Un cuerpo de bucle while puede tener una o más líneas de código fuente para ejecutarse repetidamente.

  • Si el cuerpo de un bucle while tiene solo una línea, entonces es opcional usar llaves {...}.

  • Un bucle while sigue ejecutando su cuerpo hasta un determinado conditionse mantiene cierto. Tan pronto como la condición se vuelve falsa, el ciclo while sale y continúa ejecutándose desde la siguiente sentencia inmediata después del cuerpo del ciclo while.

  • Una condición suele ser una declaración relacional, que se evalúa como verdadera o falsa. Un valor igual a cero se trata como falso y cualquier valor distinto de cero funciona como verdadero.

El do ... while Loop

Un ciclo while verifica una condición dada antes de ejecutar cualquier declaración dada en la parte del cuerpo. La programación en C proporciona otra forma de bucle, llamadodo...whileque permite ejecutar un cuerpo de bucle antes de verificar una condición dada. Tiene la siguiente sintaxis:

do {
   /*....do...while loop body ....*/
} 
while ( condition );

El código anterior se puede representar en forma de diagrama de flujo como se muestra a continuación:

Si escribe el ejemplo anterior usando do...while bucle, entonces Hello, World producirá el mismo resultado -

#include <stdio.h>

int main() {
   int i = 0;
   
   do {
      printf( "Hello, World!\n");
      i = i + 1;
   }
   while ( i < 5 );
}

Cuando se ejecuta el programa anterior, produce el siguiente resultado:

Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!

La declaración de ruptura

Cuando el breakla instrucción se encuentra dentro de un bucle, el bucle se termina inmediatamente y el control del programa se reanuda en la siguiente instrucción que sigue al bucle. La sintaxis de unbreak declaración en C es como sigue -

break;

UN break La declaración se puede representar en forma de diagrama de flujo como se muestra a continuación:

A continuación se muestra una variante del programa anterior, pero saldrá después de imprimir Hello World! solo tres veces -

#include <stdio.h>

int main() {
   int i = 0;
   do {
      printf( "Hello, World!\n");
      i = i + 1;
      
      if( i == 3 ) {
         break;
      }
   }
   while ( i < 5 );
}

Cuando se ejecuta el programa anterior, produce el siguiente resultado:

Hello, World!
Hello, World!
Hello, World!

La declaración de continuar

los continue declaración en lenguaje de programación C funciona algo así como breakdeclaración. En lugar de forzar la terminación,continueobliga a que tenga lugar la siguiente iteración del bucle, omitiendo cualquier código intermedio. La sintaxis de uncontinue declaración en C es como sigue -

continue;

UN continue La declaración se puede representar en forma de diagrama de flujo como se muestra a continuación:

A continuación se muestra una variante del programa anterior, pero omitirá la impresión cuando la variable tenga un valor igual a 3 -

#include <stdio.h>

int main() {
   int i = 0;
   do {
      if( i == 3 ) {
         i = i + 1;
         continue;
      }
      printf( "Hello, World!\n");
      i = i + 1;
   }
   while ( i < 5 );
}

Cuando se ejecuta el programa anterior, produce el siguiente resultado:

Hello, World!
Hello, World!
Hello, World!
Hello, World!

Bucles en Java

A continuación se muestra el programa equivalente escrito en Java que también admite while y do...whilebucles. El siguiente programa imprimeHello, World! cinco veces como hicimos en el caso de la programación en C -

Puede intentar ejecutar el siguiente programa para ver el resultado, que debe ser idéntico al resultado generado por el ejemplo anterior.

public class DemoJava {
   public static void main(String []args) {
      int i = 0;
   
      while ( i < 5 ) {
         System.out.println("Hello, World!");
         i = i + 1;
      }
   }
}

los break y continue Las sentencias en la programación Java funcionan de la misma manera que en la programación C.

Bucles en Python

A continuación se muestra el programa equivalente escrito en Python. Python también es compatiblewhile y do...whilebucles. El siguiente programa imprimeHello, World!cinco veces como hicimos en el caso de la programación en C. Aquí debe tener en cuenta que Python no hace uso de llaves para el cuerpo del bucle, sino que simplemente identifica el cuerpo del bucle usando la sangría de las declaraciones.

Puede intentar ejecutar el siguiente programa para ver el resultado. Para mostrar la diferencia, hemos utilizado una declaración de impresión más, que se ejecutará cuando termine el ciclo.

i = 0

while (i < 5):
   print "Hello, World!"
   i = i + 1
print "Loop ends"

Cuando se ejecuta el programa anterior, produce el siguiente resultado:

Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Loop ends

los break y continue Las declaraciones en Python funcionan de la misma manera que en la programación C.