РУҚА
25

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

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

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

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

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

5 шагов
1

Начинаем с массива $(1, 7, 8, 4, 1, 1, 2, 2, 9, 5)$ и $c=0$. При $i=1$ выполняется условие $1<7$, поэтому происходит обмен и $c=1$.

2

После обмена при $i=2$ сравниваются $1$ и $8$: условие выполняется, $c=2$. При $i=3$ сравниваются $1$ и $4$: условие также выполняется, $c=3$.

3

При $i=4$ и $i=5$ сравниваются равные единицы, поэтому обменов нет.

4

При $i=6$ выполняется сравнение $1<2$, затем после обмена при $i=7$ выполняется $1<2$. Значение $c$ становится равным 5.

При $i=8$ выполняется $1<9$, а при $i=9$ — $1<5$. Ещё два обмена дают итоговое значение $c=7$.

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

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

Продолжают сравнения с исходным массивом, не учитывая выполненные обмены.

Забывают, что цикл выполняется для всех значений $i$ от 1 до 9.

Не увеличивают счётчик при каждом выполнении условия.

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

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

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

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