Skip to content
Tecnología · 2o de Preparatoria

Ideas de aprendizaje activo

Estructuras de Control Repetitivas (Ciclos)

Los ciclos son herramientas clave en programación, pero su comprensión abstracta dificulta a los estudiantes visualizar su impacto real. Al usar actividades activas como comparaciones, simulaciones y demostraciones prácticas en tiempo real, los estudiantes transforman el concepto teórico en una habilidad aplicable y memorable.

Aprendizajes Esperados SEPSEP EMS: Programación y Estructuras de Control
25–45 minParejas → Toda la clase4 actividades

Actividad 01

Silla Caliente30 min · Parejas

Parejas: Comparación de Ciclos

En parejas, los estudiantes escriben el mismo programa con for y while, como sumar números de una lista. Comparan eficiencia y legibilidad, luego comparten con la clase. Incluye prueba con datos variables.

¿Cómo se elige el tipo de ciclo más apropiado para una tarea repetitiva?

Consejo de FacilitaciónDurante la actividad Parejas: Comparación de Ciclos, pide a cada pareja que ejecute el mismo algoritmo con for y while, registrando diferencias en tiempo de ejecución y claridad del código.

Qué observarPresenta a los estudiantes el siguiente fragmento de código: `contador = 0; while contador < 5: print(contador); contador = contador + 1`. Pide que escriban en un papel qué valor imprimirá el programa y cuántas veces se ejecutará el bloque de código.

AplicarAnalizarEvaluarConciencia SocialAutoconciencia
Generar Clase Completa

Actividad 02

Silla Caliente45 min · Grupos pequeños

Grupos Pequeños: Cazadores de Infinitos

Formen grupos para identificar y corregir ciclos infinitos en códigos proporcionados. Usen un simulador paso a paso para rastrear ejecuciones. Discutan prevención con contadores o banderas.

¿Qué riesgos implica un ciclo infinito y cómo se previene?

Consejo de FacilitaciónEn Cazadores de Infinitos, asigna roles específicos (lector, escritor, verificador) para que los estudiantes sigan la ejecución paso a paso y detecten condiciones de salida faltantes.

Qué observarEntrega a cada alumno una tarjeta con un problema simple (ej. 'calcular la suma de los números del 1 al 10' o 'leer nombres hasta que el usuario escriba 'salir''). Pide que escriban qué tipo de ciclo (for o while) usarían y por qué, además de la condición de salida si aplica.

AplicarAnalizarEvaluarConciencia SocialAutoconciencia
Generar Clase Completa

Actividad 03

Silla Caliente35 min · Toda la clase

Clase Completa: Optimización en Vivo

Proyecten un código con ciclo ineficiente, como uno que recalcula constantes. La clase propone mejoras colectivamente y vota por la mejor. Ejecuten antes y después para medir tiempo.

¿Cómo podemos optimizar un ciclo para mejorar el rendimiento del algoritmo?

Consejo de FacilitaciónEn Optimización en Vivo, usa un cronómetro en el proyector para que todos vean cómo pequeños cambios en el código aceleran la ejecución sin modificar los outputs.

Qué observarPlantea la siguiente situación: 'Un programa que busca un archivo en una carpeta tarda demasiado y no termina nunca'. Pregunta al grupo: ¿Qué podría estar sucediendo en el código? ¿Cómo se podría prevenir este problema en el futuro? Anota las ideas clave en el pizarrón.

AplicarAnalizarEvaluarConciencia SocialAutoconciencia
Generar Clase Completa

Actividad 04

Silla Caliente25 min · Individual

Individual: Patrones con For

Cada estudiante crea un programa que genera patrones numéricos o gráficos con for anidado, como una pirámide de asteriscos. Comparten en un repositorio clase.

¿Cómo se elige el tipo de ciclo más apropiado para una tarea repetitiva?

Consejo de FacilitaciónPara Patrones con For, proporciona ejemplos visuales de patrones geométricos o secuencias numéricas para que los estudiantes traduzcan su estructura a código iterativo.

Qué observarPresenta a los estudiantes el siguiente fragmento de código: `contador = 0; while contador < 5: print(contador); contador = contador + 1`. Pide que escriban en un papel qué valor imprimirá el programa y cuántas veces se ejecutará el bloque de código.

AplicarAnalizarEvaluarConciencia SocialAutoconciencia
Generar Clase Completa

Plantillas

Plantillas que acompañan estas actividades de Tecnología

Úsalas, edítalas, imprímelas o compártelas.

Algunas notas para enseñar esta unidad

Enseñar ciclos requiere enfocarse en la lógica detrás de la repetición, no solo en la sintaxis. Evita presentar los ciclos como estructuras aisladas: siempre vincúlalos a problemas reales donde la repetición es necesaria, como procesar datos o interactuar con el usuario. La investigación en pedagogía de la programación sugiere que los estudiantes retienen mejor cuando construyen sus propios ejemplos y comparan enfoques alternativos.

Al finalizar estas actividades, los estudiantes podrán elegir correctamente entre ciclos for y while según el contexto, identificar y corregir ciclos infinitos, y optimizar bloques de código para mejorar su eficiencia sin alterar los resultados esperados.


Cuidado con estas ideas erróneas

  • Durante la actividad Parejas: Comparación de Ciclos, algunos estudiantes pueden creer que todos los ciclos son intercambiables.

    Pide a las parejas que ejecuten un mismo algoritmo con ambos ciclos y registren diferencias en legibilidad, tiempo de ejecución y flexibilidad. Luego, guíalos a concluir que for es más adecuado para repeticiones fijas, mientras while maneja mejor condiciones cambiantes.

  • Durante la actividad Grupos Pequeños: Cazadores de Infinitos, algunos pueden pensar que un ciclo infinito solo es un inconveniente menor.

    Usa el simulador de ejecución para mostrar cómo el programa no responde, consume recursos del sistema y puede bloquear el IDE. Pide a los grupos que identifiquen la condición de salida faltante en su código y agreguen un límite de iteraciones seguro.

  • Durante la actividad Clase Completa: Optimización en Vivo, algunos pueden asumir que optimizar un ciclo no tiene impacto real.

    Mide el tiempo de ejecución en pantalla antes y después de mover cálculos fuera del bucle. Pide a los estudiantes que propongan otras optimizaciones (ej. reducir llamadas a funciones dentro del ciclo) y discutan cómo afectan el rendimiento sin cambiar el resultado.


Metodologías usadas en este resumen