Aller au contenu

TP - File avec deux Piles

Téléchargez le module TAD_Piles.py qui contient une implémentation orientée objet de Pile et placez ce module dans le dossier [A03-Structures_Lineaires].

On récapitule les instructions à votre disposition dans le tableau ci-dessous :

Méthode/Opérations Description
P = Pile() Initialisation d'une pile vide.
P.est_vide() Renvoie True si la pile est vide, False sinon.
P.empiler(elt) Empile un nouvel élément au sommet de la pile.
elt = P.depiler() Lorsque la pile n'est pas vide, supprime le sommet de la pile
et renvoie la valeur de ce sommet.

On ajoute une méthode de conversion de Pile en chaîne de caractères (fonction str()).

Exemple d'affichage
>>> P = Pile()
>>> for i in range(5):
...     P.empiler(i)
>>> P 
4
3
2
1
0

TPA03.21

Ce TP a pour but de vous faire programmer, en POO, une structure de File en utilisant uniquement les méthodes proposées dans l'interface du module TAD_Piles.py.

Téléchargez puis complétez le fichier « à trous » TPA03.21.py (clic droit -> [Enregistrer sous]).

Vous ferez les tests de vérification nécessaires en ajoutant une méthode d'affichage des files (en ligne).

Exemple d'affichage

>>> F = File()
>>> for i in range(5):
...     F.enfiler(i)
>>> F 
4 -> 3 -> 2 -> 1 -> 0
Exemple de tests
>>> F = File()
>>> for i in range(5):
...     F.enfiler(i)
>>> F 
4 -> 3 -> 2 -> 1 -> 0
>>> F.defiler()
0
>>> F 
4 -> 3 -> 2 -> 1
>>> F.enfiler(5)
>>> F 
5 -> 4 -> 3 -> 2 -> 1
>>> while not F.est_vide():
...     F.defiler()
...     print(F)
...     print(F.est_vide())
5 -> 4 -> 3 -> 2
False
5 -> 4 -> 3
False
5 -> 4
False
5
False

True
Rappel des méthodes « de base » pour les files

Méthode/Opérations Description
F = File() Initialisation d'une file vide.
F.est_vide() Renvoie True si la file est vide, False sinon.
F.enfiler(elt) Enfile un nouvel élément en queue de la file.
elt = F.defiler() Lorsque la file n'est pas vide, supprime le premier élément de la file
et renvoie la valeur de cet élément.

Une piste

La classe File est munie de deux attributs, chacun d'entre eux étant une Pile, nommés par exemple debut et fin.