Operatörer#

Introduktion#

Operatorblocken i VEXcode 123 hjälper roboten att arbeta med siffror och ord. Dessa block kan lösa matematiska problem, jämföra värden, utvärdera om villkor är sanna eller falska och arbeta med strängar. Strängar kan användas för att skriva ut värden och ord till Console i VEXcode 123.

Nedan följer en lista över tillgängliga block:

  • matematisk operator – Utför addition, subtraktion, multiplikation eller division.

  • jämförelseoperator – Jämför två värden med hjälp av operatorerna större än, mindre än eller lika med.

  • logisk operator – Utvärderar flera villkor med hjälp av och eller eller.

  • not operator – Inverterar ett booleskt värde.

  • intervalloperator – Kontrollerar om ett tal faller inom ett intervall.

  • välj slumpmässigt – Genererar ett slumpmässigt tal inom ett angivet intervall.

  • avrundat tal – Avrundar ett tal till närmaste heltal.

  • matematiska funktioner – Tillämpar operationer som kvadratrot, trigonometri, logaritmer och exponentiering.

  • rest – Rapporterar resten av en divisionsoperation.

  • join – Kombinerar två strängar till en.

  • bokstav – Extraherar ett tecken från en sträng efter position.

  • längd – Anger antalet tecken i en sträng.

  • innehåller – Kontrollerar om en sträng innehåller ett specifikt ord eller tecken.

  • konvertera – Konverterar ett tal till text, ett heltal eller ett decimaltal.

matematisk operator#

Reporterblocket matematikoperator utför grundläggande matematiska operationer på värdena som placeras på vardera sidan om operatorn. Det rapporterar ett resultat baserat på projektets utskriftsprecision, som som standard är 0 decimaler men kan justeras med hjälp av blocket set print precision.

Reporterblocket för matematisk operator.#
([0] [math_plus v] [0])

Parametrar

Beskrivning

värde 1

Det första numret som används i operationen.

operatör

Den matematiska operatorn att använda:

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

värde 2

Det andra numret som används i operationen.

Exempel

när startad
[Perform basic addition and show two decimal places.]
ställ in utskriftsprecision till [0.01 v]
skriv ut ([10] [math_plus v] [10.5]) ▶

jämförelseoperator#

Det booleska blocket jämförelseoperator rapporterar om jämförelsen mellan två värden är Sant eller Falskt.

  • Sant – Jämförelsen är korrekt (t.ex. 5 > 3 returnerar Sant).

  • Falskt – Jämförelsen är felaktig (t.ex. 2 ≥ 5 returnerar Falskt).

Jämförelseoperatorn Booleskt block.#
<[0] [math_equal v] [0]>

Parameter

Beskrivning

värde 1

Det första värdet att jämföra.

operatör

Jämförelsen att använda:

  • = - Lika med
  • < - Mindre än
  • ≤ - Mindre än eller lika med
  • > - Större än
  • ≥ - Större än eller lika med

värde 2

Det andra värdet att jämföra.

Exempel

när startad
[Turn right until the heading reaches 90 degrees.]
sväng [höger v]
vänta [0.5] sekunder
vänta tills <(körriktning i grader) [math_greater_than v] [90]>
stoppa körning

logisk operator#

Det booleska blocket logisk operator rapporterar om det logiska villkoret mellan flera värden är Sant eller Falskt.

  • Sant – Det logiska villkoret är uppfyllt.

  • Falskt – Det logiska villkoret är inte uppfyllt.

Det booleska blocket med logiska operatorer.#
<<> [och v] <>>

Parameter

Beskrivning

villkor 1

Det första booleska villkoret att kontrollera.

operatör

Den logiska operatorn som ska användas: och rapporterar Sant om båda villkoren är Sanna. eller rapporterar Sant om minst ett villkor är Sant.

villkor 2

Det andra booleska villkoret att kontrollera.

Exempel

när startad
[Display if a red object is detected.]
för alltid
rensa alla rader
om <<öga hittade ett objekt?> [och v] <öga detekterar [röd v]?>> då
skriv ut [Red object found!] ▶
avsluta
avsluta

inte operatör#

Det booleska blocket not-operator inverterar resultatet av ett booleskt block. Om inmatningen är True rapporteras False, och om inmatningen är False rapporteras Sant.

  • Sant – Indatavillkoret rapporterar normalt Falskt.

  • Falskt – Indatavillkoret rapporterar normalt Sant.

Det booleska blocket Not Operator.#
<inte <>>

Parameter

Beskrivning

skick

Det booleska villkor som ska inverteras.

Exempel

när startad
[Turn until the robot is facing left. ]
för alltid
om <inte <(körriktning i grader) [math_greater_than v] [270]>> då
sväng [höger v]
annars
stoppa körning

intervalloperator#

Det booleska blocket intervalloperator rapporterar om ett värde faller inom ett angivet intervall.

  • Sant – Om värdet ligger inom intervallet.

  • Falskt – Om värdet ligger utanför intervallet.

Det booleska blocket för intervalloperatorn.#
<[0] [math_less_than v] [0] [math_less_than v] [0]>

Parameter

Beskrivning

första operatören

Jämförelseoperatorn att använda:

  • < - Mindre än
  • ≤ - Mindre än eller lika med
  • - Större än
  • ≥ - Större än eller lika med

värde

Värdet att kontrollera.

andra operatören

Jämförelseoperatorn att använda:

  • < - Mindre än
  • ≤ - Mindre än eller lika med
  • - Större än
  • ≥ - Större än eller lika med

Exempel

när startad
[Turn and display when facing forward or back. ]
sväng [höger v]
för alltid
rensa alla rader
om <[270] [math_greater_than v] (körriktning i grader) [math_less_than v] [90]> då
skriv ut [Facing forward] ▶
annars
skriv ut [Facing backward] ▶

välj slumpmässigt#

Reporterblocket välj slumpmässigt rapporterar ett slumpmässigt positivt eller negativt tal mellan ett minimum och ett maximum. Det kan returnera både min- och maxvärdet. Till exempel kan val av 1 till 10 returnera vilket heltal som helst från 1 till 10.

Reporterblocket Välj slumpmässigt.#
välj slumpmässigt [1] till [10]

Parametrar

Beskrivning

min

Det lägsta möjliga numret som kan väljas.

max

Det högsta möjliga antalet som kan väljas.

Exempel

när startad
[Display a number between 1 and 10.]
skriv ut (välj slumpmässigt [1] till [10]) ▶

runda talet#

Rapporteringsblocket runda tal rapporterar det givna talet avrundat till närmaste heltal, enligt standardreglerna för avrundning:

  • Om decimaltalet är 0,5 eller större avrundas talet uppåt.

  • Om decimaltalet är mindre än 0,5 avrundas talet nedåt.

Reporterblocket för runda tal.#
(avrunda [0] till [0] decimaler)

Parameter

Beskrivning

antal

Siffran att avrunda.

decimaler

Antalet decimaler att avrunda till.

Exempel

när startad
[Display the rounded result of 10 / 3.]
ställ in utskriftsprecision till [0.01 v]
skriv ut (avrunda ([10] [math_division v] [3]) till [1] decimaler) ▶

matematiska funktioner#

Reporterblocket matematiska funktioner tillämpar en vald matematisk funktion på ett givet tal och returnerar resultatet. Det stöder operationer som absolutvärde, avrundning, kvadratrötter, trigonometriska funktioner, logaritmer och exponentiering.

Reporterblocket för matematiska funktioner.#
[abs v] av [0]

Parameter

Beskrivning

fungera

Den matematiska operationen som ska tillämpas på inmatningsvärdet:

  • abs - Absolutvärde
  • golv - Avrundar nedåt
  • tak - Avrundar uppåt
  • sqrt - Kvadratrot
  • sin - Sinus
  • cos - Cosinus
  • tan - Tangens
  • asin - Invers sinus
  • acos - Invers cosinus
  • atan - Invers tangens
  • ln - Naturlig logaritm
  • log - Bas 10-logaritmen
  • e^ - Eulers tal upphöjt till en potens
  • 10^ - 10 upphöjt till en potens
  • negativ - Anger det negativa talet av talet

antal

Det tal som funktionen ska tillämpas på.

Exempel

när startad
[Display the square root of 16.]
skriv ut ([sqrt v] av [16]) ▶

resten#

Rapporteringsblocket rest rapporterar resten av divisionen mellan två värden.

Resterande reporterblock.#
(rest av [0] / [0])

Parameter

Beskrivning

utdelning

Talet som ska divideras.

divisor

Talet att dividera med.

Exempel

när startad
[Display the remainder of 10 / 3.]
skriv ut (rest av [10] / [3]) ▶

ansluta sig till#

Reporterblocket join rapporterar en enda sträng som kombinerar två inmatningssträngar.

Blocket Gå med i reportern.#
(sätt ihop [apple] [banana])

parameter

beskrivning

sträng 1

Den första strängen att kombineras.

sträng 2

Den andra strängen att kombinera.

när startad
[Display "VEXcode" on the Console.]
skriv ut (sätt ihop [VEX] [code]) ▶

brev#

Reporterblocket bokstav rapporterar en sträng med ett tecken från den angivna positionen i den givna strängen.

Brevreporterblocket.#
(bokstav [1] av [apple])

parameter

beskrivning

placera

Tecknets position i strängen (från och med 1).

sträng

Strängen att extrahera en bokstav från.

när startad
[Display the first letter of "Robot".]
skriv ut (bokstav (1) av [Robot]) ▶

längd#

Reporterblocket längd rapporterar antalet tecken i den angivna strängen, inklusive mellanslag.

Längdreporterblocket.#
(längd av [apple])

parameter

beskrivning

sträng

Strängen att mäta längden på.

Exempel

när startad
[Count the number of characters in "VEX Robotics".]
skriv ut (längd av [VEX Robotics]) ▶

innehåller#

Det booleska blocket innehåller rapporterar om den angivna strängen innehåller det angivna ordet eller tecknet.

  • Sant – Strängen innehåller det specifika ordet eller tecknet.

  • Falskt – Strängen innehåller inte det specifika ordet eller tecknet.

Blocket Innehåller booleskt.#
<[apple] innehåller [a]?>

parameter

beskrivning

sträng

Huvudsträngen att söka inom.

sökterm

Ordet eller tecknet som ska kontrolleras inuti strängen.

Exempel

när startad
[Check if "robotics" contains "bot".]
om <[robotics] innehåller [bot]?> då
skriv ut [The word contains "bot".] ▶
annars
skriv ut [Not found.] ▶
avsluta

konvertera#

Reporterblocket konvertera rapporterar värdet på ett tal som konverterats till den angivna typen, antingen som text eller ett tal.

  • text – Konverterar talet till en sträng. Tal måste vara i strängformat för att fungera med Strängoperator-block.

  • tal – Konverterar talet till ett decimalvärde.

Blocket Konvertera reporter.#
(konvertera [0] till [text v])

parameter

beskrivning

värde

Talet som ska konverteras.

typ

Typen att konvertera talet till: text konverterar värdet till en sträng och number konverterar värdet till ett decimaltal.

Exempel

när startad
[Display the heading.]
skriv ut (sätt ihop [Heading: ] (konvertera (körriktning i grader) till [text v])) ▶