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

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

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

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

Задача 1#77716

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

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

Повтори 3 [Вперёд 12 Направо 120]

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

Вперёд 10 Направо 90 Вперёд 3

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

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

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

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

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

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

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

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

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

pu() # Поднимаем хвост, чтобы переместиться без рисования
forward(10*m) # Двигаемся вперёд на 10
right(90)     # Поворот направо на 90°
forward(3*m)  # Вперёд на 3
pd()          # Опускаем хвост для рисования второй фигуры

# Построение второй фигуры (квадрат по алгоритму)
for i in range(4):      # Повторяем 4 раза
    forward(5*m)        # Вперёд на 5
    right(90)            # Поворот направо на 90°

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

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

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

PIC

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

 

Решение в Кумире:

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

PIC

Ответ: 13

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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