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 (xA;yA)(x_A; y_A) et (xB;yB)(x_B; y_B) est donnée par la formule: AB=(xB−xA)2+(yB−yA)2AB = \sqrt{(x_B - x_A)^2 + (y_B - y_A)^2}.

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 nn, nn é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.

Énoncé: Exercice 3 - Question 2.a · Bac Numérique et Sciences Informatiques Polynésie 2023 (jour 1)

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)

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