Une classe permettant de calculer une formule du type "(x^2+x-6)/2^6"

Soyez le premier à donner votre avis sur cette source.

Vue 11 620 fois - Téléchargée 566 fois

Description

Les commentaires dans le code sont, je l'éspère assez clairs pour vous permettre de comprendre comment il fonctionne.

-Que sait-il faire?
-Evaluer des formules du type "2X+6/2" ou encore "6-sin(pi/4)+13^4"

-Quels opérateurs sont suportés?
-Les puissances "^", les multiplications "*", les divisions "/", les additions "+" et les soustractions "-"

-Quels types de valeurs sont supportés?
-Les nombres utilisables sont du type System.Double (nombres a virgules), mais vous pouvez egallement mettre un X qui serra remplacé par la valeur définie préalablement. Les constantes "e" et "pi" sont égallement supportées.

-Peut on utiliser des paranthèses?
-Oui, bien sur

-Les fonctions mathématiques standart sont elles supportées?
-Certaines fonctions, principalement des fonctions de trigo sont supportées. Prochainement j'ajoutterai les fonctions a arguments multiples.

Conclusion :


Vous êtes libres d'utiliser mon code comme il vous plaira, mais je vous serrai reconaissant de mentioner mon nom,

Wormkey

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

mmerabti
Messages postés
7
Date d'inscription
mercredi 17 mars 2004
Statut
Membre
Dernière intervention
9 novembre 2007
-
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.
cs_darktoto
Messages postés
14
Date d'inscription
jeudi 20 novembre 2003
Statut
Membre
Dernière intervention
29 août 2006
-
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.
cs_eldim
Messages postés
961
Date d'inscription
lundi 30 mai 2005
Statut
Membre
Dernière intervention
21 août 2014
-
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...
WormkeyP
Messages postés
20
Date d'inscription
samedi 10 janvier 2004
Statut
Membre
Dernière intervention
30 septembre 2010
-
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
961
Date d'inscription
lundi 30 mai 2005
Statut
Membre
Dernière intervention
21 août 2014
-
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.