Operátorok#

Bevezetés#

A VEXcode operátorblokkjai segítik a robotot 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 hamisnak becslését végezni, és 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 operátorok 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.

  • kerekített szám – 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 függvény 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 console block 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

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 ◀ és kurzor a következő sorra

ö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.

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.

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
[Check if the 6-Axis Arm can move to a position.]
ha <nem <[kar v] mozgatható x:[0] y:[0] z:[0] [mm v] pozícióba?>> akkor
[The 6-Axis Arm can't move to this position.] nyomtatása a konzolon ◀ és kurzor a következő sorra

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

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

amikor elindul
[Display a number between 1 and 10.]
(véletlen szám [1]-tól [10]-ig) nyomtatása a konzolon ◀ és kurzor a következő sorra

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

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 ◀ és kurzor a következő sorra

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ó

A bemeneti értékre alkalmazandó matematikai művelet:

  • abs - Abszolút érték
  • floor - Lefelé kerekítés
  • ceiff - Felfelé kerekítés
  • sqrt - Négyzetgyök
  • sin - Szinusz
  • cos - Koszinusz
  • tan - Tangens
  • asin - Inverz szinusz
  • acos - Inverz koszinusz
  • atan - Inverz tangens
  • ln - Természetes logaritmus
  • log - Tízes alapú logaritmus
  • e^ - Euler-szám
  • 10^- 10
  • negatív
    - A szám negatívját adja vissza

szám

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

Példa

amikor elindul
[Display the square root of 16.]
([sqrt v] / [16]) nyomtatása a konzolon ◀ és kurzor a következő sorra

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.

(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

amikor elindul
[Calculate the angle from current position (4, 3).]
(x:[4] y:[3]atan2) nyomtatása a konzolon ◀ és kurzor a következő sorra

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

amikor elindul
[Display the remainder of 10 / 3.]
([10] / [3] maradéka) nyomtatása a konzolon ◀ és kurzor a következő sorra

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.

amikor elindul
[Display "VEXcode" on the screen.]
([VEX] és [code] összekapcsolása) nyomtatása a konzolon ◀ és kurzor a következő sorra

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.

amikor elindul
[Display the first letter of "Robot".]
([Robot] (1). karaktere) nyomtatása a konzolon ◀ és kurzor a következő sorra

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 ◀ és kurzor a következő sorra

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 ◀ és kurzor a következő sorra
különben
[Not found.] nyomtatása a konzolon ◀ és kurzor a következő sorra
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 :: hat events
[Display the Arm's x-position as it moves.]
[kar v] pozíciójának növelése x:[100] y:[0] z:[0] [mm v] értékkel ◀ és ne várjon
örökre
összes sor törlése
([X: ] és (([kar v] pozíciója [x v] [mm v] egységben) konvertálása [szöveg v] típusra) összekapcsolása) nyomtatása a konzolon ◀ és kurzor a következő sorra
várakozás [0.5] másodpercig