В программе задается массив, состоящий из 8 элементов. Затем переменным term и m присваиваются начальные значения (1 и 7 соответственно). В цикле нц для к от 2 до 8 если Dat[к] > m то m:= Dat[k] term := k все КЦ элементы массива (начиная со второго) сравниваются с переменной m: k=2 Dat[2]>m ⇒ 7>7 ⇒ нет k=3 Dat[3]>m ⇒ 6>7 ⇒ нет k=4 Dat[4]>m ⇒ 8>7 ⇒ да; m=Dat[4]=8; term=k=4 k=5 Dat[5]>m ⇒ 4>8 ⇒ нет k=6 Dat[6]>m ⇒ 5>8 ⇒ нет k=7 Dat[7]>m ⇒ 8>8 ⇒ нет k=8 Dat[8]>m ⇒ 7>8 ⇒ нет На экран будет выведено значение переменной term=4 Таким образом, в переменной m сохраняется значение максимального элемента массива, а в переменной term - номер первого максимального элемента.
Блок-схема - в прилагаемом файле. Программа: const n=20; var a:array[1..20] of integer; i,k2,k3,k4,k5:integer; begin Randomize; writeln('Оценки:'); for i:=1 to n do begin a[i]:=random(4)+2; write(a[i],' '); end; writeln; k2:=0;k3:=0;k4:=0;k5:=0; for i:=1 to n do case a[i] of 2: k2:=k2+1; 3: k3:=k3+1; 4: k4:=k4+1; 5: k5:=k5+1; end; writeln('Двоек: ',k2); writeln('Троек: ',k3); writeln('Четверок: ',k4); writeln('Пятёрок: ',k5); end.
Затем переменным term и m присваиваются начальные значения (1 и 7 соответственно).
В цикле
нц для к от 2 до 8
если Dat[к] > m то
m:= Dat[k]
term := k
все
КЦ
элементы массива (начиная со второго) сравниваются с переменной m:
k=2
Dat[2]>m ⇒ 7>7 ⇒ нет
k=3
Dat[3]>m ⇒ 6>7 ⇒ нет
k=4
Dat[4]>m ⇒ 8>7 ⇒ да; m=Dat[4]=8; term=k=4
k=5
Dat[5]>m ⇒ 4>8 ⇒ нет
k=6
Dat[6]>m ⇒ 5>8 ⇒ нет
k=7
Dat[7]>m ⇒ 8>8 ⇒ нет
k=8
Dat[8]>m ⇒ 7>8 ⇒ нет
На экран будет выведено значение переменной term=4
Таким образом, в переменной m сохраняется значение максимального элемента массива, а в переменной term - номер первого максимального элемента.