РУҚА
19

Решение: Подсчёт перестановок массива

ЕГЭ · Информатика · Задание 19 · Массивы и строки
ПовышеннаяФИПИ57997DКороткий ответ≈ 3 минутыРазбор в 4 шагаОтвет сверен с ключом
Условие

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

Python
1A = [0, 8, 4, 3, 10, 7, 2, 1, 5, 9, 6]
2s = 0
3for j in range(10):
4    if A[j] > A[j+1]:
5        s = s + 1
6        t = A[j]
7        A[j] = A[j+1]
8        A[j+1] = t
Открыть задачу и решить самому
Дальше ответЕсли ещё решаете — начните с подсказок: они ведут к ответу, но не выдают его.
К подсказкам

Решение по шагам

4 шага
1

Изначально $s=0$. Последовательно сравниваем соседние элементы и при необходимости меняем их местами.

2

При $j=0$ перестановки нет: $0<8$.

3

После обработки первых элементов условие $A[j]>A[j+1]$ выполняется при $j=1,2,4,5,6,7,8,9$.

Всего условие выполнено 8 раз, и каждое выполнение увеличивает $s$ на единицу.

$$s=0+8=8$$
Ответ
8
8
так ответ выглядит в бланке

Где здесь ошибаются

Считать сравнения вместо выполнений условия перестановки.

Не учитывать, что после каждой перестановки изменяются последующие сравнения.

Забыть, что цикл выполняется для $j$ от 0 до 9 включительно.

Закрепить приёмВ теме «Массивы и строки» ещё 237 задач — с ответом и таким же разбором.
Тренироваться

Как решать задание 19 ЕГЭ, информатика

Разбор этой задачи разложен на 4 шага: видно, откуда берётся каждое число и где теряется балл. Ответ приведён рядом с выкладками, а не вместо них.

Задача из темы «Массивы и строки»: в ней 238 задач, и у каждой есть такой же разбор. Регистрация не нужна.