Université Sultan Moulay Slimane Filières : DUT- IDIA 1 – Semestre 2
EST – Beni Mellal Module : Programmation en Python (M124)
Département : ITG Année universitaire : 2024/2025
TP N° 4
Exercice
Une université souhaite développer un programme en Python pour gérer ses étudiants,
enseignants et cours. Le système doit permettre :
o L’inscription des étudiants et l’enregistrement de leurs notes.
o L’affectation des enseignants aux cours qu’ils dispensent.
o La gestion des notes et calculs des moyennes des étudiants.
L’université veut structurer son système en plusieurs classes :
1. Créer une classe Personne:
o Attributs : nom, age.
o Méthode afficher_infos(), qui affiche les informations de la personne.
2. Créer une classe Etudiant (hérite de Personne) :
o Attributs supplémentaires : matricule, notes (stockent les notes associées à
chaque matière)
o Méthode ajouter_note(matiere, note) : ajoute une note à une matière.
o Méthode calculer_moyenne() : calcule et renvoie la moyenne de l’étudiant.
o Méthode afficher_infos() : surcharge la méthode pour afficher les notes et la
moyenne.
3. Créer une classe Enseignant (hérite de Personne) :
o Attributs supplémentaires : specialite, cours (liste des matières enseignées).
o Méthode ajouter_cours(matiere) : ajoute une matière à la liste des cours.
o Méthode afficher_infos() : surcharge la méthode pour afficher la spécialité et
les cours enseignés.
4. Créer une interface Evaluable :
o Contient la méthode abstraite evaluer(etudiant, matiere, note).
1
5. Créer une classe Cours (implémente Evaluable) :
o Attributs : nom, enseignant (enseignant responsable).
o Méthode evaluer(etudiant, note) : attribue une note à un étudiant.
o Méthode afficher_details() : affiche les informations du cours et l'enseignant
associé.
6. Créer une classe Université pour gérer le système :
o Les attributs :
- nom : Nom de l’université.
- etudiants : Une liste des étudiants qui stocke les informations de chaque étudiant.
- enseignants : Une liste des enseignants qui contient les informations de chaque
enseignant..
- cours : Une liste des cours qui regroupe les informations sur chaque cours.
o Les méthodes :
- ajouter_etudiant(etudiant) : Ajoute un étudiant à la liste des étudiants de
l’université.
- ajouter_enseignant(enseignant) : Ajoute un enseignant à la liste des
enseignants de l’université.
- ajouter_cours(cours) : Ajoute un cours à la liste des cours de l’université.
- afficher_etudiants() : Affiche la liste des étudiants inscrits.
- afficher_enseignants() : Affiche la liste des enseignants.
- afficher_cours() : Affiche la liste des cours disponibles.
7. Implémentation et test du programme :
o Créer un objet université pour gérer les étudiants, enseignants et cours.
o Créer des objets enseignants avec leurs informations et les ajouter à l’université.
o Créer des objets étudiants avec leurs informations et les ajouter à l’université.
o Créer des objets cours et les associer à un enseignant et les ajouter à l’université.
o Ajouter des cours à la liste des matières enseignées par chaque enseignant.
o Attribuer des notes aux étudiants pour chaque cours suivi et enregistrer ces notes dans
le système.
o Afficher la liste des enseignants avec leurs spécialités et les cours enseignés.
o Afficher la liste des étudiants avec leurs informations, leurs notes et leur moyenne.
o Afficher la liste des cours avec l’enseignant responsable.