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

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

 

Бей­сикPython

N = 9

s = 0

FOR i = 0 TO N

    IF A(i) < A(N) THEN

        A(i) = A(i) + 1

        A(N) = A(N) − 1

        s = s + 1

    END IF

NEXT i

 

n = 9

s = 0

for i in range(n + 1):

    if A[i] < A[n]:

        A[i] += 1

        A[n] −= 1

        s += 1

 

 

 

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

N := 9;

s := 0;

for i:=0 to N do begin

    if A[i] < A[N] then begin

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

        A[N] := A[N] − 1;

        s := s + 1;

    end;

end;

 

N := 9

s := 0

нц для i от 0 до N

    если A[i] < A[N] то

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

        A[N] := A[N] − 1

        s := s + 1

    все

кц

С++

n = 9;

s = 0;

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

    if (A[i] < A[n]) {

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

        A[n] = A[n] − 1;

        s = s + 1;

    }

}

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

Ре­ше­ние.

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

 

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

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

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

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

Четвёртое из­ме­не­ние эле­мен­тов: 3, 5, 8, 6, 2, 7, 3, 3, 2, 3.

По­след­нее из­ме­не­ние эле­мен­тов: 3, 5, 8, 6, 2, 7, 3, 3, 3, 2.

 

Всего из­ме­не­ние эле­мен­тов мас­си­ва про­изо­шло пять раз. Те­перь к пе­ре­мен­ной s при­ба­вим еди­ни­цу 5 раз. Сле­до­ва­тель­но, s = 5 · 1 = 5.

 

Ответ: 5.