Оператори#

Вступ#

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Блок репортера оператора 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

Друге значення для порівняння.

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

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

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

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

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

Параметр

Опис

умова 1

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

оператор

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

умова 2

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

не оператор#

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

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

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

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

Параметр

Опис

хвороба

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

Приклад

коли запущено
[Check if the 6-Axis Arm can move to a position.]
якщо <не <[рука v] може перемістити у позицію x:[0] y:[0] z:[0] [мм v]?>> тоді
вивести [The 6-Axis Arm can't move to this position.] на консоль ◀ і перейти до наступного рядка

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

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

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

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

Булев блок оператора діапазону.#
<[0] [math_less_than v] [0] [math_less_than v] [0]>

Параметр

Опис

перший оператор

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

  • < - Менше за
  • ≤ - Менше або дорівнює
  • - Більше за
  • ≥ - Більше або дорівнює

значення

Значення, яке потрібно перевірити.

другий оператор

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

  • < - Менше за
  • ≤ - Менше або дорівнює
  • - Більше за
  • ≥ - Більше або дорівнює

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

Блок репортера 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])

параметр

опис

значення

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

тип

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

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

Приклад

коли запущено :: hat events
[Display the Arm's x-position as it moves.]
змістити позицію [рука v] на x:[100] y:[0] z:[0] [мм v] ◀ і не чекати
назавжди
очистити всі рядки
вивести (об'єднати [X: ] (перетворити (позиція [рука v] [x v] у [мм v]) на [текст v])) на консоль ◀ і перейти до наступного рядка
чекати [0.5] секунд