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

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

Бей­сикPython

s = 0

FOR k = 1 TO 9

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

        t = A(k)

        A(k) = A(k-1)

        A(k-1) = t

        s = s + k

    END IF

NEXT k

 

s = 0

for k in range(1,10):

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

        t = A[k]

        A[k] = A[k-1]

        A[k-1] = t

        s = s + k

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

s := 0;

for k:=1 to 9 do begin

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

        t := A[k];

        A[k] := A[k-1];

        A[k-1] := t;

        s := s + k

    end

end;

 

s := 0

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

    если A[k] < A[k-1] то

        t := A[k]

        A[k] := A[k-1]

        A[k-1] := t

        s := s + k

    все

кц

С++

s = 0;

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

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

        t = A[k];

        A[k] = A[k-1];

        A[k-1] = t;

        s = s + k;

    }

}

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

Ре­ше­ние.

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

 

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

Пер­вое из­ме­не­ние эле­мен­тов: 3, 5, 2, 6, 1, 6, 3, 1, 8, 3. Те­перь s = 3.

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

Тре­тье из­ме­не­ние эле­мен­тов: 3, 5, 2, 1, 6, 3, 6, 1, 8, 3. Те­перь s = 13.

Четвёртое из­ме­не­ние эле­мен­тов: 3, 5, 2, 1, 6, 3, 1, 6, 8, 3. Те­перь s = 20.

По­след­нее из­ме­не­ние эле­мен­тов: 3, 5, 2, 1, 6, 3, 1, 6, 3, 8. Те­перь s = 29.

 

Ответ: 29.