PROGRAM METODE NUMERIK DENGAN METODE REGULA-FALSI
uses crt;
label ulang;
var
x1,x2,x3,y1,y2,y3: real;
i : integer;
ab : char;
data1 : real;
begin
ulang:
clrscr;
writeln('Tentukan nilai akar persamaannya f(x)=x^3+x^2-3x-3=0 dengan regulafalsi');
write('Masukkan nilai x1 = '); readln(x1);
y1:= x1*x1*x1+x1*x1-3*x1-3;
writeln('Nilai f(x1) = ', y1:0:4);
repeat
begin
write ('Masukkan nilai x2 =');
readln(x2);
y2:= x2*x2*x2+x2*x2-3*x2-3;
write('Nilai f(x2) = ',y2:0:4);
end;
if (y1*y2) < 0 then
writeln('Syarat Nilai OK')
else
writeln('Nilai x2 Belum sesuai ');
until y1*y2 < 0;
writeln;
writeln ('Penyelesaian persamaan karakteristik dengan metode regulafalsi');
writeln ('--------------------------------------------------------------');
writeln (' n x f(x) error ');
writeln ('--------------------------------------------------------------');
repeat
begin
i := i+1; x3 := (x2-(y2/(y2-y1))*(x2-x1));
y3 := x3*x3*x3+x3*x3-3*x3-3;
if i < 10 then
writeln (' ',i,':',x3,':',y3,':',abs(y3),':')
else
writeln (i,':',x3,':',y3,':',abs(y3),':');
if y1*y3 < 0 then
begin
x2 := x3; y2 := y3;
end
else
begin
x1 := x3; y1 := y3;
end;
end;
until abs(y3) < 1E-08;
writeln ('---------------------------------------------------------------');
writeln ('Akar persamaannya = ',x3);
writeln ('Errornya = ',abs(y3));
writeln ('---------------------------------------------------------------');
writeln ('Apakah anda ingin mengulangi (y/t): ');
readln(ab);
if (ab='y') or (ab='Y') then
begin
goto ulang;
end;
end.
Tidak ada komentar:
Posting Komentar