Betreiber#
Einführung#
Die Operatorblöcke in VEXcode IQ (1. Generation) unterstützen den Roboter bei der Arbeit mit Zahlen und Wörtern. 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 der verfügbaren 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 – Invertiert einen booleschen Wert.
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.
mathematische Funktionen – Wendet Operationen wie Quadratwurzel, Trigonometrie, Logarithmen und Potenzierung an.
atan2 – Berechnet den Arkustangens von y/x.
Rest – Gibt den Rest einer Divisionsoperation aus.
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 auf dem Bildschirm 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
[Perform basic addition and show two decimal places.]
setze Druckgenauigkeit auf [0.01 v] auf Bildschirm
drucke ([10] [math_plus v] [10.5]) auf Bildschirm ▶
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
[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
[Display if the ▲ and ▼ buttons are pressed.]
für immer
Bildschirm löschen
setze Cursor auf Zeile [1] Spalte [1] auf Bildschirm
wenn <<Brain [▲ v] Taste gedrückt?> [und v] <Brain [▼ v] Taste gedrückt?>> dann
drucke [Buttons pressed!] auf Bildschirm ▶
Ende
Ende
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
[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
[Turn and display when facing forward or back. ]
drehe [rechts v] für [360] Grad ◀ und nicht warten
für immer
Bildschirm löschen
setze Cursor auf Zeile [1] Spalte [1] auf Bildschirm
wenn <[270] [math_greater_than v] (Fahrtrichtung in Grad) [math_greater_than v] [90]> dann
drucke [Facing backward!] auf Bildschirm ▶
sonst
drucke [Facing forward!] auf Bildschirm ▶
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
[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
[Display the rounded result of 10 / 3.]
setze Druckgenauigkeit auf [0.01 v] auf Bildschirm
drucke (runde ([10] [math_division v] [3]) auf [1] Dezimalstellen) auf Bildschirm ▶
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
[Display the square root of 16.]
drucke ([sqrt v] von [16]) auf Bildschirm ▶
atan2#
Der atan2-Reporterblock gibt den Arkustangens von Y/X als Winkel in Grad aus, der den Winkel zwischen der positiven X-Achse und dem Punkt (X, Y) darstellt.
(atan2 von x:[4] y:[3])
Parameter |
Beschreibung |
|---|---|
X |
Die horizontale Position des Punktes, gemessen vom Ursprung (0,0). |
y |
Die vertikale Position des Punktes, gemessen vom Ursprung (0,0). |
Beispiel
wenn gestartet
[Calculate the angle from current position (4, 3).]
drucke (atan2 von x:[4] y:[3]) auf Bildschirm ▶
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
[Display the remainder of 10 / 3.]
drucke (Rest von [10] / [3]) auf Bildschirm ▶