begin process at 2012 02 12 04:39:08
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths

 > EVALUATION D'EXPRESSION MATHÉMATIQUE

EVALUATION D'EXPRESSION MATHÉMATIQUE


 Information sur la source

Note :
8 / 10 - par 2 personnes
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Maths Niveau :Débutant Date de création :01/09/2003 Date de mise à jour :06/03/2004 00:49:39 Vu / téléchargé :5 221 / 503

Auteur : crenaud76

Ecrire un message privé
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

 Description

Ce projet exploite des classes VB que j'ai développées pour évaluer des expressions mathématiques.
Je tiens tout de suite à préciser que l'algorithme utilisé est un algorithme linéaire et non récursif.
Premièrement, parce que les algorithmes linéaires sont souvent beaucoup plus rapide que l'équivalent récursif.
Deuxièmement, parce qu'il sont parfois plus complexe -et c'est le cas içi- à mettre en forme, donc plus fun à coder

Bref, avec cela, vous pourrez tout évaluer, ou presque ! Les opérateurs de bases sont bien sûr gérés : +, -, /, *, \ (division entière) et % (modulo), ainsi que de nombreuses fonctions mathématique : cos, sin, tan, atn, fix, int, ...
Allez voir dans le code de la clase 'Expr', la constante 'FunctionNames' regroupe tous les noms de fonctions gérés.
Je penses avoir traiter tous les cas d'erreur possible et n'ai trouvé aucun bug pour le moment (sauf la précision du type Double de VB, mais j'y travaille)


 Conclusion

J'ai mis un petit fichier texte dans le zip qui explique l'algo utilisé.

Si vous avez des questions ou des remarques, n'hésitez pas.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture LILO : NOUVEAU LANGAGE DE PROGRAMMATION
FONCTIONS RÉSEAU DE BASE
Source avec Zip WMI BROWSER : UTILISATION DES CLASSES WMI
Source avec Zip SUPEROPTION
Source avec Zip EVALUER UNE EXPRESSION MATHÉMATIQUE

 Sources de la même categorie

Source avec Zip Source avec une capture CONVERTISSEUR HEXAVIGÉSIMAL par shaeks
Source avec Zip Source avec une capture Source .NET (Dotnet) CRYPTOGRAPHIE AFFINE par Tigrou66
Source avec Zip Source avec une capture SCANNER FLEX par lajouad
Source avec Zip EQUATIONSECONDDEGRÉ,MATH,DEGRÉ par shadkitenge
Source avec Zip Source .NET (Dotnet) SOMME DE CHIFFRES CONTENUE DANS UN NOMBRE par alpha5

Commentaires et avis

Commentaire de crenaud76 le 02/09/2003 11:08:36

Ben alors !!! Jamais vous laisser de commentaire sur les Sources que vous ouvrez !!!!

Crenaud76

Commentaire de carlvb le 02/09/2003 15:38:01

Bravo,
Tu as codé un évaluateur d'expression linéaire qui marche correctement.
Pour ce qui est de la complexité d'un tel modèle (par rapport au modèle récursif) , je suis tout à fait d'accord avec toi vu que moi aussi j'en ai déja fait un (source 8750).
Mais pour la rapidité, je suis un peu sceptique car avec ce modèle tu parcours plusieurs fois l'expression en essayant de la simplifier à chaque passage. Alors qu'avec le modèle récursif, une fois que l'arbre représentant l'expression a été construit, il suffit d'un seul parcours récursif pour obtenir le résultat.
Mais je tiens à te dire que tu as codé une bon programme.

Commentaire de Olilefou le 02/09/2003 20:42:28

Va voir là :
http://www.vbfrance.com/article.aspx?Val=3728
c'est simple et efficace.
Bye

Commentaire de stefb28 le 03/09/2003 20:29:51

la prise en compte du - unaire est incomplete
-1+2 marche mais -cos(0) ne marche pas !

Commentaire de addamsmercredi le 15/11/2006 12:08:29

L'algorithme utilisé ici n'est pas linéaire mais récursif. En effet la fonction Term appelle Expression qui appelle elle-même Term. C'est de la récursion croisée donc c'est récursif.

Ensuite, ça évalue toujours en partant de la droite sans tenir compte des priorités.
Exemple : 5*2+2 donne 20 au lieu de 12 !

Commentaire de Jy_Die le 06/03/2007 21:42:38

J'ai vraiement aimé, je l'ai testé dans beaucoup de situations diverses et il fonctionne très bien. Tien compte des priotés avec les paranthèses. Je vais l'utiliser dans mon programme de calcule des surfaces et volumes.

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales