65. Conversión de fórmulas a algoritmos

Convertir una fórmula en algoritmo significa transformarla en una secuencia clara de pasos que una computadora pueda ejecutar.

65.1 Introducción

Una fórmula expresa una relación matemática. Un algoritmo indica cómo calcular esa relación paso a paso.

Fórmula: total = precio · cantidad
Algoritmo: recibir precio, recibir cantidad, multiplicar y devolver total.

La conversión exige identificar datos, operaciones, orden y casos especiales.

65.2 Entradas, proceso y salida

Todo algoritmo de cálculo puede describirse con tres partes: entradas, proceso y salida.

Entradas: valores conocidos
Proceso: operaciones de la fórmula
Salida: resultado esperado

Esta separación ayuda a escribir funciones simples y fáciles de probar.

65.3 De fórmula a función

Cuando una fórmula tiene variables, esas variables suelen convertirse en parámetros de una función.

function calcularAreaRectangulo(base, altura) {
  return base * altura;
}

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

La función recibe las entradas y devuelve la salida calculada.

65.4 Ordenar los pasos

Una fórmula compleja puede dividirse en operaciones intermedias para que el algoritmo sea más claro.

distancia = √((x₂ - x₁)² + (y₂ - y₁)²)
Primero calcular diferencias, luego cuadrados, luego suma y raíz.

Separar pasos facilita detectar errores y depurar el código.

65.5 Distancia como algoritmo

La fórmula de distancia puede implementarse usando variables auxiliares.

function distancia(a, b) {
  const dx = b.x - a.x;
  const dy = b.y - a.y;
  const cuadradoX = dx ** 2;
  const cuadradoY = dy ** 2;
  return Math.sqrt(cuadradoX + cuadradoY);
}

const a = { x: 2, y: 4 };
const b = { x: 8, y: 12 };

console.log(distancia(a, b));

Cada variable intermedia representa un paso del cálculo.

65.6 Pseudocódigo

El pseudocódigo permite escribir el algoritmo antes de usar un lenguaje de programación específico.

Leer precio
Leer porcentaje
Calcular descuento = porcentaje / 100
Calcular final = precio · (1 - descuento)
Mostrar final

Este paso ayuda a razonar sin distraerse con detalles de sintaxis.

65.7 Del pseudocódigo a JavaScript

Una vez claros los pasos, se traducen a instrucciones concretas.

function precioConDescuento(precio, porcentaje) {
  const descuento = porcentaje / 100;
  const final = precio * (1 - descuento);
  return final;
}

console.log(precioConDescuento(2000, 15));
console.log(precioConDescuento(7500, 20));

La fórmula queda expresada como una secuencia de asignaciones y un retorno.

65.8 Validaciones antes del cálculo

Un algoritmo no solo calcula: también debe comprobar que los datos sean válidos para la fórmula.

function promedio(valores) {
  if (valores.length === 0) {
    return "No hay datos para promediar";
  }

  let suma = 0;

  for (let i = 0; i < valores.length; i++) {
    suma += valores[i];
  }

  return suma / valores.length;
}

console.log(promedio([8, 7, 10]));
console.log(promedio([]));

La validación evita dividir por cero cuando no hay valores.

65.9 Fórmulas con decisiones

Algunas fórmulas cambian según una condición. En código, esto se expresa con decisiones.

Si consumo ≤ 100, costo = consumo · 10
Si consumo > 100, costo = 1000 + (consumo - 100) · 15

Este tipo de algoritmo se usa en tarifas, impuestos, envíos y bonificaciones.

65.10 Algoritmo por tramos

Una fórmula por tramos se convierte en código con estructuras condicionales.

function costoConsumo(consumo) {
  if (consumo <= 100) {
    return consumo * 10;
  }

  return 1000 + (consumo - 100) * 15;
}

console.log(costoConsumo(80));
console.log(costoConsumo(140));

La condición decide qué fórmula se aplica.

65.11 Fórmulas repetitivas

Cuando una fórmula debe aplicarse muchas veces, el algoritmo usa ciclos.

total = suma de todos los precios
Aplicar suma para cada elemento de la lista.

El ciclo permite repetir una operación sin escribirla muchas veces.

65.12 Suma de una lista

La suma de varios valores se convierte en un algoritmo acumulador.

function sumarPrecios(precios) {
  let total = 0;

  for (let i = 0; i < precios.length; i++) {
    total += precios[i];
  }

  return total;
}

console.log(sumarPrecios([1200, 850, 3000]));
console.log(sumarPrecios([500, 500, 500, 500]));

La variable total acumula el resultado parcial.

65.13 Pruebas del algoritmo

Después de convertir una fórmula a código, conviene probar valores conocidos, casos extremos y entradas inválidas.

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

console.log(convertirCelsiusAFahrenheit(0));    // 32
console.log(convertirCelsiusAFahrenheit(100));  // 212
console.log(convertirCelsiusAFahrenheit(-40));  // -40

Los casos conocidos ayudan a detectar errores en la fórmula o en el orden de operaciones.

65.14 Errores comunes

Los errores más frecuentes son omitir paréntesis, mezclar unidades, no validar divisores y escribir los pasos en un orden incorrecto.

Incorrecto: promedio = a + b + c / 3
Correcto: promedio = (a + b + c) / 3

Cuando la fórmula crece, conviene usar variables intermedias con nombres claros.

65.15 Conclusión

Convertir fórmulas a algoritmos permite llevar el álgebra a programas reales. El proceso consiste en identificar entradas, ordenar operaciones, validar casos y devolver una salida.

Una fórmula se vuelve algoritmo cuando se expresa como pasos precisos y ejecutables.

En el próximo tema se estudiará el uso de expresiones algebraicas en programación.