Operátorok#

Bevezetés#

A VEXcode AIR operátorblokkjai segítik a drónt a számokkal és szavakkal való munkában. Ezek a blokkok képesek matematikai problémákat megoldani, értékeket összehasonlítani, a feltételek igazának vagy hamisságának kiértékelésére, valamint karakterláncokkal dolgozni. A karakterláncok használhatók értékek és szavak nyomtatására.

Az alábbiakban a rendelkezésre álló blokkok listája található:

  • matematikai operátor — Összeadást, kivonást, szorzást vagy osztást hajt végre.

  • összehasonlító operátor — Két értéket hasonlít össze nagyobb, kisebb vagy egyenlő operátorokkal.

  • logikai operátor — Több feltételt értékel ki az és vagy az vagy operátor használatával.

  • nem operátor — Logikai értéket invertál.

  • tartomány-operátor — Ellenőrzi, hogy egy szám egy tartományon belül esik-e.

  • pick random — Véletlenszerű számot generál egy megadott tartományon belül.

  • round number — Egy számot a legközelebbi egész számra kerekít.

  • matematikai függvények — Olyan műveleteket alkalmaz, mint a négyzetgyökvonás, trigonometria, logaritmus és hatványozás.

  • atan2 — Kiszámítja az Y/X koordináta-egyenes inverz tangensét.

  • remainder — Megadja az osztási művelet maradékát.

  • join – Két karakterláncot egyesít eggyé.

  • letter – Pozíció alapján kinyer egy karaktert egy karakterláncból.

  • length – Megadja a karakterláncban lévő karakterek számát.

  • tartalmaz – Ellenőrzi, hogy egy karakterlánc tartalmaz-e egy adott szót vagy karaktert.

  • convert – Számot szöveggé, egész számmá vagy tizedes törtté alakít.

matematikai operátor#

A matematikai operátor riporterblokk alapvető matematikai műveleteket végez az operátor két oldalán elhelyezett értékekkel. Az eredményt a projekt nyomtatási pontossága alapján adja vissza, amely alapértelmezés szerint 0 tizedesjegy, de a set print precision on screen vagy a set print precision on console blokkok segítségével módosítható.

A matematikai operátor riporter blokkja.#
([0] [math_plus v] [0])

Paraméterek

Leírás

value 1

A műveletben használt első szám.

operátor

A használandó matematikai operátor:

  • + - Összeadás
  • - - Kivonás
  • * - Szorzás
  • / - Osztás

value 2

A művelet során használt második szám.

Példa

Végezze el az alapvető összeadást, és tüntesse fel a két tizedesjegyet.#
amikor elindul
[Perform basic addition and show two decimal places.]
nyomtatási pontosság beállítása [0.01 v] értékre a konzolon
([10] [math_plus v] [10.5]) nyomtatása a konzolon ▶

összehasonlító operátor#

Az összehasonlító operátor logikai blokkja azt jelzi, hogy két érték összehasonlítása Igaz vagy Hamis.

  • Igaz – Az összehasonlítás helyes (pl. 5 > 3 Igaz értéket ad vissza).

  • Hamis – Az összehasonlítás helytelen (pl. 2 ≥ 5 Hamis értéket ad vissza).

Az összehasonlító operátor Boole-blokkja.#
<[0] [math_equal v] [0]>

Paraméter

Leírás

value 1

Az első összehasonlítandó érték.

operátor

Az összehasonlításhoz használandó képlet:

  • = - Egyenlő
  • mal
  • < - Kisebb, mint
  • ≤ - Kisebb vagy egyenlő, mint
  • > - Nagyobb, mint
  • ≥ - Nagyobb vagy egyenlő, mint

value 2

A második összehasonlítandó érték.

Példa

amikor elindul
[Fly to position (0, 300, 500).]
felszállás [500] [mm v] magasságra ▶
várakozás (1) másodpercig
mozgás [előre v]
várakozás amíg <([y v] pozíciója [mm v] egységben) [math_greater_than v] [300]>
várakozás (1) másodpercig
leszállás ▶

logikai operátor#

A logikai operátor Boole-blokk azt adja meg, hogy a több érték közötti logikai feltétel Igaz vagy Hamis.

  • Igaz – A logikai feltétel teljesül.

  • Hamis – A logikai feltétel nem teljesül.

A logikai operátor Boole-blokk.#
<<> [és v] <>>

Paraméter

Leírás

condition 1

Az első kiértékelendő logikai feltétel.

operátor

A használandó logikai operátor: Az és függvény Igaz értéket ad, ha mindkét feltétel Igaz. Az vagy függvény Igaz értéket ad, ha legalább az egyik feltétel Igaz.

condition 2

A második kiértékelendő logikai feltétel.

Példa

amikor elindul
[Display when buttons 5 and 7 are pressed together.]
várakozás amíg <<vezérlő [5 v] gomb megnyomva?> [és v] <vezérlő [7 v] gomb megnyomva?>>
[Both buttons pressed!] nyomtatása a konzolon ▶

nem operátor#

A nem operátor Boole-blokk invertálja a Boole-blokk eredményét. Ha a bemenet Igaz, akkor Hamis értéket, ha pedig Hamis, akkor Igaz értéket jelez.

  • Igaz – A bemeneti feltétel általában Hamis értéket jelezne.

  • Hamis – A bemeneti feltétel általában Igaz értéket jelezne.

A Not Operator Boole-blokk.#
<nem <>>

Paraméter

Leírás

állapot

Az invertálandó Boole-feltétel.

Példa

amikor elindul
[Move with controller while button 5 is not pressed.]
felszállás [500] [mm v] magasságra ▶
amíg <nem <vezérlő [5 v] gomb megnyomva?>>
mozgás vezérlővel
vége
leszállás ▶

tartomány operátor#

A tartomány-operátor logikai blokkja jelzi, hogy egy érték egy megadott tartományon belül esik-e.

  • Igaz – Ha az érték a tartományon belül van.

  • Hamis – Ha az érték kívül esik a tartományon.

A Range Operator Boole-blokk.#
<[0] [math_less_than v] [0] [math_less_than v] [0]>

Paraméter

Leírás

első operátor

A használandó összehasonlító operátor:

  • < — Kisebb, mint
  • ≤ — Kisebb vagy egyenlő, mint
  • — Nagyobb, mint
  • ≥ — Nagyobb vagy egyenlő, mint

érték

Az ellenőrizendő érték.

második operátor

A használandó összehasonlító operátor:

  • < — Kisebb, mint
  • ≤ — Kisebb vagy egyenlő, mint
  • — Nagyobb, mint
  • ≥ — Nagyobb vagy egyenlő, mint

Példa

amikor elindul
[Hover at approximately 1000mm then land.]
felszállás [500] [mm v] magasságra ▶
emelkedés [fel v]
várakozás amíg <[1000] [math_less_than v] (altitude in [mm v]) [math_less_than v] [1100]>
lebegés
várakozás (3) másodpercig
leszállás ▶

véletlenszerű választás#

A véletlenszerű választás riporterblokk egy véletlenszerű pozitív vagy negatív számot jelent egy minimum és egy maximum között. Visszaadhatja mind a minimum, mind a maximum értéket. Például az 1-től 10-ig terjedő választás bármilyen egész számot visszaadhat 1-től 10-ig.

A Pick Random riporter blokk.#
véletlen szám [1]-tól [10]-ig

Paraméterek

Leírás

perc

A választható legkisebb szám.

max

A legmagasabb lehetséges szám, amit ki lehet választani.

Példák

Jelenítsen meg egy számot 1 és 10 között.#
amikor elindul
[Display a number between 1 and 10.]
(véletlen szám [1]-tól [10]-ig) nyomtatása a konzolon ▶

1 és 10,5 közötti decimális számot jelenít meg.#
amikor elindul
[Display a decimal number between 1 and 10.5.]
nyomtatási pontosság beállítása [Összes jegy v] értékre a konzolon
(véletlen szám [1]-tól [10.5]-ig) nyomtatása a konzolon ▶

kerek szám#

A kerekített szám riporterblokk a megadott számot a legközelebbi egész számra kerekítve jelenti, a standard kerekítési szabályokat követve:

  • Ha a tizedesjegy 0,5 vagy nagyobb, a szám felfelé kerekíthető.

  • Ha a tizedesjegy kisebb, mint 0,5, a szám lefelé kerekíthető.

A Kerek Számú riporterblokk.#
([0] kerekítése [0] tizedesre)

Paraméter

Leírás

szám

A kerekítendő szám.

tizedesjegyek

A tizedesjegyek száma, amelyekre kerekíteni kell.

Példa

Jelenítse meg a 10 / 3 kerekített eredményét.#
amikor elindul
[Display the rounded result of 10 / 3.]
nyomtatási pontosság beállítása [0.01 v] értékre a konzolon
(([10] [math_division v] [3]) kerekítése [1] tizedesre) nyomtatása a konzolon ▶

matematikai függvények#

A matematikai függvények riporterblokkja egy kiválasztott matematikai függvényt alkalmaz egy adott számra, és visszaadja az eredményt. Támogatja az olyan műveleteket, mint az abszolút érték, kerekítés, négyzetgyökvonás, trigonometrikus függvények, logaritmusok és hatványozás.

A matematikai függvények riporterblokkja.#
[abs v] / [0]

Paraméter

Leírás

funkció

The mathematical operation to apply to the input value:

  • abs — Absolute value
  • floor — Rounds down
  • ceiling — Rounds up
  • sqrt — Square root
  • sin — Sine
  • cos — Cosine
  • tan — Tangent
  • asin — Inverse sine
  • acos — Inverse cosine
  • atan — Inverse tangent
  • ln — Natural logarithm
  • log — Base 10 logarithm
  • e^ — Euler’s number raised to a power
  • 10^ — 10 raised to a power
  • negative — Returns the negative of the number

szám

Az a szám, amelyre a függvényt alkalmazni kell.

Példa

Rajzold le a 16 négyzetgyökét.#
amikor elindul
[Display the square root of 16.]
([sqrt v] / [16]) nyomtatása a konzolon ▶

atan2#

Az atan2 riporterblokk az Y/X koordináta-tengely inverz tangensét adja meg fokokban megadott szögként, amely a pozitív X tengely és az (X, Y) pont közötti szöget jelenti.

atan2 blokk#
(x:[4] y:[3]atan2)

Paraméter

Leírás

x

A pont vízszintes helyzete, az origótól (0,0) mérve.

y

A pont függőleges helyzete, az origótól (0,0) mérve.

Példa

Számítsa ki a szöget a jelenlegi pozíciótól (4, 3).#
amikor elindul
[Calculate the angle from current position (4, 3).]
(x:[4] y:[3]atan2) nyomtatása a konzolon ▶

maradék#

A maradék riporterblokk két érték közötti osztási művelet maradékát jelenti.

A Remainder riporteri blokkja.#
[0] / [0] maradéka

Paraméter

Leírás

osztalék

Az osztandó szám.

osztó

Az osztandó szám.

Példa

Mutasd ki a 10 / 3 fennmaradó részét.#
amikor elindul
[Display the remainder of 10 / 3.]
([10] / [3] maradéka) nyomtatása a konzolon ▶

csatlakozik#

A join reporter blokk egyetlen karakterláncot jelent, amely két bemeneti karakterláncot kombinál.

A Join riporter blokk.#
([apple] és [banana] összekapcsolása)

paraméter

leírás

string 1

Az elsőként egyesülő karakterlánc.

string 2

A második egyesítendő karakterlánc.

Példa

amikor elindul
[Display "VEXcode" on the Console.]
([VEX] és [code] összekapcsolása) nyomtatása a konzolon ▶

levél#

A betű riporterblokk egy karakterláncot jelent a megadott pozícióból a megadott karakterláncban.

A Levél riporteri blokkja.#
([apple] [1]. karaktere)

paraméter

leírás

pozíció

A karakter pozíciója a karakterláncban (1-től kezdődően).

húr

A karakterlánc, amelyből egy betűt ki kell vonni.

Példa

amikor elindul
[Display the first letter of "drone".]
([drone] (1). karaktere) nyomtatása a konzolon ▶

hossz#

A length reporter blokk a megadott karakterláncban lévő karakterek számát jelenti, beleértve a szóközöket is.

A Length riporter blokk.#
([apple] hossza)

paraméter

leírás

húr

A hosszának mérésére szolgáló húr.

Példa

amikor elindul
[Count the number of characters in "VEX Robotics".]
([VEX Robotics] hossza) nyomtatása a konzolon ▶

tartalmaz#

A tartalmaz logikai blokk visszaadja, hogy a megadott karakterlánc tartalmazza-e a megadott szót vagy karaktert.

  • Igaz – A karakterlánc tartalmazza az adott szót vagy karaktert.

  • Hamis – A karakterlánc nem tartalmazza az adott szót vagy karaktert.

A Tartalmazza a Boole-blokkot.#
<[apple] tartalmazza [a]?>

paraméter

leírás

húr

A fő karakterlánc, amelyben keresni kell.

keresési kifejezés

A karakterláncban keresendő szó vagy karakter.

Példa

amikor elindul
[Check if "robotics" contains "bot".]
ha <[robotics] tartalmazza [bot]?> akkor
[The word contains "bot".] nyomtatása a konzolon ▶
különben
[Not found.] nyomtatása a konzolon ▶
vége

megtérít#

A convert reporter blokk egy megadott típusra konvertált szám értékét jelenti szövegként vagy számként.

  • szöveg – A számot karakterlánccá alakítja. A számoknak karakterlánc formátumban kell lenniük ahhoz, hogy működjenek a Karakterlánc-operátor blokkokkal.

  • szám – A számot decimális értékké alakítja.

A Convert riporter blokk.#
([0] konvertálása [szöveg v] típusra)

paraméter

leírás

érték

Az átváltandó szám.

típus

A szám konvertálásának típusa:

  • szöveg
  • szám

Példa

amikor elindul
[Add any number to 5.]
kérdezd meg [Give me a number.] és várakozz
(((válasz) konvertálása [szám v] típusra) [math_plus v] [5]) nyomtatása a konzolon ▶