Сверь числа и знаки с фото.
С увеличением вычислительных мощностей на бортовых компьютерах БАС возрос интерес к задачам по позиционированию беспилотников не опирающихся на системы глобальных координат. Современные беспилотные аппараты научились "видеть" препятствия и уметь обходить их не опираясь на заранее заготовленную автономную программу. Такие задачи уже становятся реальными кейсами на таких больших соревнованиях как Архипелаг 2025 и др. Перед вами дрон для поисково-спасательных операций, который находит путь среди деревьев:
[Рисунок: карта с координатной сеткой; в точке (-2, 0) — квадрокоптер; красные квадраты с QR-кодами и подписями координат: (-2.5, 1.4), (-2.2, -1.2), (-1.8, -0.5), (-1.4, 0.5), (-0.1, 0.5), (0.15, 0.8), (0.2, 2.2), (0.55, 0.1), (0.6, -0.4), (0.6, -1.5), (0.6, -1.9), (0.9, -2.55), (1.5, 1.4), (1.6, 0.5); зелёные круги: (-2.5, 1.4), (0.7, 2.5), (0.18, -2.3), (1.15, -0.1), (1.15, -0.8), (1.5, -0.9), (1.85, 0.65); справа — посадочные платформы, пронумерованные 1–5 сверху вниз]
Летить среди препятствий ему помогают маркеры, которые направляют дрон вверх или вниз по траектории в зависимости от значения ID маркеров. Проанализируйте программу, которая написана для преодоления маршрута в лесу. В ответ запишите номер посадочной платформы на которую сядет квадрокоптер после исполнения данной программы:
[Рисунок: программа из блоков: Завести моторы; Взлететь; присвоить cur_x = -2; присвоить cur_y = 0; Лететь в точку x = cur_x, y = cur_y, z = 1 м; повторить 3 раз: выполнить: присвоить qr_data = Считать QR код; если qr_data в списке ["5"] первый: выполнить: увеличить cur_y на -1; Лететь в точку x = cur_x, y = cur_y, z = 1 м; иначе: если qr_data взять первый > "5": выполнить: увеличить cur_y на 1; Лететь в точку x = cur_x, y = cur_y, z = 1 м; присвоить cur_x = cur_x + 2; Лететь в точку x = cur_x, y = cur_y, z = 1 м; Сесть]
Ваш ответ: 5 3 2 1 4
Ответ: 5 — квадрокоптер сядет на посадочную платформу № 5 (нижнюю).
Разбор
- Начало: \(cur_x=-2\), \(cur_y=0\). Дрон летит в точку \((-2,0)\).
- Цикл повторяется 3 раза. В каждом проходе:
- считывается QR-код;
- если считанное значение равно 5, \(cur_y\) уменьшается на 1 (дрон идёт вниз);
- иначе, если считанное значение больше 5, \(cur_y\) увеличивается на 1 (дрон идёт вверх);
- дрон летит в \((cur_x, cur_y)\);
- затем \(cur_x\) увеличивается на 2, и дрон перелетает на новую вертикаль.
- В точке \((-2,0)\) ближайший маркер — \((-1.8,-0.5)\) с ID 5. Срабатывает ветка «если 5»: \(cur_y=-1\). Дрон летит в \((-2,-1)\), затем в \((0,-1)\).
- В точке \((0,-1)\) ближайший маркер — \((0.6,-1.5)\), тоже с ID 5: \(cur_y=-2\). Дрон летит в \((0,-2)\), затем в \((2,-2)\).
- В точке \((2,-2)\) подходящего маркера в радиусе считывания нет, поэтому \(cur_y\) не меняется. \(cur_x\) становится 4, дрон летит в \((4,-2)\) и садится.
- Платформа 5 находится внизу, на уровне \(y\approx-2\), — это она.
Проверка: обе сработавшие коррекции уменьшают \(cur_y\) на 1, а третья не срабатывает; итоговая высота \(-2\), это нижняя платформа. Если бы ID оказался больше 5, дрон поднялся бы к платформам 1–2, но на маршруте стоят маркеры с ID 5.