1 ответ
Даниил Пиковер
unit Unit1;
mode objfpcH+
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
ExtCtrls;
type
TForm1
TForm1 = class(TForm)
Button1: TButton;
EditA: TEdit;
EditB: TEdit;
EditC: TEdit;
EditD: TEdit;
EditF: TEdit;
EditG: TEdit;
EditX: TEdit;
EditY: TEdit;
EditN: TEdit;
Image1: TImage;
Label1: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
LabelOR: TLabel;
Label2: TLabel;
LabelNR: TLabel;
LabelORO: TLabel;
LabelX_Y: TLabel;
LabelY_X: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
procedure Button1Click(Sender: TObject);
procedure EditAChange(Sender: TObject);
procedure Label4Click(Sender: TObject);
private
private declarations
public
public declarations
end;
var
A: real; // коэффициент роста популяции
B: real; // коэффициент убавленья популяции
C: real; // коэффициент отлова
D: real; // коэффициент убавленья численности хищников в неименье жертв
G: real; // коэффициент увеличения численности хищников при наличии жертв
F: real; // коэффициент убавленья численности жертв при наличии хищников
X: real; // первоначальное количество жертв
Y: real; // первоначальное количество хищников
N: integer; // количество циклов(лет)
I: integer; // счётчик цикла
Form1: TForm1;
implementation
R *.lfm
TForm1
procedure TForm1.Label4Click(Sender: TObject);
begin
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
//Ввод данных
A:=StrToFloat(EditA.Text);
B:=StrToFloat(EditB.Text);
C:=StrToFloat(EditC.Text);
D:=StrToFloat(EditD.Text);
G:=StrToFloat(EditG.Text);
F:=StrToFloat(EditF.Text);
X:=StrToFloat(EditX.Text);
Y:=StrToFloat(EditY.Text);
N:=StrToInt(EditN.Text);
//Установка ширины полосы рисования
Image1.Canvas.Pen.Width:=3;
brush.style:= bsSolid; // Присваиваем кисти тип заливки - "полная"
brush.color:= clWhite; //делаем цвет холста белоснежным
//Безграничный рост
X:=StrToFloat(EditX.Text);
Image1.Canvas.MoveTo(0,250);
Image1.Canvas.Pen.Color:=clDkGray;
For I:=1 to N Do
begin
Image1.Canvas.LineTo(25*I-25, 250-Round(25*X)+25);
X:=A*X;
end;
LabelNR.Caption:=FloatToStr(X);
//Ограниченный рост
X:=StrToFloat(EditX.Text);
Image1.Canvas.MoveTo(0,250);
Image1.Canvas.Pen.Color:=clYellow;
For I:=1 to N Do
begin
Image1.Canvas.LineTo(25*I-25, 250-Round(25*X)+25);
X:=(A-B*X)*X;
end;
LabelOR.Caption:=FloatToStr(X);
//Ограниченный рост с отловом
X:=StrToFloat(EditX.Text);
Image1.Canvas.MoveTo(0,250);
Image1.Canvas.Pen.Color:=clBlue;
For I:=1 to N Do
begin
Image1.Canvas.LineTo(25*I-25, 250-Round(25*X)+25);
X:=(A-B*X)*X-C;
LabelORO.Caption:=FloatToStr(X);
end;
LabelORO.Caption:=FloatToStr(X);
//Жертвы
X:=StrToFloat(EditX.Text);
Y:=StrToFloat(EditY.Text);
Image1.Canvas.MoveTo(0,250);
Image1.Canvas.Pen.Color:=clGreen;
For I:=1 to N Do
begin
Image1.Canvas.LineTo(25*I-25, 250-Round(25*X)+25);
X:=(A-B*X)*X-C-F*X*Y;
Y:=D*Y+G*X*Y
end;
LabelX_Y.Caption:=FloatToStr(X);
//Хищники
X:=StrToFloat(EditX.Text);
Y:=StrToFloat(EditY.Text);
Image1.Canvas.MoveTo(0,250);
Image1.Canvas.Pen.Color:=clRed;
For I:=1 to N Do
begin
Image1.Canvas.LineTo(25*I-25, 250-Round(25*X)+25);
X:=(A-B*X)*X-C-F*X*Y;
Y:=D*Y+G*X*Y
end;
LabelY_X.Caption:=FloatToStr(X);
end;
procedure TForm1.EditAChange(Sender: TObject);
begin
end;
end.
mode objfpcH+
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
ExtCtrls;
type
TForm1
TForm1 = class(TForm)
Button1: TButton;
EditA: TEdit;
EditB: TEdit;
EditC: TEdit;
EditD: TEdit;
EditF: TEdit;
EditG: TEdit;
EditX: TEdit;
EditY: TEdit;
EditN: TEdit;
Image1: TImage;
Label1: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
LabelOR: TLabel;
Label2: TLabel;
LabelNR: TLabel;
LabelORO: TLabel;
LabelX_Y: TLabel;
LabelY_X: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
procedure Button1Click(Sender: TObject);
procedure EditAChange(Sender: TObject);
procedure Label4Click(Sender: TObject);
private
private declarations
public
public declarations
end;
var
A: real; // коэффициент роста популяции
B: real; // коэффициент убавленья популяции
C: real; // коэффициент отлова
D: real; // коэффициент убавленья численности хищников в неименье жертв
G: real; // коэффициент увеличения численности хищников при наличии жертв
F: real; // коэффициент убавленья численности жертв при наличии хищников
X: real; // первоначальное количество жертв
Y: real; // первоначальное количество хищников
N: integer; // количество циклов(лет)
I: integer; // счётчик цикла
Form1: TForm1;
implementation
R *.lfm
TForm1
procedure TForm1.Label4Click(Sender: TObject);
begin
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
//Ввод данных
A:=StrToFloat(EditA.Text);
B:=StrToFloat(EditB.Text);
C:=StrToFloat(EditC.Text);
D:=StrToFloat(EditD.Text);
G:=StrToFloat(EditG.Text);
F:=StrToFloat(EditF.Text);
X:=StrToFloat(EditX.Text);
Y:=StrToFloat(EditY.Text);
N:=StrToInt(EditN.Text);
//Установка ширины полосы рисования
Image1.Canvas.Pen.Width:=3;
brush.style:= bsSolid; // Присваиваем кисти тип заливки - "полная"
brush.color:= clWhite; //делаем цвет холста белоснежным
//Безграничный рост
X:=StrToFloat(EditX.Text);
Image1.Canvas.MoveTo(0,250);
Image1.Canvas.Pen.Color:=clDkGray;
For I:=1 to N Do
begin
Image1.Canvas.LineTo(25*I-25, 250-Round(25*X)+25);
X:=A*X;
end;
LabelNR.Caption:=FloatToStr(X);
//Ограниченный рост
X:=StrToFloat(EditX.Text);
Image1.Canvas.MoveTo(0,250);
Image1.Canvas.Pen.Color:=clYellow;
For I:=1 to N Do
begin
Image1.Canvas.LineTo(25*I-25, 250-Round(25*X)+25);
X:=(A-B*X)*X;
end;
LabelOR.Caption:=FloatToStr(X);
//Ограниченный рост с отловом
X:=StrToFloat(EditX.Text);
Image1.Canvas.MoveTo(0,250);
Image1.Canvas.Pen.Color:=clBlue;
For I:=1 to N Do
begin
Image1.Canvas.LineTo(25*I-25, 250-Round(25*X)+25);
X:=(A-B*X)*X-C;
LabelORO.Caption:=FloatToStr(X);
end;
LabelORO.Caption:=FloatToStr(X);
//Жертвы
X:=StrToFloat(EditX.Text);
Y:=StrToFloat(EditY.Text);
Image1.Canvas.MoveTo(0,250);
Image1.Canvas.Pen.Color:=clGreen;
For I:=1 to N Do
begin
Image1.Canvas.LineTo(25*I-25, 250-Round(25*X)+25);
X:=(A-B*X)*X-C-F*X*Y;
Y:=D*Y+G*X*Y
end;
LabelX_Y.Caption:=FloatToStr(X);
//Хищники
X:=StrToFloat(EditX.Text);
Y:=StrToFloat(EditY.Text);
Image1.Canvas.MoveTo(0,250);
Image1.Canvas.Pen.Color:=clRed;
For I:=1 to N Do
begin
Image1.Canvas.LineTo(25*I-25, 250-Round(25*X)+25);
X:=(A-B*X)*X-C-F*X*Y;
Y:=D*Y+G*X*Y
end;
LabelY_X.Caption:=FloatToStr(X);
end;
procedure TForm1.EditAChange(Sender: TObject);
begin
end;
end.
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов