TEST BTS1 1789

                                  TEST            25 nov. 2015               BTS1

             PREMIER TRAVAIL

Voici un algorithme écrit en Python 2

from random import*

def  bonjour():

        n=int(input("Entrez n "))

        if n==0:

              print  1

        else:
               a=1
               for i in range(1,n+1):
                     a=i*a
               print  a    

         QUESTIONS 

        1. Pourquoi a-t-on mis int devant input?       

        2. Pouvait-on mettre raw_input  au lieu de input ? 

        3. Quel est le but de cet algorithme ?                                    

        4. Pour n = 4 qu'obtient-on avec cet algorithme  ?   

        5 .Pourquoi a-t-on mis a = 1 ?                            

        6.Quelles sont les valeurs prises par i ?        

        7. Pourquoi mettons if n == 0 ?                 

        8. Si on déplace le dernier print à la verticale de  a=i*a        

          qu'est-ce que cela change ?

       9. Modifier l'algorithme pour qu'il utilise une boucle while au lieu d'une boucle for.   

      10. a. Que signifie  a=i*a ?                    

            b. Pourquoi a-t-on mis  from random import* au début ?       

            c. Prolonger le programme pour qu'il dise si n est pair ou impair.

                ( pair signifie divisible par 2 )

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

            SECOND TRAVAIL

       1 .   Écrire un programme en Python 2 qui fait deviner le juste prix  entier d'un article en euros

            ( que l'ordinateur décide de façon aléatoire )  qui vaut entre 1 € et 100€.

        2. Un candidat a écrit l'algo suivant et se demande ce qu'il va obtenir:

def essai():

       a = 0

        b = 1

        while b < 10:

                print b

                a=b

                b = a + b

                               Pouvez-vous l'aider à savoir?           

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