Installer et compiler ces fichiers dans votre répertoire de travail.
![]() |
c04b.c ' |
---|
/* ---------------------------------- */
/* save as c04b.c */
/* ---------------------------------- */
#include "x_hfile.h"
/* ---------------------------------- */
# define DEGREE 6
# define COEFF DEGREE + 1
/* ---------------------------------- */
int main(void)
{
int n = COEFF;
double x = -1;
double *Px = I_p(n);
double *Pt = I_p(n);
double *Pa = I_p(n);
double *Pq = I_p((n-1));
double a[COEFF]={5,3,-2,6,5,-2,-9};
clrscrn();
x = -1;
c_a_P(a,Px);
printf(" If P(x) is : \n\n");
p_P(Px);
printf(" Find an lower bound for the zeros of P(x).\n\n");
printf(" If we divide P(x) by : x - (%+.2f)\n\n\n",x);
compute_horner(x,Px,Pt,Pa,Pq);
p_horner(Px,Pt,Pa);
printf(" The third row does not alternate in sign\n\n");
printf(" So %+.3f is not a lower bound for the zeros of P(x)\n\n",x);
stop();
clrscrn();
x = -2.;
printf(" If we divide P(x) by : x - (%+.2f)\n\n",x);
compute_horner(x,Px,Pt,Pa,Pq);
p_horner(Px,Pt,Pa);
printf(" The third row alternates in sign.\n\n");
printf(" So %+.2f is a lower bound for the zeros of P(x).\n\n",x);
stop();
free(Px);
free(Pt);
free(Pa);
free(Pq);
return 0;
}
Vérifier les calculs à la main. (Voir le premier exemple pour apprendre la méthode de Horner)
Exemple de sortie écran :
If p_A is :
+5.00*x**6 +3.00*x**5 -2.00*x**4 +6.00*x**3 +5.00*x**2 -2.00*x -9.00
Find an lower bound for the zeros of p_A.
If we divide p_A by : x - (-1.00)
+5.00 +3.00 -2.00 +6.00 +5.00 -2.00 -9.00
+0.00 -5.00 +2.00 -0.00 -6.00 +1.00 +1.00
----------------------------------------------------------------------
+5.00 -2.00 +0.00 +6.00 -1.00 -1.00 -8.00
The third row does not alternate in sign
So -1.000 is not a lower bound for the zeros of p_A
Press return to continue.
Cet article est issu de Wikibooks. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.