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

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

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

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

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

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

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