Результаты исследований учащихся в проекте Модели вокруг нас
Содержание
Авторы и участники проекта
Авторы
Ученики 11 класса группа "Испытатели"
Тема исследования группы
Моделирование случайности.
Проблемный вопрос (вопрос для исследования)
Как смоделировать случайность?
Гипотеза исследования
численных методов, основанных на получении большого числа реализаций стохастического (случайного) процесса, который формируется таким образом, чтобы его вероятностные характеристики совпадали с аналогичными величинами решаемой задачи.
Цели исследования
Результаты проведённого исследования
Листинг программы "Монте-Карло"
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, OleCtrls, SHDocVw;
type
TForm2 = class(TForm) Image1: TImage; Button1: TButton; Edit1: TEdit; Edit2: TEdit; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label1: TLabel; WebBrowser1: TWebBrowser; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end;
var
Form2: TForm2;
implementation
uses Unit1;
{$R *.dfm} var R:integer; //радиус N:integer; //количество "брошенных" точек X:real; //координата точек Х Y:real; //координата точек Y M:integer; //количество точек, попавших в круг I:integer; //счетчик цикла procedure TForm2.Button1Click(Sender: TObject); begin M := 0; //Ввод значений R := StrToInt(Edit1.Text); N := StrToInt(Edit2.Text); Image1.Canvas.Ellipse(0,0,200,200); //Генерация точек {Randomize}; For I := 1 To N do begin X := (Random(200*R)-100)/100; Y := (Random(200*R)-100)/100; Image1.Canvas.Pixels[Round(100*X)+100,100 - Round(100*Y)]:=clBlack; If X*X + Y*Y <= R
Then M := M + 1
end; //Площадь Label1.Caption := FloatToStr(4*R*R*M/N); end;
procedure TForm2.FormCreate(Sender: TObject); begin Webbrowser1.Navigate(GetCurrentDir+'\mk.htm'); //Form1.Show; end;
end.
Вывод
Полезные ресурсы
Учебник по Delphi 7 для начинающих 1.0.