Académique Documents
Professionnel Documents
Culture Documents
Examen - 2017-2018 C++
Examen - 2017-2018 C++
Exercice 1 : (6 pts)
Répondez brièvement aux questions suivantes, pour les questions type QCM plusieurs
choix peuvent être justes. Dans ce cas ils doivent tous être choisis :
1) Citez les quatre notions fondamentales de la programmation orientée objets.
2) Quel est le mot clé du langage C++ qui permet de définir l’interface d’une classe ?
3) Comment implémenter une relation de composition en C++.
4) Que signifie la multiplicité 1..* dans un diagramme de classe?
(a) Aucun ou plusieurs (b) Exactement un (c) Au plus un (d) Au moins un
6) Dans une classe, les constructeurs de ses objets membres sont appelés _____ le code
de son constructeur
(a) Avant (b) Après (c) Ca dépend du compilateur
8) Les quelles des diagrammes UML suivants sont des diagrammes comportementaux:
(a) de collaboration (b) de classe (c) de séquence (d) d’objets
Exercice 2 : (8 pts)
Les parallélogrammes sont caractérisés par une longueur horizontale 𝑙, une longueur
inclinée 𝐿 et l’angle inférieur gauche 𝑎 (voir figure ci-dessous –à gauche-).
Les rectangles et losanges sont des parallélogrammes.
Construire la hiérarchie de classes représentant les parallélogrammes, les rectangles
et les losanges (diagramme UML de classes).
Donner le code source des classes correspondantes en C++ (attributs, constructeurs
et éventuellement, accesseurs et manipulateurs).
Déformations sur les différents parallélogrammes : Implémenter au niveau de la
superclasse (et redéfinir si besoin dans ses sous-classes) les méthodes
AllongerX(double coeff), AllongerY(double coeff) et ChangerAngle(double coeff)
qui modifient respectivement l, L, et a (exemple : l=l*coeff pour allongerX).
Mais sans changer la nature du parallélogramme sur laquelle elles sont appliquées.
Par exemple, un losange devra garder ses cotés égaux quel que soit la déformation,
un rectangle son angle droit.
Implémenter la méthode Pivoter () (qui sera redéfinie si besoin dans les sous-classes)
qui effectue, la transformation représentée graphiquement ci-dessous:
Les carrés : écrire la classe Carré (qui est un losange rectangle), et implémenter les
méthodes de déformation et de pivotement. Justifier les modifications que vous
pouvez être amené à faire dans les autres classes pour implémenter la classe Carré.
Exercice 3 : (5 pts)
1. Un serveur de messagerie sert d'intermédiaire entre l'émetteur et le récepteur d'un
email. Le serveur est toujours en fonction.
Est-ce qu'on peut utiliser des messages synchrones pour l'envoi et la récupération
des emails ?
Complétez le diagramme de séquence la figure ci-dessous.