SUJET 63 mai 2017

                     E22           BTS SIO            Sujet mai 2017

           PREMIER TRAVAIL 30 mn sur papier

              Réservé aux candidats qui connaissent bien Python 2.7.

               Voici, en Python 2.7,  un algorithme. Lisez- le ,puis répondez aux questions.

from random import*

def resolu():

       print  " La première équation est:  a x + b y = c"

       print  " La seconde équation est :  d x + e y = f "

       L=input(" Donner la liste [a,b,c]  distincte de [0,0,0 ] ")

       E=input(" Donner la liste [d,e,f]distincte de [0,0,0 ] ")

       a,b,c=L[0],L[1],L[2]

       d,e,f=E[0],E[1],E[2]
       if a==0 and d==0:
             if b== 0 or e==0:
                   print " Aucune solution car c ou f sont alors non nuls"
             else:
                    if c*1./b==f*1./e:
                           print " x est quelconque dans les reels"
                           print "y = ", c*1./b
                           print " les couples solutions sont", "( x ",c*1./b,")", " avec x quelconque"
                    else:
                           print " Aucune solution"
       else:
              if a==0:
                    a,d=d,a
                    b,e=e,b
                    c,f=f,c        
              if a!=0:
                    e=e-(b*d*1./a)
                    f=f-(c*d*1./a)
                    if e==0 and f==0:
                          print " la seconde équation devient:  0y =0 . "                              
                          print " il y a tous les couples coordonnees des points"
                          print "de la droite D:",a,"x+",b,"y=",c,"comme solutions"   
                    else:  
                            if  e==0:
                                   print " Aucune solution"
                            else:
                                   y=f*1./e
                                   x=(c-b*y)*1./a
                                   print "Le couple solution est : ( x , y )= ", "(",x,",",y,")"           

       ​QUESTIONS :

             1- a. Accepte-t-on le système suivant ?

                               0 x + 0 y = 0

                                x    +  y   = 1

                 b. Quand on saisit la liste [ 1,2, 3 ] puis [2 , 3 , 4 ] que donne l'algorithme ?

             2- Que signifie a,b,c=L[0],L[1],L[2] ?

             3- Quand on écrit y=c*1./b , à quoi sert le 1. ?

             4- Quand on saisit la liste [ 0 , 1, 2 ] puis [2 , 4 , 5 ] que donne l'algorithme ?

             5 -Quel est le but de cet algorithme ?

             6- Comment l'algorithme procède -t-il  quand a est nul?

             7- Que signifie if a==0 and d==0: ?

             8- Modifier l'algorithme pour qu'il demande successivement les saisies des valeurs de a , b , c puis 

                 les introduise dans une liste vide L.

             9. Quel nom donne-t-on à la méthode utilisée?

             ​SECOND TRAVAIL 30 mn sur ordinateur

               1-Écrire un algorithm, si possible en Python 2.7, qui, quand on saisit un entier naturel n, donne n ! .

                  Tester l'algorithme avec 5 puis avec 0. ( Rappel : 0 ! =1 )

               2-Modifier l'algorithme pour que, si n est non nul, il introduise tous les facteurs pairs de n ! dans

                   une liste vide L .

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