Interruptor#
Introdução#
Os blocos Switch ajudam os alunos a fazer a transição da programação baseada em blocos para a programação baseada em texto. Com os blocos Switch, os alunos podem digitar código Python diretamente dentro de um projeto de blocos — escrevendo comandos, condições, valores ou definições de funções — enquanto continuam a construir o resto do projeto com blocos. Os blocos individuais também podem ser convertidos para os seus comandos Python equivalentes.
Para aprender a digitar comandos, métodos e operadores Python, consulte a API Python VEX GO.
Como os blocos Switch contêm código Python, a ortografia, a pontuação e a indentação devem estar corretas para que o projeto funcione como esperado.
Abaixo segue uma lista de todos os blocos Switch:
Blocos de alternância — Adicione código Python a um projeto Blocks.
Pilha — Fornece um espaço para digitar comandos Python que são executados em sequência com outros blocos de pilha.
Bloco C — Fornece um espaço para digitar código de controlo Python, como
if,whileouforinstruções.C Expandível — Fornece um espaço para digitar código de controlo Python com várias ramificações, como
if,elif, ouelse.Booleano — Fornece um espaço para digitar código Python que retorna
TrueouFalse.Reporter — Fornece um espaço para digitar código Python que devolve um valor.
Chapéu — Disponibiliza um espaço para definir uma função Python.
Monte#
O bloco Stack disponibiliza um espaço para digitar comandos Python que são executados em sequência com outros blocos Stack.
[] :: custom-switch
Um bloco Stack pode conter uma ou várias linhas de código Python.
quando iniciar :: hat events
[Build Used: Super Code Base 2.0]
[Drive forward, then stop.]
[drivetrain.drive(FORWARD)] :: custom-switch
aguardar [2] segundos
parar de conduzir
Bloco C#
O Bloco C disponibiliza um espaço para digitar código de controlo Python, como por exemplo instruções if, whileou for . Os blocos colocados dentro do Bloco C são executados como parte desta estrutura de controlo Python.
if [] :: custom-switch
fim
O código de controlo em Python que pode ser utilizado num Bloco C inclui:
quando iniciar :: hat events
[Build Used: Super Code Base 2.0]
[Drive forward whenever the LED Bumper is pressed.]
para sempre
if [if bumper.is_pressed():] :: custom-switch
conduzir [frente v] por [200] [mm v] ▶
fim
fim
C Expansível#
O bloco C Expansível fornece um espaço para digitar código de controlo Python com múltiplas ramificações, como if, elifou elsePodem ser adicionadas ramificações adicionais selecionando a seta de adição.
if [] :: custom-switch-expand
fim
O código de controlo Python que pode ser utilizado num bloco expansível em C inclui:
quando iniciar
[Build Used: Super Code Base 2.0]
[Drive forward if there is not an object in the way.]
para sempre
if [if eye.is_object_detected():] :: custom-switch-expand
parar de conduzir
else [else:] :: custom-switch-expand
conduzir [frente v] por [200] [mm v] ▶
fim
fim
Booleano#
O bloco Booleano disponibiliza um espaço para digitar código Python que retorna True ou False. Pode ser colocado dentro de blocos com entradas hexagonais.
<[] :: custom-switch>
Um bloco Booleano pode conter uma condição em Python.
<[bumper.is_pressed()] :: custom-switch>
Um bloco booleano pode também utilizar operadores lógicos:
<[bumper.is_pressed() or eye.is_object_detected()] :: custom-switch>
Um bloco Booleano pode utilizar operadores de comparação para comparar valores:
Maior que:
>Menor que:
<Igual a:
==Outros operadores de comparação incluem
<=,!=, e>=
<[drivetrain.get_heading()> 100] :: custom-switch>
quando iniciar :: hat events
[Build Used: Super Code Base 2.0]
[Drive forward whenever the LED Bumper is pressed.]
para sempre
se <[bumper.is_pressed()] :: custom-switch> então
conduzir [frente v] por [200] [mm v] ▶
fim
fim
Repórter#
O bloco Reporter disponibiliza um espaço para digitar código Python que devolve um valor. Pode ser colocado dentro de blocos com entradas circulares.
([] :: custom-switch)
Um bloco Reporter pode conter código Python que devolve um valor.
([drivetrain.get_rotation()] :: custom-switch)
Os operadores matemáticos podem ser utilizados num bloco Reporter:
([drivetrain.get_heading() + 45] :: custom-switch)
quando iniciar :: hat events
[Build Used: Code Base 2.0]
[Display the rotation while turning.]
virar [direita v] por [450] graus ◀ e não aguardar
para sempre
limpar todas as linhas
imprimir ([drivetrain.get_rotation()] :: custom-switch) ▶
aguardar [0.1] segundos
fim
Chapéu#
O bloco Chapéu disponibiliza um espaço para definir uma função Python. Os blocos anexados abaixo do Chapéu tornam-se o corpo dessa função.
[] :: hat custom-switch
Introduza a definição de uma função Python no bloco Hat. Os parâmetros devem estar dentro dos parênteses. Se a função não utilizar parâmetros, utilize parênteses vazios.
[def function_name(parameter):] :: hat custom-switch
[def drive_400():] :: hat custom-switch
[Build Used: Code Base 2.0]
[Create a function to drive the robot forward.]
conduzir [frente v] por (400) [mm v] ▶
quando iniciar :: hat events
[drive_400()] :: custom-switch