Focus HL soutenu. Première évaluation 2027 cible ; retours PDF officiels 403 ; le bref acquis plus ancien est l'évaluation finale 2026. Le guide restant, l'évaluation et les exigences pratiques conservent leurs retenues enregistrées.
Prérequis : lisez les quantités et unités indiquées, utilisez l'arithmétique et les conditions du modèle ci-dessous. Chaque leçon développe sa propre méthode avant un transfert autonome.
Ce sont des exemples pédagogiques originaux ou explicitement fictifs, pas des mesures réelles ni des enquêtes évaluées achevées par des apprenants.
8.2
Types de données abstraits : un contrat d'opération
Qu'est-ce qui expliquerait cette observation ?
Une simulation de file d'attente nécessite le traitement du plus ancien élément en attente en premier. Une pile (stack) donne l'élément le plus récent en premier, c'est pourquoi la spécification des opérations est cruciale.
Commencez par une prédiction. Énoncez les quantités ou caractéristiques que vous compareriez, puis décidez quels éléments de preuve pourraient distinguer deux explications.
Construire le modèle
Un type de données abstrait (TDA) définit les valeurs et les opérations indépendamment d'une implémentation particulière. Une pile est « dernier entré, premier sorti » ; une file (queue) est « premier entré, premier sorti ». Une interface de collection doit définir un comportement explicite pour les cas vides et les opérations invalides.
pile : Type de données abstrait dernier entré, premier sorti (LIFO) ; file d'attente : Type de données abstrait premier entré, premier sorti (FIFO).
Choisir des preuves capables de le tester
Choisissez la structure adaptée au mode d'accès requis. La complexité dépend de l'implémentation et des hypothèses : retirer le premier élément d'un tableau décalé diffère de l'avancement d'un pointeur de tête dans une file.
Tracez manuellement les séquences d'opérations, puis comparez avec les états attendus par le programme. Testez les cas vides, à un seul élément et les opérations répétées. Décrivez le comportement en cas de débordement si la capacité est fixe.
Travailler à partir de quantités connues
Énoncez les valeurs connues et leurs unités. Choisissez la relation dont les hypothèses s'adaptent à ce cas, puis réarrangez-la avant de substituer les valeurs.
Connu : ajouter A, B et C en file, puis retirer deux éléments. A et B sont retirés ; C reste. Après avoir ajouté D, il y a deux éléments en attente : C puis D. Sur une pile, ces mêmes ajouts entraîneraient le retrait de C puis de B.
Exemple :
Une file d'attente commence vide, reçoit 7 éléments et en retire 4. Trouver le nombre restant. Utiliser la même séquence : quantités connues → modèle → relation → substitution → unité et interprétation.
Vérifier la conclusion et ses limites
Un TDA n'est pas une disposition mémoire spécifique. Une file ne trie pas par priorité à moins que sa spécification ne définisse explicitement une file à priorité.
Revenez à l'observation initiale. Expliquez ce que le résultat soutient, quelles conditions il suppose, et une manière de tester une explication concurrente.
Avertissement :
Chaque file d'attente trie automatiquement les éléments par priorité. Cette affirmation est fausse : Un TDA n'est pas une disposition mémoire spécifique. Une file d'attente ne trie pas par priorité sauf si son contrat définit une file à priorité.
Clé :
Types de données abstraites : une spécification des opérations : Choisissez la structure adaptée au mode d'accès requis. La complexité dépend de l'implémentation et des hypothèses : retirer le premier élément d'un tableau décalé diffère de l'avancement d'un pointeur de tête dans une file.
Trace exécutable et limite
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")
Sortie attendue :
A
B
['C']
EMPTY
Supprimer à gauche implémente FIFO. La garde explicite pour la liste vide définit le résultat limite ; deque.popleft sans cela provoquerait un IndexError. Une pile retire au lieu de droite.