36. Interés simple e interés compuesto

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.

36.1 Introducción

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.

36.2 Capital, tasa y tiempo

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.

interés = capital × tasa × tiempo
const capital = 10000;
const tasa = 0.05;
const tiempo = 3;

const interes = capital * tasa * tiempo;

console.log(interes);

36.3 Convertir porcentaje a tasa decimal

En programación conviene convertir los porcentajes a números decimales. Una tasa del 8% se representa como 0.08.

tasaDecimal = porcentaje / 100
const porcentaje = 8;
const tasaDecimal = porcentaje / 100;

console.log(tasaDecimal);

36.4 Interés simple

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.

monto = capital × (1 + tasa × tiempo)
const capital = 12000;
const tasa = 0.04;
const periodos = 6;

const monto = capital * (1 + tasa * periodos);

console.log(monto);

36.5 Separar interés y 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);

36.6 Interés compuesto

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.

monto = capital × (1 + tasa)períodos
const capital = 12000;
const tasa = 0.04;
const periodos = 6;

const monto = capital * Math.pow(1 + tasa, periodos);

console.log(monto);

36.7 Comparar interés simple y compuesto

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);

36.8 Calcular período por período

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));
}

36.9 Tasa anual y tasa mensual

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);

36.10 Tasa mensual equivalente

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.

tasaMensual = (1 + tasaAnual)1 / 12 - 1
const tasaAnual = 0.24;
const tasaMensualEquivalente = Math.pow(1 + tasaAnual, 1 / 12) - 1;

console.log(tasaMensualEquivalente);
console.log((tasaMensualEquivalente * 100).toFixed(2) + "%");

36.11 Redondear importes financieros

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);

36.12 Función para interés simple

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);

36.13 Función para interés compuesto

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);

36.14 Validar datos de entrada

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));

36.15 Errores comunes

  • Usar 5 en lugar de 0.05 para representar una tasa del 5%.
  • Confundir interés simple con interés compuesto.
  • Mezclar tasas anuales con períodos mensuales sin convertir la tasa.
  • Redondear en cada paso y acumular pequeñas diferencias.
  • No validar valores negativos o períodos sin sentido.
const capital = 10000;
const tasaIncorrecta = 5;
const tasaCorrecta = 5 / 100;

console.log(capital * (1 + tasaIncorrecta));
console.log(capital * (1 + tasaCorrecta));

36.16 Qué debes recordar de este tema

  • La tasa porcentual debe convertirse a decimal antes de calcular.
  • El interés simple se calcula siempre sobre el capital inicial.
  • El interés compuesto reinvierte los intereses en cada período.
  • Las tasas y los períodos deben usar la misma unidad de tiempo.
  • Las funciones ayudan a reutilizar fórmulas financieras con claridad.
  • El redondeo financiero debe manejarse con criterio.

36.17 Conclusión

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.