Exercice 3 - Partie B · Bac Numérique et Sciences Informatiques Sujets zéro et spécimens sujet 2024 (sujet 2)
Thème : Programmation orientée objet : classes, attributs, méthodes · Tiré du sujet Sujet 2 (2024)
Énoncé
EXERCICE 3 (8 points)
Cet exercice porte sur la programmation Python (dictionnaire), la programmation orientée objet, les bases de données relationnelles et les requêtes SQL.
Cet exercice est composé de 3 parties indépendantes.
On veut créer une application permettant de stocker et de traiter des informations sur des livres de science-fiction. On désire stocker les informations suivantes:
l'identifiant du livre ( id);
le titre ( titre);
le nom de l'auteur ( nom_auteur);
l'année de première publication ( ann_pub);
une note sur 10 ( note).
Voici un extrait des informations que l'on cherche à stocker:
Livres de science-fiction
id · titre · auteur · ann_pub · note
1 · 1984 · Orwell · 1949 · 10
2 · Dune · Herbert · 1965 · 8
14 · Fondation · Asimov · 1951 · 9
4 · Ubik · K.Dick · 1953 · 9
8 · Blade Runner · K.Dick · 1968 · 8
7 · Les Robots · Asimov · 1950 · 10
15 · Ravage · Barjavel · 1943 · 6
17 · Chroniques martiennes · Bradbury · 1950 · 7
9 · Dragon déchu · Hamilton · 2003 · 8
10 · Fahrenheit 451 · Bradbury · 1953 · 8
Partie B
Dans cette partie, on utilise le paradigme orientée objet (POO). On propose deux classes: Livre et Bibliotheque.
class Livre:
def __init__(self, id_livre, titre, auteur, ann_pub, note):
self.id = id_livre
self.titre = titre
self.auteur = auteur
self.ann_pub = ann_pub
self.note = note
def get_id(self):
return self.id
def get_titre(self):
return self.titre
def get_auteur(self):
return self.auteur
def get_ann_pub(self):
return self.ann_pub
class Bibliotheque:
def __init__(self):
self.liste_livre = []
def ajout_livre(self, livre):
self.liste_livre.append(livre)
def titre_livre(self, id_livre):
for livre in self.liste_livre:
if... == id_livre:
return...
return...
6.
Citer un attribut et une méthode de la classe Livre.
7.
Écrire la méthode get_note de la classe Livre. Cette méthode devra renvoyer la note d'un livre.
def get_note(self):
8.
Écrire le programme permettant d'ajouter le livre Blade Runner à la fin de la « bibliothèque » en utilisant la classe Livre et la classe Bibliotheque (voir le tableau en début d'exercice).
9.
Recopier et compléter la méthode titre_livre de la classe Bibliotheque. Cette méthode prend en paramètre l'identifiant d'un livre et renvoie le titre du livre si l'identifiant existe, ou None si l'identifiant n'existe pas.
def titre_livre(self, id_livre):

Corrigé
Corrigé proposé par AprenAI (non officiel)
6. Citer un attribut de la classe Livre
Réponse : id / titre / auteur / ann_pub / note
6. Citer une méthode de la classe Livre
Réponse : get_id / get_titre / get_auteur / get_ann_pub / __init__
7. Écrire la méthode get_note de la classe Livre. Cette méthode devra renvoyer la note d'un livre.
Réponse : ```python return self.note ```
Les réponses des 2 questions restantes et l’explication pas à pas sont réservées aux membres Premium. Premium
Résous-le ici : correction automatique, indices et corrigé détaillé.