Текст подпрограммы и версий avz1r_p.zip avz1e_p.zip avz1c_p.zip |
Тексты тестовых примеров tavz1r_p.zip tavz1e_p.zip tavz1c_p.zip |
Вычисление суммы абсолютных значений компонент вектора или заданного подмножества компонент этого вектора.
Для заданного вектора 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.