№6 — примеры решений
Один эталонный разбор.
Условие
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует 5 команд: Поднять хвост, означающая переход к перемещению без рисования; Опустить хвост, означающая переход в режим рисования; Вперёд n (где n – целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Назад n (где n – целое число), вызывающая передвижение в противоположном голове направлении; Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке, Налево m (где m – целое число), вызывающая изменение направления движения на m градусов против часовой стрелки.
Запись Повтори k [Команда1 Команда2 ... КомандаS] означает, что последовательность из S команд повторится k раз.
Черепаха выполнила следующую программу:
Повтори 6 [Вперёд 33 Направо 90 Вперёд 20 Направо 90]
Поднять хвост
Вперёд 3 Направо 90 Вперёд 9 Налево 90
Опустить хвост
Повтори 6 [Вперёд 24 Направо 90 Вперёд 25 Направо 90]
Определите, сколько точек с целочисленными координатами находится внутри пересечения фигур, ограниченных заданными алгоритмом линиями. Точки на границах этого пересечения учитывать не следует.
Решение
# Задача 6: Исполнитель Черепаха
import math
x, y = 0.0, 0.0
angle = 90.0 # направление вдоль оси Y (вверх)
# Программа из условия задачи (команды в цикле):
# ПОВТОРИ n РАЗ
# ВПЕРЁД d
# НАПРАВО/НАЛЕВО a
# КОНЕЦ
def forward(dist):
global x, y
rad = math.radians(angle)
x += dist * math.cos(rad)
y += dist * math.sin(rad)
def right(a):
global angle
angle -= a
def left(a):
global angle
angle += a
# Выполнить программу из условия задачи
# ...
# Вычислить периметр / площадь / другой результат
# print(int(math.sqrt(x**2 + y**2)))
# Ответ: 230
Ответ:230
📚
Все задачи с разбором
19
Условие
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует 6 команд: Поднять хвост, означающая переход к перемещению без рисования; Опустить хвост, означающая переход в режим рисования; Вперёд n, Назад n, Направо m, Налево m. Запись Повтори k [Команда1 Команда2 ... КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм:
Повтори 2 [Вперёд 1 Налево 270 Вперёд 16 Направо 90]
Поднять хвост
Назад 4 Направо 90 Вперёд 10 Налево 90
Опустить хвост
Повтори 2 [Вперёд 17 Направо 90 Вперёд 7 Направо 90].
Определите площадь объединения фигур, ограниченных заданными алгоритмом линиями.
Решение
# Задача 6: Исполнитель Черепаха
import math
x, y = 0.0, 0.0
angle = 90.0 # направление вдоль оси Y (вверх)
# Программа из условия задачи (команды в цикле):
# ПОВТОРИ n РАЗ
# ВПЕРЁД d
# НАПРАВО/НАЛЕВО a
# КОНЕЦ
def forward(dist):
global x, y
rad = math.radians(angle)
x += dist * math.cos(rad)
y += dist * math.sin(rad)
def right(a):
global angle
angle -= a
def left(a):
global angle
angle += a
# Выполнить программу из условия задачи
# ...
# Вычислить периметр / площадь / другой результат
# print(int(math.sqrt(x**2 + y**2)))
# Ответ: 129
Ответ:129
Условие
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует 6 команд: Поднять хвост, означающая переход к перемещению без рисования; Опустить хвост, означающая переход в режим рисования; Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Назад n (где n — целое число), вызывающая передвижение в противоположном голове направлении; Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке, Налево m (где m — целое число), вызывающая изменение направления движения на m градусов против часовой стрелки. Запись Повтори k [Команда1 Команда2 ... КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм:
Повтори 2 [Вперёд 14 Налево 270 Назад 12 Направо 90]
Поднять хвост
Вперёд 9 Направо 90 Назад 7 Налево 90
Опустить хвост
Повтори 2 [Вперёд 13 Направо 90 Вперёд 6 Направо 90]
Определите, сколько точек с целочисленными координатами находятся внутри объединения фигур, ограниченного заданными алгоритмом линиями, включая точки на линиях.
Решение
# Задача 6: Исполнитель Черепаха
import math
x, y = 0.0, 0.0
angle = 90.0 # направление вдоль оси Y (вверх)
# Программа из условия задачи (команды в цикле):
# ПОВТОРИ n РАЗ
# ВПЕРЁД d
# НАПРАВО/НАЛЕВО a
# КОНЕЦ
def forward(dist):
global x, y
rad = math.radians(angle)
x += dist * math.cos(rad)
y += dist * math.sin(rad)
def right(a):
global angle
angle -= a
def left(a):
global angle
angle += a
# Выполнить программу из условия задачи
# ...
# Вычислить периметр / площадь / другой результат
# print(int(math.sqrt(x**2 + y**2)))
# Ответ: 251
Ответ:251
Условие
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует 6 команд: Поднять хвост, означающая переход к перемещению без рисования; Опустить хвост, означающая переход в режим рисования; Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Назад n (где n — целое число), вызывающая передвижение в противоположном голове направлении; Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке; Налево m (где m — целое число), вызывающая изменение направления движения на m градусов против часовой стрелки. Запись Повтори k [Команда1 Команда2 ... КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм: Повтори 8 [Вперёд 6 Направо 90 Вперёд 22 Направо 90] Поднять хвост Вперёд 5 Направо 90 Вперёд 5 Налево 90 Опустить хвост Повтори 8 [Вперёд 52 Направо 90 Вперёд 77 Направо 90]. Определите площадь пересечения фигур, ограниченных заданными алгоритмами линиями.
Решение
# Задача 6: Исполнитель Черепаха
import math
x, y = 0.0, 0.0
angle = 90.0 # направление вдоль оси Y (вверх)
# Программа из условия задачи (команды в цикле):
# ПОВТОРИ n РАЗ
# ВПЕРЁД d
# НАПРАВО/НАЛЕВО a
# КОНЕЦ
def forward(dist):
global x, y
rad = math.radians(angle)
x += dist * math.cos(rad)
y += dist * math.sin(rad)
def right(a):
global angle
angle -= a
def left(a):
global angle
angle += a
# Выполнить программу из условия задачи
# ...
# Вычислить периметр / площадь / другой результат
# print(int(math.sqrt(x**2 + y**2)))
# Ответ: 187
Ответ:187
Условие
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует 5 команд: Поднять хвост, означающая переход к перемещению без рисования; Опустить хвост, означающая переход в режим рисования; Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Назад n (где n — целое число), вызывающая передвижение в противоположном голове направлении; Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке, Налево m (где m — целое число), вызывающая изменение направления движения на m градусов против часовой стрелки. Запись Повтори k [Команда1 Команда2 ... КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм:
Повтори 3 [Вперёд 27 Направо 90 Вперёд 12 Направо 90]
Поднять хвост
Вперёд 4 Направо 90 Вперёд 6 Налево 90
Опустить хвост
Повтори 4 [Вперёд 83 Направо 90 Вперёд 77 Направо 90]
Определите, сколько точек с целочисленными координатами будут находиться внутри объединения фигур, ограниченных заданным алгоритмом линиями, включая точки на границах этого объединения.
Решение
# Задача 6: Исполнитель Черепаха
import math
x, y = 0.0, 0.0
angle = 90.0 # направление вдоль оси Y (вверх)
# Программа из условия задачи (команды в цикле):
# ПОВТОРИ n РАЗ
# ВПЕРЁД d
# НАПРАВО/НАЛЕВО a
# КОНЕЦ
def forward(dist):
global x, y
rad = math.radians(angle)
x += dist * math.cos(rad)
y += dist * math.sin(rad)
def right(a):
global angle
angle -= a
def left(a):
global angle
angle += a
# Выполнить программу из условия задачи
# ...
# Вычислить периметр / площадь / другой результат
# print(int(math.sqrt(x**2 + y**2)))
# Ответ: 6748
Ответ:6748
Условие
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует 5 команд: Поднять хвост, означающая переход к перемещению без рисования; Опустить хвост, означающая переход в режим рисования; Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Назад n (где n — целое число), вызывающая передвижение в противоположном голове направлении; Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке, Налево m (где m — целое число), вызывающая изменение направления движения на m градусов против часовой стрелки.
Запись Повтори k [Команда1 Команда2 ... КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм:
Повтори 9 [Вперёд 27 Направо 90 Вперёд 30 Направо 90]
Поднять хвост
Вперёд 3 Направо 90 Вперёд 6 Налево 90
Опустить хвост
Повтори 9 [Вперёд 77 Направо 90 Вперёд 66 Направо 90]
Определите периметр области пересечения фигур, ограниченных заданным алгоритмом линиями.
Решение
# Задача 6: Исполнитель Черепаха
import math
x, y = 0.0, 0.0
angle = 90.0 # направление вдоль оси Y (вверх)
# Программа из условия задачи (команды в цикле):
# ПОВТОРИ n РАЗ
# ВПЕРЁД d
# НАПРАВО/НАЛЕВО a
# КОНЕЦ
def forward(dist):
global x, y
rad = math.radians(angle)
x += dist * math.cos(rad)
y += dist * math.sin(rad)
def right(a):
global angle
angle -= a
def left(a):
global angle
angle += a
# Выполнить программу из условия задачи
# ...
# Вычислить периметр / площадь / другой результат
# print(int(math.sqrt(x**2 + y**2)))
# Ответ: 96
Ответ:96
Условие
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует 5 команд: Поднять хвост, означающая переход к перемещению без рисования; Опустить хвост, означающая переход в режим рисования; Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Назад n (где n — целое число), вызывающая передвижение в противоположном голове направлении; Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке, Налево m (где m — целое число), вызывающая изменение направления движения на m градусов против часовой стрелки. Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм:
Повтори 3 [Вперёд 27 Направо 90 Вперёд 12 Направо 90]
Поднять хвост
Вперёд 4 Направо 90 Вперёд 6 Налево 90
Опустить хвост
Повтори 4 [Вперёд 83 Направо 90 Вперёд 77 Направо 90]
Определите, сколько точек с целочисленными координатами будут находиться внутри объединения фигур, ограниченных заданным алгоритмом линиями, включая точки на границах этого объединения.
Решение
# Задача 6: Исполнитель Черепаха
import math
x, y = 0.0, 0.0
angle = 90.0 # направление вдоль оси Y (вверх)
# Программа из условия задачи (команды в цикле):
# ПОВТОРИ n РАЗ
# ВПЕРЁД d
# НАПРАВО/НАЛЕВО a
# КОНЕЦ
def forward(dist):
global x, y
rad = math.radians(angle)
x += dist * math.cos(rad)
y += dist * math.sin(rad)
def right(a):
global angle
angle -= a
def left(a):
global angle
angle += a
# Выполнить программу из условия задачи
# ...
# Вычислить периметр / площадь / другой результат
# print(int(math.sqrt(x**2 + y**2)))
# Ответ: 6748
Ответ:6748
Условие
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует 5 команд: Поднять хвост, означающая переход к перемещению без рисования; Опустить хвост, означающая переход в режим рисования; Вперёд n (где n – целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Назад n (где n – целое число), вызывающая передвижение в противоположном голове направлении; Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке, Налево m (где m – целое число), вызывающая изменение направления движения на m градусов против часовой стрелки. Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм:
Повтори 2 [Вперёд 28 Направо 90 Вперёд 18 Направо 90]
Поднять хвост
Вперёд 14 Направо 90 Вперёд 10 Налево 90
Опустить хвост
Повтори 2 [Вперёд 30 Направо 90 Вперёд 7 Направо 90]
Определите, сколько точек с целочисленными координатами находится внутри объединения фигур, ограниченного заданным алгоритмом линиями, включая точки на линиях.
Решение
# Задача 6: Исполнитель Черепаха
import math
x, y = 0.0, 0.0
angle = 90.0 # направление вдоль оси Y (вверх)
# Программа из условия задачи (команды в цикле):
# ПОВТОРИ n РАЗ
# ВПЕРЁД d
# НАПРАВО/НАЛЕВО a
# КОНЕЦ
def forward(dist):
global x, y
rad = math.radians(angle)
x += dist * math.cos(rad)
y += dist * math.sin(rad)
def right(a):
global angle
angle -= a
def left(a):
global angle
angle += a
# Выполнить программу из условия задачи
# ...
# Вычислить периметр / площадь / другой результат
# print(int(math.sqrt(x**2 + y**2)))
# Ответ: 679
Ответ:679
Условие
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует 5 команд: Поднять хвост, означающая переход к перемещению без рисования; Опустить хвост, означающая переход в режим рисования; Вперёд n (где n – целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Назад n (где n – целое число), вызывающая передвижение в противоположном голове направлении; Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке, Налево m (где m – целое число), вызывающая изменение направления движения на m градусов против часовой стрелки.
Запись Повтори k [Команда1 Команда2 ... КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм:
Направо 90 Повтори 7 [Направо 45 Вперёд 11 Направо 45].
Определите, сколько точек с целочисленными координатами будут находиться внутри области, которая ограничена линией, заданной алгоритмом. Точки на линии учитывать не следует.
Решение
# Задача 6: Исполнитель Черепаха
import math
x, y = 0.0, 0.0
angle = 90.0 # направление вдоль оси Y (вверх)
# Программа из условия задачи (команды в цикле):
# ПОВТОРИ n РАЗ
# ВПЕРЁД d
# НАПРАВО/НАЛЕВО a
# КОНЕЦ
def forward(dist):
global x, y
rad = math.radians(angle)
x += dist * math.cos(rad)
y += dist * math.sin(rad)
def right(a):
global angle
angle -= a
def left(a):
global angle
angle += a
# Выполнить программу из условия задачи
# ...
# Вычислить периметр / площадь / другой результат
# print(int(math.sqrt(x**2 + y**2)))
# Ответ: 113
Ответ:113
Условие
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует 5 команд: Поднять хвост, означающая переход к перемещению без рисования; Опустить хвост, означающая переход в режим рисования; Вперёд n (где n – целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Назад n (где n – целое число), вызывающая передвижение в противоположном голове направлении; Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке, Налево m (где m – целое число), вызывающая изменение направления движения на m градусов против часовой стрелки.
Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм:
Повтори 2 [Вперёд 3 Направо 90 Вперёд 20 Направо 90]
Поднять хвост
Назад 8 Направо 90 Вперёд 9 Налево 90
Опустить хвост
Повтори 2 [Вперёд 16 Направо 90 Вперёд 8 Направо 90]
Определите, сколько точек с целочисленными координатами находится внутри объединения фигур, ограниченного заданным алгоритмом линиями, включая точки на линиях.
Решение
# Задача 6: Исполнитель Черепаха
import math
x, y = 0.0, 0.0
angle = 90.0 # направление вдоль оси Y (вверх)
# Программа из условия задачи (команды в цикле):
# ПОВТОРИ n РАЗ
# ВПЕРЁД d
# НАПРАВО/НАЛЕВО a
# КОНЕЦ
def forward(dist):
global x, y
rad = math.radians(angle)
x += dist * math.cos(rad)
y += dist * math.sin(rad)
def right(a):
global angle
angle -= a
def left(a):
global angle
angle += a
# Выполнить программу из условия задачи
# ...
# Вычислить периметр / площадь / другой результат
# print(int(math.sqrt(x**2 + y**2)))
# Ответ: 201
Ответ:201
Условие
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует 5 команд: Поднять хвост, означающая переход к перемещению без рисования; Опустить хвост, означающая переход в режим рисования; Вперёд n (где n – целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Назад n (где n – целое число), вызывающая передвижение в противоположном голове направлении; Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке, Налево m (где m – целое число), вызывающая изменение направления движения на m градусов против часовой стрелки.
Запись Повтори k [Команда1 Команда2 ... КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм:
Повтори 2 [Вперёд 20 Налево 270 Вперёд 12 Направо 90]
Поднять хвост
Вперёд 9 Направо 90 Вперёд 7 Налево 90
Опустить хвост
Повтори 2 [Вперёд 13 Направо 90 Вперёд 6 Направо 90]
Определите, сколько точек с целочисленными координатами находится внутри объединения фигур, ограниченного заданным алгоритмом линиями, включая точки на линиях.
Решение
# Задача 6: Исполнитель Черепаха
import math
x, y = 0.0, 0.0
angle = 90.0 # направление вдоль оси Y (вверх)
# Программа из условия задачи (команды в цикле):
# ПОВТОРИ n РАЗ
# ВПЕРЁД d
# НАПРАВО/НАЛЕВО a
# КОНЕЦ
def forward(dist):
global x, y
rad = math.radians(angle)
x += dist * math.cos(rad)
y += dist * math.sin(rad)
def right(a):
global angle
angle -= a
def left(a):
global angle
angle += a
# Выполнить программу из условия задачи
# ...
# Вычислить периметр / площадь / другой результат
# print(int(math.sqrt(x**2 + y**2)))
# Ответ: 299
Ответ:299
Условие
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует 5 команд: Поднять хвост, означающая переход к перемещению без рисования; Опустить хвост, означающая переход в режим рисования; Вперёд n (где n – целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Назад n (где n – целое число), вызывающая передвижение в противоположном голове направлении; Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке, Налево m (где m – целое число), вызывающая изменение направления движения на m градусов против часовой стрелки.
Запись Повтори k [Команда1 Команда2 ... КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм:
повтори 5 [вперёд 40 вправо 90 вперёд 46 вправо 90]
поднять хвост
вперёд 19 вправо 90 вперёд 19 влево 90
опустить хвост
повтори 5 [вперёд 37 вправо 90 вперёд 19 вправо 90]
Найдите количество точек внутри объединения включая точки на линиях.
Решение
# Задача 6: Исполнитель Черепаха
import math
x, y = 0.0, 0.0
angle = 90.0 # направление вдоль оси Y (вверх)
# Программа из условия задачи (команды в цикле):
# ПОВТОРИ n РАЗ
# ВПЕРЁД d
# НАПРАВО/НАЛЕВО a
# КОНЕЦ
def forward(dist):
global x, y
rad = math.radians(angle)
x += dist * math.cos(rad)
y += dist * math.sin(rad)
def right(a):
global angle
angle -= a
def left(a):
global angle
angle += a
# Выполнить программу из условия задачи
# ...
# Вычислить периметр / площадь / другой результат
# print(int(math.sqrt(x**2 + y**2)))
# Ответ: 2247
Ответ:2247
Условие
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует 5 команд: Поднять хвост, означающая переход к перемещению без рисования; Опустить хвост, означающая переход в режим рисования; Вперёд n (где n – целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Назад n (где n – целое число), вызывающая передвижение в противоположном голове направлении; Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке, Налево m (где m – целое число), вызывающая изменение направления движения на m градусов против часовой стрелки.
Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм.
Повтори 5 [Вперёд 37 Направо 90 Вперёд 44 Направо 90]
Поднять хвост
Назад 18 Направо 90 Вперёд 29 Налево 90
Опустить хвост
Повтори 5 [Вперёд 31 Направо 90 Вперёд 35 Направо 90]
Определите, сколько точек с целочисленными координатами находятся внутри пересечения фигур, ограниченного заданным алгоритмом линиями, включая точки на линиях.
Решение
# Задача 6: Исполнитель Черепаха
import math
x, y = 0.0, 0.0
angle = 90.0 # направление вдоль оси Y (вверх)
# Программа из условия задачи (команды в цикле):
# ПОВТОРИ n РАЗ
# ВПЕРЁД d
# НАПРАВО/НАЛЕВО a
# КОНЕЦ
def forward(dist):
global x, y
rad = math.radians(angle)
x += dist * math.cos(rad)
y += dist * math.sin(rad)
def right(a):
global angle
angle -= a
def left(a):
global angle
angle += a
# Выполнить программу из условия задачи
# ...
# Вычислить периметр / площадь / другой результат
# print(int(math.sqrt(x**2 + y**2)))
# Ответ: 224
Ответ:224
Условие
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует 5 команд: Поднять хвост, означающая переход к перемещению без рисования; Опустить хвост, означающая переход в режим рисования; Вперёд n (где n – целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Назад n (где n – целое число), вызывающая передвижение в противоположном голове направлении; Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке, Налево m (где m – целое число), вызывающая изменение направления движения на m градусов против часовой стрелки.
Запись Повтори k [Команда1 Команда2 ... КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм:
Повтори 9 [Вперёд 22 Направо 90 Вперёд 6 Направо 90]
Поднять хвост
Вперёд 1 Направо 90 Вперёд 5 Налево 90
Опустить хвост
Повтори 9 [Вперёд 53 Направо 90 Вперёд 75 Направо 90]
Определите периметр области пересечения фигур, ограниченных заданными алгоритмом линиями.
Решение
# Задача 6: Исполнитель Черепаха
import math
x, y = 0.0, 0.0
angle = 90.0 # направление вдоль оси Y (вверх)
# Программа из условия задачи (команды в цикле):
# ПОВТОРИ n РАЗ
# ВПЕРЁД d
# НАПРАВО/НАЛЕВО a
# КОНЕЦ
def forward(dist):
global x, y
rad = math.radians(angle)
x += dist * math.cos(rad)
y += dist * math.sin(rad)
def right(a):
global angle
angle -= a
def left(a):
global angle
angle += a
# Выполнить программу из условия задачи
# ...
# Вычислить периметр / площадь / другой результат
# print(int(math.sqrt(x**2 + y**2)))
# Ответ: 44
Ответ:44
Условие
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует 5 команд: Поднять хвост, означающая переход к перемещению без рисования; Опустить хвост, означающая переход в режим рисования; Вперёд n (где n – целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Назад n (где n – целое число), вызывающая передвижение в противоположном голове направлении; Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке, Налево m (где m – целое число), вызывающая изменение направления движения на m градусов против часовой стрелки.
Запись Повтори k [Команда1 Команда2 ... КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм.
Повтори 3 [Вперёд 39 Направо 90 Вперёд 48 Направо 90]
Поднять хвост
Вперёд 27 Направо 90 Вперёд 24 Налево 90
Опустить хвост
Повтори 3 [Вперёд 29 Направо 90 Назад 18 Направо 90]
Определите площадь объединения фигур, ограниченного заданными алгоритмом линиями.
Решение
# Задача 6: Исполнитель Черепаха
import math
x, y = 0.0, 0.0
angle = 90.0 # направление вдоль оси Y (вверх)
# Программа из условия задачи (команды в цикле):
# ПОВТОРИ n РАЗ
# ВПЕРЁД d
# НАПРАВО/НАЛЕВО a
# КОНЕЦ
def forward(dist):
global x, y
rad = math.radians(angle)
x += dist * math.cos(rad)
y += dist * math.sin(rad)
def right(a):
global angle
angle -= a
def left(a):
global angle
angle += a
# Выполнить программу из условия задачи
# ...
# Вычислить периметр / площадь / другой результат
# print(int(math.sqrt(x**2 + y**2)))
# Ответ: 2178
Ответ:2178
Условие
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен.
При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует 5 команд: Поднять хвост, означающая переход к перемещению без рисования; Опустить хвост, означающая переход в режим рисования; Вперёд n (где n – целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Назад n (где n – целое число), вызывающая передвижение в противоположном голове направлении; Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке, Налево m (где m – целое число), вызывающая изменение направления движения на m градусов против часовой стрелки.
Запись Повтори k [Команда1 Команда2 ... КомандаS] означает, что последовательность из S команд повторится k раз.
Черепаха выполнила следующую программу:
Повтори 2 [Вперёд 3 Налево 90 Назад 10 Налево 90]
Поднять хвост
Назад 10 Направо 90 Вперёд 8 Налево 90
Опустить хвост
Повтори 2 [Вперёд 16 Направо 90 Вперёд 8 Направо 90].
Определите площадь объединения фигур, ограниченных заданными алгоритмом линиями.
Решение
# Задача 6: Исполнитель Черепаха
import math
x, y = 0.0, 0.0
angle = 90.0 # направление вдоль оси Y (вверх)
# Программа из условия задачи (команды в цикле):
# ПОВТОРИ n РАЗ
# ВПЕРЁД d
# НАПРАВО/НАЛЕВО a
# КОНЕЦ
def forward(dist):
global x, y
rad = math.radians(angle)
x += dist * math.cos(rad)
y += dist * math.sin(rad)
def right(a):
global angle
angle -= a
def left(a):
global angle
angle += a
# Выполнить программу из условия задачи
# ...
# Вычислить периметр / площадь / другой результат
# print(int(math.sqrt(x**2 + y**2)))
# Ответ: 152
Ответ:152
Условие
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n – целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке.
Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз (где k – целое число).
Черепахе был дан для исполнения следующий алгоритм:
Направо 315 Повтори 7 [Вперёд 12 Направо 45 Вперёд 6 Направо 135].
Определите, сколько точек с целочисленными координатами будут находиться внутри области, которая ограничена линией, заданной алгоритмом. Точки на линии учитывать не следует.
Решение
# Задача 6: Исполнитель Черепаха
import math
x, y = 0.0, 0.0
angle = 90.0 # направление вдоль оси Y (вверх)
# Программа из условия задачи (команды в цикле):
# ПОВТОРИ n РАЗ
# ВПЕРЁД d
# НАПРАВО/НАЛЕВО a
# КОНЕЦ
def forward(dist):
global x, y
rad = math.radians(angle)
x += dist * math.cos(rad)
y += dist * math.sin(rad)
def right(a):
global angle
angle -= a
def left(a):
global angle
angle += a
# Выполнить программу из условия задачи
# ...
# Вычислить периметр / площадь / другой результат
# print(int(math.sqrt(x**2 + y**2)))
# Ответ: 40
Ответ:40
Условие
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует 6 команд: Поднять хвост, означающая переход к перемещению без рисования; Опустить хвост, означающая переход в режим рисования; Вперёд n (где n – целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Назад n (где n – целое число), вызывающая передвижение в противоположном голове направлении; Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке; Налево m (где m – целое число), вызывающая изменение направления движения на m градусов против часовой стрелки.
Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм:
Направо 7 Повтори 8 [Вперёд 95 Направо 135 Вперёд 83 Направо 45].
Определите площадь фигуры, полученной в результате выполнения алгоритма. В ответе укажите ближайшее к полученному результату целое число.
Решение
# Задача 6: Исполнитель Черепаха
import math
x, y = 0.0, 0.0
angle = 90.0 # направление вдоль оси Y (вверх)
# Программа из условия задачи (команды в цикле):
# ПОВТОРИ n РАЗ
# ВПЕРЁД d
# НАПРАВО/НАЛЕВО a
# КОНЕЦ
def forward(dist):
global x, y
rad = math.radians(angle)
x += dist * math.cos(rad)
y += dist * math.sin(rad)
def right(a):
global angle
angle -= a
def left(a):
global angle
angle += a
# Выполнить программу из условия задачи
# ...
# Вычислить периметр / площадь / другой результат
# print(int(math.sqrt(x**2 + y**2)))
# Ответ: 5576
Ответ:5576
Условие
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует 6 команд: Поднять хвост, означающая переход к перемещению без рисования; Опустить хвост, означающая переход в режим рисования; Вперёд n (где n – целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Назад n (где n – целое число), вызывающая передвижение в противоположном голове направлении; Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке; Налево m (где m – целое число), вызывающая изменение направления движения на m градусов против часовой стрелки.
Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм:
Повтори 5 [Вперёд 29 Направо 90 Вперёд 27 Направо 90]
Поднять хвост
Вперёд 3 Направо 90 Вперёд 9 Налево 90
Опустить хвост
Повтори 5 [Вперёд 72 Направо 90 Вперёд 95 Направо 90]
Определите, сколько точек с целочисленными координатами находятся внутри области пересечения фигур, ограниченных заданными алгоритмом линиями, включая точки на границах этого пересечения.
Решение
Первая фигура — прямоугольник с координатами вершин (0;0), (0;29), (27;29), (27;0).
После команды «Поднять хвост» Черепаха переходит в точку (18;26), затем строит второй прямоугольник с координатами вершин (18;26), (18;−46), (−77;−46), (−77;26).
Область пересечения прямоугольников задаётся условиями:
0 ≤ x ≤ 18,
0 ≤ y ≤ 26.
Целых значений x: 19, целых значений y: 27. Так как точки на границе учитываются, всего 19 · 27 = 513.
Ответ: 513.
Ответ:513
Условие
Исполнитель Черепаха находится в начале координат, направление движения — вправо. Черепаха выполняет следующую программу:
ВПЕРЁД 50
НАПРАВО 90
ВПЕРЁД 40
НАПРАВО 90
ВПЕРЁД 20
Каждая команда ВПЕРЁД N перемещает Черепаху на N единиц в текущем направлении. Каждая команда НАПРАВО 90 поворачивает Черепаху на 90° по часовой стрелке.
Найдите расстояние от начального положения Черепахи до её конечного положения после выполнения программы. В ответе запишите только целое число.
Решение
Трассировка:
Старт: (0, 0), направление вправо (+x).
ВПЕРЁД 50 → (50, 0)
НАПРАВО 90 → направление вниз (−y)
ВПЕРЁД 40 → (50, −40)
НАПРАВО 90 → направление влево (−x)
ВПЕРЁД 20 → (30, −40)
import math
x, y = 30.0, -40.0 # конечное положение
dist = math.sqrt(x**2 + y**2)
print(int(dist)) # 50 (египетский треугольник 30-40-50)
Расстояние = √(30² + 40²) = √2500 =
50.
Ответ:50