Var k, m, n: integer; Dat: array[1..10] of integer; Begin Dat[1] := 7; Dat[2] := 9;...

0 голосов
157 просмотров

Var k, m, n: integer;
Dat: array[1..10] of integer;
Begin
Dat[1] := 7; Dat[2] := 9;
Dat[3] := 10; Dat[4] := 5;
Dat[5] := 6; Dat[6] := 7;
Dat[7] := 9; Dat[8] := 10;
Dat[9] := 6; Dat[10] := 9;
m := 0; n := 0;
for k := 1 to 10 do
if Dat[k] >= m then
begin
m := Dat[k]; n := k
end;
writeln(n)
End.
Помогите решить с пояснением


Информатика (87 баллов) | 157 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

В операторах Dat[1] := 7; ... ; Dat[10] := 9; задаются элементы массива.
m := 0; n := 0; - начальные значения переменных m и n.
В цикле 
for k := 1 to 10 do ... каждый элемент массива сравнивается с текущим значением переменной m (Dat[k] >= m). Если элемент больше, то значения переменных m и n меняются: в переменной m запоминается значение элемента массива, в переменной n - значение номера (индекс) этого элемента. Таким образом, после выполнения цикла значения переменных будут: m=10; n=8. На экран будет выведено значение 8 (это номер последнего максимального элемента массива).
Ответ: 8

(194k баллов)