Задание базового уровня, проверяющее понимание работы простейших алгоритмов управления исполнителями и вычислительных алгоритмов. На его выполнение отводится 4 минуты. Демоверсия содержит две формулировки, рассмотренные ниже.
Алгоритм с исполнителем «Черепаха»
Исполнитель «Черепаха» работает на плоскости с декартовой системой координат. Начальное положение: начало координат, голова направлена вдоль положительного направления оси ординат, хвост опущен.
Алгоритм:
Повтори 7 раз: вперед 10 направо 120
Вопрос: Сколько точек с целочисленными координатами находится внутри области, ограниченной линиями, заданными этим алгоритмом (точки на линии не учитываются)?
Для решения удобно использовать среду программирования Кумир, подключив исполнителя «Черепаха» командой использовать черепаха. Голова черепахи в Кумире изначально направлена вдоль положительного направления оси ординат, хвост опущен, дополнительные команды не требуются. Алгоритм реализуется циклом нц 7 раз, внутри которого последовательно выполняются команды вперед 10 и направо 120.
После запуска алгоритма в Кумире, установите масштаб 1 к 1 и отключите автомасштабирование для пропорционального отображения координатной сетки. Отключение отображения черепахи упрощает подсчет точек. Подсчет точек с целочисленными координатами внутри треугольника выполняется вручную. Из-за симметричности треугольника подсчет можно ускорить. Внутри треугольника находится 38 точек с целочисленными координатами.
Решение на языке Python
При отсутствии исполнителя «Черепаха» задачу можно решить на языке Python, используя модуль turtle. Для отключения анимации используйте функцию tracer(0). Поскольку в Python голова черепахи изначально направлена вдоль положительного направления оси X, выполните поворот налево на 90 градусов функцией left(90). Цикл for a in range(7) реализует повторение команд forward(10) и right(120).
Для отображения координатной плоскости и точек перебирайте координаты и используйте функции перемещения черепахи goto(x * k, y * k) и отрисовки точки dot(5), где k — масштабный коэффициент (например, 40). Для предотвращения отрисовки лишних линий после построения треугольника, поднимите хвост командой penup(). Функция done() предотвращает автоматическое закрытие окна после завершения работы программы.
Алгоритм с двумя фигурами
Алгоритм рисует две фигуры. Необходимо определить общее количество точек с целочисленными координатами внутри объединения этих фигур, включая точки на линиях.
Алгоритм:
нц 2 раза: вперед 8 вправо 90 вперед 18 вправо 90 поднять хвост вперед 4 вправо 90 вперед 10 влево 90 опустить хвост нц 2 раза: вперед 17 вправо 90 вперед 7 вправо 90
Количество точек определяется путем подсчета точек в каждой фигуре и вычитания количества точек в области пересечения. Подсчет можно упростить, анализируя размеры фигур, заданные в алгоритме. Общее количество точек внутри объединения фигур составляет 275. Этот результат можно проверить, реализовав алгоритм в Python и визуально подсчитав точки на рисунке.
Задание 6 проверяет понимание работы алгоритмов с исполнителями и умение использовать различные инструменты (Кумир и Python) для их решения. Внимательный анализ алгоритма и геометрических свойств фигур позволяет эффективно решать подобные задачи.