РУҚА
25

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

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

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

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

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

4 шага
1

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

$$A = [10, 8, 4, 3, 0, 7, 2, 1, 5, 9, 6]$$
2

При $j = 0, 1, 2, 3$ условие $A[j] < A[j+1]$ не выполняется.

3

При $j = 4$ сравниваются 0 и 7. Условие выполняется, поэтому $s$ увеличивается до 1, а элементы меняются местами.

Далее условие выполняется для пар 0 и 2, 0 и 1, 0 и 5, 0 и 9, 0 и 6. Значение $s$ увеличивается ещё пять раз.

$$s = 1 + 5 = 6$$
Ответ
6
6
так ответ выглядит в бланке

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

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

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

Ошибочно увеличивать $s$ при невыполнении условия.

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

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

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

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