Operaattorit#
Johdanto#
VEXcoden operaattorilohkot auttavat robottia työskentelemään numeroiden ja sanojen kanssa. Nämä lohkot voivat ratkaista matemaattisia ongelmia, vertailla arvoja, arvioida ehtojen totuutta tai epätosia ja työskennellä merkkijonojen kanssa. Merkkijonoja voidaan käyttää arvojen ja sanojen tulostamiseen.
Alla on luettelo saatavilla olevista lohkoista:
matematiikkaoperaattori – Suorittaa yhteen-, vähennys-, kerto- tai jakolaskun.
vertailuoperaattori – Vertailee kahta arvoa käyttämällä suurempi kuin-, pienempi kuin- tai yhtä suuri kuin -operaattoreita.
looginen operaattori – Arvioi useita ehtoja käyttämällä operaattoria ja tai tai.
ei operaattori – Kääntää totuusarvon.
alueoperaattori – Tarkistaa, kuuluuko luku arvoalueelle.
pick random – Luo satunnaisluvun tietyltä väliltä.
pyöristää numeron – Pyöristää luvun lähimpään kokonaislukuun.
matematiikkafunktiot – Käyttää laskutoimituksia, kuten neliöjuuri, trigonometria, logaritmit ja potenssiinkorotus.
atan2 – Laskee y/x-funktion käänteistangentin.
remainder – Ilmoittaa jakolaskun jäännöksen.
join – Yhdistää kaksi merkkijonoa yhdeksi.
letter – Poimii merkkijonosta merkin sijainnin perusteella.
length – Ilmoittaa merkkijonon merkkien määrän.
sisältää – Tarkistaa, sisältääkö merkkijono tietyn sanan tai merkin.
convert – Muuntaa luvun tekstiksi, kokonaisluvuksi tai desimaaliluvuksi.
matemaattinen operaattori#
Matematiikkaoperaattori-raporttilohko suorittaa peruslaskutoimituksia operaattorin molemmille puolille sijoitetuille arvoille. Se palauttaa tuloksen projektin tulostustarkkuuden perusteella, jonka oletusarvo on 0 desimaalia, mutta jota voidaan säätää aseta tulostustarkkuus konsoliin -lohkolla.
([0] [math_plus v] [0])
Parametrit |
Kuvaus |
|---|---|
arvo 1 |
Ensimmäinen toiminnossa käytetty numero. |
operaattori |
Käytettävä matemaattinen operaattori:
|
arvo 2 |
Toinen toiminnossa käytetty numero. |
Esimerkki
kun käynnistetään
[Perform basic addition and show two decimal places.]
aseta tulostuksen tarkkuus [0.01 v] konsolilla
tulosta ([10] [math_plus v] [10.5]) konsolilla ◀ ja siirrä kursori seuraavalle riville
vertailuoperaattori#
Vertailuoperaattori Boolen lohko ilmoittaa, onko kahden arvon vertailu Tosi vai Epätosi.
Tosi – Vertailu on oikein (esim. 5 > 3 palauttaa Tosi).
Epätosi – Vertailu on virheellinen (esim. 2 ≥ 5 palauttaa Epätosi).
<[0] [math_equal v] [0]>
Parametri |
Kuvaus |
|---|---|
arvo 1 |
Ensimmäinen vertailtava arvo. |
operaattori |
Käytettävä vertailu:
|
arvo 2 |
Toinen vertailtava arvo. |
looginen operaattori#
Looginen operaattori (Totuusarvo) -lohko ilmoittaa, onko useiden arvojen välinen looginen ehto Tosi vai Epätosi.
Tosi – Looginen ehto täyttyy.
Epätosi – Looginen ehto ei täyty.
<<> [ja v] <>>
Parametri |
Kuvaus |
|---|---|
ehto 1 |
Ensimmäinen arvioitava Boolen ehto. |
operaattori |
Käytettävä looginen operaattori: ja raportoi Tosi, jos molemmat ehdot ovat Tosi. tai raportoi Tosi, jos vähintään yksi ehto on Tosi. |
ehto 2 |
Toinen arvioitava loogisen arvo. |
ei operaattori#
Boolen lohko ei-operaattori kääntää Boolen lohkon tuloksen. Jos syöte on Tosi, se raportoi Epätosi, ja jos syöte on Epätosi, se raportoi Tosi.
Tosi – Syöteehto raportoi normaalisti arvon Epätosi.
Epätosi – Syöteehto raportoi normaalisti arvon Tosi.
<ei <>>
Parametri |
Kuvaus |
|---|---|
kunto |
Käännettävä Boolen ehto. |
Esimerkki
kun käynnistetään
[Check if the 6-Axis Arm can move to a position.]
jos <ei <[käsivarsi v] voi siirtyä sijaintiin x:[0] y:[0] z:[0] [mm v]?>> niin
tulosta [The 6-Axis Arm can't move to this position.] konsolilla ◀ ja siirrä kursori seuraavalle riville
alueoperaattori#
Välimatkaoperaattori Boolen lohko ilmoittaa, onko arvo tietyn alueen sisällä.
Tosi – Jos arvo on annetulla alueella.
Epätosi – Jos arvo on alueen ulkopuolella.
<[0] [math_less_than v] [0] [math_less_than v] [0]>
Parametri |
Kuvaus |
|---|---|
ensimmäinen operaattori |
Käytettävä vertailuoperaattori:
|
arvo |
Tarkistettava arvo. |
toinen operaattori |
Käytettävä vertailuoperaattori:
|
valitse satunnainen#
Valitse satunnainen -raporttilohko raportoi satunnaisen positiivisen tai negatiivisen luvun minimin ja maksimin väliltä. Se voi palauttaa sekä minimin että maksimin arvon. Esimerkiksi valitsemalla 1–10 voit palauttaa minkä tahansa kokonaisluvun 1:stä 10:een.
poimia satunnainen [1] – [10]
Parametrit |
Kuvaus |
|---|---|
min |
Pienin mahdollinen numero, joka voidaan valita. |
maks |
Suurin mahdollinen numero, joka voidaan valita. |
Esimerkkejä
kun käynnistetään
[Display a number between 1 and 10.]
tulosta (poimia satunnainen [1] – [10]) konsolilla ◀ ja siirrä kursori seuraavalle riville
pyöreä luku#
Pyöristysluvun raportointilohko raportoi annetun luvun pyöristettynä lähimpään kokonaislukuun noudattaen vakiopyöristyssääntöjä:
Jos desimaaliluku on 0,5 tai suurempi, luku pyöristetään ylöspäin.
Jos desimaaliluku on pienempi kuin 0,5, luku pyöristetään alaspäin.
(pyöristä [0] [0] desimaaliin)
Parametri |
Kuvaus |
|---|---|
määrä |
Pyöristettävä luku. |
desimaalien tarkkuus |
Desimaalien määrä, joihin pyöristetään. |
Esimerkki
kun käynnistetään
[Display the rounded result of 10 / 3.]
aseta tulostuksen tarkkuus [0.01 v] konsolilla
tulosta (pyöristä ([10] [math_division v] [3]) [1] desimaaliin) konsolilla ◀ ja siirrä kursori seuraavalle riville
matemaattiset funktiot#
Matematiikkafunktioiden raportointilohko soveltaa valittua matemaattista funktiota annettuun lukuun ja palauttaa tuloksen. Se tukee toimintoja, kuten itseisarvoa, pyöristystä, neliöjuuria, trigonometrisiä funktioita, logaritmeja ja potenssiinkorotusta.
[abs v] luvusta [0]
Parametri |
Kuvaus |
|---|---|
toiminto |
Syötearvoon sovellettava matemaattinen operaatio:
|
määrä |
Luku, johon funktiota sovelletaan. |
Esimerkki
kun käynnistetään
[Display the square root of 16.]
tulosta ([sqrt v] luvusta [16]) konsolilla ◀ ja siirrä kursori seuraavalle riville
atan2#
atan2-raporttilohko raportoi Y/X-akselin käänteisen tangentin asteina, mikä edustaa positiivisen X-akselin ja pisteen (X, Y) välistä kulmaa.
(x:n atan2:[4] y:[3])
Parametri |
Kuvaus |
|---|---|
x |
Pisteen vaakasuora sijainti mitattuna origosta (0,0). |
y |
Pisteen pystysuora sijainti mitattuna origosta (0,0). |
Esimerkki
kun käynnistetään
[Calculate the angle from current position (4, 3).]
tulosta (x:n atan2:[4] y:[3]) konsolilla ◀ ja siirrä kursori seuraavalle riville
loppuosa#
Jäännös-raportointilohko raportoi kahden arvon välisen jakolaskun jakojäännösosan.
(jakojäännös [0] / [0])
Parametri |
Kuvaus |
|---|---|
osinko |
Jaettava luku. |
jakaja |
Luku, jolla jaetaan. |
Esimerkki
kun käynnistetään
[Display the remainder of 10 / 3.]
tulosta (jakojäännös [10] / [3]) konsolilla ◀ ja siirrä kursori seuraavalle riville
liittyä#
liittymis-reportterilohko raportoi yhden merkkijonon, joka yhdistää kaksi syötemerkkijonoa.
(yhdistä [apple] [banana])
parametri |
kuvaus |
|---|---|
merkkijono 1 |
Ensimmäinen yhdistettävä merkkijono. |
merkkijono 2 |
Toinen yhdistettävä merkkijono. |
kun käynnistetään
[Display "VEXcode" on the screen.]
tulosta (yhdistä [VEX] [code]) konsolilla ◀ ja siirrä kursori seuraavalle riville
kirje#
Kirjain-raportointilohko raportoi yksimerkkijonon annetun merkkijonon määritetystä kohdasta.
(kirjain [1] merkkijonossa [apple])
parametri |
kuvaus |
|---|---|
asema |
Merkin sijainti merkkijonossa (alkaen luvusta 1). |
jono |
Merkkijono, josta kirjain poimitaan. |
kun käynnistetään
[Display the first letter of "Robot".]
tulosta (kirjain (1) merkkijonossa [Robot]) konsolilla ◀ ja siirrä kursori seuraavalle riville
pituus#
Pituus-raportointilohko raportoi määritetyn merkkijonon merkkien määrän välilyönnit mukaan lukien.
(listan [apple] pituus)
parametri |
kuvaus |
|---|---|
jono |
Merkkijono, jolla mitataan sen pituus. |
Esimerkki
kun käynnistetään
[Count the number of characters in "VEX Robotics".]
tulosta (listan [VEX Robotics] pituus) konsolilla ◀ ja siirrä kursori seuraavalle riville
sisältää#
Boolen contains-lohko ilmoittaa, sisältääkö annettu merkkijono annetun sanan tai merkin.
Tosi – Merkkijono sisältää kyseisen sanan tai merkin.
Epätosi – Merkkijono ei sisällä kyseistä sanaa tai merkkiä.
<[apple] sisältää [a]?>
parametri |
kuvaus |
|---|---|
jono |
Pääasiallinen merkkijono, josta etsitään. |
hakutermi |
Merkkijonon sisältä tarkistettava sana tai merkki. |
Esimerkki
kun käynnistetään
[Check if "robotics" contains "bot".]
jos <[robotics] sisältää [bot]?> niin
tulosta [The word contains "bot".] konsolilla ◀ ja siirrä kursori seuraavalle riville
muuten
tulosta [Not found.] konsolilla ◀ ja siirrä kursori seuraavalle riville
Loppu
muuntaa#
convert-raportointilohko raportoi määritettyyn tyyppiin muunnetun luvun arvon joko tekstinä tai numerona.
teksti – Muuntaa luvun merkkijonoksi. Numeroiden on oltava merkkijonomuodossa, jotta ne toimivat Merkkijono-operaattori-lohkojen kanssa.
luku – Muuntaa luvun desimaaliluvuksi.
(muunna [0] tyypiksi [teksti v])
parametri |
kuvaus |
|---|---|
arvo |
Muunnettava luku. |
tyyppi |
Muunneltava tyyppi numerolle:
|
Esimerkki
kun käynnistetään :: hat events
[Display the Arm's x-position as it moves.]
kasvata [käsivarsi v] sijaintia x:[100] y:[0] z:[0] [mm v] ◀ eikä odota
ikuisesti
tyhjennä kaikki rivit
tulosta (yhdistä [X: ] (muunna ([käsivarsi v] sijainti [x v] yksikköinä [mm v]) tyypiksi [teksti v])) konsolilla ◀ ja siirrä kursori seuraavalle riville
odota [0.5] sekuntia