Introducción al bucle while (Mientras en PSeInt)
En esta ocasión, te voy a mostrar el segundo tipo de
bucle. El bucle Mientras de PSeInt, que es equivalente
al bucle while
en programación.
Mientras en inglés es while.
Espacio publicitario
Este bucle, funciona de forma muy parecida al anterior
(Para
(for
)). La gran
diferencia, es que tenemos la declaración de la variable
iteradora del bucle, fuera de él.
Para añadir esta estructura a tu algoritmo, puedes usar este botón de la sección de comandos:
Sintaxis del bucle Mientras de PSeInt
La sintaxis de este tipo de bucle es la siguiente:
Definir variable
variable <- valor
Mientras expresion_logica Hacer
secuencia_de_acciones
Paso
Fin Mientras
Por un lado, tenemos la definición o declaración de la
variable fuera del bucle. Después, tenemos la expresión
lógica dentro del bucle y el bloque de código con el
Paso
(incremento/decremento).
Ejemplo práctico del bucle Mientras de PSeInt
Veamos un ejemplo para que lo veas más claro.
Algoritmo bucle_mientras
//Variable para el bucle
Definir i Como Entero
i <- 1
// Bucle Mientras
Mientras i < 11 Hacer // Condición de salida
// Bloque de código
Escribir "El valor de i es: ", i
// Paso (incremento)
i <- i + 1
Fin Mientras
FinAlgoritmo
Parte de la variable
Lo primero, es definir la variable. Después, vamos a darle un valor inicial para que este se pase posteriormente al bucle.
Parte Mientras del bucle
En la parte Mientras
, se pone la condición de
salida del bucle. En el ejemplo, hasta que
i
sea menor que 11
, es decir,
hasta que sea igual a 10.
¿Por qué no poner
Mientras i == 10
?
Porqué así, lo que diríamos es que se ejecute mientras
i
vale 10. Puesto que empieza en 1, nunca se
cumple y el resultado es una ejecución vacía en la
consola:
Parte Hacer
La parte Hacer
, es solo para indicar el
bloque de código, decirle al intérprete mientras esto sea
así, haz esto.
Espacio publicitario
Parte del bloque de código
Aquí van todas las instrucciones que quieras ejecutar repetidamente.
Parte Paso del bucle
La parte del Paso
(incremento en este
ejemplo), sirve para ir variando el valor de
i
con cada ejecución. Si no lo ponemos, la
ejecución va a ser infinita. En el bucle
Para
, lo hacíamos automáticamente, aquí hay
que hacer este pequeño cálculo, donde le asignamos al
iterador, su propio valor + 1
. Con eso, cada
vuelta vale 1 más.
Parte Fin Mientras
Esta última parte se utiliza para indicar el cierre de la estructura.
Ejecutando el bucle
El resultado conseguido es el mismo que el del capítulo anterior.
Diagrama de flujo del bucle Mientras de PSeInt
El diagrama, cambia un poco ya que la estructuración en el
algoritmo es diferente a la del bucle Para
.
Primero, está declarada la variable i
con un
valor de 1
. Se evalúa si i
es
menor que 11
. Si es
VERDADERO
(V
), se ejecuta el
bloque de código e incrementa en 1 el valor del iterador
(i
). Vuelve a evaluar. Puesto que ahora vale
2
, vuelve a ejecutarse. Una vez valga
11, se va por el camino de FALSO
(F
). En este caso finaliza el algoritmo. Si
hubiera más código después del bucle, este se ejecutaría
con normalidad.
Espacio publicitario
Espacio publicitario
Ejercicio de programación para resolver
37. Crea un bucle Mientras
, con la expresión
de salida (condición): i < 300
, con
Paso
de 30
. Esto no implica que
el valor 300 se imprima en la consola.
Los valores que se imprimen en la consola van del 1
al 271. Debido al paso que tiene, no es posible con la
expresión i < 300
, que el valor 300 se
imprima en la consola. El siguiente incremento pasaría
de 299 (menor que 300), ya que 271 + 30 son 301.
Algoritmo bucle_mientras
//Variable para el bucle
Definir i Como Entero
i <- 1
// Bucle Mientras
Mientras i < 300 Hacer // Condición de salida
// Bloque de código
Escribir "El valor de i es: ", i
// Paso (incremento)
i <- i + 30
Fin Mientras
FinAlgoritmo
Espacio publicitario