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

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

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

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

Задача 1#64013

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

Повтори k [Команда1 Команда2 … КомандаS]

означает, что последовательность из S команд повторится k раз. Черепахе был дан для исполнения следующий алгоритм:

Повтори 7 [Направо 90 Вперёд 4 Повтори 2 [Налево 90 Вперёд 4]]

Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.

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

Python

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

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

tracer(50)  # Ускорение анимации движения Черепахи
screensize(1000, 1000)  # Добавление ползунков для прокрутки
scale = 50  # Масштаб рисунка (вместо x пикселей будет x*scale пикселей)

lt(90)  # Поворачиваем Черепаху вверх (вдоль оси Y)

# Основной алгоритм Черепахи для построения линии
for i in range(7):       # Повторяем 7 раз
    right(90)             # Поворот направо на 90°
    forward(4 * scale)    # Движение вперёд на 4 (с учётом масштаба)
    for j in range(2):    # Вложенный цикл, повторяем 2 раза
        left(90)          # Поворот налево на 90°
        forward(4*scale)  # Движение вперёд на 4

up()  # Поднимаем хвост, чтобы не рисовать линии при постановке точек

# Проставление точек с целочисленными координатами
for x in range(-20, 20):     # Перебор абсцисс точек
    for y in range(-20, 20): # Перебор ординат точек
        goto(x * scale, y * scale)  # Перемещаем Черепаху в точку (x, y)
        dot(5, "blue")               # Ставим точку синего цвета размера 5

update()  # Обновление экрана с конечным рисунком
done()    # Завершение работы (окно остаётся открытым)

PIC

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

Кумир

После запуска программы получим следующую фигуру:

PIC

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

Ответ: 57

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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