mirror of
https://github.com/Fare-spec/cours.git
synced 2025-12-08 03:00:37 +00:00
70 lines
2.9 KiB
Markdown
70 lines
2.9 KiB
Markdown
# Devoir Maison : Gestion de Piles et Notation Polonaise Inverse
|
|
|
|
Ce devoir présente des fonctions pour manipuler des piles et évaluer des expressions en notation polonaise inverse (NPI).
|
|
|
|
## Prérequis
|
|
|
|
Pour exécuter ce devoir, vous aurez besoin de :
|
|
|
|
- [Python 3.x](https://www.python.org/downloads/) installé sur votre machine.
|
|
|
|
### Installation de Python
|
|
|
|
1. **Téléchargez Python** : Allez sur le [site officiel de Python](https://www.python.org/downloads/) et téléchargez la dernière version stable pour votre système d'exploitation.
|
|
|
|
2. **Installez Python** : Suivez les instructions d'installation. Assurez-vous de cocher l'option "Add Python to PATH" lors de l'installation sur Windows.
|
|
|
|
3. **Vérifiez l'installation** : Ouvrez votre terminal ou votre invite de commande et exécutez la commande suivante :
|
|
```bash
|
|
python --version
|
|
```
|
|
Cela devrait afficher la version de Python installée.
|
|
|
|
## Utilisation des Modules
|
|
|
|
### Modules Fournis
|
|
|
|
Le devoir contient les modules suivants :
|
|
|
|
- `LSC` : Implémentation d'une liste simplement chaînée.
|
|
- `Pile_LSC` : Implémentation d'une pile utilisant une liste simplement chaînée.
|
|
- `Tuple` : Implémentation d'une pile utilisant un tuple.
|
|
- `Liste` : Implémentation d'une pile utilisant une liste.
|
|
|
|
#### Primitives du Module `LSC`
|
|
|
|
- `creer_liste_vide()`: Crée une liste vide.
|
|
- `est_vide(liste)`: Vérifie si la liste est vide.
|
|
- `ajouter_en_tete(liste, element)`: Ajoute un élément au début de la liste.
|
|
- `queue(liste)`: Retire le premier élément de la liste.
|
|
- `tete(liste)`: Renvoie le premier élément de la liste.
|
|
|
|
#### Primitives du Module `Pile_LSC`
|
|
|
|
- `creer_pile_vide()`: Crée une pile vide sous forme de liste simplement chaînée.
|
|
- `est_pile_vide(pile)`: Vérifie si la pile est vide.
|
|
- `sommet(pile)`: Renvoie l'élément au sommet de la pile.
|
|
- `empiler(pile, element)`: Ajoute un élément au sommet de la pile.
|
|
- `depiler(pile)`: Retire l'élément au sommet de la pile.
|
|
|
|
## Fichier `test.py`
|
|
|
|
Le fichier `test.py` contient des exemples d'utilisation des fonctionnalités de gestion de piles et d'évaluation en notation polonaise inverse.
|
|
|
|
### Fonctions dans `test.py`
|
|
|
|
- **Afficher une pile** : Affiche les éléments d'une pile du sommet à la base.
|
|
- **Copier une pile** : Crée une copie d'une pile donnée.
|
|
- **Hauteur de la pile** : Renvoie la hauteur de la pile.
|
|
- **Inverser des éléments** : Inverse les `j` derniers éléments de la pile.
|
|
- **Trouver le maximum** : Renvoie la position du maximum parmi les `i` derniers éléments de la pile.
|
|
- **Tri des crêpes** : Trie les éléments de la pile en utilisant la méthode des crêpes.
|
|
- **Évaluation NPI** : Évalue une expression arithmétique en notation polonaise inverse.
|
|
|
|
### Exécution de `test.py`
|
|
|
|
Pour exécuter le script, ouvrez votre terminal, naviguez vers le dossier contenant le fichier `test.py`, puis exécutez la commande suivante :
|
|
|
|
```bash
|
|
python test.py
|