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ó.
([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:
|
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).
<[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:
|
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.
<<> [é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.
<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.
<[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:
|
érték |
Az ellenőrizendő érték. |
második operátor |
A használandó összehasonlító operátor:
|
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.
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ő.
([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.
[abs v] / [0]
Paraméter |
Leírás |
|---|---|
funkció |
A bemeneti értékre alkalmazandó matematikai művelet:
|
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.
([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.
([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.
([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.
([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.
<[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.
([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:
|
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