В программе исполняется одномерный целочисленный массив А с индексами от 0 до 9. Значения элементов равны 2, 8, 7, 8, 5, 3, 10, 1, 9, 12 соответственно, т.е А[0]=2, A[1]=8 и т.д. Определите значение переменной S после выполнения следующего фрагмента этой программы.
S:=0;
n:=0;
for i:=1 to 9 do
if (A[i] +A[n]) mod 5 < > 0 then
begin
S:=S+i;
t:=A[i];
A[i]:= A[n];
A[n]:=t;
end;

Ответы

Ответ дал: LRSM
1

Ответ: 33

Объяснение:

Заданный фрагмента программы выполняет следующую задачу:

Цикл для i от 1 до 9, в котором если остаток от деления (А[i] + A[0]) на 5 неравен 0, (т. е. сумма А[i] и A[0] не делится на 5), то их (А[i] и A[0]) меняют местами, а переменную S увеличивают на i. Выполним алгоритм вручную:

A = 2, 8, 7, 8, 5, 3, 10, 1, 9, 12;   i=1;    (2+8)%5 = 10%5 = 0;

A = 2, 8, 7, 8, 5, 3, 10, 1, 9, 12;   i=2;   (2+7)%5 = 9%5 = 4; --> S = 0+2 = 2

A = 7, 8, 2, 8, 5, 3, 10, 1, 9, 12;   i=3;   (7+8)%5 = 15%5 = 0;

A = 7, 8, 2, 8, 5, 3, 10, 1, 9, 12;   i=4;   (7+5)%5 = 12%5 = 2; --> S = 2+4 = 6

A = 5, 8, 2, 8, 7, 3, 10, 1, 9, 12;   i=5;   (5+3)%5 = 8%5 = 3; --> S = 6+5 = 11

A = 3, 8, 2, 8, 7, 5, 10, 1, 9, 12;   i=6;   (3+10)%5 = 13%5 = 3; --> S = 11+6 = 17

A = 10, 8, 2, 8, 7, 5, 3, 1, 9, 12;   i=7;    (10+1)%5 = 11%5 = 1; --> S = 17+7 = 24

A = 1, 8, 2, 8, 7, 5, 3, 10, 9, 12;   i=8;   (1+9)%5 = 10%5 = 0;

A = 1, 8, 2, 8, 7, 5, 3, 10, 9, 12;   i=9;   (1+12)%5 = 13%5 = 3; --> S = 24+9 = 33

Как можно увидеть, после выполнения фрагмента программы переменная S будет равна 33.

Вас заинтересует