⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.pas

📁 《Delphi常用数值算法集》的配书源码
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  ISET:^integer; GSET:^real;
implementation
//PROGRAM D11R6A
//Driver for routine TUTEST
uses
  unit2;
  {$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
const
  s1='%9.2f'; NPTS = 5000; MPTS = 1000; NSHFT = 10;  EPS = 0.02;
  VAR1 =1.0;  VAR2 = 4.0;
var
  F:TextFile;   
  DATA1:array[0..NPTS] of real;  DATA2:array[0..MPTS] of real;
  I,J:integer;   FCTR1,FCTR2,T,PROB,SHIFT:real;
begin
  New(ISET); New(GSET);
  Randomize;
  //Generate Gaussian distributed data
  //输出计算结果到文件
  AssignFile(F, 'd:\delphi_shu\p11\d11r6A.dat');
  Rewrite(F);
  //Generate two Gaussian distributions of different variance
  FCTR1:=Sqrt(VAR1);
  For I:=1 To NPTS do
    DATA1[I]:=FCTR1 * GASDEV;
  FCTR2:=Sqrt(VAR2);
  For I:=1 To MPTS do
    DATA2[I]:=(NSHFT / 2) * EPS + FCTR2 * GASDEV;
  Writeln(F,'Distribution #1: variance:= ', Format('%4.2f',[VAR1]));
  Writeln(F,'Distribution #2: variance:= ', Format('%4.2f',[VAR2]));
  Writeln(F);
  Writeln(F,'     Shift     T     Probability');
  For I:=1 To NSHFT + 1 do
  begin
    TUTEST(DATA1, NPTS, DATA2, MPTS, T, PROB);
    SHIFT:=(I - 1) * EPS;
    Writeln(F,Format(s1,[SHIFT]),Format(s1,[T]),Format(s1,[PROB]));
    For J:=1 To NPTS do
      DATA1[J]:=DATA1[J] + EPS;
  end;
  CloseFile(F);
  //屏幕显示计算结果
  memo1.Lines.LoadFromFile('d:\delphi_shu\p11\d11r6A.dat');
end;
end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -