Результаты исследований учащихся в проекте Модели вокруг нас: различия между версиями
(→Проблемный вопрос (вопрос для исследования)) |
(→Результаты проведённого исследования) |
||
Строка 23: | Строка 23: | ||
==Результаты проведённого исследования== | ==Результаты проведённого исследования== | ||
+ | |||
+ | |||
+ | 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. | ||
==Вывод== | ==Вывод== |
Версия 10:38, 7 ноября 2009
Содержание
Авторы и участники проекта
Авторы
Ученики 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.