📄 d5r2.txt
字号:
implementation
//PROGRAM D5R2
//Driver for routine DDPOLY
uses
unit2;
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
F:TextFile; I,J:Integer;
X,AAA:real;
A:array[0..5] of string; C,PD:array[0..6] of real;
D:matrx2;
const
s1='%14.6f';
NC = 6; NCM1 = 5; NP = 20;
begin
Setlength(D,6,21);
A[1]:='polynomial:'; A[2]:='first deriv:';
A[3]:='second deriv:'; A[4]:='third deriv:';
A[5]:='fourth deriv:';
C[1]:=-1; C[2]:=5;
C[3]:=-10; C[4]:=10;
C[5]:=-5; C[6]:=1;
For I:=1 To NP do
begin
X:=0.1 * I;
DDPOLY(C, NC, X, PD, NC - 1);
For J:=1 To NC - 1 do
D[J, I]:=PD[J];
end;
//输出计算结果到文件
AssignFile(F, 'd:\delphi_shu\p5\d5r2.dat');
Rewrite(F);
For I:=1 To NC - 1 do
begin
Writeln(F,A[I]);
Writeln(F, ' X DDPOLY ACTUAL');
For J:=1 To NP do
begin
X:=0.1 * J;
if X-1 > 0 THEN
AAA:=FACTRL(NC - 1) / FACTRL(NC - I) * Exp((NC - I)*Ln(X - 1))
else if X-1 = 0 then
AAA:=0
else if Odd(NC -I) = True then
AAA:=FACTRL(NC - 1) / FACTRL(NC - I) *(-Exp((NC - I)*Ln(1 - X)))
else if Odd(NC -I) = False then
AAA:=FACTRL(NC - 1) / FACTRL(NC - I) *(Exp((NC - I)*Ln(1 - X)));
Writeln(F,Format(s1,[x]),Format(s1,[D[I, J]]),Format(s1,[AAA]));
end;
end;
CloseFile(F);
//屏幕显示计算结果
memo1.Lines.LoadFromFile('d:\delphi_shu\p5\d5r2.dat');
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -