Текст подпрограммы и версий
avz2r_p.zip  avz2e_p.zip  avz2c_p.zip 
Тексты тестовых примеров
tavz2r_p.zip  tavz2e_p.zip  tavz2c_p.zip 

Функция:  AVZ2R (модуль AVZ2R_p)

Назначение

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

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

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

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

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

Параметры

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

Версии

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

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

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

 

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

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

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

Unit TAVZ2R_p;
interface
uses
SysUtils, Math, { Delphi }
LStruct, Lfunc, UtRes_p, AVZ2R_p;

function TAVZ2R: String;

implementation

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

end.

Результаты:   Y = 5. ,   J = 5