PYTHON.2 INFO FEUILLE n ° 20

            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 (u) 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 (u)
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 u 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

# 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