Приложение 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).