Problème Matrice – Bac théorique – Section informatique – 2023

Bac Info 21-01-26
168 0

Sujet (Algo et programmation - Bac 2023)

Soit M une matrice de NL x NC entiers (avec 3 ≤ NL ≤ 15 et 3 ≤ NC ≤ 15) dont les éléments d’une même colonne sont distincts.

On se propose de déterminer la valeur minimale des maximums des colonnes de la matrice M appelée MiniMax. Pour ce faire on détermine le maximum de chaque colonne puis on détermine la valeur minimale des maximums obtenus.

Travail demandé :

1- Ecrire un algorithme d’une fonction Max_Colonne(NL, j, M) qui, pour une colonne j de la matrice M, permet de retourner le numéro de la ligne de son maximum.

2- Ecrire un algorithme d’une procédure nommée Recherche_Minimax qui permet de déterminer et d’afficher les positions de MiniMax dans la matrice M en utilisant le module Max_Colonne et en appliquant le procédé suivant :

- Remplir un tableau d’enregistrements T par les positions des maximums des colonnes de la matrice M. Chaque enregistrement du tableau T correspond au maximum d’une colonne et il est formé des deux champs suivants :

C : Le numéro de la colonne de la matrice M où se trouve la valeur maximale

L : Le numéro de la ligne de la matrice M où se trouve la valeur maximale

- Chercher et afficher la valeur du MiniMax.

- Afficher à partir du tableau T, la(les) position(s) du MiniMax. Exemple :

Pour NL = 5 , NC = 6 et la matrice M suivante :

La procédure Recherche_Minimax affiche :

MiniMax = 300

Les positions sont : (2,0) (3,4)

En effet, MiniMax est égale à 300 et se trouve dans la colonne numéro 2, la ligne numéro 0 et la colonne numéro 3, la ligne numéro 4 dans la matrice M.

 

Solution Algorithmique

Dans cet algorithme, On va utiliser quatre fonctions et cinq procédures :

- la fonction saisie()

- la fonction test_distinct()

- la procédure remplir_matrice()

- la procédure afficher_matrice()

- la fonction max_colonne()

- la fonction determiner_minimax()

- la procédure recherche_elt_minimax()

- la procédure recherche_minimax()

- la procédure afficher_tableau()

 

Algorithme du programme Principal

Déclaration des objets

Objet Type / Nature
nl entier
nc entier
m matrice
t tableau des enregistrements

 

La fonction saisie

Cette fonction permet de saisir et retourner un entier compris entre binf et bsup en contrôlant la validité de la saisie.

Déclaration des objets

Objet Type / Nature
n entier

 

La fonction test_distinct

Le rôle de la fonction test_distinct est de vérifier si la valeur située à la position m[i][j] est distincte des valeurs déjà présentes dans la colonne j (jusqu’à la ligne i-1).

Déclaration des objets

Objet Type / Nature
k entier

 

La procédure remplir_matrice

Le rôle de la procédure remplir_matrice est de remplir une matrice m de dimensions nl × nc par des entiers, en garantissant que les valeurs de chaque colonne sont distinctes.

Déclaration des objets

Objet Type / Nature
j entier
i entier

 

La procédure afficher_matrice

Le rôle de la procédure afficher_matrice est d'afficher le contenu d’une matrice m de dimensions nl × nc sous forme tabulaire.

Déclaration des objets

Objet Type / Nature
j entier
i entier

 

La fonction max_colonne

Le rôle de la fonction max_colonne est de déterminer et retourner l’indice de la ligne contenant la valeur maximale dans une colonne donnée de la matrice.

Déclaration des objets

Objet Type / Nature
max_ligne entier
i entier
j entier

 

La fonction determiner_minimax

Le rôle de la fonction determiner_minimax est de rechercher et retourner le MiniMax d’une matrice, c’est-à-dire le minimum parmi les maxima de chaque colonne.

Déclaration des objets

Objet Type / Nature
minimax entier
i entier

 

La procédure recherche_elt_minimax

Cette procédure recherche et affiche les coordonnées des éléments de la matrice dont la valeur est égale au MiniMax.

Déclaration des objets

Objet Type / Nature
i entier

 

La procédure afficher_tableau

Le rôle de la procédure afficher_tableau est d'afficher le tableau t contenant les positions (coordonnées) sous forme ordonnée.

Déclaration des objets

Objet Type / Nature
i entier

 

La procédure recherche_minimax

Cette procédure recherche les éléments maximaux de chaque colonne d’une matrice, détermine le MiniMax et affiche sa valeur ainsi que ses positions.

Déclaration des objets

Objet Type / Nature
taille entier
j entier
max_ligne entier
position enregistrement
minimax 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

Photos des articles

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