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

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

 

Бей­сикPython

s = 0

FOR i = 0 TO 8

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

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

    ELSE

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

    END IF

    s = s + A(i)

NEXT i

s = 0

for i in range(0,9):

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

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

    else:

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

    s += A[i]

 

 

 

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

s := 0;

for i:=0 to 8 do begin

    if A[i] < A[i+1]

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

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

    s := s + A[i]

end;

 

s := 0

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

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

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

    иначе A[i] := A[i] - A[i+1]

    все

    s := s + A[i]

кц

С++

s = 0;

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

    if (A[i] < A[i+1])

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

    else

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

    s += A[i];

}

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

Ре­ше­ние.

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

 

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

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

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

Тре­тье из­ме­не­ние эле­мен­тов: 3, 2, 4, 2, 1, 4, 3, 1, 2, 3, s = s + 4.

Четвёртое из­ме­не­ние эле­мен­тов: 3, 2, 4, 1, 1, 4, 3, 1, 2, 3, s = s + 1.

Пятое из­ме­не­ние эле­мен­тов: 3, 2, 4, 1, 1, 3, 3, 1, 2, 3, s = s + 1.

Ше­стое из­ме­не­ние эле­мен­тов: 3, 2, 4, 1, 1, 0, 3, 1, 2, 3, s = s + 0.

Седь­мое из­ме­не­ние эле­мен­тов: 3, 2, 4, 1, 1, 0, 2, 1, 2, 3, s = s + 2.

Вось­мое из­ме­не­ние эле­мен­тов: 3, 2, 4, 1, 1, 0, 2, 1, 1, 3, s = s + 1.

По­след­нее из­ме­не­ние эле­мен­тов: 3, 2, 4, 1, 1, 0, 2, 1, 1, 2, s = s + 1.

 

Таким об­ра­зом, зна­че­ние пе­ре­мен­ной s после вы­пол­не­ния фраг­мен­та про­грам­мы рав­ня­ет­ся s=3 плюс 2 плюс 4 плюс 1 плюс 1 плюс 0 плюс 2 плюс 1 плюс 1=15.

 

Ответ: 15.