СДАМ ГИА: РЕШУ ЕГЭ
Образовательный портал для подготовки к экзаменам
Информатика
Информатика
Cайты, меню, вход, новости


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

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

 

БейсикPython

s = 0

FOR j = 0 TO 8

    IF A(j) > A(j+1) THEN

        s = s + 1

        t = A(j)

        A(j) = A(j+1)

        A(j+1) = t

    ENDIF

NEXT j

s = 0

for j in range(9):

    if A[j] > A[j+1]:

        s = s + 1

        t = A[j]

        A[j] = A[j+1]

        A[j+1] = t

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

s := 0;

for j := 0 to 8 do

    if A[j] > A[j+1] then

    begin

        s := s + 1;

        t := A[j];

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

        A[j+1] := t;

    end;

s := 0

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

    если A[j] > A[j+1] то

        s := s + 1

        t := A[j]

        A[j] := A[j+1]

        A[j+1] := t

    все

кц

Си++

s = 0;

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

    if (A[j] > A[j+1])

    {

        s++;

        t = A[j];

        A[j] = A[j+1];

        A[j+1] = t;

    }

}

 

Решение.

Цикл проходит по массиву, сравнивая текущее число со следующим. И если текущее больше следующего, то s увеличивается на 1, а элементы меняются местами.

8, 4, 3, 0, 7, 2, 1, 5, 9, 6; s = 0

4, 8, 3, 0, 7, 2, 1, 5, 9, 6; s = 1

4, 3, 8, 0, 7, 2, 1, 5, 9, 6; s = 2

4, 3, 0, 8, 7, 2, 1, 5, 9, 6; s = 3

4, 3, 0, 7, 8, 2, 1, 5, 9, 6; s = 4

4, 3, 0, 7, 2, 8, 1, 5, 9, 6; s = 5

4, 3, 0, 7, 2, 1, 8, 5, 9, 6; s = 6

4, 3, 0, 7, 2, 1, 5, 8, 9, 6; s = 7

4, 3, 0, 7, 2, 1, 5, 8, 9, 6; s = 7

4, 3, 0, 7, 2, 1, 5, 8, 6, 9; s = 8

Источник: ЕГЭ 05.05.2015. Досрочная волна.