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

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

Бей­сикPython

s = 0

FOR k = 1 TO 9

    IF A(k-1)< A(k) AND A(k)< A(k+1) THEN

        A(k) = 2 * A(k)

        s = s + A(k-1)

    END IF

NEXT k

 

s = 0

for k in range(1,10):

    if A[k-1]< A[k]< A[k+1]:

        A[k] = 2 * A[k]

        s = s + A[k-1]

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

s := 0;

for k:=1 to 9 do begin

    if (A[k-1] < A[k]) and (A[k] < A[k+1]) then begin

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

        s := s + A[k-1]

    end

end;

 

s := 0

нц для k от 1 до 9

    если A[k-1]< A[k]< A[k+1]

    то

        A[k] := 2 * A[k]

        s := s + A[k-1]

    все

кц

С++

s = 0;

for (k = 1; k < 10; ++k) {

    if (A[k-1]< A[k] && A[k]< A[k+1]) {

        A[k] = 2 * A[k];

        s = s + A[k-1];

    }

}

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

Ре­ше­ние.

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

 

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

Пер­вое из­ме­не­ние эле­мен­тов: 2, 6, 6, 7, 17, 2, 4, 5, 7, 9, 11. Те­перь s = 2.

Вто­рое из­ме­не­ние эле­мен­тов: 2, 6, 6, 14, 17, 2, 4, 5, 7, 9, 11. Те­перь s = 8.

Тре­тье из­ме­не­ние эле­мен­тов: 2, 6, 6, 14, 17, 2, 8, 5, 7, 9, 11. Те­перь s = 10.

По­след­нее из­ме­не­ние эле­мен­тов: 2, 6, 6, 14, 17, 2, 8, 5, 14, 9, 11. Те­перь s = 15.

 

Ответ: 15.