Exercice 1 - Partie A · Bac Numérique et Sciences Informatiques Centres étrangers (Afrique) 2026 (jour 2)
Thème : Programmation orientée objet : classes, attributs, méthodes · Tiré du sujet Jour 2 (2026)
Énoncé
Exercice 1 (6 points)
Cet exercice porte sur la programmation orienté objet, la sécurité des communications.
Une compagnie de taxis est gérée par une application qui a été programmée en langage Python. On s’intéresse à quelques classes programmées dont on donne toutes les propriétés initialisées par le constructeur et les méthodes qui seront utilisées dans cet exercice.
La classe Chauffeur
Propriétés (Attributs)
Nom · Description · Type · Initialisation
nom · Nom du chauffeur. · str · Premier paramètre passé au constructeur.
prenom · Prénom du chauffeur. · str · Deuxième paramètre passé au constructeur.
neph · Numéro d’enregistrement préfectoral harmonisé, composé de 12 chiffres. Numéro unique attribué à vie depuis 2013. · str · Troisième paramètre passé au constructeur.
La classe Client
Propriétés (Attributs)
Nom · Description · Type · Initialisation
nom · Nom du client. · str · Premier paramètre passé au constructeur.
prenom · Prénom du client. · str · Deuxième paramètre passé au constructeur.
adresse · Adresse du client · str · Troisième paramètre passé au constructeur.
nb_personne · Nombre de personnes accompagnant le client. · int · Quatrième paramètre passé au constructeur.
Partie A
Chaque classe est définie dans un script Python qui porte le nom de la classe, taxi.py pour la classe Taxi, client.py pour la classe Client, etc., et les variables vehicules et energie sont déclarées dans un script Python nommé donnees.py. L'application est programmée dans un script Python nommé application.py.
Tous les fichiers sont dans le même répertoire.
1.
Donner les instructions à ajouter au script application.py pour que l'on puisse y utiliser les variables vehicules et energie du script donnees.py et les classes Chauffeur, Taxi, Client et Course.
2.
Écrire une commande Python permettant d'instancier le chauffeur de taxi de prénom John et de nom Doe, dont le numéro neph est 140159320012.
Le chauffeur John Doe conduit le véhicule de type standard à énergie électrique d'immatriculation HG-818-AV, qui n'est pas adapté pour les personnes à mobilités réduites.
3.
Écrire les instructions qui permettent de créer le véhicule d'immatriculation HG-818-AV et de l'attribuer au chauffeur John Doe.
La centrale de la compagnie de taxi envoie une demande au chauffeur John Doe pour qu'il prenne en charge la cliente Jeanne Doe qui est accompagnée de ses deux enfants.
Elle désire, de son domicile au 6 rue des ordinateurs à Paris, se rendre au 211 avenue Jean Jaurès à Paris (Le parc de la Villette).
4.
Écrire une assertion, qui placée au début du constructeur de la classe Course, permet d'interdire la création de la course si le taxi n'est pas libre.
5.
Ajouter une instruction à la classe Course afin que le taxi ne soit plus marqué comme libre lors de la création d'une course.
6.
Écrire la ou les instructions qui permettent de créer la course de la cliente Jeanne Doe.
À l'aide de la bibliothèque Python datetime on peut calculer la différence de temps en secondes entre deux dates à l'aide de la fonction du même nom datetime.
>>> from datetime import datetime
>>> depart = datetime(2025, 7, 12, 9, 12)
>>> arrivee = datetime(2025, 7, 12, 17, 12)
>>> (arrivee - depart).total_seconds()
28800.0
C'est-à-dire qu'entre le 12 juillet 2025 à 9h12 et le 12 juillet 2025 à 17h12 il s'est écoulé 28800 secondes.
7.
Écrire un code Python pour la méthode temps de la classe Course qui renvoie le temps du trajet en minutes.
On veut ajouter la méthode tarif à la classe Course qui permet de renvoyer le montant à payer en euros par le client pour la course réalisée. Le chauffeur John Doe va réaliser un trajet de 9,1 km en 19 minutes pour amener sa cliente Jeanne Doe à destination. Pour un véhicule standard la prise en charge est de 3 euros, le prix au km est de 1,10 euros et le tarif horaire est de 38 euros.
Le calcul du coût en euros de la course est le suivant:
8.
Recopier et compléter le code Python pour la méthode tarif de la classe Course suivant.
def tarif(self):
type_vehicule =...
donnees_tarifaire = vehicules[type_vehicule]
prise_en_charge =...
tarif_h =...
prix_km =...
tarif =...
tarif = tarif + prix_km*...
tarif = tarif + tarif_h*.../60
return tarif

Corrigé
Corrigé proposé par AprenAI (non officiel)
1. Donner les instructions à ajouter au script application.py pour que l'on puisse y utiliser les variables vehicules et energie du script donnees.py et les classes Chauffeur, Taxi, Client et Course.
Réponse : ```python from donnees import vehicules, energie from chauffeur import Chauffeur from taxi import Taxi from client import Client from course import Course ```
2. Écrire une commande Python permettant d'instancier le chauffeur de taxi de prénom John et de nom Doe, dont le numéro neph est 140159320012.
Réponse : ```python chauffeur_john = Chauffeur("Doe", "John", "140159320012") ```
3. Écrire les instructions qui permettent de créer le véhicule d'immatriculation HG-818-AV et de l'attribuer au chauffeur John Doe.
Réponse : ```python taxi_john = Taxi("HG-818-AV", "standard", "électrique", False) taxi_john.choix_chauffeur(chauffeur_john) ```
4. Écrire une assertion, qui placée au début du constructeur de la classe Course, permet d'interdire la création de la course si le taxi n'est pas libre.
Réponse : ```python assert taxi.est_libre(), "Le taxi n'est pas libre" ``` ```python assert taxi.est_libre() ```
Les réponses des 4 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 3 - Programmation orientée objet · Centres étrangers (Afrique) 2026 (jour 1) · Exercice 3 - Partie B (Questions 9 à 11) · Centres étrangers (Afrique) 2024 (jour 1) ›
Plus d’exercices de Programmation orientée objet : classes, attributs, méthodes
- Exercice 1 - Programmation orientée objet · Centres étrangers (Afrique) 2026 (jour 1)
- Exercice 3 - Programmation orientée objet · Centres étrangers (Afrique) 2026 (jour 1)
- Exercice 3 - Partie B (Questions 9 à 11) · Centres étrangers (Afrique) 2024 (jour 1)
- Exercice 1 - Partie A · Centres étrangers (Afrique) 2024 (jour 2)
- Exercice 4 - Programmation orientée objet · Centres étrangers (Afrique) 2022 (jour 2)
- Exercice 1 · Centres étrangers (Afrique) 2021 (jour 1)
- Exercice 5 · Centres étrangers (Afrique) 2021 (jour 2)