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

  1. mido123
     
    en effet le polynome s'écrit de la façon suivante:
    a0+x(a1+x(a2+x(a3+x(...........+an.x)......))))
    1
    1. JvDo Messages postés 1924 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
      1. mido123 > JvDo Messages postés 1924 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
  2. JvDo Messages postés 1924 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
  3. mido123
     
    merci bien,
    il reste le broblème de x^n ????
    0