CCF E22 n°2 BTS 1 SIO mai 2012

                                                                 SUJET  n°2 CCF    BTS1 SIO

  

    Partie A sur papier.( 30 minutes)  

    On donne l’extrait d’algorithme suivant :

     Variables :

               T  et L  listes

               a et b entiers naturels 

     Debut

               L=[]                                                       (1)

               L.append( Decimal(T[b]/T[a] ))               ( 2)

      FIN

    QUESTIONS:

      1. Quelle condition doit-on imposer à a et b ? 

      2. A quoi sert   .append ( ) ?                                      

      3. Que font les lignes ( 1 ) et ( 2 )?      

      4. a.Soit T = [ 3 , 8 , 5 ,7,17]

              Ecrire un algorithme qui retourne la liste L suivante :

                L=[ 8/3 , 5/8 , 7/5 , 17/7 ]

          b. Ecrire un algorithme qui demande à l’utilisateur

             d’entrer une liste T puis qui retourne la liste L des quotients successifs

              des termes immédiatement consécutifs de T.

      5. Quand on écrit «  for  i  in range(N) », avec  N  un entier

           naturel non nul, quelles sont les valeurs possibles de i?

 

    PARTIE B sur ordinateur ( 30 minutes )-----------------------------------------

  1. Soit les deux suites (un ) et ( w) définies sur IN par :             

            u0 = 2 

            un + 1  = 3 u - 2   pour tout n dans IN

            wn = un - 1

      a. Compléter l'algorithme ci-dessous pour obtenir un algorithme

          qui donne le terme wquand l’utilisateur entre l’entier n , sous Python 2.7.

import decimal

def termu(n):

       if n==0:

          return 2

       else:

           return  3*termu(n-1)-2

 def termw(n):

                             …………….. 

 # PROGRAMME PRINCIPAL#

  ###################

 n=input(" Donner l’indice n du terme de la suite (w) que vous voulez : n = ")

 print " Le terme w ", n,"= ",  …………

                                                                                                                   

       b. Modifier votre algorithme  en ajoutant un script qui permet d’avoir la liste

           L = [ w1 / w0  ,  w2  / w1  , ....  ,  wN  / wN-1  ] 

       quand  l’utilisateur entre l’entier N non nul.                                                                                      

 

     2.  Tester cet algorithme avec N =10. Que pouvez vous conjecturer pour la suite  ( wn

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