Контрольные задания > Задание 6: Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует 6 команд: Поднять хвост, означающая переход к перемещению без рисования; Опустить хвост, означающая переход в режим рисования; Вперёд n (где n – целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Назад n (где n – целое число), вызывающая передвижение в противоположном голове направлении; Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке, Налево m (где m – целое число), вызывающая изменение направления движения на m градусов против часовой стрелки.
Запись: Повтори k [Команда1 Команда2 ... КомандаS] означает, что последовательность из 5 команд повторится k раз. Черепахе был дан для исполнения следующий алгоритм:
Повтори 2 [Вперёд 4 Направо 90 Вперёд 7 Направо 90]
Поднять хвост
Вперёд 2 Направо 90 Назад 4 Налево 90
Опустить хвост
Повтори 2 [Вперёд 5 Направо 90 Вперёд 9 Направо 90]
Выполняя этот алгоритм, Черепаха рисует одну за другой две фигуры. Определите, сколько точек с целочисленными координатами будут находиться внутри первой нарисованной фигуры, но не внутри второй. Точки на границах указанной области учитывать не следует.
Вопрос:
Задание 6: Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует 6 команд: Поднять хвост, означающая переход к перемещению без рисования; Опустить хвост, означающая переход в режим рисования; Вперёд n (где n – целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Назад n (где n – целое число), вызывающая передвижение в противоположном голове направлении; Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке, Налево m (где m – целое число), вызывающая изменение направления движения на m градусов против часовой стрелки.
Запись: Повтори k [Команда1 Команда2 ... КомандаS] означает, что последовательность из 5 команд повторится k раз. Черепахе был дан для исполнения следующий алгоритм:
Повтори 2 [Вперёд 4 Направо 90 Вперёд 7 Направо 90]
Поднять хвост
Вперёд 2 Направо 90 Назад 4 Налево 90
Опустить хвост
Повтори 2 [Вперёд 5 Направо 90 Вперёд 9 Направо 90]
Выполняя этот алгоритм, Черепаха рисует одну за другой две фигуры. Определите, сколько точек с целочисленными координатами будут находиться внутри первой нарисованной фигуры, но не внутри второй. Точки на границах указанной области учитывать не следует.
Ответ:
Привет, ребята! Давайте разберём эту задачу вместе.
Первая фигура:
1. `Повтори 2 [Вперёд 4 Направо 90 Вперёд 7 Направо 90]`
* Черепаха рисует прямоугольник 4x7.
* После первого повторения, Черепаха проходит: Вперёд 4, Направо 90, Вперёд 7, Направо 90.
* После второго повторения, Черепаха проходит: Вперёд 4, Направо 90, Вперёд 7, Направо 90.
* В итоге, Черепаха рисует прямоугольник со сторонами 4 и 7. Координаты вершин: (0,0), (4,0), (4,7), (0,7).
2. `Поднять хвост`
3. `Вперёд 2 Направо 90 Назад 4 Налево 90`
* Черепаха поднимает хвост и перемещается, не рисуя.
* Вперёд 2: Черепаха перемещается на 2 единицы вперёд (вверх). Новые координаты: (0,2).
* Направо 90: Черепаха поворачивается на 90 градусов по часовой стрелке (вправо).
* Назад 4: Черепаха перемещается на 4 единицы назад (влево). Новые координаты: (-4,2).
* Налево 90: Черепаха поворачивается на 90 градусов против часовой стрелки (вверх).
4. `Опустить хвост`
5. `Повтори 2 [Вперёд 5 Направо 90 Вперёд 9 Направо 90]`
* Черепаха опускает хвост и начинает рисовать.
* Черепаха рисует прямоугольник 5x9, начиная с координат (-4,2).
* После первого повторения, Черепаха проходит: Вперёд 5, Направо 90, Вперёд 9, Направо 90.
* После второго повторения, Черепаха проходит: Вперёд 5, Направо 90, Вперёд 9, Направо 90.
* В итоге, Черепаха рисует прямоугольник со сторонами 5 и 9. Координаты вершин: (-4,2), (1,2), (1,11), (-4,11).
Теперь нужно найти, сколько точек с целочисленными координатами находятся внутри первого прямоугольника (4x7), но не внутри второго (5x9).
Первый прямоугольник (4x7) имеет вершины (0,0), (4,0), (4,7), (0,7). Количество точек внутри него (не включая границы) равно (4-1) * (7-1) = 3 * 6 = 18.
Второй прямоугольник (5x9) имеет вершины (-4,2), (1,2), (1,11), (-4,11). Теперь нужно посмотреть, какие точки первого прямоугольника попадают внутрь второго.
Первый прямоугольник: x от 0 до 3, y от 0 до 6.
Второй прямоугольник: x от -4 до 0, y от 2 до 10.
Точки первого прямоугольника, которые находятся внутри второго:
* x: 0
* y: 2, 3, 4, 5, 6
То есть всего 5 точек (0,2), (0,3), (0,4), (0,5), (0,6) из первого прямоугольника находятся также и во втором.
Следовательно, количество точек внутри первого прямоугольника, но не внутри второго, равно 18 - 5 = 13.
**Ответ: 13**