Total Tayangan Halaman

Selasa, 28 Juni 2011

program sederhana pascal : metode bagi dua (metode numerik)


program metode_bagi_dua;
uses crt;

function f(n:real):real;
begin
     f := exp(-n) - n;
end;

var a,b,c,epsilon,i,akar : real;

begin
     clrscr;
     writeln('Menentukan akar dari persamaan y = exp(-x) - x dengan  Metode Bagi Dua');
     writeln;
     write('Inputkan nilai a : ');readln(a);
     write('Inputkan nilai b : ');readln(b);
     if f(a)*f(b) < 0 then
     begin
          epsilon := 0.000001;
          i := abs(b-a);
          while i > epsilon do
          begin
               c := (a+b)/2;
               if f(a)*f(c) > 0 then a := c
               else b := c;
               i := abs(b-a)
          end;
          akar := c;
          writeln;
          writeln('Maka didapat akar dari persamaan diatas = ',akar:8:6)
     end
     else writeln('Nilai akar tidak terletak pada interval [',a:2:2,',',b:2:2,']');
     readln;
end.