Episodio 10

Matrices

Un arreglo es una fila. ¿Y si necesitas un tablero, una hoja de cálculo o los asientos de un cine? Entonces usas varias filas: una matriz. ♟️🎬

1 ¿Qué es una matriz?

Una matriz es una tabla de filas y columnas. También puedes verla como un arreglo de arreglos: cada fila es un arreglo, y la matriz es la fila de todas esas filas.

tabla
0
1
2
0
1
2
3
1
4
5
6
matriz 2×3 · 2 filas y 3 columnas
♟️

Tableros
ajedrez, tres en raya

🎬

Asientos
filas y sillas de un cine

📊

Hojas de cálculo
Excel, Google Sheets

🖼️

Imágenes
una tabla de píxeles

2 Dos posiciones: fila y columna

En un arreglo bastaba una posición. En una matriz hacen falta dos: primero la fila y luego la columna, ambas empezando en 0. Se escribe tabla[fila][columna].

🧭 Como en un mapa

Primero bajas hasta la fila y luego te mueves a la columna. tabla[1][2] es la fila 1, columna 2: aquí el 6.

📏 Dos tamaños

Una matriz tiene filas y columnas. Una de 3 filas y 4 columnas es de 3 × 4 y tiene 12 cajitas.

🚫 Fuera de la tabla

Pedir una fila o columna que no existe da error, igual que en los arreglos.

🧪 Explora una matriz

Esta matriz es de 3 filas × 4 columnas. Elige fila y columna y léela o cámbiala.

tabla
matriz 3×4

Elige una fila y una columna.

3 Recorrer una matriz: dos bucles

Para un arreglo bastaba un bucle PARA. Para una matriz usamos dos, uno dentro del otro (bucles anidados): el de afuera recorre las filas (i) y el de adentro recorre las columnas (j) de esa fila.

🕐 Como un reloj: por cada hora (bucle de afuera) pasan los 60 minutos completos (bucle de adentro). Por cada fila se recorren todas sus columnas.

Avanza paso a paso. La celda que se usa se ilumina. Observa cómo j vuelve a empezar cada vez que i cambia de fila. Puedes cambiar los valores antes de empezar.

¿Cuántas vueltas? El cuerpo se ejecuta filas × columnas veces. Una matriz de 2×3 da 6 vueltas; una de 3×4, 12.
La diagonal son las celdas donde fila = columna: [0][0], [1][1], [2][2]. Para recorrerla basta un solo bucle, porque i sirve para las dos posiciones.

4 Un juego dentro de una matriz

El tres en raya es una matriz de 3×3. Cada vez que juegas, el programa guarda una X o una O en una posición [fila][columna]. ¡Juega y mira qué guarda!

Turno de X. Toca una casilla.

Para saber si alguien ganó, el programa revisa filas, columnas y diagonales… ¡con bucles!

5 Matrices en código

Python

# una lista de listas
tabla = [[1, 2, 3],
         [4, 5, 6]]

print(tabla[1][2])    # 6
tabla[0][0] = 9

filas = len(tabla)        # 2
columnas = len(tabla[0])  # 3

for i in range(filas):
    for j in range(columnas):
        print(tabla[i][j])

JavaScript

// un arreglo de arreglos
let tabla = [[1, 2, 3],
             [4, 5, 6]];

console.log(tabla[1][2]);  // 6
tabla[0][0] = 9;

let filas = tabla.length;       // 2
let columnas = tabla[0].length; // 3

for (let i = 0; i < filas; i++) {
  for (let j = 0; j < columnas; j++) {
    console.log(tabla[i][j]);
  }
}

💡 Una matriz es solo un arreglo cuyas cajitas son otros arreglos. Por eso tabla[1] es una fila completa y tabla[1][2] es una sola celda de esa fila.

🎮 Practica

¿Qué hay en esa celda?

Siempre fila primero, columna después, y las dos empiezan en 0.

m
0
1
2
0
1
2
3
1
4
5
6
2
7
8
9

¿Cuántas veces se ejecuta el cuerpo?

Con dos bucles anidados, multiplica las vueltas de cada uno.

📌 Resumen