Saltar al contenido

B.4 · Tipos abstractos de datos (solo HL)

Diploma del Bachillerato Internacional · IB Diploma · Computer Science · HL · Tema 8

8.1

Alcance y requisitos previos

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.
Tipos de datos abstractos: un contrato de operación: diagrama del caso resuelto original

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.

Vocabulario Entrenar
English Español
stack/stæk/ pila
queue/kjuː/ cola

Más temas en Diploma del Bachillerato Internacional · IB Diploma · Computer Science · HL

Iniciar sesión o crear cuenta

IGCSE, A-Level & AP