Операторы#

Введение#

Блоки 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) сообщает, является ли логическое условие между несколькими значениями истинным или ложным.

  • Истинно – Логическое условие выполнено.

  • Ложно – Логическое условие не выполнено.

Блок логических операторов (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.

Блок репортеров Pick Random.#
случайное число от [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]

Параметр

Описание

функция

Математическая операция, применяемая к входному значению:

  • abs - Абсолютное значение
  • floor - Округление вниз
  • ceiling - Округление вверх
  • sqrt - Квадратный корень
  • sin - Синус
  • cos - Косинус
  • tan - Тангенс
  • asin - Обратный синус
  • acos - Обратный косинус
  • atan - Обратный тангенс
  • ln - Натуральный логарифм
  • log - Десятичный логарифм
  • e^ - Число Эйлера в степени
  • 10^ - 10 в степени
  • negative - Отображает отрицательное значение число

число

Число, к которому следует применить функцию.

Пример

при запуске
[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] секунд
конец