Informatique
Polynômes
I. Algorithme de Horner
Il s'agit de calculer la valeur en un point d'un polynôme en ne faisant
que
des additions et des multiplications, grâce à l'écriture de
+...+
sous la forme :
P
= (( ... (
)
)
X
+ ... +
)
Bien sûr,
Maple
sait calculer sur les polynômes, mais on n'utilisera pas cette possibilité dans cet exercice. On représentera un polynôme par la succession de ses coefficients
, ...,
,
si
+ ... +
.
On va écrire une procédure
horner
prenant comme arguments
, ...,
,
et retournant
P
(X). Donc : le nombre d'arguments de
horner
va être variable ; on aura à utiliser
args
et
nargs
(
aide
), et l'en-tête de la procédure sera de la forme
horner:=proc()
. Attention,
va être le
argument ("
args[1]
"), car c'est par lui que le calcul commence.
1.
Version itérative
. Ecrire la procédure
horner
en effectuant les additions et les multiplications à l'aide d'une boucle
for
. On pourra gérer une variable
P
dans la procédure, qui commencera par valoir 0 puis
, puis
, puis
et ainsi de suite.
| > |
2. Version récursive . Pour éviter d'avoir à utiliser une variable, écrire une procédure horner2 sous forme récursive (s'appelant elle-même).
| > |
3.
Tester les deux procédures ci-dessus en calculant p. ex. le polynôme
, ce qui doit répondre à la formule
horner(1,2,3)
(
resp
.
horner2(1,2,3)
).
| > |
| > |
II. Polynômes interpolateurs de Lagrange
Le
polynôme interpolateur élémentaire de Lagrange associé aux réels
,...,
(deux à deux distincts) est défini pour tout entier
k
entre 1 et
n
par :
,
où le produit est étendu aux indices
tels que
.
1.
On ne fixe pas
n
, mais on va écrire une procédure
L
prenant un nombre
variable
d'arguments (
cf.
I) dont les
n
premiers seront
,...,
et le dernier, l'entier
k
. On pourra supposer que
k
est bien compris entre 1 et
n
(càd, on n'en programmera pas la vérification, et une erreur se produira si ce n'est pas le cas). Le calcul de
pour
en (
,...,
) s'effectuera donc par
L(x1,x2,x3,x4,x5,2)
et devra retourner :
.
| > |
2.
Lorsque
,...,
sont
n
réels, on vérifie qu'on obtient un polynôme P tel que
,...,
par l'expression :
.
On se propose d'effectuer ce calcul lorsque les
sont les valeurs
d'une fonction f supposée définie en
Maple
.
En utilisant une simple instruction de sommation, écrire une procédure
P
prenant comme arguments (en nombre variable) les réels
,...,
et réalisant le calcul souhaité. On réutilisera bien sûr la fonction
L
du
1
. La fonction f (non précisée) sera une variable globale. Tester.
| > |
3.
Dans le cas où
,
,
,
et
, expliciter l'expression de
et tracer sur un même schéma
et
.
| > |
| > |