sujet Test 3 : programmation objet
- Valentin Emiya
- François Brucker
Vous avez 15min pour faire le test.
Vous allez écrire une classe Fraction
utilisant les méthodes spéciales vues en cours.
Vous devez rendre un fichier markdown, mais rien ne vous empêche de coder en python dans un fichier annexe pour vérifier que votre code est juste.
Les objets de la classe Fraction
possèdent deux attributs : numérateur
et dénominateur
et représentent la fraction numérateur / dénominateur
.
Question 1
Écrivez en python la classe Fraction
comprenant uniquement les deux attributs et un constructeur.
Question 2
Ajoutez une méthode Fraction.valeur()
qui rend une approximation réelle de la valeur de la fraction (la division du numérateur
par le dénominateur
).
Question 3
Ajoutez une méthode réduit
qui renvoie une fraction irréductible égale à la fraction. Pour cela, on pourra utiliser la fonction math.gcd(a,b)
qui renvoie le plus grand diviseur commun de a et b.
Question 4
Écrivez le modèle UML de la classe Fraction
.
Question 5
Afin de pouvoir utiliser nos fraction sans approximation, il serait pratique de pouvoir tester l'égalité de deux fractions. Redéfinissez la méthode __eq__
(l'égalité doit utiliser la méthode Fraction.réduit()
).