Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды:
Определите количество точек с целочисленными координатами, лежащих внутри или на границе области, которую ограничивает заданная алгоритмом линия.
Приведём решение Юрия Красильникова на языке Python.
Черепаха рисует правильный шестиугольник со стороной 10.
Слева шестиугольник ограничен прямой x=0, справа - x=10 · sqrt(3) (приближенно 17.3), снизу - прямыми y=-x/sqrt(3) и y=x/sqrt(3)-10, а сверху - y=x/sqrt(3)+10 и y=-x/sqrt(3)+20.
Количество точек внутри шестиугольника можно найти с помощью следующей программы:
k=0
for x in range(18):
for y in range(-10,20):
if max(-x/3**0.5,x/3**0.5-10) <= y <= min(10+x/3**0.5,-x/3**0.5+20): k+=1
print(k)
Решим эту задачу, используя язык программирования Python.
c = 0
for x in range(0, 20):
for y in range(-5, 15):
if x >= 0 and x <= 10 * 3**0.5 and \
y >= -1/(3**0.5)*x and y >= 1/(3**0.5)*x-10 and \
y <= 1/(3**0.5)*x+10 and y <= -1/(3**0.5)*x+20:
c += 1
print(c)
Ответ: 268.
Приведём построение рисунка Виктории Зиберовой на языке Python.
from turtle import *
lt(90)
size=30
screensize(2000,2000)
tracer(0)
down()
for i in range(6):
fd(10*size)
rt(60)
up()
for x in range(-20,20):
for y in range(-20,20):
setpos(x*size,y*size)
dot(4,'red')
done()
Приведём программу Сергея Донец на PascalABC:
uses turtle;
begin
down;
loop 6 do
begin
Forw(10); TurnRight(60);
end;
end.

