Page 269 - IT2
P. 269

Ecrire une fonction qui calcule le factoriel d’un entier n donné (le factoriel d’un entier n s’écrit n!
               et n! = 1 x 2 x 3 x…n. Exemple : 3! = 1 x 2 x 3 = 6).
                                                                                                           p
               Ecrire une fonction qui permet de calculer le nombre d’arrangements de p parmi n éléments,   .
                                                                                                         An
                           p      ! n
               Rappel :     =
                        An
                              (n - p )!
               Ecrire un programme utilisant ces fonctions, pour les tester.

               Exercice 3 : (5 pts)

               Ecrire un programme qui permet d’entrer un tableau de n valeurs numériques ; puis de compter et
               afficher le nombre de ses valeurs distinctes.

               Partie 2 : Programmation orientée objet (25 points)

               L’objectif de  cet  exercice est de développer une application de  gestion  des demandes de congé
               d’une entreprise.
                   1.  Classe Fonctionnaire (3,5pts)
                          a.  Créer  une  classe  Fonctionnaire  qui  se  caractérise  par :  Numéro  de    matricule,  nom,
                              prénom, date de naissance et solde des jours de congés du fonctionnaire. (0,5 pt)
                          b.  Créer un constructeur à 2 paramètres : nom et prénom, ce constructeur initialise le numéro
                              de matricule (affecté de façon incrémentale par rapport au nombre des fonctionnaires), et la
                              date d’embauche par la date système. (1 pt)
                          c.  Ajouter des accesseurs pour tous les champs. (1 pt)
                          d.  Ajouter une méthode toString () qui renvoie les informations d’un fonctionnaire. (1 pt)
                   2.  Classe Directeur (8pts)
                          a.  Créer une classe Directeur sous-classe de la classe Fonctionnaire, elle  comporte  une liste
                              des fonctionnaires.  Ecrire  le  constructeur  correspondant  ainsi  que  sa méthode toString
                              qui renvoie  les informations  d’un Directeur ainsi que les noms des fonctionnaires. (2 pts)
                          b.  Ajouter  une  méthode  ajouterFonctionnaire    qui  permet  d’ajouter  un  Fonctionnaire  à  la
                              liste des Fonctionnaires. (2 pts)
                             c.  Ajouter une méthode getFonctionnaireParNom qui recherche et renvoie le Numéro de
                                 matricule d’un Fonctionnaire par nom et prénom. (2 pts)
                          d.  Ajouter une méthode getFonctionnairesParAge qui renvoie la liste des fonctionnaires qui
                              atteignent l’âge de 60 ans cette année. (2 pts)
                   3.  Classe DemandeConge (2,5pts)
                          a.  Créer  une  classe  DemandeConge  caractérisé  par : code  fonctionnaire,  date  début,  durée,
                              motif, Etat (En cours, Validé, Refusé). (0,5 pt)
                          b.  Ajouter un constructeur à 4 paramètres : code fonctionnaire, date début, durée et motif, et
                              initialise l’état par la valeur « En cours ». (0,5 pt)
                          c.  Ajouter  une  méthode  CalcDateFin  qui  calcule la date  de fin  à  partir  de la date  début  et
                              durée. (0,5 pt)
                          d.  Ajouter des accesseurs pour tous les champs. (1 pt)
                   4.  Classe GestionCongé (11pts)
                          a.  Créer une classe GestionConge qui se caractérise par une liste des Directeur et une liste
                              des DemandeConge  et ajouter un constructeur sans paramètre. (1 pt)


                                             www.itlearning-settat.com
                                                                                                   2 / 5
                                   Email: admission@itlearning-settat.com

                                                    Tél.:0661077812
   264   265   266   267   268   269   270   271   272   273   274