Diagrama de flujo con While: Ejemplos y Ejercicios Prácticos

4.3/5 - (34 votos)

Un diagrama de flujo con while representa un bucle que comprueba una condición antes de ejecutar sus instrucciones. Si la condición es verdadera, ejecuta el cuerpo y vuelve a comprobarla; si es falsa, sale del bucle. El cuerpo puede ejecutarse cero veces.

Vamos a ver dos ejemplos resueltos: mostrar los números del 1 al 5 y sumar números hasta introducir un valor negativo. Puedes seguirlos en papel sin instalar ningún programa.

ÍNDICE
  1. Cómo representar un while en un diagrama de flujo
  2. Ejemplo 1: mostrar los números del 1 al 5
    1. Pseudocódigo
    2. El mismo ejemplo en Python
    3. Tabla de seguimiento
  3. Ejemplo 2: sumar números hasta introducir uno negativo
  4. Si necesitas dibujar y editar el diagrama
  5. Errores frecuentes al dibujar un while
  6. Preguntas frecuentes
    1. ¿Puede un while ejecutarse cero veces?
    2. ¿Qué diferencia hay entre while y do-while?
    3. ¿Cuándo conviene usar for?
    4. ¿Cómo compruebo que el diagrama está bien?

Cómo representar un while en un diagrama de flujo

  1. Inicio e inicialización: asigna los valores que necesita la condición, como i ← 1.
  2. Condición en un rombo: formula una pregunta con salida «Sí» y «No».
  3. Rama Sí: ejecuta las instrucciones del cuerpo del bucle.
  4. Actualización: cambia el contador o lee un dato nuevo cuando el algoritmo lo necesite.
  5. Retorno: dibuja una flecha desde el final del cuerpo hasta el rombo.
  6. Rama No: continúa con las instrucciones posteriores o con el fin.

Usa un óvalo para inicio y fin, un rectángulo para asignaciones y operaciones, un paralelogramo para entrada o salida de datos y un rombo para la condición.

Ejemplo 1: mostrar los números del 1 al 5

El contador empieza en 1. Mientras sea menor o igual que 5, mostramos su valor y le sumamos 1.

Diagrama while: iniciar i en 1, comprobar i ≤ 5, mostrar i, sumar 1 y volver a comprobar; terminar cuando la condición sea falsa.
La flecha de retorno vuelve a la condición. Con i = 6 se toma la rama «No».

Pseudocódigo

i ← 1
Mientras i <= 5 Hacer
    Escribir i
    i ← i + 1
FinMientras

El mismo ejemplo en Python

i = 1
while i <= 5:
    print(i)
    i += 1

Salida: 1, 2, 3, 4 y 5, cada uno en una línea. Python delimita el cuerpo con sangría; las llaves no forman parte de esta sintaxis.

Tabla de seguimiento

i al comprobar ¿i ≤ 5? Acción i después
1 Sí Mostrar 1 2
2 Sí Mostrar 2 3
3 Sí Mostrar 3 4
4 Sí Mostrar 4 5
5 Sí Mostrar 5 6
6 No Salir 6

Ejemplo 2: sumar números hasta introducir uno negativo

Queremos sumar los valores introducidos y detenernos al recibir un negativo. Ese negativo sirve como señal de parada y no se suma. Primero hay que leer un número para poder comprobar la condición.

El recorrido del diagrama es: Inicio → suma = 0 → leer número → ¿número ≥ 0? La rama «Sí» conduce a sumar el número y leer el siguiente, y después vuelve al rombo. La rama «No» conduce a mostrar la suma y terminar.

suma ← 0
Leer numero
Mientras numero >= 0 Hacer
    suma ← suma + numero
    Leer numero
FinMientras
Escribir suma

En Python, para entradas numéricas enteras válidas:

suma = 0
numero = int(input("Introduce un entero (negativo para terminar): "))
while numero >= 0:
    suma += numero
    numero = int(input("Introduce otro entero: "))
print(suma)

Con las entradas 4, 7, 3, -1, el resultado es 14. Si el primer dato es -1, la condición es falsa desde el principio y el resultado es 0. El ejemplo presupone que se introducen enteros: un texto como «hola» requiere validar la entrada antes de convertirla.

Errores frecuentes al dibujar un while

  • No inicializar la variable: la condición necesita un valor definido antes de su primera comprobación.
  • Olvidar actualizar el contador o leer el siguiente dato: puede impedir que la condición cambie y provocar un bucle infinito.
  • Volver a la inicialización: la flecha del cuerpo regresa a la condición. Si vuelve a i ← 1, reinicia el contador en cada vuelta.
  • Confundir < con ≤: con i < 5 el primer ejemplo solo mostraría del 1 al 4.
  • Sumar la señal de parada: en el segundo ejemplo, el negativo se comprueba antes de la suma.

Preguntas frecuentes

¿Puede un while ejecutarse cero veces?

Sí. Comprueba la condición antes del cuerpo. Si empieza siendo falsa, pasa directamente a la salida.

¿Qué diferencia hay entre while y do-while?

While comprueba antes de ejecutar el cuerpo. Do-while lo comprueba después y ejecuta el cuerpo al menos una vez. Python no tiene una instrucción do-while propia.

¿Cuándo conviene usar for?

Para recorrer una secuencia o un rango conocido, un for suele resultar más directo. Consulta el ciclo for en un diagrama de flujo y compara su recorrido con estos ejemplos.

¿Cómo compruebo que el diagrama está bien?

Recorre sus flechas a mano y anota los valores. Prueba una entrada normal, otra que no entre al bucle y el valor límite de la condición. Todas las ramas deben llevar a una instrucción o a la salida.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Go up