|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Shinichi OnimaruÉtudiant Inscription : mars 2010 Messages : 215 ![]() |
Salut à tous.
J'ai fait un algorithme pour convertir une expression infixée en postfixée. Les symboles autorisés : 1) Les parenthèses 2) Les nombres réels 3) Les constantes : Pi 4) Les fonctions : abs, sqrt, ln, exp, sin, cos 5) Les opérateurs : ^, *, /, +, - (unaire et binaire) Quelle priorité dois-je donner aux fonctions et opérateurs pour trouver la bonne conversion ? |
|
|
00
|
|
|
#2 |
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 419 ![]() |
En informatique, l'usage veut qu'on prenne l'ordre des priorités du C/C++.
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|
00
|
|
|
#3 | |
|
Membre du Club
![]() Shinichi OnimaruÉtudiant Inscription : mars 2010 Messages : 215 ![]() |
Citation:
ont ils la même priorité??? et où mettre les fonctions ??? |
|
|
|
00
|
|
|
#4 | |
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 419 ![]() |
Citation:
Les opérateurs unaires sont de priorité 3. L'opérateur puissance n'existe pas en C, mais on peut considérer qu'il est juste avant la multiplication => priorité 5. Ca nous donne dans l'ordre de precedence:
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|
|
10
|
|
|
#5 |
|
Membre du Club
![]() Shinichi OnimaruÉtudiant Inscription : mars 2010 Messages : 215 ![]() |
Juste pour savoir : combien vaut -2^2 ???
|
|
|
00
|
|
|
#6 | |
|
Membre du Club
![]() Shinichi OnimaruÉtudiant Inscription : mars 2010 Messages : 215 ![]() |
Citation:
1) - unaire 2) fonctions 3) ^ 4) *, / 5) +, - |
|
|
|
00
|
|
|
#7 |
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 419 ![]() |
-2^2 --> (-2)^2 --> ((-2))^(2)
donc 4
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|
00
|
|
|
#8 |
|
Membre du Club
![]() Shinichi OnimaruÉtudiant Inscription : mars 2010 Messages : 215 ![]() |
|
|
|
00
|
|
|
#9 | |
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 419 ![]() |
Citation:
L'opérateur "puissance" sur le terme de gauche -> priorité avant le unaire L'opérateur "puissance" sur le terme de droite -> priorité après le unaire -2^-2 --> -(2)^(-2) --> -((2)^(-2)) = -0.25
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|
|
10
|
|
|
#10 | |
|
Membre du Club
![]() Shinichi OnimaruÉtudiant Inscription : mars 2010 Messages : 215 ![]() |
Citation:
Donc dans le processus de conversion infixée -> postfixée utilisant la pile, on suppose que le '^' est prioritaire sur le '-' unaire, mais dès qu'on trouve un '-' il faut l'empiler, c'est ça ??? |
|
|
|
00
|
|
|
#11 |
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 419 ![]() |
Hum... je dirais qu'on a le droit d'empiler un "^" sur un "- unaire", et réciproquement. Mais bon, je ne suis pas un expert de ce genre de choses.
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|
00
|
|
|
#12 |
|
Membre du Club
![]() Shinichi OnimaruÉtudiant Inscription : mars 2010 Messages : 215 ![]() |
Merci, j'ai essayé d'empiler le "- unaire" dès qu'il se présente tout en donnant une plus grande priorité au '^' et ça a marché.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com