В этой статье мы решим задачу № 6 из демонстрационного варианта ЕГЭ-2023 года по информатике. Задача № 6 встречалась почти в неизменном виде, начиная с ЕГЭ-2015, однако в 2023 году задание будет посвящено анализу алгоритма для конкретного исполнителя, определению возможных результатов работы простейших алгоритмов управления исполнителями и вычислительных алгоритмов. В соответствии со спецификацией ФИПИ задача относится к базовому уровню сложности и оценивается в 1 балл, рекомендуемое время на решение этой задачи составляет 4 минуты. В конце статьи будет ссылка на тест на портале Эрудит.Онлайн. В этом тесте вы сможете потренироваться в решении задач такого типа. Обращайте внимание не только на правильность решения, но и на затраченное время.
Демонстрационный вариант ЕГЭ-2023 по информатике
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n – целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, и Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке.
Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм: Повтори 7 [Вперёд 10 Направо 120].
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Решение
Для решения этой задачи требуется построить фигуру, которая будет нарисована исполнителем, и посчитать количество точек с целочисленными координатами внутри нее.
Способ 1. Рационально использовать систему программирования КуМир, однако, на предоставляемом компьютере во время ЕГЭ её может не оказаться.
Из спецификации ЕГЭ 2023: Для выполнения работы необходим компьютер с установленной на нём операционной системой, редакторами электронных таблиц, текстовыми редакторами, средами программирования на языках: Школьный алгоритмический язык, С#, C++, Pascal, Java, Python.
Если все же Вам доступен КуМир, то решение будет состоять из двух шагов.
Шаг 1. Напишем алгоритм, по которому передвигается черепаха, и запустим его.
В результате получим следующую фигуру:
Шаг 2. Посчитаем количество целочисленных точек внутри фигуры, то есть все пересечения разметки, и получим ответ 38.
Способ 2. Аналогично задачу можно решить с помощью языка программирования Python, используя модуль turtle, который так же позволит нам управлять Черепахой.
Тогда решением будет выполнение следующего кода:
Дадим комментарии:
1. Для начала необходимо импортировать модуль turtle.
2. Затем с помощью команды left(90) устанавливаем голову черепахи в начальное положение, а по условию задачи это вдоль положительного направления оси ординат.
3. Далее следует цикл с отрисовкой фигуры, который соответствует команде Повтори 7 [Вперёд 10 Направо 120]. Обратите внимание, что в строке forward(300), которая соответствует команде Вперёд 10, аргумент был умножен на 30. Это сделано для вывода фигуры удобного масштаба, так как аргумент функции forward() исчисляется в пикселях.
4. Если запустить только эту часть кода, то фигура будет отрисована, но она не имеет сетки, и посчитать точки будет невозможно. Нанесем их самостоятельно с помощью двух вложенных циклов, будем перебирать координаты x и y от 0 до 10 включительно, перемещать Черепаху и рисовать точку. Обратите внимание, что координаты также домножаются на 30.
5. Функция done() позволяет окну не закрыться после выполнения программы.
Результат выполнения выглядит следующим образом:
Останется посчитать количество точек внутри треугольника, это и будет являться ответом.
Способ 3. Количество точек может получиться большим, что затруднит их подсчет "вручную". Тогда решить это задание можно с помощью языков программирования, но не используя Черепаху.
Заметим, что после семи повторений последовательности команд [Вперёд 10 Направо 120] получится равносторонний треугольник с длиной стороны, равной 10. Можно перебирать все целочисленные точки от 1 до 10 и проверять, принадлежат ли они области внутри равностороннего треугольника. При выполнении этого условия будем увеличивать счетчик на 1.
Результат выполнения кода - 38, что и является правильным ответом.
В другой нашей статье можно посмотреть примеры решения задач из ЕГЭ предыдущих лет:
Задача № 6 из ЕГЭ-2021 по информатике
Потренироваться в решении задач такого типа можно в тесте на портале Эрудит.Онлайн «ЕГЭ-2023 Задача № 6».
Потренироваться в решении задач с исполнителями можно в тесте на портале Эрудит.Онлайн «Задачи для исполнителей».
Разборы других задач: