Помоги, пожалуйста, с решениемВ программе исполняется одномерный целочисленный массив А с...

+659 голосов
1.2m просмотров

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


Информатика | 1.2m просмотров
Дан 1 ответ
+115 голосов

Ответ: 28

Объяснение:

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

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

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

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

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

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

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

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

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

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

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

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

Пример работы:

(3.7k баллов)