Vous êtes sur la page 1sur 3

TP1 : Approche orientée objet

Responsable : Dr Ousmane KHOUMA


Licence 2 ESTI/UAM 2021-2022

Exercice 1 :
1. Définir une classe Cercle permettant de créer un cercle C(O,r) de centre O(a,b) et de rayon r.
2. Définir une méthode surface() de la classe qui permet de calculer la surface du cercle.
3. Définir une méthode perimetre() de la classe qui permet de calculer le périmètre du cercle.
4. Définir une méthode testAppartenance() de la classe qui permet de tester si un point A(x,y)
appartient ou non au cercle C(O,r).
Exercice 2 :
1. Créer une classe Calcul ayant un constructeur par défaut (sans paramètres) permettant
d’effectuer différents calculs sur les nombres entiers.
2. Créer au sein de la classe Calcul une méthode nommée factorielle() qui permet de calculer
la factorielle d’un entier. Tester la méthode en faisant une instanciation sur la classe.
3. Créer au sein de la classe Calcul une méthode nommée somme() permettant de calculer la
somme des n premiers entiers 1+2+3+..+n. Tester la méthode.
4. Créer au sein de la classe Calcul une méthode nommée premier() permettant de déterminer
si un entier est premier ou non. Tester la méthode.
5. Créer au sein de la classe Calcul une méthode nommée deuxpremiers() permettant de tester
si deux nombres sont premiers entre eux.
Exercice 3 : Travail à rendre (Date limite 17/02/2022)
L’objectif de cet exercice est d’améliorer les compétences de l’étudiant dans la défintion des classes.
Il permettra aussi à l’étudiant de définir et d’utiliser les variables d’instance et de méthodes.
Première partie :
Nous allons visiter un endroit très spécial : un plan avec le système de coordonnées cartésienne.
Chaque point situé sur le plan peut être décrit comme une paire de coordonnées habituellement
appelées x et y. Nous nous attendons à ce que vous puissiez écrire une classe Python qui stocke
les deux coordonnées sous forme de nombres flottants. De plus, nous voulons que les objets de
cette classe évaluent les distances entre l’un des deux points situés sur le plan.
La tâche est assez facile si vous employez la fonction nommée hypot() (disponible via le mod-
ule math : https://docs.python.org/3.7/library/math.html#trigonometric-functions) qui évalue
la longueur de l’hypoténuse d’un triangle rectangle.

1
Licence 2 ESTI Université Amadou Mahtar MBOW

1. Créer une classe Point ayant un constructeur qui accepte deux arguments (x et y respective-
ment), tous deux par défaut à zéro.
2. Créer deux méthodes sans paramètre appelées getx() et gety(), qui renvoient chacune des
deux coordonnées (les coordonnées sont stockées de manière privée, elles ne sont donc pas
accessibles directement depuis l’objet).
3. Créer au sein de la classe une méthode appelée distance_from_xy (x, y), qui calcule et renvoie
la distance entre le point stocké à l’intérieur de l’objet et l’autre point donné sous la forme
d’une paire de flottants.
3. Créer une autre méthode appelée distance_from_point(point), qui calcule la distance
(comme la méthode précédente), mais l’emplacement de l’autre point est donné comme un
autre objet de classe Point.
4. Tester toutes les méthodes avec des exemples concrets.
Deuxième partie :
Nous allons maintenant incorporer la classe Point (Première partie) dans une autre classe. De
plus, nous allons mettre trois points dans une classe, ce qui nous permettra de définir un triangle.
Comment pouvons-nous le faire ?
1. Créer une nouvelle classe appelée Triangle ayant un constructeur qui accepte trois argu-
ments : tous sont des objets de la classe Point (trois sommets). Les points sont stockés à
l’intérieur de l’objet sous forme de liste privée.
2. Créer au sein de la classe Triangle une méthode sans paramètre appelée perimetre(), qui
calcule le périmètre du triangle décrit par les trois points.
3. Créer une classe TypeTriangle qui hérite de la classe Triangle.
4. Créer au sein de la classe TypeTriangle une méthode appélée triangleexiste() qui vérifie si
trois points du plan forment un triangle ou non.
5. Créer au sein de la classe TypeTriangle une méthode appelée triangleequilateral() qui vérifie
si le triangle formé par les trois est équilatéral ou non.
6. Créer au sein de la classe TypeTriangle une méthode appelée triangleisocele() qui vérifie si
le triangle formé par les trois est isoceèle ou non.
7. Créer au sein de la classe TypeTriangle une méthode appelée trianglerectangle() qui vérifie
si le triangle formé par les trois est équilatéral ou non.
8. Écrire un programme principal qui détermine le type triangle formé par trois points du plan.
Troisième partie :
1. On vous demande de mettre les deux parties dans un module.
2. Écrire un programme qui fera appel à toutes les méthodes de cet exercice en utilisant le
module créé.
Exercice 4 :
1. Écrire une classe Rectangle en Python, permettant de construire un rectangle dotée
d’attributs longueur et largeur.

Dr Ousmane KHOUMA 2 Année Académique 2021 - 2022


Licence 2 ESTI Université Amadou Mahtar MBOW

2. Créer une méthode Perimetre() permettant de calculer le périmètre du rectangle et une méth-
ode Surface() permettant de calculer la surface du rectangle.
3. Créer une classe fille Parallelepipede héritant de la classe Rectangle et dotée en plus d’un
attribut hauteur et d’une autre méthode Volume() permettant de calculer le volume du Par-
allélépipède.

Formule :
Le volume V d’un parallélépipède est V = A × h, où A est l’aire de l’une des faces prise comme
base et h est la hauteur relative à cette base.
4. Tester le programme.
Exercice 5 : Travail à rendre (Date limite 17/02/2022)
L’objectif de cet exercice est de créer une classe polynome pour manipuler et afficher des polynômes
à coéfficients réels.
c0 + c1 x + c2 x2 + ... + cn x n
1. Créer une classe Polynome avec un seul attribut coefficient qui contient la liste L des coeffi-
cients du polynôme (dans l’ordre croissant des degrés des monômes).
L’afficheur doit permettre de renvoyer un polynôme P = Polynome([1, 3, 5, 0, 2]) sous la
forme 1 + 3x + 5x2 + 2x4 .
2. Créer au sein de la classe Polynome une méthode nommée deg() qui renvoie le degré du
polynôme (attention s’il y a des 0 à la fin de la liste!).
3. Créer au sein de la classe Polynome une méthode nommée evalue(b) qui renvoie la valeur du
polynôme évalué à b.
Si on prend par exemple un polynôme p( x ) = 3 + 4x − 2x2 , alors p(2) = 3 + 4 ∗ 2 − 2 ∗ 22 =
3.
4. Créer au sein de la classe Polynome une méthode nommée nettoie() qui débarrasse la liste
des coefficients d’un polynôme des 0 en fin de liste.
5. Créer au sein de la classe Polynome une méthode nommée prodscalaire(c) qui renvoie la
liste des coefficients du polynôme obtenu après avoir multiplié le polynome par un nombre
scalaire c.

Dr Ousmane KHOUMA 3 Année Académique 2021 - 2022

Vous aimerez peut-être aussi