Etude de cas - Toubkal-it

14 oct. 2005 ... Pas de correction de la fiche rendue dans le cadre de l'examen. .... Tous les
établissements doivent être dotés d'une caisse enregistreuse.

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 |V3-1 |
| |Barème : 60 points |
|Niveau : Technicien Spécialisé |Durée : 4h30mn |
Variante 3-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 points) Exercice 1 : (3 pts)
Ecrire un programme qui permet d'entrer deux nombres réels et d'afficher
l'une des deux mentions : « positif » ou « négatif » , suivant le signe de
leur produit, sans toutefois le calculer. Exercice 2 : (6 pts)
Ecrire un programme qui simule une caisse enregistreuse. Le programme
permettra à l'utilisateur d'entrer une série de prix des achats d'un
client ; et arrêter la lecture quand l'utilisateur entre 0. Il affichera
ensuite le montant total qui correspond à ces achats. Le programme permettra par la suite d'entrer la somme d'argents présentée
par le client, et de calculer le montant qu'on doit lui remettre, écrit en
nombre de billets et pièces qui le constituent, de manière qu'on en
utilisera un minimum, soit d'utiliser les billets et pièces dans le sens
décroissant de leurs valeurs. Exemple d'exécution :
|Montants achats (en Dh) : |
|12,20 |
|4,00 |
|6,40 |
|0 |
| |
|Total achats : 22,60 Dh |
| |
|Montant présenté (en Dh) : 50 |
| |
|Montant à rendre : 27,40 Dh |
|1 billet de 20 Dh, |
|1 pièce de 5 Dh, |
|1 pièce de 2 Dh, |
|2 pièces de 20 cent. | Exercice 3 : (6 pts) Un nombre palindrome est un nombre symétrique (qui peut être lu de gauche à
droite, comme de droite à gauche) ; soit sous la forme c1 c2 c3 ... | ...
c3 c2 c1, où les ci sont les chiffres du nombre.
Tous les chiffres 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 sont des palindromes à un
chiffre.
Il y en a 9 palindromes à deux chiffres : 11, 22, 33, 44, 55, 66, 77, 88,
99. Ecrire un programme qui calcule et affiche, de la même manière, le nombre
des nombres palindromes de trois chiffres ; suivi de ceux de quatre
chiffres. Partie 2 : Programmation orientée objet (25 points) L'objectif de cette application est de gérer l'inventaire par un suivi des
flux d'équipements (création, modification, sortie) et gérer les
équipements durant toute leur durée de vie en terme de planifications
d'entretien et de remplacement (maintenance) et disponibilité d'équipement
(prêt, utilisation multiple, etc.).
1. Créer une classe abstraite Equipement caractérisée par son code, date
d'acquisition, Etat (opérationnel ou non), prix d'achat. Ajouter un
constructeur à 2 paramètres : code et Etat et des accesseurs pour tous
les champs et une méthode toString() qui renvoie les informations sur
l'équipement sous forme d'une chaine de caractères. (2 pts) 2. Créer une classe Ordinateur qui hérite de la classe Equipement, elle
aura comme caractéristiques supplémentaires : une marque et taille de
l'écran. Ecrire le constructeur correspondant ainsi que sa méthode
toString() qui renvoie les informations sur l'équipement sous forme
d'une chaine de caractères. (2 pts) 3. Crée une classe Table qui hérite de la classe Equipement, elle aura
comme caractéristiques supplémentaires sa longueur et sa largeur.
Ecrire le constructeur correspondant ainsi que sa méthode toString()
qui renvoie les informations sur l'équipement sous forme d'une chaine
de caractères. (2pts) 4. Crée une classe chaise qui hérite de la classe Equipement, elle aura
comme caractéristique supplémentaire une couleur. Ecrire le
constructeur correspondant ainsi que sa méthode toString() qui renvoie
les informations sur l'équipement sous forme d'une chaine de
caractères. (2 pts) Une entreprise se compose de plusieurs bureaux, une fiche d'inventaire est
établie pour chaque bureau, un bureau est caractérisé par un code, une
description, et une liste d'équipements.
5. classe Bureau (8pts) a. Créer une classe Bureau, écrire le constructeur correspondant ainsi
que sa méthode toString() qui renvoie le code et la description de
bureau ainsi que le nombre d'équipements sans forme d'une chaine de
caractères. (1 pt) b. Ajouter une méthode ajouterEquipenent qui permet d'ajouter un
équipement (ordinateur, table ou chaise) à la liste des équipements.
(1 pt) c. Créer une classe d'exception equipementInexistantException. (1 pt) d. Ajouter une méthode rechercheEquipement qui permet de rechercher un
équipement par son code et qui le renvoie et de lever l'exception
définie dans la question c) s'il n'existe pas dans la liste. (2 pts) e. Ajouter une méthode ficheInventaire qui affiche la liste des
équipements. (1 pt) f. Ajouter une méthode supprimerEquipement qui permet de supprimer un
équipement par code. (2 pts) 6. classe Entreprise (9pts) a. Crée une classe Entreprise qui se caractérise par un nom, adresse,
téléphone et une liste des Bureaux. écrire le constructeur
correspondant ainsi que sa méthode toString() qui renvoie le nom de
l'entreprise ainsi que le nombre de Bureaux sous forme d'une chaine
de caractères . (2 pts) b. Ajouter une méthode ajouterBureau qui permet d'ajouter un bureau à
la liste. (1 pt) c. Ajouter une méthode rechercheEquipement qui permet de rechercher un
équipement par son code dans tous les Bureaux de la liste et qui le
renvoie et de lever l'exception définie dans la question 5. c) s'il
n'existe pas. (1,5 pts) d. Ajouter une méthode localisation qui recherche un équipement par code
et affiche la description de son bureau d'affectation. (1,5 pts) e. Ajouter une méthode TransferEquipement qui permet de transférer un
équipement d'un bureau à un autre. (1,5 pts) f. Ajouter une méthode Exporter qui permet de sauvegarder les données de
l'application dans un fichier. (1,5 pts) Partie 3 : Programmation événementielle (20 points) Soit à développer une application de gestion de stock. Le stock est composé
de plusieurs Produits.
Un Produit est caractérisé par :
. Un Numéro de type entier,
. Un nom de type chaine de caractère,
. Une catégorie de type chaine de caractère,
. Un prix d'achat de type réel ,
. Un prix de vente de type réel,
. Une quantité en stock de type entier.
1- Créer la classe Produit avec ses attributs et constructeurs
nécessaires. (2 pts)
2- Ajouter une classe ListeProduits qui contient un tableau d'objets
Produit afin de gérer les Produits. (2 pts)
3- Créer une interface avec des boutons de navigation (Premier ·
Précédent · Suivant · Dernier) qui permet de consulter les
informations des produits qui existent. (4 pts) 4- Ajouter un bouton charger qui permet de charger les informations sur
les produits à partir d'un fichier dont voici un extrait: (2 pts) 1 ; Ordinateur ; informatique ; 6000 ; 7000 ; 20
2 ; Télévision LCD ; électronique ; 7000 ; 7500 ; 30
5- Ajouter à cette interface un bouton Nouveau qui permet de vider les
champs pour entrer les informations d'un nouveau produit et un bouton
Ajouter qui permet d'ajouter ce produit dans la collection. Si
l'utilisateur saisie un prix de vente qui est inferieur au prix
d'achat, le produit ne doit pas être ajouté et on doit lui afficher
une boite de dialogue en l'informant que le prix de vente est
inférieur au prix d'achat. (3 pts)
6- Ajouter un bouton Supprimer qui permet de supprimer le produit en
cours avec confirmation. (2 pts).
7- Créer une interface qui permet d'afficher dans une grille les produits
d'une catégorie choisie à partir d'une liste déroulante. (2 pts)
8- Créer une interface de simulation de vente : on choisi le produit dans
une liste déroulante et on indique la quantité. Le programme affiche
dans un Libellé le prix à payer et le gain = (prix de vente - prix
d'achat) * quantité. (3 pts)
Barème de notation : Partie 1 : (15 points) |Question |Note |
|1 |3 |
|2 |3 |
|3 |6 | Partie 2 : (25 points) |Question |Note |
|1 |2 |
|2 |2 |
|3 |2 |
|4 |2 |
|5. a |1 |
|5. b |1 |
|5. c |1 |
|5. d |2 |
|5. e |1 |
|5. f |2