nsi:terminales:structures:pile_abstraite
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| nsi:terminales:structures:pile_abstraite [2022/08/28 18:45] – supprimée - modification externe (Unknown date) 127.0.0.1 | nsi:terminales:structures:pile_abstraite [2022/09/20 11:13] (Version actuelle) – [Interface] goupillwiki | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | ====== Piles ====== | ||
| + | {{ .: | ||
| + | |||
| + | Une pile est une sorte de [[nsi: | ||
| + | |||
| + | On pourra adopter la même notation que pour les listes. Par exemple, '' | ||
| + | |||
| + | ===== LIFO ===== | ||
| + | |||
| + | {{ .: | ||
| + | |||
| + | Il faut penser à une pile d' | ||
| + | |||
| + | * Quand on ajoute une assiette, on la met forcément sur le dessus. | ||
| + | * Quand on retire une assiette, on retire forcément celle du dessus. | ||
| + | |||
| + | Donc, quand on retire un élément, c'est toujours le dernier à avoir été ajouté. | ||
| + | |||
| + | On parle de **LIFO = Last In First Out**, c'est à dire Dernier entré, premier sorti. | ||
| + | |||
| + | > Retenez bien : Dans 3:85:17:9, 9 est le dernier inséré, c'est donc le dessus de la pile. | ||
| + | |||
| + | ===== Interface ===== | ||
| + | |||
| + | ^ Méthode | ||
| + | | CREER_PILE_VIDE() | ||
| + | | EST_VIDE(P) | ||
| + | | EMPILER(P, e) | Ajoute l' | ||
| + | | DEPILER(P) | ||
| + | |||
| + | === Taille maximale ? === | ||
| + | |||
| + | Pour une pile c'est surtout le mode d' | ||
| + | |||
| + | Dans ce cas, on a dans l' | ||
| + | |||
| + | ^ Méthode | ||
| + | | CREER_PILE_VIDE(taille) | ||
| + | | EST_PLEINE(P) | ||
| + | | EMPILER(P, e) | Ajoute l' | ||
| + | |||
| + | ===== Exercices ===== | ||
| + | |||
| + | ==== Exercice 1 ==== | ||
| + | |||
| + | Donner la pile P obtenue après exécution des lignes suivantes (dans les deux cas) : | ||
| + | |||
| + | <WRAP group> | ||
| + | <WRAP half column> | ||
| + | <code lang-none linenums> | ||
| + | P = CREER_PILE_VIDE() | ||
| + | EMPILER(P, ' | ||
| + | EMPILER(P, ' | ||
| + | EMPILER(P, ' | ||
| + | DEPILER(P) | ||
| + | EMPILER(P, ' | ||
| + | </ | ||
| + | </ | ||
| + | <WRAP half column> | ||
| + | <code lang-none linenums> | ||
| + | Q = CREER_PILE_VIDE() | ||
| + | EMPILER(Q, 51) | ||
| + | EMPILER(Q, 3) | ||
| + | P = CREER_PILE_VIDE() | ||
| + | EMPILER(P, DEPILER(Q)) | ||
| + | EMPILER(P, 17) | ||
| + | EMPILER(P, DEPILER(Q)) | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ==== Exercice 2 ==== | ||
| + | |||
| + | On veut connaître le nombre d' | ||
| + | |||
| + | L' | ||
| + | |||
| + | Écrire une fonction '' | ||
| + | |||
| + | > Écrivez la fonction en syntaxe Python. | ||
