5. Dominio de una función

El dominio indica qué valores de entrada puede recibir una función. En programación, identificarlo permite evitar errores, validar datos y construir algoritmos más confiables.

5.1 Introducción

Una función no siempre puede recibir cualquier valor. Algunas funciones aceptan todos los números reales, pero otras tienen restricciones: no se puede dividir por cero, no se puede calcular una raíz cuadrada real de un número negativo y algunos modelos solo tienen sentido dentro de ciertos límites.

El dominio de una función es el conjunto de valores de entrada para los cuales la función está definida.

5.2 Qué es el dominio

El dominio responde a la pregunta: ¿qué valores puede tomar la variable independiente?

dominio = conjunto de entradas permitidas

Si una función se escribe como f(x), el dominio indica qué valores puede tomar x para que la función tenga sentido.

5.3 Dominio sin restricciones

Algunas funciones aceptan cualquier número real como entrada. Por ejemplo:

f(x) = 2x + 3

Esta función puede evaluarse con valores negativos, positivos, cero o decimales. No hay divisiones problemáticas ni raíces que limiten los valores permitidos.

function lineal(x) {
  return 2 * x + 3;
}

console.log(lineal(-4));
console.log(lineal(0));
console.log(lineal(2.5));

5.4 Restricción por división

Cuando una función tiene una división, el denominador no puede ser cero. Por ejemplo:

f(x) = 10 / x

En esta función, x no puede valer 0. Por lo tanto, el dominio son todos los números reales excepto cero.

function dividirDiezPor(x) {
  if (x === 0) {
    return "Entrada fuera del dominio";
  }

  return 10 / x;
}

console.log(dividirDiezPor(2));
console.log(dividirDiezPor(0));

5.5 Restricción por raíz cuadrada

Si trabajamos con números reales, la raíz cuadrada solo está definida para valores mayores o iguales que cero.

f(x) = √x

El dominio de esta función es x ≥ 0.

function raizCuadrada(x) {
  if (x < 0) {
    return "Entrada fuera del dominio";
  }

  return Math.sqrt(x);
}

console.log(raizCuadrada(9));
console.log(raizCuadrada(-4));

5.6 Restricción por contexto

No todas las restricciones aparecen por una operación matemática. A veces el dominio depende del problema real que estamos modelando.

costo(cantidad) = cantidad × precioUnitario

Matemáticamente podríamos reemplazar cantidad por muchos valores, pero en una tienda no tiene sentido comprar una cantidad negativa de productos.

function calcularTotal(cantidad, precioUnitario) {
  if (cantidad < 0) {
    return "La cantidad no puede ser negativa";
  }

  return cantidad * precioUnitario;
}

console.log(calcularTotal(3, 1200));
console.log(calcularTotal(-2, 1200));

5.7 Tabla de dominios comunes

Función Restricción Dominio
f(x) = x + 5 Ninguna Todos los números reales
f(x) = 1 / x x no puede ser 0 Todos los reales excepto 0
f(x) = √x x no puede ser negativo x ≥ 0
f(x) = √(x - 2) x - 2 debe ser mayor o igual que 0 x ≥ 2
f(x) = precio × cantidad La cantidad no puede ser negativa cantidad ≥ 0

5.8 Dominio en validación de datos

En software, pensar en el dominio ayuda a validar formularios, entradas de usuario, datos recibidos desde una API y valores calculados por otros módulos.

function calcularPorcentaje(parte, total) {
  if (total === 0) {
    return "No se puede calcular un porcentaje con total cero";
  }

  if (parte < 0 || total < 0) {
    return "Los valores no pueden ser negativos";
  }

  return parte / total * 100;
}

console.log(calcularPorcentaje(25, 100));
console.log(calcularPorcentaje(25, 0));

El dominio de esta función no está definido solo por una fórmula, sino también por las reglas del problema.

5.9 Dominio discreto y dominio continuo

Un dominio puede ser continuo, como todos los números entre 0 y 1, o discreto, como una lista de niveles, categorías o valores enteros.

Tipo de dominio Ejemplo Uso en programación
Continuo 0 ≤ x ≤ 1 Opacidad, progreso, porcentajes y animaciones
Discreto x ∈ {1, 2, 3, 4, 5} Niveles, estrellas de calificación y opciones
Entero no negativo x ∈ {0, 1, 2, 3, ...} Cantidades, índices y contadores

5.10 Comprobar el dominio antes de calcular

Una buena práctica es verificar que la entrada pertenece al dominio antes de aplicar la fórmula. Esto evita resultados incorrectos o mensajes difíciles de interpretar.

function funcionRacional(x) {
  if (x === 2) {
    return "Entrada fuera del dominio";
  }

  return 1 / (x - 2);
}

console.log(funcionRacional(5));
console.log(funcionRacional(2));

Como el denominador es x - 2, la entrada 2 debe excluirse del dominio.

5.11 Errores comunes

  • Suponer que toda función acepta cualquier número como entrada.
  • Olvidar que no se puede dividir por cero.
  • Usar raíces cuadradas con números negativos cuando se trabaja con resultados reales.
  • No distinguir entre restricciones matemáticas y restricciones del problema.
  • No validar entradas antes de ejecutar un cálculo.

5.12 Qué debes recordar de este tema

  • El dominio es el conjunto de entradas permitidas de una función.
  • Las divisiones generan restricciones cuando el denominador puede valer cero.
  • Las raíces cuadradas reales requieren valores mayores o iguales que cero.
  • El contexto del problema también puede limitar el dominio.
  • En programación, el dominio se traduce en validaciones de entrada.
  • Identificar el dominio evita errores y hace más claro el algoritmo.

5.13 Conclusión

El dominio indica qué valores puede recibir una función. Antes de calcular una salida, conviene preguntarse si la entrada pertenece al conjunto de valores permitidos.

En el próximo tema veremos codominio e imagen, dos conceptos que ayudan a describir los valores de salida posibles y los valores que la función realmente produce.