Monday, May 23, 2016

EFM Programmation orientée objet

Examens de fin de module : Programmation orientée objet Vb.Net, C#


Exercice : Gestion De Stock : 9 Pts
Soit à développer une application pour la gestion de stock. Un article est caractérisé par son numéro de référence, son nom, son prix d’achat et son prix de vente.

1. Créer la classe Article.
2. Ajouter un constructeur à la classe Article sans oublier l’exception PExeption si le prix de vente est inférieur à celui d’ achat.
3. Définir une méthode qui retourne une chaine de caractères représentant les différents attributs de l’objet Article. Pour gérer le stock du magasin, ce dernier se caractérise par son stock d’articles. Le stock est représenté par une collection d’objets Article.
4. Ecrire la classe Stock qui permet de réaliser les fonctionnalités suivantes :
         a. Ajouter un nouvel Article.
         b. Afficher tous les Articles du magasin.
         c. Rechercher un Article.
         d. Afficher les Articles dont les prix d’achat est supérieur à une valeur saisie.
         e. Supprimer un Article.
         f. Modifier un Article.

Exercice : Gestion Des Adhérents : 11 Pts
Soit à développer une application de gestion des adhérents qui sont inscrits dans une Médiathèque. Lorsqu’un adhérent est inscrit à la Médiathèque, on lui affecte automatiquement un numéro et on fixe sa cotisation. L’ adhèrent qui le souhaite peut ne plus appartenir à la médiathèque, il démissionne.

1. Créer la classe Adhérent.
2. Ajouter à la classe Adhérent les méthodes :
         a. ToString () : affichage des attributs de la classe Adhérent sous forme de chaine de caractères.
         b. Modifie (Double cotisation) : modification de la cotisation.
3. Ajouter un constructeur par défaut qui permet de créer un objet Adhérent dont le nom est « anonyme ».
4. Ajouter un constructeur qui permet de crée un objet adhèrent en générant un numéro aléatoire.
5. Ecrire le code permettant de saisir un adhèrent et prévoir les cas d’exception.
6. Ajouter une méthode de modification d’un adhèrent.
7. Ajouter une méthode d’affichage et de recherche et d’affichage d’un adhèrent.
8. Ajouter une méthode de suppression d’un adhérent.
9. Ajouter une méthode d’affichage de tous les adhérents.


Exercice : Gestion d’heures complémentaires : 7 Pts
Chaque enseignant de l’université effectue un certain nombre d’heures d’enseignement dans une année. Suivant le statut de l’enseignant, un certain nombre de ces heures peut être considéré comme complémentaire. Les heures omplémentaires sont payées séparément à l’enseignant. Les volumes horaires sont exprimés en heures entières et le prix d’une heure complémentaire est de 100DH.

          - Le nom et le nombre d’heures total d’un enseignant sont fixés à sa création, puis seul le nom peut être librement consulté (méthode getNom()).
          - D’autre part on veut pouvoir librement consulter un enseignant sur son volume d’heures complémentaires (méthode getHc()) et sur la rétribution correspondante (méthode getRetribution()).

Il y a deux types d’enseignants :
          - Les intervenants extérieurs : toutes les heures effectuées sont complémentaires.
          - Les enseignants de la fac : seules les heures assurées au delà d’une charge statutaire de 192h sont complémentaires.

Q1. Modéliser les enseignants : quelles sont les classes ? Ou sont implémentées les méthodes ? Lesquelles sont nouvelles, redéfinies?
Q2. Ecrire les classes.
Q3. Comment modifier le modèle pour y introduire les étudiants de troisième cycle qui assurent des enseignements: toutes les heures effectuées sont complémentaires mais dans la limite de 96 heures.
Q4. Cela pose-t-il un problème de prendre en compte le fait que les étudiants, n’ayant pas d’employeur, voient leur rétribution diminuée de 18% ?
Q5. Tester le programme.

Exercice : Gestion De Comptes Bancaires : 13 Pts
On désir réaliser une application de gestion de comptes bancaires. Pour cela on a proposé d’organiser les objets de l’application en deux catégories (CompteSurCarnet et CompteSurCheque) et de les ranger dans une collection. Les classes CompteSurCarnet et CompteSurCheque ont des propriétés communes telles que Numéro et NomProprietaire et Solde qui donnent naissance à une troisième classe Compte considérée comme classe de base pour éviter les redondances. La classe CompteSurCarnet possède, en plus des propriétés communes, la propriété NuméroCanret. La classe CompteSurCheque est caractérisée par le NuméroChèque et le NuméroCarte ainsi que DateFinValiditéCarte.

1) Définir la classe abstraite AbstractCompte avec deux constructeurs (par défaut et d’initialisation) et les accesseurs.
         a. Ajouter deux méthodes abstraites créditer et Débiter qui prend en paramètre la somme à ajouter au compte ou à retirer du compte.

2) Définir la classe CompteSurCheque avec deux constructeurs (par défaut et d’initialisation) et les accesseurs.
         a. Redéfinir la méthode créditer qui prend en paramètre la somme à ajouter au compte.
         b. Redéfinir la méthode Débiter qui prend en paramètre la somme à déduire du compte qui ne doit pas dépasser le solde sinon une exception est générée avec le message : « Solde insuffisant ».

3) Définir la classe CompteSurCarnet avec deux constructeurs (par défaut et d’initialisation) et les accesseurs.
         a. Redéfinir la méthode créditer qui prend en paramètre la somme à ajouter au solde.
         b. redéfinir la méthode Débiter qui prend en paramètre la somme à retirer du compte qui ne doit pas dépasser le solde sinon une exception est générée avec le message : « Solde insuffisant », en plus la somme à retirer ne doit pas dépasser un plafond de 10000Dh sinon une exception est générée avec le message : « Plafond dépassé ».

4) Définir la classe Banque contenant une collection de comptes (CompteSurCheque et CompteSurCarnet) et ajouter les méthodes suivantes :
         a. rechercher : qui prend en paramètre un numéro et retourne l’indice du compte dans la collection ou -1 s’il n’existe pas.
         b. AjouterCompteCarnet : qui prend les paramètres nécessaires à la création d’un compte sur carnet et de l’ajouter à la collection (vérifier que le numéro n’existe pas déjà avant de l’ajouter).
         c. AjouterCompteCheque : qui prend les paramètres nécessaires à la création d’un compte sur chèque et de l’ajouter à la collection (vérifier que le numéro n’existe pas déjà avant de l’ajouter).
         d. Supprimer : qui prend en paramètre un numéro et supprime le compte correspondant.
         e. La propriété Elément : qui prend en paramètre un numéro et retourne le compte correspondant à ce numéro.

0 comments:

Post a Comment