Вопрос:

1. Исполнитель Черепаха передвигается по плоскости и оставляет след в виде линии. Черепаха может выполнять три команды: Вперёд n (n — число), Направо m (m — число) и Налево m (m — число). По команде Вперёд n Черепаха перемещается вперёд на n единиц. По команде Направо m Черепаха поворачивается на месте на m градусов по часовой стрелке, при этом соответственно меняется направление дальнейшего движения. По команде Налево m Черепаха поворачивается на месте на m градусов против часовой стрелки, при этом соответственно меняется направление дальнейшего движения. В начальный момент Черепаха находится в начале координат и направлена вверх (вдоль положительного направления оси ординат). Запись Повтори k [Команда1 Команда2 ... Команда S] означает, что заданная последовательность из S команд повторится k раз. Черепаха выполнила следующую программу (x в тексте программы — некоторое натуральное число): Повтори 3 [Вперёд 7 Направо 90] Вперёд 10 Повтори 3 [Налево 90 Вперёд 6]. Определите, сколько различных точек с целочисленными координатами будет находиться на линиях, полученных при выполнении данной программы.

Ответ:

Решение:

1. Первый цикл: Повтори 3 [Вперёд 7 Направо 90]

  • Начальное положение: (0,0), направление: вверх.
  • 1-я итерация: Вперёд 7 → (0,7), Направо 90 → направление: вправо.
  • 2-я итерация: Вперёд 7 → (7,7), Направо 90 → направление: вниз.
  • 3-я итерация: Вперёд 7 → (7,0), Направо 90 → направление: влево.

После первого цикла Черепаха находится в точке (7,0), направление: влево.

2. Команда: Вперёд 10

  • Черепаха движется из (7,0) на 10 единиц влево → (-3,0), направление: влево.

3. Второй цикл: Повтори 3 [Налево 90 Вперёд 6]

  • Начальное положение: (-3,0), направление: влево.
  • 1-я итерация: Налево 90 → направление: вниз. Вперёд 6 → (-3,-6).
  • 2-я итерация: Налево 90 → направление: вправо. Вперёд 6 → (3,-6).
  • 3-я итерация: Налево 90 → направление: вверх. Вперёд 6 → (3,0).

Анализ точек:

  • Первый цикл:
  • (0,0) → (0,7) — 8 точек.
  • (0,7) → (7,7) — 8 точек.
  • (7,7) → (7,0) — 8 точек.
  • Второй этап:
  • (7,0) → (-3,0) — 11 точек.
  • Третий цикл:
  • (-3,0) → (-3,-6) — 7 точек.
  • (-3,-6) → (3,-6) — 7 точек.
  • (3,-6) → (3,0) — 7 точек.

Подсчет уникальных точек:

  • Линии первого цикла: (0,0)-(0,7), (0,7)-(7,7), (7,7)-(7,0).
  • Линия второго этапа: (7,0)-(-3,0).
  • Линии третьего цикла: (-3,0)-(-3,-6), (-3,-6)-(3,-6), (3,-6)-(3,0).

Точки, которые могут повторяться:

  • (0,0) — есть
  • (0,7) — есть
  • (7,7) — есть
  • (7,0) — есть
  • (-3,0) — есть
  • (3,0) — есть

Общее количество уникальных точек:

  • (0,0), (0,1), ..., (0,7) — 8 точек
  • (1,7), (2,7), ..., (7,7) — 7 точек
  • (7,6), (7,5), ..., (7,1) — 6 точек
  • (6,0), (5,0), ..., (-2,0) — 10 точек
  • (-3,-1), (-3,-2), ..., (-3,-6) — 6 точек
  • (-2,-6), (-1,-6), ..., (2,-6) — 5 точек
  • (3,-5), (3,-4), ..., (3,-1) — 5 точек

Всего: 8 + 7 + 6 + 10 + 6 + 5 + 5 = 47 точек.

Альтернативный подсчет:

  • Первый квадрат (7x7): 4 * 7 = 28 точек (включая вершины).
  • Прямая линия (10 единиц): 10 точек.
  • Нижний прямоугольник (6x6): 4 * 6 = 24 точки.

Суммирование и устранение дубликатов:

  • (0,0) - (0,7): 8 точек
  • (0,7) - (7,7): 8 точек
  • (7,7) - (7,0): 8 точек
  • (7,0) - (-3,0): 11 точек
  • (-3,0) - (-3,-6): 7 точек
  • (-3,-6) - (3,-6): 7 точек
  • (3,-6) - (3,0): 7 точек

Точки, которые могут совпасть:

  • (0,0) - начало первого цикла, конец второго прямоугольника.
  • (0,7) - конец первой стороны первого цикла.
  • (7,7) - конец второй стороны первого цикла.
  • (7,0) - конец третьей стороны первого цикла, начало прямой.
  • (-3,0) - конец прямой, начало третьего цикла.
  • (3,0) - конец третьего цикла.

Итого: (8-1) + (8-1) + (8-1) + (11-1) + (7-1) + (7-1) + (7-1) = 7+7+7+10+6+6+6 = 49 точек.

Пересчет:

1. Повтори 3 [Вперёд 7 Направо 90]:

  • (0,0) -> (0,7) -> (7,7) -> (7,0).
  • Точки: (0,0)...(0,7) — 8; (1,7)...(7,7) — 7; (7,6)...(7,1) — 6. Всего: 8+7+6 = 21.

2. Вперёд 10:

  • (7,0) -> (-3,0).
  • Точки: (6,0)...(-2,0) — 10.

3. Повтори 3 [Налево 90 Вперёд 6]:

  • (-3,0) -> (-3,-6) -> (3,-6) -> (3,0).
  • Точки: (-3,-1)...(-3,-6) — 6; (-2,-6)...(2,-6) — 5; (3,-5)...(3,-1) — 5. Всего: 6+5+5 = 16.

Совпадения: (7,0), (-3,0), (3,0).

Общее количество точек: 21 (первый цикл) + 10 (прямая) + 16 (третий цикл) - 3 (совпадения) = 44.

Перепроверка:

1. Сегмент 1: (0,0)-(0,7). Точки: 8. \( (0,0), (0,1), (0,2), (0,3), (0,4), (0,5), (0,6), (0,7) \)

2. Сегмент 2: (0,7)-(7,7). Точки: 8. \( (0,7), (1,7), (2,7), (3,7), (4,7), (5,7), (6,7), (7,7) \)

3. Сегмент 3: (7,7)-(7,0). Точки: 8. \( (7,7), (7,6), (7,5), (7,4), (7,3), (7,2), (7,1), (7,0) \)

4. Сегмент 4: (7,0)-(-3,0). Точки: 11. \( (7,0), (6,0), (5,0), (4,0), (3,0), (2,0), (1,0), (0,0), (-1,0), (-2,0), (-3,0) \)

5. Сегмент 5: (-3,0)-(-3,-6). Точки: 7. \( (-3,0), (-3,-1), (-3,-2), (-3,-3), (-3,-4), (-3,-5), (-3,-6) \)

6. Сегмент 6: (-3,-6)-(3,-6). Точки: 7. \( (-3,-6), (-2,-6), (-1,-6), (0,-6), (1,-6), (2,-6), (3,-6) \)

7. Сегмент 7: (3,-6)-(3,0). Точки: 7. \( (3,-6), (3,-5), (3,-4), (3,-3), (3,-2), (3,-1), (3,0) \)

Общее количество точек: 8 + 8 + 8 + 11 + 7 + 7 + 7 = 56.

Устранение дубликатов:

Начальная точка (0,0) учтена в сегменте 1. Точка (0,7) учтена в сегментах 1 и 2. Точка (7,7) учтена в сегментах 2 и 3. Точка (7,0) учтена в сегментах 3 и 4. Точка (-3,0) учтена в сегментах 4 и 5. Точка (3,-6) учтена в сегментах 6 и 7. Точка (3,0) учтена в сегменте 7.

Уникальные точки:

  • Сегмент 1: 8 точек.
  • Сегмент 2: 7 точек (без (0,7)).
  • Сегмент 3: 7 точек (без (7,7)).
  • Сегмент 4: 10 точек (без (7,0) и (0,0)).
  • Сегмент 5: 6 точек (без (-3,0)).
  • Сегмент 6: 6 точек (без (-3,-6)).
  • Сегмент 7: 6 точек (без (3,-6) и (3,0)).

Итого: 8 + 7 + 7 + 10 + 6 + 6 + 6 = 50 точек.

Проверка с помощью схемы:

1. Повтори 3 [Вперёд 7 Направо 90]: Квадрат 7x7. Точки: 4 * (7+1) = 32. Но вершины не должны повторяться. 4*7=28. На самом деле, 8+7+6 = 21 точка.

2. Вперёд 10: 11 точек.

3. Повтори 3 [Налево 90 Вперёд 6]: Квадрат 6x6. 4*6=24. На самом деле, 7+6+6 = 19 точек.

Сумма без учета повторов: 21 + 11 + 19 = 51.

Повторяющиеся точки:

  • (7,0) - между 1 и 2.
  • (-3,0) - между 2 и 3.
  • (3,0) - конец 3.

Итого: 51 - 3 = 48.

Перепроверка с последней точкой (3,0):

1. (0,0) -> (0,7) -> (7,7) -> (7,0). Точек: 8 + 7 + 6 = 21.

2. (7,0) -> (-3,0). Точек: 10 (не включая (7,0), включая (-3,0)).

3. (-3,0) -> (-3,-6) -> (3,-6) -> (3,0). Точек: 6 + 6 + 7 = 19.

Общее: 21 + 10 + 19 = 50.

Уникальные точки:

(0,0) - 1

(0,1)...(0,7) - 7

(1,7)...(7,7) - 7

(7,6)...(7,1) - 6

(6,0)...(-2,0) - 10

(-3,-1)...(-3,-6) - 6

(-2,-6)...(2,-6) - 5

(3,-5)...(3,-1) - 5

Всего: 1 + 7 + 7 + 6 + 10 + 6 + 5 + 5 = 47.

Ответ: 47

Подать жалобу Правообладателю

Похожие