Урок №12 курса "Практика" представляет разбор решения, наверное, самого популярного соревнования роботов - "Сумо". Главная задача робота-сумоиста состоит в том, чтобы вытолкнуть за пределы ринга своего соперника. Существует множество вариантов правил проведения этого состязания, накладывающих различные ограничения в первую очередь на размеры и конструкцию роботов, тем не менее, базовые алгоритмы поведения робота при этом очень похожи. Поэтому наш урок в значительной степени будет направлен на реализацию программы поведения, а в завершающей части урока рассмотрим некоторые советы по практической подготовке к соревнованию роботов.
12.1. Поле для проведения соревнования. Правила соревнования.
Не смотря на то, что соревновательная дисциплина "Сумо" большинством организаторов соревнований позиционируется как состязание, предназначенное для начинающих робототехников, она пользуется неизменным вниманием не только участников, но и зрителей! Соревнования проводятся на двух видах полей: либо белый круг, ограниченный черной окружностью, либо, наоборот, черный круг, ограниченный белой окружностью. Очень часто макет поля наносится на круглый подиум небольшой высоты. В этом случае побежденный робот принуждается к падению (бывает, что с подиума падают оба участника битвы).
Для нашего урока мы возьмем то же самое поле, которое использовали при разборе Урока №11 - "Кегельринг". Это поле представляет собой белый круг, ограниченный черной окружностью. С классическими правилами проведения соревнования "Сумо" по версии Российской ассоциации образовательной робототехники вы можете ознакомиться под спойлером ниже:
Регламент соревнований роботов "Сумо" по версии сайта RAOR.RU
12.2. Конструкция робота для соревнования "Сумо".
Базовое поведение робота в "Сумо" очень похоже на поведение робота в "Кегельринге". Роботу также необходимо найти внутри поля объект и вытолкать его за пределы круга. Различия, как водится, кроятся в деталях: теперь этот объект в свою очередь ищет нашего робота и тоже жаждет вытолкать его поскорее.
Соревнование "Сумо"
Тем не менее - сосредоточимся на своей цели: искать соперника нам по-прежнему будет один из датчиков определять предметы на расстоянии (инфракрасный или ультразвуковой), а своевременно определять черную границу поля будем с датчика цвета. Поэтому для создания и отладки программы робота-сумоиста предлагаем вам использовать того же самого робота, которого мы подготовили для Урока №11 - Кегельринг.
Для того, чтобы защитить впереди расположенный датчик от взаимодействия с соперником, соорудим бампер и закрепим его на нашем роботе. Ниже приведены подробные инструкции для сборки, как из домашней, так и из образовательной версии конструктора Lego mindstorms EV3. Можете поэкспериментировать и придумать собственный вариант конструкции.
Lego mindstorms EV3 Home
Инструкция по сборке для домашней версии конструктора
Lego mindstorms EV3 Education
Инструкция по сборке для образовательной версии конструктора
Получившийся элемент закрепим на передней балке нашего робота.
Lego mindstorms EV3 Home
Размещение на домашней версии набора
Lego mindstorms EV3 Education
Размещение на образовательной версии набора
Наш учебный робот готов. Приступим к созданию программы робота-сумоиста. Замечательно, если у вас есть возможность отлаживать программу, используя ещё одного робота! Если же нет, то ничего страшного: можно задействовать в качестве соперника, например, радиоуправляемую модель автомобиля или те же кегли от "Кегельринга".
1. Выразим выражения по правилам языка Pascal:
a) 5 * 2 - 4
Решение:
Умножение имеет более высокий приоритет, чем вычитание. Поэтому, сначала выполним вычисление умножения: 5 * 2 = 10.
Затем, выполним вычитание: 10 - 4 = 6.
Ответ: 6.
б) 7 * х + 2
Решение:
Умножение имеет более высокий приоритет, чем сложение. Поэтому, сначала выполним вычисление умножения: 7 * х = 7х.
Затем, выполним сложение: 7х + 2.
Ответ: 7х + 2.
в) 8 * х - 3 * (х + у)
Решение:
Выполним умножение: 8 * х = 8х и 3 * (х + у) = 3х + 3у.
Затем, выполним вычитание: 8х - (3х + 3у).
Для выполнения операции в скобках, умножение 3 на каждый из элементов внутри скобок:
8х - 3х - 3у = 5х - 3у.
Ответ: 5х - 3у.
г) v^2 * х * у^2 * х * у
Решение:
По правилам алгебры, умножение можно проводить в любом порядке.
Выполним умножение: v^2 * х = v^2х, у^2 * х = у^2х, v^2х * у^2х = (vх * у)^2х.
Ответ: (vх * у)^2х.
2. Переведем запись с языка Pascal в нормальную форму:
f = (3 * x + 4 * y)/(2 * sqr(к) - 4 * t / y)
Решение:
Нормализация выражения подразумевает разделение на более простые составляющие.
Заменим sqr(к) на к^2, чтобы выразить возведение в квадрат в общепринятой форме:
f = (3 * x + 4 * y)/(2 * к^2 - 4 * t / y)
Затем, выполним умножение и деление в числителе и знаменателе:
f = (3 * x + 4 * y)/(2к^2 - (4 * t) / y)
Ответ: f = (3 * x + 4 * y)/(2к^2 - 4t/y).
Таким образом, мы записали выражения по правилам языка Pascal и перевели запись с языка Pascal в нормальную форму.
1. Достоинства электронных книг:
- Высокая стоимость: это неверное утверждение. Электронные книги обычно стоят дешевле, чем печатные, или даже могут быть бесплатными.
- Изменение размеров шрифта: это верное утверждение. Одним из преимуществ электронных книг является возможность изменения размера шрифта, что делает чтение более комфортным для пользователей с разными потребностями.
- Переходы по гиперссылкам: это верное утверждение. Электронные книги обычно содержат гиперссылки, которые позволяют быстро перемещаться по разным разделам книги или переходить к другим источникам информации.
- Компактность хранения: это верное утверждение. Электронные книги занимают мало места на устройстве хранения (например, на компьютере или смартфоне), поэтому их можно легко собирать в большом количестве без затрат на физическое пространство.
- Возможность озвучивать текст: это верное утверждение. Некоторые электронные книги имеют функцию озвучивания текста, что позволяет пользователю слушать книгу вместо чтения.
- Высокая чувствительность к физическому воздействию: это неверное утверждение. В отличие от печатных книг, электронные книги более устойчивы к физическому воздействию, такому как механические повреждения или загрязнения.
2. Основные функции текстового редактора:
- Строгое соблюдение правописания: это неверное утверждение. Хотя текстовые редакторы обычно имеют функцию проверки правописания, это не является их основной функцией.
- Копирование, перемещение, сортировка текста: это верное утверждение. Одной из основных функций текстового редактора является возможность копирования, перемещения или сортировки текста внутри документа.
- Создание, редактирование, сохранение, печать текстов: это верное утверждение. Текстовый редактор позволяет создавать новые документы, редактировать уже существующие, сохранять их в файлы и печатать текст на бумаге.
- Автоматическая обработка информации, имеющейся в текстовом файле: это верное утверждение. Современные текстовые редакторы могут предоставлять функции автоматической обработки информации в текстовом файле, такие как поиск и замена, подсчет слов или символов и другие операции.
3. Пропущенное звено в ряду "Символ – слово – … – фрагмент текста":
- Абзац: это верное утверждение. Абзац является промежуточным звеном между словом и фрагментом текста. Он представляет собой блок текста, содержащий одну или несколько связанных мыслей или идей, отделенных от остального текста пустыми строками или отступами.
5. Текстовый редактор входит в состав:
- Прикладного программного обеспечения: это верное утверждение. Текстовый редактор является одной из основных программ, входящих в состав прикладного программного обеспечения, которое предназначено для выполнения конкретных задач пользователем (например, создания и редактирования текстовых документов).
6. Названия разделов разных уровней составляют:
- Оглавление: это верное утверждение. Оглавление представляет собой список разделов и подразделов документа вместе с указанием их страниц или номеров, что позволяет пользователю быстро найти нужную информацию или перемещаться по документу.
Введение:
Урок №12 курса "Практика" представляет разбор решения, наверное, самого популярного соревнования роботов - "Сумо". Главная задача робота-сумоиста состоит в том, чтобы вытолкнуть за пределы ринга своего соперника. Существует множество вариантов правил проведения этого состязания, накладывающих различные ограничения в первую очередь на размеры и конструкцию роботов, тем не менее, базовые алгоритмы поведения робота при этом очень похожи. Поэтому наш урок в значительной степени будет направлен на реализацию программы поведения, а в завершающей части урока рассмотрим некоторые советы по практической подготовке к соревнованию роботов.
12.1. Поле для проведения соревнования. Правила соревнования.
Не смотря на то, что соревновательная дисциплина "Сумо" большинством организаторов соревнований позиционируется как состязание, предназначенное для начинающих робототехников, она пользуется неизменным вниманием не только участников, но и зрителей! Соревнования проводятся на двух видах полей: либо белый круг, ограниченный черной окружностью, либо, наоборот, черный круг, ограниченный белой окружностью. Очень часто макет поля наносится на круглый подиум небольшой высоты. В этом случае побежденный робот принуждается к падению (бывает, что с подиума падают оба участника битвы).
Для нашего урока мы возьмем то же самое поле, которое использовали при разборе Урока №11 - "Кегельринг". Это поле представляет собой белый круг, ограниченный черной окружностью. С классическими правилами проведения соревнования "Сумо" по версии Российской ассоциации образовательной робототехники вы можете ознакомиться под спойлером ниже:
Регламент соревнований роботов "Сумо" по версии сайта RAOR.RU
12.2. Конструкция робота для соревнования "Сумо".
Базовое поведение робота в "Сумо" очень похоже на поведение робота в "Кегельринге". Роботу также необходимо найти внутри поля объект и вытолкать его за пределы круга. Различия, как водится, кроятся в деталях: теперь этот объект в свою очередь ищет нашего робота и тоже жаждет вытолкать его поскорее.
Соревнование "Сумо"
Тем не менее - сосредоточимся на своей цели: искать соперника нам по-прежнему будет один из датчиков определять предметы на расстоянии (инфракрасный или ультразвуковой), а своевременно определять черную границу поля будем с датчика цвета. Поэтому для создания и отладки программы робота-сумоиста предлагаем вам использовать того же самого робота, которого мы подготовили для Урока №11 - Кегельринг.
Для того, чтобы защитить впереди расположенный датчик от взаимодействия с соперником, соорудим бампер и закрепим его на нашем роботе. Ниже приведены подробные инструкции для сборки, как из домашней, так и из образовательной версии конструктора Lego mindstorms EV3. Можете поэкспериментировать и придумать собственный вариант конструкции.
Lego mindstorms EV3 Home
Инструкция по сборке для домашней версии конструктора
Lego mindstorms EV3 Education
Инструкция по сборке для образовательной версии конструктора
Получившийся элемент закрепим на передней балке нашего робота.
Lego mindstorms EV3 Home
Размещение на домашней версии набора
Lego mindstorms EV3 Education
Размещение на образовательной версии набора
Наш учебный робот готов. Приступим к созданию программы робота-сумоиста. Замечательно, если у вас есть возможность отлаживать программу, используя ещё одного робота! Если же нет, то ничего страшного: можно задействовать в качестве соперника, например, радиоуправляемую модель автомобиля или те же кегли от "Кегельринга".