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

📄 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;
type
  matrx2 = array of array of real;
var
  Form1: TForm1;

implementation
//PROGRAM D8R10
//Driver for routine LAGUER
uses
  unit2;
  {$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
const
  s1='%12.6f';  s2='##';
  M = 4; MP1 = M+1; NTRY = 21; EPS = 0.000001;
var
  F:TextFile;
  A,Y:matrx2;    X:array[0..2] of real;
  I,J,N,IFLAG:integer;   AAA,BBB:real;
  POLISH:boolean;
begin
  SetLength(A,3,6);
  SetLength(y,3,22);
  For J:= 1 To MP1 do
    For I:= 1 To 2 do
      A[I, J]:=0;
  A[2, 1]:=2;
  A[1, 3]:=-1;
  A[2, 3]:=-2;
  A[1, 5]:=1;
  //输出计算结果到文件
  AssignFile(F, 'd:\delphi_shu\p8\d8r10.dat');
  Rewrite(F);
  Writeln(F, 'Roots of polynomial x^4-(1+2i)*x^2+2i');
  Writeln(F);
  Writeln(F, '          Real       Complex');
  N:=0;
  POLISH:=false;
  For I:=1 To NTRY do
  begin
    X[1]:=(I - 11) / 10;
    X[2]:=(I - 11) / 10;
    LAGUER(A, M, X, EPS, POLISH);
    If N = 0 Then
    begin
      N:=1;
      Y[1, 1]:=X[1];
      Y[2, 1]:=X[2];
      Writeln(F, FormatFloat(s2,N),'   ', Format(s1,[X[1]]),
                 Format(s1,[X[2]]));
    end
    Else
    begin
      IFLAG:=0;
      For J:=1 To N do
      begin
        AAA:=CABS(X[1] - Y[1, J], X[2] - Y[2, J]);
        BBB:=EPS * CABS(X[1], X[2]);
        If AAA <= BBB Then IFLAG:=1;
      end;
      If IFLAG = 0 Then
      begin
        N:=N + 1;
        Y[1, N]:=X[1];
        Y[2, N]:=X[2];
        Writeln(F, FormatFloat(s2,N),'   ', Format(s1,[X[1]]),
                 Format(s1,[X[2]]));
      end;
    end;
  end;
  CloseFile(F);
  //屏幕显示计算结果
  memo1.Lines.LoadFromFile('d:\delphi_shu\p8\d8r10.dat');
end;

end.

⌨️ 快捷键说明

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