№№ заданий Пояснения Ответы Ключ Добавить инструкцию Критерии
Источник Раздел кодификатора Ф ИПИ Справка
PDF-версия PDF-версия (вертикальная) PDF-версия (крупный шрифт) PDF-версия (с большим полем) Версия для копирования в MS Word
Задания
Задание 19 № 4685

В программе описан одномерный целочисленный массив с индексами от 0 до 10. Ниже представлен записанный на разных языках программирования фрагмент одной и той же программы, обрабатывающей данный массив:

 

 

БейсикПаскаль

s = 0

n = 10

FOR i = 1 ТО n

    s = s + A(i) - A (i - 1)

NEXT i

s: = 0;

n : = 10 ;

for i : = 1 to n do begin

    s : = s + A[i] - A[i-1];

end

Си++Алгоритмический язык

s = 0;

n = 10;

for (i = 1; i <= n; i++){

    s = s + A[i] - A[i - 1];

}

s: = 0

n : = 10

нц для i от 1 до n

    s := s + A[i] - A[i - 1]

кц

Python

s = 0

n = 10

for i in range(1, n+1):

    s = s + A[i] - A[i - 1]

 

В начале выполнения этого фрагмента в массиве находились числа 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, т.е. А[0]=0, А[1]=10 и т.д. Чему будет равно значение переменной s после выполнения данной программы?

Решение.

Из цикла видно, что с каждым проходом число s увеличивается на разницу между элементами массива с номерами, соответствующими данному проходу. Итого, в самом конце s должно быть равно сумме всех «расстояний» между элементами массива, то есть, «расстоянию» между последним и первым элементом, если элементы массива расположены в порядке возрастания. В данном массиве эта разность равна 100.