Correction DS 1 Le 16/09/21 Terminale NSI
Contrôle de connaissances
Nom :... Prénom :...
Exercice 1 : ( 4 points ) On considère la classe suivante :
Mes_notes : class Mes_notes :
def __init__(self, matiere ) :
self.matiere = matiere # de type string self.liste_note = [] # initialement vide
Cette classe représentent la liste des notes dans une matière.
1. Écrire la méthode accesseurs pour récupérer la matière.
Correction Correction :
def get_matiere ( self) :
""" Methode accesseur pour la matiere """
return self.matiere
2. Écrire la méthode nouvelle_note qui prend en argument un nombre et qui le place dans la liste de notes.
Correction Correction :
def nouvelle_note (self , nouveau_n ) :
""" methode pour alimenter la liste de note """
self.liste_note.append(nouveau_n)
3. Compléter la méthode moyenne qui renvoie la moyenne des notes.
def moyenne(self) :
""" retourne la moyenne"""
s = ...
for n in ... : s += ...
return ...
Correction Correction :
def moyenne(self) :
""" retourne la moyenne"""
s = 0
for n in self.liste_note : s += n
return s/(len(self.liste_note))
sebjaumaths.free.fr 1/4 Lycée Jean Rostand
Correction DS 1 Le 16/09/21 Terminale NSI
4. Écrire la méthode __str__ permettant l'achage de l'objet sous la forme : La plus petite note en .... est ... , la plus grande est ..., et la moyenne est ...
Correction Correction :
def __str__(self):
"""methode d affichage"""
debut ="La plus petite note en {} est {} ,".\
format(self.matiere , min(self.liste_note)) fin ="la plus grande est {}, et la moyenne est {}. ".\
format(max(self.liste_note) , self.moyenne()) return debut + fin
Correction
class Mes_notes :
def __init__(self, matiere ) : self.matiere = matiere self.liste_note = []
def get_matiere ( self) :
""" Methode accesseur pour la matiere """
return self.matiere
def nouvelle_note (self , nouveau_n ) :
""" methode pour alimenter la liste de note """
self.liste_note.append(nouveau_n) def moyenne(self) :
""" retourne la moyenne"""
s = 0
for n in self.liste_note : s += n
return s/(len(self.liste_note)) def __str__(self):
"""methode d affichage"""
debut ="La plus petite note en {} est {} ,".\
format(self.matiere , min(self.liste_note)) fin ="la plus grande est {}, et la moyenne est {}. ".\
format(max(self.liste_note) , self.moyenne()) return debut + fin
sebjaumaths.free.fr 2/4 Lycée Jean Rostand
Correction DS 1 Le 16/09/21 Terminale NSI
Exercice 2 : ( 6 points )
On dénie la classe Montre avec les attributs heure etminute de la façon suivante : La classe Montre :
class Montre :
def __init__ (self, heure,minute ):
""" methode constructeur """
self.heure = heure self.minute = minute
1. Écrire la méthodeminute_suivante, qui augmente d'une minute.
Correction Correction :
def minute_suivante(self) :
""" augmente d'une minute """
if self.minute == 59 : self.minute = 0
if self.heure == 23 : self.heure = 0 else :
self.heure +=1 else :
self.minute += 1
2. Écrire la méthodedecalage_horaire_positif, qui augmente l'heure d'autant que l'ar- gument.
Correction Correction :
def decalage_horaire_positif(self , decalage ) :
""" opere un decalage horaire positif """
nouvelle_heure = (self.heure + decalage ) % 24 self.heure = nouvelle_heure
3. Écrire la méthode decalage_horaire_negatif, qui diminue l'heure d'autant que l'ar- gument.
Correction Correction :
def decalage_horaire_negatif(self , decalage ) :
""" opere un decalage horaire negatif """
nouvelle_heure = (self.heure - decalage ) % 24 self.heure = nouvelle_heure
4. Écrire la méthode __str__, qui permet l'achage de l'heure sous la forme : il est 14 heures et 24 minutes
Correction Correction :
sebjaumaths.free.fr 3/4 Lycée Jean Rostand
Correction DS 1 Le 16/09/21 Terminale NSI
def __str__(self) :
""" permet l'affichage de l'heure """
return "il est {} heures et {} minutes".format(self.heure,self.
minute) Correction class Montre :
def __init__ (self, heure,minute ):
""" methode constructeur """
self.heure = heure self.minute = minute def minute_suivante(self) :
""" augmente d'une minute """
if self.minute == 59 : self.minute = 0
if self.heure == 23 : self.heure = 0 else :
self.heure +=1 else :
self.minute += 1
def decalage_horaire_positif(self , decalage ) :
""" opere un decalage horaire positif """
nouvelle_heure = (self.heure + decalage ) % 24 self.heure = nouvelle_heure
def decalage_horaire_negatif(self , decalage ) :
""" opere un decalage horaire negatif """
nouvelle_heure = (self.heure - decalage ) % 24 self.heure = nouvelle_heure
def __str__(self) :
""" permet l'affichage de l'heure """
return "il est {} heures et {} minutes".format(self.heure,self.minute)
sebjaumaths.free.fr 4/4 Lycée Jean Rostand