0% ont trouvé ce document utile (0 vote)
203 vues3 pages

TP3 C++

Ce document décrit quatre exercices sur la programmation orientée objet en C++. Les exercices concernent la création de classes Point, Cercle et Tableau avec leurs attributs et méthodes respectifs. Le document donne les détails de implementation attendus pour chaque classe.

Transféré par

Soufiyane Ait Moulay
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
203 vues3 pages

TP3 C++

Ce document décrit quatre exercices sur la programmation orientée objet en C++. Les exercices concernent la création de classes Point, Cercle et Tableau avec leurs attributs et méthodes respectifs. Le document donne les détails de implementation attendus pour chaque classe.

Transféré par

Soufiyane Ait Moulay
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

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