КОНТРОЛЬ#

Вступ#

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

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

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

  • 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 the screen is pressed, then stop.]
їхати [вперед v]
чекати до <екран натиснуто?>
зупинити рух

повторити#

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

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

Параметри

Опис

рази

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

Приклад

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

назавжди#

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

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

Параметри

Опис

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

Приклад

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

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

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

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

Параметри

Опис

хвороба

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

Приклад

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

поки#

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

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

Параметри

Опис

хвороба

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

Приклад

Стек блоків, що починається з блоку «when started», за яким йде блок коментаря «Відображати час після закінчення 2 секунд». Блок «wait until» призупиняє виконання, доки таймер не досягне або не перевищить дві секунди. Після виконання цієї умови блок друку відображає значення таймера на екрані.#
коли запущено
[Display the time for one minute.]
поки <(таймер у секундах) [math_less_than v] [60]>
очистити екран
встановити курсор на рядок [1] стовпець [1] на екрані
вивести (таймер у секундах) на екран ▶

якщо#

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

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

Параметри

Опис

хвороба

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

Приклад

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

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

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

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

Параметри

Опис

хвороба

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

Приклад

якщо тоді інакше блок#
коли запущено
[Display a message if the screen is being pressed.]
назавжди
очистити екран
встановити курсор на рядок [1] стовпець [1] на екрані
якщо <екран натиснуто?> тоді
вивести [Pressed!] на екран ▶
інакше
вивести [Not pressed!] на екран ▶
Кінець

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

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

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

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

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

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

Параметри

Опис

хвороба

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

Приклад

якщо тоді інакше блок#
коли запущено
[Move the robot based on the Controller button is being pressed.]
назавжди
якщо <[Controller1 v] [▶ v] натиснуто?> тоді
повернути [праворуч v]
інакше якщо <[Controller1 v] [◀ v] натиснуто?> тоді
повернути [ліворуч v]
інакше
зупинити рух
Кінець

перерва#

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

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

Параметри

Опис

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

Приклад

Після запуску повертає праворуч, доки не буде натиснуто екран, потім зупиняється.#
коли запущено
[Stop turning after the screen is pressed.]
назавжди
повернути [праворуч v]
якщо <екран натиснуто?> тоді
перервати
Кінець
Кінець
зупинити рух

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

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

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

Параметри

Опис

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

Приклад

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