Ocena użytkownikóww: ***** / 3
Nadesłany przez Tomasz Lubiński, 18 października 2009 01:00
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.
metoda Simpsona - Delphi/metoda_simpsona.dpr:
// Calkowanie numeryczne - metoda Simpsona
// www.algorytm.org
// (c)2007 by Tomasz Lubinski
program metoda_simpsona;
{$APPTYPE CONSOLE}
uses
SysUtils;
//funkcja dla ktorej obliczamy calke
function func(x: Real): Real;
begin
result := x*x + 3;
end;
var
xp, xk, dx, calka, s, x: Real;
n, i: Integer;
begin
writeln('Podaj poczatek przedzialu calkowania');
readln(xp);
writeln('Podaj koniec przedzialu calkowania');
readln(xk);
writeln('Podaj dokladnosc calkowania');
readln(n);
dx := (xk - xp) / (n * 1.0);
calka := 0;
s := 0;
for i:=1 to n-1 do
begin
x := xp + i*dx;
s := s + func(x - dx / 2);
calka := calka + func(x);
end;
s := s + func(xk - dx / 2);
calka := (dx/6) * (func(xp) + func(xk) + 2*calka + 4*s);
writeln('Wartosc calki wynosi w przyblizeniu ' + FloatToStr(calka));
readln;
end.