Betreiber#
Einführung#
Die Operatorblöcke in VEXcode GO helfen dem Roboter, mit Zahlen und Wörtern zu arbeiten. Diese Blöcke können mathematische Probleme lösen, Werte vergleichen, Bedingungen auf wahr oder falsch prüfen und mit Zeichenketten arbeiten. Zeichenketten können verwendet werden, um Werte und Wörter auszugeben.
Nachfolgend finden Sie eine Liste aller Blöcke:
math operator — Führt Addition, Subtraktion, Multiplikation oder Division durch.
Vergleichsoperator — Vergleicht zwei Werte mit den Operatoren größer als, kleiner als oder gleich.
logischer Operator — Wertet mehrere Bedingungen mit und oder oder aus.
not operator — Kehrt einen booleschen Wert um.
Bereichsoperator — Prüft, ob eine Zahl innerhalb eines Bereichs liegt.
Zufallszahl auswählen — Generiert eine Zufallszahl innerhalb eines festgelegten Bereichs.
Zahl runden — Rundet eine Zahl auf die nächste ganze Zahl.
math functions — Wendet Operationen wie Quadratwurzel, Trigonometrie, Logarithmen und Potenzierung an.
Rest — Gibt den Rest einer Divisionsoperation aus.
join — Kombiniert zwei Zeichenketten zu einer einzigen.
letter — Extrahiert ein Zeichen aus einer Zeichenkette anhand seiner Position.
length — Gibt die Anzahl der Zeichen in einer Zeichenkette aus.
contains — Prüft, ob eine Zeichenkette ein bestimmtes Wort oder Zeichen enthält.
convert — Wandelt eine Zahl in Text, eine ganze Zahl oder eine Dezimalzahl um.
mathematischer Operator#
Der Mathematikoperator-Reporterblock führt grundlegende mathematische Operationen mit den Werten auf beiden Seiten des Operators durch. Er gibt ein Ergebnis basierend auf der Druckgenauigkeit des Projekts zurück, die standardmäßig auf 0 Dezimalstellen eingestellt ist, aber mit dem Druckgenauigkeit festlegen-Block angepasst werden kann.
([0] [math_plus v] [0])
Parameter |
Beschreibung |
|---|---|
Wert 1 |
Die erste Zahl, die bei der Operation verwendet wird. |
Operator |
Der zu verwendende mathematische Operator:
|
Wert 2 |
Die zweite Zahl, die bei der Operation verwendet wird. |
Beispiel
wenn gestartet :: hat events
[Perform basic addition and show two decimal places.]
setze Druckgenauigkeit auf [0.01 v]
drucke ([10] [math_plus v] [10.5]) ▶
Vergleichsoperator#
Der boolesche Block Vergleichsoperator gibt an, ob der Vergleich zwischen zwei Werten wahr oder falsch ist.
Wahr – Der Vergleich ist korrekt (z. B. ergibt 5 > 3 Wahr).
Falsch – Der Vergleich ist fehlerhaft (z. B. liefert 2 ≥ 5 das Ergebnis Falsch).
<[0] [math_equal v] [0]>
Parameter |
Beschreibung |
|---|---|
Wert 1 |
Der erste zu vergleichende Wert. |
Operator |
Die zu verwendenden Vergleichsformen:
|
Wert 2 |
Der zweite zu vergleichende Wert. |
Beispiel
wenn gestartet :: hat events
[Build Used: Code Base 2.0]
[Turn right until the heading reaches 90 degrees.]
drehe [rechts v]
warte [0.5] Sekunden
warte bis <(Fahrtrichtung in Grad) [math_greater_than v] [90]>
Fahren stoppen
logischer Operator#
Der logische Operator Boolesche Block gibt an, ob die logische Bedingung zwischen mehreren Werten wahr oder falsch ist.
Wahr – Die logische Bedingung ist erfüllt.
Falsch – Die logische Bedingung ist nicht erfüllt.
<<> [und v] <>>
Parameter |
Beschreibung |
|---|---|
Bedingung 1 |
Die erste auszuwertende boolesche Bedingung. |
Operator |
Der zu verwendende logische Operator: UND liefert Wahr, wenn beide Bedingungen Wahr sind. ODER liefert Wahr, wenn mindestens eine Bedingung Wahr ist. |
Zustand 2 |
Die zweite auszuwertende boolesche Bedingung. |
Beispiel
wenn gestartet :: hat events
[Build Used: Super Code Base 2.0]
[Drive forward and pick up a red or green Disk.]
fahre [vorwärts v]
warte bis <<Auge erkennt [rot v]?> [oder v] <Auge erkennt [grün v]?>>
Fahren stoppen
aktiviere [Magnet v] auf [Boost v]
nicht Bediener#
Der nicht-Operator kehrt das Ergebnis eines booleschen Blocks um. Ist die Eingabe Wahr, gibt er Falsch zurück, und ist die Eingabe Falsch, gibt er Wahr zurück.
Wahr – Die Eingabebedingung würde normalerweise Falsch melden.
Falsch – Die Eingabebedingung würde normalerweise Wahr melden.
<nicht <>>
Parameter |
Beschreibung |
|---|---|
Zustand |
Die umzukehrende boolesche Bedingung. |
Beispiel
wenn gestartet :: hat events
[Build Used: Code Base 2.0]
[Turn until the robot is facing left. ]
für immer
wenn <nicht <(Fahrtrichtung in Grad) [math_greater_than v] [270]>> dann
drehe [rechts v]
sonst
Fahren stoppen
Schießstandbetreiber#
Der boolesche Block Bereichsoperator gibt an, ob ein Wert innerhalb eines bestimmten Bereichs liegt.
Wahr – Wenn der Wert innerhalb des Bereichs liegt.
Falsch – Wenn der Wert außerhalb des Bereichs liegt.
<[0] [math_less_than v] [0] [math_less_than v] [0]>
Parameter |
Beschreibung |
|---|---|
erster Bediener |
Der zu verwendende Vergleichsoperator:
|
Wert |
Der zu prüfende Wert. |
zweiter Bediener |
Der zu verwendende Vergleichsoperator:
|
Beispiel
wenn gestartet :: hat events
[Build Used: Code Base 2.0]
[Turn and display when facing forward or back. ]
drehe [rechts v] für [360] Grad ◀ und nicht warten
für immer
lösche alle Zeilen
wenn <[270] [math_greater_than v] (Fahrtrichtung in Grad) [math_greater_than v] [90]> dann
drucke [Facing backward!] ▶
sonst
drucke [Facing forward!] ▶
Ende
warte [1] Sekunden
Wähle zufällig#
Der Reporterblock „Zufallsauswahl“ gibt eine zufällige positive oder negative Zahl zwischen einem Minimum und einem Maximum aus. Er kann sowohl den Minimal- als auch den Maximalwert zurückgeben. Beispielsweise kann die Auswahl von 1 bis 10 eine beliebige ganze Zahl zwischen 1 und 10 zurückgeben.
zufällig von [1] bis [10]
Parameter |
Beschreibung |
|---|---|
min |
Die kleinstmögliche Zahl, die ausgewählt werden kann. |
max |
Die höchstmögliche Zahl, die ausgewählt werden kann. |
Beispiele
wenn gestartet :: hat events
[Display a number between 1 and 10.]
drucke (zufällig von [1] bis [10]) ▶
runde Zahl#
Der Rundungsblock gibt die angegebene Zahl gerundet auf die nächste ganze Zahl aus, gemäß den üblichen Rundungsregeln:
Ist das Komma 0,5 oder größer, wird die Zahl aufgerundet.
Ist die Dezimalzahl kleiner als 0,5, wird sie abgerundet.
(runde [0] auf [0] Dezimalstellen)
Parameter |
Beschreibung |
|---|---|
Nummer |
Die zu rundende Zahl. |
Dezimalstellen |
Die Anzahl der Dezimalstellen, auf die gerundet werden soll. |
Beispiel
wenn gestartet :: hat events
[Display the rounded result of 10 / 3.]
setze Druckgenauigkeit auf [0.01 v]
drucke (runde ([10] [math_division v] [3]) auf [1] Dezimalstellen) ▶
mathematische Funktionen#
Der Reporterblock für mathematische Funktionen wendet eine ausgewählte mathematische Funktion auf eine gegebene Zahl an und gibt das Ergebnis zurück. Er unterstützt Operationen wie Betragsberechnung, Runden, Quadratwurzeln, trigonometrische Funktionen, Logarithmen und Potenzierung.
[abs v] von [0]
Parameter |
Beschreibung |
|---|---|
Funktion |
Die mathematische Operation, die auf den Eingabewert angewendet wird:
|
Nummer |
Die Zahl, auf die die Funktion angewendet werden soll. |
Beispiel
wenn gestartet :: hat events
[Display the square root of 16.]
drucke ([sqrt v] von [16]) ▶
Rest#
Der Rest-Reporterblock meldet den Rest der Divisionsoperation zwischen zwei Werten.
(Rest von [0] / [0])
Parameter |
Beschreibung |
|---|---|
Dividende |
Die zu teilende Zahl. |
Divisor |
Die Zahl, durch die geteilt werden soll. |
Beispiel
wenn gestartet :: hat events
[Display the remainder of 10 / 3.]
drucke (Rest von [10] / [3]) ▶
verbinden#
Der join-Reporterblock meldet eine einzelne Zeichenkette, die zwei Eingabezeichenketten kombiniert.
(verbinde [apple] [banana])
Parameter |
Beschreibung |
|---|---|
Zeichenkette 1 |
Die erste Zeichenkette, die kombiniert werden muss. |
Zeichenkette 2 |
Die zweite Saite, die kombiniert werden muss. |
wenn gestartet :: hat events
[Display "VEXcode" on the Console.]
drucke (verbinde [VEX] [code]) ▶
Brief#
Der Buchstaben-Reporterblock meldet eine einzelne Zeichenkette ab der angegebenen Position in der gegebenen Zeichenkette.
(Zeichen [1] von [apple])
Parameter |
Beschreibung |
|---|---|
Position |
Die Position des Zeichens in der Zeichenkette (beginnend bei 1). |
Zeichenkette |
Die Zeichenkette, aus der ein Buchstabe extrahiert werden soll. |
wenn gestartet :: hat events
[Display the first letter of "Robot".]
drucke (Zeichen (1) von [Robot]) ▶
Länge#
Der length-Reporterblock gibt die Anzahl der Zeichen in der angegebenen Zeichenkette einschließlich Leerzeichen aus.
(Länge von [apple] :: operators)
Parameter |
Beschreibung |
|---|---|
Zeichenkette |
Die Schnur, deren Länge gemessen werden soll. |
Beispiel
wenn gestartet :: hat events
[Count the number of characters in "VEX Robotics".]
drucke (Länge von [VEX Robotics] :: operators) ▶
enthält#
Der contains Boolesche Block gibt an, ob die angegebene Zeichenkette das angegebene Wort oder Zeichen enthält.
Wahr – Die Zeichenkette enthält das jeweilige Wort oder Zeichen.
Falsch – Die Zeichenkette enthält das betreffende Wort oder Zeichen nicht.
<[apple] enthält [a]?>
Parameter |
Beschreibung |
|---|---|
Zeichenkette |
Die Hauptzeichenfolge, in der gesucht werden soll. |
Suchbegriff |
Das Wort oder Zeichen, nach dem innerhalb der Zeichenkette gesucht werden soll. |
Beispiel
wenn gestartet :: hat events
[Check if "robotics" contains "bot".]
wenn <[robotics] enthält [bot]?> dann
drucke [The word contains "bot".] ▶
sonst
drucke [Not found.] ▶
Ende
konvertieren#
Der convert-Reporterblock meldet den Wert einer in den angegebenen Typ konvertierten Zahl, entweder als Text oder als Zahl.
Text – Wandelt die Zahl in eine Zeichenkette um. Zahlen müssen im Zeichenkettenformat vorliegen, um mit Zeichenkettenoperator-Blöcken verwendet werden zu können.
Zahl – Wandelt die Zahl in einen Dezimalwert um.
(konvertiere [0] in [Text v])
Parameter |
Beschreibung |
|---|---|
Wert |
Die umzurechnende Zahl. |
Typ |
Der Datentyp, in den die Zahl umgewandelt werden soll:
|
Beispiel
wenn gestartet :: hat events
[Build Used: Code Base 2.0]
[Display the robot's heading as it turns.]
drehe [rechts v]
für immer
lösche alle Zeilen
drucke (verbinde [Currently facing: ] (konvertiere (Fahrtrichtung in Grad) in [Text v])) ▶
warte [0.5] Sekunden