Текст подпрограммы и версий
avz1r_p.zip  avz1e_p.zip  avz1c_p.zip 
Тексты тестовых примеров
tavz1r_p.zip  tavz1e_p.zip  tavz1c_p.zip 

Функция:  AVZ1R (модуль AVZ1R_p)

Назначение

Вычисление суммы абсолютных значений компонент вектора или заданного подмножества компонент этого вектора.

Математическое описание

Для заданного вектора  V длины  N вычисляется сумма абсолютных значений всех его компонент. Кроме того, может быть вычислена сумма абсолютных значений тех его компонент, индексы которых последовательно отстают друг от друга на величину ISТЕР.

Использование

function AVZ1R(var V :Array of Real; N :Integer;
                ISTEP :Integer): Real;

Параметры

V - вещественный одномерный массив длины  N, в котором задаются компоненты вектора;
N - число компонент вектора (тип: целый);
ISTEP - заданный шаг изменения индексов тех компонент, сумма абсолютных значений которых вычисляется (тип: целый).

Версии

AVZ1E - вычисление суммы абсолютных значений компонент вектора, заданного с расширенной (Extended) точностью, или заданного подмножества компонент этого вектора.
AVZ1C - вычисление суммы абсолютных значений компонент комплексного вектора или заданного подмножества компонент этого вектора.

Вызываемые подпрограммы: нет

Замечания по использованию

 

В функции АVZ1E вектор  V должен иметь тип Extended.

В функции АVZ1С вектор  V должен иметь тип Complex.

Пример использования

Unit TAVZ1R_p;
interface
uses
SysUtils, Math, { Delphi }
LStruct, Lfunc, UtRes_p, AVZ1R_p;

function TAVZ1R: String;

implementation

function TAVZ1R: String;
var
N,ISТЕР :Integer;
Y,Y1 :Real;
const
V :Array [0..9] of Real = ( 1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0,10.0 );
begin
Result := '';
N := 10;
ISТЕР := 1;
Y := AVZ1R(V,N,ISTEP);
N := 5;
ISТЕР := 2;
Y1 := AVZ1R(V[1],N,ISTEP);
Result := Result + Format(' %20.16f  %20.16f ',[Y,Y1]) + #$0D#$0A;
UtRes('TAVZ1R',Result);  { вывод результатов в файл TAVZ1R.res }
exit;
end;

end.

Результат:    Y = 55.