Definition de fonction pendant l'execution

progueur Messages postés 7 Date d'inscription dimanche 2 mars 2003 Statut Membre Dernière intervention 18 avril 2003 - 6 mars 2003 à 22:02
CoreBreaker Messages postés 540 Date d'inscription dimanche 23 mars 2003 Statut Membre Dernière intervention 5 octobre 2007 - 26 mars 2003 à 04:09
Bonsoir,

Je suis en train de faire un programme de calcul sur des fonctions mathematiques.

Et j'aimerais que l'utilisateur puisse entrer sa fonction de type quelconque (pas forcement un polynome) au moment de l'execution.

On ne peut donc pas definir la fonction comme
double f (double x) {...} dans le source.

J'attends vos suggestions.

Merci d'avance.

2 réponses

cs_vieuxLion Messages postés 455 Date d'inscription samedi 26 octobre 2002 Statut Membre Dernière intervention 6 avril 2004 8
7 mars 2003 à 10:03
salut,
s'il s'agit simplement de permettre des types de variables différents pour une même fonction (un même algorithme) essaie les fonctions templates
s'il s'agit de donne la possibilité à l'utilisateur d'entrer quelque chose comme f(x)=sin(x)+ln(1/x5)...
alors c'est un gros travail de parsing, validation... et je te consielle de lui donner le choix entre plusieurs fonctions que tu as prédéfinies
0
CoreBreaker Messages postés 540 Date d'inscription dimanche 23 mars 2003 Statut Membre Dernière intervention 5 octobre 2007 1
26 mars 2003 à 04:09
Ce qui est sur c'est que la fonction de peut apparaitre dans le programme puiqu'il est compilé et par définition ce n'est pas à la compilation de produire de résultat sauf en utilisant des langages comme lisp ou fortran qui sont interprétés. Il te faut donc un analyseur syntaxique pour que l'utilisateur puisse entrer la fonction à calculer. Je te conseille d'utiliser LEX et YACC pour te faciliter la tâche.

Core Breaker :)
0
Rejoignez-nous