Тип 6 № 
58248
Добавить в вариант
(1 балл)
11
Сообщить об ошибке
Исполнитель Цапля действует на плоскости с декартовой системой координат. В начальный момент Цапля находится в начале координат, её клюв направлен вдоль положительного направления оси ординат, клюв опущен. При опущенном клюве Цапля оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует три команды: Вперёд n (где n  — целое число), вызывающая передвижение Цапли на n единиц в том направлении, куда указывает её клюв; Направо m (где m  — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке; Дуга r, a, b, α (где r, a, b, α  — целые числа), вызывающая передвижение Цапли из текущей точки с координатами (x, y) по дуге окружности с центром в точке с координатами  левая круглая скобка x плюс a, y плюс b правая круглая скобка  и радиусом r, градусная мера дуги равна α, движение по дуге идёт по часовой стрелке.

Запись Повтори k [Команда 1 Команда 2 ... Команда S] означает, что последовательность из S команд повторится k раз.

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

Направо 180 Вперёд 5 Направо 90 Вперёд 50 Направо 90 Вперёд 5 Повтори 5 [Дуга 5, 5, 0, 180].

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

Ответ: 391
Решение.

import turtle as t
t.up()
t.forward(400)
t.left(90)
t.down()
k=20
t.right(180)
t.forward(5*k)
t.right(90)
t.forward(50*k)
t.right(90)
t.forward(5*k)
t.circle(-5*k,180)
t.circle(5*k,-180)
t.circle(-5*k,180)
t.circle(5*k,-180)
t.circle(-5*k,180)
t.up()
for x in range(-50,0):
    for y in range(-6,6):
        t.goto(400+x*k,y*k)
        t.dot(2,'red')
t.done()
