Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды:
Запись
Черепахе был дан для исполнения следующий алгоритм:
Направо 45 Повтори 7 [Вперёд 5 Направо 45 Вперёд 10 Направо 135].
Определите, сколько точек с целочисленными координатами будут находиться внутри области, которая ограничена линией, заданной алгоритмом. Точки на линии учитывать не следует.
Установить значение сетки 1.
Приведем подсчет количества точек на языке Кумир.
использовать Черепаха
алг
нач
опустить хвост
вправо(45)
нц 7 раз
вперед(5)
вправо(45)
вперед(10)
вправо(135)
кц
кон
После выполнения программы считаем точки: 27.
Ответ: 27.
Решим эту задачу, используя язык программирования Python.
import turtle as t # Подключим модуль черепашка
t.speed(10) # Увеличим скорость черепашки
k = 20 # коэффициент для настраивания более удобного масштаба
t.left(90)
t.right(45)
for i in range(7): # пропишем алгоритм построения фигуры по условию
t.forward(5 * k)
t.right(45)
t.forward(10 * k)
t.right(135)
t.up()
for x in range(14, -1, - 1): # Алгоритм построения точек
for y in range(5, -2, - 1):
t.goto(x * k, y * k)
t.dot(4) # точки размером 4 пикселя
t.done()
Теперь посчитаем количество точек внутри нарисованной фигуры,
Приведём решение Юрия Красильникова на языке Python.
Черепаха рисует параллелограмм, стороны которого лежат на прямых, заданных уравнениями:
y = x
y = 2.5*sqrt(2)
y = x-10
y = 0
Число точек внутри параллелограмма можно подсчитать с помощью следующей программы:
k = 0
for x in range(0,20):
for y in range(0,10):
if max(0,x-10) < y < min(x,2.5*2**0.5): k+=1
print(k)

