КОНТРОЛЬ#
Вступ#
Блоки керування у VEXcode VR керують потоком проекту, обробляючи цикли, умови та затримуючи виконання блоків.
Цикл — це коли комп’ютер повторює один і той самий крок або групу кроків знову і знову, доки йому не буде наказано зупинитися. Умова — це правило, яке комп’ютер перевіряє, щоб вирішити, що робити далі. Наприклад, робот може рухатися вперед, якщо датчик виявляє об’єкт.
Нижче наведено список доступних блоків:
wait – Призупиняє виконання блоків на певний час.
чекати до – Призупиняє виконання блоків до виконання заданої умови.
repeat – Повторює набір блоків певну кількість разів.
forever – Повторює набір блоків нескінченно довго.
повторювати до – Повторює набір блоків, доки не буде виконано умову.
while – Повторює набір блоків, поки умова залишається істинною.
if – Виконує набір блоків, якщо умова істинна.
if / else – Запускає один набір блоків, якщо умова істинна, інакше запускає інший.
if / else if / else – Запускає різні набори блоків залежно від кількох умов.
break – Негайно завершує цикл repeat, forever, repeat until або while.
зупинити проєкт – Завершує проєкт.
чекати#
Блок стека wait призупиняє виконання блоків на певний час перед переходом до наступного блоку.
чекати (1) секунд
Параметри |
Опис |
|---|---|
час |
Час очікування у секундах, як додатне ціле число або десятковий дроб. |
Приклад
коли запущено :: hat events
[Move forward for one second, then stop.]
їхати [вперед v]
чекати (1) секунд
зупинити рух
чекати, поки#
Блок стека wait until призупиняє виконання блоків до виконання заданої умови перед переходом до наступного блоку.
чекати до <>
Параметри |
Опис |
|---|---|
хвороба |
Умова, яка має бути виконана перед переходом до наступного блоку. |
Приклад
коли запущено :: hat events
[Move forward until a button is pressed, then stop.]
їхати [вперед v]
чекати до <[LeftBumper v] натиснуто?>
зупинити рух
повторити#
Блок C repeat виконує блоки всередині нього задану кількість разів.
повторити [10]
Кінець
Параметри |
Опис |
|---|---|
рази |
Ціле число, яке встановлює, скільки разів виконується блок повторення. |
Приклад
коли запущено :: hat events
[Move in a square path.]
повторити [4]
їхати [вперед v] на [150] [мм v] ▶
повернути [праворуч v] на [90] градусів ▶
Кінець
назавжди#
Вічний блок C продовжує запускати блоки всередині себе знову і знову без зупинки.
назавжди
Кінець
Параметри |
Опис |
|---|---|
Цей блок не має параметрів. |
Приклад
коли запущено :: hat events
[Move in a square path forever.]
назавжди
їхати [вперед v] на [150] [мм v] ▶
повернути [праворуч v] на [90] градусів ▶
Кінець
повторювати доки#
Блок повторювати до C виконує блоки всередині себе багаторазово, поки не буде виконано вказану умову.
повторювати до <>
Кінець
Параметри |
Опис |
|---|---|
хвороба |
Вираз або змінна, що перевіряється перед кожним циклом. Якщо значення False (хибне), блоки продовжують повторюватися. Якщо значення True (істина), цикл зупиниться. |
Приклад
коли запущено :: hat events
[Move the pen until the bumper is pressed.]
їхати [вперед v]
повторювати до <[LeftBumper v] натиснуто?>
перемістити перо [вниз v]
чекати (0.5) секунд
перемістити перо [вгору v]
чекати (0.5) секунд
Кінець
чекати (0.5) секунд
зупинити рух
поки#
Блок C while виконує блоки всередині повторно, поки виконується задана умова.
поки <>
Кінець
Параметри |
Опис |
|---|---|
хвороба |
Вираз або змінна, яка перевіряється перед кожним циклом. Якщо вона має значення True, блоки продовжують повторюватися. Якщо вона має значення False, цикл зупиниться. |
Приклад
коли запущено :: hat events
[Display a message while moving.]
їхати [вперед v] на [300] [мм v] ◀ і не чекати
поки <рух виконується?>
вивести [Moving...] ▶
чекати (0.1) секунд
очистити всі рядки
Кінець
вивести [Done!] ▶
якщо#
Блок if C виконує блоки всередині, якщо умова має значення True.
якщо <> тоді
Кінець
Параметри |
Опис |
|---|---|
хвороба |
Вираз або змінна, яка перевіряється під час виконання оператора. Якщо значення True, блоки всередині блоку if будуть виконані. Якщо значення False, блоки пропускаються. |
Приклад
коли запущено :: hat events
[Turn in a circle if the bumper is pressed.]
їхати [вперед v]
назавжди
якщо <[LeftBumper v] натиснуто?> тоді
їхати [назад v] на (200) [мм v] ▶
повернути [праворуч v] на (360) градусів ▶
Кінець
зупинити рух
Кінець
якщо / інакше#
Блок C if / else визначає, який набір блоків виконується залежно від того, чи є умова True чи False.
якщо <> тоді
інакше
Кінець
Параметри |
Опис |
|---|---|
хвороба |
Вираз або змінна, яка перевіряється під час виконання оператора. Якщо значення True, блоки всередині блоку if будуть виконані. Якщо значення False, блоки всередині блоку else будуть виконані. |
Приклад
коли запущено :: hat events
[If bumper pressed, reverse and turn right.]
назавжди
якщо <[LeftBumper v] натиснуто?> тоді
їхати [назад v] на (100) [мм v] ▶
повернути [праворуч v] на (90) градусів ▶
інакше
їхати [вперед v]
Кінець
якщо / інакше якщо / інакше#
Розширюваний блок C if / else if / else вибирає, який набір блоків виконуватиметься, на основі умов:
Функція if виконує свій блок коду, якщо умова має значення True.
else if перевіряє додаткові умови, лише якщо всі попередні умови оцінені як False. Можна використовувати кілька операторів else if.
else виконує свій блок коду, лише якщо жодна з попередніх умов не оцінюється як True.
якщо <> тоді
інакше якщо <> тоді
інакше
Кінець
Параметри |
Опис |
|---|---|
хвороба |
Вираз або змінна, що перевіряється під час виконання оператора. Перша умова, що має значення True, запускає цей набір блоків. Якщо всі умови мають значення False, блоки всередині блоку else будуть виконані. |
Приклад
коли запущено :: hat events
[Turn right if the an Eye Sensor detects red, left if it detects green, and continue driving if anything else.]
назавжди
якщо <[FrontEye v] виявляє [червоний v]?> тоді
повернути [праворуч v] на (90) градусів ▶
інакше якщо <[FrontEye v] виявляє [зелений v]?> тоді
повернути [ліворуч v] на (90) градусів ▶
інакше
їхати [вперед v]
Кінець
Кінець
перерва#
Блок стека break негайно виходить з циклу. Цей блок можна використовувати всередині блоків repeat, repeat until, while та forever. Break корисний, коли цикл потрібно зупинити раніше через певні події під час проекту, наприклад, натискання кнопки або виявлення об’єкта датчиком.
перервати
Параметри |
Опис |
|---|---|
Цей блок не має параметрів. |
Приклад
коли запущено :: hat events
[Stop turning after a button is pressed.]
назавжди
їхати [вперед v]
якщо <[LeftBumper v] натиснуто?> тоді
перервати
Кінець
Кінець
зупинити рух
зупинити проєкт#
Блок стеку stop project завершує запущений проєкт.
зупинити проект
Параметри |
Опис |
|---|---|
Цей блок не має параметрів. |
Приклад
коли запущено :: hat events
[Stop the project entirely after a button is pressed.]
назавжди
їхати [вперед v]
якщо <[LeftBumper v] натиснуто?> тоді
зупинити проект
Кінець
Кінець