Arrays y listas – índice, insertar, eliminar y recorrer

InformáticaAlgoritmos y resolución de problemasEdades 15–16

Usar con mi clase ✨ Personalizar con IA Informar de un problema

Una lista aparece como celdas con índice y un puntero. Los estudiantes leen, escriben, añaden al final, insertan y eliminan elementos y ven cómo los elementos se desplazan, cambia la longitud y aparecen errores de índice fuera de rango; luego cambian a un array de tamaño fijo para compararlo con una lista dinámica. Un modo de array 2D recorre paso a paso por filas o por columnas con grid[r][c], un modo diccionario busca valores por clave y un modo de referencias muestra dos nombres que apuntan a la misma lista. Cada operación se muestra en Python, Java o pseudocódigo.

Lección: Arrays y listas: índices, inserción, eliminación y recorrido

Qué muestra

Un array guarda los elementos en posiciones numeradas, así que cualquier elemento se lee o se cambia en un solo paso con su índice. Insertar o eliminar en medio es más lento, porque todos los elementos posteriores tienen que desplazarse; el contador de movimientos hace visible ese coste. Una lista dinámica crece cuando hace falta, mientras que un array de tamaño fijo conserva su longitud y necesita contar las casillas en uso. El simulador también incluye arrays 2D con recorrido mediante bucles anidados, diccionarios que buscan por clave y referencias: tras b = a, los dos nombres apuntan a la misma lista.

Cómo usarla

Elige un Modo y una Notación. En el modo Lista, escribe un Índice y un Valor y pulsa una operación como nums.insert(2, 15) para ver cómo se desplazan los elementos; prueba un índice más allá del final para ver el error. Cambia la Estructura a Array de tamaño fijo para insertar y eliminar a mano. En el modo Array 2D, elige el Orden de recorrido y pulsa Paso. Prueba también los modos Diccionario y Referencias.

Parámetros que puedes cambiar

  • Modo Lista / array 1D, Array 2D, Diccionario (clave → valor), Referencias y alias
  • Estructura 1D Lista dinámica (list, ArrayList), Array de tamaño fijo (10)
  • Notación del código Python, Java, Pseudocódigo
  • Número inicial de elementos 3–10
  • Filas del array 2D 2–6
  • Columnas del array 2D 2–8
  • Velocidad de la animación 1–5 pasos/s

Preguntas para explorar

  1. ¿Cuántos elementos deben moverse al insertar un valor al principio de una lista de 10 elementos?
  2. ¿Por qué nums[len(nums)] da error en Python y nums[-1] no?
  3. Después de b = a, ¿por qué cambiar b[0] también cambia a y cómo puedes evitarlo?