ED n·8 Algorithmique et Programmation

Objectifs



Exercice

Evaluation d' expressions arithmétiques entières positives postfixées dont la syntaxe est définie par la grammaire suivante :

    <expression>::=<chiffre>|<expression><chiffre><op>|<chiffre><expression><op>|
               <expression><expression><op>
    <chiffre>::=0..9
    <op>::=+|-|*|/

Question 1

A partir d' expressions en notation infixe, les transformer en notation postifixée.
Evaluer de manière abstraite, après transformation en notation postfixée,  l'expression suivante : (45-(63/2))*(4+(56/3)).

Solution
 

Question 2

On souhaite écrire une fonction qui évalue une expression arithmétique postfixée.
On suppose que l'expression postfixée est enregistrée dans une liste. Les opérandes et les opérateurs sont représentés par les caractères : '0'..'9' , '+', '-', '*', '/'

Solution Solution

Question 3

Ecrire une procédure d'évaluation d'une expression postfixée qui prend une liste de symbole en entrée et calcule la valeur de l'expression.

Solution

Question 4

Ecrire un programme capable de lire une expression postfixée dans une liste puis de l'évaluer et d'afficher le résultat.

Solution