Exercice 4 - POO · Bac Numérique et Sciences Informatiques Métropole 2 remplacement 2021

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

Énoncé

Une entreprise fabrique des yaourts qui peuvent être soit nature (sans arôme), soit aromatisés (fraise, abricot ou vanille).

Pour pouvoir traiter informatiquement les spécificités de ce produit, on va donc créer une classe Yaourt qui possèdera un certain nombre d'attributs:

Son genre: nature ou aromatisé

Son arôme: fraise, abricot, vanille ou aucun

Sa date de durabilité minimale (DDM) exprimée par un entier compris entre 1 et 365 (on ne gère pas les années bissextiles). Par exemple, si la DDM est égale à 15, la date de durabilité minimale est le 15 janvier.

On va créer également des méthodes permettant d'interagir avec l'objet Yaourt pour attribuer un arôme ou récupérer un genre par exemple. On peut représenter cette classe par le tableau de spécifications ci-dessous:

1. Déclaration et instanciation de la classe Yaourt

La classe Yaourt est déclarée en Python à l'aide du mot-clé class:

class Yaourt:

""" Classe définissant un yaourt caractérisé par:

- son arome

- son genre

- sa durée de durabilité minimale"""

L'annexe 1 de l'exercice 4 donne le code existant et l'endroit des codes à produire dans les questions suivantes.

a)

Quelles sont les assertions à prévoir pour vérifier que l'arôme et la durée correspondent bien à des valeurs acceptables. Il faudra aussi expliciter les commentaires qui seront renvoyés.

Pour rappel:

• L'arôme doit prendre comme valeur 'fraise', 'abricot', 'vanille' ou 'aucun'.

• Sa date de durabilité minimale (DDM) est une valeur positive.

b)

Pour créer un yaourt, on exécutera la commande suivante:

Mon_Yaourt = Yaourt('fraise', 24)

c)

Écrire en Python une méthode GetArome(self), renvoyant l'arôme du yaourt créé.

def GetArome(self):

2. Mutateur d'arôme

On appelle mutateur une méthode permettant de modifier un ou plusieurs attributs d'un objet.

Écrire en Python le mutateur SetArome(self, arome) permettant de modifier l'arôme du yaourt.

On veillera à garder une cohérence entre l'arôme et le genre.

def SetArome(self, arome):

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

Corrigé

Corrigé proposé par AprenAI (non officiel)

1.a) Quelles sont les assertions à prévoir pour vérifier que l'arôme et la durée correspondent bien à des valeurs acceptables. Il faudra aussi expliciter les commentaires qui seront renvoyés.

Réponse : ```python assert arome in ['fraise', 'abricot', 'vanille', 'aucun'], "Arôme non valide" assert duree > 0, "La durée doit être positive" ```

1.b) Quelle valeur sera affectée à l'attribut genre associé à Mon_Yaourt ?

Réponse : 'aromatise'

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 1 - Programmation orientée objet · Métropole 2021 (sujet 2)

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