Оператори#

Вступ#

Блоки операторів у VEXcode IQ (2-го покоління) допомагають роботу працювати з числами та словами. Ці блоки можуть розв’язувати математичні задачі, порівнювати значення, оцінювати, чи умови істинні, чи хибні, та працювати з рядками. Рядки можна використовувати для виведення значень та слів.

Нижче наведено список доступних блоків:

  • математичний оператор – Виконує додавання, віднімання, множення або ділення.

  • оператор порівняння – Порівнює два значення за допомогою операторів «більше ніж», «менше ніж» або «дорівнює».

  • логічний оператор – Обчислює кілька умов за допомогою операторів «і» або «або».

  • не оператор – Інвертує логічне значення.

  • оператор діапазону – Перевіряє, чи число потрапляє в діапазон.

  • вибрати випадкове число – Генерує випадкове число в межах заданого діапазону.

  • округлення числа – Округлює число до найближчого цілого числа.

  • математичні функції – Застосовує такі операції, як квадратний корінь, тригонометрія, логарифми та піднесення до степеня.

  • atan2 – Обчислює арктангенс до осі y/x.

  • remainder – Повідомляє залишок від операції ділення.

  • join – Об’єднує два рядки в один.

  • літера – Витягує символ з рядка за позицією.

  • length – Повертає кількість символів у рядку.

  • містить – Перевіряє, чи рядок містить певне слово або символ.

  • convert – Перетворює число на текст, ціле число або десятковий дріб.

математичний оператор#

Блок репортера математичний оператор виконує основні математичні операції зі значеннями, розміщеними по обидва боки від оператора. Він повертає результат на основі точності друку проекту, яка за замовчуванням становить 0 знаків після коми, але її можна налаштувати за допомогою блоків set print precision on screen або set print precision on console.

Блок репортера оператора Math.#
([0] [math_plus v] [0])

Параметри

Опис

значення 1

Перше число, що використовується в операції.

оператор

Математичний оператор, який слід використовувати:

  • + - Додавання
  • - - Віднімання
  • * - Множення
  • / - Ділення

значення 2

Друге число, яке використовується в операції.

Приклад

коли запущено
[Perform basic addition and show two decimal places.]
встановити точність друку [0.01 v] на екрані
вивести ([10] [math_plus v] [10.5]) на екран ▶

оператор порівняння#

Логічний блок оператора порівняння повідомляє, чи є порівняння між двома значеннями True чи False.

  • Правда – Порівняння правильне (наприклад, 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]>
зупинити рух

логічний оператор#

Булев блок логічного оператора повідомляє, чи є логічна умова між кількома значеннями True чи False.

  • Істина – Логічна умова виконана.

  • Хибно – Логічна умова не виконується.

Булев блок логічного оператора.#
<<> [і v] <>>

Параметр

Опис

умова 1

Перша булева умова для обчислення.

оператор

Логічний оператор, який слід використовувати: і повертає True, якщо обидві умови True. або повертає True, якщо принаймні одна умова True.

умова 2

Друга булева умова для обчислення.

Приклад

коли запущено
[Display if the ◀ and ▶ buttons are pressed.]
назавжди
очистити екран
встановити курсор на рядок [1] стовпець [1] на екрані
якщо <<кнопка Brain [◀ v] натиснута?> [і v] <кнопка Brain [▶ v] натиснута?>> тоді
вивести [Buttons pressed!] на екран ▶
Кінець
Кінець

не оператор#

Логічний блок not інвертує результат логічного блоку. Якщо вхідне значення True, він повертає False, а якщо вхідне значення False, він повертає True.

  • True – Вхідна умова зазвичай повертає значення False.

  • Хибність – Вхідна умова зазвичай повертає значення Істина.

Булев блок Not Operator.#
<не <>>

Параметр

Опис

хвороба

Булева умова, яку потрібно інвертувати.

Приклад

коли запущено
[Turn until the robot is facing left. ]
назавжди
якщо <не <(курс руху у градусах) [math_greater_than v] [270]>> тоді
повернути [праворуч v]
інакше
зупинити рух

оператор діапазону#

Логічний блок оператор діапазону повідомляє, чи знаходиться значення в заданому діапазоні.

  • True – Якщо значення знаходиться в межах діапазону.

  • Хибність – Якщо значення виходить за межі діапазону.

Булев блок оператора діапазону.#
<[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!] на екран ▶

вибрати випадковий#

Блок репортера pick random повертає випадкове додатне або від’ємне число між мінімумом і максимумом. Він може повертати як мінімальне, так і максимальне значення. Наприклад, вибір від 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]

Параметр

Опис

функція

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

  • abs - Абсолютне значення
  • floor - Округлення вниз
  • ceiling - Округлення вгору
  • sqrt - Квадратний корінь
  • sin - Синус
  • cos - Косинус
  • tan - Тангенс
  • asin - Арксинус
  • acos - Арккосинус
  • atan - Арктангенс
  • ln - Натуральний логарифм
  • log - Десятичний логарифм
  • e^ - Число Ейлера, зведене до степеня
  • 10^ - 10, зведене до степеня
  • minus - Повертає від’ємне число

число

Число, до якого слід застосувати функцію.

Приклад

коли запущено
[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]) на екран ▶

залишок#

Блок репортера remainder повідомляє про залишок операції ділення між двома значеннями.

Блок репортера «Залишок».#
(остача від [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 повідомляє, чи містить заданий рядок задане слово або символ.

  • True – Рядок містить це конкретне слово або символ.

  • Хибність – Рядок не містить цього конкретного слова або символу.

Блок Contains Boolean.#
<[apple] містить [a]?>

параметр

опис

рядок

Основний рядок для пошуку.

пошуковий термін

Слово або символ, який потрібно перевірити всередині рядка.

Приклад

коли запущено
[Check if "robotics" contains "bot".]
якщо <[robotics] містить [bot]?> тоді
вивести [The word contains "bot".] на екран ▶
інакше
вивести [Not found.] на екран ▶
Кінець

конвертувати#

Блок репортера convert повідомляє значення числа, перетвореного на вказаний тип, або як текст, або як число.

  • текст – Перетворює число на рядок. Числа мають бути у рядковому форматі, щоб працювати з блоками Рядковий оператор.

  • число – Перетворює число на десяткове значення.

Блок репортера Convert.#
(перетворити [0] на [текст v])

параметр

опис

значення

Число, яке потрібно конвертувати.

тип

Тип, у який потрібно перетворити число:

  • текст
  • число

Приклад

коли запущено
[Display the robot's heading as it turns.]
повернути [праворуч v]
назавжди
очистити екран
встановити курсор на рядок [1] стовпець [1] на екрані
вивести (об'єднати [Currently facing: ] (перетворити (курс [BrainInertial v] у градусах) на [текст v])) на екран ▶
чекати [0.1] секунд
Кінець