Académique Documents
Professionnel Documents
Culture Documents
N, M, L,
A[,], B[,]
i, j,k
C[,]
La partie Traitement
Pour i 1 à N faire
Pour j 1 à L faire
C[i,j] 0
Pour k 1 à m faire
C[i,j] C[i,j] + A[i,k]*B[k,j] ;
Fin-Pour
Fin-Pour
Pour-Pour
Le programme PASCAL :
2) Pour réaliser le traitement demandé :
- Ajouter la déclaration de la matrice D
- Réalser la lecture au debut du programme de la matrice D, et réaliser l’affichage
de la matrice D à la fin du programme
- Copier le code du multiplication AxC et adapter et modifier le code pour qu’il
réalise le calcul DxD
Appel (Transmission de
paramètres effectifs vers les
N, M, L, paramètres formels)
A[,], B[,] N, M, L, A[,], B[,]
i, j
i,j,k Traitement du SP
C[,] C[,]
Le programme PASCAL :
{Partie 01 : Entête du programme}
Program Produit_2_matrices_Q02;
uses wincrt;
{Partie 02 : Déclaraiton}
Type
MATRICE = Array[1..10, 1..10] of real;
Var
A, B, C : MATRICE;
N, M, L : integer;
i, j, k : integer;
Procedure Poduit_Matrice(N, M, L : integer; A, B : MATRICE; var C:MATRICE);
var i,j, k : integer;
Begin
for i:=1 to N do
for j:=1 to L do
begin
C[i,j] := 0;
for k:=1 to m do
C[i,j] := C[i,j] + A[i,k]*B[k,j] ;
end;
End;
{Traitement ....}
Poduit_Matrice(N, M, L, A, B, C);
{Sorites ...}
Writeln('Le résultat du Produit A(',N,'x',M,') x B(',M,'x',L,') =
C(',M,'x',L,')');
for i:=1 to N do
begin
for j:=1 to L do
write(C[i, j]:9:2);
writeln;{Préparer la linge suivante}
end;
END.{La fin du programme principal}
4) Pour réaliser la matrice D(NxN) et le résultat sera dans la matrice F(NxN), il suffit
de faire l’appel à la procédure Produit_Matrice :
Produit_Matrice(N, N, N, D, D, F) ;