Una medición combina un número con una unidad. Comprender magnitudes, precisión, resolución y unidades permite representar datos reales correctamente dentro de un programa.
Muchos programas trabajan con datos que provienen del mundo real: distancias, temperaturas, pesos, tiempos, velocidades, áreas, volúmenes, consumo de memoria o lecturas de sensores.
Estos valores no son solo números. Un valor como 25 puede significar 25 grados, 25 metros, 25 segundos o 25 kilobytes. La unidad y el contexto son indispensables para interpretar correctamente la medición.
En este tema estudiaremos cómo pensar magnitudes y mediciones al programar.
Una magnitud es una propiedad que puede medirse o compararse. Por ejemplo, longitud, tiempo, masa, temperatura, velocidad y capacidad de almacenamiento.
| Magnitud | Qué mide | Unidades comunes |
|---|---|---|
| Longitud | Distancia entre puntos | mm, cm, m, km |
| Tiempo | Duración | ms, s, min, h |
| Masa | Cantidad de materia | g, kg |
| Temperatura | Nivel térmico | °C, °F, K |
| Almacenamiento | Capacidad de datos | bytes, KB, MB, GB |
Una medición completa incluye un valor numérico y una unidad. En programación conviene representar ambos datos si existe riesgo de confusión.
const medicion = {
valor: 12.5,
unidad: "m"
};
console.log(medicion);
Guardar la unidad junto al valor hace que el dato sea más claro y reduce errores.
Contar produce cantidades enteras: 5 usuarios, 12 archivos, 3 intentos. Medir puede producir valores decimales: 1.75 metros, 36.6 grados, 0.25 segundos.
const cantidadUsuarios = 5;
const alturaMetros = 1.75;
console.log(Number.isInteger(cantidadUsuarios));
console.log(Number.isInteger(alturaMetros));
Esta diferencia importa al validar datos. Una cantidad de usuarios debe ser entera, pero una altura puede tener decimales.
La precisión indica cuán detallada o repetible es una medición. Una temperatura medida como 25.4 °C ofrece más detalle que una temperatura medida como 25 °C.
En programación, muchas veces controlamos la precisión al mostrar el valor, no necesariamente al guardarlo.
const temperatura = 25.4378;
console.log(temperatura.toFixed(0));
console.log(temperatura.toFixed(1));
console.log(temperatura.toFixed(2));
Mostrar demasiados decimales puede dar una falsa sensación de exactitud.
La resolución es el cambio mínimo que puede detectar o representar un instrumento o sistema. Una balanza que mide de a 1 gramo tiene más resolución que una que mide de a 100 gramos.
function redondearAResolucion(valor, resolucion) {
return Math.round(valor / resolucion) * resolucion;
}
console.log(redondearAResolucion(12.37, 0.1));
console.log(redondearAResolucion(12.37, 0.5));
console.log(redondearAResolucion(12.37, 1));
Este tipo de redondeo es útil cuando un sistema solo debe mostrar valores en saltos definidos.
La exactitud indica qué tan cerca está una medición del valor real. El error absoluto es la diferencia entre el valor medido y el valor real o esperado.
const valorReal = 100;
const valorMedido = 98.7;
const errorAbsoluto = Math.abs(valorMedido - valorReal);
console.log(errorAbsoluto);
El error relativo compara el error absoluto con el valor real. Suele expresarse como porcentaje.
const valorReal = 100;
const valorMedido = 98.7;
const errorAbsoluto = Math.abs(valorMedido - valorReal);
const errorRelativo = errorAbsoluto / valorReal * 100;
console.log(errorRelativo);
El error relativo permite comparar errores entre mediciones de distintas escalas.
Muchas mediciones tienen rangos esperados. Un programa puede validar que una temperatura, edad, velocidad o porcentaje esté dentro de límites razonables.
function estaEnRango(valor, minimo, maximo) {
return valor >= minimo && valor <= maximo;
}
console.log(estaEnRango(36.6, 35, 42));
console.log(estaEnRango(120, 35, 42));
Validar rangos ayuda a detectar errores de entrada, sensores defectuosos o unidades incorrectas.
Los sensores suelen producir lecturas con ruido: pequeñas variaciones que no necesariamente representan cambios reales. Una técnica simple es promediar varias mediciones.
const lecturas = [24.9, 25.1, 25.0, 25.2, 24.8];
const suma = lecturas.reduce((total, valor) => total + valor, 0);
const promedio = suma / lecturas.length;
console.log(promedio);
El promedio suaviza pequeñas variaciones, aunque no reemplaza un análisis más profundo si se requiere alta precisión.
Algunas mediciones se acumulan con el tiempo. Por ejemplo, distancia recorrida, consumo de energía o tiempo total de uso.
const distanciasKm = [1.2, 0.8, 2.5, 1.5];
const total = distanciasKm.reduce((acumulado, distancia) => acumulado + distancia, 0);
console.log(total);
Cuando se acumulan decimales, conviene recordar los problemas de precisión numérica vistos en el tema 11.
Una forma práctica de evitar confusiones es representar una medición como objeto con valor, unidad y tipo de magnitud.
const distancia = {
magnitud: "longitud",
valor: 1500,
unidad: "m"
};
const duracion = {
magnitud: "tiempo",
valor: 120,
unidad: "s"
};
console.log(distancia);
console.log(duracion);
Esta estructura ayuda a documentar qué representa cada número.
Un error común es sumar o comparar valores que están en unidades distintas. Antes de operar, conviene convertir a una unidad común.
const distanciaMetros = 500;
const distanciaKilometros = 1.2;
const totalIncorrecto = distanciaMetros + distanciaKilometros;
const totalCorrecto = distanciaMetros + distanciaKilometros * 1000;
console.log(totalIncorrecto);
console.log(totalCorrecto);
El resultado incorrecto mezcla metros y kilómetros como si fueran la misma unidad.
La velocidad promedio relaciona distancia y tiempo. Para calcularla correctamente, las unidades deben ser coherentes.
const distanciaKm = 120;
const tiempoHoras = 2;
const velocidadPromedio = distanciaKm / tiempoHoras;
console.log(velocidadPromedio);
El resultado está expresado en kilómetros por hora.
const temperatura = {
valor: 180,
unidad: "C"
};
const temperaturaValida = temperatura.valor >= -50 && temperatura.valor <= 80;
console.log(temperaturaValida);
Las magnitudes y mediciones conectan los números del programa con el mundo real. Para trabajar bien con ellas no alcanza con calcular: también hay que cuidar unidades, rangos, precisión y significado.
En el próximo tema estudiaremos variables matemáticas y representación de valores, una base necesaria para expresar estos datos dentro de fórmulas y programas.