Элементы алгоритмов и программирование в ЕГЭ

Выясним какие требования предъявляются к уровню подготовки выпускников на едином государственном экзамене по информатике и ИКТ касающихся тематического блока элементов алгоритмов и программирования.

Обратимся к официальным документам. Рассмотрим разделы Кодификатора:

Раздел 1. «Перечень элементов содержания, проверяемых на едином государственном экзамене по информатике и ИКТ»

Алгоритмы

  • Элементы теории алгоритмов.
  • Формализация понятия алгоритма.
  • Вычислимость. Эквивалентность алгоритмических моделей.
  • Построение алгоритмов и практические вычисления.

Языки программирования

  • Типы данных.
  • Основные конструкции языка программирования.
  • Система программирования.
  • Основные этапы разработки программ. Разбиение задачи на подзадачи.

Раздел 2. «Перечень требований к уровню подготовки выпускников, достижение которого проверяется на едином государственном экзамене по информатике и ИКТ»

  • Строить информационные модели объектов, систем и процессов в виде алгоритмов.
  • Читать и отлаживать программы на языке программирования.
  • Создавать программы на языке программирования по их описанию.

Задачи блока «Элементы алгоритмов и программирования» составляют самую большую часть экзаменационной работы. Выясним уровни сложности, элементы содержания и требования к уровню подготовки, проверяемые в заданиях данного тематического раздела. Для этого обратимся к Спецификации КИМ ЕГЭ по информатике 2017 года.

Базовый уровень:

  • задача №8 - знание основных конструкций языка программирования, понятия переменной, оператора присваивания;
  • задача №11 - умение исполнить рекурсивный алгоритм;

Повышенный уровень:

  • задача №14 - умение исполнить алгоритм для конкретного исполнителя с фиксированным набором команд;
  • задача №19 - умение осуществлять поиск, сортировку, массовые операции и т. д. в массиве;
  • задача №20 - анализ алгоритма, содержащего цикл и ветвление;
  • задача №21 - умение анализировать программу, использующую процедуры и функции;
  • задача №22 - умение анализировать результат исполнения алгоритма;
  • задача №24 - умение прочесть фрагмент программы на языке программирования и исправить допущенные ошибки;

Высокий уровень:

  • задача №25 - умение написать короткую простую программу на языке программирования или записать алгоритм на естественном языке;
  • задача №27 - умение создавать собственные программы (30–50 строк) для решения задач средней сложности.

В Кодификаторе приводится список возможных задач, относящихся к данному разделу:

  • Нахождение минимума и максимума двух, трех, четырех данных чисел без использования массивов и циклов.
  • Нахождение всех корней заданного квадратного уравнения.
  • Запись натурального числа в позиционной системе с основанием, меньшим или равным 10. Обработка и преобразование такой записи числа.
  • Нахождение сумм, произведений элементов данной конечной числовой последовательности (или массива).
  • Использование цикла для решения простых переборных задач (поиск наименьшего простого делителя данного натурального числа, проверка числа на простоту и т.д.).
  • Заполнение элементов одномерного и двумерного массивов по заданным правилам.
  • Операции с элементами массива. Линейный поиск элемента. Вставка и удаление элементов в массиве. Перестановка элементов данного массива в обратном порядке. Суммирование элементов массива.
  • Проверка соответствия элементов массива некоторому условию.
  • Нахождение второго по величине (второго максимального или второго минимального) значения в данном массиве за однократный просмотр массива.
  • Нахождение минимального (максимального) значения в данном массиве и количества элементов, равных ему, за однократный просмотр массива.
  • Операции с элементами массива, отобранных по некоторому условию (например, нахождение минимального четного элемента в массиве, нахождение количества и суммы всех четных элементов в массиве).
  • Сортировка массива.
  • Слияние двух упорядоченных массивов в один без использования сортировки.
  • Обработка отдельных символов данной строки. Подсчет частоты появления символа в строке.
  • Работа с подстроками данной строки с разбиением на слова по пробельным символам. Поиск подстроки внутри данной строки, замена найденной подстроки на другую строку.