Mientras: Estructura de control repetitiva

La estructura de control repetitivaMientras” o bucle Mientras (conocida en inglés como while) es una estructura de control que contiene un conjunto de instrucciones que se repiten mientras una condición específica sea verdadera (se cumpla la condición). En otras palabras, el conjunto de instrucciones dentro del bucle se ejecuta una y otra vez mientras se cumpla algo específico.

La estructura repetitiva “Mientras” tiene su condición al principio por lo que puede que nunca se llegue a ejecutar.

Sintaxis

La sintaxis puede cambiar según la herramienta o el lenguaje de programación específico, ya que cada uno tiene sus propias reglas y convenciones. A continuación, se presenta una sintaxis general:

Los elementos de la sintaxis:

  • Mientras: Es una palabra clave que da inicio al bucle.
  • <condicion>: Es la condición que se evalúa antes de cada iteración. Es una expresión booleana cuyo resultado da Verdadero o Falso. Si la condición es verdadera, las instrucciones dentro del cuerpo del bucle se ejecutan; de lo contrario, el bucle finaliza.
  • Cuerpo del bucle: Está conformado por uno o más instrucciones que se ejecutarán mientras la condición sea verdadera. Se le conoce también como bloque repetitivo.
  • Fin Mientras: Es una palabra clave que va al final de la estructura e indica el final del bucle.

Funcionamiento

  1. Al inicio, se evalúa la condición (expresión booleana).
  2. Si la condición es evaluada en falsa, se omite el bucle y no se ejecuta ninguna de las instrucciones que están en el cuerpo.
  3. Si la condición es evaluada verdadera, se ejecuta el cuerpo del bucle, y al final se vuelve a evaluar la condición.
  4. Se repite el proceso continuamente mientras la condición sea verdadera. Si en algún punto la condición se evalúa como falsa, el bucle se detiene y termina.

Representación

La forma de representar la estructura repetitiva “Mientras” varía según el contexto y la herramienta utilizada. Algunas de las representaciones comunes incluyen diagramas de flujo, pseudocódigo, lenguajes de programación y diagramas Nassi-Shneiderman (N-S).

Diagrama de flujo

mientras - diagrama de flujo

En la imagen se observa la representación gráfica de una estructura de control repetitiva “Mientras”.

Pseudocódigo

En español

En inglés

Diagrama N-S

mientras - diagrama ns

Características

  1. Evaluación previa a la ejecución: Este bucle primero pregunta y luego ejecuta, repitiendo este proceso varias veces.
  2. Flexibilidad en el número de iteraciones: Se utiliza comúnmente cuando no se conoce de antemano el número exacto de veces que debe repetirse un conjunto de instrucciones, en otras palabras, cuando la cantidad de iteraciones es desconocida.
  3. Condición evaluada al principio: Este bucle se distingue de otros, como el bucle “Repetir – hasta que” o el bucle “Hacer – Mientras”, porque su condición se evalúa al principio. Esto significa que, si la condición inicial no es verdadera desde el inicio, el cuerpo del bucle puede ser omitido por completo. Esta característica es útil en situaciones donde no es necesario repetir la ejecución desde el principio.
  4. Posibilidad de bucles infinitos: Para prevenir bucles infinitos, es decir, aquellos que nunca terminan y que continúan repitiéndose indefinidamente, es importante incluir instrucciones dentro del cuerpo del bucle que alteren las variables evaluadas en la condición. De esta manera, se garantiza que en algún momento la condición se vuelva falsa y permita la finalización del bucle.

Otros nombres de la estructura Mientras

En los libros y recursos de internet, se le asignan diversos nombres a esta estructura, y esta variación depende tanto del entorno específico como del lenguaje de programación en uso.

  • Bucle Mientras
  • Ciclo Mientras
  • Bucle de entrada condicionada
  • Bucle Pre test
  • Bucle con entrada controlada
  • While
  • Iteración Controlada por Condición

Ejercicios resueltos

En el enlace a continuación, encontrarás la aplicación práctica de la estructura repetitiva “Mientras” mediante ejercicios resueltos.

Ejercicios con estructura repetitiva Mientras – Algoritmos en Pseint

Repetir – Hasta que: Estructura de control repetitiva

La estructura de control repetitivaRepetir – Hasta que” o bucle repetir (conocida en inglés como repeat – until), es una estructura de control que contiene un conjunto de instrucciones que se repiten hasta que una condición específica se vuelva verdadera. En otras palabras, el conjunto de instrucciones dentro del bucle se ejecuta una y otra vez hasta que se logra algo específico. Esta estructura funciona de forma inversa que la estructura “Hacer – mientras”.

Sintaxis

La sintaxis suele variar dependiendo de la herramienta o lenguaje de programación específico debido a que cada uno posee sus propias reglas y convenciones. A continuación se muestra una sintaxis general:

Los elementos de la sintaxis:

  • Repetir: Es una palabra clave que da inicio a la estructura.
  • Cuerpo del bucle: Está conformado por uno o más instrucciones. Se le conoce también como bloque repetitivo.
  • Hasta que: Es una palabra clave que va al final de la estructura e indica que se debe evaluar la condición después de haberse ejecutado el cuerpo del bucle.
  • <condicion>: Es la condición que se evalúa después de cada iteración. El resultado de esta evaluación da Verdadero o Falso. Si la condición es verdadera, el bucle se detiene; de lo contrario, se repite el cuerpo del bucle.

Funcionamiento

  1. La primera vez, se ejecutan las instrucciones que conforman el cuerpo del bucle, sin importar la condición. Es decir, itera como mínimo una vez.
  2. Se evalúa la condición. 
  3. Si la condición es falsa, se ejecuta nuevamente (las instrucciones) el cuerpo del bucle.
  4. Al final de cada iteración, se vuelve a evaluar la condición.
  5. Si la condición sigue siendo falsa, el bucle continúa ejecutándose.
  6. Si la condición es verdadera, el bucle finaliza.

Representación

La estructura “Repetir – Hasta que”, al igual que las demás, puede representarse de varias maneras dependiendo del contexto y de la herramienta que se esté utilizando. Entre ellas se encuentran: diagramas de flujo, pseudocódigo, lenguajes de programación, diagrama Nassi-Shneiderman (N-S), etc.

Diagrama de flujo

repetir - hasta que - diagrama de flujo

En la imagen se observa la representación gráfica de una estructura de control repetitiva “Repetir – Hasta que”.

Pseudocódigo

En español

En inglés

Diagrama N-S

Características

  1. Ejecución previa a la evaluación: Este bucle primero ejecuta y luego pregunta, repitiendo este proceso varias veces.
  2. Flexibilidad en el número de iteraciones: Se utiliza comúnmente cuando no se conoce de antemano el número exacto de veces que debe repetirse un conjunto de instrucciones, en otras palabras, cuando la cantidad de iteraciones es desconocida.
  3. Garantía de ejecución mínima: Este bucle se distingue de otros, como el bucle “Mientras”, porque su condición se evalúa al final. Esto asegura que el cuerpo del bucle se ejecute al menos una vez, lo cual es importante en escenarios donde al menos una iteración es requerida.
  4. Posibilidad de bucles infinitos: Para prevenir bucles infinitos, es decir, aquellos que se repiten indefinidamente, es importante incluir instrucciones dentro del cuerpo del bucle que alteren las variables evaluadas en la condición. Esto garantiza que, en algún momento, la condición se vuelva verdadera y el bucle se detenga.

Otros nombres de la estructura Repetir - Hasta que

En la literatura, esta estructura es identificada con varios nombres, dependiendo del contexto y del lenguaje de programación utilizado.

  • Bucle Repetir – Hasta que
  • Ciclo Repetir – Hasta que
  • Bucle de salida condicionada
  • Bucle Post test
  • Bucle con salida controlada
  • Repeatuntil

Usos frecuentes de la estructura "Repetir - Hasta que"

1. Uso para validación de entrada de datos

Se puede utilizar una estructura repetitiva “Repetir – Hasta que” cada vez que se quiera validar que un usuario ingrese un dato que cumpla con ciertas características. Es decir, hasta que el usuario no ingrese un valor válido, el programa se “estancará” y seguirá pidiendo un valor.

El bucle dejará de repetirse y terminará cuando la condición resulte ser verdadera (funciona de forma totalmente opuesta a la estructura repetitiva “Mientras”).

Ejemplo: Validar que un usuario ingrese un número positivo (mayor que cero)

Ejecución del algoritmo en Pseint

Ejemplo: Algoritmo que valide que un usuario ingrese un número positivo de 3 cifras

Ejecución del algoritmo en Pseint

Ejemplo: Algoritmo para validar que un usuario ingrese un número positivo de 5 cifras. 

Ejecución del algoritmo en Pseint

2. Uso en menús de opciones

Es útil en la creación de menús interactivos, manteniendo al usuario en el menú hasta que elija salir.

Ejemplo: Mostrar una lista de opciones con 3 opciones:

1) Sumar

2) Multiplicar

3) Salir

y finalizar el algoritmo sí y solo sí se elija la opción para salir.

Ejecución del algoritmo en Pseint

3. Alternativa a la estructura repetitiva "Mientras"

En teoría, es posible reemplazar una estructura por cualquier otra, claro que va a depender del contexto, de la lógica del problema  y de lo que se desea lograr para elegir cuál usar.

Ejercicios resueltos

En el enlace a continuación, encontrarás la aplicación práctica de la estructura repetitiva “Repetir – Hasta que” mediante ejercicios resueltos.

Ejercicios con estructura repetitiva Repetir_Hasta en Pseint – parte 1