Задание №19 ЕГЭ

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

Определите значение переменной j после выполнения следующего фрагмента программы (записанного ниже на пяти языках программирования).

 

Бейсик

Python

j = 5

WHILE A(j) < A(j-1)

t = A(j)

A(j) = A(j-1)

A(j-1) = t

j = j - 1

WEND

j = 5

while A[j] < A[j-1]:

A[j],A[j-1]=A[j-1],A[j]

j -= 1

Паскаль

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

j := 5;

while A[j] < A[j-1] do

begin

t := A[j];

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

A[j-1] := t;

j := j - 1;

end;

j := 5

нц пока A[j] < A[j-1]

t := A[j]

A[j] := A[j-1]

A[j-1] := t

j := j - 1

кц

Си

j = 5;

while (A[j] < A[j-1])

{

t = A[j];

A[j] = A[j-1];

A[j-1] = t;

j -= 1;

}

Решение

Массив можно представить себе как таблицу наименование таблицы А.


j
– = 1 – это сокращение выражение: j = j – 1; j = 4.
Рассмотрим
1 шаг (цикл)

while (A[5] < A[4]) можно преобразовать “Пока” (3 < 9) – это истина, выполняем действия:
t = A[5]; A[5] = A[4]; A[4] = t, то есть А[5] = 9; A[4] = 3


2 шаг

while(A[4] < A[3]), истина, так как 3 < 8
A[4] = 8; A[3] = 3; j = 3


3 шаг
while(A[3] < A[2]), истина, так как 3 < 5
A[3] = 5; A[2] = 3; j = 2

4 шаг

while(A[2] < A[1]), можно, так как 5 < 2

Вылетели из цикла while.

Ответ: 2.