Contenido del capítulo

En este capítulo te voy a enseñar cómo funciona el bucle while con ejemplos de pseudocódigo y un diagrama de flujo.

Duración estimada de todo el contenido:
Duración del vídeo:
Contiene 1 ejercicio de programación para resolver. Contiene 1 vídeo.
Tabla de contenidos
Logo

    Introducción al bucle while (Mientras en PSeInt)

    El bucle while
    El bucle while

    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.

    De ahí sale el nombre en PSeInt.

    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:

    Bucle Mientras de PSeInt

    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:

    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.

    Salida en la consola de un bucle

    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.

    Diagrama de flujo del bucle while

    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