Ir al contenido
Tecnología · II Medio · Algoritmos y Lógica de Programación Estructurada · 1er Semestre

Funciones y Procedimientos

Los estudiantes diseñan y utilizan funciones y procedimientos para modularizar el código, promoviendo la reutilización y el mantenimiento.

Objetivos de Aprendizaje (OA)OA TEC 2oM: Pensamiento Computacional y ProgramaciónOA TEC 2oM: Lógica de Programación

Acerca de este tema

Las funciones y procedimientos representan una herramienta clave en la programación estructurada para estudiantes de II Medio. Los alumnos diseñan funciones que encapsulan bloques de código repetitivos, lo que facilita la reutilización y simplifica el mantenimiento de programas complejos. Aprenden a pasar parámetros por valor, que crea copias independientes, o por referencia, que permite modificar los datos originales directamente. Estas prácticas responden a preguntas curriculares como cómo mejorar la organización y legibilidad del código, o justificar la creación de funciones frente a la repetición.

En las Bases Curriculares de MINEDUC para Tecnología, este tema se vincula con los OA TEC 2oM de Pensamiento Computacional y Lógica de Programación. Fomenta habilidades como la descomposición de problemas en módulos manejables y el uso eficiente de algoritmos. Los estudiantes analizan ejemplos reales, refactorizan código existente y evalúan impactos en el rendimiento, preparando terreno para programación orientada a objetos en semestres posteriores.

El aprendizaje activo resulta ideal para este contenido porque los estudiantes codifican funciones en entornos interactivos, prueban variaciones de parámetros en tiempo real y comparan resultados en grupo. Estas experiencias concretas revelan beneficios inmediatos en legibilidad y reutilización, fortaleciendo la comprensión profunda y la retención a largo plazo.

Preguntas Clave

  1. ¿Cómo la creación de funciones mejora la organización y legibilidad de un programa?
  2. ¿De qué manera el paso de parámetros por valor o por referencia afecta el comportamiento de una función?
  3. ¿Cómo podemos justificar la decisión de crear una función en lugar de repetir un bloque de código?

Objetivos de Aprendizaje

  • Diseñar funciones y procedimientos en pseudocódigo o un lenguaje de programación para resolver problemas específicos, demostrando modularidad.
  • Comparar el impacto del paso de parámetros por valor versus por referencia en el resultado de un programa mediante la ejecución de ejemplos.
  • Evaluar la eficiencia y legibilidad de un código que utiliza funciones frente a uno que repite bloques de código.
  • Explicar cómo la encapsulación de lógica en funciones mejora la mantenibilidad y escalabilidad de un software.
  • Identificar oportunidades para la refactorización de código existente mediante la creación de funciones reutilizables.

Antes de Empezar

Estructuras de Control (Condicionales y Repetitivas)

Por qué: Los estudiantes deben comprender cómo funcionan las estructuras de control para poder encapsular bloques de código dentro de funciones y procedimientos.

Variables y Tipos de Datos

Por qué: Es fundamental que los estudiantes manejen variables y comprendan los tipos de datos para poder trabajar con parámetros y valores de retorno de funciones.

Conceptos Básicos de Algoritmos

Por qué: La comprensión de cómo diseñar una secuencia de pasos para resolver un problema es la base para la creación de funciones y procedimientos efectivos.

Vocabulario Clave

FunciónUn bloque de código nombrado que realiza una tarea específica y puede ser llamado desde otras partes del programa. Puede devolver un valor.
ProcedimientoSimilar a una función, pero generalmente no devuelve un valor. Se enfoca en ejecutar una secuencia de acciones.
ParámetroUn valor que se pasa a una función o procedimiento cuando se le llama, permitiendo que la función opere con datos específicos.
Paso por valorSe crea una copia del argumento original. Los cambios dentro de la función no afectan a la variable original.
Paso por referenciaSe pasa la dirección de memoria del argumento original. Los cambios dentro de la función sí afectan a la variable original.
ModularidadLa práctica de dividir un programa en componentes más pequeños y manejables (módulos o funciones) para facilitar su diseño, desarrollo y mantenimiento.

Cuidado con estas ideas erróneas

Idea errónea comúnLas funciones siempre copian los valores y nunca modifican las variables originales.

Qué enseñar en su lugar

El paso por valor crea copias independientes, mientras que por referencia altera el original. Experimentos en grupos pequeños, donde modifican listas compartidas, permiten observar diferencias en ejecución y corregir esta idea mediante evidencia directa.

Idea errónea comúnCrear funciones solo sirve para acortar el código, sin otros beneficios.

Qué enseñar en su lugar

Las funciones mejoran legibilidad, reutilización y mantenimiento. Actividades de refactorización en pares muestran cómo el código modular es más fácil de depurar y escalar, fomentando discusiones que revelan estos beneficios prácticos.

Idea errónea comúnLos procedimientos y funciones son lo mismo, sin distinción.

Qué enseñar en su lugar

Los procedimientos ejecutan acciones sin retornar valores, funciones sí lo hacen. Pruebas en parejas con ejemplos contrastantes aclaran usos, ayudando a estudiantes a elegir correctamente en contextos reales.

Ideas de aprendizaje activo

Ver todas las actividades

Conexiones con el Mundo Real

  • Los desarrolladores de videojuegos utilizan funciones para crear comportamientos repetitivos de los personajes o elementos del entorno, como el movimiento de un enemigo o la generación de obstáculos. Esto permite que el código sea más limpio y fácil de actualizar si cambian las reglas del juego.
  • Los ingenieros de software que trabajan en aplicaciones bancarias emplean procedimientos para realizar operaciones comunes como la transferencia de fondos o el cálculo de intereses. El paso por referencia es crucial aquí para asegurar que las modificaciones en el saldo de una cuenta se reflejen correctamente en la base de datos principal.

Ideas de Evaluación

Boleto de Salida

Entregue a cada estudiante una tarjeta con un fragmento de código que contenga un bloque repetido. Pídales que reescriban el código utilizando una función o procedimiento, y que expliquen brevemente por qué su solución es mejor. Deben indicar si usaron paso por valor o referencia y justificar su elección.

Verificación Rápida

Presente dos versiones de un mismo programa: una con código repetido y otra modularizada con funciones. Pregunte a los estudiantes: '¿Cuál código es más fácil de leer y por qué? ¿Qué función o procedimiento se podría crear en la primera versión para mejorarla?'

Evaluación entre Pares

Los estudiantes trabajan en parejas para crear una función simple. Luego, intercambian sus funciones y actúan como 'revisores'. Deben verificar si la función es clara, si los parámetros están bien definidos y si el resultado es el esperado. Cada pareja debe proporcionar al menos una sugerencia de mejora.

Preguntas frecuentes

¿Cómo mejorar la organización de un programa con funciones?
Las funciones dividen el código en módulos claros, cada uno con una tarea específica. Al pasar parámetros adecuados, evitas repeticiones y facilitas cambios futuros. En II Medio, practica refactorizando scripts simples: identifica patrones repetidos, encapsúlalos en funciones y compara versiones antes y después para ver ganancias en legibilidad y mantenimiento.
¿Cuál es la diferencia entre paso por valor y por referencia en funciones?
El paso por valor pasa copias de datos, protegiendo originales de cambios dentro de la función. Por referencia, pasa la dirección, permitiendo modificaciones directas. Usa ejemplos con números y listas: modifica en funciones y observa efectos en variables externas para diferenciar comportamientos en programación estructurada.
¿Cómo el aprendizaje activo ayuda a entender funciones y procedimientos?
El aprendizaje activo permite a estudiantes codificar funciones reales, probar parámetros en vivo y refactorizar código en pares o grupos. Estas prácticas muestran beneficios inmediatos como reutilización y legibilidad, corrigiendo errores mediante experimentación. Discusiones colaborativas conectan teoría con práctica, mejorando retención y aplicación en problemas complejos de MINEDUC.
¿Cuándo es mejor crear una función en lugar de repetir código?
Crea funciones cuando un bloque se repite tres o más veces, o cuando mejora claridad aunque sea único. Justifica por reutilización futura, facilidad de depuración y colaboración. En actividades, estudiantes evalúan códigos duplicados versus modulares, midiendo tiempo de edición para internalizar esta decisión clave en lógica de programación.