19. Evaluación de expresiones y sustitución de variables

Evaluar una expresión significa reemplazar sus variables por valores concretos y calcular el resultado. Esta idea está en la base de las fórmulas, funciones y algoritmos.

19.1 Introducción

Una expresión algebraica puede representar muchos casos distintos. Para obtener un resultado concreto, sustituimos cada variable por un valor y resolvemos las operaciones en el orden correcto.

En programación, esta sustitución ocurre constantemente: una función recibe datos, los coloca en una fórmula y devuelve un resultado.

Este tema conecta el álgebra con una práctica central de programación: escribir cálculos reutilizables.

19.2 Qué significa evaluar una expresión

Evaluar una expresión es calcular su valor para una elección concreta de variables.

Expresión: 2x + 3
Si x = 5:
2 × 5 + 3 = 13
const x = 5;
const resultado = 2 * x + 3;

console.log(resultado);

El mismo cálculo puede repetirse para otros valores de x.

19.3 Sustitución paso a paso

Cuando una expresión tiene varias operaciones, conviene sustituir primero y resolver después respetando la prioridad de operadores.

Expresión: 3a + 2b
Si a = 4 y b = 7:
3 × 4 + 2 × 7 = 12 + 14 = 26
const a = 4;
const b = 7;

const resultado = 3 * a + 2 * b;

console.log(resultado);

19.4 Evaluar con una función

Una función permite evaluar la misma expresión con distintos valores sin repetir código.

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

console.log(evaluar(1));
console.log(evaluar(5));
console.log(evaluar(10));

La variable x dentro de la función toma el valor que enviamos como argumento.

19.5 Evaluar expresiones con varias variables

Si una expresión tiene más de una variable, la función debe recibir todos los valores necesarios.

área = base × altura / 2
function areaTriangulo(base, altura) {
  return base * altura / 2;
}

console.log(areaTriangulo(10, 4));
console.log(areaTriangulo(7, 3));

La expresión es la misma, pero el resultado cambia según los valores sustituidos.

19.6 Tablas de valores

Una tabla de valores muestra el resultado de una expresión para distintos valores de entrada. Es muy útil para entender funciones y preparar gráficos.

function f(x) {
  return 2 * x + 1;
}

for (let x = 0; x <= 5; x++) {
  console.log({ x: x, y: f(x) });
}

Cada fila muestra un valor de entrada x y el resultado correspondiente y.

19.7 Sustitución en fórmulas geométricas

Las fórmulas geométricas son ejemplos claros de sustitución. Para calcular el área de un círculo, reemplazamos el radio por un valor concreto.

área = π × radio²
function areaCirculo(radio) {
  return Math.PI * radio ** 2;
}

console.log(areaCirculo(3));
console.log(areaCirculo(10));

19.8 Sustitución en reglas de negocio

Una regla de negocio también puede verse como una expresión. Por ejemplo, calcular el total de una compra con descuento.

function calcularTotal(precio, cantidad, descuento) {
  const subtotal = precio * cantidad;
  return subtotal - subtotal * descuento / 100;
}

console.log(calcularTotal(1000, 3, 10));
console.log(calcularTotal(250, 8, 15));

La función sustituye cada parámetro por el valor recibido y calcula el resultado.

19.9 Evaluar expresiones con objetos

Cuando una expresión necesita varios valores relacionados, podemos recibirlos dentro de un objeto.

function calcularVelocidad(datos) {
  return datos.distancia / datos.tiempo;
}

const medicion = {
  distancia: 120,
  tiempo: 2
};

console.log(calcularVelocidad(medicion));

Esta forma mejora la claridad cuando hay muchos valores de entrada.

19.10 Evaluar con unidades coherentes

Antes de sustituir valores en una fórmula, debemos asegurarnos de que las unidades sean compatibles.

function velocidadKmH(distanciaKm, tiempoMinutos) {
  const tiempoHoras = tiempoMinutos / 60;
  return distanciaKm / tiempoHoras;
}

console.log(velocidadKmH(10, 30));

La fórmula de velocidad usa horas, por eso convertimos minutos a horas antes de dividir.

19.11 Validar valores antes de sustituir

Una fórmula puede tener restricciones. Por ejemplo, no se puede dividir por cero, y una longitud no debería ser negativa si representa una medida física.

function dividir(a, b) {
  if (b === 0) {
    return "No se puede dividir por cero";
  }

  return a / b;
}

console.log(dividir(10, 2));
console.log(dividir(10, 0));

Validar protege al programa de resultados inválidos o confusos.

19.12 Evaluar muchas entradas

Una expresión puede aplicarse a una lista de valores. Esto es frecuente en reportes, gráficos y procesamiento de datos.

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

const temperaturas = [0, 10, 20, 30];
const convertidas = temperaturas.map(convertirCelsiusAFahrenheit);

console.log(convertidas);

El método map() evalúa la función para cada elemento del arreglo.

19.13 Separar expresiones largas

Si una expresión es larga, conviene dividirla en pasos intermedios con nombres claros. Esto facilita la lectura y la depuración.

function calcularFactura(precio, cantidad, descuento, impuesto) {
  const subtotal = precio * cantidad;
  const totalConDescuento = subtotal - subtotal * descuento / 100;
  const totalConImpuesto = totalConDescuento + totalConDescuento * impuesto / 100;

  return totalConImpuesto;
}

console.log(calcularFactura(1200, 2, 10, 21));

La fórmula completa podría escribirse en una sola línea, pero así es más fácil entender cada parte.

19.14 Errores comunes

  • Sustituir un valor en la variable equivocada.
  • Olvidar convertir unidades antes de evaluar una fórmula.
  • No respetar la prioridad de operadores.
  • Omitir paréntesis cuando la expresión los necesita.
  • No validar restricciones como divisores distintos de cero.
  • Escribir fórmulas demasiado largas sin pasos intermedios.
const x = 4;

const correcto = 2 * (x + 3);
const distinto = 2 * x + 3;

console.log(correcto);
console.log(distinto);

19.15 Qué debes recordar de este tema

  • Evaluar una expresión significa reemplazar variables por valores y calcular.
  • Una función permite evaluar la misma expresión con muchos valores distintos.
  • Las tablas de valores ayudan a ver cómo cambia el resultado.
  • Antes de sustituir, conviene verificar unidades y restricciones.
  • Los objetos pueden agrupar valores de entrada relacionados.
  • Las listas permiten evaluar una expresión muchas veces.
  • Separar fórmulas largas en pasos mejora la claridad del código.

19.16 Conclusión

La evaluación de expresiones es el puente entre una fórmula general y un resultado concreto. Cada vez que una función recibe datos y devuelve un cálculo, está sustituyendo variables y evaluando una expresión.

En el próximo tema estudiaremos ecuaciones de primer grado, donde no solo evaluaremos expresiones, sino que buscaremos el valor que hace verdadera una igualdad.