Etude de cas - Toubkal-it

Partie 1 : Programmation structurée (15 points) .... On souhaite développer une
application pour la gestion des Notes de l'examen de passage. Chaque stagiaire
 ...

Part of the document


|[pic] | |
|OFPPT | |
| |[pic] |
| |Office de la Formation Professionnelle |
| |et de la Promotion du Travail |
Direction Recherche et Ingénierie de la Formation |Filière : Techniques de Développement |Epreuve : Pratique - |
|Informatiques |V2-3 |
| |Barème : 60 points |
|Niveau : Technicien Spécialisé |Durée : 4h30mn |
Variante 2-3 Important : assurez-vous que tous les éléments de vos projets sont
sauvegardés dans un dossier portant votre nom et prénom et le numéro de la
variante de l'examen comme suit "NOM_PRENOM_Variante". Partie 1 : Programmation structurée (15 points) Exercice 1 : (4 pts) Ecrire un programme qui permet d'entrer un tableau de n valeurs
numériques ; puis d'inter changer ses éléments de manière que la 1ère
valeur devienne la dernière, la deuxième devienne l'avant dernière, ... ;
et l'afficher, dans ce nouvel ordre.
Exemples d'exécution :
|*** Inversion d'une suite de |
|nombres *** |
| |
|Donnez le nombre de valeurs :|
|7 |
|Donnez les valeurs : |
|14 |
|12 |
|25 |
|18 |
|22 |
|17 |
|11 |
| |
|Votre suite devient : |
|11 - 17 - 22 - 18 - 25|
|- 12 - 14 | N.B. Les éléments doivent être inter changés, et non simplement affichés,
dans cet ordre. Exercice 2 : (6 pts) 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).
Ecrire une fonction qui permet de calculer le nombre d'arrangements de p
parmi n éléments, [pic].
Rappel : [pic]
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) b. Ajouter une méthode listeFonctionnaires qui affiche la liste des noms
des Fonctionnaires qui ont demandé des congés cette année. (2 pts) c. Ajouter une méthode ajouterDemandeConge qui permet d'ajouter un objet
DemandeConge à la liste des demandes. (2 pts) d. Ajouter une méthode listeFoncEnConge qui retourne les noms des
fonctionnaires qui sont en congé. (3 pts) e. Ajouter une méthode listeDemandeCongeParFonctionnaire qui retourne
une liste des demandes de congé d'un fonctionnaire, cette méthode a
comme paramètre le code d'un Fonctionnaire. (3 pts) Partie 3 : Programmation événementielle (20 points) On souhaite développer une application pour la gestion des Notes de
l'examen de passage.
Chaque stagiaire est identifié par :
. Nom et prénom
. Groupe
. Niveau
. Moyenne EFM
. Note arabe
. Note français
. Note anglais
. Note Théorie
. Note pratique 1. Créer la classe Stagiaire. (2 pts)
2. Créer une classe Liste Stagiaire qui contient une Collection d'objets
Stagiaire. (2 pts)
3. Créer l'interface ci-dessous : (4 pts)
[pic]
4. Ecrire le code correspondant au bouton Valider permettant de valider
les données saisies par l'utilisateur et de les stocker dans une
collection d'objets Liste Stagiaire : les valeurs doivent être valides
c'est-à-dire comprises dans les bons intervalles. exemple : la note
Théorie doit être comprise entre 0 et 40. Si une erreur est détectée,
un message d'erreur doit être affiché. (4 pts)
5. Ecrire le code correspondant au bouton Calculer permettant de
calculer : (2 pts)
. La moyenne de l'examen de communication qui vaut (Note Arabe +
Note Français + Note Anglais)/4) .
. La moyenne générale qui vaut (Moyenne de l'examen de
communication + Moyenne EFM + Pratique + Théorie)/180).
6. Ajouter une interface qui permet de lister dans une grille tous les
stagiaires avec leurs notes et décision (ADMIS si Moyenne générale
>=10 ou REDOUBLE dans le cas contraire). (3 pts)
7. Ajouter dans cette interface un bouton Export qui permet d'enregistrer
ces données dans un fichier. (3 pts)
Barème de notation : Partie 1 : (15 points) |Question |Note |
|1 |4 |
| 2 |6 |
|3 |5 |
Partie 2 : (25 points) |Question |Note |
|1. a |0.5 |
|1. b |1 |
|1. c |1 |
|1. d |1 |
|2. a |2 |
|2. b |2 |
|2. c |2 |
|2. d |2 |
|3. a |0.5 |
|3. b |0.5 |
|3. c |0.5 |
|3 .d |1 |
|4. a |1 |
|4. b |2 |
|4. c |2 |
|4. d |3 |
|4. e |3 | Partie 3 : (20 points) |Question |Note |
|1 |2 |
|2 |2 |
|3 |4 |
|4 |4 |
|5 |2 |
|6 |3 |
|7 |3 | ----------------------- Examen Passage
Session Juin 2011