Представьте, что робот находится на поле 150×150 см. Напротив него, на разном расстоянии, находятся 3 препятствия. Напишите программу, благодаря которой робот вычислит расстояние до каждого из объектов, сравнит полученные

данные и доедет до ближайшего объекта.

На следующем этапе он должен просчитать расстояние до

двух оставшихся объектов и снова доехать до ближайшего, а

после этого – до самого дальнего.

Попробуйте создать похожую программу на сайте LEGO

Mindstorm: https://makecode.mindstorms.com/#editor.

ILLNNXSI ILLNNXSI    1   12.06.2020 13:45    168

Ответы
Боня301205 Боня301205  20.12.2023 20:16
Хорошо, давайте разработаем программу для робота, чтобы он мог вычислить расстояние до объектов, сравнить полученные данные и добраться до ближайшего объекта. Шаг 1: Настройка поля и позиционирование объектов Прежде чем мы начнем программирование, на сайте LEGO Mindstorms установим поле размером 150x150 см и разместим три объекта на поле на разном расстоянии от робота. Шаг 2: Начало программы и инициализация переменных Откроем редактор программ на сайте LEGO Mindstorms и создадим новую программу полностью подходящую для выполнения задания. Для этого добавим блок "при запуске", который будет первым при запуске программы. Также создадим две переменные: - "расстояние_ближайший" для хранения расстояния до ближайшего объекта; - "направление_ближайший" для хранения направления до ближайшего объекта. Шаг 3: Определение первого ближайшего объекта Добавим цикл "повторять ни разу" и внутри него используем блок "измерить расстояние", чтобы робот определил расстояние до первого объекта. Затем сравним это расстояние с переменной "расстояние_ближайший". Если оно меньше, чем значение "расстояние_ближайший", то обновим значение "расстояние_ближайший" и присвоим переменной "направление_ближайший" текущее направление робота. Шаг 4: Определение второго ближайшего объекта Добавим вторую операцию измерения расстояния до второго объекта и определим его переменную "расстояние_ближайший" аналогично шагу 3. Шаг 5: Определение самого дальнего объекта Теперь добавим третью операцию измерения расстояния до третьего объекта и сравним его с переменными "расстояние_ближайший" и "направление_ближайший". Если расстояние больше, чем значение "расстояние_ближайший", то обновим значение "расстояние_ближайший" и присвоим переменной "направление_ближайший" текущее направление робота. Шаг 6: Доводка до ближайшего объекта С помощью блока "переместиться на расстояние" и значения "расстояние_ближайший" передвинем робота в направлении ближайшего объекта. Шаг 7: Повторение для оставшихся объектов Теперь мы повторим шаги с 3 по 6, чтобы робот снова вычислил ближайший объект из двух оставшихся. После определения второго ближайшего объекта, мы воспользуемся блоком "переместиться на расстояние" для доведения робота до него. Шаг 8: Доводка до самого дальнего объекта Далее, мы повторим шаги с 3 по 6 с оставшимся третьим объектом. После определения самого дальнего объекта, мы воспользуемся блоком "переместиться на расстояние" для доведения робота до него. Шаг 9: Завершение программы Выполнение задания завершено. Обычно в конце программы добавляют блок "конец", чтобы остановить выполнение программы. Программа должна выглядеть следующим образом: (Здесь я использовал некоторые блоки на сайте LEGO Mindstorms, но Вы также можете использовать аналогичные блоки из других программных средств) ``` при запуске установить значение расстояние_ближайший as 1000 установить значение направление_ближайший as 0 повторять ни разу измерить расстояние если (измеренное расстояние) < (расстояние_ближайший) установить значение расстояние_ближайший as (измеренное расстояние) установить значение направление_ближайший as (направление текущего объекта) повторять ни разу измерить расстояние если (измеренное расстояние) < (расстояние_ближайший) установить значение расстояние_ближайший as (измеренное расстояние) установить значение направление_ближайший as (направление текущего объекта) повторять ни разу измерить расстояние если (измеренное расстояние) > (расстояние_ближайший) установить значение расстояние_ближайший as (измеренное расстояние) установить значение направление_ближайший as (направление текущего объекта) переместиться на расстояние (расстояние_ближайший) повторять ни разу измерить расстояние если (измеренное расстояние) < (расстояние_ближайший) установить значение расстояние_ближайший as (измеренное расстояние) установить значение направление_ближайший as (направление текущего объекта) переместиться на расстояние (расстояние_ближайший) повторять ни разу измерить расстояние если (измеренное расстояние) < (расстояние_ближайший) установить значение расстояние_ближайший as (измеренное расстояние) установить значение направление_ближайший as (направление текущего объекта) переместиться на расстояние (расстояние_ближайший) конец ``` Теперь мы создали программу, которая позволяет роботу вычислить расстояние до каждого из трех объектов, сравнить полученные данные и добраться до ближайшего объекта. Затем робот вычислит расстояние до двух оставшихся объектов и доберется до ближайшего, а затем до самого дальнего объекта. Вы можете скопировать эту программу и загрузить ее на сайте LEGO Mindstorms, чтобы увидеть результаты.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика