Écrire les procédures permettant de manipuler les matrices carrées de taille N (définie comme constante) et d'effectuer les opérations suivantes :
Addition de deux matrices.
Soustraction de deux matrices.
Transposée d'une matrice.
Calcul de la somme des éléments de la diagonale principale d'une matrice.
Calcul de la somme des éléments de la diagonale secondaire d'une matrice.
Écrire un algorithme principal permettant de faire appel à ces procédures et d'afficher les résultats des différentes opérations pour deux matrices données.
Voir le corrigéMasquer le corrigé
Solution
Algorithme Opérations sur les Matrices
Algorithme Opérations sur les Matrices
Algorithme OperationsMatrices
Constantes
N ← 3 // Taille de la matrice carrée
Variables
mat1, mat2, resultat : tableau [1..N, 1..N] de Entier
i, j : Entier
Procédure AfficherMatrice(matrice : tableau [1..N, 1..N] de Entier)
Pour i de 1 à N Faire
Pour j de 1 à N Faire
Ecrire(matrice[i, j], " ")
Fin Pour
Ecrire() // Passage à la ligne suivante
Fin Pour
Fin Procédure
Procédure AdditionMatrices(mat1, mat2, resultat : tableau [1..N, 1..N] de Entier)
Pour i de 1 à N Faire
Pour j de 1 à N Faire
resultat[i, j] ← mat1[i, j] + mat2[i, j]
Fin Pour
Fin Pour
Fin Procédure
Procédure SoustractionMatrices(mat1, mat2, resultat : tableau [1..N, 1..N] de Entier)
Pour i de 1 à N Faire
Pour j de 1 à N Faire
resultat[i, j] ← mat1[i, j] - mat2[i, j]
Fin Pour
Fin Pour
Fin Procédure
Procédure TransposeeMatrice(matrice, resultat : tableau [1..N, 1..N] de Entier)
Pour i de 1 à N Faire
Pour j de 1 à N Faire
resultat[j, i] ← matrice[i, j]
Fin Pour
Fin Pour
Fin Procédure
Fonction SommeDiagonalePrincipale(matrice : tableau [1..N, 1..N] de Entier) : Entier
Variables
somme : Entier
Début
somme ← 0
Pour i de 1 à N Faire
somme ← somme + matrice[i, i]
Fin Pour
Retourner somme
Fin
Fin Fonction
Fonction SommeDiagonaleSecondaire(matrice : tableau [1..N, 1..N] de Entier) : Entier
Variables
somme : Entier
Début
somme ← 0
Pour i de 1 à N Faire
somme ← somme + matrice[i, N - i + 1]
Fin Pour
Retourner somme
Fin
Fin Fonction
// Programme Principal
Début
// Initialisation des matrices
mat1 ← [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
mat2 ← [[9, 8, 7], [6, 5, 4], [3, 2, 1]]
Ecrire("Matrice 1 :")
AfficherMatrice(mat1)
Ecrire("Matrice 2 :")
AfficherMatrice(mat2)
// Addition des matrices
AdditionMatrices(mat1, mat2, resultat)
Ecrire("Addition des matrices :")
AfficherMatrice(resultat)
// Soustraction des matrices
SoustractionMatrices(mat1, mat2, resultat)
Ecrire("Soustraction des matrices :")
AfficherMatrice(resultat)
// Transposée de la matrice 1
TransposeeMatrice(mat1, resultat)
Ecrire("Transposée de la matrice 1 :")
AfficherMatrice(resultat)
// Somme des diagonales
Ecrire("Somme de la diagonale principale de la matrice 1 : ", SommeDiagonalePrincipale(mat1))
Ecrire("Somme de la diagonale secondaire de la matrice 1 : ", SommeDiagonaleSecondaire(mat1))
Fin
Questions / Réponses
Aucune question. Soyez le premier à poser une question.