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

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;

Ответы

Ответ дал: petyaGavrikov
0
массив: 1, 2, 5, 8, 9, 3, 4, 0, 7, 6 
j = 5
A[j]<A[j-1] ⇒ A[5]<A[4] ⇒ 3<9 ⇒ true (истина)
 ⇒ t = A[5] = 3; A[5] = A[4] = 9; A[4] = 3; j = j-1 = 5-1 = 4
массив: 1, 2, 5, 8, 3, 9, 4, 0, 7, 6 
A[j]<A[j-1] ⇒ A[4]<A[3] ⇒ 3<8 ⇒ true (истина)
 ⇒ t = A[4] = 3; A[4] = A[3] = 8; A[3] = 3; j = j-1 = 4-1 = 3
массив: 1, 2, 5, 3, 8, 9, 4, 0, 7, 6 
A[j]<A[j-1] ⇒ A[3]<A[2] ⇒ 3<5 ⇒ true (истина)
 ⇒ t = A[3] = 3; A[3] = A[2] = 5; A[2] = 3; j = j-1 = 3-1 = 2
массив: 1, 2, 3, 5, 8, 9, 4, 0, 7, 6 
A[j]<A[j-1] ⇒ A[2]<A[1] ⇒ 3<2 ⇒ false (ложь)
Ответ: j=2
Вас заинтересует