suivant: Savoir si le polynôme
monter: Les programmes d'arithmétique
précédent: La correction
Table des matières
Index
Traduction Xcas de l'algorithme de Hörner
Soit un polynôme P donné sous la forme d'une liste l formée par
les coefficients de P selon les puissances décroissantes.
hornerl(l,a) renvoie une liste formée par la valeur val
du polynôme en x = a et par la liste lq des coefficients selon les
puissances décroissantes du quotient Q(x) de P(x) par (x - a).
On a :
donc
et p=s-1 si s est la longueur de la liste l donc :
lq[0]=l[0]
lq[1]=a*lq[0]+l[1]
lq[j]=a*lq[j-1]+l[j]
....
val=a*lq[p-1]+l[p]
hornerl(l,a):={
local s,val,lq,j;
s:=size(l);
//on traite les polys constants (de degre=0)
if (s==1) {return [l[0],[0]]};
// si s>1
lq:=[];
val:=0;
for (j:=0;j<s-1;j++) {
val:=val*a+l[j];
lq:=append(lq,val);
}
val:=val*a+l[s-1];
return([val,lq]);
};
On tape :
hornerl([1,2,4],12)
On obtient :
[172,[1,14]]
ce qui veut dire que :
x2 + 2x + 4 = (x + 14)(x - 12) + 172
Si le polynôme est donné avec son écriture habituelle.
Pour utiliser la fonction précédente on a alors besoin des deux
fonctions :
symb2poly qui transforme un polynôme en la liste de ses
coefficients selon les puissances décroissantes.
poly2symb qui transforme une liste en l'écriture habituelle du
polynôme ayant cette pour coefficients selon les puissances décroissantes.
hornerp(p,a,x):={
//ne marche pas pour les polys constants (de degre=0)
local l,val,lh;
l:=symb2poly(p,x);
lh:=hornerl(l,a);
p:=poly2symb(lh[1],x);
val:=lh[0];
return([val,p]);
};
On tape :
hornerp(x^
2+2x+4,12,x)
On obtient :
172,x+14
On tape :
hornerp(y^
2+2y+4,12,y)
On obtient :
172,y+14
Dans Xcas, il existe la fonction horner qui calcule selon la
méthode de Hörner la valeur d'un polynôme (donné sous forme de liste
ou par son expression) en un point :
On tape :
horner(x^
2+2x+4,12)
On obtient :
172
On tape :
horner(y^
2+2y+4,12,y)
On obtient :
172
On tape :
horner([1,2,4],12)
On obtient :
172
suivant: Savoir si le polynôme
monter: Les programmes d'arithmétique
précédent: La correction
Table des matières
Index
Documentation de giac écrite par Renée De Graeve