КОНТРОЛЬ#

Вступ#

Блоки керування у VEXcode AIM керують потоком проекту, обробляючи цикли, умови та затримуючи виконання блоків.

Цикл — це коли комп’ютер повторює один і той самий крок або групу кроків знову і знову, доки йому не буде наказано зупинитися. Умова — це правило, яке комп’ютер перевіряє, щоб вирішити, що робити далі. Наприклад, робот може рухатися вперед, якщо датчик виявляє об’єкт.

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

  • wait — Призупиняє виконання блоків на певний час.

  • чекати до — Призупиняє виконання блоків до виконання заданої умови.

  • repeat — Повторює набір блоків певну кількість разів.

  • forever — Повторює набір блоків необмежено довго.

  • повторювати до — Повторює набір блоків, доки не буде виконано умову.

  • while — Повторює набір блоків, поки умова залишається істинною.

  • if — Виконує набір блоків, якщо умова істинна.

  • if / else — Запускає один набір блоків, якщо умова істинна, інакше запускає інший.

  • if / else if / else — Запускає різні набори блоків залежно від кількох умов.

  • break — Негайно завершує цикл repeat, forever, repeat until або while.

  • зупинити проєкт — Завершує проєкт.

чекати#

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

блок стека очікування#
чекати (1) секунд

Параметри

Опис

час

Час очікування у секундах, як додатне ціле число або десятковий дроб.

Приклад

Після запуску рухається вперед на одну секунду, а потім повністю зупиняється.#
коли запущено
[Move forward for one second, then stop.]
рухатися [вперед v]
чекати (1) секунд
зупинити весь рух

чекати доки#

Блок стека wait until призупиняє виконання блоків до виконання заданої умови перед переходом до наступного блоку.

зачекайте, поки блок стека#
чекати до <>

Параметри

Опис

хвороба

Умова, яка має бути виконана перед переходом до наступного блоку.

Приклад

Після запуску рухається вперед, доки не буде натиснуто екран, потім повністю зупиняється.#
коли запущено
[Move forward until screen pressed, then stop.]
рухатися [вперед v]
чекати до <екран натиснуто?>
зупинити весь рух

повторити#

Блок C repeat виконує блоки всередині нього задану кількість разів.

повторити блок C#
повторити [10]
Кінець

Параметри

Опис

рази

Ціле число, яке встановлює, скільки разів виконується блок повторення.

Приклад

коли запущено
[Move in a square path.]
повторити [4]
рухатися [вперед v] на [50] [мм v] ▶
повернути [праворуч v] на [90] градусів ▶
Кінець

назавжди#

Вічний блок C продовжує запускати блоки всередині себе знову і знову без зупинки.

назавжди блок C#
назавжди
Кінець

Параметри

Опис

Цей блок не має параметрів.

Приклад

Після запуску безперервно рухається по квадратній траєкторії, рухаючись вперед на 50 мм та повертаючись праворуч на 90 градусів у нескінченному циклі.#
коли запущено
[Move in a square path forever.]
назавжди
рухатися [вперед v] на [50] [мм v] ▶
повернути [праворуч v] на [90] градусів ▶
Кінець

повторювати доки#

Блок повторювати до C виконує блоки всередині себе багаторазово, поки не буде виконано вказану умову.

повторювати до блокування#
повторювати до <>
Кінець

Параметри

Опис

хвороба

Вираз або змінна, що перевіряється перед кожним циклом. Якщо значення False (хибне), блоки продовжують повторюватися. Якщо значення True (істина), цикл зупиниться.

Приклад

Після запуску всі світлодіоди горять червоним, доки не буде натиснуто на екран, а потім вимикаються.#
коли запущено
[Repeat until the screen is pressed before turning off the LEDs.]
повторювати до <екран натиснуто?>
встановити колір LED [lightall v] на [червоний v]
Кінець
встановити колір LED [lightall v] на [вимк. v]

поки#

Блок C while виконує блоки всередині повторно, поки виконується задана умова.

поки блок c#
поки <>
Кінець

Параметри

Опис

хвороба

Вираз або змінна, яка перевіряється перед кожним циклом. Якщо вона має значення True, блоки продовжують повторюватися. Якщо вона має значення False, цикл зупиниться.

Приклад

Після запуску рухається вперед на 200 мм, при цьому всі світлодіоди горять зеленим світлом. Світлодіоди вимикаються після зупинки руху.#
коли запущено
[Keep the LEDs green while the robot is moving.]
рухатися [вперед v] на [200] [мм v] ◀ і не чекати
поки <рух активний?>
встановити колір LED [lightall v] на [зелений v]
Кінець
встановити колір LED [lightall v] на [вимк. v]

якщо#

Блок if C виконує блоки всередині, якщо умова має значення True.

якщо блок#
якщо <> тоді
Кінець

Параметри

Опис

хвороба

Вираз або змінна, яка перевіряється під час виконання оператора. Якщо значення True, блоки всередині блоку if будуть виконані. Якщо значення False, блоки пропускаються.

Приклад

Під час запуску постійно перевіряє, чи натиснуто екран. Якщо натиснути, робот б’є об’єкт ногою із середньою силою.#
коли запущено
[Kick when the screen is pressed.]
назавжди
якщо <екран натиснуто?> тоді
штовхнути об'єкт [середній v]
Кінець
Кінець

якщо / інакше#

Блок C if / else визначає, який набір блоків виконується залежно від того, чи є умова True чи False.

якщо, то інакше блок#
якщо <> тоді
інакше
Кінець

Параметри

Опис

хвороба

Вираз або змінна, яка перевіряється під час виконання оператора. Якщо значення True, блоки всередині блоку if будуть виконані. Якщо значення False, блоки всередині блоку else будуть виконані.

Приклад

Після запуску постійно перевіряє, чи натиснуто екран. Якщо натиснуто, відображається схвильований емодзі, що дивиться вперед; в іншому випадку відображається нудьгуючий емодзі, що дивиться вперед.#
коли запущено
[Show one emoji when the screen is touched and a different one when it's not.]
назавжди
якщо <екран натиснуто?> тоді
показати [emoji_excited v] дивлячись [вперед v]
інакше
показати [emoji_bored v] дивлячись [вперед v]
Кінець
Кінець

якщо / інакше якщо / інакше#

Розширюваний блок C if / else if / else вибирає, який набір блоків виконуватиметься, на основі умов:

  • Функція if виконує свій блок коду, якщо умова має значення True.

  • else if перевіряє додаткові умови, лише якщо всі попередні умови оцінені як False. Можна використовувати кілька операторів else if.

  • else виконує свій блок коду, лише якщо жодна з попередніх умов не оцінюється як True.

якщо інакше, якщо інакше блок#
якщо <> тоді
інакше якщо <> тоді
інакше
Кінець

Параметри

Опис

хвороба

Вираз або змінна, що перевіряється під час виконання оператора. Перша умова, що має значення True, запускає цей набір блоків. Якщо всі умови мають значення False, блоки всередині блоку else будуть виконані.

Приклад

Коли положення осі 1 контролера змінюється, вона рухається вперед, якщо її натиснути вперед, рухається назад, якщо її потягнути назад, і зупиняється, коли її переведено в нейтральне положення.#
коли вісь контролера [1 v] змінюється
[Move the robot forward or reverse based on the position of the joystick.]
якщо <(позиція осі контролера [1 v]) [math_greater_than v] [0]> тоді
рухатися [вперед v]
інакше якщо <(позиція осі контролера [1 v]) [math_less_than v] [0]> тоді
рухатися [назад v]
інакше
зупинити весь рух
Кінець

перерва#

Блок стека break негайно виходить з циклу. Цей блок можна використовувати всередині блоків repeat, repeat until, while та forever. Break корисний, коли цикл потрібно зупинити раніше через певні події під час проекту, наприклад, натискання кнопки або виявлення об’єкта датчиком.

розрив блоку стека#
перервати

Параметри

Опис

Цей блок не має параметрів.

Приклад

Після запуску світлодіоди блимають червоним та зеленим кожні 0,5 секунди, доки не буде натиснуто екран, потім зупиняються.#
коли запущено
[Flash LEDs until the screen is pressed.]
назавжди
встановити колір LED [lightall v] на [червоний v]
чекати [0.5] секунд
встановити колір LED [lightall v] на [зелений v]
чекати [0.5] секунд
якщо <екран натиснуто?> тоді
перервати
Кінець
Кінець

зупинити проєкт#

Блок стеку stop project завершує запущений проєкт.

зупинити блок проекту#
зупинити проект

Параметри

Опис

Цей блок не має параметрів.

Приклад

Після запуску світлодіоди блимають червоним та зеленим кожні 0,5 секунди, доки не буде натиснуто екран, а потім проєкт зупиняється.#
коли запущено
[Stop the project once the screen is pressed.]
назавжди
встановити колір LED [lightall v] на [червоний v]
чекати [0.5] секунд
встановити колір LED [lightall v] на [зелений v]
чекати [0.5] секунд
якщо <екран натиснуто?> тоді
зупинити проект
Кінець
Кінець