Enfoque HL soportado. Objetivo de primera evaluación 2027; PDF oficial devuelve 403; la brief adquirida anterior es la evaluación final 2026. Las guías, evaluaciones y requisitos prácticos restantes conservan sus retenciones registradas.
Requisitos previos: lea las cantidades y unidades indicadas, utilice aritmética y las condiciones del modelo a continuación. Cada lección desarrolla su propio método antes de la transferencia independiente.
Estos son ejemplos didácticos originales o explícitamente ficticios, no mediciones reales ni investigaciones evaluadas completas de estudiantes.
8.2
Tipos de datos abstractos: un contrato de operación
¿Qué explicaría esta observación?
Una simulación de cola necesita el elemento pendiente más antiguo primero. Una pila da el elemento más reciente primero, por lo que el contrato de la operación es importante.
Comience con una predicción. Enuncie las cantidades o características que compararía, luego decida qué evidencia podría distinguir entre dos explicaciones.
Construya el modelo
Un tipo de dato abstracto especifica valores y operaciones independientemente de una implementación particular. Una pila es último en entrar, primero en salir; una cola es primero en entrar, primero en salir. Una interfaz de colección necesita comportamiento definido para operaciones vacías e inválidas.
pila: Tipo de dato abstracto último-entra-primeiro-sale; cola: Tipo de dato abstracto primero-entra-primeiro-sale.
Elija evidencias que puedan probarlo
Elige la estructura para el patrón de acceso requerido. La complejidad depende de la implementación y las suposiciones: eliminar el primer elemento de un array desplazador difiere de avanzar un puntero de cabeza en una cola.
Rastrea las secuencias de operaciones manualmente, luego compara un programa con los estados esperados. Prueba operaciones vacías, de un solo elemento y repetidas. Establece el comportamiento de desbordamiento si la capacidad es fija.
Trabaje desde cantidades conocidas
Indique los valores conocidos y sus unidades. Elija la relación porque sus supuestos se ajustan a este caso, luego reordénela antes de la sustitución.
Conocido: encolar A, B y C, luego desencolar dos veces. A y B salen; C permanece. Tras encolar D hay dos elementos pendientes, C seguido de D. Los mismos empujes en una pila eliminarían C seguido de B.
Ejemplo:
Una cola comienza vacía, recibe 7 elementos y elimina 4. Encuentra el número restante. Usa la misma secuencia: cantidades conocidas → modelo → relación → sustitución → unidad e interpretación.
Verifique la conclusión y sus límites
Un TAD no es un layout de memoria específico. Una cola no ordena por prioridad a menos que su contrato defina una cola de prioridad.
Vuelva a la observación original. Explique qué respalda el resultado, qué condiciones asume y una forma de probar una explicación alternativa.
Advertencia:
Toda cola ordena automáticamente los elementos por prioridad. Esta afirmación es falsa: un TAD no es un layout de memoria específico. Una cola no ordena por prioridad a menos que su contrato defina una cola de prioridad.
Clave:
Tipos de datos abstractos: un contrato de operación: Elige la estructura para el patrón de acceso requerido. La complejidad depende de la implementación y las suposiciones: eliminar el primer elemento de un array desplazador difiere de avanzar un puntero de cabeza en una cola.
Trazabilidad ejecutable y límite
from collections import deque
queue = deque()
queue.extend(["A", "B"])
print(queue.popleft())
queue.append("C")
print(queue.popleft())
print(list(queue))
queue.clear()
print(queue.popleft() if queue else "EMPTY")
Salida esperada:
A
B
['C']
EMPTY
Eliminar desde la izquierda implementa FIFO. La protección explícita para listas vacías define el resultado del límite; deque.popleft sin ella elevaría IndexError. Una pila, en cambio, elimina desde la derecha.