Controlo#
Introdução#
Os blocos de controlo no VEXcode V5 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 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 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
[Move forward until the screen is pressed, then stop.]
conduzir [frente v]
aguardar até <tela pressionada?>
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
[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
[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
[Turn until the screen is pressed.]
repetir até <tela pressionada?>
virar [direita v]
fim
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
[Display the time for one minute.]
enquanto <(temporizador em segundos) [math_less_than v] [60]>
limpar tela
definir cursor para linha [1] coluna [1] na tela
imprimir (temporizador em segundos) na tela ▶
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
[Turn in a circle if the screen is pressed.]
para sempre
se <tela pressionada?> então
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
[Display a message if the screen is being pressed.]
para sempre
limpar tela
definir cursor para linha [1] coluna [1] na tela
se <tela pressionada?> então
imprimir [Pressed!] na tela ▶
senão
imprimir [Not pressed!] na tela ▶
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
[Move the robot based on the Controller button is being pressed.]
para sempre
se <[Controller1 v] [▶ v] pressionado?> então
virar [direita v]
senão se <[Controller1 v] [◀ v] pressionado?> então
virar [esquerda v]
senão
parar de conduzir
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.
interromper
Parâmetros |
Descrição |
|---|---|
Este bloco não possui parâmetros. |
Exemplo
quando iniciar
[Stop turning after the screen is pressed.]
para sempre
virar [direita v]
se <tela pressionada?> 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
[Stop the project entirely after the screen is pressed.]
para sempre
virar [direita v]
se <tela pressionada?> então
parar projeto
fim
fim