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

Bac Info 29-01-26
14 0

Sujet (Algo et programmation - Bac 2025)

Une matrice carrée M1 de taille d*d est dite Matrice multiple d'un premier si le plus grand commun diviseur (PGCD) de ses éléments est un nombre premier.

Pour calculer le PGCD des éléments de la matrice M1, on suit les étapes suivantes

Etape 1 : Stocker tous les éléments de la matrice M1 dans la première ligne d'une matrice M2 de taille d2* d2.

Etape 2 : Remplir les autres lignes de la matrice M2 comme suit : M2[L,C] = PGCD(M2[L-1,C], M2[L-1,C+1]) ,

Dans ce cas, le PGCD des éléments de M1 est le contenu de la case M2[d2 -1,0]

Exemple : Pour d = 2 et la matrice M1 suivante :

En effet :

-  On remplit la ligne d'indice 0 par les éléments de

- On remplit les autres lignes comme suit : La ligne d'indice 1

M2[1,0] = PGCD(20,10) = 10

M2[1,1] = PGCD(10,4) = 2

M2[1,21 = PGCD(4,8) = 4

La ligne d'indice 2 :

M2[2,0] = PGCD(10,2) = 2

M2[2,1]= PGCD(2,4) = 2

La ligne d'indice 3 :

M2[3,0] = PGCD(2,2) = 2

Le PGCD des éléments de Mi est égal â M2[3,0] qui est égal à 2. Comme 2 est un nombre premier, donc Mi est dite Matrice multiple d'un premier.

Travail demandé

1) Écrire un algorithme d'une fonction PGCD(a, b) qui permet de calculer le P000 de deux entiers a et

2) En appliquant les étapes définies précédemment et en utilisant la fonction PGCD de la question 1), écrire un algorithme d'une fonction Verif(M1, d) qui permet de vérifier si la matrice

M1 de taille d*d est dite Matrice multiple d'un premier.

NB:

Ml est de type MAT1

M2 est de type MAT2

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

 

Solution Algorithmique

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

- la fonction saisie()

- la procédure remplir_matrice_m1()

- la fonction pgcd()

- la procédure remplir_matrice_m2()

- la procédure afficher_matrice()

- la fonction test_premier()

Algorithme du programme Principal

Déclaration des objets

Objet Type / Nature
d entier
m1 Matrice
m2 Matrice

 

La fonction saisie

Cette fonction permet de saisir et retourner un entier >= 2 en contrôlant la validité de la saisie.

Déclaration des objets

Objet Type / Nature
n entier

 

La procédure remplir_matrice_m1

Le rôle de la procédure remplir_matrice_m1 est de permettre la saisie et le remplissage des éléments de la matrice m1 de dimension d × d.

Déclaration des objets

Objet Type / Nature
i entier
j entier

 

La fonction pgcd

Le rôle de la fonction pgcd est de calculer et retourner le plus grand commun diviseur (PGCD) de deux entiers a et b en utilisant l’algorithme d’Euclide, qui repose sur des divisions successives jusqu’à ce que le reste devienne nul.

Déclaration des objets

Objet Type / Nature
r entier

 

La procédure remplir_matrice_m2

Le rôle de la procédure remplir_matrice_m2 est de construire la matrice m2 à partir de la matrice m1. Elle commence par placer, dans la première ligne de m2, tous les éléments de m1 mis bout à bout. Ensuite, elle remplit les lignes suivantes de m2 en calculant, pour chaque position, le PGCD de deux éléments voisins de la ligne précédente, jusqu’à obtenir le dernier élément de la matrice.

Déclaration des objets

Objet Type / Nature
k entier
i entier
j entier

 

La procédure affihcer_matrice

Le rôle de la procédure remplir_matrice_m1 est de permettre la saisie et le remplissage des éléments de la matrice m1 de dimension d × d.

Déclaration des objets

Objet Type / Nature
i entier
j entier

 

La fonction test_premier

Le rôle de la fonction test_premier est de vérifier si un entier n est un nombre premier. Elle teste si n admet un diviseur autre que 1 et lui-même en essayant successivement des diviseurs à partir de 2. La fonction retourne vrai si n est premier et faux dans le cas contraire.

Déclaration des objets

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