Cours Génie logiciel
-
Cours :
- Notions programmation orientée objet et Java (pdf)
- Tests (pdf)
- Principes SOLID (pdf)
- Patrons de conception (pdf)
-
Planches de TD :
- TD 1 (pdf), Corrigé TD 1 (pdf)
- TD 2 (pdf), Corrigé TD 2 (pdf)
- TP 1 (pdf), Corrigé TP 1 (pdf)
Gestion des notes des étudiants
Tâche 1 : Votre but est de compléter les instructions des méthodes suivantes :
double getValue()
: retourne la valeur (value
) de la note.String toString()
: retourne une représentation de la note sous forme de chaîne de caractères. Pour une note ayant une valeur 12, cette méthode devra retourner la chaîne de caractères :"12.0/20"
.static Grade averageGrade(List<Grade> grades)
: calcule et renvoie la moyenne d’une liste de notes.
public double getValue() {
return value;
}
public String toString() {
return value + "/" + MAXIMUM_GRADE;
}
public static Grade averageGrade(List<Grade> grades){
double sumOfGrades = 0.;
for(Grade grade : grades){
+= grade.getValue();
sumOfGrades }
return new Grade(sumOfGrades/grades.size());
}
Tâche 2 : Votre but est de compléter les instructions des méthodes suivantes :
Grade getGrade()
: retourne la note associée au résultat.String toString()
: renvoie le nom de l’unité d’enseignement suivi de" : "
suivi de la représentation en chaîne de caractère de la note. Par exemple, un résultat d’une UE de Programmation 2 avec une note de 20 devra renvoyer la chaîne de caractères suivante :"Programmation 2 : 20.0/20"
.
public Grade getGrade() {
return grade;
}
public String toString() {
return teachingUnitName + " : " + grade;
}
Tâche 3 : Votre but est de compléter les instructions des méthodes suivantes :
void addResult(String teachingUnitName, Grade grade)
: ajoute un nouveau résultat à partir du nom de l’UE et d’une note.List<Grade> getGrades()
: renvoie la liste des notes associées aux résultats de l’étudiant.String toString()
: renvoie le nom de l’étudiant, c’est-à-dire son prénom, suivi d’un espace, suivi de son nom.Grade averageGrade()
: renvoie la moyenne des notes associées aux résultats de l’étudiant.void printResults()
: affiche les résultats de l’étudiant en sortie standard.
public void addResult(String teachingUnitName, Grade grade){
.add(new TeachingUnitResult(teachingUnitName, grade));
results}
public List<Grade> getGrades(){
List<Grade> grades = new ArrayList<>();
for(TeachingUnitResult result : results)
.add(result.getGrade());
gradesreturn grades;
}
public String toString() {
return firstName + " " + lastName;
}
public Grade averageGrade() {
return Grade.averageGrade(getGrades());
}
public void printResults(){
printName();
for (TeachingUnitResult result : results)
System.out.println(result);
printAverageGrade();
}
private void printName() {
System.out.println(this);
}
private void printAverageGrade() {
System.out.println("Note moyenne : " + averageGrade());
}
Tâche 4 : Votre but est de compléter les instructions des méthodes suivantes :
public void addStudent(Student student)
: ajoute un étudiant à la promotion.public List<Student> getStudents()
: renvoie la liste des étudiants de la promotion.String toString()
: retourne une représentation de la promotion correspondant à son nom.public void printStudentsResults()
: affiche les résultats de l’étudiant en sortie standard.
public void addStudent(Student student){
.add(student);
students}
public List<Student> getStudents(){
return List.copyOf(students);
}
public String toString() {
return name;
}
public void printStudentsResults(){
printName();
System.out.println();
for(Student student : students){
.printResults();
studentSystem.out.println();
}
}
private void printName(){
System.out.println(this);
}
Tâche 5 : Ajoutez dans votre classe
Main
le code d’une méthodepublic static void main(String[] args)
qui :
- crée des instances de
Student
ayant les nom et prénom du membre du projet plus un étudiant fictif,- ajoute à ces étudiants les notes en “Programmation 2” et “Structures discrètes” que vous aimeriez avoir,
- crée une promotion (instance de
Cohort
) ayant nommée “L2 informatique”,- ajoute les étudiants créés à la promotion et
- affiche les résultats de la promotion.
public static void main(String[] args){
= new Student("Jean-Michel", "Bruitage");
Student student1 = new Student("David", "Goodenough");
Student student2 .addResult("Programmation 2", new Grade(20));
student1.addResult("Programmation 2", new Grade(0));
student2.addResult("Structures discrètes", new Grade(20));
student1.addResult("Structures discrètes", new Grade(0));
student2= new Cohort("L2 informatique");
Cohort cohort .addStudent(student1);
cohort.addStudent(student2);
cohort.printStudentsResults();
cohort}