📄 d10r8.txt
字号:
implementation
//PROGRAM D10R8
//Driver for routine FOURN
uses
unit2;
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
const
s1 = '%11.2f'; s2 = '###0'; NDIM = 3; NDAT = 1024;
var
NN:array[0..NDIM] of integer; DATA:array[0..NDAT] of real;
I,J,L,LL,K,ISIGN:integer;
F:TextFile;
begin
For I:=1 To NDIM do
NN[I]:=Trunc(2 * EXP(I *Ln(2)));
For I:= 1 To NN[3] do
begin
For J:=1 To NN[2] do
begin
For K:=1 To NN[1] do
begin
L:=K + (J - 1) * NN[1] + (I - 1) * NN[2] * NN[1];
LL:=2 * L - 1;
DATA[LL]:=LL;
DATA[LL + 1]:=LL + 1;
end;
end;
end;
ISIGN:=1;
FOURN(DATA, NN, NDIM, ISIGN);
ISIGN:=-1;
//Caculate directly
//输出计算结果到文件
AssignFile(F, 'd:\delphi_shu\p10\d10r8.dat');
Rewrite(F);
Writeln(F);
Writeln(F, 'Double 3-dimensional Transform');
Writeln(F);
Writeln(F, ' Double Trabsf. Original Data Ratio');
Writeln(F);
Writeln(F, ' Real Imag. Real Imag. Real Imag.');
FOURN(DATA, NN, NDIM, ISIGN);
For I:=1 To 4 do
begin
J:=2 * I;
K:=2 * J;
L:=K + (J - 1) * NN[1] + (I - 1) * NN[2] * NN[1];
LL:=2 * L - 1;
Writeln(F,Format(s1,[DATA[LL]]),Format(s1,[DATA[LL + 1]]),' ',
FormatFloat(s2,LL),' ',FormatFloat(s2,LL + 1),
Format(s1,[DATA[LL] / LL]),Format(s1,[DATA[LL + 1] / (LL + 1)]));
end;
Writeln(F);
Writeln(F, 'The product of transform lengths is: ',
FormatFloat(s2,NN[1] * NN[2] * NN[3]));
CloseFile(F);
//屏幕显示计算结果
memo1.Lines.LoadFromFile('d:\delphi_shu\p10\d10r8.dat');
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -