var
a,b,x,Fa,Fb,tol,fx,c : real;
i,n : integer;
e,error : real;
while (i<=n) and (tol>e) do
begin
i:=i+1;
x:=a-fa*(b-a)/(fb-fa); {metode regula falsi}
fx:=exp(x)-5*sqr(x);
error:=abs((x-a)/x);
write(i:6,'',a:8:4,'',b:8:4,'',x:10:5);
writeln(fa:10:5,'',fx:10:5,'',error:8);
e:=abs(x-a);
if(fa*fx <=0) then
begin
b:=x;
fb:=fx;
end
else
begin
a:=x;
fa:=fx;
end;
end;
writeln('--------------------------------------------------------------');
if (i<=n) then
begin
writeln('Pendekatan akar dari f(x) = e^x-5X^2 adalah = ',x:3:7);
writeln('Toleransi Terpenuhi');
end
else
writeln('Pendekatan akar dari f(x) = e^x-5X^2 adalah = ',x:3:7);
writeln('Toleransi Tidak Terpenuhi');
readln;
end;
begin
repeat
clrscr;
writeln(' Menu Metode Numerik ');
writeln('--------------------------------------');
writeln('1. METODE BAGI-DUA');
writeln('2. METODE REGULA FALSI');
writeln('3. Exit');
writeln('--------------------------------------');
write('Pilih Menu = '); read(pil);
clrscr;
case pil of
1 : metode_bagi_dua;
2 : metode_regula_falsi;
3 : exit;
end;
if (pil > 3) then
begin
writeln('pilihan yang anda masukan salah = ');
readln;
write('');
end;
until (ulang='Y') or (ulang='y');
end.
|