25

Решение: Обработка массива交换

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

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

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

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

5 шагов
1

В начале $c=0$, а $A[9]=5$. При $i=0$ значение $A[0]=2$ не больше 5, поэтому обмена нет.

2

При $i=1$: $A[1]=6>5$. Увеличиваем $c$ до 1 и меняем местами 6 и 5. Теперь $A[9]=6$.

3

При $i=2$: $A[2]=4$, условие не выполняется. При $i=3$: $A[3]=7>6$, поэтому $c=2$, а после обмена $A[9]=7$.

4

При $i=4$: $A[4]=3$, условие не выполняется. При $i=5$: $A[5]=9>7$, поэтому $c=3$, а после обмена $A[9]=9$.

При $i=6$, $i=7$ и $i=8$ значения массива не превышают текущее значение $A[9]=9$, поэтому переменная $c$ больше не изменяется.

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

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

Сравнивать все элементы с первоначальным значением $A[9]=5$, не учитывая его изменения после обменов.

Учитывать индекс 9 в цикле, хотя цикл выполняется только для $i$ от 0 до 8.

Не увеличивать $c$ перед выполнением обмена.

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

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

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

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