Exercice 3 - Question 2.a · Bac Numérique et Sciences Informatiques Polynésie 2023 (jour 1)
Thème : Programmation orientée objet : classes, attributs, méthodes · Tiré du sujet Jour 1 (2023)
Énoncé
EXERCICE 3 (5 points)
Cet exercice porte sur l'algorithmique, la programmation orientée objet et la méthode diviser-pour-régner.
L'objectif de cet exercice est de trouver les deux points les plus proches dans un nuage de points pour lesquels on connaît les coordonnées dans un repère orthogonal.
On rappelle que la distance entre deux points A et B de coordonnées et est donnée par la formule: .
Les coordonnées d'un point seront stockées dans un tuple de deux nombres réels.
Le nuage de points sera représenté en Python par une liste de tuples de taille , étant le nombre total de points. On suppose qu'il n'y a pas de points confondus (mêmes abscisses et mêmes ordonnées) et qu'il y a au moins deux points dans le nuage.
Pour calculer la racine carrée, on utilisera la fonction sqrt du module math, pour rappel:
1 >>> from math import sqrt
2 >>> sqrt(16)
3 4.0
2. On définit la classe Segment ci-dessous:
from math import sqrt
class Segment:
def __init__(self, point1, point2):
self.p1 = point1
self.p2 = point2
self.longueur =....... # à compléter a.
Recopier et compléter la ligne 6 du constructeur de la classe Segment.

Corrigé
Corrigé proposé par AprenAI (non officiel)
a. Recopier et compléter la ligne 6 du constructeur de la classe Segment.
Réponse : ```python self.longueur = sqrt((point2[0] - point1[0])2 + (point2[1] - point1[1])2) ``` ```python self.longueur = sqrt((self.p2[0] - self.p1[0])2 + (self.p2[1] - self.p1[1])2) ```
L’explication pas à pas, faite avec l’IA, est réservée aux membres Premium. Premium
Résous-le ici : correction automatique, indices et corrigé détaillé.
‹ Exercice 2 - Question 2 · Polynésie 2023 (jour 1)