algorytm.org

Implementacja w Delphi/Pascal



Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Całkowanie numeryczne - metoda Monte Carlo II - Implementacja w Delphi/Pascal
Ocena użytkownikóww: *****  / 1
SłabyŚwietny
Nadesłany przez Tomasz Lubiński, 10 maja 2008 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 Monte-Carlo - Delphi/metoda_monte_carlo.dpr:
// Calkowanie numeryczne - metoda Monte-Carlo
// www.algorytm.org
// (c)2008 by Tomasz Lubinski

program metoda_monte_carlo;
{$APPTYPE CONSOLE}
uses
  SysUtils, Math;

//funkcja dla ktorej obliczamy calke
function func(x: Real): Real;
begin
     result :=  x*x + 3;
end;

//random number from a to b
function randomPoint(a: Real; b: Real): Real;
begin
        result := a + random * (b-a);
end;

var
     xp, xk, calka: Real;
     i, n: Integer;
begin

	writeln('Podaj poczatek przedzialu calkowania');
	readln(xp);

	writeln('Podaj koniec przedzialu calkowania');
        readln(xk);

	writeln('Podaj dokladnosc calkowania (w setkach punktow)');
	readln(n);
        n := n * 100;

        calka := 0;
        randomize();

        for i:=1 to n do
                calka := calka + func(randomPoint(xp, xk));

        calka := (calka / n) * (xk - xp);

	writeln('Wartosc calki wynosi w przyblizeniu ' + FloatToStr(calka));
        readln;
end.
Dodaj komentarz