OFPPT Office de la Formation Professionnelle et de la Promotion du ...

... votre nom et prénom et le numéro de la variante de l'examen comme suit "
NOM_PRENOM_Variante". .... Partie 3 : Programmation Evénementielle (20 pts).

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 Informatique |Epreuve : Pratique - V1-1|
| | |
| |Barème : 60 points |
|Niveau : Technicien Spécialisé |Durée : 4h30mn |
Variante 1-1 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 pts) 1. Ecrire un programme en C ou équivalent permettant de compter le nombre
de diviseurs d'un nombre entier donné par l'utilisateur, puis de les
afficher du plus grand au plus petit. (5 pts) Exemple d'exécution : 2. Ecrire un programme en C ou équivalent permettant de saisir un tableau
de 10 valeurs entières, et de diviser l'ensemble des éléments du tableau
par la valeur du nème élément du tableau, n étant saisi par l'utilisateur.
(4 pts) Exemple d'exécution :
3.
a- Ecrire une fonction nommée « puissance(x,y) » permettant de retourner
xy, avec x et y des réels passés en paramètres . (2 pts) b- Ecrire un programme qui utilise la fonction « puissance» de la question
a) pour calculer l'équivalent décimal d'un nombre binaire. (4 pts)
Rappel : (101101)2 = 1x20 + 0x21 + 1x22 + 1x23 + 0x24 + 1x25 = (45)10
Exemple d'exécution :
Partie 2 : Programmation Orientée Objet (25 pts) L'objet de cette application est la gestion informatisée du cabinet
médical, Elle doit procéder à la gestion informatisée des dossiers médicaux
des patients et elle s'occupe également de la gestion des rendez-vous et
des visites. 1. Classe Patient. (2,5 pts)
a. Définir une classe Patient dont les caractéristiques sont : Code
patient (affecté de façon incrémentale par rapport au nombre de
patients), Nom, Prénom, Date de naissance, Adresse, Tél, E-mail. (0.5
pt)
b. Ecrire un constructeur à deux paramètres : Nom et prénom. (0.5 pt)
c. Écrire un deuxième constructeur avec tous les paramètres. (0.5 pt)
d. Écrire les accesseurs des champs et la méthode toString() qui renverra
les informations d'un patient . (1 pt)
2. Classe Visites. (2,5 pts)
a. Définir une classe Visites dont les caractéristiques sont Date visite,
Heure visite, Code patient, Montant payé. (0.5 pt)
b. Ecrire un constructeur à deux paramètres : Date visite et Heure
visite. (0.5 pt)
c. Écrire un deuxième constructeur sans paramètres qui appelle le premier
avec la date et l'heure actuelle. (0.5 pt)
d. Écrire les accesseurs des champs et la méthode toString() qui renverra
les informations de cette visite . (1 pt)
3. Classe RendezVous (2 pts)
a. Définir une classe RendezVous dont les caractéristiques sont : Date
RendezVous, Heure RendezVous , Code patient, Observation. (0.5 pt)
b. Ecrire un constructeur à trois paramètres : Date RendezVous , Heure
RendezVous et code de patient. (0.5 pt)
c. Écrire les accesseurs des champs et la méthode toString() qui renverra
les informations de ce rendez-vous. (1 pt)
4. Classe CabinetMedical (18 pts)
a. Définir une classe CabinetMedical dont les caractéristiques sont : une
liste des patients, une liste des visites et une liste des rendez-vous
(collection ou tableaux). (1 pt)
b. Ajouter une méthode ajouterPatient qui ajoute un patient à l'ensemble
des patients du cabinet. (2 pts)
c. Ajouter une méthode patientExitant ayant comme paramètre le nom et le
prénom et qui retourne le code du patient s'il existe et le chiffre « -
1 » sinon. (2 pts)
d. Définir une classe d'exception : exceptionMedecinOccupe. (1 pt)
e. Ajouter une méthode ajouterRDV qui ajoute un rendez-vous, et lève
l'exception définie en d) s'il coïncide avec un autre rendez-vous. (2
pts)
f. Ajouter une méthode afficherRDVDuJour qui va, pour une date donnée
comme paramètre, afficher la liste des rendez-vous de ce jour. (2 pts)
g. Ajouter une méthode patientAyantDesVisites qui affiche la liste des
patients (code, nom et prénom) ayant visité le cabinet pendant la
dernière semaine. (3 pts)
h. Ajouter une méthode supprimerPatient qui permet de supprimer un
patient ainsi que ses visites et rendez-vous. (2 pts)
i. Ajouter une méthode enregistrerPatients qui permet d'enregistrer la
liste des patients dans un fichier. (3 pts) Partie 3 : Programmation Evénementielle (20 pts) Soit l'interface d'inscription suivante : [pic] 1- Créer cette interface. (4 pts)
2- Créer une classe Stagiaire caractérisée par : Nom, prénom, sexe,
option et âge. (2 pts)
3- Ecrire le code correspondant au bouton Ajouter qui permet d'ajouter un
stagiaire dans une collection d'objets Stagiaires et de l'afficher
dans la grille. (3 pts)
4- Ecrire le code correspondant au bouton Supprimer qui permet de
supprimer un stagiaire sélectionné dans la grille, l'application doit
afficher un message de confirmation avant de supprimer le stagiaire et
un message d'erreur si aucune ligne n'est sélectionnée. (4 pts)
5- Ajouter un bouton Rechercher qui permet de rechercher un stagiaire par
nom saisi dans la zone de texte « Nom » et d'afficher toutes les
informations concernant ce stagiaire au niveau des zones
correspondantes de l'interface. (4 pts)
6- Créer un bouton Afficher qui permet d'afficher dans la grille la liste
des stagiaires d'une option donnée choisie dans la liste déroulante
« Option ». (3 pts) Barème de notation : Partie 1 : (15 pts) |Question |Note |
|1 |5 |
|2 |4 |
|3 |6 | Partie 2 : (25 pts) |Question |Note |
|1. a |0.5 |
|1. b |0.5 |
|1. c |0.5 |
|1. d |1 |
|2. a |0.5 |
|2. b |0.5 |
|2. c |0.5 |
|2. d |1 |
|3. a |0.5 |
|3. b |0.5 |
|3. c |1 |
|4. a |1 |
|4. b |2 |
|4. c |2 |
|4. d |1 |
|4. e |2 |
|4. f |2 |
|4. g |3 |
|4. h |2 |
|4. i |3 | Partie 3 : (20 pts) |Question |Note |
|1 |4 |
|2 |2 |
|3 |3 |
|4 |4 |
|5 |4 |
|6 |3 | -----------------------
Soit le tableau saisi : 8 - 4 - 6 - 2 - 4 - 12 - 6 - 14 - 10 - 8
n = 4 :
Tableau résultat : 4 - 2 - 3 - 1 - 2 - 6 - 3 - 7 - 5 - 4
Examen Passage
Session Juin 2011 Session Novembre 2004
Le nombre de diviseurs de 8 est : 4
Les diviseurs de 8 par ordre décroissant : 8, 4, 2, 1
Entrez le nombre binaire : 101101(
L'équivalent décimal est : 45