Episodio 9

Arreglos

¿Y si tienes que guardar las notas de 30 alumnos? No vas a crear 30 variables con 30 nombres. Para eso están los arreglos: una fila de cajitas con un solo nombre. 🚃

1 ¿Por qué un arreglo?

Imagina que quieres guardar 5 notas. Con lo que sabes, crearías 5 variables. ¿Y con 100 notas? ¿Y cómo harías un bucle que las revise todas, si cada una tiene un nombre distinto?

😩 Variables sueltas

nota1
4
nota2
3.5
nota3
5
nota4
2.5
…
…

😎 Un arreglo

notas
0
4
1
3.5
2
5
3
2.5

Un solo nombre, muchas cajitas.

Un arreglo (en inglés array; en Python se llama lista) es una variable que guarda varios valores, uno al lado del otro, como los vagones de un tren o los casilleros de un colegio. 🚃

2 Posiciones: el índice

Cada cajita del arreglo tiene un número de posición, llamado índice. Para pedir un valor escribimos el nombre y la posición entre corchetes: notas[2].

notas
0
4
1
3.5
2
5
3
2.5

notas[2] vale 5

0️⃣ Se cuenta desde 0

La primera cajita es la posición 0, no la 1. ¡Casi todos los lenguajes lo hacen así!

📏 La longitud

Es cuántas cajitas hay. Con 4 cajitas, la longitud es 4 y la última posición es la 3 (longitud − 1).

🚫 Posición inexistente

Pedir notas[4] en un arreglo de 4 da error: esa cajita no existe.

3 Prueba un arreglo

Este arreglo se llama notas. Elige una posición y léela, cámbiala, agrega una nota al final o quita la última. Intenta pedir una posición que no existe.

notas

Elige una posición y una acción.

4 Recorrer un arreglo con un bucle

Aquí se junta todo lo que aprendiste. Como las posiciones son números, un bucle PARA puede visitar todas las cajitas con un contador i:

PARA i DESDE 0
HASTA tamaño − 1

Dentro del bucle, notas[i] es «la nota que toca ahora».

Elige un ejemplo y avanza paso a paso. La cajita que se está usando se ilumina con un borde naranja. Puedes cambiar los valores del arreglo antes de empezar.

Acumulador + arreglo. En «Promedio» la variable suma junta cada notas[i]. ¡Es el acumulador del Episodio 4 dentro de un bucle!
Bucle + condicional. En «El mayor» y «Buscar» hay una decisión dentro del bucle: revisa cada cajita y actúa solo si se cumple la condición.

5 Arreglos en código

Python (listas)

# crear
notas = [4, 3.5, 5, 2.5]

# leer y cambiar
print(notas[2])       # 5
notas[2] = 4.5

# tamaño, agregar, quitar
len(notas)            # 4
notas.append(3)
notas.pop()

# recorrer con PARA
for i in range(len(notas)):
    print(notas[i])

JavaScript (arreglos)

// crear
let notas = [4, 3.5, 5, 2.5];

// leer y cambiar
console.log(notas[2]);   // 5
notas[2] = 4.5;

// tamaño, agregar, quitar
notas.length;            // 4
notas.push(3);
notas.pop();

// recorrer con PARA
for (let i = 0; i < notas.length; i++) {
  console.log(notas[i]);
}
Quiero…En el diagramaResultado
Leer una posiciónnotas[2]el valor de esa cajita
Cambiar una posiciónnotas[2] = 4.5la cajita guarda el valor nuevo
Saber cuántas cajitas haytamaño de notasla longitud
Añadir al finalagregar 3 a notasuna cajita más
Quitar la últimaquitar último de notasuna cajita menos

🎮 Practica

¿Qué hay en esa posición?

Recuerda: la primera posición es la 0.

¿Cómo queda el arreglo?

📌 Resumen