El interés permite calcular cuánto crece una inversión o cuánto cuesta financiar una deuda. En programación, estos cálculos se usan en simuladores, préstamos, cuotas, presupuestos y reportes financieros.
Cuando una cantidad de dinero cambia con el tiempo por una tasa, estamos trabajando con interés. Esa tasa puede aplicarse de diferentes maneras según la regla financiera.
Las dos formas más comunes son el interés simple y el interés compuesto. La diferencia principal es si los intereses generados vuelven o no a generar nuevos intereses.
En este tema veremos cómo representar estas fórmulas y cómo implementarlas con JavaScript.
El capital es el importe inicial. La tasa indica el porcentaje que se aplica por período. El tiempo representa cuántos períodos se calculan.
const capital = 10000;
const tasa = 0.05;
const tiempo = 3;
const interes = capital * tasa * tiempo;
console.log(interes);
En programación conviene convertir los porcentajes a números decimales. Una tasa del 8% se representa como 0.08.
const porcentaje = 8;
const tasaDecimal = porcentaje / 100;
console.log(tasaDecimal);
En el interés simple, la tasa se aplica siempre sobre el capital inicial. Los intereses generados no se suman al capital para producir nuevos intereses.
const capital = 12000;
const tasa = 0.04;
const periodos = 6;
const monto = capital * (1 + tasa * periodos);
console.log(monto);
Muchas veces necesitamos mostrar por separado el interés ganado y el monto final.
const capital = 50000;
const tasaMensual = 0.03;
const meses = 4;
const interes = capital * tasaMensual * meses;
const montoFinal = capital + interes;
console.log(interes);
console.log(montoFinal);
En el interés compuesto, cada período suma los intereses al capital. Luego, el período siguiente calcula interés sobre un monto mayor.
const capital = 12000;
const tasa = 0.04;
const periodos = 6;
const monto = capital * Math.pow(1 + tasa, periodos);
console.log(monto);
Con pocos períodos la diferencia puede ser pequeña, pero a medida que crece el tiempo el interés compuesto se separa cada vez más del simple.
const capital = 10000;
const tasa = 0.10;
const periodos = 5;
const simple = capital * (1 + tasa * periodos);
const compuesto = capital * Math.pow(1 + tasa, periodos);
console.log(simple);
console.log(compuesto);
console.log(compuesto - simple);
Un bucle permite ver cómo evoluciona el monto en cada período. Esto es útil para tablas, simuladores y gráficos.
const capital = 8000;
const tasa = 0.06;
const periodos = 4;
let monto = capital;
for (let periodo = 1; periodo <= periodos; periodo++) {
monto = monto * (1 + tasa);
console.log(periodo + ": " + monto.toFixed(2));
}
Si una tasa anual se reparte de forma simple entre 12 meses, se puede dividir por 12. Esta aproximación se usa en cálculos básicos, aunque no siempre representa una tasa equivalente exacta.
const tasaAnual = 0.24;
const tasaMensual = tasaAnual / 12;
console.log(tasaMensual);
Cuando se necesita una tasa mensual equivalente a una tasa anual compuesta, se usa una raíz. Así se obtiene la tasa que, compuesta durante 12 meses, produce el mismo crecimiento anual.
const tasaAnual = 0.24;
const tasaMensualEquivalente = Math.pow(1 + tasaAnual, 1 / 12) - 1;
console.log(tasaMensualEquivalente);
console.log((tasaMensualEquivalente * 100).toFixed(2) + "%");
Los resultados financieros suelen mostrarse con dos decimales. El redondeo debe hacerse al presentar el dato o al cerrar una operación contable, no en cada paso intermedio sin necesidad.
const capital = 15000;
const tasa = 0.035;
const meses = 8;
const monto = capital * Math.pow(1 + tasa, meses);
const montoRedondeado = Math.round(monto * 100) / 100;
console.log(monto);
console.log(montoRedondeado);
Encapsular una fórmula en una función evita repetir código y reduce errores.
function calcularInteresSimple(capital, tasa, periodos) {
return capital * (1 + tasa * periodos);
}
const resultado = calcularInteresSimple(20000, 0.025, 10);
console.log(resultado);
La misma idea se aplica al interés compuesto. Una función clara facilita probar la fórmula con diferentes valores.
function calcularInteresCompuesto(capital, tasa, periodos) {
return capital * Math.pow(1 + tasa, periodos);
}
const resultado = calcularInteresCompuesto(20000, 0.025, 10);
console.log(resultado);
Un programa financiero debe validar que el capital, la tasa y la cantidad de períodos tengan sentido para la operación que se quiere realizar.
function calcularMonto(capital, tasa, periodos) {
if (capital < 0 || tasa < 0 || periodos < 0) {
return "Datos inválidos";
}
return capital * Math.pow(1 + tasa, periodos);
}
console.log(calcularMonto(10000, 0.05, 3));
console.log(calcularMonto(10000, -0.05, 3));
const capital = 10000;
const tasaIncorrecta = 5;
const tasaCorrecta = 5 / 100;
console.log(capital * (1 + tasaIncorrecta));
console.log(capital * (1 + tasaCorrecta));
El interés simple y el interés compuesto son modelos básicos para representar crecimiento financiero. Comprender la diferencia permite construir simuladores, reportes y cálculos de cuotas con mayor precisión.
En el próximo tema veremos el uso de calculadoras y herramientas matemáticas digitales para apoyar el trabajo de programación.