Vous êtes sur la page 1sur 2

Module: Techniques de Programmation(POO) Pr M. JEBBAR A.

U: 2022-2023

Série d'exercices N°3

Exercice 1: Déterminant d’un vecteur

Soient v1 et v2, deux vecteurs définis par leurs coordonnées (x, y) et (x’, y’) extrémités, dans le
plan euclidien orienté usuel.

Écrire un programme C++, construit autour d’une classe vecteur, dont les fonctions membres
(méthodes) afficheront les 2 vecteurs v1 et v2, puis calculent les déterminants det(v1, v2) et det
(v2, v1).

Les coordonnées extrémités des 2 vecteurs v1 et v2 seront imposées.

Résultats après exécution:

v1 (x, y) = (2, 3)

v2 (x, y) = (2.5, 7)

det(v1, v2) = xy'- yx‘

det(v1, v2) = 6.5

Exercice 2: Réaliser une classe point permettant de manipuler un point d’un plan. On prévoira :

• un constructeur recevant en arguments les coordonnées (float, float) d’un point ;


• une fonction membre deplace effectuant une translation définie par ses deux
arguments (float dx , float dy) ;
• une fonction membre affiche se contentant d’afficher les coordonnées cartésiennes
du point.
• Les coordonnées du point seront des membres donnée privés.
On écrira séparément :
• un fichier source constituant la déclaration de la classe ;
• un fichier source correspondant à sa définition.

Écrire, par ailleurs, un petit programme d’essai en C++ déclarant un point, l’affichant, le
déplaçant et l’affichant à nouveau.

Page 1 / 2
Module: Techniques de Programmation(POO) Pr M. JEBBAR A.U: 2022-2023

Exercice 3 :

Réaliser une classe point, analogue à la précédente, mais ne comportant pas de fonction
affiche. Pour respecter le principe d’encapsulation des données, prévoir deux fonctions
membre publiques (nommées abscisse et ordonnee) fournissant en retour l’abscisse et
l’ordonnée d’un point. Adapter le petit programme d’essai précédent pour qu’il fonctionne
avec cette nouvelle classe.

Exercice 4 :

La fonction angle suivante calcule l'angle entre l'axe des abscisses et la droite passant par
l'origine O du repère et un point de coordonnées cartésiennes x et y:

float angle (float x, float y)

{ float a;

if(x!=0) a=atan(y/x);
else a=0;
if (y<0) if (x>=0) return a + pi ;
else return a - pi ;
return a ;}
Ajouter à la classe précédente (comportant un constructeur et trois fonctions membre deplace,
abscisse et ordonnee) de nouvelles fonctions membre :

• homothetie qui effectue une homothétie dont le paramètre m est fourni en argument;
cette méthode multiplie les coordonnées de l'objet par m.
• rho et theta qui fournissent en retour les coordonnées polaires du point.

Exercice 5: Ecrire un programme C++ utilisant une classe rectangle dont le constructeur prend
deux paramètres, largeur et hauteur et qui offre les fonctions suivantes :

• calcul du périmètre
• calcul de la surface
• affichage
Ainsi que les accesseurs et mutateurs triviaux (lecture et modification de la largeur et de la
hauteur).

Rectangle - Menu
1 - Modifier largeur du rectangle
2 - Modifier hauteur du rectangle
3 - Calculer les propriétés du rectangle
4 - Afficher le rectangle
5 - Quitter

Page 2 / 2

Vous aimerez peut-être aussi