N.S.I. WorkSpace T-Th-A,Terminale A.3.2 – Type abstrait : Pile

A.3.2 – Type abstrait : Pile

Categories:

Exercice 4 – Implémentation d’un pile à hauteur limitée

On cherche à implémenter en programmation impérative une pile qui possède un nombre limité d’éléments.
On choisit de stocker la hauteur maximale de la pile d’une part, et les données de la pile d’autre part dans un tuple, un doublet très précisément.
La structure générale est la suivante :
>>> (hmax, data), avec data : (sommet, (data suivantes), avec le dernier tuple comme suit : (data, None).
Par exemple : pile = (10, (5, (7, (9, (3, None))))), pour une pile ayant une hauteur maximale de 10 éléments, ayant pour sommet l’entier 5, et ayant 4 entiers empilés.

Les fonctions primitives sont les suivantes :

  • Constructeur : pile = newPile(hmax, data)
  • Descripteurs :
    • estVide(pile)
    • hauteur(pile)
    • estPleine(pile)
    • getSommet(pile)
    • getHmax(pile)
    • affiche(pile)
  • Transformateurs :
    • empile(pile, data)
    • depile(pile)
    • setHmax(pile)

On rappelle ce qui suit concernant un tuple:

1 – Compléter le code contenu dans le fichier ‘modulePile.py’
[ téléchargement]

2 – Tester le code avec le programme principal figurant dans le fichier ‘mainPile.py’
[ téléchargement].

Les résultats attendus sont donnés ci-après.