Exercice 2 - POO · Bac Numérique et Sciences Informatiques Métropole 1 remplacement 2022

Thème : Programmation orientée objet : classes, attributs, méthodes · Tiré du sujet Métropole France 1 remplacement (2022)

Énoncé

Exercice 2 — Partie A: Analyse du code et complétion

Cet exercice aborde les notions de classes, itération et récursivité.

Une petite société immobilière ne voulant pas investir dans une base de données nécessitant une mise en place longue et fastidieuse a créé un fichier.csv pour stocker ses annonces. La consultation et la mise à jour de ce fichier ne seront pas étudiées ici. Pour limiter notre étude, nous considérerons que les données sont stockées temporairement dans une liste v dont voici la structure simplifiée:

# pieces

class Piece:

def __init__(self, a, b):

self.nom = a # nom

self.sup = b #superficie de la piece

def sup(self):

return self.sup

#villas

class Villa:

def __init__(self, a, b, c, d, e):

self.nom = a # nom de la villa

self.sejour = b # caracteristiques sejour

self.ch1 = c # caracteristiques de la 1ere chambre

self.ch2 = d # caracteristiques de la 2eme chambre

self.eqCuis = e # equipement de la cuisine "eq" ou "noneq"

def nom(self):

return self.nom

def surface(self):

return......

def equip(self):

return self.eqCuis

# Programme principal

v=[]

v.append( Villa("Les quatre vents", Piece("séjour",40), Piece("ch1",10), Piece("ch2",20),"eq"))

v.append( Villa("Les goélands", Piece("séjour",50), Piece("ch1",15), Piece("ch2",15), "eq"))

v.append( Villa("Rêve d'été", Piece("séjour",30), Piece("ch1",15), Piece("ch2",20), "non eq"))

v.append( Villa("Les oliviers", Piece("séjour",30), Piece("ch1",10), Piece("ch2",20), "eq"))

v.append( Villa("Bellevue", Piece("séjour",30), Piece("ch1",10), Piece("ch2",20), "non eq")) La structure de données retenue pour l'exercice est définie par la classe Villa.

1.a)

Combien d'éléments contient la liste v ?

1.b)

Que retourne l'instruction v[1].nom() ?

1.c)

Pour accéder à l'information de la surface habitable du logement, le développeur souhaite ajouter la méthode surface() qui renvoie cette surface. Complétez la méthode surface().

def surface(self):

2.

L'agent immobilier veut pouvoir consulter les villas qui disposent d'une cuisine équipée. Pour cela vous devez écrire la portion du programme qui affichera la liste des villas équipées. Elle devra parcourir séquentiellement la liste et afficher à l'écran le nom de chaque villa équipée.

Énoncé: Exercice 2 - POO · Bac Numérique et Sciences Informatiques Métropole 1 remplacement 2022

Corrigé

Corrigé proposé par AprenAI (non officiel)

1.a) Combien d'éléments contient la liste v ?

Réponse : 5

1.b) Que retourne l'instruction v[1].nom() ?

Réponse : "Les goélands"

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

‹ Exercice 5 · Métropole 2022 (sujet 1) · Exercice 5 - Questions 1 à 4 : Programmation orie… · Métropole 2022 (sujet 2) ›

Plus d’exercices de Programmation orientée objet : classes, attributs, méthodes