Jumat, 03 Mei 2013

Metode Regula Falsi pada pascal

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 dari persamaan f(x)=x^3+x^2-3x-3 = 0 dengan metode 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;
writeln('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 regula falsi');
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-07;
writeln('===========================================');
writeln('Akar persamaannya = ',x3);
writeln('errornya = ',abs(y3));
writeln('===========================================');
write('Apakah anda ingin mengulangi (y/t): ');
readln(Ab);
if (Ab='y') or (Ab='Y') then
begin
goto ulang;
end
else
end.

Tidak ada komentar:

Posting Komentar