6.01 Определение результатов работы простейших алгоритмов управления исполнителями
Ошибка.
Попробуйте повторить позже
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n – целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, и Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке. Запись
Повтори k [Команда1 Команда2 … КомандаS]
означает, что последовательность из S команд повторится k раз. Черепахе был дан для исполнения следующий алгоритм:
Повтори 36 [Направо 60 Вперёд 1 Направо 60 Вперёд 1 Направо 270]
Определите, сколько углов у фигуры, ограниченной линией, заданной данным алгоритмом.
Примечание: выпуклые углы необходимо включить в подсчет.
Решение программой
Напишем программу, используя библиотеку turtle для визуализации движения Черепахи по заданному алгоритму. Основная цель — построить фигуру по алгоритму, а затем определить количество углов, образованных линиями. Для этого сначала выполняется алгоритм Черепахи, который рисует границу фигуры. После построения можно дополнительно расставить точки с целыми координатами для визуальной проверки. Для удобства визуализации применяется масштабирование через переменную scale, иначе фигура будет слишком маленькой. Все перемещения умножаются на scale.
from turtle import * # Модуль для работы с исполнителем Черепаха tracer(0) # Ускорение анимации движения черепахи scale = 40 # Масштаб рисунка left(90) # Поворачиваем Черепаху вверх (вдоль оси Y) # Основной алгоритм построения фигуры for _ in range(36): # Внешний цикл: повторяем 36 раз right(60) # Поворот направо на 60 градусов forward(1 * scale) # Вперёд на 1 * scale right(60) # Поворот направо на 60 градусов forward(1 * scale) # Вперёд на 1 * scale right(270) # Поворот направо на 270 градусов (эквивалентно налево на 90) # Расставляем точки с целыми координатами (для визуальной проверки) up() # Поднимаем хвост чтобы не рисовать лишние линии for x in range(-10, 10): # Перебор абсцисс точек for y in range(-10, 10):# Перебор ординат точек goto(x*scale, y*scale) # Перемещаем черепаху на точку dot(3, "blue") # Ставим точку синего цвета update() # Обновление экрана с конечным рисунком от черепахи done() # Завершение работы (окно остаётся открытым)
Осталось посчитать количество углов, образованных линиями фигуры, включая все выпуклые углы.
Решение Кумиром
Откроем программу «Кумир-Стандарт», выберем в качестве исполнителя Черепаху и впишем необходимый алгоритм. Запустив алгоритм, получим фигуру. Осталось посчитать количество углов — 24.
Специальные программы

Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!
Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение
Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты
Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей
Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!