Компьютерное моделирование в экологии

Государственное бюджетное профессиональное образовательное учреждение «Осташковский колледж»






Компьютерное моделирование в экологии

Направление работы: практико-ориетированное
Вид работы: проект
Авторы: Окунева Анастасия Александровна
Группа 46-П
Специальность 09.02.03 «Программирование в компьютерных системах»

Руководитель работы: Белова Марина Владимировна
преподаватель спецпредметов по специальности «Программирование в компьютерных системах»



г.Осташков, 2015 г. Содержание

HYPER13 TOC \o "1-3" \h \z \u HYPER14HYPER13 HYPERLINK \l "_Toc149283650" HYPER14ВВЕДЕНИЕ HYPER13 PAGEREF _Toc149283650 \h HYPER143HYPER15HYPER15
HYPER13 HYPERLINK \l "_Toc149283651" HYPER14МОДЕЛИ ВНУТРИВИДОВОЙ КОНКУРЕНЦИИ HYPER13 PAGEREF _Toc149283651 \h HYPER144HYPER15HYPER15
HYPER13 HYPERLINK \l "_Toc149283652" HYPER14ЛОГИСТИЧЕСКАЯ МОДЕЛЬ МЕЖВИДОВОЙ КОНКУРЕНЦИИ HYPER13 PAGEREF _Toc149283652 \h HYPER147HYPER15HYPER15
HYPER13 HYPERLINK \l "_Toc149283653" HYPER14ДИНАМИКА ЧИСЛЕННОСТИ ПОПУЛЯЦИЙ ХИЩНИКА И ЖЕРТВЫ HYPER13 PAGEREF _Toc149283653 \h HYPER149HYPER15HYPER15
HYPER13 HYPERLINK \l "_Toc149283654" HYPER14«ЖИЗНЬ НА ПОЛОСКЕ» HYPER13 PAGEREF _Toc149283654 \h HYPER1410HYPER15HYPER15
HYPER13 HYPERLINK \l "_Toc149283655" HYPER14ЗАКЛЮЧЕНИЕ HYPER13 PAGEREF _Toc149283655 \h HYPER1411HYPER15HYPER15
HYPER15
Аннотация

В представленной работе на тему «Компьютерное моделирование в экологии», рассмотрены основные математические модели, используемые в классической экологии. Задачей данной работы являлось рассмотрение и анализ существующих моделей в экологии и их программная реализация, с использованием средств визуального программирования.
Математические модели, представленные в данной работе, полностью соответствуют постановке задачи. В разработке алгоритма грамотно применены соответствующие математические методы. Программная реализация моделей выполнена в интегрированной среде Delphi с использованием средств визуального программирования, что позволило организовать удобный пользовательский интерфейс.
К положительным качествам данного проекта можно отнести актуальность реализации стандартных алгоритмов моделирования, возможность корректировки и редактирования введённых данных, прикладное значение разработанного программного продукта.

Белова М.В., преподаватель ГБПОУ «Осташковский колледж»
ВВЕДЕНИЕ

Экология – одно из слов, появившихся сравнительно недавно у всех на устах и на страницах газет и журналов. Остановимся на некоторых понятиях, которые необходимы в данной работе.
Особь – отдельный индивидуум, отдельный организм. Популяция – совокупность особей одного вида, существующих в одно и то же время и занимающих определенную территорию. Сообщество 
· совокупность совместно сосуществующих популяций.
В классической экологии рассматриваются взаимодействия нескольких типов:
Взаимодействие организма и окружающей среды;
Взаимодействие особей внутри популяции;
Взаимодействие между особями разных видов (между популяциями)
Математические модели в экологии используются практически с момента возникновения этой науки. И, хотя поведение организмов в живой природе гораздо труднее адекватно описать средствами математики, чем самые сложные физические процессы, модели помогают установить некоторые закономерности и общие тенденции развития отдельных популяций, а также сообществ.
Вот некоторые цели создания математических моделей в классической экологии.
Модели помогают выделить суть или объединить и выразить с помощью нескольких параметров важные разрозненные свойства большого числа уникальных наблюдений, что облегчает экологу анализ рассматриваемого процесса или проблемы.
Модели выступают в качестве «общего языка», с помощью которого может быть описано каждое уникальное явление, и относительные свойства таких явлений становятся более понятным.
Модель может служит образцом «идеального объекта» или идеализированного поведения, при сравнении с которым можно оценивать и измерять реальные объекты и процессы.
Модели действительно могут пролить свет на реальный мир, несовершенными имитациями которого они являются.
МОДЕЛИ ВНУТРИВИДОВОЙ КОНКУРЕНЦИИ

Рассмотрим простейшую модель для вида с дискретными периодами, в которой численность популяций в момент времени t равна N1 и изменяется во времени пропорционально величине основной чистой скорости воспроизводства R. Такими видами являются, например, большая часть растений, некоторые виды насекомых, у которых разные поколения четко разнесены во времени. Коэффициент R характеризует количество особей, которое воспроизводится в расчете на одну существующую, а также выживание уже существующих.. Данная модель может быть выражена уравнением: Nt+1 = Nt * R (1.1), решение которого имеет вид: Nt = N0*Rt (1.2), где N0 – начальная численность популяции. Эта модель описывает популяцию, в которой отсутствует конкуренция и в которой R является константой; если R >1, то численность популяции будет бесконечно увеличиваться. В реальности в какой-то момент начинают работать механизмы сдерживания роста популяции. Но в действительности такого роста популяций, когда их численность увеличивается в геометрической прогрессии, на сколько-нибудь длительных промежутках времени не наблюдается. Следовательно, в первую очередь необходимо изменить уравнение (1.1) таким образом, чтобы чистая скорость воспроизводства зависела от внутривидовой конкуренции.
Конкуренцию можно определить как использование некоего ресурса, каким - либо организмом, который тем самым уменьшает доступность этого ресурса для других ресурсов. Если конкурирующие организмы принадлежат одному виду, то взаимоотношения между ними называют внутривидовой конкуренцией.

Рис. 1 К вопросу об ограничении скорости роста популяции.
На рисунке 1 показана простейшая возможная зависимость скорости воспроизводства от численности популяции. Точка А отражает ситуацию, в которой численность близка к нулю, конкуренция при этом практически отсутствует, и фактическую скорость воспроизводства вполне можно описать параметром R в его первоначальном виде.
Следовательно, при низкой плотности популяции уравнение (1.1) вполне справедливо. В преобразованном виде оно выглядит так: HYPER13 EMBED Equation.3 HYPER14HYPER15; Точка B отражает ситуацию, в которой численность популяции высока, и в значительной степени проявляется внутривидовая конкуренция. Фактическая скорость воспроизводства в результате конкуренции настолько снижена, что популяция в целом может не более чем восстанавливать в каждом поколении свою численность, потому что количество родившихся особей уравновешивается количеством погибших. Гипотезе, отраженной на рисунке 1, соответствует уравнение:

N t+1 = HYPER13 EMBED Equation.3 HYPER14HYPER15 , ( 1.3), где HYPER13 EMBED Equation.3 HYPER14HYPER15. Это уравнение представляет собой модель роста популяции, ограниченного внутривидовой конкуренции. Суть этой модели в том, что константа R в уравнении (1.1) заменена на фактическую скорость воспроизводства, т.е. HYPER13 EMBED Equation.3 HYPER14HYPER15, которая уменьшается по мере роста численности популяции Nt . Достоинство полученного уравнения заключается в его простоте. Такой тип конкуренции приводит к саморегулированию численности популяции, изображенной на рис. 2


Рис.2 Изменение численности популяции при R = 2, K = 200, N0 = 20
Более общая гипотеза о законе падения скорости роста популяции в зависимости от ее численности приводит к следующему уравнению:HYPER13 EMBED Equation.3 HYPER14HYPER15(1.4)
Общность данной модели в отличие от уравнения (1.3) обусловлена введением в модель параметра b, который определяет тип зависимости падения скорости роста популяции от ее численности.
Набор величин a, b, R можно использовать для сравнения и противопоставления сильно различающихся ситуаций. Другим положительным качеством уравнения (1.4) является его способность освещать новые стороны реального мира.

Рис. 3 Схематическое изображение фазовой диаграммы динамики численности популяции с дискретным размножением

В программной реализации данной модели, выполненной в интегрированной среде программирования Delphi, рассмотрен пример: для модели (1.4) в фазовой плоскости (b,R) найти границы зон, разделяющих режимы монотонного и колебательного установления стационарной численности популяции изучаемой системы. Текст программы и иллюстрации полученных результатов приведены в [ Cкачайте файл, чтобы посмотреть ссылку ].
ЛОГИСТИЧЕСКАЯ МОДЕЛЬ МЕЖВИДОВОЙ КОНКУРЕНЦИИ

Сущность межвидовой конкуренции заключается в том, что у особей одного вид уменьшается плодовитость, выживаемость и скорость роста в результате использования того же ресурса, что и особями другого вида, причем влиянию конкуренции в той или иной мере подвергаются особи обоих видов.
Так как мы имеем дело с двумя различными популяциями, то введем соответствующие обозначения. Пусть N1 – численность первой популяции, а N2 – второй. Предельные плотности насыщения и максимальные врожденные скорости роста популяций обозначим соответственно K1, K2, r1, r2. Обратимся к логистическому уравнению HYPER13 EMBED Equation.3 HYPER14HYPER15 и попробуем учесть в нем межвидовую конкуренцию. Сделаем это так. Предположим, что M особей вида 2 оказывают такое же воздействие на вид 1, как одна особь вида 1. Константу HYPER13 EMBED Equation.3 HYPER14HYPER15 в этом случае называют коэффициентом конкуренции. Обозначим ее HYPER13 EMBED Equation.3 HYPER14HYPER15. Таким образом, чтобы отразить суммарное воздействие на вид 1, надо в логистическом уравнении в числителе дроби вместо N записать HYPER13 EMBED Equation.3 HYPER14HYPER15. Аналогично получается уравнение для исследования численности второй популяции. В результате получим систему двух дифференциальных уравнений:
HYPER13 EMBED Equation.3 HYPER14HYPER15

Модель межвидовой конкуренции, выраженная этой системой, названа в честь ее авторов «моделью Лотки-Вольтерры».
Заметим, что если коэффициенты
·12 и
·21 больше единицы, то влияние со стороны конкурирующей популяции на особей данного вида сильнее, чем со стороны особей своего вида.


Рис. 4 Устойчивое сосуществование популяций. Сплошная линия – численность первой популяции, штриховая - второй
Главный вопрос, который интересует исследователя межвидовой конкуренции – при каких условиях увеличивается или уменьшается численность каждого вида? Для ответа на этот вопрос надо построить диаграммы, где были бы изображены все возможные сочетания численностей обоих видов. На таких диаграммах численность одного вида откладывают по горизонтальной оси, а другого – по вертикальной. При одних сочетаниях численностей будет отмечаться рост выбранной для наблюдения популяций, при других – уменьшение ее численности.
Рассмотрим, как можно построить изоклину для первого вида. По определению, для этой линии HYPER13 EMBED Equation.3 HYPER14HYPER15. Из первого уравнения системы (1.5) получаем: r1 * N1* (K1 – N1 –
·12* N2) = 0.
Это равенство выполняется, если какой-либо из множителей равен нулю. Наибольший интерес представляет ситуация, в которой: K1 – N1 –
·12 * N2 = 0, или N1 = K1 –
·12 * N2.


Рис. 5 Изоклины, полученные с помощью модели Лотки - Вольтерры.

Таким образом, получено уравнение изоклины, которое, как можно заметить является уравнением прямой в плоскости (N1, N2). Вверх и вправо от изоклины из-за высокой численности обеих популяций численность вида 1 снижается, в противоположных положениях – повышается.
ДИНАМИКА ЧИСЛЕННОСТИ ПОПУЛЯЦИЙ ХИЩНИКА И ЖЕРТВЫ

Модель состоит из двух компонентов: С – численность популяций и N – численность популяции жертвы.
Предполагается, что в отсутствие хищника популяции жертвы растет экспоненциально. Чем больше численность той и другой популяции, тем чаще происходят встречи. Число встреченных и съеденных жертв будет зависеть от эффективности, с которой хищник находит и ловит жертву. Если обозначить через а' «эффективность поиска», скорость поедания жертвы будет равна а'*C*N
·, и окончательно для численности жертвы получаем: HYPER13 EMBED Equation.3 HYPER14HYPER15
В отсутствие пищи отдельные особи хищника голодают и гибнут. Предположим, вновь, что численность хищника в отсутствие пищи будет уменьшаться экспоненциально:
HYPER13 EMBED Equation.3 HYPER14HYPER15,
(q - смертность). Скорость рождения новых особей в данной модели полагается зависящей от двух обстоятельств: скорости потребления пищи а'*C*N, и эффективности f , с которой эта пища переходит в потомство хищника. Итак, для численности хищника окончательно получаем: HYPER13 EMBED Equation.3 HYPER14HYPER15.
Так как процессы надо рассматривать вместе, объединим уравнения в систему:

HYPER13 EMBED Equation.3 HYPER14HYPER15

Как и в предыдущем пункте, свойства этой модели можно исследовать, построив изоклины. Для жертвы имеем: HYPER13 EMBED Equation.3 HYPER14HYPER15 или, выражая С, получаем:
С = HYPER13 EMBED Equation.3 HYPER14HYPER15.
Соответствующее уравнение изоклины для популяции хищника: HYPER13 EMBED Equation.3 HYPER14HYPER15.
В программной реализации данной модели, выполненной в интегрированной среде программирования Delphi, рассмотрен пример: Модель предсказывает сопряженные колебания численности жертв и хищников. Исследовать зависимость запаздывания амплитуд колебаний численности жертв в зависимости от амплитуд колебаний численности жертв в зависимости от параметра q. Значения остальных параметров фиксировать по усмотрению.

Иллюстрации полученных результатов приведены:



«ЖИЗНЬ НА ПОЛОСКЕ»
Представляется интерес модель игры в одномерном случае. Здесь имеется ряд клеток. В некоторых из них задаем «жизнь». Требуется изучить эволюцию клеток, если заданы правила их существования и зарождения.


0
0
1
1
0
0
1
1
0
1
0
0




Определить сумму значений пяти соседних клеток (самой клетки и двух ближайших к ней слева и справа). На следующем шаге в зависимости от суммы, которая может быть равна 0, 1, 2, 3, 4, 5, клеткам присваивается значение 0, 1, 1, 1, 0, 0.
Пусть Х(N) – массив клеток. X(i) = 0, если i-я клетка пустая, и X(I) = 1, если в i-й клетке имеется «жизнь».
HYPER13 EMBED Equation.3 HYPER14HYPER15
Если Y(N) – массив клетка следующем временном шаге, то он заполняется например, по следующему правилу – если S = 1, то Y(i) =0.
В программной реализации данной модели, выполненной на языке Turbo Pascal и в интегрированной среде программирования Delphi, рассмотрен пример: Зададим правила игра. Если клетка (i, j) «живая» и в окружении более трех «живых» клеток, она погибает (от перенаселения). «Живая» клетка также погибает, если в окружении менее двух «живых» клеток (от одиночества). «Мертвая» клетка оживает, если вокруг нее имеются три «живые» клетки. Для удобства введем двумерный массив А [0..n, 0..n] элементы которого принимают значение 0, если соответствующая клетка пустая, и 1, если клетка «живая». Текст программы и иллюстрации полученных результатов приведены в [ Cкачайте файл, чтобы посмотреть ссылку ].

ЗАКЛЮЧЕНИЕ
«Для человеческого ума недоступна
совокупность причин и явлений. Но
потребность отыскать причины вложена
в душу человека. И человеческий ум, не
вникнувши в бесчисленность и
сложность условий явлений, из которых
каждое отдельно может представляться
причиною, хватается за первое, самое
понятное сближение и говорит:
вот причина».
Л. Н. Толстой. Война и мир.
т. 4. ч.2.

Рассмотренные выше модели представляют собой математические образы отдельных процессов и явлений. Каждая из них интересна по-своему, важна для конкретной науки или вида деятельности.
Математическое компьютерное моделирование вторгается даже в такую сверхзадачу, как самосохранение человека как вида.
Привлечение компьютеров существенно раздвинуло границы моделирования экологических процессов. С одной стороны, появилась возможность всесторонней реализации сложных математических моделей, не допускающих аналитического исследования, с другой – возникли принципиально новые направления, и прежде всего – имитационное моделирование.



Приложение 1.

В программной реализации данной модели:




выполненной в интегрированной среде программирования Delphi, рассмотрен пример: для рассматриваемой модели в фазовой плоскости (b,R) найти границы зон, разделяющих режимы монотонного и колебательного установления стационарной численности популяции изучаемой системы.
Задача: в фазовой плоскости (b,R) найти границы зон, разделяющих режимы монотонного и колебательного установления стационарной численности популяции изучаемой системы. Иллюстрации полученных результатов:










Текст программы:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls, ExtCtrls;

type
TForm1 = class(TForm)
TrackBar1: TTrackBar;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
TrackBar2: TTrackBar;
Edit2: TEdit;
Label3: TLabel;
TrackBar3: TTrackBar;
Edit3: TEdit;
Image1: TImage;
Label4: TLabel;
Edit4: TEdit;
procedure TrackBar1Change(Sender: TObject);
procedure TrackBar2Change(Sender: TObject);
procedure TrackBar3Change(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Edit4Change(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
b:integer; a,R: real; // Коэффициенты

implementation

{$R *.DFM}

function Power(X: Real; Y: Integer): Real;

var
I: Integer;
begin
Result := 1.0;
I := Y;
while I > 0 do
begin
if Odd(I) then Result := Result * X;
I := I div 2;
X := Sqr(X);
end;
end;

procedure TForm1.TrackBar1Change(Sender: TObject);
var
P1,P:integer; // количество поколений
N,N1,a1:real; // численность
PX,PY:longint; // координаты пикселей
begin
a:=TrackBar1.Position/1000;
Edit1.Text:=FloatToStr(a);
N1:=10;
P:=StrToInt(Edit4.Text);
Image1.Picture.Graphic:=nil;
Image1.Canvas.MoveTo(0, Image1.Height);
for P1:=2 to P do
begin
{X - координата, соответствующая пикселю с координатой РХ}
a1:=a*N1;
N:=N1*R/(1+Power(a1,b));
{PY - координата пикселя, соответствующая значению N}
PY:=Trunc(Image1.Height-N*50);
N1:=N;
Image1.Canvas.Pen.Color:=clRed; {Устанавливается цвет}
PX:=Trunc(P1*Image1.Width/P);
Image1.Canvas.LineTo(PX,PY); {Проводится линия на графике}
end;
end;

procedure TForm1.TrackBar2Change(Sender: TObject);
var
P1,P:integer; // количество поколений
N,N1,a1:real; // численность
PX,PY:longint; // координаты пикселей
begin
b:=TrackBar2.Position;
Edit2.Text:=FloatToStr(b);
N1:=10;
P:=StrToInt(Edit4.Text);
Image1.Picture.Graphic:=nil;
Image1.Canvas.MoveTo(0, Image1.Height);
for P1:=2 to P do
begin
{X - координата, соответствующая пикселю с координатой РХ}
a1:=a*N1;
N:=N1*R/(1+Power(a1,b));
{PY - координата пикселя, соответствующая значению N}
PY:=Trunc(Image1.Height-N*50);
N1:=N;
Image1.Canvas.Pen.Color:=clRed; {Устанавливается цвет}
PX:=Trunc(P1*Image1.Width/P);
Image1.Canvas.LineTo(PX,PY); {Проводится линия на графике}
end;
end;

procedure TForm1.TrackBar3Change(Sender: TObject);
var
P1,P:integer; // количество поколений
N,N1,a1:real; // численность
PX,PY:longint; // координаты пикселей
begin
R:=TrackBar3.Position/100;
Edit3.Text:=FloatToStr(R);
N1:=10;
P:=StrToInt(Edit4.Text);
Image1.Picture.Graphic:=nil;
Image1.Canvas.MoveTo(0, Image1.Height);
for P1:=2 to P do
begin
{X - координата, соответствующая пикселю с координатой РХ}
a1:=a*N1;
N:=N1*R/(1+Power(a1,b));
{PY - координата пикселя, соответствующая значению N}
PY:=Trunc(Image1.Height-N*50);
N1:=N;
Image1.Canvas.Pen.Color:=clRed; {Устанавливается цвет}
PX:=Trunc(P1*Image1.Width/P);
Image1.Canvas.LineTo(PX,PY); {Проводится линия на графике}
end;
end;

procedure TForm1.FormActivate(Sender: TObject);
var
P1,P:integer; // количество поколений
N,N1,a1:real; // численность
PX,PY:longint; // координаты пикселей
begin
a:=TrackBar1.Position/1000;
Edit1.Text:=FloatToStr(a);
b:=TrackBar2.Position;
Edit2.Text:=FloatToStr(b);
R:=TrackBar3.Position/100;
Edit3.Text:=FloatToStr(R);
N1:=10;
P:=StrToInt(Edit4.Text);
Image1.Picture.Graphic:=nil;
Image1.Canvas.MoveTo(0, Image1.Height);
for P1:=2 to P do
begin
{X - координата, соответствующая пикселю с координатой РХ}
a1:=a*N1;
N:=N1*R/(1+Power(a1,b));
{PY - координата пикселя, соответствующая значению N}
PY:=Trunc(Image1.Height-N*50);
N1:=N;
Image1.Canvas.Pen.Color:=clRed; {Устанавливается цвет}
PX:=Trunc(P1*Image1.Width/P);
Image1.Canvas.LineTo(PX,PY); {Проводится линия на графике}
end;
end;

procedure TForm1.Edit4Change(Sender: TObject);
var
P1,P:integer; // количество поколений
N,N1,a1:real; // численность
PX,PY:longint; // координаты пикселей
begin
N1:=10;
P:=StrToInt(Edit4.Text);
Image1.Picture.Graphic:=nil;
Image1.Canvas.MoveTo(0, Image1.Height);
for P1:=2 to P do
begin
{X - координата, соответствующая пикселю с координатой РХ}
a1:=a*N1;
N:=N1*R/(1+Power(a1,b));
{PY - координата пикселя, соответствующая значению N}
PY:=Trunc(Image1.Height-N*50);
N1:=N;
Image1.Canvas.Pen.Color:=clRed; {Устанавливается цвет}
PX:=Trunc(P1*Image1.Width/P);
Image1.Canvas.LineTo(PX,PY); {Проводится линия на графике}
end;
end;

end.
Приложение 2.
Пример программы «Жизнь на полоске»
Program Live1;
Uses Crt, Graph;
Const N=60;
Var Driver_var, Mode_var: integer;
J, K:Integer; X, Y:array [0..N] of 0..1; S ,I, Yg:Integer;
P:real; C:Char;
Begin
Driver_var:=detect;
InitGraph (Driver_var, Mode_var,'C:\TP\BGI');
For I:=0 to N do
Begin
X[I]:=0; Y[I]:=0
end;
X [N Div 2]:=1;
DetectGraph (j, K);
InitGraph (J, K, '');
Yg:=20;
For I:=0 to N do
If X[I] = 1 then Circle (I*10+10, Yg, 2);
Repeat
C:=ReadKey;
YG:=Yg+10;
For I:=2 to N-2 do
Begin
S:=X[I-2] + X[I-1] + X[I] + x[I+2];
If S in [1..3] then y[I]:=1
end;
For I:=0 to N do
Begin
If Y[I] =1 then Circle (I*10+10, Yg, 2);
X[I]:=Y[I];
Y[I]:=0;
End
Until C=#27;
CloseGraph;
end.

Инструкция пользователю
Зададим правила игра. Если клетка (i, j) «живая» и в окружении более трех «живых» клеток, она погибает (от перенаселения). «Живая» клетка также погибает, если в окружении менее двух «живых» клеток (от одиночества). «Мертвая» клетка оживает, если вокруг нее имеются три «живые» клетки. Для удобства введем двумерный массив А [0..n, 0..n] элементы которого принимают значение 0.


Как работать с программой.
В поле Размерность массива вводим необходимое число
Нажимаем кнопку Задать матрицу

.
нажимаем кнопку ОК.



Список использованной литературы:

М.С. Красс, Б.П. Чупрынов. Основы математики и ее приложения в экономическом образовании: Учебник. – 4-е изд., испр. – М.: Дело, 2003. – 688 с.
С. Бобровский. Delphi 5: учебный курс – СПб: Питер, 2001. – 640 с.
П.Н. Коробов. Математическое программирование и моделирование экономических процессов. Учебник. – СПб.: ООО «Издательство ДНК», 2003. – 376 с.













HYPER13PAGE HYPER15


HYPER13PAGE HYPER1423HYPER15








HYPER13 EMBED Equation.3 HYPER14HYPER15














































HYPER13 EMBED Equation.3 HYPER14HYPER15


(1.6)








3




Приложенные файлы

  • doc Model
    Размер файла: 2 MB Загрузок: 2