Автор работы: Пользователь скрыл имя, 15 Декабря 2011 в 15:26, курсовая работа
Целью данной курсовой работы является разработка программ на языках С, Pasсal и в среде Delphi для описания процессов развития динамики популяции. Данные процессы описываются моделью Ферхюльда, представляющей собой дифференциальное уравнение первого порядка. Решение данного уравнения будем искать с помощью метода Эйлера. В ходе курсового проектирования будет проведен обзор теоретических вопросов, разработан алгоритмы решения поставленной задачи.
Введение 3
1 Аналитический обзор 4
1.1 Определение популяции 4
1.2 Модель Ферхюльста (рождаемость и смертность с учетом роста численности) 5
1.3. Решение дифференциальных уравнений 6
1.4 Метод Эйлера. 7
1.5 Улучшенный метод Эйлера 9
2Язык Pascal 11
3 Язык С 14
4Среда быстрой разработки Delphi 15
5 Алгоритм решения задачи 17
6 Тестирование программ 18
6.1. Тестирование на языке С 18
6.2 Тестирование на языке Pascal 19
6.3 Тестирование приложения в Delphi 19
7 Листинг программ на языке С 22
8 Листинг программ на языке Pascal 24
9 Листинг программы в Delphi 26
Выводы 30
Список использованной литературы 31
StringGrid1.Cells[0,i]:=
StringGrid1.Cells[1,i]:=
Series1.AddXY(i,RoundTo(p,-3))
p1:=p;
i:=i+1;
until i>n
end;
procedure TForm2.BitBtn2Click(Sender: TObject);
begin
p:=StrToFloat(Edit3.Text);
n:=StrToInt(Edit4.Text);
Series2.Clear;
StringGrid2.RowCount:=n+1;
StringGrid2.Cells[0,0]:='t';
StringGrid2.Cells[1,0]:='p';
p1:=p;
i:=1;
repeat
f1:=fun2(p);
p:=p+f1;
p:=p1+(f1+fun2(p))/2;
StringGrid2.Cells[0,i]:=
StringGrid2.Cells[1,i]:=
Series2.AddXY(i,RoundTo(p,-3))
p1:=p;
i:=i+1;
until i>n
end;
procedure TForm2.BitBtn3Click(Sender: TObject);
begin
a:=StrToFloat(Edit8.Text);
b:=StrToFloat(Edit9.Text);
c:=StrToFloat(Edit10.Text);
p:=StrToFloat(Edit5.Text);
pp:=StrToFloat(Edit7.Text);
n:=StrToInt(Edit6.Text);
Series3.Clear;
StringGrid3.RowCount:=n+1;
StringGrid3.Cells[0,0]:='t';
StringGrid3.Cells[1,0]:='p';
p1:=p;
i:=1;
repeat
f1:=fun3(pp,p,a,b,c);
p:=p+f1;
p:=p1+(f1+fun3(pp,p,a,b,c))/2;
StringGrid3.Cells[0,i]:=
StringGrid3.Cells[1,i]:=
Series3.AddXY(i,RoundTo(p,-3))
p1:=p;
i:=i+1;
until i>n
end;
end.
В данной курсовой работе был разработан алгоритм решения задач развития популяций по модели Фюрхельста. Для решения дифференциальных уравнений использовался численный метод Эйлера.
В ходе курсового проектирования были изучены теоретические основы метода Эйлера и его модификации для решения дифференциальных уравнений. Рассмотрены основные характеристики используемых языков программирования – С и Pascal, а также проанализирована среда разработки приложений Delphi. На основе разработанного алгоритма решения задачи были разработаны 3 программы: на языке С, Pascal и в среде Delphi. Все программы протестированы на различных наборах данных и ошибок выявлено не было.
Информация о работе Технолгия разработки програмных продуктов