Вторая пачка часть 145


14), (5.18) для 0 < x <1 (погрешность |?2| <3?10-8) и (5.15), (5.19) для x ? 1 (погрешность ? < 8?10-7) р嬬ализовано в при¬ве¬ден¬ной процедуре-функции SCI. Формальные параметры процедуры. Входные: x (тип re¬al) - значение аргумента (x > 0); k (тип integer) - пе¬ре¬клю¬¬чатель: при вычисляется Si(x), при k = 2 - Ci(x). Выходной параметр: идентификатор функции sci (тип do¬u¬ble) - вычисленное значение функции. FUNCTION SCI ( X : DOUBLE; K : INTEGER) : DOUBLE; VAR SC, S, C : DOUBLE; BEGIN X1:=X; X:=X X; IF X >= 1 THEN BEGIN SCI:=1/X1; SCI:=SCI*((((X/100+0.38027264)*X+2.65187033)*X +3.3567732)*X +0.38102495)/((((X/100+0.40021433)*X+ 3.22624911)*X+5.7023628)*X+1.57105423); S:=SIN(X1); C:=COS(X1); IF K=2 THEN BEGIN SCI:=SCI*S; SC:=C; END ELSE BEGIN SCI:=1.570796326-SCI*C; SC:=S; END; SCI:=SCI-SC/X*((((X/100+0.42242855)*X+ 3.02757865)*X+3.52018498)*X +0.21821899)/((((X/100+0.48196927)*X +4.82485984)*X+11.14978885)*X+4.49690326); END ELSE IF K=2 THEN BEGIN SCI:=0.577215664+LN(X1); SCI:=SCI+(((X/322560-2.3148148E-4)*X +0.010416666667)*X-0.25)*X; END; ELSE BEGIN SCI:=X1; SCI:=SCI*((((X/3265920-2.834467E- 5)*X+ 1.66666666E-3)*X-0.0555555556)*X+1) END END { ***** SCI **** }. Процедура-функция SCI была получена путем су¬ще¬ст¬¬вен¬ной переработки и перевода вначале на язык FORT¬RAN [Белашов, 1997], а затем на язык PASCAL Бе鬬сик-про¬грамм вычисления интегральных синуса и кси¬ну¬са, опуб¬ли¬кованных в работе Гринчишина и др. (1988), и в целях конт¬роля протестирована для тех же зна¬че¬ний аргумента. В результате было получено (по¬греш¬¬ность указана по от¬но¬шению к табличным зна¬че¬ни¬ям [Cпра¬вочник ..., 1979]) Si(0.5) = 0.493107418 + 0.0e-9; Si(10) = 1.65834785 - 2.6e-7; Ci(0.5) =-0.177784079+2.0e-10; Ci(10)=-0.045456288-1.5e-7, что также с достаточной точностью совпадает с ре¬зуль¬та¬тами, полученными в работе Гринчишина и др
Индекс
Элементарные функции    Линейные уравнения    Нелинейные уравнения    Случайные числа


Hosted by uCoz