Senin, 25 Januari 2010

contoh program pascal

contoh program pascal

uses wincrt;

const

JmlPers = 3;

type

Matrik = array[1..JmlPers+1, 1..JmlPers+1] of real;

var

Koefs : matrik;

procedure Identitas;

begin

Writeln('Tugas Analisa Metode Numerik');

Writeln('---------------------------');

Writeln;

Writeln('Nama :Aghy Gilar Pratama');

Writeln('NIM : 4003080002 / s-1');

Writeln;

end;

procedure Judul;

begin

Writeln('Program Penyelesaian 3 Persamaan Linier');

Writeln;

Writeln('Bentuk persamaan : a1 x + b1 y + c1 z = k1');

Writeln(' a2 x + b2 y + c2 z = k2');

Writeln(' a3 x + b3 y + c3 z = k3');

Writeln;

end;

procedure BacaData;

var

I, J : integer;

begin

for I := 1 to JmlPers do

begin

for J := 1 to JmlPers + 1 do

begin

if J = JmlPers + 1 then

begin

Write('Masukkan konstanta k',I,' : ');

Readln(Koefs[I,J]);

end

else

begin

Write('Masukkan nilai ',chr(96+J),I,' : ');

Readln(Koefs[I,J]);

end;

end;

Writeln;

end;

end;

function Det3x3(var Mat : matrik) : real;

var

Det3, H : real;

I, J, K, L : integer;

Det2 : array[1..4] of real;

begin

K := 0;

Det3 := 0;

for L := 1 to 4 do Det2[L] := 0;

for I := 1 to 3 do

begin

for L := 2 to 3 do

begin

for J := 1 to 3 do

begin

if I <> J then

begin

K := K + 1;

Det2[K] := Mat[L,J];

end;

end;

end;

H := Mat[1,I];

if I mod 2 = 0 then H := -H;

Det3 := Det3 + (Det2[1]*Det2[4] - Det2[2]*Det2[3]) * H;

for L := 1 to 4 do Det2[L] := 0;

K := 0;

end;

Det3x3 := Det3;

end;

procedure EliminasiMatrik;

var

MatElim : matrik;

I, J : integer;

A, B : real;

begin

MatElim := Koefs;

for J := 1 to JmlPers do

begin

for I := 1 to JmlPers do

MatElim[I,J] := Koefs[I,JmlPers+1];

A := Det3x3(MatElim);

B := Det3x3(Koefs);

Koefs[JmlPers+1,J] := A/B;

MatElim := Koefs;

end;

end;

procedure TampilkanHasil;

var

I : integer;

begin

ClrScr;

Identitas;

Writeln('Program Penyelesaian 3 Persamaan Linier');

Writeln;

Writeln('Bentuk persamaan : ');

for I := 1 to JmlPers do

begin

Write(Koefs[I,1]:5:2,'x + ',Koefs[I,2]:5:2,'y + ');

Writeln(Koefs[I,3]:5:2,'z = ',Koefs[I,4]:5:2);

end;

Writeln;

Writeln('Penyelesaian persamaan :');

for I := 1 to JmlPers do

Writeln(chr(119+I):5,' = ',Koefs[JmlPers+1,I]:5:2);

end;

begin

ClrScr;

Identitas;

Judul;

BacaData;

EliminasiMatrik;

TampilkanHasil;

Writeln;

Write('Tekan Enter...');

Readln;

end.

0 komentar:

Posting Komentar