Exercice 2 - Partie B · Bac Numérique et Sciences Informatiques Polynésie 2025 (jour 2)
Thème : Programmation orientée objet : classes, attributs, méthodes · Tiré du sujet Jour 2 (2025)
Énoncé
EXERCICE 2 (6 points)
Cet exercice porte sur la programmation Python, la programmation orientée objet, les bases de données relationnelles et les requêtes SQL.
Cet exercice est composé de deux parties indépendantes.
Partie A
Dans cette partie, nous allons utiliser une base de données sur les champignons. Le tableau ci-dessous nous donne un extrait du résultat obtenu, après avoir effectué la requête suivante:
SELECT * FROM champignon; id · nom · id_ordre · lamelle · couleur · chapeau_min · chapeau_max · pied_min · pied_max
1 · champignon de Paris · 1 · oui · blanc · 4 · 10 · 2 · 5
2 · champignon noir · 2 · non · noir · 2 · 10 · 0 · 0
3 · coprin chevelu · 1 · oui · blanc · 5 · 20 · 10 · 40
4 · bolet à pied rouge · 3 · non · jaune · 7 · 19 · 5 · 15
5 · amanite des Césars · 4 · oui · orange · 8 · 20 · 8 · 15
Les attributs nom, lamelle et couleur sont des chaines de caractères. La taille du chapeau et la longueur du pied des champignons sont des nombres exprimés en centimètres.
Partie B
Quentin fait quelques recherches afin de trouver les recettes possibles avec des champignons selon les saisons. Il trouve notamment les informations suivantes pour le lactaire délicieux:
Lactaire délicieux:
localisation: sous les pins
saison: été
recette: lactaires grillés à l'huile d'olive
cuisson: 12 minutes à feu moyen
Pour chaque champignon, il souhaite stocker les informations dans un objet de la classe Champignon définie ci-dessous:
class Champignon():
def __init__(self, nom, lieu, saison, recette, cuisson):
self.nom = nom
self.localisation = lieu
self.saison = saison
self.recette = recette
self.cuisson = cuisson
Donc l'instruction permettant d'instancier l'objet champignon1 du champignon lactaire délicieux est la suivante:
champignon1 = Champignon('Lactaire délicieux', 'Sous les pins', 'été', 'Lactaires grillés à l\'huile d\'olive', '12 minutes à feu moyen')
Quentin décide de stocker l'ensemble des instances de classe Champignon dans une variable liste_champi de type list.
9.
Recopier et compléter le programme ci-dessous permettant d'afficher le(s) nom(s) des champignons que l'on trouve lors de la saison été.
for e in liste_champi:
if...... == 'été':
print(...)
La plaque de cuisson de Quentin est défectueuse. Il ne peut cuire des aliments qu'à feu moyen. Il écrit donc rapidement le programme suivant afin de savoir s'il peut cuire ses champignons à feu moyen.
for c in liste_champi:
if c.nom == 'Lactaire délicieux':
return c.cuisson == 'feu moyen'
Ce programme renvoie False, alors que le lactaire délicieux se cuisine bien à feu moyen.
10.
Expliquer pourquoi il n'obtient pas le résultat attendu alors que Quentin n'a fait aucune erreur dans sa liste de champignons.
Malgré ce problème, Quentin ne souhaite pas modifier son travail et téléphone à son ami Iris qui lui fournit une fonction recherche_textuelle qui prend en paramètre deux chaînes de caractères texte et mot et qui retourne True si mot est un mot appartenant à texte et False sinon.
>>> recherche_textuelle('dans une forêt', 'forêt')
True
>>> recherche_textuelle('près de la mer', 'mare')
False
11.
Corriger le programme de la question précédente en utilisant la fonction recherche_textuelle.

Corrigé
Corrigé proposé par AprenAI (non officiel)
9. Condition de la structure if (à la place des premiers pointillés)
Réponse : ```python e.saison ```
9. Argument de la fonction print (à la place des seconds pointillés)
Réponse : ```python e.nom ```
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 · Polynésie 2025 (jour 2) · Exercice 2 - Question 2 · Polynésie 2023 (jour 1) ›