Classe : 4 [Link]. ALGO Partie : Matrice +IG Prof : Mr Sallem Mohamed Fares A.
S :2023/2024
« TP02 : Fusion des Sommes des Lignes de 2 Matrices »
❖ Partie Interface Graphique
On se propose de créer l’interface graphique nommé « [Link] » dans le dossier
« D:\TP02\ » en utilisant l’outil QT Designer comme dans la figure suivante :
On vous demande de créer la liste des objets suivant :
✓ Labels : « Fusion Somme Matrice » , « L 1: » , « L 1: » , « C : »
✓ Line Edit : zones de saisies : nombre lignes 1, nombre lignes 1, nombre colonnes,
✓ Push Buttons : « REMPLIR MATRICES » , « SOMME LIGNES » , « TRI LIGNES » et
« FUSION SOM LIGNES »
✓ Table Widget : la matrice m1, la matrice m2 et la matrice tab
❖ Partie implémentation en Python
On vous demande de créer le programme python « [Link] » grace à l’éditeur
Thonny.
Questions :
1- Ajoutez le code python nécéssaire pour associer le fichier « [Link] » à
l’interface graphique « [Link] » ainsi que toute les bibliothèque nécéssaire
en utilisant le fichier « [Link] » disponible ou avec le bouton « Ajouter
Code »
2- Créez le module nommé « remplir » exécuté lors du clic sur le bouton « REMPLIR
MATRICES » qui permet de :
Remplissage Matrice M1
✓ Récupérer les tailles L1 et C à partir des zones Line Edit
correspondantes
✓ Remplir la dernière ligne de la matrice M1 avec des zéros (0)
✓ Remplir le reste de la matrice M1, avec des entiers aléatoires
composés d’un seul chiffre
✓ Afficher à la fin M1 dans le Table Widget correspondant.
Classe : 4 [Link]. ALGO Partie : Matrice +IG Prof : Mr Sallem Mohamed Fares A.S :2023/2024
Remplissage Matrice M2
✓ Récupérer les tailles L2 et C à partir des zones Line Edit
correspondantes
✓ Remplir la première ligne de la matrice M2 avec des zéros (0)
✓ Remplir le reste de la matrice M2, avec des entiers aléatoires
composés d’un seul chiffre
✓ Afficher à la fin M2 dans le Table Widget correspondant.
3- Créez le module nommé « somlignes » exécuté lors du clic sur le bouton
« SOMME LIGNES » qui permet de :
Calculer les sommes de chaque colonne de M1 et l’affecter à la case de la
même colonne de la dernière ligne
Calculer les sommes de chaque colonne de M2 et l’affecter à la case de la
même colonne de la première ligne
Réaffichez les nouvelles valeurs de deux matrice M1 et M2
4- Créez le module nommé « trilignes » exécuté lors du clic sur le bouton « TRI
LIGNES » qui permet de :
Trier dans l’ordre croissant les valeurs de la dernière ligne de M1
Trier dans l’ordre croissant les valeurs de la première ligne de M2
Réaffichez les nouvelles valeurs de deux matrice M1 et M2
5- Créez le module nommé « fusionlignes» exécuté lors du clic sur le bouton
« FUSION SOM LIGNES » qui permet de :
Remplir le tableau t en utilisant le principe du tri fusion sur la dernière ligne de
M1 et la première ligne de M2
Affichez les valeurs triées obtenus du tableau T dans l’object Table Widget
correspondant.
6- Ajoutez des message d’erreurs de votre choix avec QMessageBox de type
« critique » de votre choix pour traiter le cas de saisie de L1, L2 et C sachant que
L1, L2 et C doivent être de l’intervalle [5,20].
1- Bouton « Remplir Mat »
Classe : 4 [Link]. ALGO Partie : Matrice +IG Prof : Mr Sallem Mohamed Fares A.S :2023/2024
2- Bouton « SOMME LIGNES »
3- Bouton « TRI LIGNES »
Classe : 4 [Link]. ALGO Partie : Matrice +IG Prof : Mr Sallem Mohamed Fares A.S :2023/2024
4- Bouton « FUSION SOM LIGNES »
Notez Bien : CONSIGNES A SUIVRE :
➢ Essayez d’éviter autant que possible l’utilisation de l’attribut « GLOBAL ».
➢ En vous aidant de la correction de ce TP que je vous invite à bien observer et étudier
de prés et de la refaire pour mieux la retenir ce qui vous évitera bien des soucis dans
les exercices où on fait appel à une matrice par plusieurs module différent.
➢ Donc la solution est de déclarer dans le programme principal si on peut le dire dans
le bloc des connexions ou en haut juste après la liste des import*
➢ Essayer de considérer dans votre esprit que chaque module exécuté suite à un clic
sur un bouton est mini Programme Principal. Ça vous aidera dans votre logique de
décomposition.