Escolar Documentos
Profissional Documentos
Cultura Documentos
Helburua: Matrizea datuegitura lantzea
VIII.1. Enuntziatuak
VIII.1.1. Bi matrizeren batura
VIII.1.2. Zenbaki baten eta matrize baten arteko biderkadura
MN elementu dituen osokomatrize bat, eta K zenbaki osoa emanda, beren arteko
biderkadura kalkulatzen duen algoritmoa espezifikatu eta egin.
VIII.1.3. Bi matrizeren biderkadura
MN elementu dituen osokoen matrize bat, eta NP elementu dituen osokomatrize
bat emanda, beren arteko biderkadura kalkulatzen duen algoritmoa espezifikatu eta egin.
VIII.1.4. Matrizeak idatzi
VIII.1.5. Matrizea irakurri
2
Matrize datuegiturak
Ebazpenak
VIII.1.6. Bi matrizeren batura
with Motak;
function Matrizeen_Batura (M, N : in Integer;
M1, M2: in Motak.Osoko_Matrize)
return Motak.Osoko_Matrize is
-- Aurrebaldintza: M1 eta M2 MxN dimentsioko matrizeak dira
-- Postbaldintza: emaitza M1 eta M2ren batura;
Emaitza : Motak.Osoko_Matrize (1 .. M,1 .. N);
begin
for I in 1 .. M loop
for J in 1 .. N loop
Emaitza (I, J) := M1 (I, J) + M2 (I, J);
end loop;
end loop;
return Emaitza;
end Matrizeen_Batura;
VIII.1.7. Zenbaki baten eta matrize baten arteko biderkadura
MN elementu dituen osokomatrize bat, eta K zenbaki osoa emanda, beren arteko
biderkadura kalkulatzen duen algoritmoa espezifikatu eta egin. Azpiprograma modura
inplementatu.
3
with Motak;
function Matrize_Osoko_Biderkadura(M, N, K : in Integer;
M1: in Motak.Osoko_Matrize)
return Motak.Osoko_Matrize is
-- Aurrebaldintza: M1 MxN dimentsioko matrizea da
-- Postbaldintza: emaitza K zenbakiaren eta M1 matrizearen
-- arteko biderkadura da eta emaitza MxN dimentsiokoa
-- izango da;
Emaitza : Motak.Osoko_Matrize (1 .. M,1 .. N);
begin
for I in 1 .. M loop
for J in 1 .. N loop
Emaitza (I, J) := M1 (I, J) * K;
end loop;
end loop;
return Emaitza;
end Matrize_Osoko_Biderkadura;
VIII.1.8. Bi matrizeren biderkadura
MN elementu dituen osokoen matrize bat, eta NP elementu dituen osokomatrize
bat emanda, beren arteko biderkadura kalkulatzen duen algoritmoa espezifikatu eta egin.
Azpiprograma modura inplementatu.
with Motak;
function Matrizeen_Biderkadura
(M, N, P : in Integer;
M1, M2 : in Motak.Osoko_Matrize)
return Motak.Osoko_Matrize is
-- Aurrebaldintza: M1 MxP dimentsioko matrizea da eta
-- M2 PxN dimentsioko matrizea da
-- Postbaldintza: emaitza M1 eta M2ren biderkadura da
-- eta MxN dimentsiokoa;
Emaitza : Motak.Osoko_Matrize (1 .. M,1 .. N);
begin
for I in 1 .. M loop
for J in 1 .. N loop
Emaitza (I, J) := 0;
for K in 1 .. P loop
Emaitza (I, J) :=
Emaitza(I, J) + M1(I, K) + M2(K, J);
end loop;
end loop;
end loop;
return Emaitza;
end Matrizeen_Biderkadura;
4
Matrize datuegiturak
VIII.1.9. Matrizeak idatzi
with Motak;
with Idatzi_Osokoa;
with Hurrengo_Lerrora_Pasa;
procedure Matrizea_Idatzi (M, N : in Integer;
M1: in Motak.Osoko_Matrize) is
-- Aurrebaldintza: M1 M xN dimentsioko matrizea da
-- Postbaldintza: M1 matrizearen inpresioa;
begin
for I in 1 .. M loop
for J in 1 .. N loop
Idatzi_Osokoa (M1 (I, J));
end loop;
Hurrengo_Lerrora_Pasa;
end loop;
end Matrizea_Idatzi;
VIII.1.10. Matrizea irakurri
begin
for I in 1 .. M loop
for J in 1 .. N loop
Irakurri_Osokoa (M1(I, J));
end loop;
Salto_Egin;
end loop;
end Matrizea_Irakurri;