Vous êtes sur la page 1sur 3

TP2 TP Informatique – Langage C++

Objectif :

- Comprendre la notion de classe et objet


- Instancier des objets
- Définir et appeler des fonctions membres

Exercice 1 : Classe Point (Simple)

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) d’un point ;


• Une fonction saisir() : se contentant de saisir les coordonnées cartésiennes du
point.
• Une fonction membre deplacer (float, float) effectuant une translation définie par
ses deux arguments.
• Une fonction membre afficher() se contentant d’afficher les coordonnées
cartésiennes du point.
• Les coordonnées du point seront des membres privés.

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

Exercice 2 : Classe Point (Avancé)

Créer une classe Point permettant de représenter des points dans un espace cartésien avec
les méthodes suivantes :

• constructeur par défaut, d’initialisation de recopie / Destructeur


• affiche : se contentant d'afficher les coordonnées cartésiennes du point.
• translation : effectue une translation définie par ses deux arguments dx et dy
• positionner : positionne le point aux coordonnées cartésiennes passées en paramètre
ou aux coordonnées d’un autre point
• milieu : calcule le milieu du segment composé de ce point et d'un autre Point.
• comparer : vérifie si deux points sont identiques
• symétrique : renvoie le symétrique d’un point
• distance : calcule la distance entre deux points
• rotation : effectue au point une rotation d'un angle A par rapport à l’origine.

Rappel : la rotation d’un point P(x,y) d’un angle a par rapport à l’origine est un point P'(x’,y’)
tel que:

x' = x . cos(a) – y . sin(a)


y’ = x . sin(a) + y . cos(a)

Ecrivez un programme de test qui effectue les traitements suivants :

• crée trois points p1, p2 et p3

1/3 Mr SAOUD
TP2 TP Informatique – Langage C++

• affiche sous forme de chaîne de caractères les coordonnées de ces trois points,
• calcule la distance de P1 à l’origine
• calcule la distance entre P1 et P2
• effectue une rotation au point P1 d’un angle 45 °
• translate le point P2 par (20, 13)
• affiche le symétrique du point P3
• vérifie si deux points se coïncident
• et indique les deux points les plus proches.

Exercice 3 : Classe Cercle

Ecrire une classe qui permet de représenter des cercles. Les opérations possibles sur un
cercle sont :

• l'obtention de son rayon,


• le changement de son rayon,
• l'obtention de son centre,
• la translation de son centre,
• le calcul de sa surface,
• le calcul de son périmètre,
• le test de l'égalité du cercle avec un autre cercle,
• la vérification de l'appartenance d'un point au cercle,
• l’affichage des caractéristiques du cercle (méthode affiche()).

Pour tester votre classe, écrire un programme principal effectuant les opérations suivantes :

• création d'un cercle de rayon 1 et de centre (10,10)


• affichage de ses caractéristiques
• calcul et affichage de son périmètre et de sa surface
• doublement de son rayon
• à nouveau calcul et affichage de son périmètre et de sa surface
• déplacement du cercle pour ramener son centre à l'origine
• vérification que le point (1,1) est bien à l'intérieur du cercle
• vérification que le point (3,3) est bien à l'extérieur du cercle
• test de l'égalité du cercle avec un autre cercle de centre (0,0) et de rayon 2

Exercice 4 : Classe Tableau

Réalisez une classe qui gère un ensemble d’entiers (int) à l’aide d’un tableau de taille fixe
(un ensemble contient une liste non ordonnée d’éléments, et se caractérise par le fait que
chaque élément est unique : on ne doit pas trouver deux fois la même valeur dans le
tableau).
Les opérations à implémenter sont les suivantes :

• La fonction remplir( ) réalise le remplissage de l’ensemble.


• La fonction afficher( ) réalise l’affichage formaté de l’ensemble.

2/3 Mr SAOUD
TP2 TP Informatique – Langage C++

• La fonction est_membre() renvoie une valeur booléenne (logique) qui indique si


l’ensemble contient un élément (entier) donné.
• La fonction ajouter( ) ajoute un entier à l’ensemble.
• La fonction supprimer( ) retire un entier de l’ensemble
• La fonction copier( ) recopie un ensemble dans un autre.
• La fonction est_egal( ) renvoie une valeur booléenne indique si un ensemble est égal
à un autre.
• La fonction vider( ) vide l’ensemble.

Ecrire un programme qui teste les différentes méthodes de cette classe.

3/3 Mr SAOUD

Vous aimerez peut-être aussi