Разбор задачи A8 (демо ЕГЭ 2008)
Бейсик | Паскаль | Алгоритмический | СИ |
---|---|---|---|
FOR n=1 TO 100 A(n)=(n-80)*(n-80) NEXT n FOR n=1 TO 100 B(101-n)=A(n) NEXT n |
for n:=1 to 100 do A[n]:= (n-80)*(n-80); for n:=1 to 100 do B[101-n]:=A[n]; |
нц для n от 1 до 100 A[n]:=(n-80)*(n-80) кц нц для n от 1 до 100 B[101-n]:=A[n] кц |
for (n=1;n<=100;n++) A[n]= (n-80)*(n-80); for (n=1;n<=100;n++) B[101-n]=A[n]; |
Какой элемент массива B будет наибольшим?
- B[1]
- B[21]
- B[80]
- B[100]
Сначала рассмотрим как заполняется массив A. Количество элементов в массиве равно 100, поэтому рассматривать все элементы бессмысленно. Рассмотрим пограничные элементы и элемент с нулевым значением:
A[1]=(1-80)*(1-80)=(-79)2=792
A[80]=0
A[100]=(100-80)*(100-80)=202
Получаем, что наибольший элемент Amax - это A[1]=792.
Рассмотрим массив B. Его элементы имеют значение: B[101-n]=A[n]. Поэтому наибольший элемент массива B равен наибольшему элементу массива A.
Bmax=Amax=792.
n=1, т.к. Amax=A[1].
Найдем позицию Bmax: 101-n=101-1=100 => Bmax=B[100].