В программе описан одномерный целочисленный массив с индексами от 0 до 10. Ниже представлен записанный на разных языках программирования фрагмент одной и той же программы, обрабатывающей данный массив.
| Бейсик | Python |
|---|---|
s = 29 n = 10 FOR i = 0 TO n-1 s = s+A(i)-A(i+1) NEXT i
| s = 29 n = 10 for i in range(0,n): s = s + A[i] - A[i+1]
|
| Паскаль | Алгоритмический язык |
s:=29; n:=10; for i:=0 to n-1 do begin s:=s+A[i]-A[i+1] end;
| s:=29 n:=10 нц для i от 0 до n-1 s:=s+A[i]-A[i+1] кц |
| Си++ | |
s = 29; n=10; for (i = 0; i <= n-1; i++) s=s+A[i]-A[i+1];
| |
Известно, что в начале выполнения этого фрагмента в массиве находилась возрастающая последовательность чисел, то есть A[0] < A[1] <…< A[10]. Какое наибольшее значение может иметь переменная s после выполнения данной программы?
В переменной s суммируются разности элементов, идущих друг за другом. Для того, чтобы s была наибольшей после выполнения программы, необходимо, чтобы разность элементов была наименьшей. Поскольку массив целочисленный, наименьшая разность равна −1. Алгоритм обрабатывает первые десять элементов массива, следовательно, наибольшее значение, которое может иметь переменная s после выполнения данной программы, равно 29 − 10 · 1 = 19.
Ответ: 19.


Должен получиться ответ 20, так как в массиве всего 9 чисел
В массиве 11 чисел. Индексы от 0 до 10.