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

Пред­став­лен­ный ниже фраг­мент про­грам­мы об­ра­ба­ты­ва­ет эле­мен­ты фраг­мен­та од­но­мер­но­го це­ло­чис­лен­но­го мас­си­ва A с ин­дек­са­ми от 1 до 10. Перед на­ча­лом вы­пол­не­ния дан­но­го фраг­мен­та эти эле­мен­ты фраг­мен­та мас­си­ва имели зна­че­ния 2, 3, 5, 8, 10, 7, 4, 6, 12, 15 (т. е. A[1] = 2, A[2] = 3, …, A[10] = 15).

Опре­де­ли­те зна­че­ние пе­ре­мен­ной s после вы­пол­не­ния фраг­мен­та этой про­грам­мы (за­пи­сан­но­го ниже на раз­ных язы­ках про­грам­ми­ро­ва­ния).

Бей­сикPython

n = 10

s = 0

FOR i = 2 TO n

    IF A(i-1) < A(i) THEN

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

        s = s + A(i)

    END IF

NEXT i

n = 10

s = 0

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

    if A[i-1] < A[i]:

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

        s = s + A[i]

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

n := 10;

s := 0;

for i:=2 to n do begin

    if A[i-1] < A[i] then begin

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

        s := s + A[i]

    end

end;

n := 10

s := 0

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

    если A[i-1] < A[i]

        то

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

            s := s + A[i]

    все

кц

Си++

n = 10;

s = 0;

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

    if (A[i-1] < A[i]) {

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

        s = s + A[i];

    }

}

Спрятать решение

Ре­ше­ние.

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

 

Из­на­чаль­ный по­ря­док зна­че­ний: 2, 3, 5, 8, 10, 7, 4, 6, 12, 15.

Пер­вое из­ме­не­ние в эле­мен­тах: 2, 5, 5, 8, 10, 7, 4, 6, 12, 15.

Вто­рое: 2, 5, 5, 13, 10, 7, 4, 6, 12, 15.

Тре­тье: 2, 5, 5, 13, 10, 7, 4, 10, 12, 15.

По­след­нее: 2, 5, 5, 13, 10, 7, 4, 10, 22, 15.

 

Те­перь скла­ды­ва­ет из­ме­нив­ши­е­ся эле­мен­ты и по­лу­ча­ем 50.

 

Ответ: 50.

Источник: Стат­Град: Тре­ни­ро­воч­ная ра­бо­та 28.11.2017 ИН10203