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

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

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

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

Задача 1#63027

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

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

Повтори 10 [Вперёд 15 Направо 60].

Сколько сторон у полученной фигуры?

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

Решение программой

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

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

tracer(0)  # Ускоряем анимацию движения Черепахи
scale = 10  # Масштаб рисунка
left(90)    # Поворачиваем Черепаху вверх (вдоль оси Y)

# Построение фигуры по алгоритму
# Внешний цикл: повторяем 10 раз
for _ in range(10):
    forward(15 * scale)  # Движение вперёд на 15 (с учётом масштаба)
    right(60)            # Поворот направо на 60°

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

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

PIC

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

Решение Кумиром

PIC

Алгоритм заставляет черепаху двигаться вперед на 15 единиц и затем поворачивать на 60 градусов направо. Это повторяется 10 раз.

Шесть таких циклов (60 градусов * 6) возвращают черепаху к исходной точке, образуя шестиугольник. Таким образом, итоговая фигура состоит из 6 сторон.

Ответ: 6

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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