Senin, 25 Mei 2009

program determinan matriks

(*PROGRAM KOMPUTER*)

(*PROGRAM KOMPUTER METODE DETERMINAN MATRIKS*)

(*======================================*)

PROGRAM DETERMINAN_MATRIKS;

USES CRT,PRINTER;

LABEL

ULANG;

type

daftar=array[1..10,1..10]of real;

asal = array[1..100] of real;

var

aa,a:daftar;x,h:asal;i,j:byte;deta:real;ab:char;

begin (*Memulai program komputer invers dan determinan matriks*)

ulang:

clrscr;

write('tulis koefisien koefisien matriks yang akan diproses');

writeln;

for i:=1 to 3 do

begin

for j:=1 to 3 do

begin

write ('A',i,j,' ');read(a[i,j]);

end;

write('H',i,' ');readln(h[i]);

end;

(*mencari determinan matriks ordo tiga*)

deta := a[1,1]*(a[2,2]*a[3,3]-a[2,3]*a[3,2])+a[1,2]*(a[3,1]*a[2,3]-a[2,1]*a[3,3])+a[1,3]*(a[2,1]*a[3,2]-a[3,1]*a[2,2]);

(*nilai minor matriks ordo tiga *)

aa[1,1] :=(a[2,2]*a[3,3]-a[3,2]*a[2,3])/deta;

aa[1,2] :=-(a[1,2]*a[3,3]-a[3,2]*a[1,3])/deta;

aa[1,3] :=(a[1,2]*a[2,3]-a[2,2]*a[1,3])/deta;

aa[2,1] :=-(a[2,1]*a[3,3]-a[3,1]*a[2,3])/deta;

aa[2,2] :=(a[1,1]*a[3,3]-a[3,1]*a[1,3])/deta;

aa[2,3] :=-(a[1,1]*a[2,3]-a[2,1]*a[1,3])/deta;

aa[3,1] :=(a[2,1]*a[3,2]-a[2,2]*a[3,1])/deta;

aa[3,2] :=-(a[1,1]*a[3,2]-a[3,1]*a[1,2])/deta;

aa[3,3] :=(a[1,1]*a[2,2]-a[2,1]*a[1,2])/deta;

(*matriks koefisien yang dicari*)

x[1]:=aa[1,1]*h[1]+aa[1,2]*h[2]+aa[1,3]*h[3];

x[2]:=aa[2,1]*h[1]+aa[2,2]*h[2]+aa[2,3]*h[3];

x[3]:=aa[3,1]*h[1]+aa[3,2]*h[2]+aa[3,3]*h[3];

writeln('nilai matriks x adalah');

for i:= 1to 3 do

begin

writeln(x[i]);

end;clrscr;

write('matriks A ');write('');

write('matriks x ');

write('');writeln('matriks H');

writeln;writeln;

for i:=1 to 3 do

begin

for j:=1 to 3 do

begin write(a[i,j]:3:1);write(' ');

end;

write(' ');write(' x',i,' ');write(' ');

for j:=1 to 3 do

begin write(aa[i,j]:6:3);write(' ');

end;

writeln;

write('apakah anda ingin mengulangi(y/t) : ');

readln(ab);

if (ab='y') or (ab='Y')then

begin

goto ulang;

end

else

begin

end;

end;

end.

Tidak ada komentar:

Posting Komentar