Controlo#

Introdução#

Os blocos de controlo no VEXcode AIM gerem o fluxo de um projeto, lidando com loops, condições e atrasando a execução dos 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, um robô pode avançar se um sensor detetar um objeto.

Segue abaixo a lista de todos os blocos:

  • 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 dependendo de 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 forward for one second, then stop.]
mover [frente v]
aguardar (1) segundos
parar todo o movimento

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.

Exemplo

Ao ser iniciado, o dispositivo avança até que o ecrã seja pressionado, interrompendo então todo o movimento.#
quando iniciar
[Move forward until screen pressed, then stop.]
mover [frente v]
aguardar até <tela pressionada?>
parar todo o movimento

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 path.]
repetir [4]
mover [frente v] por [50] [mm v] ▶
virar [direita v] por [90] graus ▶
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
mover [frente v] por [50] [mm v] ▶
virar [direita v] por [90] graus ▶
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
[Repeat until the screen is pressed before turning off the LEDs.]
repetir até <tela pressionada?>
definir cor do LED de [lightall v] para [vermelho v]
fim
definir cor do LED de [lightall v] para [desligado v]

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

Ao ser acionado, o dispositivo avança 200 mm mantendo todos os LEDs acesos de cor verde. Os LEDs apagam-se após a paragem do movimento.#
quando iniciar
[Keep the LEDs green while the robot is moving.]
mover [frente v] por [200] [mm v] ◀ e não aguardar
enquanto <movimento ativo?>
definir cor do LED de [lightall v] para [verde v]
fim
definir cor do LED de [lightall v] para [desligado v]

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

Ao ser iniciado, o robô verifica continuamente se o ecrã está pressionado. Se estiver, pontapeia um objeto com uma força média.#
quando iniciar
[Kick when the screen is pressed.]
para sempre
se <tela pressionada?> então
chutar objeto [médio v]
fim
fim

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

Ao ser iniciada, a aplicação verifica continuamente se o ecrã está pressionado. Se estiver pressionada, exibe um emoji animado a olhar em frente; caso contrário, exibe um emoji aborrecido a olhar em frente.#
quando iniciar
[Show one emoji when the screen is touched and a different one when it's not.]
para sempre
se <tela pressionada?> então
mostrar [emoji_excited v] olhando [frente v]
senão
mostrar [emoji_bored v] olhando [frente v]
fim
fim

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 a posição do eixo 1 do controlador muda, move-se para a frente se for empurrado para a frente, para trás se for puxado para trás e para quando está em posição neutra.#
quando eixo [1 v] do controle é alterado
[Move the robot forward or reverse based on the position of the joystick.]
se <(posição do eixo [1 v] do controle) [math_greater_than v] [0]> então
mover [frente v]
senão se <(posição do eixo [1 v] do controle) [math_less_than v] [0]> então
mover [inverso v]
senão
parar todo o movimento
fim

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

Exemplo

Ao ser iniciado, os LEDs piscam a vermelho e verde a cada 0,5 segundos até que o ecrã seja pressionado, e depois param.#
quando iniciar
[Flash LEDs until the screen is pressed.]
para sempre
definir cor do LED de [lightall v] para [vermelho v]
aguardar [0.5] segundos
definir cor do LED de [lightall v] para [verde v]
aguardar [0.5] segundos
se <tela pressionada?> então
interromper
fim
fim

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.

Exemplo

Ao ser iniciado, os LEDs piscam a vermelho e verde a cada 0,5 segundos até que o ecrã seja pressionado; em seguida, o projeto é interrompido.#
quando iniciar
[Stop the project once the screen is pressed.]
para sempre
definir cor do LED de [lightall v] para [vermelho v]
aguardar [0.5] segundos
definir cor do LED de [lightall v] para [verde v]
aguardar [0.5] segundos
se <tela pressionada?> então
parar projeto
fim
fim