Operatoriai#
Įvadas#
„VEXcode AIR“ operatoriaus blokai padeda dronui 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 – tikrina, 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 laipsniškas kėlimas.
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] konsolėje
spausdinti ([10] [math_plus v] [10.5]) konsolėje ▶
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
[Fly to position (0, 300, 500).]
pakilti iki [500] [mm v] ▶
laukti (1) sekundžių
judėti [pirmyn v]
laukti kol <([y v] padėtis [mm v]) [math_greater_than v] [300]>
laukti (1) sekundžių
leistis ▶
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 when buttons 5 and 7 are pressed together.]
laukti kol <<valdiklio mygtukas [5 v] paspaustas?> [ir v] <valdiklio mygtukas [7 v] paspaustas?>>
spausdinti [Both buttons pressed!] konsolėje ▶
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
[Move with controller while button 5 is not pressed.]
pakilti iki [500] [mm v] ▶
kol <ne <valdiklio mygtukas [5 v] paspaustas?>>
judėti su valdikliu
pabaiga
leistis ▶
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
[Hover at approximately 1000mm then land.]
pakilti iki [500] [mm v] ▶
kilti [aukštyn v]
laukti kol <[1000] [math_less_than v] (altitude in [mm v]) [math_less_than v] [1100]>
sklandyti
laukti (3) sekundžių
leistis ▶
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 ▶
kai pradėta
[Display a decimal number between 1 and 10.5.]
nustatyti spausdinimo tikslumą į [Visi skaitmenys v] konsolėje
spausdinti (pasirinkti atsitiktinį nuo [1] iki [10.5]) konsolėje ▶
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 ▶
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 ▶
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 ▶
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 ▶
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. |
Pavyzdys
kai pradėta
[Display "VEXcode" on the Console.]
spausdinti (sujungti [VEX] [code]) konsolėje ▶
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ę. |
Pavyzdys
kai pradėta
[Display the first letter of "drone".]
spausdinti ((1) raidė iš [drone]) konsolėje ▶
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 ▶
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 ▶
kitu atveju
spausdinti [Not found.] konsolėje ▶
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
[Add any number to 5.]
klausti [Give me a number.] ir laukti
spausdinti ((konvertuoti (atsakymas) į [skaičius v]) [math_plus v] [5]) konsolėje ▶