sujet Test 3 : programmation objet

Auteurs :
  • 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()).