Instrucción repetitiva mientras (Mientras) en Pseudocódigo
En pseudocódigo, para escribir una instrucción repetitiva mientras, se puede utilizar la sintaxis siguiente (compatible con PSeInt):
Mientras <expresión_lógica> Hacer
<bloque_de_instrucciones>
FinMientras
Igual que en las alternativas doble y simple, a la <expresión_lógica> de una instrucción repetitiva mientras, también se le llama condición.
Para que se ejecute el <bloque_de_instrucciones>, la condición tiene que ser verdadera. Por el contrario, si la condición es falsa, el <bloque_de_instrucciones> no se ejecuta.
Por tanto, cuando el flujo de un algoritmo llega a un bucle Mientras, existen dos posibilidades:
- Si la condición se evalúa a falsa, el bloque de instrucciones no se ejecuta, y el bucle Mientras finaliza sin realizar ninguna iteración.
- Si la condición se evalúa a verdadera, el bloque de instrucciones sí que se ejecuta y, después, se vuelve a evaluar la condición, para decidir, de nuevo, si el bloque de instrucciones se vuelve a ejecutar o no. Y así sucesivamente, hasta que, la condición sea falsa.
Cuando el bloque de instrucciones de un bucle se ejecuta, se dice que se ha producido una iteración.
El <bloque_de_instrucciones> de un bucle Mientras puede ejecutarse cero o más veces (iteraciones).
Si el <bloque_de_instrucciones> se ejecuta al menos una vez, seguirá ejecutándose repetidamente, mientras que, la condición sea verdadera. Pero, hay que tener cuidado de que el bucle no sea infinito.
Cuando la condición de un bucle Mientras se evalúa siempre a verdadera, se dice que se ha producido un bucle infinito, ya que, el algoritmo nunca termina. Un bucle infinito es un error lógico.
Para que un bucle Mientras no sea infinito, en el bloque de instrucciones debe ocurrir algo para que la condición deje de ser verdadera. En la mayoría de los casos, la condición se hace falsa al cambiar el valor de una variable.
En resumen, una instrucción repetitiva mientras permite ejecutar repetidamente (cero o más veces) un bloque de instrucciones, mientras que una determinada condición sea verdadera.
EJEMPLO Se quiere diseñar el algoritmo de un programa que muestre por pantalla los primeros diez números naturales:
El problema se puede resolver con el siguiente algoritmo:
// Ejemplo: Primeros diez números naturales
Algoritmo Primeros_Diez_Numeros_Naturales
Definir contador Como Entero
contador <- 1
Mientras contador <= 10 Hacer
Escribir contador
contador <- contador + 1
FinMientras
FinAlgoritmo