Операторы#
Введение#
Блоки Operator в VEXcode IQ (2-го поколения) помогают роботу работать с числами и словами. Эти блоки могут решать математические задачи, сравнивать значения, определять истинность или ложность условий, а также работать со строками. Строки можно использовать для вывода значений и слов.
Ниже приведён список доступных блоков:
математический оператор – Выполняет сложение, вычитание, умножение или деление.
оператор сравнения – Сравнивает два значения с помощью операторов «больше», «меньше» или «равно».
логический оператор – Оценивает несколько условий с помощью операторов И, ИЛИ или ИЛИ.
оператор не – Инвертирует логическое значение.
оператор диапазона – Проверяет, попадает ли число в заданный диапазон.
выбрать случайный – Генерирует случайное число в заданном диапазоне.
округлить число – Округляет число до ближайшего целого числа.
математические функции – Применяет такие операции, как извлечение квадратного корня, тригонометрия, логарифмы и возведение в степень.
atan2 – Вычисляет арктангенс y/x.
остаток – Сообщает об остатке операции подразделения.
join – Объединяет две строки в одну.
буква – Извлекает символ из строки по позиции.
длина – Сообщает количество символов в строке.
содержит – Проверяет, содержит ли строка определенное слово или символ.
convert – Преобразует число в текст, целое число или десятичную дробь.
математический оператор#
Блок «Математический оператор» выполняет основные математические операции над значениями, расположенными по обе стороны от оператора. Он возвращает результат, основанный на точности вывода проекта, которая по умолчанию равна 0 десятичным знакам, но может быть настроена с помощью блоков Установить точность вывода на экран или Установить точность вывода на консоль.
([0] [math_plus v] [0])
Параметры |
Описание |
|---|---|
значение 1 |
Первое число, используемое в операции. |
оператор |
Используемые математические операторы:
|
значение 2 |
Второе число, используемое в операции. |
Пример
при запуске
[Perform basic addition and show two decimal places.]
установить точность печати [0.01 v] на экране
вывести ([10] [math_plus v] [10.5]) на экран ▶
оператор сравнения#
Логический блок оператор сравнения сообщает, является ли сравнение двух значений истинным или ложным.
Истина – Сравнение корректно (например, 5 > 3 возвращает Истина).
Ложь – Сравнение некорректно (например, 2 ≥ 5 возвращает Ложь).
<[0] [math_equal v] [0]>
Параметр |
Описание |
|---|---|
значение 1 |
Первое значение для сравнения. |
оператор |
Для сравнения:
|
значение 2 |
Второе значение для сравнения. |
Пример
при запуске
[Turn right until the heading reaches 90 degrees.]
поворот [вправо v]
ждать [0.5] секунд
ждать пока <(Курс движения в градусах) [math_greater_than v] [90]>
остановить движение
логический оператор#
Логический оператор (Boolean) сообщает, является ли логическое условие между несколькими значениями истинным или ложным.
Истинно – Логическое условие выполнено.
Ложно – Логическое условие не выполнено.
<<> [и v] <>>
Параметр |
Описание |
|---|---|
условие 1 |
Первое логическое условие, которое необходимо оценить. |
оператор |
Логический оператор: and выдает True, если оба условия истинны. or выдает True, если хотя бы одно условие истинно. |
условие 2 |
Второе логическое условие для оценки. |
Пример
при запуске
[Display if the ◀ and ▶ buttons are pressed.]
вечно
очистить экран
установить курсор на строку [1] столбец [1] на экране
если <<кнопка [◀ v] Brain нажата?> [и v] <кнопка [▶ v] Brain нажата?>> то
вывести [Buttons pressed!] на экран ▶
конец
конец
не оператор#
Логический блок not operator инвертирует результат логического блока. Если входное значение равно True, он выдает False, а если входное значение равно False, он выдает True.
Истина – В этом случае при вводе значения обычно будет отображаться Ложь.
Ложь – В этом случае в качестве входного условия обычно выдается Истина.
<не <>>
Параметр |
Описание |
|---|---|
состояние |
Логическое условие, которое необходимо инвертировать. |
Пример
при запуске
[Turn until the robot is facing left. ]
вечно
если <не <(Курс движения в градусах) [math_greater_than v] [270]>> то
поворот [вправо v]
иначе
остановить движение
оператор полигона#
Логический блок оператор диапазона сообщает, попадает ли значение в указанный диапазон.
Истина – Если значение находится в пределах диапазона.
Ложь – Если значение выходит за пределы диапазона.
<[0] [math_less_than v] [0] [math_less_than v] [0]>
Параметр |
Описание |
|---|---|
первый оператор |
Оператор сравнения:
|
ценить |
Значение, которое нужно проверить. |
второй оператор |
Оператор сравнения:
|
Пример
при запуске
[Turn and display when facing forward or back. ]
поворот [вправо v] на [360] градусов ◀ и не ждать
вечно
очистить экран
установить курсор на строку [1] столбец [1] на экране
если <[270] [math_greater_than v] (Курс движения в градусах) [math_greater_than v] [90]> то
вывести [Facing backward!] на экран ▶
иначе
вывести [Facing forward!] на экран ▶
выбрать случайным образом#
Блок вывода случайный выбор выводит случайное положительное или отрицательное число в диапазоне от минимального до максимального значения. Он может возвращать как минимальное, так и максимальное значение. Например, выбор числа от 1 до 10 может вернуть любое целое число от 1 до 10.
случайное число от [1] до [10]
Параметры |
Описание |
|---|---|
мин |
Наименьшее возможное число, которое можно выбрать. |
макс |
Максимально возможное число, которое можно выбрать. |
Примеры
при запуске
[Display a number between 1 and 10.]
вывести (случайное число от [1] до [10]) ▶
округленное число#
Блок вывода округленного числа отображает заданное число, округленное до ближайшего целого числа в соответствии со стандартными правилами округления:
Если десятичная часть равна 0,5 или больше, число округляется в большую сторону.
Если число после запятой меньше 0,5, оно округляется в меньшую сторону.
(округлить [0] до [0] знаков после запятой)
Параметр |
Описание |
|---|---|
число |
Число для округления. |
десятичных знаков |
Количество знаков после запятой, до которого округляется значение. |
Пример
при запуске
[Display the rounded result of 10 / 3.]
установить точность печати [0.01 v] на экране
вывести (округлить ([10] [math_division v] [3]) до [1] знаков после запятой) на экран ▶
математические функции#
Блок обработки математических функций применяет выбранную математическую функцию к заданному числу и возвращает результат. Он поддерживает такие операции, как вычисление абсолютного значения, округление, извлечение квадратного корня, тригонометрические функции, логарифмы и возведение в степень.
[abs v] от [0]
Параметр |
Описание |
|---|---|
функция |
Математическая операция, применяемая к входному значению:
|
число |
Число, к которому следует применить функцию. |
Пример
при запуске
[Display the square root of 16.]
вывести ([sqrt v] от [16]) на экран ▶
атан2#
Блок репортера atan2 сообщает арктангенс Y/X в виде угла в градусах, представляющего угол между положительной осью X и точкой (X, Y).
(atan2 от x:[4] y:[3])
Параметр |
Описание |
|---|---|
х |
Горизонтальное положение точки, измеренное от начала координат (0,0). |
й |
Вертикальное положение точки, измеренное от начала координат (0,0). |
Пример
при запуске
[Calculate the angle from current position (4, 3).]
вывести (atan2 от x:[4] y:[3]) на экран ▶
остаток#
Блок отчета об остатке сообщает остаток от деления между двумя значениями.
(остаток от деления [0] / [0])
Параметр |
Описание |
|---|---|
дивиденды |
Число, на которое нужно разделить. |
делитель |
Число, на которое нужно разделить. |
Пример
при запуске
[Display the remainder of 10 / 3.]
вывести (остаток от деления [10] / [3]) на экран ▶
присоединиться#
Блок обработки запросов join выводит одну строку, объединяющую две входные строки.
(объединить [apple] [banana])
параметр |
описание |
|---|---|
строка 1 |
Первая строка для объединения. |
строка 2 |
Вторая строка для объединения. |
при запуске
[Display "VEXcode" on the screen.]
вывести (объединить [VEX] [code]) на экран ▶
письмо#
Блок обработки писем выводит односимвольную строку, начиная с указанной позиции в заданной строке.
(символ [1] строки [apple])
параметр |
описание |
|---|---|
позиция |
Позиция символа в строке (начиная с 1). |
нить |
Строка, из которой нужно извлечь букву. |
при запуске
[Display the first letter of "Robot".]
вывести (символ (1) строки [Robot]) на экран ▶
длина#
Блок length выводит количество символов в указанной строке, включая пробелы.
(длина [apple])
параметр |
описание |
|---|---|
нить |
Строка, длина которой измеряется. |
Пример
при запуске
[Count the number of characters in "VEX Robotics".]
вывести (длина [VEX Robotics]) на экран ▶
содержит#
Логический блок contains указывает, содержит ли указанная строка заданное слово или символ.
Истина – Строка содержит это конкретное слово или символ.
Ложь – Строка не содержит это конкретное слово или символ.
<[apple] содержит [a]?>
параметр |
описание |
|---|---|
нить |
Основная строка, в которой будет производиться поиск. |
поисковый запрос |
Слово или символ, который нужно проверить внутри строки. |
Пример
при запуске
[Check if "robotics" contains "bot".]
если <[robotics] содержит [bot]?> то
вывести [The word contains "bot".] на экран ▶
иначе
вывести [Not found.] на экран ▶
конец
конвертировать#
Блок вывода convert отображает числовое значение, преобразованное в указанный тип, либо в текст, либо в число.
текст – Преобразует число в строку. Для работы с блоками строковых операторов числа должны быть в строковом формате.
number – Преобразует число в десятичное значение.
(преобразовать [0] в [текст v])
параметр |
описание |
|---|---|
ценить |
Число для конвертации. |
тип |
Тип данных для преобразования числа:
|
Пример
при запуске
[Display the robot's heading as it turns.]
поворот [вправо v]
вечно
очистить экран
установить курсор на строку [1] столбец [1] на экране
вывести (объединить [Currently facing: ] (преобразовать ([BrainInertial v] курс в градусах) в [текст v])) на экран ▶
ждать [0.1] секунд
конец