Algorithme récursif

mido123 -  
 mido123 -
Bonjour, svp je cherche un algorithme récursif d'une fonction qui permet de calculer la valeur d'un polynome d'ordre n, les coiffécients sont stocker dans un tableau( la dim du tableau et x seront des donnés). merci d'avance

3 réponses

mido123
 
en effet le polynome s'écrit de la façon suivante:
a0+x(a1+x(a2+x(a3+x(...........+an.x)......))))
1
JvDo Messages postés 1978 Date d'inscription   Statut Membre Dernière intervention   859
 
Bonsoir,

Cette écriture minimise le nombre d'opérations.
C'est à elle que je pensais quand je disais que l'allgo précédent n'était pas optimisé.

Le souci (je trouve) avec cette écriture c'est qu'il faut inverser les coefficients.

Fonction P(n, N, x) 'N=degré du polynôme
si n>0 alors
P= coeff(N-n) + P(n-1, N, x)*x
sinon
P=coeff(N)
fin si
fin Fonction

J'ai intégré le N dans la fonction pour que l'inversion des coefficients soit plus "criante"
Comme je n'ai pas passé les coeff en argument, on pourrait se passer du N dans la fonction, du moins pour l'algorithme.

A+

PS : je n'ai pas saisi où était le problème avec le x^n de l'algo précédent
0
mido123 > JvDo Messages postés 1978 Date d'inscription   Statut Membre Dernière intervention  
 
merci bien, en fait j'ai trouvé à peu près la même soltuion en intégran une autre variable;
solution en pascal:
--------------------------------------------------------------------
function calcul(i,n:integer;x:real;c:tableau):real;
begin
if n=i then
calcul:=c[i]
else
calcul:=calcul(i+1,n,x,c)*x+c[i];
end;
----------------------------------------------------------------
avec un appel initiale de valeur 0 pour i

le problème de x^n c'est qu'il faut une fonction
0
JvDo Messages postés 1978 Date d'inscription   Statut Membre Dernière intervention   859
 
Bonsoir,


fonction P(n,x)
Si n>0 alors P=coeff(n)*x^n+P(n-1, x) sinon P=coeff(0)
fin fonction

c'est pas l'algo le plus économique en nombre d'opérations mais ça doit le faire

cdlt
0
mido123
 
merci bien,
il reste le broblème de x^n ????
0