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.

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

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

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

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

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

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

bloco se então senão#
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.

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

bloco se então senão#
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.

bloco de pilha de quebra#
interromper

Parâmetros

Descrição

Este bloco não possui parâmetros.

Exemplo

Ao ser iniciado, roda para a direita até que o ecrã seja pressionado, depois para.#
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.

interromper o bloqueio do projeto#
parar projeto

Parâmetros

Descrição

Este bloco não possui parâmetros.

Exemplo

Ao iniciar, roda para a direita até que o ecrã seja pressionado, interrompendo depois o projeto.#
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