Информатика7 класс

Как задать диагональные переезды робота по координатам

Краткий ответ и полное объяснение шаг за шагом.

УСЛОВИЕ

В стелс-эпизоде на Титане гусеничный робот «Страж» выполняет роль непроходимой преграды: он курсирует в непосредственной близости от ворот главного гермошлюза базы и плотно перекрывает проход внутрь. Если космонавт попробует подойти к запертым створкам напрямую, робот успеет перехватить его, потому что для проверки доступа и открытия шлюза требуется время. Геймдизайнер спроектировал маршрут дозора непосредственно перед воротами: чтобы сканеры робота перекрывали всю площадку перед шлюзом, робот должен двигаться по сложной траектории через четыре контрольные точки (0; 0)→(0; 10)→(20; 0)→(20; 10)→(0; 0) Программист подготовил заготовку машины состояний в редакторе «Кисериада GE»: Программист подготовил заготовку машины состояний в редакторе «Кибериада GE»: 1. Весь дозор объединен внутри суперсостояния «Охраняет ворота» (На входе запущен радар поиска нарушителя в радиусе 6 метров, при обнаружении которого робот выходит в состояние «Преследует нарушителя»). 2. Внутри настроен замкнутый маршрут из 4 состояний: Движение 1 → Движение 2 → Движение 3 → Движение 4. Все переходы между ними срабатывают по событию МодульДвижения.ПеремещениеВыполнено. 3. Вертикальные отрезки уже запрограммированы. Состояния диагональных переездов через центр площадки — Движение 2 (плашка

А)и Движение 4 (плашка
Б)— остались незаполненными. Заготовка диаграммы охраны ворот: Какие команды модуля движения должны быть прописаны на входе в блоках А (Движение 2) и Б (Движение 4), чтобы робот совершил диагональные переезды в соответствии со схемой координат и замкнул фигуру «песочные часы»? • Блок А (Движение 2): МодульДвижения.ЗадатьКоординатуВправо(20) • Блок Б (Движение 4): МодульДвижения.ЗадатьКоординатуВлево(20) • Блок А (Движение 2): МодульДвижения.ЗадатьКоординатуВверх(10), МодульДвижения.ЗадатьКоординатуВправо(20) • Блок Б (Движение 4): МодульДвижения.ЗадатьКоординатуВверх(10), МодульДвижения.ЗадатьКоординатуВлево(20) • Блок А (Движение 2): МодульДвижения.ЗадатьКоординатуВниз(10), МодульДвижения.ЗадатьКоординатуВлево(20) • Блок Б (Движение 4): МодульДвижения.ЗадатьКоординатуВниз(10), МодульДвижения.ЗадатьКоординатуВправо(20) • Блок А (Движение 2): МодульДвижения.ЗадатьКоординатуВниз(10), МодульДвижения.ЗадатьКоординатуВправо(20) • Блок Б (Движение 4): МодульДвижения.ЗадатьКоординатуВниз(10), МодульДвижения.ЗадатьКоординатуВлево(20)
РЕШЕНИЕ

Пошаговое решение

ОТВЕТБлок А: МодульДвижения.ЗадатьКоординатуВниз(10), МодульДвижения.ЗадатьКоординатуВправо(20). Блок Б: МодульДвижения.ЗадатьКоординатуВниз(10), МодульДвижения.ЗадатьКоординатуВлево(20).
1
Шаг 1

Маршрут начинается в точке (0; 0). После вертикального движения вверх робот попадает в точку (0; 10).

(0; 0) → (0; 10)
2
Шаг 2

В блоке А робот должен перейти из (0; 10) в (20; 0). Для этого нужно переместиться вправо на 20 и вниз на 10.

А: вправо 20, вниз 10
3
Шаг 3

Затем вертикальное движение переводит робота из (20; 0) в (20; 10). Из этой точки блок Б должен вернуть его в начало: влево на 20 и вниз на 10.

Б: влево 20, вниз 10
4
Шаг 4

Проверим весь маршрут: после команд блока А робот окажется в (20; 0), а после команд блока Б — в (0; 0). Значит, траектория замкнётся.

(0; 0) → (0; 10) → (20; 0) → (20; 10) → (0; 0)
Подробное объяснение

Маршрут задан точками: (0; 0) → (0; 10) → (20; 0) → (20; 10) → (0; 0). Из точки (0; 10) робот должен попасть в (20; 0). Значит, в блоке А нужны команды: МодульДвижения.ЗадатьКоординатуВниз(10) МодульДвижения.ЗадатьКоординатуВправо(20) Из точки (20; 10) робот возвращается в (0; 0). Поэтому в блоке Б нужны команды: МодульДвижения.ЗадатьКоординатуВниз(10) МодульДвижения.ЗадатьКоординатуВлево(20) Так робот проходит все указанные точки и замыкает маршрут. Ответ: А — вниз(10) и вправо(20); Б — вниз(10) и влево(20).

Есть похожая задача?Загрузите фото или вставьте условие — ProZagadka разберёт её так же пошагово.
Решить свою

Вопросы по этой задаче

Коротко об ответе, способе решения и похожих заданиях.

Как выбрать первый шаг в задаче такого типа?

Маршрут начинается в точке (0; 0). После вертикального движения вверх робот попадает в точку (0; 10). (0; 0) → (0; 10)

Зачем записывать промежуточные вычисления отдельно?

Так проще контролировать порядок действий, единицы измерения и быстро найти место возможной ошибки.

Какая ошибка чаще всего возникает при вычислениях?

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

Как проверить итоговый результат?

Повторите ключевое действие в обратном направлении или подставьте результат в исходные условия задачи.

Какой приём пригодится в похожих задачах?

В блоке А робот должен перейти из (0; 10) в (20; 0). Для этого нужно переместиться вправо на 20 и вниз на 10. А: вправо 20, вниз 10