Приложение 3

ПРОЦЕДУРЫ И ФУНКЦИИ МОДУЛЯ MATCH


Тригонометрические подпрограммы
function ArcCos(X: Extended): Extended; Арккосинус
function ArcSin(X: Extended): Extended; Арксинус
function ArcTan2(Y, X: Extended): Ex tended; Вычисляет арктангенс Y/X и возвращает угол в правильном квадранте ( функция АгсТап модуля System не учитывает квадрант)
function Cotan(X: Extended): Extended; Котангенс
function Hypot (X, Y: Extended): Extended; Корень квадратный из (X** 2 + Y** 2)-гипотенуза прямоугольного треугольника по двум катетам
procedure SinCos (Theta: Extended; va: '"Sin, Cos: Extended); Возвращает одновременно синус и косинус угла Theta (почти в 2 раза быстрее, чем раздельное получение синуса и косинуса)
function Tan(X: Extended): Extended; Тангенс
Функции преобразования углов
function CycleToRad(Cycles: Extended) : Extended; Radians := Cycles * 2PI
function DegToRad(Degrees: Extended) Extended; Radians := Degrees * PI / 18
function GradToRad(Grads: Extended): Extended; Radians := Grads * PI / 200
function RadToDeg(Radians: Extended) Extended; Degrees := Radians * 180 / PI
function RadToGrad(Radians: Extended) : Extended; Grads := Radians * 200 / PI
function RadToCycle(Radians: Extended) : Extended; Cycles := Radians / 2PI
Гиперболические функции
function ArcCosh(X: Extended): Extended; Гиперболический арккосинус
function ArcSinh(X: Extended): Extended; Гиперболический арксинус
function ArcTanh(X: Extended): Extended; Гиперболический арктангенс
function Cosh(X: Extended): Extended; Гиперболический косинус
function Sinh(X: Extended): Extended; Гиперболический синус
function Tanh(X: Extended): Extended; Гиперболический тангенс
Логарифмические функции
Function LnXP1 (X: Extended) : Exteaded; Логарифм натуральный от (Х+1). Используется, когда Х близок к нулю
functios Extended): Extended; Десятичный логарифм
functior extended): Extended; Двоичный логарифм
function LogN(Base, X: Extended): Extended; Логарифм от X при основании Base
Экспоненциальные функции
function IntPower(Base: Extended; Expopient: Integer) : Extended; Возведение Base в целочисленную степень Exponent
function Power(Base, Exponent: Extended) : Extended; Возведение Base в вещественную степень Exponent
Подпрограммы разного назначения
function Ceil(X: Extended): Integer; Ближайшее меньшее целое
function Floor (X: Extended): Integer; Ближайшее большее целое
procedure Frexp(X: Extended; var Mantissa: Extended; var Exponent: Integer); Возвращает мантиссу и степень вещественного числа
function Ldexp(X: Extended; P: Integer) : Extended; Возвращает Х*Р*P
Статические программы
function Мах(А,В: Int64): Int64; overload;
function Мах (А, В: Integer): Integer; overloads; Возвращает максимальное из двух чисел
function Poly(X: Extended; const Coefficients: array of Double): Extended; Значение полинома A*X"+B*X" '+.. .+Z. Коэффициенты задаются в порядке возрастания степени
function Мах(А,В: Single): Single/overload;
function Max(А,В: Double): Double/overload;
function Max(А,В: Extended): Extended; overload;
function MaxIntValue(const Data: array of Integer): Integer; Возвращает максимальное из набора целых чисел
function MaxValue(const Data: array of Double): Double; Возвращает максимальное из Тнабора вещественных чисел
function Mean(const Data: array of Double): Extended;
Вычисляет арифметическое среднее для набора вещественных чисел
procedure MeanAndStdDev(const Data: array of Double; var Mean, StdDev: Extended) ; Вычисляет арифметическое среднее и стандартное отклонение для набора вещественных чисел
function Min(А/В: Integer): Integer/overload/function Min(А,В: Int64): Int64; overload; Возвращает минимальное из двух чисел
function Min(A,B: Single): Single/overload; function Min(A,B: Double): Double; overload/function Min(A,B: Extended): Extended; overload/
function MinIntValue(const Data: array of Integer): Integer; Возвращает минимальное из набора целых чисел
function MinValue(const Data: array of Double): Double; Возвращает минимальное из набора вещественных чисел
procedure MomentSkewKurtosis (const Data: array of Double; var Ml, M2, МЗ, М4, Skew, Kurtosis: Extended);
Вычисляет статистические моменты порядков с первого по четвертый, а также асимметрию Skew и эксцесс Kurtosis для набора чисел
function Norm(const Data: array of Double): Extended; Возвращает норму (квадратный корень из суммы квадратов) вещественных чисел
function PopnStdDev(const Data: array of Double): Extended; Выборочное стандартное отклонение. Отличается от обычного стандартного отклонения тем, что использует выборочное значение дисперсии (см.ниже PopnVariance)
function PopnVariance(const Data: array of Double): Extended; Выборочная дисперсия. Использует “смещенную” формулу TotalVariance/N (см. ниже TotalVariance)
function RandG(Mean, StdDev: Extended) : Extended; Генерирует нормально псевдораспределенную последовательность чисел с заданным средним значением Mean и стандартным отклонением StdDev
function StdDev(const Data: array of Double): Extended; Вычисляет среднеквадратическое отклонение для набора чисел
function Sum(const Data: array"orDouble): Extended register; Вычисляет сумму чисел
procedure SumsAndSquares(const Data: array of Double; Одновременное вычисление суммы и суммы квадратов для набора чисел
function Sumint(const Data: array of Integer): Integer register; Сумма наоора целых чисел
function SumOfSquares(const Data: array of Double): Extended; Сумма квадратов чисел
function TotalVariance(const Data: array of Double): Extended; Сумма квадратов расстояний всех величин от их среднего арифметического
function Variance(const Data: array of Double): Extended;
Выборочная дисперсия для набора чисел. Использует ^несмещенную” формулу TotalVariance/(N-1)
Финансовые функции
type TPaymentTime = (ptEndOfPeriod, ptStartOfPeriod) ;
Перечисляемый тип, используемый в финансовых функциях
function DoubleDecliningBalance (Cost, Salvage: Extended; Life, Period: Integer): Extended; Вычисление амортизации методом двойного баланса
function FutureValue(Rate: Extended; NPeriods: Integer; Payment, Pre-sentValue: Extended; PaymentTime: TPaymentTime): Extended; Будущее значение вложения
- function InterestPayment(Rate: Extended; Period, NPeriods: Integer; PresentValue, FutureValue: Extended; PaymentTime: TPaymentTime): Extended; Вычисление процентов по ссуде
function InterestRate(NPeriods: Integer; Payment, PresentValue, Future-Value: Extended; PaymentTime: TPaymentTime) : Extended; Норма прибыли, необходимая для получения заданной суммы
function InternalRateOfReturn (Guess: Extended} const CashFlows: array of Double): Extended; Вычисление внутренней скорости оборота вложения для ряда последовательных выплат
function NetPresentValue(Rate: Extended; const CashFlows: array of Double; PaymentTime: TPaymentTime): Extended; Вычисление чистой текущей стоимости вложения для ряда последовательных выплат с учетом процентной ставки
function NumberOfPeriods(Rate, Payment, PresentValue, FutureValue: Extended; PaymentTime: TPaymentTime): Extended/ Количество периодов, за которые вложение достигнет заданной величины
function Payment(Rate: Extended; NPeriods: Integer; PresentValue, Future-Value: Extended; PaymentTime: TPaymentTime) : Extended/ Размер периодической выплаты для погашения ссуды при заданном числе периодов, процентной ставке, а также текущем и будущем значениях ссуды
function PeriodPayment(Rate: Extended; Period, NPeriods: Integer; PresentValue, FutureValu'e: Extended; PaymentTime: TPaymentTime): Extended; Платежи по процентам за заданный период
function PresentValue(Rate: Extended; NPeriods: Integer; Payment, Future-Value: Extended; PaymentTime: TPaymentTime) : Extended; Текущее значение вложения
function SLNDepreciation (Cost, Salvage: Extended; Life: Integer): Extended; Вычисление амортизации методом постоянной нормы
function SYDDepreciation (Cost, Salvage: Extended; Life, Period: Integer) : Extended; Вычисление амортизации методом весовых коэффициентов
В отличие от функций табл. 7.5 перечисленные выше подпрограммы станут доступны программе только после ссылки на модуль Match в предложении Uses (подробнее об использовании модулей см. в главе 12).