6.01 Определение результатов работы простейших алгоритмов управления исполнителями
Ошибка.
Попробуйте повторить позже
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится
в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном
хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и
направление его движения. У исполнителя существует две команды: Вперёд (где
— целое число), вызывающая
передвижение Черепахи на
единиц в том направлении, куда указывает её голова, Направо
(где
— целое
число), вызывающая изменение направления движения на
градусов по часовой стрелке, и Налево
(где
— целое число), вызывающая изменение направления движения на
градусов против часовой
стрелки.
Запись Повтори [Команда
Команда
…Команда
] означает, что последовательность из
команд
повторится
раз.
Черепахе был дан для исполнения следующий алгоритм:
Повтори [Вперёд
Направо
Налево
Вперёд
Налево
Вперёд
Налево
Вперёд
Направо
Вперёд
Налево
Вперёд
Налево
Вперёд
Вперёд
Налево
Вперёд
Налево
].
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Python:
from turtle import * # Модуль для работы с исполнителем Черепаха m = 20 # Масштаб tracer(0) screensize(1200,1200) # увеличим размер окна pd() # опускаем хвост left(90) # поворачиваем голову в сторону положительного направления оси ординат # Алгоритм for i in range(10000): forward(10 * m) right(30) left(210) forward(10 * m) left(90) forward(25 * m) left(180) forward(5 * m) right(180) forward(5 * m) left(90) forward(10 * m) left(90) forward(20 * m) forward(5 * m) left(90) forward(10 * m) left(180) pu() # поднимаем хвост # Проставление точек for x in range(-45, 45): for y in range(-30, 40): goto(x * m, y * m) dot(3) done()
Вывод программы:
Аналитически:
cnt = 0 for x in range(1, 100): for y in range(1, 100): if 0 < x < 25 and 0 < y < 10: cnt += 1 print(cnt)
Специальные программы

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

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

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

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

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

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