unit Unit1;{$mode objfpc}{$H+}interfaceuses 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);beginend;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 Dobegin 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 Dobegin 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 Dobegin 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 Dobegin 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*Yend;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 Dobegin 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*Yend;LabelY_X.Caption:=FloatToStr(X);end;procedure TForm1.EditAChange(Sender: TObject);beginend;end.