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

Énoncé: Exercice 1 - Programmation orientée objet · Bac Numérique et Sciences Informatiques Métropole 2021 (sujet 2)

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 ›

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