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

📄 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;

implementation
//PROGRAM D2R4
//Driver for routine SPLINT, which calls SPLINE
uses
  unit2;
  {$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
  XA,YA,Y2:array[0..10] of real;
  X,Y,FF,YP1,YPN:real;
  F:TextFile;  I,NFUNC:Integer;
const
  NP=10; PI=3.1415926; s1='%12.6f'; s2='0.0000E+00';
begin
  //输出计算结果到文件
  AssignFile(F, 'd:\delphi_shu\p2\d2r4.dat');
  Rewrite(F);
  For NFUNC:=1 To 2 do
  begin
      If NFUNC = 1 Then
      begin
          Writeln(F,'Sine function from 0 to PI');
          For I:=1 To NP do
          begin
              XA[I]:=I * PI / NP;
              YA[I]:=Sin(XA[I]);
          end;
          YP1:= COS(XA[1]);
          YPN:= COS(XA[NP]);
      end
      else
      begin
          Writeln(F,'****************************************');
          Writeln(F,'Exponential function from 0 to 1');
          For I:=1 To NP do
          begin
              XA[I]:=I / NP;
              YA[I]:=Exp(XA[I]);
          end;
          YP1:= EXP(XA[1]);
          YPN:= EXP(XA[NP]);
      end;
      SPLINE(XA,YA,NP,YP1,YPN,Y2);
      Writeln(F,'       x          f(x)    interpolated');
      For I:=1 To 10 do
      begin
          If NFUNC = 1 Then
          begin
              X:=(-0.05 + I / 10) * PI;
              FF:=Sin(X);
          end
          else
          begin
              X:=(-0.05 + I / 10);
              FF:=Exp(X);
          end;
          SPLINT(XA, YA, Y2, NP, X, Y);
          Writeln(F,Format(s1,[X]),Format(s1,[FF]),Format(s1,[Y]));
      end;
  end;
  Writeln(F,'****************************************');
  CloseFile(F);
  //屏幕显示计算结果
  memo1.ScrollBars:=ssVertical;
  memo1.Lines.LoadFromFile('d:\delphi_shu\p2\d2r4.dat');
end;
end.

⌨️ 快捷键说明

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