Controlo#
Introdução#
Os blocos de controlo no VEXcode gerem o fluxo de um projeto, lidando com loops, condições e atrasando a execução de outros blocos.
Um ciclo ocorre quando um computador repete o mesmo passo ou grupo de passos continuamente até receber a instrução de paragem. Uma condição é uma regra que o computador verifica para decidir o que fazer a seguir. Por exemplo, uma luz pode acender se o braço estiver a mover um objeto.
Segue abaixo a lista dos blocos disponíveis:
wait – Faz uma pausa na execução de blocos durante uma duração específica.
wait until – Suspende a execução de blocos até que uma condição especificada seja satisfeita.
repeat – Repete um conjunto de blocos um número específico de vezes.
para sempre – Repete um conjunto de blocos indefinidamente.
repetir até – Repete um conjunto de blocos até que uma condição seja satisfeita.
while – Repete um conjunto de blocos enquanto uma condição se mantiver verdadeira.
if – Executa um conjunto de blocos se uma condição for verdadeira.
if / else – Executa um conjunto de blocos se uma condição for verdadeira, caso contrário, executa outro.
if / else if / else – Executa diferentes conjuntos de blocos consoante múltiplas condições.
break – Sai imediatamente de um ciclo repeat, forever, repeat until, ou while.
parar projeto – Encerra o projeto.
espera#
O bloco de pilha wait pausa a execução de outros blocos durante um período específico antes de passar para o bloco seguinte.
aguardar (1) segundos
Parâmetros |
Descrição |
|---|---|
hora |
O tempo de espera, expresso como um número inteiro positivo ou decimal em segundos. |
Exemplo
quando iniciar
[Move to the left, then the right after one second.]
incrementar posição de [braço v] por x:[100] y:[0] z:[0] [mm v] ▶
aguardar (1) segundos
incrementar posição de [braço v] por x:[-100] y:[0] z:[0] [mm v] ▶
espere até#
O bloco de pilha esperar até interrompe a execução de outros blocos até que uma condição específica seja satisfeita, antes de avançar para o bloco seguinte.
aguardar até <>
Parâmetros |
Descrição |
|---|---|
estado |
A condição que deve ser satisfeita antes de passar para o bloco seguinte. |
repetir#
O bloco repeat C executa os blocos internos um determinado número de vezes.
repetir [10]
fim
Parâmetros |
Descrição |
|---|---|
vezes |
Um número inteiro que define quantas vezes o bloco repeat é executado. |
Exemplo
quando iniciar
[Move in a square pattern.]
repetir [4]
incrementar posição de [braço v] por x:[2] y:[0] z:[0] [polegadas v] ▶
incrementar posição de [braço v] por x:[0] y:[2] z:[0] [polegadas v] ▶
incrementar posição de [braço v] por x:[-2] y:[0] z:[0] [polegadas v] ▶
incrementar posição de [braço v] por x:[0] y:[2] z:[0] [polegadas v] ▶
fim
para sempre#
O bloco C eterno continua a executar os blocos internos repetidamente, sem parar.
para sempre
fim
Parâmetros |
Descrição |
|---|---|
Este bloco não possui parâmetros. |
Exemplo
quando iniciar
[Move in a square path forever.]
para sempre
incrementar posição de [braço v] por x:[2] y:[0] z:[0] [polegadas v] ▶
incrementar posição de [braço v] por x:[0] y:[2] z:[0] [polegadas v] ▶
incrementar posição de [braço v] por x:[-2] y:[0] z:[0] [polegadas v] ▶
incrementar posição de [braço v] por x:[0] y:[2] z:[0] [polegadas v] ▶
fim
Repita até#
O bloco repeat until em C executa os blocos internos repetidamente enquanto a condição especificada não for satisfeita.
repetir até <>
fim
Parâmetros |
Descrição |
|---|---|
estado |
Uma expressão ou variável que é verificada antes de cada iteração do ciclo. Se for False, os blocos continuam a repetir-se. Se for True, o ciclo será interrompido. |
Exemplo
quando iniciar
[Increment along the x-axis until it's no longer possible.]
repetir até <não <[braço v] incrementar posição em x:[100] y:[0] z:[0] [mm v]?>>
incrementar posição de [braço v] por x:[100] y:[0] z:[0] [mm v] ▶
fim
definir [braço v] para controle parado
enquanto#
O bloco while em C executa os blocos internos repetidamente enquanto a condição especificada for satisfeita.
enquanto <>
fim
Parâmetros |
Descrição |
|---|---|
estado |
Uma expressão ou variável que é verificada antes de cada iteração do ciclo. Se for Verdadeira, os blocos continuam a repetir-se. Se for Falsa, o ciclo será interrompido. |
Exemplo
quando iniciar
[Display the 6-Axis Arm's position as it moves.]
mover [braço v] para a posição x:(-100) y:(200) z:(100) [mm v] ◀ e não aguardar
enquanto <não <[braço v] concluiu o movimento?>>
imprimir (posição de [braço v] [y v] em [mm v]) no console ◀ e mover cursor para a próxima linha
aguardar [0.25] segundos
se#
O bloco if em C executa os blocos internos se a condição for verdadeira.
se <> então
fim
Parâmetros |
Descrição |
|---|---|
estado |
Uma expressão ou variável que é verificada quando a instrução é executada. Se for Verdadeira, os blocos dentro do bloco if serão executados. Se for Falsa, os blocos serão ignorados. |
Exemplo
quando iniciar
[Check if the 6-Axis Arm can move to a position.]
se <não <[braço v] pode mover para a posição x:[0] y:[0] z:[0] [mm v]?>> então
imprimir [The 6-Axis Arm can't move to this position.] ◀ e mover cursor para a próxima linha
se / senão#
O bloco C if / else determina qual o conjunto de blocos que será executado com base no valor Verdadeiro ou Falso da condição.
se <> então
senão
fim
Parâmetros |
Descrição |
|---|---|
estado |
Uma expressão ou variável que é verificada quando a instrução é executada. Se for Verdadeira, os blocos dentro do bloco if serão executados. Se for Falsa, serão executados os blocos dentro do bloco else. |
Exemplo
quando iniciar
[Check if the 6-Axis Arm can or can't move to a position.]
se <não <[braço v] pode mover para a posição x:[100] y:[100] z:[100] [mm v]?>> então
imprimir [The 6-Axis Arm can't move to this position.] no console ◀ e mover cursor para a próxima linha
senão
imprimir [The 6-Axis Arm can move to this position.] no console ◀ e mover cursor para a próxima linha
se / senão se / senão#
O bloco C expansível if / else if / else seleciona qual o conjunto de blocos que será executado com base em determinadas condições:
if runs its block of code if the condition evaluates as True.
else if checks additional conditions only if all previous conditions evaluated as False. Multiple else if statements can be used.
else executa o seu bloco de código apenas se nenhuma das condições anteriores for avaliada como Verdadeira.
se <> então
senão se <> então
senão
fim
Parâmetros |
Descrição |
|---|---|
estado |
Uma expressão ou variável que é verificada quando a instrução é executada. A primeira condição que for Verdadeira executa este conjunto de blocos. Se todas as condições forem avaliadas como Falsas, os blocos dentro do bloco else serão executados. |
Exemplo
quando iniciar
[Move until the 6-Axis Arm is at the corner of the tile.]
se <[braço v] incrementar posição em x:[50] y:[0] z:[0] [mm v]?> então
incrementar posição de [braço v] por x:[50] y:[0] z:[0] [mm v] ▶
senão se <[braço v] incrementar posição em x:[0] y:[50] z:[0] [mm v]?> então
incrementar posição de [braço v] por x:[0] y:[50] z:[0] [mm v] ▶
senão
imprimir [The 6-Axis Arm has reached the corner.] no console ◀ e mover cursor para a próxima linha
pausa#
O bloco de pilha break termina um ciclo imediatamente. Este bloco pode ser utilizado dentro dos blocos repeat, repeat until, while e forever. Break é útil quando um loop precisa de ser interrompido prematuramente devido a algo que acontece durante a execução, como um botão a ser pressionado ou um sensor que deteta um objeto.
interromper
Parâmetros |
Descrição |
|---|---|
Este bloco não possui parâmetros. |
projeto de interrupção#
O bloco de pilha stop project termina um projeto em execução.
parar projeto
Parâmetros |
Descrição |
|---|---|
Este bloco não possui parâmetros. |