пятница, 22 февраля 2013 г.

Методом Монте-Карло

На отрезке [a, b] заданы функции f1(x) и f2(x). Вычислить площадь фигуры, закключенной между этими функциями методом Монте-Карло
A=0; B=Pi/2 ; f1(x)=cos(x); f2(x)= ось OX

var a,b,S,s1,h,x,y: real;
i,n: integer;

function f(x: real): real;
begin
f:=cos(x);
end;

begin
n:=100;
a:=0;
b:=PI/2;
randomize();
for i:=1 to n do
begin
x:=random()*b;
y:=random()*1;
if(f(x)>y)then
s:=s+1;
end;
s:=s/n*b;

while abs(s-s1)>0.01 do
begin
s1:=s;
n:=n*10;
randomize();
for i:=1 to n do
begin
x:=random()*b;
y:=random()*1;
if(f(x)>y)then
s:=s+1;
end;
s:=s/n*b;
end;

writeln(s, ' ', n);
readln;
end.