Segmenter Matrice – Bac théorique – Section informatique – 2025

Bac SC 27-01-26
13 0

Sujet (Algo et programmation - Bac 2025)

Soit une matrice M de nl * nc entiers, la segmentation d'une ligne i de la matrice M par rapport à l'élément e de la première colonne de cette ligne (e = M[i,0]) consiste à placer à gauche de l'élément e tous les éléments qui lui sont inférieurs ou égaux et à sa droite tous les éléments qui lui sont strictement supérieurs.

En effet:

Dans la première ligne (ligne 0), e = 6 (M[0,0]). Les valeurs de cette ligne inférieures ou égales à e sont : 6, -4 et 3, tandis que les valeurs supérieures sont : 12 et 11. Ainsi les valeurs 6, -4 et 3 sont placées à gauche de l'élément e = 6 et les valeurs 12 et 11 sont placées à sa droite.

Dans la troisième ligne (ligne 2), e = 34 (M[2,0]). Les valeurs de cette ligne inférieures ou égales à e sont : 12, 11, 4, 29 et - 3. Aucune valeur ne lui est supérieure. Ainsi les valeurs 12, 11, 4, 29 et -3 sont placées à sa gauche et aucune valeur n'est placée à sa droite.

Travail demandé

1- Écrire un algorithme d'une procédure Segmenter(T, nc) qui permet de segmenter un tableau T à une dimension de nc entiers par rapport à sa première case (T[0]).

2- En faisant appel à la procédure Segmenter, écrire un algorithme d'une procédure Partitionner(M, nl, nc) qui permet de segmenter toutes les lignes de la matrice M par rapport à la première colonne (colonne 0),

NB :

T et M sont respectivement de type Tab et Mat

Le candidat n'est pas appelé à dresser le tableau de déclaration pour définir les types Tab et Mat

 

Solution Algorithmique

Dans cet algorithme, On va utiliser une fonction et quatre procédures :

- la fonction saisie()

- la procédure remplir()

- la procédure segmenter()

- la procédure partitionner()

- la procédure afficher_matrice()

Algorithme du programme Principal

Déclaration des objets

Objet Type / Nature
nl entier
nc entier
m matrice

 

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 procédure remplir

Cette procédure permet de saisir et stocker les éléments d’une matrice m de dimensions nl × nc.

Déclaration des objets

Objet Type / Nature
i entier
j entier

 

La procédure segmenter

La procédure segmenter(t, nc) réorganise le tableau t en plaçant au début tous les éléments inférieurs ou égaux au premier élément, ce qui constitue une opération de partitionnement.

Déclaration des objets

Objet Type / Nature
e entier
p entier
i entier
j entier
temp entier

 

La procédure partitionner

La procédure partitionner sert à réorganiser chaque ligne de la matrice en utilisant la procédure de segmentation, en plaçant en début de ligne les éléments inférieurs ou égaux au premier élément de la ligne.

Déclaration des objets

Objet Type / Nature
i entier
j entier
t tableau

 

La procédure afficher

La procédure afficher_matrice(m, nl, nc) sert à présenter clairement le contenu d’une matrice sous forme tabulaire.

Déclaration des objets

Objet Type / Nature
i entier
j 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