begin process at 2012 05 30 16:49:20
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Algorithme

 > 

Maths

 > 

saisir une fonction mathématique au clavier


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

saisir une fonction mathématique au clavier

lundi 9 février 2009 à 01:47:51 | saisir une fonction mathématique au clavier

fandestargate

Bonsoir, je travaille actuellement sur un projet visant à résoudre des équations apres transformée de fourrier. Pour ce faire je rentre une fonction initiale à l'instant t0. Mon probleme c'est que pour y arriver je n'ai que deux solutions:
Soit je met la fonction dans mon code (et quand je veux la changer il faut changer partout^^)
Soit je la saisie au clavier au lancement du programme (et la fonction se rajoutera partout où j'en ai besoin dans mon code)

Pour avoir un petit peu cherche sur le net je crois savoir que ce genre de programme portent un nom, les interpreteurs^^. Le petit probleme c'est que je code depuis peu, et donc lorsque j'ai vu le code de ces fameux interpreteurs j'ai eu une frayeur^^.
Je voulais donc savoir si il n'y avait pas ici une ame charitable qui pourrait m'expliquer en terme plus ou moins simple le fonctionnement de ces interpreteurs (qu'est ce qu'ils prennent comme parametres, qu'est ce qu'ils renvoient...).

Donc voila, j'espere que quelqu'un saura m'aider dans cette rude épreuve^^, bonne soirée, ++
lundi 9 février 2009 à 12:44:21 | Re : saisir une fonction mathématique au clavier

coucou747

Administrateur CodeS-SourceS
salut

si tu acceptes de ne pas avoir des expressions mathematiques ecrites sous la forme classique, alors c'est simple : la syntaxe RPN est vraiment tres facile a interpreter.

sinon, tu peux convertir une expression normale en expression rpn pour ensuite l'interpreter.

ici, t'as un code de convertion en javascript : http://www.javascriptfr.com/codes/NOTATION-CLASSIQUE-VERS-NOTATION-NPI_48072.aspx

et ici, t'as des explications sur le rpn : http://fr.wikipedia.org/wiki/Notation_polonaise_inverse
lundi 9 février 2009 à 19:02:41 | Re : saisir une fonction mathématique au clavier

fandestargate

merci de m'avoir répondu coucou747 mais le probleme c'est que cette méthode ne gere pas les equation comportant des variables, comme par exemple f(x)=x*(1-x). Petite precision aussi je programme en C (si je me suis trompé de partie du forum excusez moi je déplacerai le sujet^^).
lundi 9 février 2009 à 19:22:00 | Re : saisir une fonction mathématique au clavier

coucou747

Administrateur CodeS-SourceS
tu ne t'es pas trompe de forum, mais j'avais pas d'exemple en C sous la main, et ce qui t'interesse, c'est bien l'algo ?

tu peux assez facilement integrer le principe des variables dans ce genre de choses.

de toute facon, dit toi bien que tu ne pourras pas creer une fonction en C. tu ne pourras pas te trouver avec un code du genre :

int (*f(int i));

scanf( ... , expression);
f = evaluer(expression);

printf("f(1) = %d\n", f(1));

ca ne pourra pas fonctionner ca le C n'est pas un langage fonctionnel, t'as rien pour creer de nouvelles fonctions.
lundi 9 février 2009 à 23:07:10 | Re : saisir une fonction mathématique au clavier

fandestargate

ben en fait d'apres ce que j'ai lu, il existe des codes appellées interpreteurs qui se chargent de ça, mais je n'arrive pas à les déchiffrer.
lundi 9 février 2009 à 23:18:26 | Re : saisir une fonction mathématique au clavier

coucou747

Administrateur CodeS-SourceS
ouais, ma ca revient a faire :

int resultat = eval(expression, x);

c'est pas la meme chose.
lundi 9 février 2009 à 23:51:55 | Re : saisir une fonction mathématique au clavier

fandestargate

oui mais une fonciotn qui ferait ça ça me suffirait, car avec ça je pourrais calculer les points qui m'interresse et les stocker dnas un tableau, pour pouvoir ensuite faire ma TF et mes RK. Tu connais un programme qui fait ça?
mercredi 11 février 2009 à 00:10:00 | Re : saisir une fonction mathématique au clavier

fandestargate

qqun aurait il une idée lol?^^
vendredi 13 février 2009 à 12:11:53 | Re : saisir une fonction mathématique au clavier

coucou747

Administrateur CodeS-SourceS
faire une fonction de type :

bt parse(char * expression){
// met ton code ici
}

et une autre de type

int eval(bt tree, int valeur_de_x)

tu ne sais pas du tout comment ca peut se faire ?

il faut faire un bout de code qui decoupe ton expression en une liste de "tokens" ces tokens sont soit des nombres, soit des operateurs (tu associes une priorite aux operateurs) soit des noms de variables. Tu ignores les espaces aussi.

ensuite, tu as un parseur qui va lire les tokens et qui va te faire un arbre binaire pret a etre evalue.

la fonction d'evaluation est bidon.

le lexeur n'est pas tres dur a faire, ce qui est chiant, c'est les regles dans le parseur.

le plus dur, c'est la gestion des priorites.
vendredi 13 février 2009 à 12:49:21 | Re : saisir une fonction mathématique au clavier

fandestargate

ok, je m'y colle de suite alors, merci pour les precisions.

1 2

Cette discussion est classée dans : fonction, code, clavier, saisir, interpreteurs


Répondre à ce message

Sujets en rapport avec ce message

gestion du clavier [ par Myts ] SalutJe programme sous TC++ (turbo c++) sous dos.Et j'ai un probleme concernant la gestion du clavier.Mon jeux, prochainement sur ce site, doit effect getch() sous Linux [ par yapud ] Bonjour,J'ai un probleme avec la fonction gecth() se trouvant danc la librairie CURSES.H sous LINUX !J'utilise cette meme fonction sous WINDOWS qui ma Fonction return dans une console windows [ par Jolfulorc ] Bonjour,Lorsque j'affiche un texte dans une console windows (code du genre : coutla façon que j'ai trouvé pour contourner cet inconvénient Timers haute précision [ par SMarmotte ] Bonjour à tousJe cherche à attendre EXACTEMENT 60 micro secondes.J'ai fait cette routine mais elle me bouffe 50% du temps CPU du fait que je dois l'ap Problème de code en c++ (fonction itoa) [ par mimyne ] voila g le code suivant:void Resultat_Clicked(Object* pSender, EventArgs* pArgs){ int operation = 5; char* chaine[2]; if (pSender == Btnres) { { ito Nombre aléatoire en C [ par FoLKeN91 ] Bonjour tout le monde.Alors voici mon probleme, j'ai beau cherché je n'arrive pas à le résoudre. Je désire faire une fonction qui renvoie un nombre al la fonction "afficher le source" de internet explorer [ par zip8000 ] Bonjour,je cherche a reproduire le resultat de la fonction "afficher la source" qui ouvre le code html d'une page internet. Mon but est de recuperer c convertir une chaine de caracatères en hexadécimal [ par vinc524 ] salut all !voilà je voulais savoir s'il existe une fonction pour convertir une chaine de caractètes provenat du port série RS232 récupéré par la métho pointer vers un tableau 2d [ par Adeon ] salut ! je suis en train de creer une fonction qui doit inclure un tableau 2d dont on ne connait pas les valeurs.si je fais :void fonction(char *tab){ Fonction find du STL [ par saturne_1606 ] Bonjour a tous!Voila mon prob:g un exo1.h comme suit:#include #include class personne{ protected : s


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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,640 sec (4)

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