Решение: Сумма соседних разностей массива
В программе используется одномерный целочисленный массив $A$ с индексами от $0$ до $10$. Фрагмент программы выполняет следующие действия: $s := 0$, $n := 10$; для $i$ от $0$ до $n-1$ вычисляется $s := s + A[i] - A[i+1]$. В начале выполнения фрагмента в массиве находились числа $10, 8, 7, 6, 5, 4, 3, 2, 9, 0, 1$, то есть $A[0] = 10$, $A[1] = 8$ и так далее. Чему будет равно значение переменной $s$ после выполнения фрагмента программы?
Решение по шагам
3 шагаЦикл выполняется для $i$ от $0$ до $9$, поэтому к переменной $s$ добавляется сумма соседних разностей:
$$s=(A[0]-A[1])+(A[1]-A[2])+\dots+(A[9]-A[10])$$При раскрытии суммы все промежуточные значения массива сокращаются.
$$s=A[0]-A[10]$$Подставляем значения первого и последнего элементов массива:
$$s=10-1=9$$Где здесь ошибаются
Сложить только разности без учёта знаков.
Ошибочно включить в цикл индекс $i=10$.
Использовать $A[9]$ вместо $A[10]$ в последнем слагаемом.