Calculatrice d'expression mathématique

Soyez le premier à donner votre avis sur cette source.

Vue 10 806 fois - Téléchargée 772 fois

Description

Les deux fichiers .as contiennent les objets permettant le passage d'une expression mathématique classique (infixée) par ex 3*(4+5) en notation polonaise inversée 3 4 5 + * plus facile à évaluer en programmation et qui n'est pas ambigue (contrairement aux apparences) car par ex, l'addition a 2 opérandes qui sont donc forcément 4 et 5
Après ce passage en polonaise inversée, l'expression est calculée dans ce source
Le fichier fla est une interface sommaire permettant de tester les calculs
Le tout est compatible en as2, mais ne devrait pas être trop difficile à faire évoluer en as3
Les objets comprennent un certain nombre de fonctions et des expressions comme :
5 + (3 * 4^5) ou 5 - 2* exp(-3) ou asin(0.5)(en radians) sont reconnues et calculées

Source / Exemple :


Il s'agit d'une transcription partielle d'un source en Delphi pris sur http://www.delphifr.com//code.aspx?ID=45846
Ce source semble d'ailleurs une adaptation réussie d'un source de la défunte revue Pascalissime
J'ai pas mal d'expérience en delphi et pascal mais je suis un néophyte en actionscript
C'est donc pour progresser en actionscript que j'ai fait cette transcription
Le source des objets est assez long (+ de 500 lignes) et technique mais j'ai essayé de le commenter correctement
Enfin je n'ai pas eu le temps et le besoin d'implémenter la partie "constante" qui permet de calculer des f(x) par ex, mais il reste des traces dans le source

Conclusion :


Pour les experts en as, désolé pour les maladresses (par ex, de nombreux return sont inutiles) mais je compte sur vos conseils pour progresser

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
1
Date d'inscription
dimanche 9 décembre 2007
Statut
Membre
Dernière intervention
29 juillet 2009

Bonjour
un grand merci à tout ceux qui ont travaillé sur ce code.
Ca ma super bien servi.
Messages postés
337
Date d'inscription
vendredi 15 octobre 2004
Statut
Membre
Dernière intervention
2 novembre 2010

version beta sur la page :
http://www.flashapi.org/spas3.html
(version finale quand j'aurrais le temps)

>> gestion d'erreurs:
on peu maintenant changer la langue.
j'ai pas fini l'implémentation des erreurs, et y'a qq petits trucs à revoir (il me semble que la puissance d'un nombre fractionnaire négatif existe!)
Messages postés
337
Date d'inscription
vendredi 15 octobre 2004
Statut
Membre
Dernière intervention
2 novembre 2010

preview:
http://www.flashapi.org/temp/RPN.zip

je dois finir checkExp, et l'idée d'avoir la boucle pour tokenizer et l'algorythme de la npi séparés ne me convient pas. je pense qu'on doit pouvoir les combiner.
enfin, la gestoin des erreurs est différente, mais encore dans ma tête ;)

note: il semble que Stingg.indexof soit 100 fois plus rapide que les regexp. ! ! ? ?
Messages postés
1158
Date d'inscription
vendredi 21 février 2003
Statut
Membre
Dernière intervention
6 août 2010

J'ai hate de lire, corriger, apprécier et applaudir !
Messages postés
337
Date d'inscription
vendredi 15 octobre 2004
Statut
Membre
Dernière intervention
2 novembre 2010

c'est pas vraiment la bonne structure.
du coup j'ai codé la totalité (plus simple de le faire que de l'expliquer)
j'ai juste 1 ou 2 truc à corriger, et je poste le lien.
Afficher les 18 commentaires

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.