1. Главная
  2. Библиотека
  3. Программирование
  4. Исполнитель Черепаха действует на плоскости с декартово...
Решение задачи

Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет

  • Программирование

Условие:

Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения.

У исполнителя существует 6 команд:
Поднять хвост, означающая переход к перемещению без рисования;
Опустить хвост, означающая переход в режим рисования;
Вперёд n (где n - целое число), вызывающая передвижение Черепахи на пединиц в том направлении, куда указывает её голова;
Назад n (где n - целое число), вызывающая передвижение в противоположном голове направлении;
Направо m (где m - целое число), вызывающая изменение направления движения на m градусов по часовой стрелке,
Налево m (где m - целое число), вызывающая изменение направления движения на m градусов против часовой стрелки.

Запись Повтори k [Команда1 Команда2 ... Команда S] означает, что последовательность из S команд повторится k раз.

Черепахе был дан для исполнения следующий алгоритм:
Повтори 2 [Вперёд 13 Направо 90 Вперёд 18 Направо 90]
Поднять хвост
Вперёд 5 Направо 90 Вперёд 9 Налево 90
Опустить хвост
Повтори 2 [Вперёд 11 Направо 90 Вперёд 7 Направо 90]
Определите, сколько точек с целочисленными координатами будут находиться внутри пересечения фигур, ограниченных заданными алгоритмом линиями, включая точки на линиях.

Решение:

Ниже приведён пошаговый анализ алгоритма и вычисление ответа. 1. Исходные данные. Черепаха начинает в точке (0,0) с направлением по положительной оси ординат (на север). Хвост опущен, значит движение оставляет след. 2. Первая часть алгоритма:   Команда: «Повтори 2 [Вперёд 13 Направо 90 Вперёд 18 Направо 90]».   Мы выполняем два цикла.   Первый цикл:    Начало: (0,0), направление – север.    Вперёд 13: идём на 13 единиц по северу → приходим в (0,13).    Направо 90: поворот направо – теперь направление восток.    Вперёд 18: идём на 18 единиц по востоку → приходим в (18,13).    Направо 90: пов...

Не нашел нужную задачу?

Воспользуйся поиском

Выбери предмет