SUJET 48 mai 2017

                   E22  BTS SIO   Sujet  48    mai 2017

         PREMIER TRAVAIL  30 minutes sur papier

  ( Sujet pour les candidats qui connaissent Python 2.7)

        Lire les deux agorithmes écrits en Python 2.7, puis répondre aux questions.

from random import*

def prem(n):

      L=[]

       for i in range(2,n):

             if n%i==0:

                   L.append(i)

       if L==[]:

           return 1            

def prminf100():

       F=[]

       for n in range(2,100):                                                                                     

             if prem(n)==1:

                  F.append(n)

       print "Les nombres …...... entre 2 et 100 sont",F     

               QUESTIONS :

      1. Que signifie L=[] ?  

      2. Quand on écrit

                for i in range(2,n):

            quelles sont les valeurs prises par i ?

       3. Que signifie

                if n%i==0: ? 

       4.  Quel est l'effet de

            L.append(i) ?    

       5. Que fait le premier script ?

           Par exemple que fait   prem(13) ?   

        6.  Dans la dernière ligne que doit -on mettre à la place des pointillés ?

        7.   Quel est le but recherché quand on exécute prminf100() ?  

        8.  Modifier les scripts pour qu'il donne les entiers divisible par 5 entre 2 et 100.   

               SECOND TRAVAIL 30 minutes  sur ordinateur  

                1. Ecrire, si possible en Python.2.7,  un script qui quand on saisit l'entier n  donne

                     le terme d'indice n de la suite ( un )  de Fibonacci définie par:

                         u0 = 1            u1 = 1  

                         un = un - 1 +  un - 2   pour tout  entier naturel n≥ 2            

                2. Donner à l'aide de cet algorithme le terme  u10 .

               

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