Suites imbriquées
Objectif
Concevoir des algorithmes permettant de calculer les termes de suites imbriquées et d’effectuer des conjectures.
Exercice 1. Des suites imbriquées : tableur et algorithme
On considère les suites(un)et(vn)définies pour tout entiernpar :
u0= 1 ; v0= 2 un+1= un+ 2vn
3 vn+1=un+ 4vn
5
Partie A : Avec un tableur
1. Calculer à la mainu1,v1,u2etv2.
2. A l’aide d’un tableur, on cherche à calculer les 50 premiers termes des deux suites. Quelles formule faut-il entrer dans les cellules A3, B3 et C3 et recopier vers le bas pour remplir les colonne A, B et C afin d’obtenir les termes des deux suites ? Faites-le.
B2 ... ✗ ✔ fx
A B C D E F G H
1 n un vn
2 0 1 2
3 1
3. Quelle(s) conjecture(s) peut-on émettre (limites, variations) ?
Partie B : Avec un algorithme
1. Écrire sous Python un algorithme qui prend en entrée un entier naturel net donne en sortie le couple de valeurs (un; vn).
1 def f(n):
2 '''In : indice n, entier naturel
3 Out : (un,vn) '''
4 assert n>=0
5 u=1 # u0
6 v=2 # v0
7 ...
8 ...
9 return(u,v)
Attention ici, lors du calcul devn+1, il faut utiliser la valeur deun, et pas celle deun+1. On peut utiliser une variable tampon ou une particularité de Python.
Aide
2. Vérifier quelques valeurs en utilisant les résultats de la partie A.
3. Quelle(s) conjecture(s) peut-on émettre (limites, variations) ?
Partie C : Une démonstration
1. On pose pour tout entiern:
wn =vn−un
Écrire sous Python un algorithme (ou modifier le précédent) qui prend en entrée un entier naturelnet donne en sortie (un; vn; wn).
2. Quelle conjecture faire sur la suite(wn)?
3. Démontrer que la suite(wn)est géométrique. Donner alors sa limite et son terme général.
4. On pose pour tout entiern:
tn = 3un+ 10vn
Écrire sous Python un algorithme qui prend en entrée un entier naturelnet donne en sortie(un; vn; tn).
5. Quelle conjecture faire sur la suite(tn)? 6. Démontrer que la suite(tn)est constante.
7. Démontrer alors que :
un=23 13−10
13× 2
15 n
vn =23 13+ 3
13× 2
15 n
8. En déduire les limites des suites(un)et(vn).
Exercice 2. D’après Bac : Avec Matplotlib
On définit les pointsAnpar leurs coordonnées(xn; yn)avec pournentier :
x0=−3 y0= 4
xn+1 = 0,8xn−0,6yn yn+1= 0,6xn+ 0,8yn
1. Calculerx1,y1,x2,y2.
2. Écrire un algorithme permettant de calculer les coordonnées deAnpournentier fixé.
def g(n):
'''IN : n entier, rang des termes à calculer OUT : (xn , yn) '''
x=-3 # x0 y=4 # y0
for k in range(n):
...
return (x,y)
3. On cherche à représenter les points dans un repère. Pour cela on va utiliser le module mathplotlib et il nous faut les abscisses et les ordonnées dans deux listes distinctes. Voici quelques rappels de cours utiles.
Une liste est une suite d’éléments numérotés dont le premier indice est 0. En Python, une liste s’écrit entre crochets [... , ..., ..., ...] avec les éléments séparés par des virgules.
• Le premier élément de la liste est L[0], le 2eest L[1], ...
• Une liste peut être écrite de manière explicite : L = ["Lundi", "Mardi","Mercredi"]
• Sa longueur est donnée parlen(L).
• Si les éléments de la liste sont comparables, le max. est donné parmax(L), le min. par min(L)
• L=[] permet de définir une liste vide.
• Si L est une liste, l’instructionL.append(x)va ajouter l’élémentt [x] à la liste L.
• Pour parcourir la liste L , deux solutions sont possibles : – un parcours sur les indices : for i in range(len(L)):
– un parcours direct sur les éléments : for X in L:
Une liste : L
• LIST.append(x): Ajoute un élément x à la fin de la liste nommée LIST, et la modifie.
• On peut aussi écrire :LIST = LIST + [x]
Par contre cette méthode est plus couteuse. En effet, Python va créer une nouvelle liste contenant l’élément x, puis stocker le résultat dans la variable LIST.
List.append(x)
www.math93.com / M. Duffaud 3/5
3. a. Modifier le programme précédent afin que la fonction renvoie deux listes, l’une avec les abscisses et l’autre avec les ordonnées pour06k6n.
def liste_g(n):
'''IN : n entier,
OUT : [x0,...,xn],[y0,...,yn] ''' x=-3 # x0
y=4 # y0 Liste_x=[x]
Liste_y=[y]
for k in range(...):
....
....
return Liste_x , Liste_y Vérifier par exemple que :
>>> liste_g(5)
([-3, -4.800000000000001, -4.680000000000001, -2.6880000000000006,
0.3791999999999991, 3.2947199999999994], [4, 1.4000000000000004, -1.76, -4.216, -4.985600000000001, -3.7609600000000016])
3. b. On peut maintenant afficher les points. Voici la syntaxe.
import matplotlib.pyplot as plt
fig = plt.figure() # nécessaire sur repl.it n=20
vx=liste_g(n)[0] # pour obtenir la première liste, celles des abscisses vy=liste_g(n)[1] # pour obtenir la 2e liste, celles des ordonnées
plt.plot(vx,vy,'.',color='red')
# le 3e argument '.' permet de préciser qu'on veut un nuage de points
#plt.plot(vx,vy,'-',color='red') # ou '-' pour les relier
fig.savefig('graph.png') # nécessaire sur repl.it, sinon simplement plt.show() plt.show()
3. c. Conjecture: Quelle semble être l’ensemble auquel appartiennent les pointsAn? 4. Quelle égalité faut-il établir ? Démontrer le résultat conjecturé.
Exercice 3. Suites imbriquées (reprise de l’exercice du TD n°1)
Soit pour tout entiern>1:
un=
n
X
k=1
1
k2 et vn =un+ 1 n
1. Calculer les 3 premiers termes des deux suites.
2. Écrire sous Python un algorithme qui prend en entrée un entier naturel net donne en sortie le couple de valeurs (un; vn).
def h(n):
'''In : indice n, entier naturel Out : (un,vn) '''
assert n>=1 u=... # u0 v=... # v0 ...
...
return(u,v)
3. Vérifier quelques valeurs en utilisant les résultats de question 1.
4. Quelle conjecture peut-on émettre sur la convergence des suites ?
Rappel : on a montré dans le TD 1 que les suites(un)et(vn)sont bornées et dans le TD 2 qu’elles sont convergentes.
" Fin du TD #
www.math93.com / M. Duffaud 5/5