Exercice 6 :
Faire le tableau de la boucle for du programme afin de comprendre l’´evolution de la variable z.
R´ealiser alors que Aq
p
pq=p×(p−1) ×(p−2) ×... ×(p−q+ 1)
p×p×p×..... ×p(qfacteurs au num´erateur et au d´enominateur)
=p
p×p−1
p×p−2
p×... ×p−k+ 1
p= 1 ×(1 −1
p)×(1 −2
p)×...(1 −q−1
p)
Exercice 7 :
Principe du programme : calculer la somme (syntaxe dans la boucle for : s:=s+ ...), puis au dernier moment faire le
produit ×e−a.
Pour calculer la somme il faut faire : s:=s+ " ak
k!". Remarquer alors que ak
k!=a
k×ak−1
(k−1)! et donc que la variable p
´evolue justement afin de valoir le terme `a sommer (faire le tableau de la boucle for sur la variable p).
Syntaxe : .... s:=s+p; END;
s:=s*exp(-a); .....
Exercice 8 :
II 1. Au d´epart u=p= 3. Apr`es une ´etape (k= 1), u=f(3) = 3 −ln(3) et p= 3 ∗(3 −ln(3)) ; puis apr`es la deuxi`eme
et derni`ere ´etape (k=n= 2), u=f(3 −ln(3)) = 3 −ln 3 −ln(3 −ln 3) et p= 3 ∗(3 −ln 3) ∗(.....).
2. un+1 =f(un) = un−ln(un) et pn=u0×u1×u2×... ×un=
n
Q
k=0
uk.
3. Pour chaque ´etape de la boucle for : 3 affectations (une pour k, une pour uet une pour p) ; un appel de la fonction
f(pour u) et un produit (pour p). Pour chaque appel de la fonction f, une soustraction et une affectation. Donc
au total par ´etape : 6 op´erations ´el´ementaires + 1 appel de f
Avant la boucle for, 2 affectations. Comme il y a n´etapes dans la boucle for (donc nappels de la fonction f), on
a au total : 2 + n×6 op´erations ´el´ementaires +nappels de la fonction soit une complexit´e en 7n+ 2.
III 1. ln(pn) =
n
P
k=0
ln(uk) =
n
P
k=0
(uk−uk+1) (en effet d’apr`es la relation sur la suite u,uk+1 =uk−ln(uk) donc
uk−uk+1 = ln(uk)) = [somme t´el´escopique] u0−un+1 =a−un+1. D’o`u pn=ea−un+1 .
2. readln(a,n); u:=a;
For k:=1 to n+1 do u:=f(u) ;
p:=exp(a-u); write(p);
Complexit´e en 5(n+ 1) + 2 ∼5n.
Exercice 9 : Dichotomie
1. La fonction fest d´efinie sur Rpar f(x) = ex−2. La courbe est celle de la fonction exponentielle, translat´ee
verticalement de 2.
2. L’utilisateur doit choisir eps strictement positif ; et aet btels que f(a)f(b)≤0 c’est-`a-dire tels que l’intervalle
de bornes aet bcontienne un z´ero de f. Les repeat until font office de garde-fou pour ces donn´ees.
3. eps = 1/2>0 et f(−2) <0, f(2) >0 donc f(−2)f(2) <0. Les donn´ees sont donc acceptables.
c= a= b= b-a=
-2 2 on entre dans la boucle repeat
0 0 2 2 >2*eps donc on poursuit
1 0 1 1≤2*eps donc la boucle repeat s’arrˆete et le programme renvoie c= 1/2
4. L’intervalle de bornes aet bvoit son amplitude diminuer, par emboˆıtement de sous-intervalles [a;b], tels que le
sous- intervalle choisi contienne toujours un z´ero de f(i.e. encadre la solution).
crepr´esente `a chaque ´etape le milieu des intervalles [a;b] emboˆıt´es et devient aou b`a l’´etape suivante.
5. Si maintenant eps vaut 1/4 : tout le d´ebut de la question 3. reste identique. Par contre, il faut faire une ´etape de
plus, ce qui conduit `a c= 1/2 ; puis a= 1/2 et b= 1. L’affichage est alors c= 0.75.
6. L’ex´ecution du programme doit conduire `a une valeur approch´ee de la solution α= ln(2) '0,6931471 de
l’´equation f(x) = 0, pour n’importe quelles valeurs initiales aet b(avec a<b), par dichotomie.
eps donne la pr´ecision souhait´ee de l’approximation. Quant `a la derni`ere ligne c:= (a+b)/2 : sans cette ligne,
on aurait une valeur approch´ee `a 2*eps pr`es car la boucle repeat until s’arrˆete quand l’encadrement [a,b] de la
solution est de taille inf´erieure `a 2*eps. Donc on reprend le milieu une derni`ere fois pour avoir une pr´ecision de
2*eps/2=eps.
Remarque : La m´ethode de dichotomie est une m´ethode simple mais plutˆot efficace car dans notre exemple, il ne
faudrait que 11 manipulations pour obtenir une valeur approch´ee de la solution `a 0.001 pr`es.