Задание №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
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.