UNE CLASSE PERMETTANT DE CALCULER UNE FORMULE DU TYPE "(X^2+X-6)/2^6"

mmerabti Messages postés 7 Date d'inscription mercredi 17 mars 2004 Statut Membre Dernière intervention 9 novembre 2007 - 14 sept. 2005 à 11:17
garnier54 Messages postés 158 Date d'inscription mardi 17 janvier 2006 Statut Membre Dernière intervention 9 décembre 2018 - 24 oct. 2017 à 10:20
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/30764-une-classe-permettant-de-calculer-une-formule-du-type-x-2-x-6-2-6

garnier54 Messages postés 158 Date d'inscription mardi 17 janvier 2006 Statut Membre Dernière intervention 9 décembre 2018
24 oct. 2017 à 10:20
bonjour,
merci pour ce source c est exactement ce que je recherche
existe t il une version plus récente ? car le source date de 2005 et j 'ai trouve des petites erreurs
ex les nombres négatif ne marchent pas, ou si deux parenthèses se suivent
ex ((2+5)*2)
merci
WormkeyP Messages postés 20 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 30 septembre 2010
30 sept. 2010 à 23:13
Non je ne prévois pas de maintenir ce code source. Si j'avais besoin de cette fonctionalité je repartirais de zéro de toute façon.
cs_eldim Messages postés 956 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 21 août 2014 1
30 sept. 2010 à 16:45
Salut,
Désolé ça fait longtemps, mais as-tu une mise à jour de ce source ? c'est le plus rapide que je connaisse pour l'exécution d'une série de calculs. les parser c# sont dix fois plus lent... sans parler des compilations dynamiques... c'est pire
WormkeyP Messages postés 20 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 30 septembre 2010
2 avril 2007 à 09:44
Bon ça fait vraiment longtemps que j'ai écrit ce code, mais ça doit être lié au fait que j'ai uniquement implémenté le "-" comme un opérateur binaire et que le "-" unaire n'est pas implémenté.

Je viens de voir aussi que je ne réspectais pas encore les conventions de nommage des fonction a l'époque :-S
cs_eldim Messages postés 956 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 21 août 2014 1
2 avril 2007 à 07:53
merci renfield, non ça ne change rien en mettant un point... je pense plutot aux chiffres négatifs sans parenthèse... mais qu'en pense l'auteur du source ?
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
30 mars 2007 à 16:46
pas un soucis avec 9,6 (au lieu de 9.6) ?
cs_eldim Messages postés 956 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 21 août 2014 1
30 mars 2007 à 16:42
Bonjour,
j'ai un problème avec cette class, le nombre suivant la fait planter :
(4/3)*-9,6+(4/3)*(1/2)*-6,3+(4/3)*0,5+(4/3)*0
...
sur le return memo[Convert.ToInt32(name.Substring(4))]
car il y a deux mémos dans la même chaine...
peux-tu me donner un coup de pouce ?
cs_eldim Messages postés 956 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 21 août 2014 1
17 nov. 2006 à 12:08
pas grave ton code est simple et bien commenté je l'ai modifié pour moi il suffit d'inverser quelques lignes

en tout cas c'est très util, merci pour ce code
WormkeyP Messages postés 20 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 30 septembre 2010
16 nov. 2006 à 19:20
Bonjour ELDIM,
J'ai effectivement attribué une priorité supérieure a l'opérateur "*". Pourquoi j'ai fait çela? Pour la bonne raison que j'étais persuadé que c'est la bonne manière de faire. Peut être que je reviendrai corriger cette source un jour ou l'autre quand j'en aurrai le temps... ou peut être pas. Il y a tellement de problèmes interessants a résoudre que c'est parfois dommage de s'attarder sur des détails.
cs_eldim Messages postés 956 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 21 août 2014 1
16 nov. 2006 à 18:06
Bonjour,

Class intéressante
mais ne fonctionne pas bien chez moi...
exemple : 5+6/2*2 devrait me retourner 11 or il me retourne 6,5 car la priorité entre la division et la multiplication n'est pas gérée...
cs_darktoto Messages postés 14 Date d'inscription jeudi 20 novembre 2003 Statut Membre Dernière intervention 29 août 2006
15 oct. 2005 à 20:40
Salut, je cherchais justement quelque chose de ce genre. Tu n'as que très peu utilisé la théorie des langages dans ta source, ce qui je trouve la rend moins complexe. Si tu ne connais pas la théorie des langages, je suis sûr que cela te plairais : elle permet entre autre de réaliser un analyseur syntaxique et grammatical en trois coups de cuillère à pot.
mmerabti Messages postés 7 Date d'inscription mercredi 17 mars 2004 Statut Membre Dernière intervention 9 novembre 2007
14 sept. 2005 à 11:17
Interessant , fournit des pistes de solutions sans pour autant être trop complexe.
Simple à améliorer et à adapter pour résoudre des opérations formulaires plus complètes.
Rejoignez-nous