Aperçu du sujet
EXERCICE 1 (6 points) Cet exercice porte sur la programmation orientée objet et l’algorithmique. Pour travailler sur des dates, on a créé la classe dont le code est écrit ci-dessous Date : 1 class Date: 2 def __init__(self, jour, mois, annee): 3 self.jour = ... 4 self.mois = ... 5
EXERCICE 1 (6 points) Cet exercice porte sur la programmation orientée objet et l’algorithmique. Pour travailler sur des dates, on a créé la classe dont le code est écrit ci-dessous Date : 1 class Date: 2 def __init__(self, jour, mois, annee): 3 self.jour = ... 4 self.mois = ... 5 self.annee = ... 6 self.nb_jours_par_mois = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] 7 8 9 def get_jour(self): 10 return self.jour 11 12 def get_mois(self): 13 return self.mois 14 15 def get_annee(self): 16 return ... 17 18 def set_jour(self, jour): 19 self.jour = jour 20 21 def set_mois(self, mois): 22 self.mois = ... 23 24 def set_annee(self, annee): 25 self.annee = annee 26 27 def est_bissextile(self): 28 ... Partie A : Accès et modification des données Le constructeur de la classe prend en paramètres trois entiers représentant le Date jour, le mois et l’année, puis les affecte respectivement aux attributs , et jour mois . annee 1. Recopier et compléter les lignes 3 à 5 du code précédent. 2. Indiquer à quelle date correspond l’instance de la classe suivante : Date d = Date(1, 5, 2000) 3. Écrire le code permettant de créer une instance de la classe qui d Date représente la date du 19 juin 2024. 4. La méthode renvoie la valeur de l’attribut . get_annee annee Recopier et compléter les lignes 15 et 16 du code précédent. 25-NSIJ2JA1 Page : 2 / 14 5. La méthode modifie l’attribut en lui affectant la valeur passée set_mois mois en argument. Recopier et compléter les lignes 21 et 22 du code précédent. L’attribut contient une liste qui correspond au nombre de jours nb_jours_par_mois pour chaque mois. Le mois de février contient généralement 28 jours mais lors des années bissextiles il en contient 29. 6. La classe dispose d’une méthode , qui utilise Date est_bissextile uniquement l’attribut , et qui renvoie si l’année de l’instance courante annee True est bissextile et sinon. On veut compléter la méthode False __init__ pour ajuster le nombre de jours par mois pour les années bissextiles. Recopier et compléter les lignes 7 et 8 suivantes : 6 self.nb_jours_par_mois = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] 7 if ... : 8 = 29 Partie B : sur l’année de l’instance courante Pour déterminer le nombre de jours au cours d’une année, il faut savoir si elle