Matrice – Bac pratique – Section informatique – 2010

Bac Info 10-12-25
181 0

Sujet (Algo et programmation - Bac 2010)

On se propose de stocker les ooordormées x et y de n points du plan (avec 3 <= n <= 10) dans un tableau T à deux dimensions. Ces points sont nommés At B, C, D, E ... . Les noms des points constituent les indices des colonnes. Les coordonnées de ces points sont rangées dans le tableau de la manière suivante : - la ligne l contiendra les abscisses - la ligne 2 contiendra les ordonnées Exemple : Pour n = 4, si on donne aux quatre points A B, C, D les coordonnées. suivantes. : A(-2, 3) ; 8(3, -2) ; C(3,3)} e D(5, -2). alors le tableau T sera rempli comme suit :

On se propose par la suite d'utiliser ce tableau pour calculer les distances entre Le différents points et les ranger dans une matrice carrée M d'ordre n où les indices des lignes et des colonnes sont les noms des n points.

On rappelle que la distance d entre deux points de coordonnées respectives {x1, y1) et (x2, y2 ) est donnée par la formule suivante :

Pour le tableau T de l'exemple .on obtient la matrice M suivante :

Travail demandé :

Ecrire un programme Python qui permet de :
- saisir un entier n tel que 3<=n<=10.
- remplir un tableau T par les coordonnées de n points
- en tenant compte des particularités constatées précédemment, calculer les distances entre les différents points et les ranger dans la matrice M.
- afficher le contenu de la matrice M.
- saisir le nom d'un des points du tableau T, puis d'afficher le nom du point qui lui est le plus proche. Dans le- cas où. il y en a plusieurs, afficher le premier rencontré.
exemple :
Pour la matrice M de l'exemple précédant, si le point saisi est "C" alors, le programme affichera : Le premier point le plus proche de C est : A

 

Solution Algorithmique

Dans cet algorithme, On va utiliser deux fonctions et six procédures :

- la fonction saisie()

- la procédure remplir_matrice_T()

- la procédure afficher_matrice_T()

- la fonction calcul_distance()

- la procédure remplir_matrice_M()

- la procédure afficher_matrice_M()

- la procédure saisie_point()

- la procédure point_plus_proche()

 

Algorithme du programme Principal

Déclaration des objets

Objet Type / Nature
n entier
t matrice
m matrice
point caractère

 

La fonction saisir

La fonction saisie() permet à l’utilisateur de saisir un entier n et de contrôler que cet entier appartient bien à l’intervalle strict : 100

Déclaration des objets

Objet Type / Nature
n entier

 

La procédure remplir_matrice_T

Cette fonction a pour rôle de remplir la matrice t avec les coordonnées de n points, saisis par l’utilisateur.

La matrice t est organisée comme suit :

- t[0][i] contient l’abscisse du point numéro i

- t[1][i] contient son ordonnée

Les points sont nommés automatiquement A, B, C, ... grâce au code ASCII (A = 65).

Ainsi, pour chaque point (A, B, C, …), le programme demande : son abscisse, son ordonnée et stocke ces valeurs dans la matrice.

Déclaration des objets

Objet Type / Nature
code_ASCII entier
i entier

 

La procédure afficher_matrice_T

Cette procédure sert à afficher la matrice T, qui contient les coordonnées des points.

Il montre successivement :

- les noms des points (A, B, C, …)

- la ligne des abscisses (t[0][i])

- la ligne des ordonnées (t[1][i])

L’affichage se fait sous forme d’un tableau lisible.

Déclaration des objets

Objet Type / Nature
i entier
code_ASCII entier

 

La fonction calcul_distance

Cette fonction calcule et renvoie la distance euclidienne entre deux points du plan.

Les points ont pour coordonnées : point 1 : (x1, y1) et point 2 : (x2, y2)

 

La procédure remplir_matrice_M

Cette procédure sert à afficher la matrice M, qui contient les distances entre tous les points.

1- Elle affiche les noms des points (A, B, C, …) sur la première ligne.

2- Pour chaque point (ligne) : elle affiche d’abord son nom (A, B, C, …), puis toutes les distances entre ce point et les autres (m[i][j]).

Déclaration des objets

Objet Type / Nature
i entier
j entier

 

La procédure afficher_matrice_M

Cette procédure sert à afficher la matrice M, qui contient les distances entre tous les points.

1- Elle affiche les noms des points (A, B, C, …) sur la première ligne.

2- Pour chaque point (ligne) : elle affiche d’abord son nom (A, B, C, …), puis toutes les distances entre ce point et les autres (m[i][j]).

Déclaration des objets

Objet Type / Nature
code_ASCII entier
i entier
j entier

 

La fonction saisie_point

Ce programme sert à saisir un point valide, c’est-à-dire une lettre représentant un point parmi : A, B, C, …

Déclaration des objets

Objet Type / Nature
point caractère

 

La fonction point_plus_proche

Cette fonction recherche et retourne le nom du point le plus proche d’un point donné, en comparant les distances contenues dans la matrice M.

Déclaration des objets

Objet Type / Nature
indice_proche entier
i entier

 

Solution en Python

Exécution du programme

0 commentaire

laisser un commentaire

Veuillez noter s'il vous plaît*

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Passion de robotique

Atelier robotique

Construction des robots

Bras robotique

Maison intelligente

But de ce site web

La robotique éducative joue un rôle important dans l'éducation des enfants et des jeunes en les aidant à acquérir des compétences en science et technologie.
Dans ce cadre notre site web représente une excellente ressource pour les parents, les enseignants et les enfants qui souhaitent découvrir la robotique.

Coordonnées

Zaouiet Kontech-Jemmel-Monastir-Tunisie

+216 92 886 231

medaliprof@gmail.com

Photos des articles

Site robotique réalisé par Mohamed Ali Haj Salah - Prof Info