Baccalauréat — Épreuve pratique — 2024 — NSI
Épreuve pratique NSI 2024 — Sujet 04 : dernière occurrence, point le plus proche
Sujet
Épreuve pratique de NSI, session 2024 — sujet n°04 de la banque nationale. Durée : 1 heure, sur ordinateur. Le candidat traite les deux exercices, notés chacun sur 10 points.
Exercice 1 — indice de la dernière occurrence
Programmer la fonction recherche, prenant en paramètre un tableau non vide tab (type list) d'entiers et un entier n, et qui renvoie l'indice de la dernière occurrence de l'élément cherché. Si l'élément n'est pas présent, la fonction renvoie None.
Exemples :
>>> recherche([5, 3],1) # renvoie None
>>> recherche([2,4],2)
0
>>> recherche([2,3,5,2,4],2)
3Exercice 2 — point le plus proche
On souhaite programmer une fonction indiquant le point le plus proche d'un point de départ dans un tableau de points. Les points sont tous à coordonnées entières et sont donnés sous la forme d'un tuple de deux entiers. Le tableau des points à traiter est donc un tableau de tuples.
On rappelle que la distance entre deux points du plan de coordonnées et vérifie la formule :
Compléter le code des fonctions distance_carre et point_le_plus_proche fournies ci-dessous pour qu'elles répondent à leurs spécifications.
def distance_carre(point1, point2):
""" Calcule et renvoie la distance au carre entre
deux points."""
return (...)**2 + (...)**2
def point_le_plus_proche(depart, tab):
""" Renvoie les coordonnées du premier point du tableau tab se
trouvant à la plus courte distance du point depart."""
min_point = tab[0]
min_dist = ...
for i in range(1, len(tab)):
if distance_carre(tab[i], depart) < ...:
min_point = ...
min_dist = ...
return min_pointExemples :
>>> distance_carre((1, 0), (5, 3))
25
>>> distance_carre((1, 0), (0, 1))
2
>>> point_le_plus_proche((0, 0), [(7, 9), (2, 5), (5, 2)])
(2, 5)
>>> point_le_plus_proche((5, 2), [(7, 9), (2, 5), (5, 2)])
(5, 2)Corrigé
Créez un compte gratuit : votre première correction est offerte.