INFO PYTHON 2.7 TEST BTS1B 4/12/13

                                          INFO  PYTHON 2.7          TEST 1 D'ALGO             BTS1B       4 décembre 2013

         A  PREMIER TRAVAIL   sur papier 30 mn

                        Voici un algorithme en  Python 2 . 7

from random import*
def trim():
       L=input("Entrer une liste de quatre prénoms " )
       L1=input("Entrer un liste de quatre notes ")
       L2=input("Entrer une seconde liste de quatre notes ")
       M=[]
       for i in range(0,4):
             M.append((L1[i]+L2[i])/2.0)
             L.insert(2*i+1,round(M[i],2))

       print L

                                          Vous êtes informé que round( 7.789456,2) donne 7.79

                     c-à-d arrondit au centième supérieur le nombre décimal 7.789456 et ne donne que deux décimales. 

                      1. Quelles sont les valeurs successives de i ?

                      2. Que signifie M=[] ?

                      3. Qu'est-ce que L[0] ?

                      4.  Pourquoi a-t-on divisé par 2.0 au lieu de 2 ?

                            Pouvait-on laisser 2 mais multiplier par 1.0 le numérateur

                            pour le même effet ?

                      5. Quel est l'effet produit par   M.append((L1[i]+L2[i])/2.0)   ?

                      6. Quelles sont les valeurs de 2*i+1 ?

                      7. Quel est l'effet produit par   L.insert(5,round(M[2],2))?

                      8. Dans le cas où l'on entre,

                                         L= ["joe","alice","Ronan","Silva"]

                                          L1=[16,14,7,11]

                                          L2=[12,15,13,9]

                            indiquer ce qu'affiche le script.

                    9. A présent la liste L1 est constituées de notes d'anglais et la liste L2

                        est la liste de notes d'informatique.

                        On admet que le coefficient de l'anglais est 3 et que le coefficient

                        de l'informatique est 8.

                        Modifier le script proposé pour avoir les moyennes pondérées des étudiants.

                   10. Que devrait -on changer si la classe comportait 24 étudiants?

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

         SECOND TRAVAIL   sur ordinateur     30 minutes

              Ecrire un script qui de demande l'entrée d'une liste de quatre prénoms,

             de deux matières , des coefficients de chacune des matières, de deux listes 

             de quatre notes dans chaque matière et qui finalement affiche 

             la moyenne pondérée avec deux décimales de chaque étudiant avec son nom.

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

           REPONSE:

         A PREMIER TRAVAIL

          1. Les valeurs successives de i sont 0; 1 ;2 ; 3

          2.     M= []  signifie que M est la liste vide.

           3.  L[0] est le premier terme de la liste L. Il s'agit ici d'une chaîne

          4.     On a divisé par 2.0 au de 2 pour indiquer à Python 2.7 que l'on veut

                 un nombre décimal.     

                 Toute à fait   la multiplication du numérateur par 1.0 aurait produit le même effet.

          5. L'effet produit par   M.append((L1[i]+L2[i])/2.0)

               consiste à ajouter à la fin de la liste M la moyenne arithmétique

              de i + 1 ième notes des listes L1 et L2.

          6.  Les valeurs de 2*i+1  sont : 1 ; 3 ; 5 ; 7

                En effet:

                Pour i = 0       2*i+1 = 1

                Pour i = 1       2*i+1 = 3

                Pour i = 2       2*i+1 = 5

                Pour i = 3       2*i+1 = 7

          7.  L'effet produit par   L.insert(5,round(M[2],2)) consiste 

                  à mettre dans la liste L en sixième position le troisième terme de la liste M.

           8. Le script affiche :

>>> trim()
Entrer une liste de quatre prénoms ["Joe","Alice","Ronan","Silva"]
Entrer un liste de quatre notes [16,14,7,11]
Entrer une seconde liste de quatre notes [12,15,13,9]
['Joe', 14.0, 'Alice', 14.5, 'Ronan', 10.0, 'Silva', 10.0]
>>>

             Cela s'apparente à un bulletin trimestriel de notes

              9.  On peut considérer:

from random import*
def trim():
       L=input("Entrer une liste de quatre prénoms " )
       L1=input("Entrer un liste de quatre notes ")
       L2=input("Entrer une seconde liste de quatre notes ")
       M=[]
       for i in range(0,4):
            M.append((3*L1[i]+8*L2[i])/11.0)
            L.insert(2*i+1,round(M[i],2))
      print L

                  On obtient par exemple:

>>> trim()
Entrer une liste de quatre prénoms ["Joe","Alice","Ronan","Silva"]
Entrer un liste de quatre notes [16,14,7,11]
Entrer une seconde liste de quatre notes [12,15,13,9]
['Joe', 13.09, 'Alice', 14.73, 'Ronan', 11.36, 'Silva', 9.55]
>>>

       10.Pour 24 étudiants il faudrait remplacer 4 par 24.  

   B SECOND TRAVAIL ----------------------------------------------------------------------------- 

           On peut considérer:  

from random import*
def trim():
       L=input("Entrer une liste de quatre prénoms : " )
       a=raw_input("Donner la matière 1:  ")
       b=raw_input("Donner la matière 2 :  ")
       L1=input("Entrer un liste de quatre notes de la matière 1 :  ")
       L2=input("Entrer une seconde liste de quatre notes de la matière 2 : ")
       c=input("Donner le coefficient de la matière 1 : ")
       d=input("Donner le coefficient de la matière 2 :  ")
       M=[]
       for i in range(0,4):
             M.append(((c*L1[i]+d*L2[i])*1.0)/(c+d))
             L.insert(2*i+1,round(M[i],2))
       print L

                         On obtient par exemple:

>>> trim()
Entrer une liste de quatre prénoms :  ["Joe","Alice","Ronan","Silva"]
Donner la matière 1 :  anglais
Donner la matière 2 :  informatique
Entrer un liste de quatre notes de la matière 1 :  [16,14,7,11]
Entrer une seconde liste de quatre notes de la matière 2 :  [12,15,13,9]
Donner le coefficient de la matière 1 :  3
Donner le coefficient de la matière 2 :  8
['Joe', 13.09, 'Alice', 14.73, 'Ronan', 11.36, 'Silva', 9.55]
>>>

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