Vous êtes sur la page 1sur 2

TP 4 – Programmation Orienté Objet avec Python

Rendu à faire : L’étudiant devra créer trois dossiers : exo1, exo2 et exo3 ; chaque répertoire
contiendra les scripts python (fichiers .py) relatifs à l’exercice traité. Ainsi dans le dossier exo1,
l’étudiant y rangera les fichiers reliés juste à l’exercice 1 ; (suivre la même organisation pour les
autres répertoires). Avant le dépôt sur Moodle, compressez tous ces répertoires dans un
dossier parent nommé sous le formalisme suivant : Nom_Prénoms_Filère_2022-2023_TP4-
CSC242
NB :
• Les rendus non conformes à l’organisation demandée subiront des pénalités.
• Les codes sources non commentés subiront également des pénalités (Utilisez avec
parcimonie les docstring)

Exercice 1 : Classe Duree

1) Créez une classe Duree qui possède trois attributs hour, min et sec . Ces trois attributs doivent être
affectés par le constructeur. Rendez l’attribut hour inaccessible en dehors de la classe.
2) Ajoutez une méthode spéciale qui permettra de représenter les instances de la classe Duree.
print(nom_objet)
>print(d1) # Exemple de sortie obtenue après affichage de l’objet
Durée : 2 H : 3 min : 5 sec

3) Ajoutez les méthodes qui permettront d’effectuer les opérations illustrées dans l’exemple ci-
dessous :

>d3 = d1 + d2
>d4 = d1 – d3

Exercice 2 : Polynômes avec des entiers pour coefficients

1) Créez une classe Polynome modélisant un polynôme ayant 2 pour degré maximum. La classe
possède des attributs coefficients correspondant à (a0, a1 et a2 étant tous des entiers) comme
illustré dans l’exemple ci-dessous. N.B : Tous les coefficients sont des entiers.

Ajouter les méthodes nécessaires pour :

• L’affichage des instances de la classe Polynome, qui doit suivre précisément le modèle illustré
selon que le degré du polynôme varie (comme dans l’exemple ci-dessous).
• Les opérations : addition, soustraction.
• Calculer le discriminant du polynôme si seulement s’il est du second degré (la méthode pour
cette opération sera nommée : calculDisc ). La formule pour le calcul du discriminant d’un
polynôme de degré 2, on a :

Algorithmes & Programmation structurée avec Python II


P(x) = a + b X + c X^2
(Discriminant de P) = b2 – (4*c*a )

* : désigne l’opérateur multiplication

P(X) = a0 + a1 X + a2 X^2 // Affichage d’un polynôme de degré 2


P(X) = a0 + a1 X //Affichage d’un polynôme de degré 1
P(X) = a0 //Affichage d’un polynôme de degré 0

2) Dans un programme principal, créez au moins deux polynômes, faites des opérations d’additions et
de soustractions entre ces polynômes, et afficher ces polynômes.

Exercice 3 : Polynômes avec des fractions pour coefficients

1) Créez une classe Polynome modélisant un polynôme ayant 2 pour degré maximum. La classe
possède des attributs coefficients correspondant à (a0, a1 et a2 étant tous des objets Fraction)
comme illustré dans l’exemple ci-dessous. N.B : Tous les coefficients sont des instances de la classe
Fraction.

Créer une classe Fraction qui a deux attributs : num et den. Créez à présent des polynômes dont les
coefficients sont tous de type Fraction. Pensez à ajouter les fonctions nécessaires afin que la sortie
après affichage des objets Polynome ressemble à :

// Affichage d’un polynôme de degré 2


P(X) = (1/2) + (1/3) X + (1/4) X^2
// Affichage d’un polynôme de degré 2 avec a1 = (0/3)
P(X) = (1/2) + (1/5) X^2 #Si le coefficient est null, ne pas afficher le monôme correspondant.

• Ajouter les méthodes nécessaires pour effectuer les opérations : addition et soustraction sur
les polynômes
• Ajouter les instructions nécessaires pour effectuer les simplifications (exemple de
simplification illustré ci-dessous)

//Création d’une instance Fraction


>f1 = Fraction(4,8) #instanciation avec 4 et 8
>print(f1)
>(1/2) #Simplification avant affichage [ 4/8 devient 1/2 ]

2) Dans un programme principal, créez au moins deux polynômes, faites des opérations d’additions
et de soustractions entre ces polynômes et afficher ces polynômes.

Algorithmes & Programmation structurée avec Python II

Vous aimerez peut-être aussi