Episodio 8
Imagina una licuadora: metes fruta, la enciendes y sale jugo. No necesitas saber cómo funciona por dentro, solo usarla. Una función es lo mismo, pero hecha de código. 🥤
Una función es un bloque de pasos con nombre que hace una tarea. La escribes una vez y la usas todas las veces que quieras, sin repetir los pasos.
Se reutiliza
Escribes la receta una vez y la llamas cuando la necesites.
Ordena el programa
Divides un problema grande en tareas pequeñas con nombre.
Se arregla en un solo lugar
Si cambias la receta, mejora en todos los sitios donde se usa.
🔑 Ya conoces la idea: es el Entrada → Proceso → Salida del Episodio 3, pero empaquetado con un nombre.
Hay dos momentos distintos: crear la función (definirla) y usarla (llamarla).
Su propio diagrama, aparte del programa
Dentro del programa principal
El rectángulo con doble barra a los lados significa «llamo a una función».
doblenr = n × 2RETORNAR rEn doble(n), n es el parámetro: el nombre del hueco. En doble(5), 5 es el argumento: el valor real que le entregas. La función los empareja: n = 5.
Algunas funciones solo hacen algo (mostrar un mensaje) y no devuelven un valor. Otras devuelven un resultado que puedes guardar en una variable.
Elige una función, cambia los argumentos y llámala. Fíjate en qué tipo de valor devuelve cada una.
Avanza paso a paso. Cuando el programa llama a la función, el control salta a su diagrama (se ilumina), usa su memoria local y al retornar vuelve al programa con el resultado.
Las variables de dentro de una función (n, r) solo existen mientras ella trabaja. Al retornar desaparecen. El programa principal no puede verlas, y la función tampoco ve las suyas. Por eso solo se comunican con parámetros (entran) y retorno (sale).
En «La misma función dos veces», un único diagrama cuadrado(n) sirve para dos números distintos. Sin funciones tendrías que copiar sus pasos dos veces.
Los lenguajes traen muchísimas funciones ya hechas. Desde el Episodio 1 usas algunas sin saberlo (¡mostrar y leer son funciones!). Ejemplos en Python:
| Función | Qué hace | Ejemplo | Devuelve |
|---|---|---|---|
print() | muestra algo en pantalla | print("Hola") | nada (solo hace) |
input() | lee lo que escribe el usuario | input("Nombre: ") | un texto |
len() | cuenta las letras de un texto | len("hola") | 4 |
round() | redondea un decimal | round(3.7) | 4 |
abs() | quita el signo negativo | abs(-5) | 5 |
max() | elige el mayor | max(3, 9) | 9 |
💡 Además de usar las funciones del lenguaje, un programador crea las suyas. Así el programa queda ordenado y no repite pasos.
Lee la definición y calcula lo que devuelve la llamada.
Fíjate en la parte subrayada.
n); el argumento es el valor real (5).