Hey all ! ^^
Voila mon net est revenu je peux enfin le mettre je l'ai pri par ordi autant en faire partager tt le monde ^^Enjoy naab !
![Razz](https://2img.net/i/fa/i/smiles/icon_razz.gif)
TD1 Les piles• Stocker et récuperer des données dans l’ordre inverse de leur insertion LIFO : Last in, First Out
Exemple : • Appels de fonctions en programmation modulaire
• « Machines à pile » : évalutation d’expression arithmétique
Pile : Ensemble ordonné selon l’ordre d’insertion. Comment représenter cet ensemble (ce concept de pile) en prog.
En C : Tableau / Liste chaînée
Expressions arithmétiques :• Expression infixée : ((2+3)x(6-2))
• Expression post fixée (opérateur après ses opérandes) : 2 3 + 6 2 – x
Enoncé : 1. Comment transformer une expression infixée (completement parenthésée) en expression post fixée ?
2. A l’aide d’une pile, évaluez l’expression post fixée 5 11 9 + 2 12 x - 8 / x
3. Puis à l’aide d’une autre pile, transformez l’expression post fixée et son expression infixée.
4. Analyse descendante détaillée -> algo
5. Faire tourner a la main
Hypothèses :1. Les opérandes sont des chiffres entre 0 et 9
2. Les opérandes sont des nbrs entiers quelconques
Réponses :1. Hyp 1/ : AD
a. Lire l’expression infixée, la stocker dans une chaine de caractere
b. Transformation :
i. On parcours la chaine caractere par caractere.
ii. Si c’est un chiffre (opérande), on le copie dans la nouvelle chaine
iii. Si c’est un opérateur on empile
iv. Si c’est une paranthèse fermante, on dépile le dernier opérateur empilé et on le copie dans la chaine.
2. Evaluation d’une expression postfixée :
a. Transformation :
i. On parcours la chaine caractere par caractere
ii. Si c’est un chiffre on empile
iii. Si c’est un opérateur on dépile les deux derniers, on applique l’opérateur (2° dépilé Opérateur 1° dépilé). On rempile ensuite le résultat de l’opération.