Пример 2.2.
Найти наибольший элемент числового массива
A = (a1,
a2 , ..., aN
) и его номер.
Тест
Данные
|
Результаты
|
N=4
|
A=(3, -1, 10, 1)
|
Amax=10
|
K=3
|
Демонстрация
Школьный АЯ
алг МаксЭлемент (арг цел N, арг вещ таб A[1:N],
рез вещ Amax, рез цел k)
нач цел i
Amax := A[1]; k := 1
нц для i от 2 до N
если A[i] > Amax
то Amax:=A[i]; k := i
все
кц
кон
Исполнение алгоритма
i
|
A[i] > Amax
|
Amax
|
k
|
2
3
4
|
-
+
-
|
3
10
|
1
3
|
|
Блок-схема
|
Turbo Pascal
Program MaxElem;
Uses Crt;
Type Mas = Array [1..20] of Real;
Var A : Mas;
i, N : Integer;
k : Integer;
Amax : Real;
BEGIN
СlrScr;
Write('Введите N = ');
ReadLn(N);
For i := 1 to N do {Ввод значений элементов массива А}
begin
Write('A [ ', i, ' ] = '); ReadLn(A[i])
end;
Amax := A[1]; k:=1; {Поиск максимального элемента}
For i := 2 to N do
If A[i] > Amax then
begin
Amax := A[i]; k := i
end;
WriteLn; WriteLn('Наибольший элемент' , k , '-й');
WriteLn('Его значение ', Amax : 5 : 1); ReadLn
END.
QBasic
CLS
INPUT "N = "; N : DIM A(N)
FOR i = 1 TO N ' Ввод массива А
PRINT "A("; i; ") = ";
INPUT A(i)
NEXT i
Amax = A(1) : k = 1 ' Поиск максимального элемента
FOR i = 2 TO N
IF A(i) > Amax THEN Amax = A(i) : k=i
NEXT i
PRINT "Наибольший элемент" ; k ; "-й"
PRINT "Его значение" ; Amax
END