Modelar con funciones significa representar una situación real o de software mediante entradas, reglas de cálculo y salidas.
Un modelo matemático es una representación simplificada de una situación. En programación, muchas reglas de negocio, simulaciones y cálculos se expresan como funciones.
El objetivo no es copiar toda la realidad, sino capturar las relaciones importantes para resolver un problema.
Modelar consiste en identificar variables, establecer relaciones entre ellas y expresar esas relaciones con una función.
La función anterior modela una compra simple: si cambia la cantidad, cambia el costo total.
Todo modelo debe distinguir qué valores recibe y qué valor produce.
En código, esta idea se traduce en parámetros y valor de retorno.
Para construir un modelo, conviene escribir primero el problema en lenguaje cotidiano y luego pasarlo a una expresión algebraica.
La variable k representa los kilómetros recorridos.
Una vez definida la fórmula, se puede convertir directamente en una función de programa.
function costoViaje(kilometros) {
return 100 + 20 * kilometros;
}
console.log(costoViaje(0));
console.log(costoViaje(5));
console.log(costoViaje(12));El modelo permite calcular distintos casos usando la misma regla.
Un modelo lineal representa situaciones donde el cambio es constante. Su forma general es:
El valor m indica cuánto cambia la salida por cada unidad de entrada, y b indica el valor inicial.
Una aplicación cobra una cuota fija mensual y un costo adicional por usuario activo.
function costoMensual(usuarios) {
const cuotaFija = 5000;
const costoPorUsuario = 350;
return cuotaFija + costoPorUsuario * usuarios;
}
console.log(costoMensual(1));
console.log(costoMensual(10));
console.log(costoMensual(25));El modelo ayuda a estimar facturación, presupuestos o límites de uso.
Un modelo cuadrático aparece cuando el crecimiento no es constante y depende del cuadrado de la variable.
Este tipo de función puede servir para trayectorias, áreas, optimización simple y comportamientos con aceleración.
En una simulación, la altura de un objeto puede modelarse con una función cuadrática simplificada.
function altura(tiempo) {
return -5 * tiempo ** 2 + 20 * tiempo + 2;
}
for (let t = 0; t <= 5; t++) {
console.log(t, altura(t));
}El tiempo es la entrada y la altura calculada es la salida.
Un modelo debe usar unidades coherentes. Mezclar metros con centímetros, o segundos con minutos, produce errores.
Antes de programar una fórmula, conviene revisar qué representa cada número.
Un modelo se valida probando casos simples, casos extremos y valores esperados.
function descuento(precio) {
return precio * 0.9;
}
console.log(descuento(1000)); // 900
console.log(descuento(0)); // 0
console.log(descuento(250)); // 225Si los resultados básicos no coinciden con lo esperado, el modelo o la implementación deben revisarse.
Todo modelo tiene un rango de uso. Una fórmula puede ser útil para ciertos valores y dejar de tener sentido fuera de ellos.
function precioConDescuento(precio, porcentaje) {
if (porcentaje < 0 || porcentaje > 100) {
return "Porcentaje inválido";
}
return precio * (1 - porcentaje / 100);
}
console.log(precioConDescuento(2000, 15));
console.log(precioConDescuento(2000, 150));Programar validaciones evita aplicar un modelo en situaciones que no corresponde.
Algunos problemas requieren reglas diferentes según el intervalo de la entrada.
function costoEnvio(peso) {
if (peso <= 1) {
return 1200;
}
if (peso <= 5) {
return 1200 + 400 * (peso - 1);
}
return 2800 + 700 * (peso - 5);
}
console.log(costoEnvio(0.5));
console.log(costoEnvio(3));
console.log(costoEnvio(8));Este enfoque es común en tarifas, impuestos, descuentos y sistemas de puntuación.
Al modelar con funciones, los errores más frecuentes son elegir mal la variable, confundir entrada con salida, mezclar unidades o asumir una relación lineal cuando no lo es.
Estas preguntas reducen errores antes de escribir código.
El modelado matemático mediante funciones conecta el álgebra con la programación práctica. Permite transformar problemas en reglas claras, probables y reutilizables.
En el próximo tema se estudiarán las sucesiones y los patrones numéricos, útiles para detectar regularidades y construir algoritmos repetitivos.