Você está na página 1de 6

VIII.Matrizea datu­egitura.

Helburua: Matrizea datu­egitura lantzea 

VIII.1. Enuntziatuak

VIII.1.1. Bi matrizeren batura

MN   elementu   dituen   osoko­matrize   bi   emanda,   beren   batura   kalkulatzen   duen


algoritmoa espezifikatu eta egin. Azpiprograma modura inplementatu. 

VIII.1.2. Zenbaki baten eta matrize baten arteko biderkadura

MN elementu dituen osoko­matrize bat, eta K zenbaki osoa emanda, beren arteko
biderkadura kalkulatzen duen algoritmoa espezifikatu eta egin.

VIII.1.3. Bi matrizeren biderkadura

MN elementu dituen osokoen matrize bat, eta NP elementu dituen osoko­matrize
bat emanda, beren arteko biderkadura kalkulatzen duen algoritmoa espezifikatu eta egin.

VIII.1.4. Matrizeak idatzi

MN   elementu   dituen   osoko­matrize   bateko   elementuak   inprimatuko   dituen


algoritmoa espezifikatu eta egin. Azpiprograma modura inplementatu. 

VIII.1.5. Matrizea irakurri

MN   elementu   dituen   osokoen   matrize   bateko   elementuak   irakurriko   dituen


algoritmoa   espezifikatu   eta   egin.   Azpiprograma   modura   inplementatu.   Elementuak
sekuentzia batetik irakurriko dira. Sekuentziako osagaiak lerroz lerro antolatuta daude
eta lerro bakoitza matrizearen lerro bati dagokio. Sekuentzia zero zenbakiaz bukatzen
da. 

2
Matrize datu­egiturak

Ebazpenak

VIII.1.6. Bi matrizeren batura

MN   elementu   dituen   osoko­matrize   bi   emanda,   beren   batura   kalkulatzen   duen


algoritmoa espezifikatu eta egin. Azpiprograma modura inplementatu. 

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

MN elementu dituen osoko­matrize 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

MN elementu dituen osokoen matrize bat, eta NP elementu dituen osoko­matrize
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 datu­egiturak
VIII.1.9. Matrizeak idatzi

MN   elementu   dituen   osoko­matrize   bateko   elementuak   inprimatuko   dituen


algoritmoa espezifikatu eta egin. Azpiprograma modura inplementatu. 

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

MN   elementu   dituen   osokoen   matrize   bateko   elementuak   irakurriko   dituen


algoritmoa   espezifikatu   eta   egin.   Azpiprograma   modura   inplementatu.   Elementuak
sekuentzia batetik irakurriko dira. Sekuentziako osagaiak lerroz lerro antolatuta daude
eta lerro bakoitza matrizearen lerro bati dagokio. Sekuentzia zero zenbakiaz bukatzen
da. 
with Motak;
with Irakurri_Osokoa;
with Salto_Egin;
procedure Matrizea_Irakurri (M, N : in Integer;
M1: out Motak.Osoko_Matrize) is
-- Aurrebaldintza: M eta N irakurri nahi den matrizearen
-- dimentsioa ematen dute.
-- Postbaldintza: M1 matrizea sarrerako datuekin eratuta;

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;

Você também pode gostar