ЕГЭ Информатика 2020: Разбор задачи 19 (массив)

Задание 19 из демоверсии ЕГЭ по информатике 2020 года предполагает работу с одномерным целочисленным массивом.

Условие задачи

В программе используется одномерный целочисленный массив a с индексами от 0 до 11. Элементы массива: 19, 20, 17, 4, 1, 23, 12, 24, 16, 4, 13, 6, 15. Необходимо определить значение переменной s после выполнения следующего фрагмента программы:

for (int i = 1; i < 12; i++) {
  if (a[i] <= a[0]) {
    s += i;
    int t = a[i];
    a[i] = a[0];
    a[0] = t;
  }
}

Разбор решения

Программа содержит цикл for, который перебирает элементы массива a с индекса 1 до 11. Внутри цикла проверяется условие: a[i] <= a[0]. Если условие истинно (элемент массива меньше или равен первому элементу), к переменной s прибавляется индекс текущего элемента (i). Затем происходит обмен местами текущего элемента и первого элемента массива с помощью временной переменной t.

Пошаговое выполнение

Рассмотрим пошагово, что происходит в цикле:

  1. i = 1: a[1] = 20. Условие 20 <= 19 ложно.
  2. i = 2: a[2] = 17. Условие 17 <= 19 истинно. s становится 2. Происходит обмен a[2] и a[0]: массив становится {17, 20, 17, 4, 1, 23, 12, 24, 16, 4, 13, 6, 15}.
  3. i = 3: a[3] = 4. Условие 4 <= 17 истинно. s становится 5. Происходит обмен a[3] и a[0]: массив становится {4, 20, 17, 17, 1, 23, 12, 24, 16, 4, 13, 6, 15}.
  4. i = 4: a[4] = 1. Условие 1 <= 4 истинно. s становится 9. Происходит обмен a[4] и a[0]: массив становится {1, 20, 17, 17, 4, 23, 12, 24, 16, 4, 13, 6, 15}.
  5. i = 5: a[5] = 23. Условие 23 <= 1 ложно.
  6. i = 6: a[6] = 12. Условие 12 <= 1 ложно.
  7. i = 7: a[7] = 24. Условие 24 <= 1 ложно.
  8. i = 8: a[8] = 16. Условие 16 <= 1 ложно.
  9. i = 9: a[9] = 4. Условие 4 <= 1 ложно.
  10. i = 10: a[10] = 13. Условие 13 <= 1 ложно.
  11. i = 11: a[11] = 6. Условие 6 <= 1 ложно.

После выполнения цикла переменная s равна 9. Однако, это неверно, так как алгоритм модифицирует массив. Правильное значение s можно получить только путем корректного следования алгоритму: 2 + 3 + 4 = 9. В первоначальном тексте указано неверное значение (16), полученное, вероятно, ошибочным подсчетом.

Правильный ответ на 19 задание демоверсии ЕГЭ по информатике 2020 года – 9. Понимание принципа работы с массивами и внимательный анализ алгоритма являются ключом к успешному решению подобных задач.

Что будем искать? Например,программа