Operatoriai#
Įvadas#
„VEXcode V5“ 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 blokus set print precision on screen arba 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] ekrane
spausdinti ([10] [math_plus v] [10.5]) ekrane ▶
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. |
Pavyzdys
kai pradėta
[Turn right until the heading reaches 90 degrees.]
sukti [dešinėn v]
laukti [0.5] sekundžių
laukti kol <(važiavimo kryptis laipsniais) [math_greater_than v] [90]>
sustabdyti važiavimą
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. |
Pavyzdys
kai pradėta
[Display if the ▼ and B Controller buttons are pressed.]
amžinai
išvalyti ekraną
nustatyti žymeklį į eilutę [1] stulpelį [1] ekrane
jei <<[Controller1 v] [▼ v] paspaustas?> [ir v] <[Controller1 v] [B v] paspaustas?>> tada
spausdinti [Buttons pressed!] ekrane ▶
pabaiga
pabaiga
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
[Turn until the robot is facing left. ]
amžinai
jei <ne <(važiavimo kryptis laipsniais) [math_greater_than v] [270]>> tada
sukti [dešinėn v]
kitu atveju
sustabdyti važiavimą
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:
|
Pavyzdys
kai pradėta
[Turn and display when facing forward or back. ]
sukti [dešinėn v] per [360] laipsnių ◀ ir nelaukti
amžinai
išvalyti ekraną
nustatyti žymeklį į eilutę [1] stulpelį [1] ekrane
jei <[90] [math_less_than v] (važiavimo kryptis laipsniais) [math_less_than v] [270]> tada
spausdinti [Facing backward!] ekrane ▶
kitu atveju
spausdinti [Facing forward!] ekrane ▶
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]) ekrane ▶
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] ekrane
spausdinti (apvalinti ([10] [math_division v] [3]) iki [1] skaičių po kablelio) ekrane ▶
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]) ekrane ▶
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]) ekrane ▶
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) ekrane ▶
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]) ekrane ▶
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]) ekrane ▶
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) ekrane ▶
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".] ekrane ▶
kitu atveju
spausdinti [Not found.] ekrane ▶
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 robot's heading as it turns.]
sukti [dešinėn v]
amžinai
išvalyti visas eilutes
spausdinti (sujungti [Currently facing: ] (konvertuoti (važiavimo kryptis laipsniais) į [tekstas v])) ▶
laukti [0.5] sekundžių