Lección 81 — Funciones en Programación: Qué Son, Tipos y Ejemplos

Funciones en Programación

Las funciones en programación son bloques de instrucciones que realizan una tarea específica y pueden utilizarse tantas veces como sea necesario dentro de un programa. Permiten organizar el código, evitar repeticiones innecesarias y construir soluciones más claras, eficientes y fáciles de mantener.

Imagina que desarrollas un programa para una tienda y necesitas calcular el importe de varios productos. En lugar de escribir la misma operación una y otra vez, puedes crear una función que realice el cálculo y utilizarla cada vez que la necesites.

Las funciones son fundamentales en prácticamente todos los lenguajes de programación. Aunque su sintaxis puede variar, comparten un principio esencial: dividir un problema en tareas más pequeñas que pueden resolverse y reutilizarse de manera independiente.

En esta lección aprenderás qué son las funciones, cuáles son sus tipos, cómo se definen y utilizan, qué diferencia existe entre parámetros y argumentos, cómo funcionan los valores de retorno y de qué manera contribuyen a la programación modular.


 

🧠 ¿Qué son las funciones en programación?

Una función es un bloque de código identificado mediante un nombre que agrupa instrucciones destinadas a realizar una tarea determinada.

Una función puede recibir datos, procesarlos y devolver un resultado. Sin embargo, no todas las funciones necesitan recibir parámetros ni devolver valores.

Por ejemplo, una función puede encargarse de:

  • Mostrar un mensaje de bienvenida.

  • Sumar dos números.

  • Calcular el promedio de varias calificaciones.

  • Determinar si un número es par.

  • Calcular el precio de un producto con descuento.

  • Verificar si un dato cumple determinada condición.

  • Convertir una cantidad de una unidad a otra.

💡 Ejemplo cotidiano

Piensa en una calculadora.

Cuando presionas una tecla para realizar una operación, esperas que la calculadora ejecute una tarea y muestre el resultado.

En programación podemos organizar esas operaciones mediante funciones como:

sumar()

restar()

multiplicar()

dividir()

Cada una representa una operación específica.

La idea central es que una función se encargue de una tarea claramente definida.


 

🎯 ¿Para qué sirven las funciones en programación?

Las funciones permiten construir programas más organizados y evitar duplicar instrucciones.

Sus principales beneficios son:

  • Reutilización del código: una misma función puede utilizarse varias veces.

  • Organización: el programa se divide en tareas más pequeñas.

  • Legibilidad: resulta más sencillo comprender qué hace cada parte.

  • Mantenimiento: las modificaciones pueden concentrarse en una función.

  • Detección de errores: facilita revisar y probar cada operación.

  • Trabajo colaborativo: diferentes programadores pueden desarrollar componentes separados.

  • Modularidad: favorece la construcción de programas mediante bloques relacionados.

  • Escalabilidad: ayuda a ampliar las funcionalidades sin desorganizar todo el código.

🔍 Ejemplo: evitar instrucciones repetidas

Supongamos que un programa necesita mostrar el mismo mensaje en diferentes momentos.

Sin funciones:

ESCRIBIR "Bienvenido a PCUniverseOne"

ESCRIBIR "Selecciona una opción"

ESCRIBIR "Bienvenido a PCUniverseOne"

Podemos definir una función:

FUNCIÓN mostrarBienvenida()
    ESCRIBIR "Bienvenido a PCUniverseOne"
FIN FUNCIÓN

Después, simplemente la llamamos:

mostrarBienvenida()

ESCRIBIR "Selecciona una opción"

mostrarBienvenida()

De esta manera, el mensaje se encuentra definido en un solo lugar.

Si necesitamos modificarlo, basta con actualizar la función.


 

🧩 ¿Cuáles son las partes de una función?

Aunque existen diferencias entre lenguajes, una función suele incluir varios elementos.

ElementoDescripción
NombreIdentifica la función
ParámetrosVariables que reciben datos de entrada
CuerpoInstrucciones que realiza
Valor de retornoResultado que puede entregar
LlamadaInstrucción que solicita ejecutar la función

No todas las funciones contienen todos estos elementos. Por ejemplo, algunas no reciben parámetros y otras no devuelven valores.

📝 Estructura general en pseudocódigo

FUNCIÓN nombreFuncion(parámetros)
    instrucciones
    RETORNAR resultado
FIN FUNCIÓN

Este pseudocódigo representa una función que recibe datos y devuelve un resultado.

🔎 Ejemplo: sumar dos números

FUNCIÓN sumar(a, b)
    resultado ← a + b
    RETORNAR resultado
FIN FUNCIÓN

La función recibe dos números, los suma y devuelve el resultado.

Para utilizarla:

total ← sumar(8, 5)

ESCRIBIR total

Resultado:

13

La función puede utilizarse nuevamente con otros valores:

total ← sumar(20, 10)
ESCRIBIR total

Resultado: 30.


 

🛠️ ¿Cómo se crea y utiliza una función?

Para comprender su funcionamiento, seguiremos un procedimiento sencillo.

🟢 Definir la tarea

Primero identificamos qué necesitamos resolver.

Problema: calcular el cuadrado de un número.

🔵 Elegir el nombre

Podemos utilizar:

calcularCuadrado

Es recomendable seleccionar nombres descriptivos que indiquen la finalidad de la función.

🟣 Determinar los datos de entrada

La función necesita recibir un número.

Utilizaremos el parámetro:

numero

🟠 Escribir las instrucciones

Multiplicaremos el número por sí mismo.

🟡 Devolver el resultado

La función retornará el valor calculado.

💻 Ejemplo completo

FUNCIÓN calcularCuadrado(numero)
    resultado ← numero * numero
    RETORNAR resultado
FIN FUNCIÓN

INICIO
    cuadrado ← calcularCuadrado(6)
    ESCRIBIR cuadrado
FIN

Resultado:

36

🔍 ¿Qué ocurrió?

  1. Se definió la función calcularCuadrado.

  2. El programa llamó a la función con el argumento 6.

  3. El parámetro numero recibió ese valor.

  4. La función calculó 6 × 6.

  5. Devolvió 36.

  6. El programa almacenó el resultado y lo mostró.

Importante: definir una función no significa necesariamente ejecutarla. Generalmente, sus instrucciones se ejecutan cuando el programa la llama.


 

🔄 ¿Qué significa llamar a una función?

Una llamada a una función es la instrucción mediante la cual el programa solicita ejecutar las operaciones definidas dentro de ella.

Por ejemplo:

mostrarBienvenida()

Esta instrucción ejecuta la función llamada mostrarBienvenida.

Si la función recibe parámetros, la llamada puede incluir argumentos:

sumar(10, 20)

Cuando la función devuelve un valor, podemos utilizarlo directamente:

ESCRIBIR sumar(10, 20)

O almacenarlo:

resultado ← sumar(10, 20)

📌 Diferencia entre definición y llamada

DefiniciónLlamada
Establece qué hará la funciónSolicita ejecutar la función
Describe sus instruccionesProporciona los argumentos necesarios
Se escribe para crearlaSe utiliza para aprovecharla
Ejemplo: FUNCIÓN sumar(a, b)Ejemplo: sumar(5, 3)

Una función puede definirse una vez y llamarse numerosas veces.


 

📚 Tipos de funciones en programación

Podemos clasificar las funciones según distintos criterios.

Una clasificación introductoria considera si reciben parámetros y si devuelven resultados.

TipoRecibe parámetrosDevuelve un valor
Sin parámetros y sin retornoNoNo
Con parámetros y sin retornoSíNo
Sin parámetros y con retornoNoSí
Con parámetros y con retornoSíSí

Estas categorías describen características de las funciones, no cuatro estructuras completamente diferentes.


🟢 Funciones sin parámetros y sin retorno

Son funciones que realizan una tarea sin necesitar datos de entrada y sin devolver un resultado.

💻 Ejemplo: mostrar un mensaje

FUNCIÓN mostrarSaludo()
    ESCRIBIR "¡Bienvenido a la Academia!"
FIN FUNCIÓN

INICIO
    mostrarSaludo()
FIN

Resultado:

¡Bienvenido a la Academia!

Este tipo de función es útil para mostrar mensajes, presentar encabezados o realizar acciones sencillas.

Observación: en algunos lenguajes, una función sin retorno explícito puede producir automáticamente un valor especial que representa la ausencia de resultado.


 

🔵 Funciones con parámetros y sin retorno

Estas funciones reciben información para realizar una tarea, pero no devuelven un resultado mediante una instrucción de retorno.

💻 Ejemplo: mostrar un saludo personalizado

FUNCIÓN saludar(nombre)
    ESCRIBIR "Hola, ", nombre
FIN FUNCIÓN

INICIO
    saludar("Ana")
    saludar("Carlos")
FIN

Resultado:

Hola, Ana
Hola, Carlos

La función utiliza el valor recibido para personalizar el mensaje.

📌 Aplicaciones

  • Mostrar información personalizada.

  • Imprimir reportes.

  • Presentar mensajes.

  • Ejecutar acciones utilizando datos recibidos.


 

🟣 Funciones sin parámetros y con retorno

Estas funciones no reciben argumentos, pero generan o entregan un resultado.

💻 Ejemplo: obtener un valor fijo

FUNCIÓN obtenerIVA()
    RETORNAR 0.16
FIN FUNCIÓN

INICIO
    tasa ← obtenerIVA()
    ESCRIBIR tasa
FIN

Resultado:

0.16

La función devuelve un valor que el programa puede utilizar posteriormente.

Nota: la tasa se utiliza únicamente como ejemplo numérico. En aplicaciones reales, los impuestos deben determinarse según la normativa y el producto correspondientes.


 

🟠 Funciones con parámetros y con retorno

Reciben datos, realizan una operación y devuelven un resultado.

Son especialmente útiles para cálculos y procesamiento de información.

💻 Ejemplo: calcular un descuento

FUNCIÓN calcularDescuento(precio, porcentaje)
    descuento ← precio * porcentaje / 100
    RETORNAR descuento
FIN FUNCIÓN

INICIO
    descuento ← calcularDescuento(1000, 15)

    ESCRIBIR descuento
FIN

Resultado:

150

La función recibe un precio de 1,000 y un porcentaje de 15.

Calcula el importe del descuento y devuelve 150.

Podemos utilizarla con otros valores sin modificar su definición.


 

🧮 Parámetros y argumentos: ¿cuál es la diferencia?

Los términos parámetro y argumento están relacionados, pero no significan exactamente lo mismo.

Un parámetro es una variable declarada en la definición de una función para recibir información.

Un argumento es el valor o expresión que proporcionamos al llamar a esa función.

💻 Ejemplo

FUNCIÓN multiplicar(a, b)
    RETORNAR a * b
FIN FUNCIÓN

resultado ← multiplicar(4, 7)

En este ejemplo:

  • a y b son parámetros.

  • 4 y 7 son argumentos.

  • 28 es el valor de retorno.

📊 Comparación

ParámetroArgumento
Aparece en la definiciónAparece en la llamada
Recibe informaciónProporciona información
Ejemplo: aEjemplo: 4
Ejemplo: bEjemplo: 7

🧠 Forma sencilla de recordarlo

El parámetro es el espacio preparado para recibir un dato; el argumento es el dato que proporcionamos.


 

↩️ ¿Qué es el valor de retorno de una función?

El valor de retorno es el resultado que una función entrega al código que la llamó.

En nuestro pseudocódigo utilizaremos la instrucción:

RETORNAR

En muchos lenguajes de programación se utiliza la palabra:

return

💻 Ejemplo: calcular el área de un rectángulo

FUNCIÓN calcularArea(base, altura)
    area ← base * altura
    RETORNAR area
FIN FUNCIÓN

INICIO
    resultado ← calcularArea(8, 5)
    ESCRIBIR resultado
FIN

Resultado:

40

La función calcula el área y devuelve el resultado.

🔍 Diferencia entre mostrar y retornar

Considera estas dos funciones:

Función que muestra un resultado:

FUNCIÓN mostrarSuma(a, b)
    ESCRIBIR a + b
FIN FUNCIÓN

Función que devuelve un resultado:

FUNCIÓN obtenerSuma(a, b)
    RETORNAR a + b
FIN FUNCIÓN

La primera muestra directamente el resultado.

La segunda permite almacenarlo o utilizarlo en otros cálculos.

Por ejemplo:

total ← obtenerSuma(10, 5)

resultadoFinal ← total * 2

ESCRIBIR resultadoFinal

Resultado: 30.

Una función que retorna un valor ofrece mayor flexibilidad cuando necesitamos utilizar ese resultado en otras operaciones.


 

⚖️ Diferencia entre funciones y procedimientos

En programación introductoria suele distinguirse entre funciones y procedimientos.

Un procedimiento es un bloque de instrucciones que realiza una tarea, normalmente sin devolver un valor al código que lo llamó.

Una función, en la distinción tradicional, puede devolver un resultado que se utiliza en una expresión.

📊 Comparación

CaracterísticaFunciónProcedimiento
Realiza una tareaSíSí
Puede recibir parámetrosSíSí
Puede devolver un valorSíGeneralmente no
Puede reutilizarseSíSí
EjemploCalcular un promedioMostrar un mensaje

💻 Ejemplo de procedimiento

PROCEDIMIENTO mostrarMenu()
    ESCRIBIR "1. Consultar productos"
    ESCRIBIR "2. Registrar venta"
    ESCRIBIR "3. Salir"
FIN PROCEDIMIENTO

💻 Ejemplo de función

FUNCIÓN calcularTotal(precio, cantidad)
    RETORNAR precio * cantidad
FIN FUNCIÓN

Importante: esta distinción depende del lenguaje. Algunos utilizan la palabra «función» tanto para bloques que devuelven valores como para aquellos que solo realizan acciones.


 

📦 ¿Qué son los subprogramas?

Un subprograma es una unidad de código que agrupa instrucciones para realizar una tarea.

Las funciones y los procedimientos son formas habituales de subprogramas.

Su finalidad es dividir un programa extenso en componentes más pequeños y organizados.

🧩 Ejemplo: programa de una tienda

Podemos imaginar un sistema formado por los siguientes subprogramas:

mostrarMenu()

registrarProducto()

calcularSubtotal()

calcularDescuento()

mostrarTicket()

Cada uno tiene una responsabilidad diferente.

Esta organización permite comprender mejor el funcionamiento del sistema y facilita su mantenimiento.


 

🏗️ ¿Qué es la programación modular?

La programación modular es una forma de organizar programas dividiéndolos en componentes que cumplen responsabilidades específicas.

Las funciones contribuyen a este enfoque porque permiten separar operaciones y reutilizarlas.

💡 Ejemplo

Imagina un programa que administra las calificaciones de estudiantes.

Podemos dividirlo en:

  • Una función para solicitar datos.

  • Una función para calcular el promedio.

  • Una función para determinar si el estudiante aprobó.

  • Una función para mostrar los resultados.

En lugar de reunir todas las instrucciones en un solo bloque, cada tarea se organiza de manera independiente.

🎯 Ventajas de la modularidad

  • Facilita comprender programas grandes.

  • Reduce la duplicación de código.

  • Permite probar componentes por separado.

  • Favorece la reutilización.

  • Simplifica la corrección de errores.

  • Ayuda a distribuir tareas entre desarrolladores.

La modularidad no consiste simplemente en crear muchas funciones, sino en dividir correctamente las responsabilidades del programa.


 

🔐 Variables locales y globales

Las variables también tienen un papel importante dentro de las funciones.

Según dónde se declaren y las reglas del lenguaje, pueden tener distintos ámbitos de acceso.

🟢 Variables locales

Una variable local pertenece al ámbito de una función o bloque determinado.

Normalmente solo puede utilizarse dentro de ese ámbito.

💻 Ejemplo

FUNCIÓN calcularDoble(numero)
    doble ← numero * 2
    RETORNAR doble
FIN FUNCIÓN

En este ejemplo, doble es una variable local de la función.

🔵 Variables globales

Una variable global se declara en un ámbito general y puede ser accesible desde diferentes partes del programa, según las reglas del lenguaje.

💻 Ejemplo conceptual

GLOBAL nombreAcademia ← "PCUniverseOne"

FUNCIÓN mostrarAcademia()
    ESCRIBIR nombreAcademia
FIN FUNCIÓN

INICIO
    mostrarAcademia()
FIN

Resultado:

PCUniverseOne

La función utiliza una variable definida en el ámbito global.

⚖️ Diferencias principales

Variable localVariable global
Pertenece a un ámbito específicoPertenece a un ámbito general
Normalmente se utiliza dentro de una función o bloquePuede ser accesible desde distintas partes
Reduce dependencias externasPuede facilitar compartir información
Suele favorecer el aislamiento de tareasSu uso excesivo puede complicar el mantenimiento

💡 Buena práctica

Siempre que sea razonable, conviene que las funciones reciban los datos necesarios mediante parámetros y devuelvan resultados, en lugar de depender excesivamente de variables globales.


 

🧰 Funciones predefinidas y funciones creadas por el programador

Otra clasificación distingue entre funciones que ya proporciona un lenguaje o biblioteca y funciones desarrolladas por el propio programador.

📚 Funciones predefinidas

Son funciones disponibles en el lenguaje o en sus bibliotecas.

Pueden utilizarse para:

  • Calcular valores matemáticos.

  • Trabajar con textos.

  • Procesar fechas.

  • Convertir tipos de datos.

  • Obtener información de colecciones.

Por ejemplo, muchos lenguajes ofrecen herramientas para calcular raíces cuadradas o valores absolutos.

🛠️ Funciones definidas por el usuario

Son aquellas que el programador crea para resolver necesidades particulares.

Por ejemplo:

FUNCIÓN calcularTriple(numero)
    RETORNAR numero * 3
FIN FUNCIÓN

📊 Comparación

Funciones predefinidasFunciones del usuario
Las proporciona el lenguaje o una bibliotecaLas desarrolla el programador
Resuelven operaciones habitualesResuelven necesidades específicas
Su uso depende de la documentación disponibleSu comportamiento depende de su definición

Ambos tipos pueden combinarse dentro de un mismo programa.


 

💻 Ejemplos prácticos de funciones en programación

🛒 Ejemplo: calcular el subtotal de una compra

Problema: calcular el importe de un producto a partir de su precio y cantidad.

FUNCIÓN calcularSubtotal(precio, cantidad)
    subtotal ← precio * cantidad
    RETORNAR subtotal
FIN FUNCIÓN

INICIO
    total ← calcularSubtotal(250, 4)
    ESCRIBIR "Subtotal: ", total
FIN

Resultado:

Subtotal: 1000

La función puede utilizarse para diferentes productos.

🎓 Ejemplo: determinar si un estudiante aprobó

Problema: indicar si una calificación alcanza el mínimo requerido.

Para este ejemplo, consideraremos 6 como calificación mínima aprobatoria.

FUNCIÓN estaAprobado(calificacion)
    SI calificacion >= 6 ENTONCES
        RETORNAR VERDADERO
    SINO
        RETORNAR FALSO
    FIN SI
FIN FUNCIÓN

INICIO
    resultado ← estaAprobado(8)

    SI resultado = VERDADERO ENTONCES
        ESCRIBIR "Aprobado"
    SINO
        ESCRIBIR "No aprobado"
    FIN SI
FIN

Resultado:

Aprobado

Este ejemplo combina funciones y estructuras condicionales.

🔢 Ejemplo: identificar números pares

Problema: determinar si un número es par.

FUNCIÓN esPar(numero)
    SI numero MOD 2 = 0 ENTONCES
        RETORNAR VERDADERO
    SINO
        RETORNAR FALSO
    FIN SI
FIN FUNCIÓN

El operador MOD obtiene el residuo de una división entera.

Si el residuo al dividir entre 2 es cero, el número es par.

Podemos utilizar la función dentro de un ciclo:

INICIO
    PARA i ← 1 HASTA 10 HACER
        SI esPar(i) ENTONCES
            ESCRIBIR i
        FIN SI
    FIN PARA
FIN

Resultado:

2
4
6
8
10

Este algoritmo combina funciones, operadores, condicionales y ciclos.


 

🧮 Ejemplo integrador: calcular el promedio de calificaciones

Vamos a desarrollar un programa que utilice funciones para calcular un promedio y determinar si un estudiante aprobó.

Objetivo: organizar el programa mediante funciones independientes.

✍️ Solución en pseudocódigo

FUNCIÓN calcularPromedio(a, b, c)
    suma ← a + b + c
    promedio ← suma / 3
    RETORNAR promedio
FIN FUNCIÓN

FUNCIÓN estaAprobado(promedio)
    SI promedio >= 6 ENTONCES
        RETORNAR VERDADERO
    SINO
        RETORNAR FALSO
    FIN SI
FIN FUNCIÓN

PROCEDIMIENTO mostrarResultado(promedio, aprobado)
    ESCRIBIR "Promedio: ", promedio

    SI aprobado ENTONCES
        ESCRIBIR "Resultado: Aprobado"
    SINO
        ESCRIBIR "Resultado: No aprobado"
    FIN SI
FIN PROCEDIMIENTO

INICIO
    ESCRIBIR "Introduce tres calificaciones"
    LEER nota1
    LEER nota2
    LEER nota3

    promedio ← calcularPromedio(nota1, nota2, nota3)

    aprobado ← estaAprobado(promedio)

    mostrarResultado(promedio, aprobado)
FIN

Suposición del ejercicio: las tres calificaciones son números válidos entre 0 y 10. En una aplicación real sería necesario validar las entradas.

📊 Ejemplo de ejecución

CalificaciónValor
Primera8
Segunda9
Tercera7
Suma24
Promedio8

Resultado mostrado:

Promedio: 8
Resultado: Aprobado

🔍 ¿Qué hemos aplicado?

  • Una función para calcular el promedio.

  • Una función para determinar la aprobación.

  • Un procedimiento para mostrar resultados.

  • Parámetros para recibir información.

  • Argumentos para proporcionar valores.

  • Valores de retorno para comunicar resultados.

  • Variables locales para realizar cálculos.

  • Condicionales para tomar decisiones.

Este ejemplo demuestra cómo las funciones permiten organizar un programa mediante tareas independientes.


 

🔁 Introducción a las funciones recursivas

Una función recursiva es aquella que se llama a sí misma para resolver un problema.

La recursividad permite dividir ciertas tareas en versiones más pequeñas del mismo problema.

Sin embargo, una función recursiva necesita una condición base que permita detener las llamadas.

De lo contrario, podría continuar llamándose indefinidamente hasta agotar los recursos disponibles.

💡 Ejemplo conceptual

Imagina una función que realiza una cuenta regresiva:

FUNCIÓN cuentaRegresiva(numero)
    SI numero <= 0 ENTONCES
        RETORNAR
    FIN SI

    ESCRIBIR numero

    cuentaRegresiva(numero - 1)
FIN FUNCIÓN

Si llamamos:

cuentaRegresiva(3)

El resultado será:

3
2
1

La función se llama a sí misma con un número menor hasta alcanzar la condición base.

Por ahora, basta con comprender el concepto. La recursividad requiere un estudio más profundo que corresponde a etapas posteriores de programación.


 

⚠️ Errores comunes al utilizar funciones

❌ Utilizar nombres poco descriptivos

Nombres como f1() o hacerAlgo() dificultan comprender el propósito de una función.

Mejor opción: utilizar nombres como calcularPromedio() o mostrarResultado().

❌ Confundir parámetros y argumentos

Los parámetros se declaran en la función; los argumentos se proporcionan durante la llamada.

❌ Olvidar devolver un resultado

Si necesitamos utilizar el resultado de una función, debemos comprobar que realmente lo devuelva.

❌ Confundir mostrar con retornar

Mostrar un valor en pantalla no significa devolverlo al programa.

❌ Proporcionar argumentos incorrectos

La cantidad y el tipo de argumentos deben cumplir los requisitos establecidos por la función y el lenguaje.

❌ Crear funciones demasiado extensas

Una función que realiza numerosas tareas diferentes puede resultar difícil de comprender y mantener.

❌ Repetir código que podría reutilizarse

Si varias partes del programa realizan la misma operación, conviene evaluar si una función puede centralizarla.

❌ Depender excesivamente de variables globales

Puede provocar relaciones difíciles de controlar entre distintas partes del programa.

❌ Utilizar recursividad sin condición base

Puede generar llamadas repetidas hasta provocar un error por agotamiento de recursos.

Consejo: procura que cada función tenga una responsabilidad clara, un nombre descriptivo y un comportamiento fácil de comprender.


 

🧪 Actividad práctica integradora

Vamos a desarrollar un programa sencillo para una tienda que calcule el subtotal, el descuento y el total de una compra.

🎯 Requisitos

El programa deberá:

  • Solicitar el precio de un producto.

  • Solicitar la cantidad adquirida.

  • Solicitar el porcentaje de descuento.

  • Validar que los datos estén dentro de los límites establecidos.

  • Calcular el subtotal mediante una función.

  • Calcular el descuento mediante otra función.

  • Calcular el total final.

  • Mostrar los resultados.

✍️ Solución en pseudocódigo

FUNCIÓN calcularSubtotal(precio, cantidad)
    RETORNAR precio * cantidad
FIN FUNCIÓN

FUNCIÓN calcularDescuento(subtotal, porcentaje)
    RETORNAR subtotal * porcentaje / 100
FIN FUNCIÓN

FUNCIÓN calcularTotal(subtotal, descuento)
    RETORNAR subtotal - descuento
FIN FUNCIÓN

INICIO
    ESCRIBIR "Precio del producto"
    LEER precio

    MIENTRAS precio < 0 HACER
        ESCRIBIR "Introduce un precio válido"
        LEER precio
    FIN MIENTRAS

    ESCRIBIR "Cantidad de productos"
    LEER cantidad

    MIENTRAS cantidad <= 0 HACER
        ESCRIBIR "Introduce una cantidad válida"
        LEER cantidad
    FIN MIENTRAS

    ESCRIBIR "Porcentaje de descuento"
    LEER porcentaje

    MIENTRAS porcentaje < 0 O porcentaje > 100 HACER
        ESCRIBIR "Introduce un porcentaje entre 0 y 100"
        LEER porcentaje
    FIN MIENTRAS

    subtotal ← calcularSubtotal(precio, cantidad)

    descuento ← calcularDescuento(subtotal, porcentaje)

    total ← calcularTotal(subtotal, descuento)

    ESCRIBIR "Subtotal: ", subtotal
    ESCRIBIR "Descuento: ", descuento
    ESCRIBIR "Total: ", total
FIN

Suposiciones: cantidad debe ser un número entero positivo; precio y porcentaje deben ser valores numéricos. Para simplificar el ejercicio, se omite la validación del tipo de dato y no se incluyen impuestos.

📊 Ejemplo de ejecución

Supongamos que el usuario introduce:

DatoValor
Precio$500
Cantidad3
Descuento10%

Los resultados serán:

OperaciónResultado
Subtotal$1,500
Descuento$150
Total final$1,350

🧠 ¿Por qué este programa está organizado?

Porque cada función realiza una tarea concreta:

  • calcularSubtotal() multiplica el precio por la cantidad.

  • calcularDescuento() determina el importe del descuento.

  • calcularTotal() obtiene el importe final.

Si necesitamos modificar el cálculo del descuento, podemos concentrar el cambio en la función correspondiente.

Esta es una de las principales ventajas de organizar los programas mediante funciones.


 

✏️ Ejercicios de funciones en programación

Resuelve los siguientes ejercicios utilizando pseudocódigo.

🟢 Ejercicio: función sin parámetros

Crea una función llamada mostrarBienvenida() que muestre el mensaje:

«Bienvenido al curso de programación».

🔵 Ejercicio: función con parámetros

Diseña una función llamada mostrarNombre(nombre) que reciba un nombre y muestre un saludo personalizado.

🟣 Ejercicio: función con retorno

Crea una función llamada calcularTriple(numero) que devuelva el triple del número recibido.

🟠 Ejercicio: calcular un área

Escribe una función llamada areaTriangulo(base, altura) que devuelva el área de un triángulo.

Recuerda:

Área = (base × altura) / 2.

🔴 Ejercicio: identificar números positivos

Diseña una función llamada esPositivo(numero) que devuelva VERDADERO cuando el número sea mayor que cero y FALSO en caso contrario.

🧠 Ejercicio de razonamiento

Analiza el siguiente pseudocódigo:

FUNCIÓN sumar(a, b)
    RETORNAR a + b
FIN FUNCIÓN

INICIO
    x ← sumar(4, 6)
    y ← sumar(x, 5)

    ESCRIBIR y
FIN

¿Qué resultado mostrará el programa?

Explica cómo se utilizan los valores devueltos por la función.


 

📝 Autoevaluación

Comprueba tus conocimientos respondiendo estas preguntas:

  1. ¿Qué son las funciones en programación?

  2. ¿Para qué sirve dividir un programa en funciones?

  3. ¿Qué diferencia existe entre definir y llamar una función?

  4. ¿Qué es un parámetro?

  5. ¿Qué es un argumento?

  6. ¿Qué significa retornar un valor?

  7. ¿Puede existir una función sin parámetros?

  8. ¿Puede una función realizar una tarea sin devolver un resultado explícito?

  9. ¿Cuál es la diferencia tradicional entre función y procedimiento?

  10. ¿Qué es una variable local?

  11. ¿Qué es la programación modular?

  12. ¿Qué caracteriza a una función recursiva?

✅ Respuestas orientativas

  1. Son bloques de instrucciones reutilizables que realizan tareas específicas.

  2. Para organizar el código, facilitar su mantenimiento y evitar repeticiones.

  3. Definir establece el comportamiento; llamar solicita la ejecución.

  4. Es una variable declarada para recibir información en una función.

  5. Es el valor o expresión proporcionado durante la llamada.

  6. Entregar un resultado al código que llamó a la función.

  7. Sí.

  8. Sí.

  9. Tradicionalmente, la función devuelve un valor y el procedimiento realiza una acción sin devolverlo.

  10. Es una variable cuyo ámbito pertenece a una función o bloque determinado.

  11. Es una forma de organizar programas mediante componentes con responsabilidades específicas.

  12. Se llama a sí misma y necesita una condición base para detenerse.

🧾 Soluciones de los ejercicios

Función sin parámetros:

FUNCIÓN mostrarBienvenida()
    ESCRIBIR "Bienvenido al curso de programación"
FIN FUNCIÓN

Función con parámetros:

FUNCIÓN mostrarNombre(nombre)
    ESCRIBIR "Hola, ", nombre
FIN FUNCIÓN

Función con retorno:

FUNCIÓN calcularTriple(numero)
    RETORNAR numero * 3
FIN FUNCIÓN

Área de un triángulo:

FUNCIÓN areaTriangulo(base, altura)
    RETORNAR (base * altura) / 2
FIN FUNCIÓN

Identificar números positivos:

FUNCIÓN esPositivo(numero)
    SI numero > 0 ENTONCES
        RETORNAR VERDADERO
    SINO
        RETORNAR FALSO
    FIN SI
FIN FUNCIÓN

Ejercicio de razonamiento:

El programa mostrará:

15

Primero, sumar(4, 6) devuelve 10.

Después, sumar(10, 5) devuelve 15.

Finalmente, el programa muestra el valor almacenado en y.


 

🏆 Lo que has aprendido

Al completar esta lección, ya puedes:

  • Explicar qué son las funciones en programación y para qué sirven.

  • Reconocer sus principales componentes: nombre, parámetros, cuerpo y retorno.

  • Diferenciar la definición y la llamada de una función.

  • Identificar parámetros y argumentos.

  • Crear funciones con parámetros y sin parámetros.

  • Comprender funciones con retorno y sin retorno.

  • Distinguir entre mostrar y devolver resultados.

  • Reconocer las diferencias tradicionales entre funciones y procedimientos.

  • Comprender el papel de las variables locales y globales.

  • Explicar los fundamentos de la programación modular.

  • Combinar funciones, condicionales y ciclos para resolver problemas.

  • Reconocer el concepto básico de recursividad.

Estos conocimientos te permitirán organizar mejor tus algoritmos y comenzar a construir programas formados por componentes reutilizables.


 

🚩 Conclusión

Las funciones en programación son una herramienta fundamental para desarrollar programas organizados, comprensibles y fáciles de mantener.

Mediante ellas podemos dividir problemas complejos en tareas más pequeñas, reutilizar instrucciones y evitar duplicaciones innecesarias.

Los parámetros y argumentos permiten intercambiar información con las funciones, mientras que los valores de retorno hacen posible aprovechar sus resultados en otras operaciones.

Además, las funciones constituyen una base importante de la programación modular, una forma de organización utilizada en el desarrollo de aplicaciones reales.

Recuerda: programar no consiste únicamente en escribir instrucciones que funcionen, sino también en organizarlas para que puedan comprenderse, reutilizarse y mejorarse.


 

⬅️ Lección anterior  📑 Índice del programa  ➡️ Siguiente lección

Scroll to Top