Exercice 1 - Programmation orientée objet · Bac Numérique et Sciences Informatiques Métropole 2021 (sujet 2)
Thème : Programmation orientée objet : classes, attributs, méthodes · Tiré du sujet Métropole France 2 (2021)
Énoncé
EXERCICE 1 (4 points)
Cet exercice porte sur les arbres et la programmation orientée objet.
Une agence immobilière développe un programme pour gérer les biens immobiliers qu'elle propose à la vente.
Dans ce programme, pour modéliser les données de biens immobiliers, on définit une classe Bim avec les attributs suivants:
nt de type str représente la nature du bien (appartement, maison, bureau, commerces,...);
sf de type float est la surface du bien;
pm de type float est le prix moyen par m² du bien qui dépend de son emplacement.
La classe Bim possède une méthode estim_prix qui renvoie une estimation du prix du bien. Le code (incomplet) de la classe Bim est donné ci-dessous:
class Bim:
def __init__(self, nature, surface, prix_moy):
...
def estim_prix(self):
return self.sf * self.pm
1.
Recopier et compléter le code du constructeur de la classe Bim:
def __init__(self, nature, surface, prix_moy):
2.
On exécute l'instruction suivante:
b1 = Bim('maison', 70.0, 2000.0)
Que renvoie l'instruction b1.estim_prix() ? Préciser le type de la valeur renvoyée.
3.
On souhaite affiner l'estimation du prix d'un bien en prenant en compte sa nature:
pour un bien dont l'attribut nt est 'maison' la nouvelle estimation du prix est le produit de sa surface par le prix moyen par m² multiplié par 1,1;
pour un bien dont l'attribut nt est 'bureau' la nouvelle estimation du prix est le produit de sa surface par le prix moyen par m² multiplié par 0,8;
pour les biens d'autres natures, l'estimation du prix ne change pas.
Modifier le code de la méthode estim_prix afin de prendre en compte ce changement de calcul:
def estim_prix(self):
4.
Écrire le code Python d'une fonction nb_maison(lst) qui prend en argument une liste Python de biens immobiliers de type Bim et qui renvoie le nombre d'objets de nature 'maison' contenus dans la liste lst.
def nb_maison(lst):

Corrigé
Corrigé proposé par AprenAI (non officiel)
1. Recopier et compléter le code du constructeur de la classe Bim.
Réponse : ```python self.nt = nature self.sf = surface self.pm = prix_moy ```
2. Que renvoie l'instruction b1.estim_prix() ?
Réponse : 140000.0
2. Préciser le type de la valeur renvoyée.
Réponse : float
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 4 · Métropole 1 remplacement 2021 · Exercice 4 - POO · Métropole 2 remplacement 2021 ›