27. Concepto de función matemática

Una función matemática relaciona entradas con salidas. En programación, esta idea se convierte en funciones que reciben datos, aplican reglas y devuelven resultados.

27.1 Introducción

Una función matemática es una regla que asigna a cada valor de entrada un único valor de salida. Esta idea aparece constantemente en programación: una función recibe argumentos, ejecuta instrucciones y devuelve un resultado.

Comprender funciones matemáticas ayuda a entender fórmulas, gráficos, transformaciones de datos, validaciones y algoritmos.

En este tema veremos la idea conceptual y su traducción a JavaScript.

27.2 Qué es una función

Una función toma un valor de entrada y produce un valor de salida siguiendo una regla.

entrada → regla → salida

Por ejemplo, la regla “duplicar” toma un número y devuelve el doble.

function duplicar(x) {
  return x * 2;
}

console.log(duplicar(3));
console.log(duplicar(10));

27.3 Notación f(x)

En matemática es común escribir una función como f(x). Esto se lee “f de x” y significa que la función f recibe el valor x.

f(x) = 2x + 1

Si x = 4, entonces f(4) = 2 × 4 + 1 = 9.

function f(x) {
  return 2 * x + 1;
}

console.log(f(4));

27.4 Entrada y salida

La entrada es el valor que damos a la función. La salida es el resultado que obtenemos. Una misma regla puede aplicarse a muchas entradas.

Entrada x Regla f(x) = 2x + 1 Salida
0 2 × 0 + 1 1
1 2 × 1 + 1 3
2 2 × 2 + 1 5
function f(x) {
  return 2 * x + 1;
}

console.log(f(0));
console.log(f(1));
console.log(f(2));

27.5 Cada entrada tiene una única salida

Para que una relación sea función, cada entrada debe tener una única salida. Una misma salida puede corresponder a varias entradas, pero una entrada no puede producir dos salidas diferentes al mismo tiempo.

Si f(2) = 5, entonces para esa función la entrada 2 debe producir siempre 5.
function cuadrado(x) {
  return x ** 2;
}

console.log(cuadrado(3));
console.log(cuadrado(-3));

Las entradas 3 y -3 producen la misma salida, pero cada entrada individual tiene una salida definida.

27.6 Funciones con más de una entrada

Aunque muchas funciones matemáticas básicas se escriben con una variable, también podemos tener funciones con varias entradas.

área(base, altura) = base × altura
function areaRectangulo(base, altura) {
  return base * altura;
}

console.log(areaRectangulo(8, 5));
console.log(areaRectangulo(12, 3));

27.7 Funciones y tablas de valores

Una tabla de valores permite observar cómo cambia la salida cuando cambia la entrada.

function f(x) {
  return x ** 2;
}

for (let x = -3; x <= 3; x++) {
  console.log({ x: x, y: f(x) });
}

Estas tablas son la base para construir gráficos de funciones.

27.8 Funciones como transformaciones

Una función puede verse como una transformación: toma un valor y lo convierte en otro. Esto es muy común en programación.

function celsiusAFahrenheit(celsius) {
  return celsius * 9 / 5 + 32;
}

console.log(celsiusAFahrenheit(0));
console.log(celsiusAFahrenheit(25));
console.log(celsiusAFahrenheit(100));

La función transforma temperaturas de una escala a otra.

27.9 Funciones puras

Una función pura devuelve siempre la misma salida para la misma entrada y no modifica nada externo. Esta idea se parece mucho al concepto de función matemática.

function calcularTotal(precio, cantidad) {
  return precio * cantidad;
}

console.log(calcularTotal(100, 3));
console.log(calcularTotal(100, 3));

Para las mismas entradas, la salida se repite. Esto facilita probar y razonar sobre el código.

27.10 Funciones con estado externo

No todas las funciones de programación se comportan como funciones matemáticas puras. Algunas dependen de valores externos o cambian datos fuera de ellas.

let contador = 0;

function incrementar() {
  contador = contador + 1;
  return contador;
}

console.log(incrementar());
console.log(incrementar());
console.log(incrementar());

Esta función no devuelve siempre lo mismo porque depende del estado externo contador.

27.11 Composición de funciones

Componer funciones significa usar la salida de una función como entrada de otra.

Si f(x) = 2x y g(x) = x + 3,
entonces g(f(x)) significa aplicar primero f y luego g.
function f(x) {
  return 2 * x;
}

function g(x) {
  return x + 3;
}

console.log(g(f(5)));

La composición es muy común en transformaciones de datos y procesamiento por pasos.

27.12 Aplicación: normalizar un valor

Una función puede encapsular una fórmula para transformar valores de una escala a otra.

function normalizar(valor, minimo, maximo) {
  return (valor - minimo) / (maximo - minimo);
}

console.log(normalizar(50, 0, 100));
console.log(normalizar(75, 50, 100));

El resultado queda en una escala de 0 a 1.

27.13 Aplicación: función de puntaje

En juegos y sistemas de evaluación, una función puede calcular puntajes a partir de varias entradas.

function calcularPuntaje(aciertos, tiempoSegundos) {
  return aciertos * 100 - tiempoSegundos * 2;
}

console.log(calcularPuntaje(20, 30));
console.log(calcularPuntaje(20, 60));

La regla define cómo cada variable influye en el resultado.

27.14 Errores comunes

  • Confundir una función matemática con cualquier bloque de código: una función matemática asigna salidas de forma definida.
  • Olvidar que una misma entrada debe tener una única salida.
  • No validar entradas cuando la fórmula tiene restricciones.
  • Usar funciones con estado externo cuando se esperaba comportamiento puro.
  • Confundir parámetro con argumento: el parámetro es el nombre en la definición, el argumento es el valor enviado.
  • No devolver el resultado con return en una función JavaScript.
function sumar(a, b) {
  const resultado = a + b;
  return resultado;
}

console.log(sumar(3, 4));

27.15 Qué debes recordar de este tema

  • Una función matemática asigna a cada entrada una única salida.
  • La notación f(x) significa que la función f recibe el valor x.
  • Una función puede tener una o varias entradas.
  • Las tablas de valores ayudan a observar el comportamiento de una función.
  • Las funciones pueden verse como transformaciones de datos.
  • Una función pura devuelve siempre la misma salida para las mismas entradas.
  • En JavaScript, una función puede implementar una fórmula matemática usando parámetros y return.

27.16 Conclusión

El concepto de función conecta matemática y programación de forma directa. Una función permite expresar una regla general, aplicarla a distintos valores y obtener resultados previsibles.

En el próximo tema estudiaremos dominio, imagen y evaluación de funciones, para entender qué valores puede recibir una función y qué resultados puede producir.