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

📄 bessj.txt

📁 用于开发税务票据管理的软件
💻 TXT
字号:
Function BESSJ(N:Integer; X:Real):Real;
var
    BJ,BJM,BJP,SUM,TOX,ANS:Real; J,JSUM,M:Integer;
const
    IACC = 40;    BIGNO = 1.0e10;
    BIGNI = 1.0e-10;
begin
    If N < 2 Then
        ShowMessage('bad argument N in BASSJ');
    TOX:=2 / X;
    if x > 1.0*N then
    begin
        BJM:=BESSJ0(X);
        BJ:=BESSJ1(X);
        For J:=1 To N - 1 do
        begin
            BJP:=J * TOX * BJ - BJM;
            BJM:=BJ;
            BJ:=BJP;
        end;
        ANS:=BJ
    end
    Else
    begin
        M:=2 * ((N + Trunc(Sqrt(IACC * N))) div 2);
        ANS:=0.0;
        JSUM:=0;
        Sum:=0;
        BJP:=0;
        BJ:=1;
        For J:=M DownTo 1 do
        begin
            BJM:=J * TOX * BJ - BJP;
            BJP:=BJ;
            BJ:=BJM;
            If Abs(BJ) > BIGNO Then
            begin
                BJ:=BJ * BIGNI;
                BJP:=BJP * BIGNI;
                ANS:=ANS * BIGNI;
                Sum:=Sum * BIGNI;
            end;
            If JSUM <> 0 Then Sum:=Sum + BJ;
            JSUM:=1 - JSUM;
            If J=N Then ANS:=BJP;
        end;
        Sum:=2 * Sum - BJ;
        ans:=ans / Sum
    end;
    BESSJ:=ans;
end;

⌨️ 快捷键说明

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