Probleme...

Résolu
dickann Messages postés 1 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 18 avril 2005 - 18 avril 2005 à 17:32
WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 - 20 avril 2005 à 23:03
bjr...g un probleme pour résoudre cet exercice...
donc si qq pourrai me donné la solution,ca m aiderai bcp...
merci...


Exercice 5-7 <?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />








Demandez à l’utilisateur les coefficients d’un polynôme de degré 5. Calculez les coefficients de la dérivée de ce polynôme. Demandez à l’utilisateur une valeur réelle pour évaluer le polynôme ainsi que sa dérivée en utilisant le schéma de Horner.

8 réponses

WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 3
20 avril 2005 à 22:56
La fonction "poly" de l'unité math.pas qui "Evalue une polynomiale uniforme d'une variable à la valeur X" utilise la méthode de Horner.

function Poly(const X: Extended; const Coefficients: array of Double): Extended;
{ Horner's method }
var
I: Integer;
begin
Result := Coefficients[High(Coefficients)];
for I := High(Coefficients)-1 downto Low(Coefficients) do
Result := Result * X + Coefficients[I];
end;

Et pour la dérivée, on l'obtient avec peu de modifications de la fonction "poly" :

function PolyDerivee(const X: Extended; const Coefficients: array of Double): Extended;
var
I: Integer;
PolyX : Extended ;
begin
Result := 0.0 ;
PolyX := Coefficients[High(Coefficients)];
for I := High(Coefficients)-1 downto Low(Coefficients) do
begin
Result := Result * X + PolyX ;
PolyX := PolyX * X + Coefficients[I];
end ;
end;

Pour l'intégration de tout ça, y'a plus qu'à

Cordialement.
3
cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 5
19 avril 2005 à 09:25
Ca n'a pas l'air bien compliqué !


Ken@vo


<hr size="2" width="100%">
Code, Code, Codec !

http://www.pourflorenceethussein.org/
0
BlouMan Messages postés 93 Date d'inscription mardi 15 mars 2005 Statut Membre Dernière intervention 2 juillet 2007
19 avril 2005 à 12:29
je ne connais pas le "schéma de Horner" mais pour une dérivée, le nouveau coefficient de x^n est égal à l'ancien coefficient de x^(n+1) multiplié par n+1...


<HR>
BLOU BLOU POWAA
0
cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 5
19 avril 2005 à 13:27
Et le schéma de Horner consiste à écrire le polynome ak*xk+Ak-1*xk-1+...+a1*x+a0 sous la forme :((... ((ak*x+ak-1)*x+ak-2)*x+....)*x+a1)*x+a0, ce qui évite d'avoir à calculer toutes les puissances de x.



Ken@vo


<hr size="2" width="100%">
Code, Code, Codec !

http://www.pourflorenceethussein.org/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_hendrix Messages postés 65 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 18 novembre 2008 1
19 avril 2005 à 13:57
A moins qu'il s'agisse du schéma de Yvette Horner, auquel cas ce n'est plus bon

hendrix
0
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
20 avril 2005 à 19:36
Ah non, ah non...



Jolie môme, c'est Juliette Gréco, pas Yvette Horner !



Mais je crois pas qu'il y ait de produits dérivés...



Bonne prog'
0
WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 3
20 avril 2005 à 23:01
Euh, et si on regroupait les deux :

procedure MethodeHorner(const X: Extended; const Coefficients: array of Double; var ValeurReelle, Derivee : Extended );
var
I: Integer;
Valeur : Extended ;
begin
Derivee := 0.0 ;
ValeurReelle := Coefficients[High(Coefficients)];
for I := High(Coefficients)-1 downto Low(Coefficients) do
begin
Derivee := Derivee * X + ValeurReelle ;
ValeurReelle := ValeurReelle * X + Coefficients[I];
end ;
end;

Cordialement.
0
WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 3
20 avril 2005 à 23:03
Oups, j'ai oublié de retirer la variable "Valeur" de la procédure.

procedure MethodeHorner(const X: Extended; const Coefficients: array of Double; var ValeurReelle, Derivee : Extended );
var
I: Integer;
begin
Derivee := 0.0 ;
ValeurReelle := Coefficients[High(Coefficients)];
for I := High(Coefficients)-1 downto Low(Coefficients) do
begin
Derivee := Derivee * X + ValeurReelle ;
ValeurReelle := ValeurReelle * X + Coefficients[I];
end ;
end;

Cordialement.
0
Rejoignez-nous