INFO TEST n° 2 du 18 novembre 2013 BTS1

                                    INFO TEST n° 2    18 novembre 2013   BTS1

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

 EXERCICE 1

               Un musée accepte un visiteur quand il respecte l'une

               des situations suivantes:  

            • Etre accompagné par un adulte et avoir moins de 18 ans.    

            • Avoir un billet d'entrée.                                                      

            • Avoir plus de 18 ans et avoir un billet d'entrée.                   

         On considère les variables booléennes suivantes:

             a , b , c.

           a = 1   si  le visiteur est majeur ( a = 0 sinon  )

           b = 1  si le visiteur  n'est pas accompagné  ( b = 0 sinon )

           c = 1  si  le visiteur n'a pas de billet d'entrée ( c = 0 sinon)

           1. Traduire par une expression booléenne A le fait que le

               visiteur soit accepté.

          2. Donner le tableau de Karnaugh de A.

          3. En déduire l'expression

                               abarre1.png

          4. Simplifier  A à l'aide du tableau de Karnaugh.

          5. Retrouver cette simplification par le calcul.

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

     REPONSE:

           1. Donnons l'expression de A.

              La première chose à faire est de traduire chaque situation.

                    On a ici:

                • Etre accompagné par un adulte et avoir moins de 18 ans

                   s'écrit:  

                                abarrebbarre.png

               • Avoir un billet d'entrée

                   s'écrit :

                               cbarre.png

               •  • Avoir plus de 18 ans et avoir un billet d'entrée

                    s'écrit:

                               acbarre.png

         Ainsi:  

                          expa.png

             2. Tableau de Karnaugh de A:

     b  c

 a   

 0 0   0 1   1 1   1 0 

 

  0

 

  1      1       1

 

  1

 

  1        1

             3. Déduisons l'expression de 

                       abarre1.png               

                Conclusion:   Les cases vides correspondent à:

                        exprabarre-2.png

                   En effet le tableau de Karnaugh de 

                          abarre1.png    

                   est:

     b  c

 a   

 0 0   0 1   1 1   1 0 

 

  0

 

       1     

 

  1

 

      1       

            4. Simplifions A à l'aide du tableau de Karnaugh de A.

                On a :

                     simplificakarn.png 

           5. Simplifions A par le calcul.

                  simplificationa.png   

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

 EXERCICE 2 

              Voici un script écrit en Python 2.7:                          

def filtre_div(list_entiers,N_entier) :
       L = []
       for i in list_entiers:
             if i % N_entier == 0:
                 L.append(i)
       print L

                       1. Quel est l'effet de ce script si l'on considère?

                                   list_entiers=[1,2,6,5,7]

                                    N_entier = 3   

          REPONSE:

                 On obtient :                

>>> filtre_div([1,2,6,5,7],3)
[6]
>>>

                       2. Modifier le script pour qu'il demande d'entrer

                                 list_entiers    et  N_entier

                  REPONSE:

                   On peut considérer:

def filtre1_div():
       list_entiers=input("Donner une liste d'entiers: ")
       N_entier=input("Par quel entier voulez-vous savoir s'ils sont divisible? ")
       L=[]
       for i in list_entiers:
             if i % N_entier == 0:
                 L.append(i)
       print L

                    On obtient:

>>> filtre1_div()
Donner une liste d'entiers: [1,2,6,5,7]
Par quel entier voulez-vous savoir s'ils sont divisible? 3
[6]
>>>

                3. Modifier le script de nouveau pour qu'il 

                    génère lui-même le choix de l'entier N au hasard entre 2 et 9,

                    qu'il affiche cet entier puis affiche L et enfin si L est vide

                   indique ce qui se passe.

  REPONSE:

               On peut considérer:

from random import*
def filtre2_div():
       list_entiers=input("Donner une liste d'entiers: ")
       N_entier=randint(2,9)
       print N_entier
       L=[]
       for i in list_entiers:
             if i % N_entier == 0:
                L.append(i)
       print L
       if L==[]:
            print  "Aucun élément de la liste n'est divisible par",N_entier

               Cela donne par exemple:

>>> filtre2_div()
Donner une liste d'entiers: [1,16,4,5,10,78,15]
7
[]
Aucun élément de la liste n'est divisible par 7
>>>

              Autre exemple:

>>> filtre2_div()
Donner une liste d'entiers: [2,16,4,5,12,10,14,7,18,21,9,8]
9
[18, 9]
>>>

                     4. On considère les deux scripts suivants:

                         Quand on exécute sum() qu'obtient-on?

from random import*

def traitement_de(lis):
      L=[]
      for i in lis:
           if i % 2==0:
               L.append(i)
      return L

def sum(): 

      lis=input("Donner une liste d'au moins dix entiers: ")
      F=traitement_de(lis)

      k=len(F)

      SP=0

      for j in range(0,k): 

           SP=SP+F[j]

      print SP

              REPONSE:

    On obtient la somme des entiers pairs de la liste que l'on entre:

                   On obtient par exemple:

>>> sum()
Donner une liste d'au moins dix entiers: [1,2,3,4,5,6,7,8,9,11]
20
>>>

                 Ici on a :   2 + 4 + 6 + 8 = 20

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

    EXERCICE 3

      Un particulier veut mettre  n litres dans  sa cuve de fioul domestique pour l'hiver.

      S'il commande moins de 3000 litres l'entreprise lui demande 0,955 € / litre  TTC.

      S'il commande au moins 3000 litres l'entreprise lui fait une remise de 12,5% sur

       le prix du litre TTC.

      Ecrire un script qui demande n , calcule le montant de la facture et l'affiche.

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

              REPONSE:

             On peut proposer:

from random import*
def montant():
      n=input("Combien de litres voulez-vous acheter? ")
      if n<3000:
           p=0.955*n
      else:
             p=0.955*0.875*n
      print "Le montant de votre facture est : ",p,"€"

                        On obtient par exemple:

>>> montant()
Combien de litres voulez-vous acheter? 2500 
Le montant de votre facture est : 2387.5 €
>>>

                       Autre exemple:

>>> montant()
Combien de litres voulez-vous acheter? 3200
Le montant de votre facture est : 2674.0 €
>>>

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

   EXERCICE 4

                  Un supermarché offre la possibilité à ses clients d'acquérir une carte de fidélité 

                  pour 20  €  annuel.

                 Pour tout achat d'un montant d'au moins 20 € le détenteur 

                 obtient  sur sa carte 3% d'un montant de l'achat sous forme de points.

                 Pour 10 points le détenteur reçoit un bon-chèque de 15 €.

                 Ecrire un script qui traduit la situation:

                 Il doit demander le montant M en euros de l'achat.           

                 Il doit  indiquer, en tenant compte du prix de la carte, si elle est déjà rentabilisée ou non

                 pour un détenteur de la carte. 

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

        REPONSE:

from random import*
from decimal import*
def car():
       M=input("Donner le montant de l'achat: ")
       if M>=20:
             bonus=(int((M*0.03)*0.10))*15 
             print  " le bonus est",bonus
             bilan =bonus-20
             print  " le bilan est ",bilan
             if bilan>=0:
                   print  " la carte est déjà rentabilisée"
             else:
                    print  " La carte n'est pas encore rentabilisée"
      else:
             print  " La carte n'est pas encore rentabilisée"

                                 Par exemple:

>>> car()
Donner le montant de l'achat: 666.7
le bonus est 30
le bilan est 10
la carte est déjà rentabilisée

>>>

                                Par exemple:

>>> car()
Donner le montant de l'achat: 666.6
le bonus est 15
le bilan est -5
La carte n'est pas encore rentabilisée
>>>

                      Il apparaît que pour quelqu'un qui achètera en un an moins de 666,7 € 

                     la carte est sans intérêt.

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