Una tabla de valores conecta entradas y salidas. A partir de esa tabla podemos construir puntos y preparar datos para representar funciones o mediciones en un gráfico.
Una función puede evaluarse en varios valores de entrada. Si organizamos esas entradas y salidas en filas, obtenemos una tabla de valores.
Las tablas son útiles porque permiten revisar cálculos, detectar patrones y preparar los puntos que luego se dibujan en un gráfico.
En programación, generar tablas de valores es un paso habitual antes de graficar datos, simular procesos o alimentar una biblioteca de visualización.
Una tabla de valores muestra pares de entrada y salida. Para una función f(x), cada fila puede escribirse como (x, f(x)).
function f(x) {
return 2 * x + 1;
}
console.log(f(0));
console.log(f(1));
console.log(f(2));
En lugar de escribir cada evaluación manualmente, podemos usar un ciclo.
function f(x) {
return 2 * x + 1;
}
for (let x = 0; x <= 5; x++) {
console.log({ x: x, y: f(x) });
}
Cada objeto representa una fila de la tabla y un punto posible del gráfico.
Para usar la tabla más adelante, conviene guardarla en un arreglo de objetos.
function f(x) {
return x ** 2;
}
const tabla = [];
for (let x = -3; x <= 3; x++) {
tabla.push({ x: x, y: f(x) });
}
console.log(tabla);
Este formato es fácil de recorrer, filtrar o enviar a una herramienta de gráficos.
El intervalo indica desde qué valor hasta qué valor evaluamos la función. Elegirlo bien afecta lo que veremos en el gráfico.
function generarTabla(funcion, desde, hasta) {
const tabla = [];
for (let x = desde; x <= hasta; x++) {
tabla.push({ x: x, y: funcion(x) });
}
return tabla;
}
console.log(generarTabla(x => x ** 2, -2, 2));
El paso indica cada cuánto tomamos valores de entrada. Un paso pequeño da más puntos; un paso grande da menos puntos.
function generarTabla(funcion, desde, hasta, paso) {
const tabla = [];
for (let x = desde; x <= hasta; x = x + paso) {
tabla.push({ x: x, y: funcion(x) });
}
return tabla;
}
console.log(generarTabla(x => x * 2, 0, 5, 0.5));
El paso debe ser positivo para que el ciclo avance correctamente.
Si el paso vale 0 o es negativo en un ciclo ascendente, el programa puede quedar en un ciclo infinito. Conviene validar.
function generarTabla(funcion, desde, hasta, paso) {
if (paso <= 0) {
return "El paso debe ser mayor que cero";
}
const tabla = [];
for (let x = desde; x <= hasta; x = x + paso) {
tabla.push({ x: x, y: funcion(x) });
}
return tabla;
}
console.log(generarTabla(x => x + 1, 0, 3, 1));
console.log(generarTabla(x => x + 1, 0, 3, 0));
En una función lineal, la tabla muestra cambios constantes.
function lineal(x) {
return 3 * x - 2;
}
const tabla = [];
for (let x = 0; x <= 5; x++) {
tabla.push({ x: x, y: lineal(x) });
}
console.log(tabla);
En una función cuadrática, la tabla puede mostrar simetría y cambios no constantes.
function cuadratica(x) {
return x ** 2;
}
const tabla = [];
for (let x = -3; x <= 3; x++) {
tabla.push({ x: x, y: cuadratica(x) });
}
console.log(tabla);
Muchas bibliotecas de gráficos esperan datos en forma de arreglos. A veces se separan etiquetas y valores.
const tabla = [
{ x: 1, y: 120 },
{ x: 2, y: 150 },
{ x: 3, y: 170 }
];
const etiquetas = tabla.map(punto => punto.x);
const valores = tabla.map(punto => punto.y);
console.log(etiquetas);
console.log(valores);
La estructura exacta depende de la biblioteca usada, pero la idea de separar o mapear datos es muy común.
Para dibujar puntos en una pantalla, muchas veces hay que convertir valores matemáticos a coordenadas de píxeles.
function escalar(valor, minOriginal, maxOriginal, minNuevo, maxNuevo) {
return (valor - minOriginal) /
(maxOriginal - minOriginal) *
(maxNuevo - minNuevo) +
minNuevo;
}
console.log(escalar(50, 0, 100, 0, 500));
Esta conversión conecta datos con representación visual.
Sin usar una biblioteca gráfica, podemos crear una representación textual básica para entender la relación entre valores.
const valores = [1, 3, 5, 2, 4];
for (const valor of valores) {
console.log("*".repeat(valor));
}
No es un gráfico profesional, pero ayuda a visualizar diferencias de tamaño.
Antes de graficar, conviene detectar valores que puedan quedar fuera del rango visible.
const valores = [10, 20, 150, 30, -5];
const minimo = 0;
const maximo = 100;
const fueraDeRango = valores.filter(valor => valor < minimo || valor > maximo);
console.log(fueraDeRango);
Esto ayuda a revisar errores, datos extremos o escalas mal elegidas.
const tabla = [
{ x: 10, y: 100 },
{ x: 20, y: 150 }
];
console.log(tabla[0].x);
console.log(0);
El índice 0 no necesariamente significa que x valga 0.
Las tablas de valores son el puente entre una fórmula y su representación gráfica. Permiten generar puntos, revisar patrones y preparar datos para visualizarlos correctamente.
En el próximo tema estudiaremos aproximación, redondeo y errores numéricos, conceptos necesarios para manejar resultados que no siempre son exactos.