Просмотр содержимого документа
«Проект Метод Монте-Карло для Lazarus»
Проект «Метод Монте –Карло»
1
.
200*200
2
.
3 в uses ввести модуль Math
4. в описание переменных
r,n,m,i:integer;
x,y:real;
5.Программный код на кнопку:
procedure TForm1.Button1Click(Sender: TObject);
begin
//стирание
Paintbox1.canvas.Brush.color:=clwhite;
Paintbox1.canvas.rectangle(100-r,100-r,100+r,100+r);
Paintbox1.canvas.fillrect(rect( 100-r,100-r,100+r,100+r));
m:=0;
//ввод значений
r:=strtoint(edit1.text);
n:=strtoint(edit2.text);
//рисование квадрата и круга
Paintbox1.canvas.rectangle(100-r,100-r,100+r,100+r);
Paintbox1.canvas.ellipse(100-r,100-r,100+r,100+r);
//генерация точек
randomize;
for i:=1 to n do
begin
x:=random(2*r)-r;
y:= random(2*r)-r;
Paintbox1.canvas.pixels[round(x)+100, round(y)+100]:=clblack;
if sqr(x)+sqr(y)
then m:=m+1
end;
//площадь
label5.caption:=floattostr(4*sqr(r)*m/n);
label6.caption:=floattostr(4*m/n);
end;
6.Проведи компьютерный эксперимент
