Taller Teórico-Práctico: Algoritmos, Diagramas de Flujo, Scratch y Resolución de Problemas
Objetivo General
El objetivo de este taller es que los estudiantes comprendan los conceptos fundamentales de algoritmos, diagramas de flujo y bloques de programación mediante Scratch. Se integrará el tema de resolución de problemas a través de la programación, permitiendo a los estudiantes aplicar lo aprendido en situaciones reales.
Sección 1: Algoritmos (30 minutos)
Teoría: ¿Qué es un algoritmo?
Un algoritmo es un conjunto de pasos o instrucciones bien definidas y ordenadas que nos permiten resolver un problema o realizar una tarea. Es como una receta que se sigue para obtener un resultado deseado.
Características de un buen algoritmo:
- Claridad: Las instrucciones deben ser precisas y fáciles de entender.
- Finitud: El algoritmo debe terminar en algún momento.
- Entrada y salida: Debe tener datos de entrada y producir datos de salida.
- Eficiencia: Debe ser eficiente en cuanto a tiempo y recursos.
Preguntas Teóricas:
- ¿Cómo describirías un algoritmo con tus propias palabras?
- ¿Por qué es importante que un algoritmo sea eficiente?
- Menciona tres ejemplos de situaciones cotidianas en las que utilices algoritmos (aunque no los llames de esa manera).
Ejercicio Práctico:
- Escribe un algoritmo para realizar las siguientes tareas cotidianas:
- Hacer una taza de café.
- Subir un video a una red social.
Sección 2: Diagramas de Flujo (30 minutos)
Teoría: ¿Qué es un diagrama de flujo?
Un diagrama de flujo es una representación gráfica de un algoritmo. Utiliza símbolos y flechas para mostrar el flujo de control y las acciones a seguir. Es una herramienta muy útil para visualizar y entender el proceso de resolución de un problema.
Símbolos comunes:
- Óvalo: Inicio y fin del algoritmo.
- Rectángulo: Proceso o acción.
- Rombo: Decisión (condicional).
- Flechas: Dirección del flujo.
Preguntas Teóricas:
- ¿Cómo ayuda un diagrama de flujo a entender un algoritmo?
- ¿Por qué es importante usar símbolos estándar en un diagrama de flujo?
- Dibuja los símbolos que representan el inicio/fin, un proceso y una decisión en un diagrama de flujo.
Ejercicio Práctico:
Dibuja un diagrama de flujo para el siguiente problema:
- Decidir si un número es par o impar.
Crea un diagrama de flujo para representar un algoritmo que calcule el promedio de tres números.
Sección 3: Scratch y Bloques de Programación (60 minutos)
Teoría: Introducción a Scratch
Scratch es un entorno de programación visual que utiliza bloques en lugar de código escrito para crear programas. Los bloques se arrastran y ensamblan para formar secuencias lógicas de instrucciones, lo que facilita el aprendizaje de los conceptos fundamentales de programación.
Categorías de Bloques en Scratch:- Movimiento: Bloques que permiten mover los sprites.
- Control: Bloques que gestionan el flujo del programa (bucles, condicionales).
- Apariencia: Bloques que cambian el aspecto de los sprites.
- Sonido: Bloques que agregan sonidos al programa.
- Sensores: Bloques que permiten detectar eventos o interacciones.
Preguntas Teóricas:
- ¿Qué ventajas tiene aprender a programar usando Scratch?
- Explica la diferencia entre un bucle
repetiry un buclepor siempre. - ¿Cómo puedes hacer que un sprite en Scratch se mueva hacia la derecha cada vez que presionas la tecla de flecha derecha?
Ejercicio Práctico en Scratch:
Crear un programa simple en Scratch:
- Crea un sprite que se mueva hacia la izquierda y hacia la derecha utilizando las teclas de flecha.
- Haz que el sprite diga "¡Hola!" cuando toque el borde.
Crear una animación en Scratch:
- Crea una animación donde un sprite cambie de tamaño y color en un bucle.
- Usa bloques de control y apariencia para lograr el efecto.
Sección 4: Resolución de Problemas mediante Programación (60 minutos)
Teoría: Resolución de Problemas con Programación
La programación no es solo escribir código; es una herramienta poderosa para resolver problemas. Cuando programamos, descomponemos un problema en partes más pequeñas y manejables, y luego creamos un algoritmo que nos ayuda a resolverlo paso a paso.
Pasos para la resolución de problemas:
- Entender el problema: Analiza cuidadosamente lo que se te pide.
- Descomponer el problema: Divide el problema en partes más pequeñas y resuélvelas por separado.
- Diseñar el algoritmo: Crea un plan o un conjunto de pasos para resolver el problema.
- Implementar el algoritmo: Escribe el código (o bloques en Scratch) para ejecutar tu solución.
- Probar y depurar: Verifica que el programa funcione correctamente y corrige cualquier error.
Preguntas Teóricas:
- ¿Por qué es importante descomponer un problema en partes más pequeñas?
- ¿Cómo se relacionan los algoritmos y la programación con la resolución de problemas?
- Menciona un problema que podrías resolver mediante la programación y describe brevemente cómo lo harías.
Ejercicio Práctico de Resolución de Problemas:
Problema 1: Calcular el promedio de tres calificaciones en Scratch
- Crea un programa en Scratch que solicite tres calificaciones al usuario y luego calcule y muestre el promedio.
Problema 2: Juego simple de adivinanza
- Crea un programa en Scratch donde el usuario deba adivinar un número entre 1 y 10. El programa debe dar pistas al usuario indicando si el número es mayor o menor.
Problema 3: Conversión de temperatura
- Crea un programa que convierta temperaturas de grados Celsius a Fahrenheit y viceversa.
Conclusión y Reflexión (30 minutos)
Discusión en grupo:
- Reflexiona sobre el proceso de resolver problemas con algoritmos y programación. ¿Qué desafíos enfrentaron? ¿Cómo los superaron?
- Comparte ejemplos de cómo los conceptos de este taller pueden aplicarse en situaciones del mundo real.
Revisión de ejercicios:
- Revisa los algoritmos, diagramas de flujo y programas creados por los estudiantes, brindando retroalimentación sobre sus soluciones.
Preguntas abiertas:
- Permite un tiempo para preguntas abiertas sobre los conceptos vistos en el taller.
Materiales Requeridos:
- Computadores con acceso a Scratch (online o descargado).
- Papel y lápiz para diagramas de flujo.
- Proyector para la presentación teórica (opcional).
Evaluación:
Los estudiantes serán evaluados en su capacidad para entender los conceptos teóricos, realizar diagramas de flujo correctamente y aplicar estos conceptos en ejercicios prácticos de Scratch. Se valorará su creatividad y enfoque en la resolución de problemas.


