Текст подпрограммы и версий avz2r_p.zip avz2e_p.zip avz2c_p.zip |
Тексты тестовых примеров tavz2r_p.zip tavz2e_p.zip tavz2c_p.zip |
Нахождение максимальной по модулю компоненты и ее индекса из всего вектора или из заданного подмножества компонент этого вектора.
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