Evaluation d'une expression

Fermé
Onigiri_711 Messages postés 1 Date d'inscription jeudi 11 février 2021 Statut Membre Dernière intervention 11 février 2021 - Modifié le 11 févr. 2021 à 19:43
Whismeril Messages postés 18279 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 mars 2023 - 11 févr. 2021 à 19:47
Bonsoir tous le monde! j'espère que vous allez bien!
Tout court j'ai besoin d'aide a propos d'un mini-projet considéré comme examen TP, j'arrive pas a terminer ni a avoir la solution exacte...
veuillez m'aidez s'il vous plais..
Alors voici l'énoncé


On veut évaluer une expression arithmétique introduite par un utilisateur en utilisant les algorithmes vus en cours sur les piles. On vous demande :
1. Récupérer dans un tableau T les opérandes, les opérateurs et les parenthèses de l’expression arithmétique à partir d’une chaîne de caractère introduite par un utilisateur.
Exemple : ch= ( -8 + ( 15.5 * -2 / -5 ) – 3.4) on aura le tableau suivant :
( -8 + ( 15.5 * -2 / -5 ) - 3.4 )

2. Introduire un module de vérification des parenthèses. Vérifier si les parenthèses sont bien structurées ou non.
• 8 + ( 5 * 2 / 5 ) ) – 3 faux problème de nombre de parenthèses
• 8 + )) 5 * 2 / 5 (( – 3 faux problème de positionnement des parenthèses
• 8 + ) 5 * 2 / 5 ) – 3 faux problème de positionnement des parenthèses
• 8 + ( 5 * 2 / 5 ( – 3 faux
• 8 + ( 5 * 2 / 5 – 3 faux
3. Utiliser l’algorithme vu en cours pour transformer une expression infixée en une forme intermédiaire : postfixée.
4. Utiliser la forme postfixée pour évaluer l’expression introduite par l’utilisateur.

Remarque :
• On accepte uniquement les symboles suivant dans la chaîne introduite par l’utilisateur :
Les opérandes: les entiers signés ou non (-39, 100, -2, 23, 12, 45,…)
les réels signés ou non (-39.34, 0.678, 2.0, 2.03, -12.1, 45.5,…)
Les opérateurs: - + / * %
Les parenthèses : ( )
Les Blanc :
• On utilise le point ‘.’ pour les nombres réels

1 réponse

Whismeril Messages postés 18279 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 mars 2023 888
11 févr. 2021 à 19:47
0