Ecole National Polytechnique ENP 1°Année du 2°Cycle
Spécialité : DSIA-MI Module : Méthodes de programmation avancées
Enseignant : ARKI Oussama Année 2025-2026
TP 02 : Structure de données et fonctions en Python
Le but de ce TP est de créer un programme qui permet la gestion des étudiants, des notes, des
résultats à une unité d’enseignement et des promotions d’étudiants.
Structure : note
Cette structure va permettre de représenter une note obtenue par un étudiant. Une note est une
valeur flottante comprise entre 0 et 20.
Elle contient les éléments suivants qui sont corrects :
—int MAXIMUM_GRADE : un attribut statique représentant la valeur de la note maximale
qui est égal à 20.
—value : la valeur de la note comprise entre 0 et MAXIMUM_GRADE.
Pour cette structure envisager les méthodes suivantes :
— double double getValue(note): retourne la valeur (value) de la note.
— note note_moyenne(vecteur_de_notes) : calcule et renvoie la moyenne d’une liste de
notes.
Structure : result
Cette structure va nous permettre de représenter un résultat obtenu par un étudiant, c’est-à-
dire une note associée à une Unité d’Enseignement (UE).
Elle contient les éléments suivants qui sont corrects :
— string module: le nom de l’unité d’enseignement du résultat.
— note lanote : la note du résultat.
Pour cette structure envisager les méthodes suivantes :
— note getnote(result) : retourne la note associée au résultat.
Structure : student
Elle va nous permettre de représenter un étudiant.
Cette structure contient les éléments suivants qui sont corrects :
—string firstName : le prénom de l’étudiant.
— string lastName : le nom de famille de l’étudiant.
—vecteur de result (results) : les résultats de l’étudiant.
Pour cette structure envisager les méthodes suivantes :
— void addResult(module, note ,vecteur_de_result ): ajoute un nouveau résultat à partir du
nom de l’UE et d’une note.
— vecteur de notes getnotes(student) : renvoie la liste des notes associées aux résultats de
l’étudiant..
— double averagenote(student): renvoie la moyenne des notes associés aux résultats de
l’étudiant.
— void printResults(student) : affiche les résultats de l’étudiant en sortie standard. Un
étudiant nommé Arnaud Labourel et ayant 20 en Programmation 2 et en structures discrètes
devra produire l’affichage suivant (avec un saut de ligne à la fin) :
Arnaud Labourel
Programmation 2 : 12
Structures discrètes : 15
Note moyenne : 13.5
Structure : promotion
Elle va nous permettre de représenter une promotion d’étudiants. Cette classe contient les
éléments suivants:
— string name : le nom de la promotion
— vecteur_de_student : les étudiants de la promotion
Votre but est de compléter les instructions des méthodes suivantes :
— void addStudent(promotion, student) : ajoute un étudiant à la promotion.
— vecteur_de_students getStudents(promotion) : renvoie la liste des étudiants de la
promotion.
— void printStudentsResults(promotion) : affiche les résultats de l’étudiant en sortie standard.
Une promotion ayant pour nom L2 informatique et deux étudiants devra produire l’affichage
suivant (avec un saut de ligne à la fin)
L2 informatique
Paul Calcul
Programmation 2 : 10.0/20
Structures discrètes : 20.0/20
Note moyenne : 15.0/20
Pierre Kiroul
Programmation 2 : 10.0/20
Structures discrètes : 0.0/20
Note moyenne : 5.0/20
Tester le code