СДАМ ГИА: РЕШУ ЕГЭ
Образовательный портал для подготовки к экзаменам
Информатика
Информатика
Cайты, меню, вход, новости


Задания
Версия для печати и копирования в MS Word
Задание 19 № 16394

Представленный ниже на пяти языках программирования фрагмент программы обрабатывает элементы одномерного целочисленного массива A с индексами от 0 до 9. Перед началом выполнения данного фрагмента эти элементы массива имели значения 2, 4, 1, 6, 2, 7, 3, 2, 2, 1 (т. е. A[0] = 2, A[1] = 4, …, A[9] = 1). Определите значение переменной s после выполнения фрагмента.

 

 

БейсикPython

N = 10

s = 0

FOR i = 1 TO N − 1

    IF A(i-1) > 2*A(i) THEN

        A(i) = 2*A(i)

        s = s + A(i)

    END IF

NEXT i

 

n = 10

s = 0

for i in range(1,n):

    if A[i-1] > 2*A[i]:

        A[i] = 2*A[i]

        s = s + A[i]

 

 

 

ПаскальАлгоритмический язык

N := 10;

s := 0;

for i:=1 to N-1 do begin

    if A[i-1] > 2*A[i] then begin

        A[i] := 2*A[i];

        s := s + A[i];

    end;

end;

 

N := 10

s := 0

нц для i от 1 до N-1

    если A[i-1] > 2*A[i] то

        A[i] := 2*A[i]

        s := s + A[i]

    все

кц

С++

n = 10;

s = 0;

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

    if (A[i-1] > 2*A[i]) {

        A[i] = 2*A[i];

        s = s + A[i];

    }

}

 

Решение.

Данный алгоритм удваивает значение текущего элемнета, если значение предыдущего элемента больше удвоенного значения текущего элемента.

 

Изначальный порядок значений: 2, 4, 1, 6, 2, 7, 3, 2, 2, 1.

Первое изменение элементов: 2, 4, 2, 6, 2, 7, 3, 2, 2, 1.

Второе изменение элементов: 2, 4, 2, 6, 4, 7, 3, 2, 2, 1.

Третье изменение элементов: 2, 4, 2, 6, 4, 7, 6, 2, 2, 1.

Последнее изменение элементов: 2, 4, 2, 6, 2, 7, 6, 4, 2, 1.

 

Всего изменение элементов массива произошло четыре раза. Теперь к переменной s прибавим значения выделенных элементов. Следовательно, s = 2 + 4 + 6 + 4 = 16.

 

Ответ: 16.