Lyc´ee Benjamin Franklin PT−2012-2013
D. Blotti`ere Maple
Correction des exercices 1 et 4 du TP n˚1
Correction de l’exercice 1
1.(a)
for n from 1 to 50 do print(1/(n*(n+1))) ; od ;
1.(b)
for n from 1 to 50 do
print(1/(n*(n+1))) ; # evalf donne une valeur d´ecimale approch´ee d’un nombre r´eel od ;
2.(a)
L :=[ ] : # on initialise la liste L `a la liste vide [ ] for n from 1 to 50 do
L := [ op(L), [n , 1/(n*(n+1))] ] ; # op appliqu´e `a une liste renvoie les ´el´ements de la liste od :
L ; 2.(b)
Lbis := [ seq( [ n , 1/(n*(n+1))] , n = 1 .. 50) ] ;
# seq permet de fabriquer une liste en r´ep´etant un motif d´ependant d’un param`etre que l’on fait varier
# les crochets plac´es autour de seq permettent d’obtenir exactement l’affichage demand´e 2.(c)
# plot appliqu´e `a une liste de coordonn´ees de points, plac´ee entre crochets affiche une ligne bris´ee
# reliant les points dont les coordonn´ees sont cons´ecutives dans la liste
# l’option ”style=point” permet d’avoir un nuage de points et non une ligne bris´ee plot( L , style=point ) ;
3.(a) D’apr`es le pr´ec´edent graphique, on peut conjecturer que la suite (un)n∈N∗ est strictement d´ecroissante et tend vers 0 quandntend vers +∞.
3.(b)
n :=’n’ : # on lib`ere la variable n (un restart lib´ererait toutes les variables) limit ( 1/(n*(n+1)) , n = infinity ) ;
# limit permet d’obtenir la limite d’une suite ou d’une fonction (`a condition que cette limite existe...) 3.(c) Soit n∈N∗.
un+1−un = 1
(n+ 1)(n+ 2) − 1 n(n+ 1)
= n
n(n+ 1)(n+ 2) − n+ 2 n(n+ 1)(n+ 2)
= − 2
n(n+ 1)(n+ 2)
< 0
La suite (un)n∈N∗ est donc strictement d´ecroissante.
Den →
n→+∞+∞et des op´erations sur les limites, on d´eduit : un= 1
n(n+ 1) →
n→+∞0.
4.(a) Soitn∈N∗. On a :
Sn+1−Sn =
n+1
X
k=1
1 k(k+ 1) −
n
X
k=1
1 k(k+ 1)
=
n
X
k=1
1 k(k+ 1)
!
+ 1
(n+ 1)(n+ 2)−
n
X
k=1
1 k(k+ 1)
= 1
(n+ 1)(n+ 2) et donc :
Sn+1=Sn+ 1 (n+ 1)(n+ 2).
4.(b) On s’appuie sur la relation de r´ecurrence obtenue en 4.(a) pour r´eponde `a la question pos´ee.
u :=1/2 : # la variable u contiendra le terme g´en´eral de la suite (un), on l’initialise `a la valeur de u1
S :=0 : # la variable S recevra les valeurs de la suite (Sn) , on l’initialise `a 0 for n from 1 to 50 do
S :=S+u : # calcul deSn print(S) :
u := 1/((n+1)*(n+2)) : # calcul du termeun+1 pour le calcul du prochain terme de la suite (Sn) od :
4.(c)
for n from 1 to 50 do
print( sum( 1/(k*(k+1)), k=1..n) ) : od :
# sum permet de calculer des sommes partielles de termes g´en´eraux de suites
# ce code est moins performant (cf. temps de calcul) que celui donn´e en 4.(a)
# `a chaque it´eration de la boucle for, on applique sum, commande qui effectue un calcul
# `a l’aide d’une nouvelle boucle 4.(d)
# on commence `a construire la liste des coordonn´ees des points `a afficher L :=[ seq( [ n , sum( 1/(k*(k+1)), k=1..n)] , n=1..50) ] :
# ici on a privil´egi´e la lisibilit´e du code au temps de calcul
# en effet, on a appliqu´e la fonction sum pour calculerSn
# alors qu’on aurait pu s’en passer en utilisant la mˆeme id´ee qu’en 4.(b)
# on affiche `a pr´esent les 50 points demand´es plot( L , style=point) ;
4.(e) D’apr`es le graphique obtenu `a la question pr´ec´edente, on peut conjecturer que la suite (Sn)n∈N∗ est strictement croissante et qu’elle tend vers une valeur ≪proche de 1≫.
4.(f)
restart ; # on r´einitialise toutes les variables
P := a*(X+1) + b*X ; # on d´eclare un polynˆomeP en la variableX Q := expand(P) ; # on d´eveloppeP `a l’aide de expand
R := collect(Q,X) ; # on ordonneP `a l’aide de collect C0 := coeff(R,X,0) ; # on pr´el`eve le coefficient constant deP C1 := coeff(R,X,1) ; # on pr´el`eve le coefficient de X de P systeme :={C1=0,C0=1};
# on introduit un syst`eme (deux polynˆomes sont ´egaux ssi ils ont les mˆemes coefficients) solve(systeme,{a,b}) ; # on r´esout le syst`eme pr´ec´edent `a l’aide de solve
4.(g) Soit (a, b)∈R2. Soitx∈R\ {−1,0}.
1 a b
Or deux polynˆomes prennent les mˆemes valeurs en une infinit´e de points si et seulement s’ils sont ´egaux.
On est donc conduit `a r´esoudre l’´equation de polynˆomes : 1 =a(X+ 1) +bX.
Nous avons d´ej`a r´esolu cette ´equation en 4.(f), `a l’aide de Maple. Nous avons trouv´e une unique solution : (a, b) = (1,−1).
On a donc :
(∀x∈R\ {−1,0}) 1
x(x+ 1) = 1 x− 1
x+ 1.
4.(h) Soitn∈N∗. D’apr`es la question 4.(a), on a :
Sn+1−Sn= 1
(n+ 1)(n+ 2) >0.
La suite (Sn)n∈N∗ est donc strictement croissante.
D’apr`es le r´esultat de la question 4.(g), on a :
(∀k∈N∗) 1
k(k+ 1) = 1 k− 1
k+ 1. Soitn∈N∗.
Sn =
n
X
k=1
1 k(k+ 1)
=
n
X
k=1
1 k − 1
k+ 1 (cf. relation encadr´ee ci-dessus)
=
n
X
k=1
1 k −
n
X
k=1
1 k+ 1
=
n
X
k=1
1 k −
n+1
X
k=2
1
k (changement d’indice)
= 1 +
n
X
k=2
1 k−
n
X
k=2
1 k+ 1
n+ 1
!
= 1− 1
n+ 1 (t´elescopage) Den →
n→+∞+∞et des op´erations sur les limites, on d´eduit : Sn= 1
n(n+ 1) →
n→+∞1.
Exercice 4
1. Notons que la suite (un) est d´efinie `a partir d’un certain rang car : n2+an+ 1 →
n→+∞+∞ et n2+bn+ 1 →
n→+∞+∞.
Les termesn2+an+ 1 etn2+bn+ 1 sont donc positifs ou nuls `a partir d’un certain rang.
# on commence par d´eclarerun
un :=2*sqrt( n∧2 + a*n + 1 ) + sqrt( n∧2 + b*n + 2 ) + c*n ;
# on calcule un d´eveloppement asymptotique deun `a l’ordre 0 (noter le d´ecalage) da := asympt(un , n , 1) ;
2. En 1., on a obtenu, avec Maple, le d´eveloppement asymptotique : un =
n→+∞(3 +c)n+a+b 2+O
1 n
.
Un O 1
n
quandntend vers +∞est uno(1). On a donc :
un =
n→+∞(3 +c)n+a+b
2 +o(1).
Mais un o(1) quandn tend vers +∞est simplement une suite qui tend vers 0, quandn tend vers +∞.
On en d´eduit que (un)n∈N est convergente si et seulement si : c=−3.
3.
# on effectue un d´eveloppement asymptotique de un `a l’ordre 2 (not´e le d´ecalage) dabis := asympt( un , n , 3) ;
# on transforme dabis en un ”polynˆome” en n avec convert P :=convert(dabis,polynom) ;
# P n’est en fait pas un polynˆome en n car des puissances n´egatives de n apparaissent C1 :=coeff(P,n,1) ; # on extrait le coefficient devantn1 avec coeff
C0 :=coeff(P,n,0) ; # on on extrait le coefficient devantn0avec coeff
Cmoins1 :=coeff(P,n,-1) ; # on on extrait le coefficient devantn−1 avec coeff
# on introduit un syst`eme
systeme :={C1=0,C0=0,Cmoins1=0};
# on r´esout le syst`eme introduit avec solve solve(systeme,{a,b,c}) ;
# on trouve deux triplets (a,b,c) solutions
# un pour chacune des racines du polynˆome−2 + 3∗Z2
Expliquons la d´emarche. Le d´eveloppement asymptotique dabisdonne :
un =
n→+∞(3 +c)n+a+b 2 +
2−a2 4 −b2
8
n +
−b 2+ b3
16−a 2 +a3
8
n2 +O
1 n3
.
Un O 1
n3
quand ntend vers +∞est uno 1
n2
. On a donc :
un =
n→+∞(3 +c)n+a+b 2+
2−a2 4 −b2
8
n +
−b 2 +b3
16−a 2 +a3
8
n2 +o
1 n2
.
Par cons´equent, on aun ∼
n→+∞
C
n2, o`uC est une constante r´eelle, si et seulement si les coefficients devant n1,n0 etn−1sont nuls.
Ceci conduit `a poser un syst`eme, d’inconnue (a, b, c) (cf. variable systeme dans le code pr´ec´edent), que l’on r´esout avec Maple. On obtient la r´eponse suivante.
Attention :Il y a alors deux triplets solutions, un pour chacune des deux racines du polynˆome
−2 + 3Z2. Ses racines ´etant :
r2 3 et−
r2
3, on trouve les deux triplets suivants.
(a, b, c) = 2 r2
3,−4 r2
3,−3
!
et (a, b, c) = −2 r2
3,4 r2
3,−3
! . On a donc :
unn ∼
→+∞
C
n2, o`uC∈R ⇔
(a, b, c) = 2 r2
3,−4 r2
3,−3
!
ou
(a, b, c) = −2 r2
3,4 r2
3,−3
! .