PYTHON. 2 FEUILLE 4 D'EXERCICES

                   INFO   PYTHON. 2    Feuille 4     janvier - février 2012      BTS1

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

        COURS:

                   Thème :

                  •                     if Condition1:                        veut dire   Si  Condition1 

                                               ..Conséquence1...                       alors Conséquence1

                                       elif  Condition2:                    veut dire   Si  Condition2               

                                             ..Conséquence2                            alors Conséquence2

                                       else:                                       veut dire   Sinon            

                                              ..Conséquence3                                   alors Conséquence3

                                                                        (     On peut utiliser plusieurs fois elif .... :   )

                                      Attention:  l'ordre des conditions a une importance:

                                                         Si la condition  1 est réalisée, les conditions 

                                                         suivantes seront ignorées même si elles sont réalisées.

                                             def   exemple():

                                                      x =input( " donner la valeur de x " )

                                                      Si  x < 2:

                                                            print " Bonjour"

                                                       elif x< 4:

                                                                print  " Salut"

                                                       else:

                                                                print  " Adios"

                      Dans le cas où on saisit 1 pour x , comme x < 2 ie message Bonjour s'affiche.

                     Bien que  1< 4 soit vraie  le message Salut ne s'affichera pas

                    C'est la première condition réalisée qui l'emporte.

             •  float (  x )                             Pour une écriture décimale de x

                                                               Cela nécessite un module complémentaire.

                                                                from  decimal import*

              • raw_input( "  texte " )              Affiche le texte et attend la saisie d'une chaîne

               • Les connecteurs and , or , No sont utilisés en informatique.

                     Par exemple:    if x > 3 or ( x>0 and x< 2 ) :

                           veut dire si x plus grand que 3 ou x compris strictement entre 0 et 2

                     (  Cela veut dire si la valeur de vérité de x > 3 or ( x>0 and x< 2 )  est 1 )

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

  EXERCICE 1 :                   Admission au bac
 

                                En fournissant la note de l'écrit du bac

                                 le programme indique la suite des événements.

                                Imaginer les cas.  ( Commencer pas faire un plan sur papier )

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

  EXERCICE 2 .          Ouverture d'un guichet

                                En indiquant le jour de la semaine et l'heure où l'on

                                souhaite aller dans un magasin le programme 

                                doit indiquer si le magasin est ouvert ou fermé.

                               ( Même chose commencer pas faire un plan sur papier)

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

   EXERCICE 3 :                  Traduire 

Que fait le programme suivant ?

def change():

      a=1

      b=2
      if a>= b :
           a=b
      else:
            b=a

      print b

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

   EXERCICE 4         Tester 

        Quelle est la valeur de y à la fin du programme suivant ?

def am():
      x= − 3
      if x<− 4:

           y =0
      elif x<− 3:

             y =4−x
      elif x<-1:

           y =x*x+6*x+8
      elif x<3:

           y =2 − x
      else: y= − 2

      print y

-------------------------------------------------------------------------------------------------
   EXERCICE 5 :

               Tester
           Quelle est la valeur de y à la fin du programme suivant ?

def comp():

      x=3
      y= − 2
      if x<y:

           y = y −x
      elif x==y:

           y=0
      else:

            y=x− y

     print y

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

   EXERCICE 6.                Assurance

          Une compagnie d'assurances effectue des remboursements en laissant une somme,

          appelée franchise, qui reste à la charge de l'assuré.

         Cette franchise représente 10% du montant des dommages sans toutefois pouvoir

          être inférieure à 15 euros et supérieure à 500 euros. Exemple:

         •Théoriquement pour 1000 € de dégâts  l'assurance devrait rembourser 1000€.

             Ce n'est pas le cas.  10% x 1000 = 100€  .  On a 100 dans l'intervalle [ 15 ; 500 ].

             L'assuré ne recevra que 900 €  c-à-d  1000 −100 € .

         • Dans le cas de 6000 € de dégats. 10% x6000= 600 €  . On a  600 ≥ 500.

          L'assuré recevra 5500 €  c-à-d   6000 − 500  €.

         •Dans le cas de 140€ de dégats. 10% x 140 = 14.  On a 14 ≤ 15.

           L'assuré recevra 125 € c-à-d     140 − 15  €.

         •Dans le cas de   10  € de dégats. 10% x 10   = 1 €  .  On a    1 ≤ 15.

           On ne peut pas dire qu'il va toucher   10 − 15 = − 5 € . Ce qui ne veut rien dire.

           Dans ce cas on ne lui rembourse rien.

          Ecrire une série d'instructions qui demandent à l'utilisateur de saisir le montant des

          dommages et lui indiquent le montant remboursé ainsi que la montant de la franchise.

       ( Commencer par travailler sur papier )

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

   EXERCICE 7:     Seconde décimale   

   En donnant un réel x de l'intervalle [ 5 ; 10 [ écrit avec trois décimales

   le programme doit donner la seconde décimale.

          Remarque-exemple:

            Soit         a = 6,75    

          ♦Comment obtenir  la première décimale ? 

           Comme a ≥ 0   la partie entière de a qui est floor( a ) est aussi bien int( a ).

            Pour avoir le 6 il suffit de considérer int( a ) = 6.

            Pour avoir le 7    c-à-d  la première décimale:

             On considère:               10 a = 67,5

               Puis                              10 int(a ) = 60    

           Ensuite la différence  10 a − 10 int(a ) =  7,5

            Enfin                          int(   10 a − 10 int(a )  ) = 7

            C'est la première décimale.

           ♦Pour avoir la seconde décimale il faut repartir de  10 a − 10 int(a ) =  7,5

            Considérer      10 (  10 a − 10 int(a )  ) =  75

             puis                   10 (    int(   10 a − 10 int(a )  )  ) = 70

             Ensuite la différence          10 (  10 a − 10 int(a )  ) −    10 (    int(   10 a − 10 int(a )  )  )=  75− 70 =5

           C'est la deuxième décimale.

 -----------------------------------------------------------------------------------------------------------------
   Exercice 8 :     Appoint en pièces de monnaie
 

   On veut payer une somme d'argent M

    ( comprise entre 5€ et 10 euros )

   avec des pièces de 0, 01€    0, 02€      0, 05€     0, 10€

   0, 20€  , 0, 50€  , 1€ et 2€ , en utilisant le moins de pièces possibles.

  Par exemple:

        Soit M =  7, 29 €

        M se paie avec trois pièces de 2€ , une pièce de 1€,

        une pièce de  0, 20€,  une pièce de  0,05€ et deux pièces de 0, 02€.

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