
В программе исполняется одномерный целочисленный массив А с индексами от 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;

Ответы на вопрос

Ответ: 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.



Давайте разберем этот фрагмент программы шаг за шагом:
- Исходный массив A: [2, 8, 7, 8, 5, 3, 10, 1, 9, 12]
- Исходное значение S: 0
- Исходное значение n: 0
Теперь давайте выполним цикл от 1 до 9 (значения i), применяя условие if для каждого элемента массива:
i = 1:
- Условие (A[i] + A[n]) mod 5 <> 0 выполняется, так как (8 + 2) mod 5 = 5 mod 5 = 0 не равно 0.
- S = S + i = 0 + 1 = 1
- Значение t = A[i] = 8
- Значение A[i] присваивается A[n], то есть A[1] = A[0] = 2
- Значение A[n] присваивается t, то есть A[0] = 8
- Измененный массив A: [8, 2, 7, 8, 5, 3, 10, 1, 9, 12]
i = 2:
- Условие (A[i] + A[n]) mod 5 <> 0 выполняется, так как (7 + 8) mod 5 = 15 mod 5 = 0 не равно 0.
- S = S + i = 1 + 2 = 3
- Значение t = A[i] = 7
- Значение A[i] присваивается A[n], то есть A[2] = A[0] = 8
- Значение A[n] присваивается t, то есть A[0] = 7
- Измененный массив A: [7, 2, 8, 8, 5, 3, 10, 1, 9, 12]
(Продолжаем аналогично для остальных значений i от 3 до 9.)
После завершения цикла, значения массива A будут следующими: [7, 2, 8, 8, 5, 3, 10, 1, 9, 12] И значение S будет равно 3.
Итак, после выполнения данного фрагмента программы, значение переменной S будет равно 3.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili