Page 1 of 1

définir une fonction dans un programme

Unread postPosted: 09 Jun 2007, 10:52
by secureKANT
Bonjour,

J'aimerais savoir s'il on peut entrer une fonction comme argument dans un programme avec prompt ou request.
Comme je crois que non, j'ai essayé de bidouiller mais sans succès.

Voilà déjà un problème que j'ai rencontré :

je voulais juste utiliser l'expression de la fonction pouis la définir dans le corps du programme mais :

x^2 - f(x) donne f(5) = 25

x^2 - a puis a - f(x) donne f(5) = x^2 pourquoi ???

Voilà un deuxième problème :


0-a
5-b
5-d
define f(x) = x^2
if (f(a)-d)*(f((a+b)/2)-d)ou=0 then
...

fonctionne très bien

alors que

0-a
5-b
5-d
define f(x) = x^2-d
if f(a)*f((a+b)/2)ou=0 then
...

qui me paraît être équivalent me renvoie : "A test did not resolve to TRUE or FALSE"

Merci de m'aider

PS c'est pour faire un programe qui utilise la méthode de dichotomie pour approximer la solution d'une équation et j'aimerais que l'on puisse définir la fonction en dehors du programme ...


Quentin

RESOLU !

Unread postPosted: 09 Jun 2007, 14:05
by secureKANT
Bon ben merci les gars ! j'ai trouvé tout seul :#gni#:

Je me suis inspiré de ce que j'ai vu dans le forum

finalement pour définir la fonction f :
(x^2-d)-f
et pour évaluer la fonction en a :
f|x=a

Ca marche très bien mais ça ne m'explique toujours pas pourquoi les autres manières de l'écrire bugguent ! :#tsss#:

Je suis toujours intéressé par des explications...

@plus

Re: définir une fonction dans un programme

Unread postPosted: 10 Jun 2007, 15:15
by tama
Ca dépend
si ton d est définie de façon "locale" dans le programme principal (celui dont tu as posté l'extrait), c'est à dire s'il y a un "Local d" quelque part le d ne passe pas d'un programme à l'autre quand tu définis la fonction ce qui cause l'erreur