Vous êtes sur la page 1sur 3

TP Révision

EXERCICE 1

On se propose de gérer les stages des étudiants de l’ISET. Pour ce faire, on dispose déjà
de deux classes Etudiant et Date décrites comme suit :

Etudiant Date
- matricule : entier - jour : entier
- nom : chaîne de caractères - mois : entier
- prénom : chaîne de caractères - année : entier
- groupe : chaîne de caractères + constructeur (…..)
+ constructeur (….) +toString () : chaîne
+ toString () : chaîne +setJour(entier)
+ setNomPrenom(chaine,chaine) +setMois(enier)
+ setGroupe(chaine) +setAnnée(entier)
Avec + publique et - privé

-Constructeur : permet d’initialiser tous les attributs (pour la classe Etudiant et Date)

- toString () : une méthode qui retourne une chaîne de caractères.

La classe Stage, que nous souhaitons implémenter en JAVA est décrite comme suit :

Stage
- numStage : entier
- nbStage : entier
- etud : Etudiant
- dateSoutenance : Date
- noteSoutenance : Réel
- noteRapport : Réel
+ entreprise : chaîne de caractères

+ constructeur (…..) (e : Etudiant, ns : réel, nr : réel, entreprise : chaîne de caractères)


+setDateSoutenance (Date)
+setResultat (noterapport, notesoutenance : réel)
+estValidé () : booléen
+affiche ()
- nbStage est un attribut statique
- Le constructeur de la classe Stage permet d’initialiser l’étudiant, l’entreprise
correspondante au stage, la note de soutenance, la note du rapport ainsi que le
numéro de stage qui doit être calculé pour refléter son ordre lors de la création.
- La méthode estValidé permet de vérifier si le stage est validé ou non. Un stage est
validé si et seulement si

1
la note de soutenance * 0.4 + la note du rapport *0.6 ≥ 10

- La méthode affiche permet d’afficher les caractéristiques d’un stage (le numéro du
stage, l’étudiant, la date de soutenance, les notes de la soutenance et du rapport).

 Ecrire en JAVA la classe Stage en supposant l’existence des deux classes Etudiant
et Date.

Exercice 2
On désire programmer une application de gestion des compétitions de course 1000 mètres entre
les étudiants de l’ISET. Cette compétition se passe une fois par année. Pour ce faire, on dispose
de la classe Etud_Coureur suivante :

Etud_Coureur
- numEtud : entier
- <<static>> nombre : entier
- nomPrénom : chaine de caractères
- aDéjaParticipé : booléen
- durée : entier
+ constructeur (…)
+ getDurée() : entier
+ setDurée(entier)
+ getParticipé() : booléen
+ setParticipé(booléen)
+ comparer(Etud_Coureur) : booléen
+ toString() : chaîne de caractères

Et on souhaite définir la classe Compétition suivante :

Compétition
- désignationComp : chaine de caractères
- dateComp : chaîne de caractères
- <<final>> RECORD_A_BATTRE =132 secondes (entier)
- tabEtud : tableau de 20 étudiants coureurs
- nombreCoureur : entier
+ constructeur(….)
+ ajouterCoureur() : booléen
+ getRecord() : entier
+ getMedailleOr() : Etud_Coureur
+ recordBattu() : booléen
+ afficher()

NB : + : publique, – : privé.

2
Question n°1 :
Écrire le code Java de la classe Etud_Coureur, sachant que :
 constructeur : permet d’initialiser tous les attributs par des valeurs passées en
paramètres sauf les attributs numEtud qui doit être calculé pour refléter son ordre
lors de la création, l’attribut aDéjaParticipé à false et l’attribut durée à 0.
 getParticipé() : retourne si l’étudiant coureur a déjà participé à une autre
compétition.
 comparer(Etud_Coureur) : permet de vérifier si un étudiant coureur donné est plus
rapide qu’un autre.

 toString() : retourne les attributs numEtud, nomPrénom et la durée s’il a déjà participé
à une compétition et numEtud et nomPrénom s’il participe pour la première fois.

Question n°2 :
Écrire le code Java de la classe Compétition, sachant que :
 RECORD_A_BATTRE : représente la durée record à atteindre.
 nombreCoureur : représente le nombre de coureurs qui ont effectivement participé
à la compétition.
 constructeur : initialise les deux attributs désignationComp et dateComp par des
valeurs passées en paramètres.
 ajouterCoureur(e : Etud_Coureur) : ajoute un étudiant au tableau tabEtud que s’il
n’a pas déjà participé à une compétition antérieure. Si c’est le cas ce dernier va
devenir alors parmi les participants à la compétition.
 getMedailleOr() : retourne l’étudiant coureur qui a gagné.
 recordBattu() : vérifie si le vainqueur a déjà battu le record.
 afficher() : affiche la désignation de la compétition, la date de la compétition,
l’étudiant coureur qui a emporté la médaille et s’il a battu le record.

Question n°3 :
Créer une classe Test réduite à une méthode main dans laquelle :
 on crée la compétition ISET2019 qui s’est déroulée le 12/11/2019.
 on ajoute 20 objets Etud_Coureur dont les attributs sont saisis au clavier.
 on affiche le résultat de la compétition.

Vous aimerez peut-être aussi