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

📄 unitmain.pas

📁 数值积分的一个简单的小程序,对DELPHI初学者非常有意!
💻 PAS
字号:
unit UnitMain;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Memo1: TMemo;
    Memo2: TMemo;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    //procedure Button2Click(Sender: TObject);

    procedure FormCreate(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
f:textfile; i,j,k,s,n:integer;t:real;
A:array [1..10,1..10] of real;
X:array [1..10] of real;

begin
  Memo1.Lines.SaveToFile('data.txt');
  assignfile(f,'data.txt');
  reset(f);
  readLn(f,n); //read(f,n);
  for i:=1 to n do
begin
  for j:=1 to n do read(f,A[i,j]);
  readLn(f,x[i]);
  end;
  closeFile(f);
  for k:=1 to n-1 do
  begin
  //选主元
  s:=k;
  for i:=k+1 to n do
  if abs(A[i,k])>abs(A[s,k]) then s:=1;
  // A[k,k],A[k+1,k],...,A[n,k]
  for j:=k to n do
  begin
  t:=A[s,j];A[s,j]:=A[k,j];A[k,j]:=t;
  end;
  t:=x[k];x[k]:=x[s];x[s]:=t;
  for i:=k+1 to n do
begin
t:=A[i,k]/A[k,k];
end;
for j:=k to n do
A[i,j]:=A[i,j]-t*A[k,j];
x[i]:=x[i]-t*x[k];
end;
//回代
x[n]:=x[n]/A[n,n];
for i:=n-1 downto 1 do
begin
for j:=i+1 to n do
X[i]:=X[i]-A[i,j]*X[j];
X[i]:=X[i]/A[k,k];
end;
assignfile(f,'result.txt');
rewrite(f); //append
for i:=1 to n do
writeLn(f,'X[',i,']=',X[i]:0:4);
writeLn(f);
closeFile(f);
memo2.Lines.LoadFromFile('result.txt');
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
//Memo1.Lines.LoadFromFile('data.txt');
Button1.Enabled:=false;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
memo1.Lines.LoadFromFile('data.txt');
button1.Enabled:=true;
end;
end.


⌨️ 快捷键说明

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