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):

Énoncé: Exercice 3 - Partie B · Bac Numérique et Sciences Informatiques Sujets zéro et spécimens sujet 2024 (sujet 2)

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é.