Vous êtes sur la page 1sur 2

C:\ISCAE\Algo\Matrice Procédure Fonction.

pas

//Nombre de lignes et de colonnes des matrices utilisées : 2 (2x2)


//Nombre de lignes des vecteurs colonnes : 2
Const n = 2;
p = 2;

//Définition des types pour utilisation ultérieure


Type
matrice = Array[1..n,1..p] Of Integer ;
vecteur = Array[1..n] Of Integer;

//Procédure de lecture de Matrice


Procedure lire(Var M:matrice);
Var
i,j : Integer;
Begin
For i := 1 To n Do
For j := 1 To p Do
Begin
Writeln('Entrez le coefficient ' , i, ',', j, ' de la matrice');
Readln(M[i][j]);
End;
End;

//Procédure affichant une Matrice


Procedure afficherMatrice(M:matrice);
Var
i,j : Integer;
Begin
For i := 1 To n Do
Begin
For j := 1 To p Do
Write(M[i][j], ' ');
Writeln;
End;
Writeln;
End;

//Procédure affichant un Vecteur


Procedure afficherVecteur(M4:vecteur);
Var
i,j : Integer;
Begin
For i := 1 To n Do
Write(M4[i], ' ');
Writeln;
End;

//Procédure Additionnant 2 Matrices


Procedure addition(M1,M2:matrice; Var M3:matrice);
Var
i,j : Integer;
Begin
For i := 1 To n Do
For j := 1 To p Do
M3[i][j] := M1[i][j] + M2[i][j];
;
End;

//Procédure qui extrait la Diagonale d'une matrice


Procedure diagonale(M1:matrice; Var M4:vecteur);
Var i,j : integer;
Begin
For i :=1 to n Do
For j:= 1 to p Do
If i=j Then
M4[i]:=M1[i][j];
;
;
End;

//Procédure qui effectue le Produit de 2 matrices


Procedure produit(M1,M2:matrice; Var M3:matrice);
Var i,j,k: Integer;
Begin
For i := 1 To n Do
For j := 1 To p Do
Begin
//Initialisation de chaque coefficient de M3 en passant d'une colonne à une autre
M3[i,j] := 0;
//Boucle sommant les M1[i,j]*M2[i,j], et les injectant dans M3
For k := 1 To p Do
M3[i,j] := M3[i,j] + M1[i,k]*M2[k,j] ;
End ;
;
End;

//Corps du programme
Var
M1,M2, M3: matrice;
M4:vecteur;
Begin
writeln('Veuillez entrer la 1ère matrice') ;
lire(M1);
afficherMatrice(M1);

diagonale(M1,M4);
writeln('Voici sa diagonale') ;

04/01/2022 - 08:53:53 - Page 1/2

C:\ISCAE\Algo\Matrice Procédure Fonction.pas

afficherVecteur(M4);

writeln('Veuillez en entrer une 2eme' ) ;


lire(M2);
afficherMatrice(M2);

diagonale(M2,M4);
writeln('Voici la diagonale de votre 2e matrice') ;
afficherVecteur(M4);

addition(M1,M2,M3);
writeln('Voici la somme de vos 2 matrices') ;
afficherMatrice(M3);

produit(M1,M2,M3);
writeln('Et voici leur produit' ) ;
afficherMatrice(M3);

Readln;
End.
04/01/2022 - 08:53:53 - Page 2/2

Vous aimerez peut-être aussi