Entraînement d'algo 9 / 4/14 BTS

       Entraînement  d'algo.  BTS1      9 avril 2014  

   • Travail sur papier. ( 30 minutes )

        Lire le programme suivant en Python 2.7.

        Puis répondre aux questions.

from random import*

from decimal import*

def Test(L):

      Q=[]
      for i in range(0,N-1):
           Q.append(round((L[i+1]/L[i]),2))
      return Q

####### PROGRAMME PRINCIPAL###
            ########################
L=input("Entrer une liste: L= ")
N=len(L)
print "La liste Q est :" , Test(L)

             QUESTIONS:

   1. Le fait de mettre 

        L=input("Entrer une liste: L= ")

        au même alignement que def

        présente quel intérêt ?

   2. A quoi sert le round( .... , 2  )  ?

       round((L[i+1]/L[i]),2))  

    3. Que signifie N=len(L) ?

    4. Que signifie Q=[] ?

    5. Que peut-on dire de l'entier i quand on a:

           for i in range (N-1):  ?

     6. Que donne 6./7. ?

     7. Qu'obtient-on avec ce programme ?

          Tester le programme pour L=[2,4,8,16].

     8. Modifier le programme de façon à obtenir également la liste 

      des différences successives de deux termes consécutifs de L.

     9.Soit L  la liste des premiers termes d'une suite.

         Quel serait l'intérêt d'un tel programme?

-------------------------------------------------------------------------------------------------

     • Travail sur ordinateur. ( 30 minutes )

      1. Ecrire un programme en Python 2.7 , qui , quand l'utilisateur entre

         l'entier naturel n, donne le terme d'indice n de la suite ( un ) telle que :

                     u0 = 1

                     u1 = 1

                     un + 2 =   un + un + 1     pour tout n dans IN

      2. Modifier le programme poour avoir la liste L des cinq premiers termes

          de la suite ( un ).

     3. Modifier cet algorithme à l'aide du premier travail, pour pouvoir dire si la suite 

          semble particulière.

  ------------------------------------------------------------------------------