Controlo#
Introdução#
Os blocos de controlo no VEXcode VR 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, um robô pode avançar se um sensor detetar 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 :: hat events
[Move forward for one second, then stop.]
conduzir [frente v]
aguardar (1) segundos
parar de conduzir
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. |
Exemplo
quando iniciar :: hat events
[Move forward until a button is pressed, then stop.]
conduzir [frente v]
aguardar até <[LeftBumper v] pressionado?>
parar de conduzir
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 :: hat events
[Move in a square path.]
repetir [4]
conduzir [frente v] por [150] [mm v] ▶
virar [direita v] por [90] graus ▶
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 :: hat events
[Move in a square path forever.]
para sempre
conduzir [frente v] por [150] [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.
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 :: hat events
[Move the pen until the bumper is pressed.]
conduzir [frente v]
repetir até <[LeftBumper v] pressionado?>
mover caneta [descer v]
aguardar (0.5) segundos
mover caneta [subir v]
aguardar (0.5) segundos
fim
aguardar (0.5) segundos
parar de conduzir
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 :: hat events
[Display a message while moving.]
conduzir [frente v] por [300] [mm v] ◀ e não aguardar
enquanto <condução em movimento?>
imprimir [Moving...] ▶
aguardar (0.1) segundos
limpar todas as linhas
fim
imprimir [Done!] ▶
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 :: hat events
[Turn in a circle if the bumper is pressed.]
conduzir [frente v]
para sempre
se <[LeftBumper v] pressionado?> então
conduzir [inverso v] por (200) [mm v] ▶
virar [direita v] por (360) graus ▶
fim
parar de conduzir
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.
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 :: hat events
[If bumper pressed, reverse and turn right.]
para sempre
se <[LeftBumper v] pressionado?> então
conduzir [inverso v] por (100) [mm v] ▶
virar [direita v] por (90) graus ▶
senão
conduzir [frente v]
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.
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 :: hat events
[Turn right if the an Eye Sensor detects red, left if it detects green, and continue driving if anything else.]
para sempre
se <[FrontEye v] detecta [vermelho v]?> então
virar [direita v] por (90) graus ▶
senão se <[FrontEye v] detecta [verde v]?> então
virar [esquerda v] por (90) graus ▶
senão
conduzir [frente v]
fim
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 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. |
Exemplo
quando iniciar :: hat events
[Stop turning after a button is pressed.]
para sempre
conduzir [frente v]
se <[LeftBumper v] pressionado?> então
interromper
fim
fim
parar de conduzir
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. |
Exemplo
quando iniciar :: hat events
[Stop the project entirely after a button is pressed.]
para sempre
conduzir [frente v]
se <[LeftBumper v] pressionado?> então
parar projeto
fim
fim