Código Inteligente: Usando Funciones
¿Cansado de copiar y pegar los mismos bloques una y otra vez? A medida que tus programas se vuelven más complejos, necesitas una forma de mantenerte organizado y eficiente. ¡El secreto definitivo de los programadores profesionales para esto es la Función! En esta misión, aprenderás a agrupar tu código en bloques inteligentes y reutilizables que se pueden llamar en cualquier momento. Prepárate para construir una única función de patrón de luces que puede ser activada por diferentes botones para crear diferentes resultados.
Funciones; Parámetros; Código reutilizable; Eventos; Entrada de usuario
¿Qué haremos?
¿Eres un profesor?
Cursos
- Grados 6-12
Materiales
- Celular, tableta o computadora
- Conexión a Internet
Objetivos Educativos
- Comprender el concepto de funciones y parámetros.
- Crear un objeto tecnológico (prototipo) utilizando un dispositivo.
- Identificar relaciones entre la tecnología y el mundo circundante.
- Evaluar el trabajo propio y el de los demás.
- Participar en diálogos y reflexiones sobre ideas de mejora.
Inicio (10 minutos) - El Problema de la Repetición
- Da la bienvenida a los estudiantes y presenta la actividad del día: “Hoy aprenderemos a escribir código más inteligente y eficiente usando funciones.”
- Inicia la lección preguntando: “Imaginen que están escribiendo un programa y necesitan usar los mismos 10 bloques de código en cinco lugares diferentes. ¿Cuál es el problema de simplemente copiarlos y pegarlos?” (Guíalos a problemas de tamaño, desorden y la dificultad de hacer cambios: ¡tendrías que corregir un error en 5 lugares!).
- Explica que los programadores tienen una solución poderosa para esto: las Funciones. Usa la analogía de una receta: en lugar de escribir los pasos cada vez, simplemente te refieres al nombre de la receta. Este es el punto de entrada perfecto para explicar cómo las funciones nos ayudan a escribir código reutilizable.
¿Qué son las funciones?
Las funciones son grupos de código reutilizables que puedes nombrar y luego “llamar” cada vez que los necesites. Imagina que tienes una receta favorita con cinco pasos para hacer la cena. En lugar de escribir esos cinco pasos cada vez, puedes crear una única “tarjeta de receta” llamada “CENA”. Ahora, solo necesitas llamar a esa única función, y el programa ejecuta los cinco pasos. Esta es una función sin parámetros porque hace exactamente lo mismo cada vez.
Funciones con Parámetros
Pero, ¿y si quieres hacer la misma receta con diferentes ingredientes principales? Podemos hacer nuestra función más inteligente dándole parámetros —entradas que pueden cambiar el resultado. Piensa de nuevo en la función CENA. Podemos agregar un parámetro para el ingrediente principal. Ahora, llamar a CENA(fideos)
dará un resultado diferente que CENA(arroz)
. Los pasos son los mismos, pero la entrada cambia el resultado. En nuestra actividad, crearemos una función secuencia_luces
con un parámetro de color. La función siempre realizará el mismo patrón de parpadeo, pero el color de la luz cambiará según el parámetro que proporcionemos cuando la llamemos.
Desarrollo (20-30 minutos) - Construyendo una Función Reutilizable
- Ahora que los estudiantes comprenden el poder de crear bloques de código reutilizables, es hora de construir su primera función.
- Guíalos a través de las instrucciones para crear su propia función
secuencia_luces
y luego llamarla desde dos eventos de botones diferentes, como se detalla en la sección práctica a continuación. Esta es su primera vez definiendo un bloque personalizado y luego usándolo en su programa, lo cual es un paso importante.
Cierre (5-10 minutos) - El Poder de los Parámetros
- Una vez que todos tengan su panel de luces de dos botones funcionando desde una sola función, es hora de reflexionar sobre el poder y la elegancia de esta nueva herramienta.
- Usa la sección final para fomentar la experimentación con los parámetros de la función y para desafiarlos a construir una segunda función diferente para otra tarea.
Reflexiona
¡Has creado tu primera función! Ahora es el momento de experimentar.
- ¿Cómo agregarías un tercer botón que llame a la misma función pero con el color azul?
- ¿Cómo cambiarías la velocidad del parpadeo? (Pista: ¡solo tienes que editar la función en un lugar!)
- ¿Y si quisieras crear un segundo patrón de luces completamente diferente? ¿Crearías una nueva función?
¿Qué son las funciones?
Las funciones son grupos de código reutilizables que puedes nombrar y luego “llamar” cada vez que los necesites. Imagina que tienes una receta favorita con cinco pasos para hacer la cena. En lugar de escribir esos cinco pasos cada vez, puedes crear una única “tarjeta de receta” llamada “CENA”. Ahora, solo necesitas llamar a esa única función, y el programa ejecuta los cinco pasos. Esta es una función sin parámetros porque hace exactamente lo mismo cada vez.
Funciones con Parámetros
Pero, ¿y si quieres hacer la misma receta con diferentes ingredientes principales? Podemos hacer nuestra función más inteligente dándole parámetros —entradas que pueden cambiar el resultado. Piensa de nuevo en la función CENA. Podemos agregar un parámetro para el ingrediente principal. Ahora, llamar a CENA(fideos)
dará un resultado diferente que CENA(arroz)
. Los pasos son los mismos, pero la entrada cambia el resultado. En nuestra actividad, crearemos una función secuencia_luces
con un parámetro de color. La función siempre realizará el mismo patrón de parpadeo, pero el color de la luz cambiará según el parámetro que proporcionemos cuando la llamemos.
Crea el Panel de Luces
Creemos el prototipo. Necesitaremos 3 dispositivos (o abrirlos en la misma ventana).
1
En el primer dispositivo, agrega el componente Lámpara.
2
En el segundo dispositivo, agrega el primer TouchButton.
3
En el tercer dispositivo, agrega el segundo TouchButton. Recuerda, puedes usar Abrir en esta ventana para abrir componentes en tu computadora.
¡Estamos listos para empezar a prototipar!
Consejo: Puedes agregar más componentes en el mismo smartphone presionando el botón SCAN tantas veces como necesites.
Composición del Código
Haz clic en el ícono del signo de interrogación para abrir los comentarios que explican el código.
Reflexiona
¡Has creado tu primera función! Ahora es el momento de experimentar.
- ¿Cómo agregarías un tercer botón que llame a la misma función pero con el color azul?
- ¿Cómo cambiarías la velocidad del parpadeo? (Pista: ¡solo tienes que editar la función en un lugar!)
- ¿Y si quisieras crear un segundo patrón de luces completamente diferente? ¿Crearías una nueva función?
Desafío: Modifica el proyecto para mostrar un mensaje en la pantalla. Crea una nueva función que tome dos parámetros: el texto a mostrar y el color del texto.
Pista: Necesitarás el componente WriteDraw. Luego, define una nueva función con parámetros para el texto y el color para manejar la escritura del mensaje en la pantalla.