unit
Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, ComCtrls, StdCtrls, ExtCtrls, TeEngine, TeeFunci, Series,
TeeProcs, Chart, XPMan;
type
TForm1 =
class
(TForm)
Panel1: TPanel;
Label1: TLabel;
Image1: TImage;
Panel2: TPanel;
Panel3: TPanel;
Button1: TButton;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
Label4: TLabel;
Button2: TButton;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
StringGrid1: TStringGrid;
Label5: TLabel;
Edit4: TEdit;
Chart1: TChart;
Series1: TLineSeries;
TeeFunction1: TAddTeeFunction;
Series2: TLineSeries;
XPManifest1: TXPManifest;
procedure
Button1Click(Sender: TObject);
procedure
Button2Click(Sender: TObject);
procedure
Edit1KeyPress(Sender: TObject;
var
Key:
Char
);
private
public
end
;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure
TForm1
.
Button1Click(Sender: TObject);
begin
close;
end
;
procedure
TForm1
.
Button2Click(Sender: TObject);
var
a,y,dx,Xn,Xk,x:
Extended
;
trow:
integer
;
begin
dx:=
00
;
if
trystrtofloat(edit1
.
text,xn)
and
trystrtofloat(edit2
.
text,xk)
and
trystrtofloat(edit3
.
text,dx)
and
(dx>
0
)
and
trystrtofloat(edit4
.
text,a)
then
begin
x:=xn;
form1
.
StringGrid1
.
Cells[
0
,
0
]:=
'Значения X'
;
form1
.
StringGrid1
.
Cells[
1
,
0
]:=
'Значения Y'
;
form1
.
StringGrid1
.
RowCount:=round((xk-xn)/dx)+
1
;
form1
.
Series1
.
Clear;
form1
.
Series2
.
Clear;
trow:=
1
;
while
x<Xk
do
begin
x:=x+dx;
if
x<=
0
then
begin
Y:=exp(x+a);
form1
.
Series1
.
Addxy(x,y);
end
else
begin
Y:=ln(x*a);
form1
.
Series2
.
Addxy(x,y);
end
;
form1
.
StringGrid1
.
cells[
0
,trow]:=formatfloat(
'0.0000000000000'
,x);
form1
.
StringGrid1
.
cells[
1
,trow]:=formatfloat(
'0.0000000000000'
,y);
trow:=trow+
1
;
end
;
end
;
end
;
procedure
TForm1
.
Edit1KeyPress(Sender: TObject;
var
Key:
Char
);
begin
if
((key>
'0'
)
and
(key<
'9'
))
or
(key=#
8
)
or
(key=
','
)
or
(key=
'-'
)
then
else
key:=#
0
;
end
;
end
.