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.

Énoncé: Exercice 2 - Partie B · Bac Numérique et Sciences Informatiques Polynésie 2025 (jour 2)

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

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