Результаты исследований учащихся в проекте Моделирование как метод исследования — различия между версиями
GaLinka (обсуждение | вклад) (Новая страница: «Результаты исследований учащихся в проекте Моделирование как метод исследования») |
GaLinka (обсуждение | вклад) (→Результаты проведённого исследования) |
||
(не показаны 3 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
− | Результаты | + | ==Авторы и участники проекта== |
+ | |||
+ | Автор | ||
+ | |||
+ | [[Участник:Littlemiss |Плесовских Галина]] | ||
+ | |||
+ | Участники | ||
+ | |||
+ | Ученики 10 класса группа "Исследователи" | ||
+ | |||
+ | ==Тема исследования группы== | ||
+ | |||
+ | Моделирование случайности. | ||
+ | |||
+ | == Проблемный вопрос (вопрос для исследования)== | ||
+ | |||
+ | Как смоделировать случайность? | ||
+ | |||
+ | == Гипотеза исследования == | ||
+ | |||
+ | Мы считаем, что моделировать случайность можно используя различные специальные функции программных продуктов. Например в Delphi это функция Random | ||
+ | |||
+ | ==Цели исследования== | ||
+ | |||
+ | 1. Рассмотреть моделирование случайности на примере задачи: вычисление числа П методом Манте-Карло. | ||
+ | |||
+ | 2. Для решения задачи выполнить её постановку, создать математическую модель. Разработать алгоритм и программу на Delphi. | ||
+ | |||
+ | ==Результаты проведённого исследования== | ||
+ | |||
+ | [[Изображение:БлоксхемаМК.JPG]] | ||
+ | |||
+ | |||
+ | Листинг программы "Монте-Карло" | ||
+ | |||
+ | unit Unit2; | ||
+ | |||
+ | interface | ||
+ | |||
+ | uses | ||
+ | Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, | ||
+ | Dialogs, StdCtrls, ExtCtrls, OleCtrls, SHDocVws | ||
+ | |||
+ | 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. | ||
+ | |||
+ | ==Вывод== | ||
+ | |||
+ | 1. Показали моделирование случайностей на примере вычисления числа П методом Манте-Карло. | ||
+ | |||
+ | 2. Выяснили, что увеличивая количество испытаний можно увеличивать точность вычисления числа П. | ||
+ | |||
+ | ==Полезные ресурсы== | ||
+ | |||
+ | [http://dl.softportal.com/load/DelphiBeginner.chm Учебник по Delphi 7 для начинающих 1.0.] | ||
+ | |||
+ | == Другие документы == | ||
+ | |||
+ | [[Учебный проект Моделирование как метод исследования]] | ||
+ | |||
+ | [[Категория:Проекты]] |
Текущая версия на 13:17, 14 июня 2016
Содержание
Авторы и участники проекта
Автор
Участники
Ученики 10 класса группа "Исследователи"
Тема исследования группы
Моделирование случайности.
Проблемный вопрос (вопрос для исследования)
Как смоделировать случайность?
Гипотеза исследования
Мы считаем, что моделировать случайность можно используя различные специальные функции программных продуктов. Например в Delphi это функция Random
Цели исследования
1. Рассмотреть моделирование случайности на примере задачи: вычисление числа П методом Манте-Карло.
2. Для решения задачи выполнить её постановку, создать математическую модель. Разработать алгоритм и программу на Delphi.
Результаты проведённого исследования
Листинг программы "Монте-Карло"
unit Unit2;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, OleCtrls, SHDocVws
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.
Вывод
1. Показали моделирование случайностей на примере вычисления числа П методом Манте-Карло.
2. Выяснили, что увеличивая количество испытаний можно увеличивать точность вычисления числа П.
Полезные ресурсы
Учебник по Delphi 7 для начинающих 1.0.