Currículo: este documento es un complemento práctico para el Tema 1. Introducción a la programación de la asignatura Creación digital y pensamiento computacional, correspondiente a 1º Bachillerato.
Tabla de contenidos
- 1. Componentes de un diagrama de flujo
- 2. Cómo se usa cada componente
- 3. Restricciones en los diagramas de flujo
- 4. Ejemplos
- 5. Aplicaciones para diseñar diagramas de flujo
- 6. Ejercicios de entrenamiento
- 7. Actividad evaluable
Como acabamos de ver, los diagramas de flujo son una herramienta gráfica que se utiliza para representar de forma visual los pasos de un algoritmo. En otras palabras, permiten descomponer un problema o una tarea en una serie de pasos, facilitando su comprensión y, por tanto, su resolución. Los diagramas de flujo son muy útiles en pensamiento computacional, ya que ayudan a organizar las ideas antes de escribir el código de un programa.
A continuación, vamos a ver en detalle cuáles son sus componentes, cómo funcionan y qué restricciones presentan.
1. Componentes de un diagrama de flujo
Un diagrama de flujo se compone de varios símbolos estandarizados, cada uno con una función específica. Estos símbolos permiten identificar los diferentes tipos de acciones o decisiones que se deben tomar en un proceso. Los más comunes son:
- Óvalo (Inicio/Fin): el óvalo se utiliza para indicar el inicio y el fin de un proceso. Este símbolo debe aparecer al principio y al final de cualquier diagrama de flujo. Ejemplo: cuando empezamos un programa o cuando terminamos la ejecución de un algoritmo.
- Rectángulo (Instrucción o Acción): representa una acción o tarea que se debe realizar, como un cálculo o una operación. Cada rectángulo indica un paso que el programa debe ejecutar, como sumar dos números o mostrar un mensaje en pantalla.
- Rombo (Decisión): este símbolo se utiliza para representar una pregunta o condición que tiene dos posibles resultados: sí o no. Dependiendo de la respuesta, el flujo sigue un camino u otro. Por ejemplo, una pregunta común en un diagrama sería: “¿El número es mayor que 10?”.
- Paralelogramo (Entrada/Salida): este símbolo se emplea para mostrar los pasos donde se recibe o se da información. Las entradas pueden ser datos que el usuario introduce, y las salidas son resultados que el programa presenta. Ejemplo: pedir el nombre del usuario o mostrar un resultado en pantalla.
- Flechas: las flechas conectan los diferentes símbolos y muestran el flujo de ejecución o el orden en el que deben realizarse las acciones.
2. Cómo se usa cada componente
- El óvalo siempre se coloca en la parte superior del diagrama para indicar el inicio del proceso. El flujo comienza aquí.
- Los rectángulos se utilizan para representar cada acción secuencialmente. Cada paso que lleva a cabo el programa va dentro de un rectángulo.
- Cuando el proceso requiere una decisión o condición, usamos un rombo. La flecha que sale de uno de los lados indica lo que ocurre si la condición es verdadera (sí), y la otra lo que ocurre si es falsa (no).
- Los paralelogramos marcan los puntos donde el usuario debe introducir información (que necesita el programa para continuar) o donde el programa muestra un resultado al usuario.
- Las flechas dirigen el flujo de un paso al siguiente, indicando el orden y el camino a seguir en el proceso.
3. Restricciones en los diagramas de flujo
Para que los diagramas de flujo sean efectivos, es importante tener en cuenta algunas restricciones básicas:
- Claridad: los diagramas deben ser claros y fáciles de entender. Cada símbolo debe estar correctamente etiquetado y ser coherente con su función.
- Flujo único: solo debe haber una entrada y una salida de cada símbolo, salvo en el caso de los rombos (decisiones), donde puede haber dos salidas (una para “sí” y otra para “no”), pero no más de dos.
- Estructura lógica: el diagrama debe seguir una estructura lógica, evitando confusiones con flechas que se crucen o símbolos mal posicionados.
- Inicio y fin claros: siempre debe haber un símbolo de inicio y uno de fin. Sin estos dos elementos, el diagrama queda incompleto y es difícil de interpretar.
- Comprobación: una vez que tengas diseñado el diagrama, piensa en el funcionamiento del proceso completo y sigue cada uno de los caminos establecidos para asegurarte de que recoge todas las posibles situaciones que podrían darse.
- Bucles infinitos: se produce cuando el flujo de ejecución conduce a una repetición eterna. Debes diseñar el diagrama para que siempre acabe, evitando bucles infinitos.
4. Ejemplos
Este diagrama de flujo podría describir el proceso de comenzar a trabajar con el ordenador de clase:
Repasa cada componente y observa cómo funciona cada uno de ellos, parándote a comprobar cómo cumple con todas las restricciones y también cómo describe cualquier situación que podría darse.
🎬 El diagrama de flujo de la amistad, por Sheldon Cooper 👇
Ahora, veamos un último ejemplo para resolver un problema con el ordenador: calcular el área de un triángulo:
Fíjate bien cómo se usa cada componente, rectángulo para las acciones, paralelogramo para entradas y salidas de datos del programa, y rombos para tomas de decisión.
5. Aplicaciones para diseñar diagramas de flujo
Para facilitar la creación de diagramas de flujo, existen muchas herramientas, pero yo te recomiendo estas:
- Lucidchart: permite crear diagramas de flujo complejos de manera sencilla y colaborativa. Todo completamente online y basado en el navegador.
- Draw.io: es una herramienta gratuita que se integra bien con Google Drive y ofrece amplias funcionalidades para diagramación.
- Microsoft Visio: ideal para usuarios que buscan integración con otros productos de Microsoft Office.
Preferentemente, yo siempre uso la primera, pero puedes probarlas si quieres y elegir aquella con la que te sientas más cómodo.
6. Ejercicios de entrenamiento
Con el objetivo de entrenar los conocimientos que has adquirido y ganar experiencia practicando, se propone que diseñes un diagrama de flujo que describa cada uno de los algoritmos que resuelven estos problemas (puedes entregarlo si quieres que el profesor te los corrija, pero no son evaluables).
- Conversión de grados Celsius a Fahrenheit. Este algoritmo pedirá al usuario una temperatura en grados Celsius, realizará la conversión a grados Fahrenheit usando la fórmula Fahrenheit = Celsius × 9/5 + 32 y mostrará el resultado en pantalla.
- Determinar si un número es par o impar. En este caso, el algoritmo solicita un número, lo divide entre dos y comprueba si el resto de la división entera es 0 o no. Dependiendo de este valor, se mostrará si el número es par o impar.
- Contador descendente. El algoritmo comienza pidiendo un número positivo al usuario, luego realiza un bucle que imprime los números desde ese valor hasta 0, decrementando en uno con cada iteración.
- Cálculo de la media de tres números. El usuario introduce tres números, el algoritmo suma esos números, calcula su media dividiendo la suma entre tres y muestra el resultado en pantalla.
7. Actividad evaluable
Ahora que ya tienes cierta destreza es el momento de demostrar lo que sabes. Diseña el diagrama de flujo del siguiente algoritmo, expórtalo como imagen y súbelo a classroom antes de la fecha límite indicada para ello.
Los youtubers están muy preocupados desde la última actualización del algoritmo porque no saben exactamente cómo afectará a sus ganancias, así que YouTube ha ideado este algoritmo para que puedan conocer cuánto cobrarán semanalmente.
La plataforma ha dicho que pagará 1€ por cada 1.000 visualizaciones. Además, si el creador ha conseguido viralizar algún vídeo (la plataforma considera viral un vídeo que ha obtenido más de 100.000 visualizaciones) se añadirá una bonificación del 20% sobre la ganancia total. Por último, si el creador de contenido ha publicado más de 5 vídeos en la semana, se añadirá otro 10% de bonificación sobre la ganancia total por haber contribuido al aumento del contenido en la plataforma.
El usuario debe introducir por teclado cuántos vídeos ha publicado en esta semana, cuántos se han viralizado y cuál es la suma total de visualizaciones de esta semana. El algoritmo mostrará en pantalla las ganancias obtenidas por el youtuber.