6.01 Определение результатов работы простейших алгоритмов управления исполнителями
Ошибка.
Попробуйте повторить позже
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n-целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова и Направо m (где m-целое число), вызывающая изменение направления движения на m градусов по часовой стрелке. Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз (k – целое число). Черепахе был дан для исполнения следующий алгоритм:
Направо 90
Повтори 5 [Вперёд 10 Направо 144]
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом, учитывая точки на линии.
Решение программой:
Напишем программу, используя библиотеку turtle для визуализации движения Черепахи по заданному алгоритму. Основная цель — построить фигуру по алгоритму, а затем проверить, какие точки с целочисленными координатами лежат внутри неё, включая точки на линии. Для этого сначала выполняется алгоритм Черепахи, который рисует границу области по заданному в условии алгоритму. После этого необходимо отрисовать точки с целочисленными координатами, чтобы после завершения построения подсчитать их количество. Для удобства визуализации используется масштабирование через переменную m, иначе фигура будет слишком маленькой. Все перемещения умножаются на m.
from turtle import * # Модуль для работы с исполнителем Черепаха tracer(0) # Ускоряем отрисовку анимации m = 50 # Масштабирование для увеличения размера фигуры pendown() # Опускаем хвост для рисования линии # Основной алгоритм Черепахи — построение пятиугольника for i in range(5): # Повторяем 5 раз forward(10 * m) # Двигаемся вперёд на 10 (с учётом масштаба) right(144) # Поворот направо на 144° для формирования пятиугольника penup() # Поднимаем хвост для расстановки точек k = 10 # Количество точек по каждой оси # Проставление точек с целочисленными координатами for x in range(-k * m, k * m, m): # Перебор абсцисс точек for y in range(-k * m, k * m, m): # Перебор ординат точек goto(x, y) # Перемещаем Черепаху в точку (x, y) dot(4, ’black’) # Ставим точку размера 4 чёрного цвета update() # Обновляем экран после всех точек done() # Завершение работы (окно остаётся открытым)
После завершения работы программы получим вот такую фигуру.
Осталось только аккуратно посчитать все точки.
Решение на Кумире:
Запишем алгоритм в программе Кумир-Стандарт:
использовать Черепаха алг нач опустить хвост вправо(90) нц 5 раз вперед(10) вправо(144) кц кон
Получаем следующий рисунок:
Специальные программы

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

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

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

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

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

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