PYTHON.2 INFO FEUILLE D'EXERCICES n° 20 BTS1 janvier 2012
Thème:
• Utilisation de return ......
Cela permet d'avoir un résultat renvoyé par un script.
C'est comme un "aliment " intermédiaire qui peut être repris
par un autre script pour fournir un autre résultat plus intéressant.
• Utilisation de la liste des premiers termes d'une suite pour en
remarquer la nature.
• Utilisation de plusieurs scripts à la suite qui s'appellent
( interaction) et ainsi permettent une action plus complexe.
• Conjecturer la nature d'une suite ( géométrique? arithmétique ? quelconque)
------------------------------------------------------------------------------------------
EXERCICE 1
On considère une suite récurrente ( un ) définie sur IN
par son premier terme u0 = 2 et la relation de récurrence
un =3 un - 1 - 2 pour tout n dans IN*.
Il est donc posssible de proche en proche à partir du premier terme
de trouver le terme que l'on souhaite.
1. Ecrire un script qui donne le terme d'indice n quand on sait l'entier n.
2. Ecrire un script qui donne la liste des N premiers termes de la suite
quand on saisit l'entier N.
3. On veut pouvoir conjecturer si la suite est géométrique ou non.
En supposant que la suite est à termes non nuls cela revient
à se demander s'il existe un réel q tel que :
Pour tout n dans IN*
un / un -1 = q.
Concevoir un script qui, à la demande quand on entre N, donne sous la forme d'une liste,
les N premiers quotients des termes de la suite ( un ).
4. Ici en faisant N = 5. Quelle liste obtenez-vous?
La suite est-elle géométrique?
--------------------------------------------------------------------------------
REPONSE:
1. On peut envisager
from decimal import*
# Le script qui permet de définir la suite (un ) est:
def termu(n):
if n==0:
return 2
else:
return 3*termu(n-1)-2
# Programme Principal qui actionne le script
##### Programme principal #
N=input(" Quel est l'indice du termes souhaité? ")
print " On obtient: u",N," = ",termu(N)
#####################################
On obtient par exemple pour l'indice 6 c-à-d pour u6:
>>>
Quel est l'indice du termes souhaité? 6
On obtient: u 6 = 730
>>>
On obtient par exemple pour l'indice 10 c-à-d pour u10:
>>>
Quel est l'indice du termes souhaité? 10
On obtient: u 10 = 59050
>>>
2. On peut envisager:
from decimal import*
#C'est un script qui permet de définir la suite (un )
def termu(n):
if n==0:
return 2
else:
return 3*termu(n-1)-2
# Second script qui forme la liste de N quotients à partir
# des termes fournis par le premier script
def lis(N):
L=[]
for i in range(N):
L.append(termu(i))
print L
# Programme Principal qui actionne en cascade le second script qui
# qui actionne lui même le premier script
##### Programme principal #################
N=input(" Combien de termes voulez- vous? ")
print " Les ", N," premiers termes de la suite sont",lis(N)
#################################
On obtient par exemple avec N = 8:
>>>
Combien de termes voulez- vous? 8
Les 8 premiers termes de la suite sont [2, 4, 10, 28, 82, 244, 730, 2188]
None
>>>
3. On peut envisager:
from decimal import*
# C'est un premier script qui permet de définir la suite un dès que
# l'on a n.
def termu(n):
if n==0:
return 2
else:
return 3*termu(n-1)-2
#Script qui permet d'avoir les N premiers quotients des termes successifs de
# la suite( un ) .Il fait appel au premier script
def quotu(N):
F=[]
for i in range(N):
F.append(termu(i+1)/termu(i))
print F
# PROGRAMME PRINCIPAL#
###################
N=input(" Combien de quotients voulez -vous dans la liste des quotients ? ")
print " La liste des",N, "premiers quotients successifs des termes de la suite est : ",quotu(N)
###########################
On obtient par exemple avec N = 5 :
>>>
Combien de quotients voulez -vous dans la liste des quotients ? 5
La liste des 5 premiers quotients successifs des termes de la suite est : [2, 2, 2, 2, 2]
None
>>>
------------------------------------------------------------------------
EXERCICE 2
On considère la suite récurrente ( un ) définie sur IN
par son premier terme u0 = 2 et la relation de récurrence
un = 3 un - 1 - 2 pour tout n dans IN*.
Soit la suite ( wn ) définie sur IN par:
wn = un - 1 pour tout n dans IN.
1 . Ecrire un script qui donne la liste de N premiers quotients des
premiers termes successif de la suite ( wn ) quand on saisit l'entier N.
2. Tester le script pour N = 7.
Que pouvez-vous conjecturer pour la suite ( wn )?
-----------------------------------------------------------------------------
REPONSE:
1. On peut considerer trois scripts
from decimal import*
def termu(n):
if n==0:
return 2
else:
return 3*termu(n-1)-2
def termw(n):
return termu(n)-1
def quotw(N):
L=[]
for i in range(N):
L.append(termw(i+1)/termw(i))
print L
# PROGRAMME PRINCIPAL#
##########################
N=input(" Combien de terme de la liste L des quotients voulez vous ? ")
print " La liste L des",N, "quotients successifs des termes consécutifs est : L= ",quotw(N)
#########################
2. Pour N = 7 on obtient :
>>>
Combien de terme de la liste L des quotients voulez vous ? 7
La liste L des 7 quotients successifs des termes consécutifs est : L= [3, 3, 3, 3, 3, 3, 3]
None
>>>
Conclusion: On peut donc conjecturer que la suite ( w ) est géométrique de raison 3