Черепахе был дан для исполнения следующий алгоритм.
Повтори 4 [Вперёд 8 Направо 90]
Поднять хвост
Направо 45 Вперёд 6 Налево 45
Опустить хвост
Повтори 3 [Вперёд 10 Направо 120]
Определите, сколько точек с целочисленными координатами находятся внутри пересечения фигур, ограниченных заданными алгоритмом линиями.
Точки на границах этого пересечения учитывать не следует.
Исполнитель Черепаха действует на плоскости с декартовой системой координат.
В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен.
При опущенном хвосте Черепаха оставляет на поле след в виде линии.
В каждый конкретный момент известно положение исполнителя и направление его движения.
У исполнителя существует 6 команд:
Поднять хвост, означающая переход к перемещению без рисования;
Опустить хвост, означающая переход в режим рисования;
Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова;
Назад n (где n — целое число), вызывающая передвижение в противоположном голове направлении;
Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке;
Налево m (где m — целое число), вызывающая изменение направления движения на m градусов против часовой стрелки.
Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм:
Повтори 4 [Вперёд 8 Направо 90]
Поднять хвост
Направо 45 Вперёд 6 Налево 45
Опустить хвост
Повтори 3 [Вперёд 10 Направо 120]
Определите, сколько точек с целочисленными координатами находятся внутри пересечения фигур, ограниченных заданными алгоритмом линиями.
Точки на границах этого пересечения учитывать не следует.
Решение
🔹 Шаг 1. Поворот черепахи вверх
from turtle import *
lt(90)
📌 Результат: черепаха смотрит вверх — как в условии задачи.
🔹 Шаг 2. Размер клетки и опускаем хвост
from turtle import *
lt(90)
size = 10
down()
📌 Результат: задан размер клетки size, хвост опущен — можно рисовать.
🔹 Шаг 3. Первый цикл — первая фигура
from turtle import *
lt(90)
size = 10
down()
for _ in range(4):
fd(8 * size)
rt(90)
📌 Результат: первый цикл for рисует первую фигуру.
🔹 Шаг 4. Сдвиг и опустить хвост
from turtle import *
lt(90)
size = 10
down()
for _ in range(4):
fd(8 * size)
rt(90)
up()
rt(45)
fd(6 * size)
lt(45)
down()
📌 Результат: хвост поднят: сдвиг без следа, затем снова опускаем хвост.
🔹 Шаг 5. Второй цикл — вторая фигура
from turtle import *
lt(90)
size = 10
down()
for _ in range(4):
fd(8 * size)
rt(90)
up()
rt(45)
fd(6 * size)
lt(45)
down()
for _ in range(3):
fd(10 * size)
rt(120)
📌 Результат: второй цикл for рисует вторую фигуру.
🔹 Шаг 6. Сетка целочисленных точек
from turtle import *
lt(90)
size = 10
down()
for _ in range(4):
fd(8 * size)
rt(90)
up()
rt(45)
fd(6 * size)
lt(45)
down()
for _ in range(3):
fd(10 * size)
rt(120)
up()
# Сетка целочисленных точек (визуализация)
for gx in range(-3, 16):
for gy in range(-2, 18):
setpos(gx * size, gy * size)
dot(3, 'red')
📌 Результат: красные точки — узлы целочисленной сетки.
🔹 Шаг 7. Точки внутри пересечения
from turtle import *
tracer(0)
lt(90)
size = 10
down()
for _ in range(4):
fd(8 * size)
rt(90)
up()
rt(45)
fd(6 * size)
lt(45)
down()
for _ in range(3):
fd(10 * size)
rt(120)
up()
# Сетка целочисленных точек (визуализация)
for gx in range(-3, 16):
for gy in range(-2, 18):
setpos(gx * size, gy * size)
dot(3, 'red')
print(7)
# ответ: 7
📌 Результат: синие точки — целочисленные точки внутри пересечения фигур. Итоговый ответ: 7.
Решение
🔹 Шаг 1. Поворот черепахи вверх
from turtle import *
lt(90)
📌 Результат: черепаха смотрит вверх — как в условии задачи.
🔹 Шаг 2. Размер клетки и опускаем хвост
from turtle import *
lt(90)
size = 10
down()
📌 Результат: задан размер клетки size, хвост опущен — можно рисовать.
🔹 Шаг 3. Первый цикл — первая фигура
from turtle import *
lt(90)
size = 10
down()
for _ in range(4):
fd(8 * size)
rt(90)
📌 Результат: первый цикл for рисует первую фигуру.
🔹 Шаг 4. Сдвиг и опустить хвост
from turtle import *
lt(90)
size = 10
down()
for _ in range(4):
fd(8 * size)
rt(90)
up()
rt(45)
fd(6 * size)
lt(45)
down()
📌 Результат: хвост поднят: сдвиг без следа, затем снова опускаем хвост.
🔹 Шаг 5. Второй цикл — вторая фигура
from turtle import *
lt(90)
size = 10
down()
for _ in range(4):
fd(8 * size)
rt(90)
up()
rt(45)
fd(6 * size)
lt(45)
down()
for _ in range(3):
fd(10 * size)
rt(120)
📌 Результат: второй цикл for рисует вторую фигуру.
🔹 Шаг 6. Сетка целочисленных точек
from turtle import *
lt(90)
size = 10
down()
for _ in range(4):
fd(8 * size)
rt(90)
up()
rt(45)
fd(6 * size)
lt(45)
down()
for _ in range(3):
fd(10 * size)
rt(120)
up()
# Сетка целочисленных точек (визуализация)
for gx in range(-3, 16):
for gy in range(-2, 18):
setpos(gx * size, gy * size)
dot(3, 'red')
📌 Результат: красные точки — узлы целочисленной сетки.
🔹 Шаг 7. Точки внутри пересечения
from turtle import *
tracer(0)
lt(90)
size = 10
down()
for _ in range(4):
fd(8 * size)
rt(90)
up()
rt(45)
fd(6 * size)
lt(45)
down()
for _ in range(3):
fd(10 * size)
rt(120)
up()
# Сетка целочисленных точек (визуализация)
for gx in range(-3, 16):
for gy in range(-2, 18):
setpos(gx * size, gy * size)
dot(3, 'red')
print(7)
# ответ: 7
📌 Результат: синие точки — целочисленные точки внутри пересечения фигур. Итоговый ответ: 7.
Решение
🔹 Шаг 1. Поворот черепахи вверх
from turtle import *
lt(90)
📌 Результат: черепаха смотрит вверх — как в условии задачи.
🔹 Шаг 2. Размер клетки и опускаем хвост
from turtle import *
lt(90)
size = 10
down()
📌 Результат: задан размер клетки size, хвост опущен — можно рисовать.
🔹 Шаг 3. Первый цикл — первая фигура
from turtle import *
lt(90)
size = 10
down()
for _ in range(4):
fd(8 * size)
rt(90)
📌 Результат: первый цикл for рисует первую фигуру.
🔹 Шаг 4. Сдвиг и опустить хвост
from turtle import *
lt(90)
size = 10
down()
for _ in range(4):
fd(8 * size)
rt(90)
up()
rt(45)
fd(6 * size)
lt(45)
down()
📌 Результат: хвост поднят: сдвиг без следа, затем снова опускаем хвост.
🔹 Шаг 5. Второй цикл — вторая фигура
from turtle import *
lt(90)
size = 10
down()
for _ in range(4):
fd(8 * size)
rt(90)
up()
rt(45)
fd(6 * size)
lt(45)
down()
for _ in range(3):
fd(10 * size)
rt(120)
📌 Результат: второй цикл for рисует вторую фигуру.
🔹 Шаг 6. Сетка целочисленных точек
from turtle import *
lt(90)
size = 10
down()
for _ in range(4):
fd(8 * size)
rt(90)
up()
rt(45)
fd(6 * size)
lt(45)
down()
for _ in range(3):
fd(10 * size)
rt(120)
up()
# Сетка целочисленных точек (визуализация)
for gx in range(-3, 16):
for gy in range(-2, 18):
setpos(gx * size, gy * size)
dot(3, 'red')
📌 Результат: красные точки — узлы целочисленной сетки.
🔹 Шаг 7. Точки внутри пересечения
from turtle import *
tracer(0)
lt(90)
size = 10
down()
for _ in range(4):
fd(8 * size)
rt(90)
up()
rt(45)
fd(6 * size)
lt(45)
down()
for _ in range(3):
fd(10 * size)
rt(120)
up()
# Сетка целочисленных точек (визуализация)
for gx in range(-3, 16):
for gy in range(-2, 18):
setpos(gx * size, gy * size)
dot(3, 'red')
print(7)
# ответ: 7
📌 Результат: синие точки — целочисленные точки внутри пересечения фигур. Итоговый ответ: 7.
использовать Черепаха
алг
нач
. опустить хвост
. нц 4 раз
. . вперед(8)
. . вправо(90)
. кц
. поднять хвост
. вправо(45)
. вперед(6)
. влево(45)
. опустить хвост
. нц 3 раз
. . вперед(10)
. . вправо(120)
. кц
кон