Estructuras de Control: Secuencia y Selección
Los estudiantes implementan condicionales (si-entonces-sino) para dirigir el flujo de un programa según ciertas condiciones.
Acerca de este tema
Las estructuras de control de secuencia y selección son fundamentales en programación. La secuencia ejecuta instrucciones en orden lineal, mientras que la selección usa condicionales como si-entonces-sino para ramificar el flujo según condiciones lógicas. En 1° de Preparatoria, los estudiantes implementan estas en pseudocódigo o lenguajes simples, resolviendo problemas como calcular descuentos por edad o validar entradas de usuario. Esto responde a preguntas clave del plan SEP: determinar la eficiencia de selecciones simples versus anidadas, cómo las condiciones hacen el software interactivo y qué pasa si no se cubren todos los escenarios.
En la unidad de Pensamiento Computacional y Lógica de Programación, este tema fortalece habilidades de descomposición y abstracción. Los alumnos conectan la lógica cotidiana, como decidir qué ruta tomar al tráfico, con algoritmos. Practican depuración al probar casos límite, lo que fomenta precisión y resiliencia ante errores.
El aprendizaje activo beneficia este tema porque las simulaciones en parejas o grupos, como dibujar diagramas de flujo y ejecutarlos paso a paso, hacen visibles las ramificaciones lógicas. Los estudiantes corrigen errores en tiempo real, discuten alternativas y refinan condiciones, lo que acelera la comprensión intuitiva y reduce frustraciones comunes en programación.
Preguntas Clave
- ¿Cómo determinamos cuándo es más eficiente usar una estructura de selección simple o anidada?
- ¿De qué forma las condiciones lógicas permiten que el software sea interactivo?
- ¿Qué sucede cuando una condición lógica no cubre todos los posibles escenarios?
Objetivos de Aprendizaje
- Clasificar problemas de programación según si requieren una estructura de secuencia o de selección.
- Diseñar pseudocódigo que utilice estructuras condicionales 'si-entonces-sino' para resolver problemas lógicos específicos.
- Analizar el flujo de ejecución de un programa que contiene condicionales anidados y predecir su resultado.
- Evaluar la efectividad de una condición lógica dada en un programa para manejar diferentes escenarios de entrada.
- Crear un programa simple que tome decisiones basadas en la entrada del usuario y condiciones predefinidas.
Antes de Empezar
Por qué: Los estudiantes necesitan comprender cómo almacenar y manipular información para poder usarla en condiciones lógicas.
Por qué: Es esencial que los estudiantes conozcan los operadores (>, <, ==, !=, Y, O, NO) para construir expresiones condicionales válidas.
Vocabulario Clave
| Secuencia | Es el orden lineal en que se ejecutan las instrucciones de un programa, una tras otra. |
| Selección (Condicional) | Permite que un programa tome decisiones y ejecute diferentes bloques de código basándose en si una condición es verdadera o falsa. |
| Condición | Una expresión que se evalúa como verdadera o falsa, determinando qué camino tomará la ejecución del programa. |
| Pseudocódigo | Una forma de describir los pasos de un algoritmo utilizando una mezcla de lenguaje natural y convenciones de programación, sin adherirse a la sintaxis estricta de un lenguaje específico. |
| Anidamiento | La práctica de colocar una estructura de control (como un condicional) dentro de otra estructura de control del mismo tipo. |
Cuidado con estas ideas erróneas
Idea errónea comúnTodo si necesita un sino.
Qué enseñar en su lugar
No siempre; un si simple basta si solo actúa en condición verdadera. Discusiones en parejas al probar códigos sin sino ayudan a ver que el flujo continúa secuencialmente, aclarando cuándo usar cada uno.
Idea errónea comúnLa secuencia y selección son lo mismo.
Qué enseñar en su lugar
La secuencia es lineal, la selección ramifica. Simulaciones grupales con diagramas de flujo muestran visualmente las bifurcaciones, permitiendo a estudiantes contrastar y corregir su modelo mental mediante ejecución paso a paso.
Idea errónea comúnUna condición cubre todos los casos.
Qué enseñar en su lugar
Faltan escenarios lleva a errores. Pruebas colaborativas de casos límite en grupos revelan omisiones, fomentando cobertura completa con anidamientos o múltiples si.
Ideas de aprendizaje activo
Ver todas las actividadesParejas: Diagrama de Flujo Interactivo
Los estudiantes dibujan un diagrama de flujo para un programa que verifica si un número es par o impar usando si-entonces-sino. Luego, simulan su ejecución con dados reales, registrando salidas. Cambian condiciones para casos anidados y comparan resultados.
Grupos Pequeños: Juego de Decisiones
En grupos, crean un programa simple en pseudocódigo para un juego de adivinanza con pistas condicionales. Prueban con entradas variadas, identifican escenarios no cubiertos y agregan sino. Comparten y depuran mutuamente.
Clase Completa: Simulación de Tráfico
Proyecta un pseudocódigo para semáforos con selección anidada. La clase vota entradas (colores, peatones) y predice salidas en voz alta. Luego, modifican colectivamente para agregar más condiciones y ejecutan.
Individual: Depuración de Condicionales
Cada alumno recibe un código con errores en si-entonces-sino. Identifica fallos probando casos, corrige y escribe un nuevo escenario. Comparte uno con la clase al final.
Conexiones con el Mundo Real
- Los sistemas de navegación GPS, como Google Maps o Waze, utilizan estructuras de selección para determinar la ruta más rápida basándose en condiciones como el tráfico en tiempo real, cierres de calles o límites de velocidad.
- Los cajeros automáticos emplean condicionales para verificar si un usuario tiene fondos suficientes antes de permitir una transacción, o para validar si la tarjeta está activa antes de proceder.
- Los videojuegos usan estructuras de control para determinar las acciones de los personajes no jugadores (NPCs) o para decidir si el jugador ha cumplido los requisitos para pasar al siguiente nivel.
Ideas de Evaluación
Presente a los estudiantes un problema simple, como 'Si la temperatura es mayor a 30 grados, mostrar 'Hace calor', de lo contrario mostrar 'Temperatura agradable'. Pida a los estudiantes que escriban el pseudocódigo correspondiente y expliquen por qué se usa una estructura de selección.
Entregue a cada estudiante una tarjeta con un escenario (ej. 'Comprar un boleto de cine con descuento para estudiantes'). Pídales que escriban una condición lógica que represente el escenario y el bloque de código que se ejecutaría si la condición es verdadera.
Plantee la siguiente pregunta para debate en grupos pequeños: '¿Qué sucede si un programa tiene una condición 'si-entonces' pero no incluye una cláusula 'sino' y la condición es falsa? ¿Qué implicaciones tiene esto para la interactividad del software?'
Preguntas frecuentes
¿Cómo enseñar eficientemente estructuras de selección en preparatoria?
¿Cuál es la diferencia entre secuencia y selección?
¿Cómo el aprendizaje activo mejora el dominio de condicionales?
¿Qué pasa si una condición no cubre todos los escenarios?
Más en Pensamiento Computacional y Lógica de Programación
Introducción al Pensamiento Computacional
Los estudiantes exploran los pilares del pensamiento computacional y su aplicación en la resolución de problemas cotidianos.
2 methodologies
Descomposición de Problemas Complejos
Los estudiantes aplican técnicas para dividir problemas complejos en partes manejables, facilitando su análisis y solución.
2 methodologies
Abstracción y Reconocimiento de Patrones
Los estudiantes identifican elementos esenciales y patrones recurrentes en problemas para crear soluciones generalizables.
2 methodologies
Algoritmos: Concepto y Diseño
Los estudiantes definen algoritmos como secuencias de pasos para resolver problemas, diseñando soluciones paso a paso.
2 methodologies
Diagramas de Flujo y Pseudocódigo
Los estudiantes representan algoritmos visualmente con diagramas de flujo y textualmente con pseudocódigo.
2 methodologies
Estructuras de Control: Repetición (Ciclos)
Los estudiantes utilizan ciclos (mientras, para) para ejecutar bloques de código repetidamente, optimizando la escritura de programas.
2 methodologies