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.

bloco de pilha de espera#
aguardar (1) segundos

Parâmetros

Descrição

hora

O tempo de espera, expresso como um número inteiro positivo ou decimal em segundos.

Exemplo

Ao ser iniciado, o dispositivo avança por um segundo e depois pára completamente.#
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.

aguarde até que o bloco de pilha#
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.

bloco de repetição c#
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.

bloco c para sempre#
para sempre
fim

Parâmetros

Descrição

Este bloco não possui parâmetros.

Exemplo

Ao ser iniciado, o dispositivo move-se continuamente numa trajetória quadrada, avançando 50 mm e rodando 90 graus para a direita, num ciclo infinito.#
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.

Repita até o bloco#
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

Ao ser iniciado, mantém todos os LEDs vermelhos até que o ecrã seja pressionado, depois desliga-os.#
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 o bloco c#
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

Uma pilha de blocos que começa com um bloco “quando iniciado”, seguido de um bloco de comentário que diz “Apresentar o tempo após 2 segundos”. Um bloco “espere até” pausa a execução até que o temporizador atinja ou ultrapasse os dois segundos. Assim que esta condição for satisfeita, um bloco “print” apresenta o valor do temporizador no ecrã.#
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 bloco#
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.

bloco 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. 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.

bloco if else if else#
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.

bloco de pilha de quebra#
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.

interromper o bloqueio do projeto#
parar projeto

Parâmetros

Descrição

Este bloco não possui parâmetros.