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
_________________
......
Créer un fichier PDF de la contribution Imprimer


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
Créer un fichier PDF de la contribution Imprimer


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
_________________
......
Créer un fichier PDF de la contribution Imprimer


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
Créer un fichier PDF de la contribution Imprimer


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
_________________
......
Créer un fichier PDF de la contribution Imprimer


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
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


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
Créer un fichier PDF de la contribution Imprimer


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
_________________
......
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


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.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2