|
Construire un formule récursif ? |
|
Utilisateur WDF
Inscrit: 08/06/2004 01:19
De Casablanca au maroc
Post(s): 50
|
Bonjour,
j'ai des fichiers hf comme suit :
> un fichier 1 comme suit : > __________________________ > Code1 Valeur1 Code2 > ___________________________ > A (N-C) 001 > A (N+(C-D)) 002 > .. .. .. > >
> > > un fichier 2 comme suit : > > ___________________________ > Code2 Valeur2 Code2 > ___________________________ > > N M 001 > K O 002
> > et dans un autre fichier de calcule : > > ___________________________ > Code chaine > ___________________________ > > 001 A-(B+C)+D-(E*F)+G (1) > 002 A+K > 003 (N*Z)/F > ... ....
je veux faire le calucle de la formule (1) (A-(B+C)+D-(E*F)+G) par exemple :
BufFormule = (A-(B+C)+D-(E*F)+G)
l'idée est de chercher la valeur de chaque lettre (A,B,C...G) du formule et le remplacer dans la variable BufFormule pour après faire un compile sur le résultat mais le problème et que pour chercher la valeur de ce lettre on auras un autre formule et ainsi de suit mais surement il y as des lettre où on trouver seulement des valeurs et pas de formule
ça fais plus de 3 jours que je batte sans résultat ! après google je sais pas si je peux y arriver on utilisant la notations postfixé ? ou bien les arbre?
Y as quelqu'un qui peu me donner juste une idée qui peut aboutir à un résultat ?
Merci
Contribution le : 02/06/2008 12:46
|
_________________
......
|
|
Re: Construire un formule récursif ? |
|
Stagiaire WDF
Inscrit: 14/12/2006 10:56
Post(s): 29
|
Bonjour,
vous avez posée cette question sur tous les forums vous avez eu des reponses ?
a quoi sert de poser encore la question ?
Contribution le : 02/06/2008 13:32
|
|
|
Re: Construire un formule récursif ? |
|
Utilisateur WDF
Inscrit: 08/06/2004 01:19
De Casablanca au maroc
Post(s): 50
|
Oui je l'avais poster sur 2 forums 10 et 12(Windev old et new) car je suis vraiment bloqué, non j'ai pas encore de réponse Merci
Contribution le : 02/06/2008 13:36
|
_________________
......
|
|
Re: Construire un formule récursif ? |
|
Stagiaire WDF
Inscrit: 14/12/2006 10:56
Post(s): 29
|
je froward la reponse qui a ete donnée sur fr.comp.develppement.windev Citation : Bonjour,
en fait un compile avec une chaine qui prend l'operation et qui remplae tous les elements trouves
Fichier1 abrev F1 Fichier2 abrev F2 fichier3 abrev CALC
donc dans Cal j'ai un code et une operation
machaine = CALC.chaine monCode = CALC.code
donc voila maintenant il faut remplacer les formule en faisant des recherche Hfiltre(F1,"code2="+CALC.code) hpremier tantque pas h.endehors machaine = remplace(machaine,F1.code1,F1.valeur1) hsuivant(F1) Fin
// idem pour fichier 2 Hfiltre(F1,"code2="+CALC.code) hpremier tantque pas h.endehors machaine = remplace(machaine,F2.code1,F2.valeur2) hsuivant(F1) Fin
// la chaine est normalement formate Res = compile("MaPRoc",machaine) si res <> "" alors info(res) sinon executeTraitement("MaPRoc") fin
voila je pense que l'idée est la c'est comme ca que je ferais
Bon dev @+
Firetox
Contribution le : 02/06/2008 15:37
|
|
|
Re: Construire un formule récursif ? |
|
Utilisateur WDF
Inscrit: 08/06/2004 01:19
De Casablanca au maroc
Post(s): 50
|
Bonjour ,
Mais c'est pas la même chose ! celle du fr.comp.develppement.windev n'est pas imbriqué dans les formules des calcules pour chaque lettre on as une valeur par contre celle que je dépose ici pour chaque lettre correspondre une autre formule
je cherche toujours une idée Merci et a+
Contribution le : 02/06/2008 16:10
|
_________________
......
|
|
Re: Construire un formule récursif ? |
|
Animateur WDF
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
Bonjour,
C'est une formule des plus simpliste mais en aucun cas récursive
de plus cette méthode limite vos possibilités si vous intégrez des fonctions mathématiques exemple: A-(abs(B)+C)+D-(E*F)+G (1) la fonction abs se verra décomposée par le remplacement des a, b, c par leurs fonctions respectives. ou meme si vous devez utiliser plus 26 formules exemples : AA-(B+C)+D-(E*F)+G (1) Le AA sera remplacé par 2 fonctions de A.
Contribution le : 02/06/2008 16:15
|
|
|
Re: Construire un formule récursif ? |
|
Stagiaire WDF
Inscrit: 14/12/2006 10:56
Post(s): 29
|
Oui mais le mecanisme est la. maintenant il faudra faire la difference en minuscules et majuscules ou alors mettre en place une chose pour differencier les fonctions et bien reflechir a la formule par exemple A*A devra s'ecrire comme ca et non AA
bref le mecanisme de remplacement est celui que j'utilise pour faire des calculs entre champs un champs donne le calcul et un autre recoit la valeur (en fait un tableau comme excel : ca marche tres bien. meme si A contient une formule c'est bien par la formule qu'on remplace le A le calcul sera fait a la fin
mais il faut bien definir les regles avant et analyse cela parfaitement.
Contribution le : 02/06/2008 16:32
|
|
|
Re: Construire un formule récursif ? |
|
Utilisateur WDF
Inscrit: 08/06/2004 01:19
De Casablanca au maroc
Post(s): 50
|
Bonjour Mr DrCharly93
oui bien sur la formule n'est par récursif, peut être que j'ai mal exprimer ce que je veux :
1 je connais pas la formule que je veux calculer, il est stocké dans la base dans un chaine !
2 pour calculer la 1 formule je doit calculer d'autres formules et ainsi de suite c'est un peu comme les suites numériques an maths pour calculer U(N) on as besoin U(N-1)...U(N-2 et ainsi de suite jusque U0 qui est donné au préalable
Merci encore
Contribution le : 02/06/2008 16:44
|
_________________
......
|
Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.