Operatörer#

Introduktion#

Operatorblocken i VEXcode AIR hjälper drönaren 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.

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.

  • atan2 — Beräknar den inversa tangenten till Y/X.

  • 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 returnerar ett resultat baserat på projektets utskriftsprecision, som som standard är 0 decimaler men kan justeras med hjälp av blocken set print precision on screen eller set print precision on console.

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

Utför grundläggande addition och visa två decimaler.#
när startad
[Perform basic addition and show two decimal places.]
ställ in utskriftsprecision till [0.01 v] i konsolen
skriv ut ([10] [math_plus v] [10.5]) i konsolen ▶

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
[Fly to position (0, 300, 500).]
lyft till [500] [mm v] ▶
vänta (1) sekunder
rör [framåt v]
vänta tills <([y v] position i [mm v]) [math_greater_than v] [300]>
vänta (1) sekunder
landa ▶

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 utvärdera.

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 utvärdera.

Exempel

när startad
[Display when buttons 5 and 7 are pressed together.]
vänta tills <<styrdonknapp [5 v] tryckt?> [och v] <styrdonknapp [7 v] tryckt?>>
skriv ut [Both buttons pressed!] i konsolen ▶

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
[Move with controller while button 5 is not pressed.]
lyft till [500] [mm v] ▶
medan <inte <styrdonknapp [5 v] tryckt?>>
rör med styrdon
avsluta
landa ▶

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
[Hover at approximately 1000mm then land.]
lyft till [500] [mm v] ▶
klättra [upp v]
vänta tills <[1000] [math_less_than v] (altitude in [mm v]) [math_less_than v] [1100]>
hovra
vänta (3) sekunder
landa ▶

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

Visa ett tal mellan 1 och 10.#
när startad
[Display a number between 1 and 10.]
skriv ut (välj slumpmässigt [1] till [10]) i konsolen ▶

Visa ett decimaltal mellan 1 och 10,5.#
när startad
[Display a decimal number between 1 and 10.5.]
ställ in utskriftsprecision till [Alla siffror v] i konsolen
skriv ut (välj slumpmässigt [1] till [10.5]) i konsolen ▶

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

Visa det avrundade resultatet av 10 / 3.#
när startad
[Display the rounded result of 10 / 3.]
ställ in utskriftsprecision till [0.01 v] i konsolen
skriv ut (avrunda ([10] [math_division v] [3]) till [1] decimaler) i konsolen ▶

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
  • floor — Avrundar nedåt
  • ceiling — Avrundar uppåt
  • sqrt — Kvadratrot
  • sin — Sinus
  • cos — Cosinus
  • tan — Tangent
  • asin — Invers sinus
  • acos — Invers cosinus
  • atan — Invers tangent
  • ln — Naturlig logaritm
  • log — Bas 10 logaritm
  • e^ — Eulers tal upphöjt till en potens
  • 10^ — 10 upphöjt till potensen
  • negativ — Returnerar det negativa talet av talet

antal

Det tal som funktionen ska tillämpas på.

Exempel

Visa kvadratroten ur 16.#
när startad
[Display the square root of 16.]
skriv ut ([sqrt v] av [16]) i konsolen ▶

atan2#

Reporterblocket atan2 rapporterar den inversa tangenten till Y/X som en vinkel i grader, vilket representerar vinkeln mellan den positiva X-axeln och punkten (X, Y).

atan2-blocket#
(atan2 av x:[4] y:[3])

Parameter

Beskrivning

x

Punktens horisontella position, mätt från origo (0,0).

y

Punktens vertikala position, mätt från origo (0,0).

Exempel

Beräkna vinkeln från aktuell position (4, 3).#
när startad
[Calculate the angle from current position (4, 3).]
skriv ut (atan2 av x:[4] y:[3]) i konsolen ▶

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

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

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.

Exempel

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

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.

Exempel

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

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]) i konsolen ▶

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".] i konsolen ▶
annars
skriv ut [Not found.] i konsolen ▶
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
  • nummer

Exempel

när startad
[Add any number to 5.]
fråga [Give me a number.] och vänta
skriv ut ((konvertera (svar) till [nummer v]) [math_plus v] [5]) i konsolen ▶