Méthodologie de la programmation
TP III
- Les TP sont à rendre au plus tard le dimanche suivant à 23:59.
- Le travail attendu est une archive, contenant le ou les fichiers réponses, nommée :
- Les rendus se font par mail :
- Dont l’objet est [MDLP] TPx
- Dans lequel vous indiquez qui vous êtes (nom, numéro étudiant)
TP Programmation orientée objet.
Exercice 0
Définissons une classe Point ayant deux attributs :
A
- Écrivez son constructeur.
- Écrivez la méthode __str__() permettant d’afficher la représentation mathématique d’un point (abs, ord) de la manière suivante :
a = Point(12, 24)
print(a)
# (12, 24)
B
- Écrivez la méthode milieu() retournant un objet Point dont les coordonnées sont le milieu du segment défini par les coordonnées de l’objet courant et d’un autre Point passé en paramètre.
C
- Écrivez la méthode distance() retournant la distance euclidienne entre l’objet Point courant et un autre Point passé en paramètre.
Exercice I
Définissions maintenant une deuxième classe appelée TroisPoints ayant les attributs suivants :
- premier
- deuxieme
- troisieme
A
- Comme précédemment écrivez son constructeur et sa méthode __str__().
B
- Écrivez la méthode sont_alignes() qui retourne True si premier, deuxieme et troisieme sont alignés et False sinon.
C
- Écrivez la méthode est_isocele() qui retourne True si premier, deuxieme et troisieme forment un triangle isocèle.
Bonus
- Définissez une classe Cercle, ayant deux attributs : centre et rayon, et écrivez la méthode intersection() qui vérifie si le cercle Cercle courant et un autre Cercle se recouvrent partiellement ou pas.
Conseils
- Coordonnées du milieu du segment [AB] :
xm=xA+xB2ym=yA+yB2
-
Distance euclidienne entre deux points A et B :
DAB=(xA−xB)2+(yA−yB)2−−−−−−−−−−−−−−−−−−−√
-
Pour rappel (du programme de 2nd) : vérifier l’alignement de 3 points A, B, C revient à vérifier la colinéarité des vecteurs AB→ et AC→ c’est à dire à vérifier s’il existe un scalaire k tel que AB→=kAC→
-
Un triange ABC est isocèle si AB=AC, AB=BC ou BC=AC