Operators#

Invoering#

De Operator-blokken in VEXcode IQ (2e generatie) helpen de robot bij het werken met getallen en woorden. Deze blokken kunnen wiskundige problemen oplossen, waarden vergelijken, bepalen of voorwaarden waar of onwaar zijn en werken met tekenreeksen. Tekenreeksen kunnen worden gebruikt om waarden en woorden af ​​te drukken.

Hieronder vindt u een lijst met beschikbare blokken:

  • wiskundige operator – Voert optellen, aftrekken, vermenigvuldigen of delen uit.

  • vergelijkingsoperator – Vergelijkt twee waarden met behulp van de operatoren groter dan, kleiner dan of gelijk aan.

  • logische operator – Evalueert meerdere voorwaarden met behulp van ‘en’ of ‘of’.

  • niet-operator – Keert een Booleaanse waarde om.

  • bereikoperator – Controleert of een getal binnen een bereik valt.

  • willekeurig kiezen – Genereert een willekeurig getal binnen een opgegeven bereik.

  • rond getal – Rondt een getal af naar het dichtstbijzijnde hele getal.

  • wiskundige functies – Past bewerkingen toe zoals worteltrekken, trigonometrie, logaritmen en machtsverheffing.

  • atan2 – Berekent de inverse tangens van y/x.

  • rest – Rapporteert het restant van een divisieoperatie.

  • join – Combineert twee strings tot één.

  • letter – Extraheert een teken uit een tekenreeks op basis van positie.

  • length – Geeft het aantal tekens in een tekenreeks weer.

  • bevat – Controleert of een tekenreeks een specifiek woord of teken bevat.

  • convert – Converteert een getal naar tekst, een geheel getal of een decimaal getal.

wiskundige operator#

Het math operator reporterblok voert basiswiskundige bewerkingen uit op de waarden die aan weerszijden van de operator worden geplaatst. Het retourneert een resultaat op basis van de afdrukprecisie van het project, die standaard op 0 decimalen staat, maar kan worden aangepast met behulp van de blokken set print precision on screen of set print precision on console.

Het rapporteerblok voor wiskundige operatoren.#
([0] [math_plus v] [0])

Parameters

Beschrijving

waarde 1

Het eerste getal dat bij de bewerking is gebruikt.

operator

De wiskundige operatoren die je moet gebruiken:

  • + - Optellen
  • - - Aftrekken
  • * - Vermenigvuldigen
  • / - Delen

waarde 2

Het tweede getal dat bij de operatie wordt gebruikt.

Voorbeeld

wanneer gestart
[Perform basic addition and show two decimal places.]
stel afdrukprecisie in op [0.01 v] op scherm
druk ([10] [math_plus v] [10.5]) af op scherm ▶

vergelijkingsoperator#

Het Booleaanse blok vergelijkingsoperator geeft aan of de vergelijking tussen twee waarden waar of onwaar is.

  • Waar – De vergelijking is correct (bijv. 5 > 3 geeft Waar terug).

  • Onwaar – De vergelijking is onjuist (bijv. 2 ≥ 5 geeft Onwaar terug).

Het Booleaanse blok voor de vergelijkingsoperator.#
<[0] [math_equal v] [0]>

Parameter

Beschrijving

waarde 1

De eerste waarde om te vergelijken.

operator

De vergelijkingen die je moet gebruiken:

  • = - Gelijk aan
  • < - Kleiner dan
  • ≤ - Kleiner dan of gelijk aan
  • > - Groter dan
  • ≥ - Groter dan of gelijk aan

waarde 2

De tweede waarde om te vergelijken.

Voorbeeld

wanneer gestart
[Turn right until the heading reaches 90 degrees.]
draai [rechts v]
wacht [0.5] seconden
wacht totdat <(rijkoers in graden) [math_greater_than v] [90]>
stop rijden

logische operator#

Het Booleaanse blok logische operator geeft aan of de logische voorwaarde tussen meerdere waarden waar of onwaar is.

  • Waar – De logische voorwaarde is voldaan.

  • Onwaar – De logische voorwaarde is niet voldaan.

Het blok met de logische operator Booleaans.#
<<> [en v] <>>

Parameter

Beschrijving

voorwaarde 1

De eerste Booleaanse voorwaarde die geëvalueerd moet worden.

operator

De te gebruiken logische operator: en geeft waar als beide voorwaarden waar zijn. of geeft waar als ten minste één voorwaarde waar is.

voorwaarde 2

De tweede Booleaanse voorwaarde die geëvalueerd moet worden.

Voorbeeld

wanneer gestart
[Display if the ◀ and ▶ buttons are pressed.]
altijd
wis scherm
stel cursor in op rij [1] kolom [1] op scherm
als <<Brain [◀ v] knop ingedrukt?> [en v] <Brain [▶ v] knop ingedrukt?>> dan
druk [Buttons pressed!] af op scherm ▶
einde
einde

niet operator#

De niet-operator in het Booleaanse blok keert het resultaat van een Booleaans blok om. Als de invoer waar is, geeft het onwaar terug, en als de invoer onwaar is, geeft het waar terug.

  • Waar – De invoerconditie zou normaal gesproken Onwaar rapporteren.

  • Onwaar – De invoerconditie zou normaal gesproken Waar rapporteren.

Het Booleaanse blok ‘Niet’.#
<niet <>>

Parameter

Beschrijving

voorwaarde

De Booleaanse voorwaarde moet worden omgekeerd.

Voorbeeld

wanneer gestart
[Turn until the robot is facing left. ]
altijd
als <niet <(rijkoers in graden) [math_greater_than v] [270]>> dan
draai [rechts v]
anders
stop rijden

schietbaanbeheerder#

Het Booleaanse blok bereikoperator geeft aan of een waarde binnen een opgegeven bereik valt.

  • Waar – Als de waarde binnen het bereik ligt.

  • Onwaar – Als de waarde buiten het bereik ligt.

Het Booleaanse blok ‘Range Operator’.#
<[0] [math_less_than v] [0] [math_less_than v] [0]>

Parameter

Beschrijving

eerste operator

De te gebruiken vergelijkingsoperator:

  • < - Kleiner dan
  • ≤ - Kleiner dan of gelijk aan
  • - Groter dan
  • ≥ - Groter dan of gelijk aan

waarde

De te controleren waarde.

tweede operator

De te gebruiken vergelijkingsoperator:

  • < - Kleiner dan
  • ≤ - Kleiner dan of gelijk aan
  • - Groter dan
  • ≥ - Groter dan of gelijk aan

Voorbeeld

wanneer gestart
[Turn and display when facing forward or back. ]
draai [rechts v] voor [360] graden ◀ en niet wachten
altijd
wis scherm
stel cursor in op rij [1] kolom [1] op scherm
als <[270] [math_greater_than v] (rijkoers in graden) [math_greater_than v] [90]> dan
druk [Facing backward!] af op scherm ▶
anders
druk [Facing forward!] af op scherm ▶

willekeurig kiezen#

Het willekeurige keuze-rapportageblok geeft een willekeurig positief of negatief getal weer tussen een minimum en een maximum. Het kan zowel de minimum- als de maximumwaarde retourneren. Bijvoorbeeld, het kiezen van 1 tot 10 kan elk geheel getal tussen 1 en 10 opleveren.

Het Pick Random-rapportageblok.#
kies willekeurig [1] tot [10]

Parameters

Beschrijving

min

Het laagst mogelijke getal dat gekozen kan worden.

max

Het hoogst mogelijke getal dat gekozen kan worden.

Voorbeelden

wanneer gestart
[Display a number between 1 and 10.]
druk (kies willekeurig [1] tot [10]) af ▶

rond getal#

Het afrondingsblok geeft het opgegeven getal weer, afgerond naar het dichtstbijzijnde hele getal, volgens de standaard afrondingsregels:

  • Als het decimale getal 0,5 of groter is, wordt het naar boven afgerond.

  • Als het decimale getal kleiner is dan 0,5, wordt het naar beneden afgerond.

Het Round Number-rapportageblok.#
(rond [0] af op [0] decimalen)

Parameter

Beschrijving

nummer

Het getal dat afgerond moet worden.

decimalen

Het aantal decimalen waarop afgerond moet worden.

Voorbeeld

wanneer gestart
[Display the rounded result of 10 / 3.]
stel afdrukprecisie in op [0.01 v] op scherm
druk (rond ([10] [math_division v] [3]) af op [1] decimalen) af op scherm ▶

wiskundige functies#

Het rapporteerblok wiskundige functies past een geselecteerde wiskundige functie toe op een gegeven getal en geeft het resultaat terug. Het ondersteunt bewerkingen zoals absolute waarde, afronden, wortels trekken, goniometrische functies, logaritmen en machtsverheffing.

Het rapportageblok voor wiskundige functies.#
[abs v] van [0]

Parameter

Beschrijving

functie

De wiskundige bewerking die op de invoerwaarde moet worden toegepast:

  • abs - Absolute waarde
  • floor - Rondt af naar beneden
  • ceiling - Rondt af naar boven
  • sqrt - Wortel
  • sin - Sinus
  • cos - Cosinus
  • tan - Tangens
  • asin - Inverse sinus
  • acos - Inverse cosinus
  • atan - Inverse tangens
  • ln - Natuurlijke logaritme
  • log - Logaritme met grondgetal
  • e^ - Getal van Euler tot een macht
  • 10^ - 10 tot een macht
  • negative - Geeft het negatieve van het getal

nummer

Het getal waarop de functie moet worden toegepast.

Voorbeeld

wanneer gestart
[Display the square root of 16.]
druk ([sqrt v] van [16]) af op scherm ▶

atan2#

Het atan2-reporterblok rapporteert de inverse tangens van Y/X als een hoek in graden, die de hoek weergeeft tussen de positieve X-as en het punt (X, Y).

(atan2 van x:[4] y:[3])

Parameter

Beschrijving

X

De horizontale positie van het punt, gemeten vanaf de oorsprong (0,0).

y

De verticale positie van het punt, gemeten vanaf de oorsprong (0,0).

Voorbeeld

wanneer gestart
[Calculate the angle from current position (4, 3).]
druk (atan2 van x:[4] y:[3]) af op scherm ▶

rest#

Het rest-rapportageblok geeft het restant van de deling tussen twee waarden weer.

Het verslaggeversblok van The Remainder.#
(rest van [0] / [0])

Parameter

Beschrijving

dividend

Het getal dat gedeeld moet worden.

deler

Het getal waarmee je moet delen.

Voorbeeld

wanneer gestart
[Display the remainder of 10 / 3.]
druk (rest van [10] / [3]) af op scherm ▶

meedoen#

Het join-reporterblok rapporteert één enkele tekenreeks die twee invoertekenreeksen combineert.

Het Join reporter-blok.#
(voeg [apple] [banana] samen)

parameter

beschrijving

string 1

De eerste reeks die gecombineerd moet worden.

snaar 2

De tweede reeks die gecombineerd moet worden.

wanneer gestart
[Display "VEXcode" on the screen.]
druk (voeg [VEX] [code] samen) af op scherm ▶

brief#

Het letter-rapportageblok rapporteert een tekenreeks van één teken vanaf de opgegeven positie in de gegeven tekenreeks.

Het redactieblok van The Letter.#
(letter [1] van [apple])

parameter

beschrijving

positie

De positie van het teken in de tekenreeks (beginnend bij 1).

snaar

De tekenreeks waaruit een letter moet worden geëxtraheerd.

wanneer gestart
[Display the first letter of "Robot".]
druk (letter (1) van [Robot]) af op scherm ▶

lengte#

Het length-rapportageblok geeft het aantal tekens in de opgegeven tekenreeks weer, inclusief spaties.

Het Length-rapportageblok.#
(lengte van [apple])

parameter

beschrijving

snaar

Het touwtje waarvan de lengte gemeten moet worden.

Voorbeeld

wanneer gestart
[Count the number of characters in "VEX Robotics".]
druk (lengte van [VEX Robotics]) af op scherm ▶

bevat#

Het Booleaanse blok bevat geeft aan of de opgegeven tekenreeks het gegeven woord of teken bevat.

  • Waar – De tekenreeks bevat dat specifieke woord of teken.

  • Onjuist – De tekenreeks bevat dat specifieke woord of teken niet.

Het Booleaanse blok ‘Bevat’.#
<[apple] bevat [a]?>

parameter

beschrijving

snaar

De hoofdstring waarin gezocht moet worden.

zoekterm

Het woord of teken waarnaar in de tekenreeks gezocht moet worden.

Voorbeeld

wanneer gestart
[Check if "robotics" contains "bot".]
als <[robotics] bevat [bot]?> dan
druk [The word contains "bot".] af op scherm ▶
anders
druk [Not found.] af op scherm ▶
einde

overzetten#

Het convert-rapportageblok geeft de waarde weer van een getal dat is geconverteerd naar het opgegeven type, hetzij als tekst of als getal.

  • tekst – Converteert het getal naar een tekenreeks. Getallen moeten in tekenreeksformaat zijn om te kunnen werken met tekenreeksoperator-blokken.

  • getal – Zet het getal om in een decimale waarde.

Het Convert-reporterblok.#
(converteer [0] naar [tekst v])

parameter

beschrijving

waarde

Het getal dat moet worden omgerekend.

type

Het type waarnaar het getal moet worden geconverteerd:

  • tekst
  • getal

Voorbeeld

wanneer gestart
[Display the robot's heading as it turns.]
draai [rechts v]
altijd
wis scherm
stel cursor in op rij [1] kolom [1] op scherm
druk (voeg [Currently facing: ] (converteer ([BrainInertial v] koers in graden) naar [tekst v]) samen) af op scherm ▶
wacht [0.1] seconden
einde