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