Operatörer#
Introduktion#
Operatorblocken i VEXcode IQ (1:a generationen) 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.
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.
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 blocket set print precision on screen.
([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:
|
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] på skärmen
skriv ut ([10] [math_plus v] [10.5]) på skärmen ▶
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).
<[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:
|
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.
<<> [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 if the ▲ and ▼ buttons are pressed.]
för alltid
rensa skärm
ställ markör på rad [1] kolumn [1] på skärmen
om <<Brain [▲ v]-knappen tryckt?> [och v] <Brain [▼ v]-knappen tryckt?>> då
skriv ut [Buttons pressed!] på skärmen ▶
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.
<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.
<[0] [math_less_than v] [0] [math_less_than v] [0]>
Parameter |
Beskrivning |
|---|---|
första operatören |
Jämförelseoperatorn att använda:
|
värde |
Värdet att kontrollera. |
andra operatören |
Jämförelseoperatorn att använda:
|
Exempel
när startad
[Turn and display when facing forward or back. ]
sväng [höger v] i [360] grader ◀ och vänta inte
för alltid
rensa skärm
ställ markör på rad [1] kolumn [1] på skärmen
om <[270] [math_greater_than v] (körriktning i grader) [math_greater_than v] [90]> då
skriv ut [Facing backward!] på skärmen ▶
annars
skriv ut [Facing forward!] på skärmen ▶
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.
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.
(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] på skärmen
skriv ut (avrunda ([10] [math_division v] [3]) till [1] decimaler) på skärmen ▶
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.
[abs v] av [0]
Parameter |
Beskrivning |
|---|---|
fungera |
Den matematiska operationen som ska tillämpas på inmatningsvärdet:
|
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]) på skärmen ▶
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 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
när startad
[Calculate the angle from current position (4, 3).]
skriv ut (atan2 av x:[4] y:[3]) på skärmen ▶
resten#
Rapporteringsblocket rest rapporterar resten av divisionen mellan två värden.
(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]) på skärmen ▶