Operatoriai#
Įvadas#
VEX kodo operatoriaus blokai padeda robotui dirbti su skaičiais ir žodžiais. Šie blokai gali spręsti matematinius uždavinius, lyginti reikšmes, įvertinti, ar sąlygos yra teisingos, ar klaidingos, ir dirbti su eilutėmis. Eilutės gali būti naudojamos reikšmėms ir žodžiams spausdinti.
Žemiau pateikiamas galimų blokų sąrašas:
matematinis operatorius – Atlieka sudėties, atimties, daugybos arba dalybos veiksmus.
palyginimo operatorius – Palygina dvi reikšmes naudodamas operatorius „didesnis nei“, „mažesnis nei“ arba „lygus“.
loginis operatorius – įvertina kelias sąlygas naudodamas ir arba arba.
ne operatorius – Invertuoja loginę reikšmę.
diapazono operatorius – Patikrina, ar skaičius patenka į diapazoną.
pick random – Sugeneruoja atsitiktinį skaičių nurodytame diapazone.
apvalinti skaičių – Suapvalina skaičių iki artimiausio sveikojo skaičiaus.
matematinės funkcijos – Taiko tokias operacijas kaip kvadratinės šaknies traukimas, trigonometrija, logaritmai ir kėlimas laipsniu.
atan2 – Apskaičiuoja atvirkštinę y/x tangentinę.
likutis – Pateikia dalybos operacijos likutį.
join – Sujungia dvi eilutes į vieną.
letter – Iš eilutės ištraukia simbolį pagal poziciją.
length – nurodo simbolių skaičių eilutėje.
contains – Patikrina, ar eilutėje yra konkretus žodis arba simbolis.
convert – Konvertuoja skaičių į tekstą, sveikąjį skaičių arba dešimtainį skaičių.
matematikos operatorius#
Matematinio operatoriaus reporterio blokas atlieka pagrindinius matematinius veiksmus su reikšmėmis, pateiktomis abiejose operatoriaus pusėse. Jis grąžina rezultatą, pagrįstą projekto spausdinimo tikslumu, kuris pagal numatytuosius nustatymus yra 0 skaitmenų po kablelio, bet jį galima koreguoti naudojant bloką set print precision on console.
([0] [math_plus v] [0])
Parametrai |
Aprašymas |
|---|---|
1 reikšmė |
Pirmasis operacijoje naudojamas skaičius. |
operatorius |
Naudojamas matematinis operatorius:
|
2 reikšmė |
Antrasis skaičius, naudojamas operacijoje. |
Pavyzdys
kai pradėta
[Perform basic addition and show two decimal places.]
nustatyti spausdinimo tikslumą į [0.01 v] konsolėje
spausdinti ([10] [math_plus v] [10.5]) konsolėje ◀ ir perkelti žymeklį į kitą eilutę
palyginimo operatorius#
Loginis palyginimo operatorius nurodo, ar dviejų reikšmių palyginimas yra teisinga, ar klaidinga.
Teisinga – Palyginimas teisingas (pvz., 5 > 3 grąžina Teisinga).
Klaidinga – Palyginimas neteisingas (pvz., 2 ≥ 5 grąžina Klaidinga).
<[0] [math_equal v] [0]>
Parametras |
Aprašymas |
|---|---|
1 reikšmė |
Pirmoji palyginama vertė. |
operatorius |
Naudojamas palyginimas:
|
2 reikšmė |
Antroji vertė, kurią reikia palyginti. |
loginis operatorius#
Loginis operatorius Boole blokas nurodo, ar loginė sąlyga tarp kelių reikšmių yra Teisinga, ar Klaidinga.
Teisinga – Loginė sąlyga įvykdyta.
Klaidinga – Loginė sąlyga neįvykdyta.
<<> [ir v] <>>
Parametras |
Aprašymas |
|---|---|
1 sąlyga |
Pirmoji įvertinama Būlio sąlyga. |
operatorius |
Naudojamas loginis operatorius: ir pateikia Teisinga, jei abi sąlygos yra Teisingos. arba pateikia Teisinga, jei bent viena sąlyga yra Teisinga. |
2 sąlyga |
Antroji įvertinama Būlio sąlyga. |
ne operatorius#
Loginis blokas ne operatorius invertuoja loginio bloko rezultatą. Jei įvestis yra teisinga, gaunama klaidinga, o jei įvestis yra klaidinga, gaunama teisinga.
Teisinga – Įvesties sąlyga paprastai praneštų Klaidinga.
Klaidinga – Įvesties sąlyga paprastai būtų Teisinga.
<ne <>>
Parametras |
Aprašymas |
|---|---|
būklė |
Būlio sąlyga, kurią reikia apversti. |
Pavyzdys
kai pradėta
[Check if the 6-Axis Arm can move to a position.]
jei <ne <[ranka v] judėjimas į padėtį x:[0] y:[0] z:[0] [mm v]?>> tada
spausdinti [The 6-Axis Arm can't move to this position.] konsolėje ◀ ir perkelti žymeklį į kitą eilutę
diapazono operatorius#
Loginis diapazono operatorius praneša, ar reikšmė patenka į nurodytą diapazoną.
Teisinga – Jei reikšmė yra diapazone.
Klaidinga – Jei reikšmė yra už diapazono ribų.
<[0] [math_less_than v] [0] [math_less_than v] [0]>
Parametras |
Aprašymas |
|---|---|
pirmasis operatorius |
Naudojamas palyginimo operatorius:
|
vertė |
Vertė, kurią reikia patikrinti. |
antrasis operatorius |
Naudojamas palyginimo operatorius:
|
pasirinkti atsitiktinai#
Pasirinkti atsitiktinį reporterio blokas pateikia atsitiktinį teigiamą arba neigiamą skaičių tarp minimumo ir maksimumo. Jis gali grąžinti ir minimumo, ir maksimumo reikšmę. Pavyzdžiui, pasirinkus nuo 1 iki 10, galima grąžinti bet kokį sveikąjį skaičių nuo 1 iki 10.
pasirinkti atsitiktinį nuo [1] iki [10]
Parametrai |
Aprašymas |
|---|---|
min. |
Mažiausias įmanomas skaičius, kurį galima pasirinkti. |
maks. |
Didžiausias įmanomas skaičius, kurį galima pasirinkti. |
Pavyzdžiai
kai pradėta
[Display a number between 1 and 10.]
spausdinti (pasirinkti atsitiktinį nuo [1] iki [10]) konsolėje ◀ ir perkelti žymeklį į kitą eilutę
apvalus skaičius#
Apvalinto skaičiaus ataskaitų blokas pateikia nurodytą skaičių, suapvalintą iki artimiausio sveikojo skaičiaus, laikantis standartinių apvalinimo taisyklių:
Jei dešimtainė trupmena yra 0,5 arba didesnė, skaičius suapvalinamas į didesnę pusę.
Jei dešimtainė trupmena yra mažesnė nei 0,5, skaičius apvalinamas į mažesnę pusę.
(apvalinti [0] iki [0] skaičių po kablelio)
Parametras |
Aprašymas |
|---|---|
skaičius |
Skaičius, kurį reikia apvalinti. |
dešimtainių vietų |
Dešimtainių trupmenų skaičius, iki kurio reikia apvalinti. |
Pavyzdys
kai pradėta
[Display the rounded result of 10 / 3.]
nustatyti spausdinimo tikslumą į [0.01 v] konsolėje
spausdinti (apvalinti ([10] [math_division v] [3]) iki [1] skaičių po kablelio) konsolėje ◀ ir perkelti žymeklį į kitą eilutę
matematikos funkcijos#
Matematinių funkcijų reporterio blokas taiko pasirinktą matematinę funkciją duotam skaičiui ir grąžina rezultatą. Jis palaiko tokias operacijas kaip absoliučioji vertė, apvalinimas, kvadratinės šaknys, trigonometrinės funkcijos, logaritmai ir laipsniškas kėlimas.
[abs v] iš [0]
Parametras |
Aprašymas |
|---|---|
funkcija |
Matematinis veiksmas, kurį reikia atlikti su įvesties verte:
|
skaičius |
Skaičius, kuriam reikia taikyti funkciją. |
Pavyzdys
kai pradėta
[Display the square root of 16.]
spausdinti ([sqrt v] iš [16]) konsolėje ◀ ir perkelti žymeklį į kitą eilutę
atan2#
atan2 reporterio blokas pateikia atvirkštinę Y/X liestinę kaip kampą laipsniais, vaizduojantį kampą tarp teigiamos X ašies ir taško (X, Y).
(atan2 iš x:[4] y:[3])
Parametras |
Aprašymas |
|---|---|
x |
Taško horizontali padėtis, išmatuota nuo pradžios taško (0,0). |
y |
Vertikali taško padėtis, išmatuota nuo pradžios taško (0,0). |
Pavyzdys
kai pradėta
[Calculate the angle from current position (4, 3).]
spausdinti (atan2 iš x:[4] y:[3]) konsolėje ◀ ir perkelti žymeklį į kitą eilutę
likutis#
Likučio reporterio blokas pateikia dviejų reikšmių dalybos operacijos likutį.
([0] / [0] liekana)
Parametras |
Aprašymas |
|---|---|
dividendas |
Skaičius, kurį reikia dalyti. |
daliklis |
Skaičius, iš kurio reikia dalyti. |
Pavyzdys
kai pradėta
[Display the remainder of 10 / 3.]
spausdinti ([10] / [3] liekana) konsolėje ◀ ir perkelti žymeklį į kitą eilutę
prisijungti#
prisijungimo reporterio blokas pateikia vieną eilutę, kuri sujungia dvi įvesties eilutes.
(sujungti [apple] [banana])
parametras |
aprašymas |
|---|---|
1 eilutė |
Pirmoji sujungta eilutė. |
2 eilutė |
Antroji eilutė, kurią reikia sujungti. |
kai pradėta
[Display "VEXcode" on the screen.]
spausdinti (sujungti [VEX] [code]) konsolėje ◀ ir perkelti žymeklį į kitą eilutę
laiškas#
Raidės reporterio blokas praneša vieno simbolio eilutę iš nurodytos pozicijos duotoje eilutėje.
([1] raidė iš [apple])
parametras |
aprašymas |
|---|---|
pozicija |
Simbolio pozicija eilutėje (pradedant nuo 1). |
styga |
Eilutė, iš kurios reikia išgauti raidę. |
kai pradėta
[Display the first letter of "Robot".]
spausdinti ((1) raidė iš [Robot]) konsolėje ◀ ir perkelti žymeklį į kitą eilutę
ilgis#
Ilgio reporterio blokas nurodo nurodytos eilutės simbolių skaičių, įskaitant tarpus.
([apple] ilgis)
parametras |
aprašymas |
|---|---|
styga |
Styga ilgiui matuoti. |
Pavyzdys
kai pradėta
[Count the number of characters in "VEX Robotics".]
spausdinti ([VEX Robotics] ilgis) konsolėje ◀ ir perkelti žymeklį į kitą eilutę
sudėtyje yra#
Loginis blokas contains nurodo, ar nurodytoje eilutėje yra nurodytas žodis arba simbolis.
True – eilutėje yra tas konkretus žodis arba simbolis.
Klaidinga – eilutėje nėra to konkretaus žodžio ar simbolio.
<[apple] turi [a]?>
parametras |
aprašymas |
|---|---|
styga |
Pagrindinė eilutė, kurioje reikia ieškoti. |
paieškos terminas |
Žodis arba simbolis, kurį reikia patikrinti eilutėje. |
Pavyzdys
kai pradėta
[Check if "robotics" contains "bot".]
jei <[robotics] turi [bot]?> tada
spausdinti [The word contains "bot".] konsolėje ◀ ir perkelti žymeklį į kitą eilutę
kitu atveju
spausdinti [Not found.] konsolėje ◀ ir perkelti žymeklį į kitą eilutę
pabaiga
konvertuoti#
konvertuoti reporterio blokas praneša skaičiaus, konvertuoto į nurodytą tipą, reikšmę kaip tekstą arba skaičių.
tekstas – konvertuoja skaičių į eilutę. Skaičiai turi būti eilutės formatu, kad veiktų su Eilutės operatoriaus blokais.
skaičius – konvertuoja skaičių į dešimtainę reikšmę.
(konvertuoti [0] į [tekstas v])
parametras |
aprašymas |
|---|---|
vertė |
Skaičius, kurį reikia konvertuoti. |
tipas |
Tipas, į kurį reikia konvertuoti skaičių:
|
Pavyzdys
kai pradėta :: hat events
[Display the Arm's x-position as it moves.]
padidinti [ranka v] padėtį x:[100] y:[0] z:[0] [mm v] ◀ ir nelaukti
amžinai
išvalyti visas eilutes
spausdinti (sujungti [X: ] (konvertuoti ([ranka v] padėtis [x v] [mm v]) į [tekstas v])) konsolėje ◀ ir perkelti žymeklį į kitą eilutę
laukti [0.5] sekundžių