Ниже представлен записанный на разных языках программирования фрагмент одной и той же программы. В программе описан одномерный целочисленный массив A; в представленном фрагменте обрабатываются элементы массива с индексами от 1 до 10.
| Бейсик | Python |
|---|---|
n = 10 d = 6 FOR j = 1 TO d s = A(1) FOR i = 1 TO n-1 A(i) = A(i+1) NEXT i A(10) = s NEXT j
| n = 10 d = 6 for j in range(1,d+1): s = A[1] for i in range(1,n): A[i] = A[i+1] A[10] = s
|
| Паскаль | Алгоритмический язык |
n := 10; d := 6; for j:=1 to d do begin s := A[1]; for i:=1 to n-1 do begin A[i] := A[i+1]; end; A[10] := s; end;
| n := 10 d := 6 нц для j от 1 до d s := A[1] нц для i от 1 до n-1 A[i] := A[i+1] кц A[10]:= s кц |
| Си++ | |
n = 10; d = 6; for (j = 1; j <= d; j++) { s = A[1]; for (i = 1; i <= n-1; i++) { A[i] = A[i+1]; } A[10] = s; }
| |
Перед началом выполнения программы эти элементы массива имели значения 0, 1, 4, 9, 6, 5, 6, 8, 4, 1 (т. е. A[1] = 0; A[2] = 1; …; A[10] = 1).
Значение какого из этих элементов массива будет наибольшим после выполнения фрагмента программы? В ответе укажите индекс элемента – число от 1 до 10.
Примечание. В языках Python и C++ нулевой элемент массива может принимать любое значение, элементы массива с индексами от 1 до 10 объявлены так, как указано в условии.
Данный алгоритм сдвигает значения массива влево на один индекс 6 раз, при этом, первое значение массива идет в конец.
Изначальный порядок значений: 0, 1, 4, 9, 6, 5, 6, 8, 4, 1.
Первый шаг: 1, 4, 9, 6, 5, 6, 8, 4, 1, 0. Продолжаем далее.
Шестой шаг: 6, 8, 4, 1, 0, 1, 4, 9, 6, 5.
Таким образом, наибольшее значение стоит на 8 месте, у него индекс 8.
Ответ: 8.

