Programme officiel
Contenus | Capacités attendues | Commentaires |
---|---|---|
Listes, piles, files : structures linéaires. Dictionnaires, index et clé. | Distinguer des structures par le jeu des méthodes qui les caractérisent. Choisir une structure de données adaptée à la situation à modéliser. Distinguer la recherche d’une valeur dans une liste et dans un dictionnaire. |
On distingue les modes FIFO(first in first out) et LIFO (last in first out) des piles et des files. |
Consignes
- Former 3 groupes.
- Pour résoudre ces challenges il faudra produire utiliser des piles ou des files.
- Chaque challenge peut rapporter 5 points.
- Une aide est disponible pour chaque challenge mais coûte 1,5 points.
- L’interface d’une liste chaînée propose les fonctionnalités pour utiliser la structure :
- vérifier si la liste est vide,
- renvoyer la taille de la liste,
- renvoyer l’élément de rang n,
- insérer un élément.

La programmation orientée objet est un choix d’implémentation possible. Il n’est pas unique.
class Maillon:
"""
Crée un maillon de la liste chaînée
"""
def __init__(self, val: int, suiv: object):
self.valeur = val
self.suivant = suiv
class Liste:
"""
Crée une liste chaînée
"""
def __init__(self):
# selt.tete référence un Maillon
self.tete = None
Les méthodes ajoutées à l’objet Liste implémenteront l’interface proposée.
class Liste:
"""
Crée une liste chaînée
"""
def __init__(self):
# selt.tete référence un Maillon
self.tete = None
def est_vide(self) -> bool:
return self.tete is None
def ajouter(self, val: int) -> None:
self.tete = Maillon(val, self.tete)