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.

Der Math-Operator-Reporterblock.#
([0] [math_plus v] [0])

Parameter

Beschreibung

Wert 1

Die erste Zahl, die bei der Operation verwendet wird.

Operator

Der zu verwendende mathematische Operator:

  • + - Addition
  • - - Subtraktion
  • * - Multiplikation
  • / - Division

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

Der Boolesche Block des Vergleichsoperators.#
<[0] [math_equal v] [0]>

Parameter

Beschreibung

Wert 1

Der erste zu vergleichende Wert.

Operator

Die zu verwendenden Vergleichsformen:

  • = - Gleich
  • < - Kleiner als
  • ≤ - Kleiner oder gleich
  • > - Größer als
  • ≥ - Größer oder gleich

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.

Der boolesche Block „Logischer Operator“.#
<<> [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.

Der boolesche Block „Nicht-Operator“.#
<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.

Der Boolesche Bereichsoperator-Block.#
<[0] [math_less_than v] [0] [math_less_than v] [0]>

Parameter

Beschreibung

erster Bediener

Der zu verwendende Vergleichsoperator:

  • < - Kleiner als
  • ≤ - Kleiner oder gleich
  • - Größer als
  • ≥ - Größer oder gleich

Wert

Der zu prüfende Wert.

zweiter Bediener

Der zu verwendende Vergleichsoperator:

  • < - Kleiner als
  • ≤ - Kleiner oder gleich
  • - Größer als
  • ≥ - Größer oder gleich

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.

Der Reporterblock „Zufällig ausgewählt“.#
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.

Der Reporterblock „Runde Nummer“.#
(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.

Der Reporterblock „Mathematische Funktionen“.#
[abs v] von [0]

Parameter

Beschreibung

Funktion

Die mathematische Operation, die auf den Eingabewert angewendet wird:

  • abs - Absolutbetrag
  • floor - Abrunden
  • ceiling - Aufrunden
  • sqrt - Quadratwurzel
  • sin - Sinus
  • cos - Kosinus
  • tan - Tangens
  • asin - Arkussinus
  • acos - Arkuskosinus
  • atan - Arkustangens
  • ln - Natürlicher Logarithmus
  • log - Logarithmus zur Basis
  • e^ - Eulersche Zahl hoch
  • 10^ - 10 hoch
  • negative - Gibt das Negative der Zahl aus

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.

Der Reporterblock „The Remainder“.#
(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 ▶