ajout de tous les cours et TP préparés cet été

This commit is contained in:
2026-01-17 23:10:49 +01:00
parent ed9415bc81
commit 301cf5a98f
125 changed files with 21614 additions and 542 deletions

View File

@@ -0,0 +1,181 @@
# Corrigé du TD Pile et File
---
## 1. Application de cours
### 1. 1. Pile
**État initial de la pile :**
```
5 ← sommet
4
3
2
1 ← fond
```
**Question 1** : État après `Depile(), Depile(), Empile(7), Empile(8), Depile()`
Exécution pas à pas :
| Opération | État de la pile | Élément retourné |
|-----------|-----------------|------------------|
| Initial | [1, 2, 3, 4, 5] | - |
| Depile() | [1, 2, 3, 4] | 5 |
| Depile() | [1, 2, 3] | 4 |
| Empile(7) | [1, 2, 3, 7] | - |
| Empile(8) | [1, 2, 3, 7, 8] | - |
| Depile() | [1, 2, 3, 7] | 8 |
**État final :**
```
7 ← sommet
3
2
1 ← fond
```
**`top()` renvoie : 7**
---
**Question 2** : Pour que `Est_vide()` soit vrai, il faut dépiler tous les éléments.
```
Depile() → renvoie 5
Depile() → renvoie 4
Depile() → renvoie 3
Depile() → renvoie 2
Depile() → renvoie 1
Est_vide() → True
```
**Réponse : 5 appels à Depile()**
---
**Question 3** : Créer une pile contenant 19982018 (1 en bas de pile)
La pile doit ressembler à :
```
8 ← sommet
1
0
2
8
9
9
1 ← fond
```
**Séquence de méthodes :**
```
Empile(1)
Empile(9)
Empile(9)
Empile(8)
Empile(2)
Empile(0)
Empile(1)
Empile(8)
```
---
### 1. 2. File
**État initial de la file :**
```
Entrée → 5 | 4 | 3 | 2 | 1 → Sortie
↑ ↑
queue tête
```
**Question 1** : État après `Defile(), Defile(), Enfile(7), Enfile(8), Defile()`
Exécution pas à pas :
| Opération | État de la file | Élément retourné |
|-----------|-----------------|------------------|
| Initial | [5, 4, 3, 2, 1] | - |
| Defile() | [5, 4, 3, 2] | 1 |
| Defile() | [5, 4, 3] | 2 |
| Enfile(7) | [7, 5, 4, 3] | - |
| Enfile(8) | [8, 7, 5, 4, 3] | - |
| Defile() | [8, 7, 5, 4] | 3 |
**État final :**
```
Entrée → 8 | 7 | 5 | 4 → Sortie
```
**`top()` renvoie : 4** (élément en tête, prêt à sortir)
---
**Question 2** : Pour que `Est_vide()` soit vrai, il faut défiler tous les éléments.
```
Defile() → renvoie 1
Defile() → renvoie 2
Defile() → renvoie 3
Defile() → renvoie 4
Defile() → renvoie 5
Est_vide() → True
```
**Réponse : 5 appels à Defile()**
---
**Question 3** : Créer une file contenant 19982018 (1 en tête de file)
La file doit ressembler à :
```
Entrée → 8 | 1 | 0 | 2 | 8 | 9 | 9 | 1 → Sortie
tête
```
Pour que 1 soit en tête (premier à sortir), il faut l'enfiler en premier :
**Séquence de méthodes :**
```
Enfile(1)
Enfile(9)
Enfile(9)
Enfile(8)
Enfile(2)
Enfile(0)
Enfile(1)
Enfile(8)
```
---
## Tableau récapitulatif
| Structure | Principe | Ajout | Retrait | Accès |
|-----------|----------|-------|---------|-------|
| **Pile** | LIFO (Last In First Out) | Empile (sommet) | Depile (sommet) | Top (sommet) |
| **File** | FIFO (First In First Out) | Enfile (queue) | Defile (tête) | Top (tête) |
---
## Analogies pour mémoriser
| Structure | Analogie | Explication |
|-----------|----------|-------------|
| **Pile** | Pile d'assiettes | On pose et on prend toujours par le dessus |
| **File** | File d'attente | Le premier arrivé est le premier servi |
| **Pile** | Historique du navigateur | Le bouton "retour" revient à la page précédente (la dernière visitée) |
| **File** | Imprimante | Les documents sont imprimés dans l'ordre d'envoi |
---
Auteurs : Florian Mathieu, Enzo Frémeaux, Thimothée Decooster
Licence CC BY NC
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="Licence Creative Commons" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" /></a> <br />Ce cours est mis à disposition selon les termes de la <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">Licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International</a>.

View File

@@ -15,8 +15,8 @@ Le but du TD est de manipuler des piles et des files sans avoir d'implémentatio
1. Quel sera l'état de la pile après l'utilisation des méthodes suivantes :
- Depile(), Depile(), Empile(7), Empile(8),Depile()
- Que renvoie la méthode top() ?
2. Reprenons la pile de l'image, que faut t'il faire comme méthode pour que Est_vide() soit vrai ?
3. En partant de 0 écrire les méthodes permettant de créer une pile contenant les numéros dans cette ordre 19982018. (1 est en bas de pile)
2. Reprenons la pile de l'image, que faut-il faire comme méthode pour que Est_vide() soit vrai ?
3. En partant de 0, écrire les méthodes permettant de créer une pile contenant les numéros dans cet ordre : 19982018. (1 est en bas de pile)
### 1. 2. File
@@ -27,5 +27,13 @@ Le but du TD est de manipuler des piles et des files sans avoir d'implémentatio
1. Quel sera l'état de la file après l'utilisation des méthodes suivantes :
- Defile(), Defile(), Enfile(7), Enfile(8),Defile()
- Que renvoie la méthode top() ?
2. Reprenons la file de l'image, que faut t'il faire comme méthode pour que Est_vide() soit vrai ?
3. En partant de 0 écrire les méthodes permettant de créer une file contenant les numéros dans cette ordre 19982018. (1 est en haut de pile)
2. Reprenons la file de l'image, que faut-il faire comme méthode pour que Est_vide() soit vrai ?
3. En partant de 0, écrire les méthodes permettant de créer une file contenant les numéros dans cet ordre : 19982018. (1 est en tête de file)
---
Auteurs : Florian Mathieu, Enzo Frémeaux, Thimothée Decooster
Licence CC BY NC
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="Licence Creative Commons" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" /></a> <br />Ce cours est mis à disposition selon les termes de la <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">Licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International</a>.