Оператори#

Вступ#

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

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

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

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

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

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

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

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

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

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

  • 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

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

Приклад

коли запущено
[Fly to position (0, 300, 500).]
злетіти на [500] [мм v] ▶
чекати (1) секунд
рухатися [вперед v]
чекати до <(позиція [y v] у [мм v]) [math_greater_than v] [300]>
чекати (1) секунд
посадка ▶

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

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

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

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

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

Параметр

Опис

умова 1

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

оператор

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

умова 2

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

Приклад

коли запущено
[Display when buttons 5 and 7 are pressed together.]
чекати до <<кнопка контролера [5 v] натиснута?> [і v] <кнопка контролера [7 v] натиснута?>>
вивести [Both buttons pressed!] на консоль ▶

не оператор#

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

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

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

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

Параметр

Опис

хвороба

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

Приклад

коли запущено
[Move with controller while button 5 is not pressed.]
злетіти на [500] [мм v] ▶
поки <не <кнопка контролера [5 v] натиснута?>>
рухатися з контролером
Кінець
посадка ▶

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

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

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

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

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

Параметр

Опис

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

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

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

значення

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

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

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

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

Приклад

коли запущено
[Hover at approximately 1000mm then land.]
злетіти на [500] [мм v] ▶
підніматися [вгору v]
чекати до <[1000] [math_less_than v] (altitude in [mm v]) [math_less_than v] [1100]>
зависати
чекати (3) секунд
посадка ▶

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

Блок репортера pick random повертає випадкове додатне або від’ємне число між мінімумом і максимумом. Він може повертати як мінімальне, так і максимальне значення. Наприклад, вибір від 1 до 10 може повернути будь-яке ціле число від 1 до 10.

Блок репортера «Вибрати випадковий».#
вибрати випадкове від [1] до [10]

Параметри

Опис

хв

Найменше можливе число, яке можна вибрати.

макс.

Найбільше можливе число, яке можна вибрати.

Приклади

Відобразити число від 1 до 10.#
коли запущено
[Display a number between 1 and 10.]
вивести (вибрати випадкове від [1] до [10]) на консоль ▶

Відобразити десяткове число від 1 до 10,5.#
коли запущено
[Display a decimal number between 1 and 10.5.]
встановити точність друку [Усі цифри v] на консолі
вивести (вибрати випадкове від [1] до [10.5]) на консоль ▶

кругле число#

Блок репортера округлених чисел повідомляє задане число, округлене до найближчого цілого числа, дотримуючись стандартних правил округлення:

  • Якщо десятковий дріб дорівнює 0,5 або більше, число округляється в більшу сторону.

  • Якщо десятковий дріб менший за 0,5, число округляється у менший бік.

Блок репортера круглих чисел.#
(округлити [0] до [0] десяткових знаків)

Параметр

Опис

число

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

знаки від коми

Кількість знаків після коми, до якої потрібно округлити.

Приклад

Виведіть округлений результат 10/3.#
коли запущено
[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 — Повертає від’ємне число

число

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

Приклад

Покажіть квадратний корінь з 16.#
коли запущено
[Display the square root of 16.]
вивести ([sqrt v] від [16]) на консоль ▶

атан2#

Блок репортера atan2 повідомляє арктангенс Y/X як кут у градусах, що представляє кут між додатною віссю X та точкою (X, Y).

блок atan2#
(atan2 від x:[4] y:[3])

Параметр

Опис

х

Горизонтальне положення точки, виміряне від початку координат (0,0).

у

Вертикальне положення точки, виміряне від початку координат (0,0).

Приклад

Обчисліть кут від поточної позиції (4, 3).#
коли запущено
[Calculate the angle from current position (4, 3).]
вивести (atan2 від x:[4] y:[3]) на консоль ▶

залишок#

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

Блок репортера «Залишок».#
остача від [0] / [0]

Параметр

Опис

дивіденди

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

дільник

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

Приклад

Виведіть залишок від 10/3.#
коли запущено
[Display the remainder of 10 / 3.]
вивести (остача від [10] / [3]) на консоль ▶

приєднатися#

Блок репортера join повідомляє один рядок, який поєднує два вхідні рядки.

Блок «Приєднатися до репортера».#
(об'єднати [apple] [banana])

параметр

опис

рядок 1

Перший рядок для об’єднання.

рядок 2

Друга струна для об’єднання.

Приклад

коли запущено
[Display "VEXcode" on the Console.]
вивести (об'єднати [VEX] [code]) на консоль ▶

лист#

Блок репортера літер повідомляє односимвольний рядок з вказаної позиції у заданому рядку.

Блок репортера «Лист».#
(символ [1] рядка [apple])

параметр

опис

позиція

Позиція символу в рядку (починаючи з 1).

рядок

Рядок, з якого потрібно витягти літеру.

Приклад

коли запущено
[Display the first letter of "drone".]
вивести (символ (1) рядка [drone]) на консоль ▶

довжина#

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

параметр

опис

значення

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

тип

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

  • text
  • number

Приклад

коли запущено
[Add any number to 5.]
запитати [Give me a number.] і чекати
вивести ((перетворити (відповідь) на [число v]) [math_plus v] [5]) на консоль ▶