2. Diagramas de Flujo
- 2.1 Qué son y cómo crear diagramas de flujo
- 2.2 Cómo nos van a ayudar en nuestra asignatura de 3º ESO
- Situación de aprendizaje 2 . Pon un diagrama de flujo en tu vida cotidiana
- Situación de aprendizaje 3. ¿Cómo funciona una calculadora básica?
- Situación de aprendizaje 4. Adivinando el número secreto
2.1 Qué son y cómo crear diagramas de flujo
Un algoritmo es una sucesión de pasos que se deben realizar para resolver un problema.
Un diagrama de flujo es una forma de representar un proceso o algoritmo de manera visual, estructurada y organizada. Es una herramienta muy útil para organizar y estructurar una tarea de programación antes de entrar directamente con el código.
Ejemplo de diagrama de flujo:
Aunque existen diversos programas informáticos para la realización de diagramas de flujo, en este curso utilizaremos una funcionalidad de PSeInt que lo permite. No obstante, y atendiendo a la cada vez más abundante evidencia científica al respecto, recomendamos que los diagramas de flujo se aborden con el alumnado en primer lugar con papel y boli, y si es pertinente de forma colaborativa, dejando para el software simplemente su edición final para incluir como documentación del programa.
Elementos del diagrama de flujo
Un diagrama de flujo está formado fundamentalmente por los siguientes elementos:
- Línea o flechas del flujo: Indica la instrucción que se va a realizar, o la dirección del flujo del proceso. Muestra el carácter secuencial del programa.
- Terminal o inicio y final: Es la forma en la cual se indica el “inicio del proceso” y “final del proceso”. Su icono suele ser un rectángulo con las esquinas redondeadas.
- Asignación/ definición: Permite asignar un valor o definir una variable, donde se almacenan los datos que se necesitan para resolver el problema. Suele representarse con un rectángulo.
- Datos de entrada: Indica la recepción de datos en la entrada. Se representa con un recuadro con las esquinas inclinadas y una flecha hacia dentro.
- Datos de salida: Indica la impresión de datos en la salida. Se representa con un recuadro con las esquinas inclinadas y una flecha hacia fuera.
- Decisión: Indica que desde el punto en que nos encontramos, puede haber más de un camino para seguir, según la condición dada. En este caso se usa un rombo.
- Otros: Como algunos tipos de bucles, los iremos viendo más adelante.
Ejemplos sencillos de diagramas de flujo
Ejemplo 1: Diagrama de flujo de un programa que a partir de dos números los suma y muestra el resultado en pantalla
SOLUCIÓN:
- Salidas: tiene que pedir los dos números a sumar, y luego tiene que mostrar el resultado.
- Entradas: los dos números a sumar.
- Almacenamiento: dos variables que almacenen los números a sumar (num1 y num2) , y una tercera que almacene el resultado (resultado)
- Operación: suma.
Diagrama de flujo:
Ejemplo 2: Diagrama de flujo de un programa que a partir de dos números compara cuál es mayor y lo muestra en pantalla.
- Salidas: tiene que pedir los dos números a comparar, y luego tiene que mostrar el resultado de la comparación.
- Entradas: los dos números a comparar.
- Almacenamiento: dos variables que almacenen los números a comparar (num1 y num2)
- Operación: comparación lógica.
Diagrama de flujo:
Financiado por el Ministerio de Educación y Formación Profesional y por la Unión Europea - NextGenerationEU
Esta explicación se ha extraído del curso de Aularagón: Fundamentos de programación estructurada con Pseint y Scratch
Financiado por el Ministerio de Educación y Formación Profesional y por la Unión Europea - NextGenerationEU
2.2 Cómo nos van a ayudar en nuestra asignatura de 3º ESO
Los diagramas de flujo son piezas clave en la enseñanza de programación ya que nos van a ayudar a representar de forma gráfica la solución a un problema.
Para favorecer la creación de la programación didáctica y la unidad didáctica correspondiente, realizamos una selección de las competencias específicas, criterios de evaluación y saberes básicos que se trabajarán de forma específica en este bloque de contenidos.
Relación con las competencias específicas y criterios de evaluación
Competencia específica de la materia Programación y Robótica 1 y criterios de evaluación implicados:
- CE.PR.1. Abordar problemas tecnológicos con autonomía y actitud creativa, aplicando conocimientos interdisciplinares y trabajando de forma cooperativa y colaborativa, para diseñar y planificar soluciones a un problema o necesidad de forma eficaz, innovadora y sostenible.
- 1.1. Idear y diseñar soluciones eficaces, innovadoras y sostenibles a problemas definidos, aplicando conceptos, técnicas y procedimientos interdisciplinares, así como criterios de sostenibilidad, con actitud emprendedora, perseverante y creativa.
- 1.2. Seleccionar, planificar y organizar los materiales y herramientas, así como las tareas necesarias para la construcción de una solución a un problema planteado, trabajando individualmente o en grupo de manera cooperativa y colaborativa.
Competencia específica de la materia Programación y Robótica 3 y criterios de evaluación implicados:
-
CE.PR.3. Describir, representar e intercambiar ideas o soluciones a problemas tecnológicos o digitales, utilizando medios de representación, simbología y vocabulario adecuados, así como los instrumentos y recursos disponibles y valorando la utilidad de las herramientas digitales, para comunicar y difundir información y propuestas.
-
3.1. Representar y comunicar el proceso de creación de un producto desde su diseño hasta su difusión, elaborando documentación técnica y gráfica con la ayuda de herramientas digitales, empleando los formatos y el vocabulario técnico adecuados, de manera colaborativa, tanto presencialmente como en remoto
-
Competencia específica de la materia Programación y Robótica 4 y criterios de evaluación implicados:
- CE.PR.4. Desarrollar algoritmos y aplicaciones informáticas en distintos entornos, aplicando los principios del pensamiento computacional e incorporando las tecnologías emergentes, para crear soluciones a problemas concretos, automatizar procesos y aplicarlos en sistemas de control o en robótica.
-
4.1. Describir, interpretar y diseñar soluciones a problemas informáticos a través de algoritmos y diagramas de flujo, aplicando los elementos y técnicas de programación de manera creativa.
-
Relación con los saberes básicos:
Bloque A. Proceso de resolución de problemas
El proceso de resolución de problemas es la búsqueda de soluciones tecnológicas a una necesidad o a un determinado problema, siguiendo una serie de pasos. Si bien se da una gran importancia a las fases de investigación, ideación, diseño y fabricación, también se incluye un adecuado tratamiento de la fase de presentación y comunicación de resultados como aspecto clave para la difusión de los trabajos realizados, hecho que relaciona los saberes básicos de los bloques A y B.
- Estrategias, técnicas y marcos de resolución de problemas en diferentes contextos y sus fases.
- Emprendimiento, resiliencia, perseverancia y creatividad para abordar problemas desde una perspectiva interdisciplinar.
Bloque B. Comunicación y difusión de ideas
En el mundo en el que nos movemos, tan importante es hacer las cosas, como difundirlas de forma correcta. Nuestro alumnado utilizará técnicas de representación en dos y tres dimensiones para la elaboración de nuestros proyectos, además de generar, publicar y difundir la información mediante herramientas digitales.
- Herramientas digitales para la elaboración, publicación y difusión de documentación técnica e información multimedia relativa a proyectos.
Bloque C. Pensamiento computacional, programación y robótica
Aplicaremos el pensamiento computacional para plantear procedimientos, la abstracción, la descomposición en tareas más simples con el objetivo de llegar a una solución del problema que pueda ser ejecutada por un sistema informático. Además, usaremos la programación y la robótica como medio de comunicación y herramienta de aprendizaje con el fin de mejorar la autonomía y creatividad a la hora de resolver problemas.
- Algorítmica y diagramas de flujo.
- Autoconfianza e iniciativa: el error, la reevaluación y la depuración de errores como parte del proceso de aprendizaje.
Financiado por el Ministerio de Educación y Formación Profesional y por la Unión Europea - NextGenerationEU
Situación de aprendizaje 2 . Pon un diagrama de flujo en tu vida cotidiana
Como ya hemos visto en las dos páginas anteriores, los diagramas de flujo nos ofrecen un método visual para la resolución de problemas siguiendo una serie de pasos con una simbología visual universal.
Tras explicar los símbolos al alumnado, se recomienda comenzar con una actividad distendida que les ayude a comprender la forma de trabajo de los diagramas de flujo. Para ayudar a crearlos más fácilmente os compartimos una diapositiva de Google Presentaciones con todos los símbolos necesarios para crear diagramas de flujo. Solo tendrás que hacerte una copia (iniciar sesión con cuenta de Gmail y Archivo-Crear una copia ) y a partir de aquí ir haciendo copias de los símbolos que necesites para ir generando tu diagrama de flujo. Puedes ver el original en este ENLACE
Planteamiento: dado un problema a resolver, mediante el uso de los símbolos típicos de los diagrama de flujo, utilizar los necesarios para visualizar la resolución del problema. Este problema a resolver se recomienda que sea elegido por los propios alumnos que pueden trabajar solos en grupos de 2 o 3 alumnos. Cada grupo encontrará su propia motivación para representar su idea en un diagrama de flujo.
Algunas de las ideas que se pueden facilitar podrían ser: ¿qué hago desde que me levanto por la mañana hasta que llego al colegio? ¿cómo cocinar mi plato favorito? ¿qué hago en mi tiempo libre?
Ejemplo 1. Representar el proceso de prepararse una taza de té.
Tenemos que dar la opción de preguntar si lo desea con leche, con azúcar, y finalmente, si quiere preparar otro más.
Financiado por el Ministerio de Educación y Formación Profesional y por la Unión Europea - NextGenerationEU
Situación de aprendizaje 3. ¿Cómo funciona una calculadora básica?
En esta situación de aprendizaje ya sí nos metemos en un actividad en la que en primer lugar resolveremos su diagrama de flujo y en el capítulo siguiente la programaremos. Esta forma de trabajo de incluir todo lo necesario para realizar un proyecto es la que se recomienda utilizar al menos en los proyectos a realizar por el alumnado. Se menciona en la siguiente competencia específica de la asignatura:
- Competencia específica de la materia Programación y Robótica 3: La competencia abarca los aspectos necesarios para la comunicación y expresión de ideas. Hace referencia a la exposición de propuestas, representación de diseños, manifestación de opiniones, etc. Asimismo, incluye la comunicación y difusión de documentación técnica relativa al proyecto. En este aspecto se debe tener en cuenta la utilización de herramientas digitales tanto en la elaboración de la información como en la comunicación.
Así como en el siguiente criterio de evaluación:
- CE.PR.3. Describir, representar e intercambiar ideas o soluciones a problemas tecnológicos o digitales, utilizando medios de representación, simbología y vocabulario adecuados, así como los instrumentos y recursos disponibles y valorando la utilidad de las herramientas digitales, para comunicar y difundir información y propuestas.
- 3.1. Representar y comunicar el proceso de creación de un producto desde su diseño hasta su difusión, elaborando documentación técnica y gráfica con la ayuda de herramientas digitales, empleando los formatos y el vocabulario técnico adecuados, de manera colaborativa, tanto presencialmente como en remoto.
Y por último, también lo podemos encontrar en la concreción de los saberes básicos:
- Bloque 2. B. Comunicación y difusión de ideas: herramientas digitales para la elaboración, publicación y difusión de documentación técnica e información multimedia relativa a proyectos.
Enunciado de situación de aprendizaje 3
Realizar un diagrama de flujo que simule el funcionamiento de una calculadora básica donde introducimos 2 números y 4 operaciones posibles (+, -, /,*) teniendo en cuenta que la división tiene un caso especial (el segundo número no puede ser un cero). Tras mostrar en pantalla el resultado final se ofrecerá la posibilidad de seguir realizando operaciones.
Mostramos dos soluciones. En la de izquierda el usuario se limita simplemente a sacar un mensaje de error si el segundo operando de una división es cero y en la de la derecha se vuelve a pedir el número y se comprueba constantemente que sea distinto de cero, y en tal caso, realizará la operación de la división.
Financiado por el Ministerio de Educación y Formación Profesional y por la Unión Europea - NextGenerationEU
Situación de aprendizaje 4. Adivinando el número secreto
Para terminar con el capítulo de diagramas de flujo vamos a plantear el típico ejercicio de adivinar el número secreto. Los condicionantes son los siguientes:
- Se generará un número aleatorio entre 1 y 100
- Se preguntará al usuario para que intente acertarlo
- Si el número introducido por el usuario es menor habrá que sacar un mensaje para decirle que el número a adivinar es más grande
- Si el número introducido por el usuario es mayor habrá que sacar un mensaje para decirle que el número a adivinar es más pequeño
- Si lo adivina mandar un mensaje de felicitaciones
- Preguntar si quiere volver a jugar, y en tal caso vuelta a empezar
SOLUCIÓN
Financiado por el Ministerio de Educación y Formación Profesional y por la Unión Europea - NextGenerationEU