Тема 6. Алгоритмы – определение результата

6.01 Определение результатов работы простейших алгоритмов управления исполнителями

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела алгоритмы – определение результата
Решаем задачу:

Ошибка.
Попробуйте повторить позже

Задача 1#88122

Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, ее голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует 5 команд: Поднять хвост, означающая переход к перемещению без рисования; Опустить хвост, означающая переход в режим рисования; Вперед n (где n – целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает ее голова; Назад n (где n – целое число), вызывающая передвижение в противоположном голове направлении; Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке, Налево m (где m – целое число), вызывающая изменение направления движения на m градусов против часовой стрелки.

Черепахе был дан для исполнения следующий алгоритм:

Повтори 8 [Вперед 12 Направо 90 Вперед 8 Направо 90]

Поднять хвост

Вперед 5 Направо 90 Назад 14 Налево 90

Опустить хвост

Повтори 24 [Вперед 7 Направо 90 Вперед 15 Направо 90]

Определите площадь фигуры, которая получается пересечением полученных фигур.

Показать ответ и решение

Программное решение:

Напишем программу, используя библиотеку turtle для визуализации движения Черепахи по заданному алгоритму. Основная цель — построить фигуры по алгоритму, а затем определить площадь их пересечения. Для этого сначала выполняется алгоритм Черепахи, который рисует границы двух фигур. После этого мы проставляем точки с целочисленными координатами, чтобы визуально оценить область пересечения. Для удобства визуализации используется масштабирование через переменную m, иначе фигуры будут слишком маленькими. Все перемещения умножаются на m.

from turtle import *  # Модуль для работы с исполнителем Черепаха

m = 40  # Масштаб
screensize(3000, 3000) # Увеличение размера окна
tracer(0) # Ускорение анимации
left(90) # Начальная ориентация Черепахи (вдоль оси Y)

# Построение первой фигуры по алгоритму
for i in range(8):       # Повторить 8 раз
    forward(12 * m)      # Вперёд 12 (с учётом масштаба)
    right(90)            # Направо 90
    forward(8 * m)       # Вперёд 8
    right(90)            # Направо 90

pu() # Поднимаем хвост для перемещений без рисования
forward(5 * m)  # Смещение вперёд на 5
right(90)       # Поворот направо
backward(14 * m) # Движение назад на 14
left(90)        # Поворот налево

pd() # Опускаем хвост для рисования второй фигуры

# Построение второй фигуры по алгоритму
for i in range(24):      # Повторить 24 раза
    forward(7 * m)       # Вперёд 7
    right(90)            # Направо 90
    forward(15 * m)      # Вперёд 15
    right(90)            # Направо 90

pu() # Поднимаем хвост для расстановки точек

# Проставление точек с целочисленными координатами
for x in range(-60, 60): # Перебор абсцисс точек
    for y in range(-60, 60): # Перебор ординат точек
        goto(x * m, y * m)   # Перемещение к точке (x, y)
        dot(3)               # Ставим точку размера 3

done() # Завершение работы (окно остаётся открытым)

PIC

Осталось посчитать площадь фигуры, которая находится внутри пересечения построенных фигур.

Получаем, что фигура, которая находится на пересечении двух прямоугольников, имеет две стороны: 1 и 7 и является прямоугольником. Значит, ее площадь: 7⋅1 = 7  .

В программе Кумир:

PIC

Ответ: 7

Специальные программы

Все специальные программы

Программа
лояльности v2.0

Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!

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

Бесплатное онлайн-обучение

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

Налоговые вычеты

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

Специальное предложение
для учителей

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

Вернём деньги за курс
за твою сотку на ЕГЭ

Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!

cyberpunkMouse
cyberpunkMouse
Рулетка
Вы можете получить скидку в рулетке!