РУҚА
6

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

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

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

Python
1s = 0
2for j in range(9):
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
Открыть задачу и решить самому
Дальше ответЕсли ещё решаете — начните с подсказок: они ведут к ответу, но не выдают его.
К подсказкам

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

3 шага
1

Последовательно сравниваем соседние элементы массива и учитываем только случаи, когда левый элемент меньше правого.

$$A[1] < A[2],\ A[3] < A[4],\ A[4] < A[5],\ A[5] < A[6],\ A[6] < A[7],\ A[7] < A[8],\ A[8] < A[9]$$
2

После каждого такого сравнения элементы меняются местами, поэтому следующие сравнения нужно выполнять уже с изменённым массивом. Условие выполняется 7 раз.

Следовательно, переменная $s$ увеличивается с нуля до семи.

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

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

Считать сравнения в исходном массиве, не учитывая обмены элементов.

Учитывать случаи, когда левый элемент больше правого.

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

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

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

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

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