Контроль#
Введение#
Блоки управления в VEXcode 123 управляют потоком выполнения проекта, обрабатывая циклы, условия и задерживая выполнение блоков.
Цикл — это когда компьютер повторяет один и тот же шаг или группу шагов снова и снова, пока ему не будет дано указание остановиться. Условие — это правило, которое компьютер проверяет, чтобы решить, что делать дальше. Например, двигаться вперед, если датчик взгляда обнаружит объект.
Ниже приведён список доступных блоков:
wait – Приостанавливает выполнение блоков на определенный период времени.
ждать до – Приостанавливает выполнение блоков до тех пор, пока не будет выполнено указанное условие.
повтор – Повторяет набор блоков определенное количество раз.
навсегда – Повторяет набор блоков бесконечно.
повторять до – Повторяет набор блоков до тех пор, пока не будет выполнено условие.
while – Повторяет набор блоков, пока условие остается истинным.
if – Выполняет набор блоков, если условие истинно.
if / else – Выполняет один набор блоков, если условие истинно, в противном случае выполняет другой.
if / else if / else – Запускает разные наборы блоков в зависимости от нескольких условий.
break – Немедленно выходит из цикла repeat, forever, repeat until или while.
остановить проект – Завершает проект.
ждать#
Блок wait в стеке приостанавливает выполнение блоков на определенное время, прежде чем перейти к следующему блоку.
ждать (1) секунд
Параметры |
Описание |
|---|---|
время |
Время ожидания, выраженное в секундах в виде положительного целого числа или десятичной дроби. |
Пример
при запуске :: hat events
[Drive forward then stop.]
движение [вперёд v]
ждать (2) секунд
остановить движение
подождите, пока#
Блок wait until в стеке приостанавливает выполнение блоков до тех пор, пока не будет выполнено указанное условие, после чего переходит к следующему блоку.
ждать пока <>
Параметры |
Описание |
|---|---|
состояние |
Условие, которое должно быть выполнено, прежде чем перейти к следующему блоку. |
Пример
при запуске :: hat events
[Drive forward when the sound button is pressed.]
ждать пока <[soundIcon v] нажат?>
движение [вперёд v] на [200] [мм v]
повторить#
Блок repeat C выполняет блоки внутри себя заданное количество раз.
повторить [10]
конец
Параметры |
Описание |
|---|---|
времена |
Целое число, определяющее, сколько раз будет выполняться блок повтор. |
Пример
при запуске :: hat events
[Drive in a square pattern.]
повторить [4]
движение [вперёд v] на [200] [мм v]
поворот [вправо v] на [90] °
навсегда#
Блок C, работающий бесконечно, продолжает запускать находящиеся внутри него блоки снова и снова без остановки.
вечно
конец
Параметры |
Описание |
|---|---|
Этот блок не имеет параметров. |
Пример
при запуске :: hat events
[Blink LED light in a pattern.]
вечно
свечение [зелёный v]
ждать [0.5] секунд
свечение [выкл v]
ждать [0.5] секунд
повторять до тех пор, пока#
Блок C repeat until многократно запускает находящиеся в нем блоки до тех пор, пока не будет выполнено указанное условие.
повторять пока <>
конец
Параметры |
Описание |
|---|---|
состояние |
Выражение или переменная, которая проверяется перед каждым циклом. Если она ложная, блоки продолжают повторяться. Если она истинная, цикл останавливается. |
Пример
при запуске :: hat events
[Blink LED light until the sound button is pressed.]
повторять пока <[soundIcon v] нажат?>
свечение [зелёный v]
ждать [0.5] секунд
свечение [выкл v]
ждать [0.5] секунд
пока#
Блок while на языке C многократно выполняет находящиеся внутри него блоки, пока выполняется указанное условие.
пока <>
конец
Параметры |
Описание |
|---|---|
состояние |
Выражение или переменная, которая проверяется перед каждым циклом. Если она истинна, блоки продолжают повторяться. Если она ложна, цикл останавливается. |
Пример
при запуске :: hat events
[Turn the robot around.]
пока <(Курс движения в градусах) [math_less_than v] [180]>
поворот [вправо v]
конец
остановить движение
если#
Блок if на языке C запускает блоки внутри, если условие истинно.
если <> то
конец
Параметры |
Описание |
|---|---|
состояние |
Выражение или переменная, которая проверяется при выполнении оператора. Если она истинна, блоки внутри блока if будут выполнены. Если она ложна, блоки пропускаются. |
Пример
при запуске :: hat events
[Drive forward whenever the sound button is pressed.]
вечно
если <[soundIcon v] нажат?> то
движение [вперёд v] на [200] [мм v]
если / иначе#
Блок if / else в языке C определяет, какой набор блоков будет выполняться в зависимости от того, является ли условие истинным или ложным.
если <> то
иначе
конец
Параметры |
Описание |
|---|---|
состояние |
Выражение или переменная, которая проверяется при выполнении оператора. Если она истинна, будут выполнены блоки внутри блока if. Если она ложна, будут выполнены блоки внутри блока else. |
Пример
при запуске :: hat events
[Drive forward until a crash.]
вечно
если <столкновение?> то
остановить движение
иначе
движение [вперёд v] на [200] [мм v]
если / иначе если / иначе#
Расширяемый блок C if / else if / else выбирает, какой набор блоков будет выполняться в зависимости от условий:
Функция
ifвыполняет свой блок кода, если условие оценивается какTrue.Оператор else if проверяет дополнительные условия только в том случае, если все предыдущие условия были оценены как ложные. Можно использовать несколько операторов else if.
В противном случае блок кода выполняется только в том случае, если ни одно из предыдущих условий не было оценено как истинное.
если <> то
иначе если <> то
иначе
конец
Параметры |
Описание |
|---|---|
состояние |
Выражение или переменная, которая проверяется при выполнении оператора. Первое условие, которое истинно, запускает этот набор блоков. Если все условия ложны, то будут выполнены блоки внутри блока else. |
Пример
при запуске :: hat events
[Turn right for the right button, left for the left button.]
вечно
если <[ifbuttonright v] нажат?> то
поворот [вправо v]
иначе если <[ifbuttonleft v] нажат?> то
поворот [влево v]
иначе
остановить движение
перерыв#
Блок break в стеке немедленно завершает цикл. Этот блок можно использовать внутри блоков repeat, repeat until, while и forever. Break полезен, когда цикл необходимо остановить досрочно в зависимости от события, происходящего во время выполнения проекта, например, нажатия кнопки или обнаружения объекта датчиком.
прервать
Параметры |
Описание |
|---|---|
Этот блок не имеет параметров. |
Пример
при запуске :: hat events
[Flash the LED until the sound button is pressed.]
вечно
свечение [зелёный v]
ждать [0.5] секунд
свечение [синий v]
ждать [0.5] секунд
если <[soundIcon v] нажат?> то
прервать
остановить проект#
Блок стека stop project завершает выполнение запущенного проекта.
остановить проект
Параметры |
Описание |
|---|---|
Этот блок не имеет параметров. |
Пример
при запуске :: hat events
[Stop the project after a crash.]
вечно
движение [вперёд v]
если <столкновение?> то
остановить проект