25

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

ЕГЭ · Информатика · Задание 25 · Алгоритмы и исполнители
ПовышеннаяФИПИF774CDКороткий ответ≈ 3 минутыРазбор в 5 шаговОтвет сверен с ключом
Условие

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

Python
1A = [1, 6, 7, 3, 10, 4, 8, 2, 0, 5, 9]
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
Открыть задачу и решить самому
Дальше ответЕсли ещё решаете — начните с подсказок: они ведут к ответу, но не выдают его.
К подсказкам

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

5 шагов
1

Переменная $s$ изначально равна 0. На каждом шаге цикла сравниваются соседние элементы $A[j]$ и $A[j+1]$.

2

Если $A[j] > A[j+1]$, выполняется обмен элементов, а значение $s$ увеличивается на 1.

3

Условие выполняется при $j = 2$: меняются местами 7 и 3.

4

Затем обмены выполняются при $j = 4, 5, 6, 7, 8, 9$: каждый раз число 10 перемещается вправо через меньшее число.

Всего выполнено 7 обменов, поэтому значение переменной $s$ равно 7.

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

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

Считать только сравнения, при которых элементы не меняются местами.

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

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

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

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

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