Sesión 13: Funciones, parámetros, retorno y modularización¶
Objetivo¶
Dividir un problema en partes reutilizables mediante funciones con parámetros y retorno.
Producto de la sesión¶
Elabora un programa organizado en funciones claras que resuelvan subproblemas concretos y muestren resultados verificables.
Resultado esperado¶
Construye un programa modular que use funciones, parámetros y return para resolver subproblemas, organizando la solución en entrada, proceso y salida.
Alcance de la sesión¶
- Uso de funciones para dividir problemas en partes reutilizables.
- Aplicación de parámetros,
return, modularización y reutilización. - Resolución de ejercicios guiados y práctica autónoma.
- Verificación de resultados con casos de prueba.
Base conceptual de la sesión¶
- funciones
- parámetros
- return
- modularización
- reutilización
1. Funciones
Concepto Agrupan instrucciones con una tarea clara para reutilizar y ordenar la solución.
Elementos o clasificación Funciones sin retorno, con retorno y con parámetros.
Criterio de uso Se usan para dividir un problema en subproblemas. Una buena función tiene nombre claro, responsabilidad única y entradas definidas.
Ejemplo de aplicación
def doble(x):
return x * 2
2. Parámetros
Concepto Permiten que una función reciba datos desde el exterior para trabajar con ellos.
Elementos o clasificación Parámetros de entrada simples o múltiples.
Criterio de uso Permiten que la función trabaje con datos variables sin depender de valores escritos directamente dentro de ella.
Ejemplo de aplicación
def saludar(nombre):
print(nombre)
3. Return
Concepto Es la instrucción que entrega al programa principal el resultado producido por una función.
Elementos o clasificación Retorno de un valor calculado, retorno de texto y retorno lógico.
Criterio de uso Devuelve el resultado calculado por una función para que pueda usarse en otra parte del programa.
Ejemplo de aplicación
def sumar(a, b):
return a + b
4. Modularización
Concepto Divide el problema en partes pequeñas para mejorar claridad y mantenimiento.
Elementos o clasificación División en funciones pequeñas con responsabilidades claras.
Criterio de uso Ayuda a construir programas más claros: cada módulo resuelve una parte y el programa principal coordina el flujo general.
Ejemplo de aplicación Crear una función para registrar y otra para consultar.
5. Reutilización
Concepto Consiste en diseñar una solución para usarla más de una vez con distintos datos, evitando repetir código.
Elementos o clasificación Uso repetido de una función con distintos argumentos.
Criterio de uso Una solución reutilizable evita repetir instrucciones y permite aplicar la misma función con datos diferentes.
Ejemplo de aplicación Usar calcular_promedio() para varios estudiantes sin repetir la fórmula.
Síntesis de la sesión Para resolver ejercicios, no basta con escribir instrucciones en Python. Es necesario reconocer los datos, nombrarlos correctamente, elegir operaciones o estructuras de control apropiadas y comprobar el resultado con casos de prueba.
| Aspecto | Pregunta guía |
|---|---|
| Entrada | ¿Qué datos necesita recibir el programa? |
| Proceso | ¿Qué cálculos, decisiones o repeticiones transforman los datos? |
| Salida | ¿Qué resultado debe mostrarse y con qué formato? |
| Prueba | ¿Con qué casos se demuestra que la solución funciona? |
Actividad práctica¶
La sesión se desarrolla con exploración inicial, ejercicios guiados, ejercicios de aplicación y una tarea tipo competencia.
Arquitectura¶
Entrada -> Proceso -> Salida
- Entrada: datos que las funciones recibirán mediante parámetros.
- Proceso: cálculo, validación o clasificación encapsulada en funciones reutilizables.
- Salida: valores retornados o mensajes mostrados por el programa principal.
Mini laboratorio¶
Prueba una función pequeña con parámetro y retorno para observar cómo encapsula una tarea.
def doble(valor):
return valor * 2
print(doble(4))
Ejercicio 1: Área de un triángulo¶
Escribe una función que reciba la base y la altura de un triángulo y retorne su área.
Resolución guiada
- Comprender: el programa debe resolver este problema: Escribe una función que reciba la base y la altura de un triángulo y retorne su área
- Entradas: define los parámetros de la función
- Procesos:
- escribe la fórmula del área
- ordena las operaciones o decisiones antes de escribir el código
- prepara el resultado final que mostrarás al usuario
- Salidas: muestra el resultado solicitado por el enunciado con mensajes claros y ordenados.
- Pruebas:
- prueba la función con más de un par de valores
- caso límite: prueba el valor exacto donde cambia la regla, condición o cálculo principal
- caso excepcional: revisa qué ocurre con una entrada vacía, inválida o fuera de rango
- Código:
def area_triangulo(base, altura):
return (base * altura) / 2
print(area_triangulo(10, 4))
Ejercicio 2: Promedio y resultado final¶
Crearemos una función para calcular el promedio y otra para decidir el resultado final del estudiante.
Resolución guiada
- Comprender: explica con una oración completa cuál es el resultado que debe obtener el programa.
- Entradas: enumera cada dato de entrada e indica su tipo de dato esperado.
- Procesos:
- describe la operación, condición, recorrido o función principal que usarás para resolver el problema
- ordena las acciones principales antes de escribir el código
- prepara cómo obtendrás el resultado final antes de mostrarlo
- Salidas: especifica la salida esperada y el formato con que se debe mostrar.
- Pruebas:
- caso normal: usa datos habituales para comprobar que el resultado esperado se cumpla
- caso límite: prueba el valor exacto donde cambia la regla principal
- caso excepcional: revisa qué sucede con una entrada vacía, inválida o fuera de rango
- Código:
def calcular_promedio(n1, n2, n3):
return (n1 + n2 + n3) / 3
def obtener_resultado(promedio):
if promedio >= 11:
return 'Aprobado'
return 'Desaprobado'
promedio = calcular_promedio(15, 12, 14)
print('Promedio:', promedio)
print('Resultado:', obtener_resultado(promedio))
Ejercicio 3: Número par o impar¶
Escribe una función que reciba un número y retorne True si es par o False si es impar.
Resolución guiada
- Comprender: el programa debe resolver este problema: Escribe una función que reciba un número y retorne True si es par o False si es impar
- Entradas: define el parámetro de entrada
- Procesos:
- identifica la condición para saber si es par
- ordena las operaciones o decisiones antes de escribir el código
- prepara el resultado final que mostrarás al usuario
- Salidas: muestra el resultado solicitado por el enunciado con mensajes claros y ordenados.
- Pruebas:
- prueba con números pares e impares
- caso límite: prueba el valor exacto donde cambia la regla, condición o cálculo principal
- caso excepcional: revisa qué ocurre con una entrada vacía, inválida o fuera de rango
- Código:
def es_par(numero):
return numero % 2 == 0
print(es_par(8))
print(es_par(7))
Ejercicio 4: Categoría de desempeño¶
Escribe una función que reciba un promedio y retorne una categoría de desempeño.
Resolución guiada
- Comprender: una regla de clasificación puede encapsularse en una función reutilizable.
- Entradas: un promedio como parámetro.
- Procesos:
- usa condicionales dentro de la función
- retorna un texto según el rango del promedio
- llama la función desde el programa principal
- Salidas: categoría devuelta por la función.
- Pruebas: prueba con
19,15,11y8. - Código:
def clasificar_promedio(promedio):
if promedio >= 18:
return 'Destacado'
elif promedio >= 14:
return 'Bueno'
elif promedio >= 11:
return 'Aprobado'
else:
return 'En proceso'
promedio = float(input('Promedio: '))
print('Categoría:', clasificar_promedio(promedio))
Ejercicio 5: Mayor valor con función¶
Escribe una función que reciba una lista de números y retorne el mayor valor. Luego úsala en un programa principal.
Resolución guiada
- Comprender: redacta con tus palabras qué debe resolver la tarea.
- Entradas: define qué datos ingresan y el tipo que tendrán.
- Procesos:
- describe la estrategia, fórmula, condición, estructura o algoritmo que piensas aplicar
- ordena las acciones principales antes de escribir el código
- prepara cómo obtendrás el resultado final antes de mostrarlo
- Salidas: indica con claridad qué resultado debe mostrar o registrar la solución.
- Pruebas:
- caso normal: usa datos habituales para comprobar que la solución funcione
- caso límite: prueba el valor exacto donde cambia la regla principal
- caso excepcional: revisa qué ocurre con una entrada vacía, inválida o fuera de rango
- Código:
def mayor_lista(numeros):
mayor = numeros[0]
for numero in numeros:
if numero > mayor:
mayor = numero
return mayor
datos = [7, 12, 5, 18, 9]
print(mayor_lista(datos))
Aprendizaje autónomo¶
Desarrolle el producto de la sesión resolviendo una o más de las siguientes actividades mediante un programa con funciones claramente identificables.
1 Escribe una función que calcule el área o perímetro de una figura y úsala desde un programa principal.
# Actividad 1
2 Crea una función booleana que valide una condición simple y úsala en una decisión del programa principal.
# Actividad 2
3 Prueba cada función con al menos tres casos distintos y muestra los resultados desde el programa principal.
# Actividad 3
Evaluación del producto de la sesión¶
Lista de cotejo para revisar el producto elaborado por el estudiante:
- Cada función resuelve una tarea específica del problema.
- Usa parámetros para recibir datos de entrada cuando corresponde.
- Usa
returncuando la función debe devolver un resultado. - Aprovecha el valor retornado en el programa principal.
- Evita repetir código innecesariamente mediante reutilización.
- Presenta resultados claros, ordenados y correctos según lo solicitado.
- Verifica cada función con más de un caso antes de entregar.
- Entrega la evidencia del trabajo realizado.