|
Текст подпрограммы и версий sf30r_p.zip , sf30e_p.zip |
Тексты тестовых примеров tsf30r_p.zip , tsf30e_p.zip |
Вычисление значений интегрального синуса.
Функция SF30R вычисляет значения интегрального синуса
x
Si (x) = ∫ sin t / t dt
0
для вещественных значений аргумента x.
J.F.Hart, E.W.Cheney, C.L.Lawson, Computer Approximations, Wiley, New York, 1968.
function SF30R(X :Real): Real;
Параметры
| X - | заданное значение аргумента x (тип: вещественный). |
Версии
| SF30E - | вычисление значений интегрального синуса c расширенной (Extended) точностью. |
Вызываемые подпрограммы: нет
Замечания по использованию
| Для функции SF30E параметр X имеет тип Extended. |
Unit tsf30r_p;
interface
uses
SysUtils, Math, { Delphi }
Lstruct, Lfunc, UtRes_p, SF30R_p;
function tsf30r: String;
implementation
function tsf30r: String;
var
X,Y :Real;
begin
Result := ''; { результат функции }
X := 3.14159265359;
Y := SF30R(X);
Result := Result + Format('%s',[' X=']);
Result := Result + Format('%20.16f ',[X]);
Result := Result + Format('%s',[' SF30R=']);
Result := Result + Format('%20.16f ',[Y]) + #$0D#$0A;
UtRes('tsf30r',Result); { вывод результатов в файл tsf30r.res }
exit;
end;
end.
Результат:
Y = 1.851937052001