Algorithme récursif

Fermé
mido123 - 12 déc. 2008 à 23:17
 mido123 - 17 déc. 2008 à 21:56
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
A voir également:

3 réponses

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 mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 858
15 déc. 2008 à 01:53
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 mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020
17 déc. 2008 à 21:56
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 mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 858
13 déc. 2008 à 01:03
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
merci bien,
il reste le broblème de x^n ????
0