Работа может быть использована
на уроках информатики и будет интересна
не только для пользователей компьютера,
но и для всех кто интересуется окружающим
миром. Модели и методы их обработки создаются
новые, поэтому тема в дальнейшем может
быть дополнена.
Список литературы
1. Есиненко Г.Е. Решение
задач с помощью электронных
таблиц // газета Информатика №5 2000, №17
2001.
2. Макарова Н.В. Информатика.
7-9 класс. Базовый курс. Учебник. -СПб.:
Питер, 2001. -288с.: ил.
3. Макарова Н.В. Информатика.
7-9 класс. Базовый курс. Задачник
по моделированию. - СПб.: Питер, 2001. -
176 с.: ил.
4. Семакин И.Г, Залогова
Л.А, Русаков С.В, Шестакова Л.В. Информатика.
Базовый курс. 7-9 классы- 2-е издание.
М.:БИНОМ. Лаборатория знаний, 2003. - 390 с.:
ил.
5. Угринович Н.Д. Информатика
и информационные технологии. Учебник
для 10-11 классов.. - М.:БИНОМ. Лаборатория
знаний, 2003. - 512 с.: ил.
6. http://ru.wikipedia.org/wiki
7. http://www.management.com.ua/ims/ims135.html
8. http://www.kpilib.ru/article.php?page=284
Приложения.
Приложение
1.
Рассмотрим моделирование процесса
«Рост цен на бензин за последние 10 лет».
Для начала определим расценку
на марки бензина за ближайшие 10 лет:
Цены на бензин
за последние 10 лет (руб./л) |
Марка |
Года |
бензина |
2001 |
2002 |
2003 |
2004 |
2005 |
2006 |
2007 |
2008 |
2009 |
2010 |
2011 |
АИ76 |
6,5 |
7,6 |
9 |
12,5 |
14,3 |
15,8 |
17 |
17,4 |
18 |
18,4 |
25,7 |
АИ92 |
7,9 |
9,8 |
11,3 |
14,4 |
16,8 |
18,7 |
20,3 |
20,1 |
24,3 |
25 |
27,4 |
АИ95 |
9,1 |
11 |
12,5 |
15,5 |
18 |
20,15 |
21,9 |
22,8 |
25 |
25,4 |
30 |
Затем перенесем эти данные
в Delphi и добавим поле для диаграммы:
Ну и осталось для определенных
компонентов среды Delphi написать код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils,
Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, TeEngine,
Series, ExtCtrls, TeeProcs, Chart, Grids,
StdCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
StringGrid1:
TStringGrid;
Panel2: TPanel;
Chart1: TChart;
Panel3: TPanel;
CheckBox1:
TCheckBox;
CheckBox2:
TCheckBox;
CheckBox3:
TCheckBox;
Series2: TLineSeries;
Series3: TLineSeries;
Series1: TLineSeries;
procedure
FormCreate(Sender: TObject);
procedure
CheckBox1Click(Sender: TObject);
procedure
CheckBox2Click(Sender: TObject);
procedure
CheckBox3Click(Sender: TObject);
private
{ Private
declarations }
public
{ Public declarations
}
end;
var
Form1: TForm1;
x:array[1..3,1..11] of real;
implementation
{$R *.dfm}
procedure
TForm1.FormCreate(Sender: TObject);
var
i,j:integer;
begin
for i:=2001 to 2011 do
form1.StringGrid1.Cells[i-2000,0]
:= IntToStr(i);
form1.StringGrid1.Cells[0,1]
:= 'АИ76';
form1.StringGrid1.Cells[0,2]
:= 'АИ92';
form1.StringGrid1.Cells[0,3]
:= 'АИ95';
x[1,1] := 6.5;
x[1,2] := 7.2;
x[1,3] := 9;
x[1,4] := 12.5;
x[1,5] := 14.3;
x[1,6] := 15.8;
x[1,7] := 17;
x[1,8] := 17.4;
x[1,9] := 18;
x[1,10] := 18.4;
x[1,11] := 25.7;
x[2,1] := 7.9;
x[2,2] := 9.8;
x[2,3] := 11.3;
x[2,4] := 14.4;
x[2,5] := 16.8;
x[2,6] := 18.7;
x[2,7] := 20.3;
x[2,8] := 20.1;
x[2,9] := 24.3;
x[2,10] := 25;
x[2,11] := 27.4;
x[3,1] := 9.1;
x[3,2] := 11;
x[3,3] := 12.5;
x[3,4] := 15.5;
x[3,5] := 18;
x[3,6] := 20.15;
x[3,7] := 21.9;
x[3,8] := 22.8;
x[3,9] := 25;
x[3,10] := 25.4;
x[3,11] := 30;
for i:=1 to 3 do
for j:= 1
to 11 do
form1.StringGrid1.Cells[j,i] := FloatToStr(x[i,j]);
end;
procedure
TForm1.CheckBox1Click(Sender: TObject);
var
i,j:integer;
begin
if form1.CheckBox1.Checked
= false then form1.Series1.Clear
else
begin
for i:=1 to 3 do
for j:= 1 to 11 do
x[i,j] := StrToFloat(form1.StringGrid1.Cells[j,i]);
for i:=1 to 11 do
form1.Series1.AddXY(2000+i, x[1,i],'',clred);
end;
end;
procedure
TForm1.CheckBox2Click(Sender: TObject);
var
i,j:integer;
begin
if form1.CheckBox2.Checked
= false then form1.Series2.Clear
else
begin
for i:=1 to 3 do
for j:= 1 to 11 do
x[i,j] := StrToFloat(form1.StringGrid1.Cells[j,i]);
for i:=1 to 11 do
form1.Series2.AddXY(2000+i, x[2,i],'',clgreen);
end;
end;
procedure
TForm1.CheckBox3Click(Sender: TObject);
var
i,j:integer;
begin
if form1.CheckBox3.Checked
= false then form1.Series3.Clear
else
begin
for i:=1 to 3 do
for j:= 1 to 11 do
x[i,j] := StrToFloat(form1.StringGrid1.Cells[j,i]);
for i:=1 to 11 do
form1.Series3.AddXY(2000+i, x[3,i],'',clBlue);
end;
end;
end.
После того, как запустим программу,
мы заметим, что при постановке галочки
около марки бензина, у нас будет вырисовываться
график роста цен на этот вид бензина:
Таким образом мы смоделировали
в среде Delphi процесс роста цены на топливо
(бензин в нашем случае).
Приложение
2.
Теперь мы рассмотрим похожий
случай в ресторанном бизнесе: «Рост цен
на блюда в связи с ростом цен на продукты
питания».
Для этого определим примерный
рост цен на продукты (в процентах) и примерный
рост на блюда в ресторане за первое полугодие
2012 года:
|
январь |
февраль |
март |
апрель |
май |
июнь |
повышение цен на продукты(в среднем,
%) |
2 |
0,8 |
3 |
3 |
4 |
4 |
повышение цен на блюда(в среднем, %) |
1,5 |
0 |
1,5 |
1,7 |
2 |
2,7 |
Так же, как и в первом примере,
перенесем эти данные в среду Delphi и добавим
поле для графика:
Ну и осталось для определенных
компонентов среды Delphi написать код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils,
Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, TeEngine,
Series, ExtCtrls, TeeProcs, Chart, StdCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
StringGrid1:
TStringGrid;
Panel2: TPanel;
Chart1: TChart;
Series1: TLineSeries;
Button1: TButton;
Series2: TLineSeries;
procedure
FormCreate(Sender: TObject);
procedure
Button1Click(Sender: TObject);
private
{ Private
declarations }
public
{ Public declarations
}
end;
var
Form1: TForm1;
x:array[1..2,1..6] of
real;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender:
TObject);
var
i,j:integer;
begin
form1.StringGrid1.Cells[0,1]
:= 'Блюда';
form1.StringGrid1.Cells[0,2]
:= 'Продукты';
form1.StringGrid1.Cells[1,0]
:= 'Январь';
form1.StringGrid1.Cells[2,0]
:= 'Февраль';
form1.StringGrid1.Cells[3,0]
:= 'март';
form1.StringGrid1.Cells[4,0]
:= 'апрель';
form1.StringGrid1.Cells[5,0]
:= 'май';
form1.StringGrid1.Cells[6,0]
:= 'июнь';
x[1,1]:=2;
x[1,2]:=0.8; x[1,3]:=3; x[1,4]:=3; x[1,5]:=4; x[1,6]:= 4;
x[2,1]:=1.5; x[2,2]:=0;
x[2,3]:=1.5;x[2,4]:=1.7; x[2,5]:=2; x[2,6]:=2.7;
for i:=1 to 2
do
for j:= 1
to 6 do
form1.StringGrid1.Cells[j,i] := FloatToStr(x[i,j]);
end;
procedure TForm1.Button1Click(Sender:
TObject);
var
i,j:integer;
begin
for i:=1 to 2 do
for j:=1 to
6 do
x[i,j]:= StrToFloat(form1.StringGrid1.Cells[j,i]);
form1.Series1.Clear;
for i:=1 to 6 do
form1.Series1.AddXY(i,x[1,i],'',clred);
form1.Series2.Clear;
for i:=1 to 6 do
form1.Series2.AddXY(i,x[2,i],'',clgreen);
end;
end.
После того, как запустим программу,
мы заметим, что при нажатии на кнопку
«Построить», у нас будет вырисовываться
график зависимости роста цен на продукты
и на блюда в ресторане:
Таким образом мы смоделировали
в среде Delphi один из процессов ресторанного
бизнеса.
Приложение
3.
Рассмотрим 3 случай на примере
магазина «УЮТ». Сравним поставки и реализацию
продукции в этом магазине.
Для этого рассмотрим примерные
поставки и реализацию товаров за первое
полугодие 2012 года:
|
январь |
февраль |
март |
апрель |
май |
июнь |
поставки (общее, кг) |
100 |
143 |
150 |
135 |
200 |
157 |
реализация(общее, кг) |
85 |
94 |
138 |
110 |
189 |
120 |
Перенесем эти данные в таблицу
среды Delphi и в данном случае будем строить
столбчатую диаграмму для наглядности
примера:
Ну и осталось для определенных
компонентов среды Delphi написать код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils,
Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, TeEngine,
Series, ExtCtrls, TeeProcs, Chart, StdCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
StringGrid1:
TStringGrid;
Panel2: TPanel;
Chart1: TChart;
Series1: TBarSeries;
Series2: TBarSeries;
Button1: TButton;
procedure
FormCreate(Sender: TObject);
procedure
Button1Click(Sender: TObject);
private
{ Private
declarations }
public
{ Public declarations
}
end;
var
Form1: TForm1;
x:array[1..2,1..6]
of real;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender:
TObject);
var
i,j:integer;
begin
form1.StringGrid1.Cells[0,1]
:= 'Поставки';
form1.StringGrid1.Cells[0,2]
:= 'Реализация';
form1.StringGrid1.Cells[1,0]
:= 'Январь';
form1.StringGrid1.Cells[2,0]
:= 'Февраль';
form1.StringGrid1.Cells[3,0]
:= 'март';
form1.StringGrid1.Cells[4,0]
:= 'апрель';
form1.StringGrid1.Cells[5,0]
:= 'май';
form1.StringGrid1.Cells[6,0]
:= 'июнь';
x[1,1]:=100;
x[1,2]:=143; x[1,3]:=150; x[1,4]:=135; x[1,5]:=200;
x[1,6]:=157;
x[2,1]:=85;
x[2,2]:=94; x[2,3]:=138; x[2,4]:=110; x[2,5]:=189;
x[2,6]:=120;
for i:=1 to 2
do
for j:= 1
to 6 do
form1.StringGrid1.Cells[j,i] := FloatToStr(x[i,j]);
end;
procedure TForm1.Button1Click(Sender:
TObject);
var
i,j:integer;
begin
for i:=1 to 2 do
for j:=1 to
6 do
x[i,j]:= StrToFloat(form1.StringGrid1.Cells[j,i]);
form1.Series1.Clear;
for i:=1 to 6 do
form1.Series1.AddXY(i,x[1,i],'',clred);
form1.Series2.Clear;
for i:=1 to 6 do
form1.Series2.AddXY(i,x[2,i],'',clgreen);
end;
end.
После того, как запустим программу,
мы заметим, что при нажатии на кнопку
«Построить», нам будет видна зависимость
между поставками и реализацией продукции
в магазине «УЮТ»:
Таким образом мы смоделировали
в среде Delphi наглядное отображение поставок
и реализацию товаров в предпринимательском
бизнесе.