Operatörler#
giriiş#
VEXcode’daki Operatör blokları, robotun sayılar ve kelimelerle çalışmasına yardımcı olur. Bu bloklar matematiksel problemleri çözebilir, değerleri karşılaştırabilir, koşulların doğru veya yanlış olup olmadığını değerlendirebilir ve metin dizeleriyle çalışabilir. Metin dizeleri, değerleri ve kelimeleri yazdırmak için kullanılabilir.
Aşağıda mevcut blokların listesi bulunmaktadır:
matematiksel operatör – Toplama, çıkarma, çarpma veya bölme işlemlerini gerçekleştirir.
Karşılaştırma operatörü – Büyüktür, küçüktür veya eşittir operatörlerini kullanarak iki değeri karşılaştırır.
Mantıksal operatör – Birden fazla koşulu “ve” veya “veya” kullanarak değerlendirir.
değil operatörü – Bir Boolean değerini tersine çevirir.
aralık operatörü – Bir sayının bir aralık içinde olup olmadığını kontrol eder.
rastgele seç – Belirtilen aralıkta rastgele bir sayı üretir.
sayıyı yuvarla – Bir sayıyı en yakın tam sayıya yuvarlar.
matematik fonksiyonları – Karekök, trigonometri, logaritma ve üs alma gibi işlemleri uygular.
atan2 – y/x’in ters tanjantını hesaplar.
kalan – Bir bölüm operasyonunun kalanını rapor eder.
join – İki dizeyi tek bir dizeye birleştirir.
harf – Bir karakterin konumuna göre bir dizeden karakteri çıkarır.
length – Bir dizenin karakter sayısını bildirir.
içerir – Bir dizenin belirli bir kelime veya karakter içerip içermediğini kontrol eder.
dönüştür – Bir sayıyı metne, tam sayıya veya ondalık sayıya dönüştürür.
matematiksel operatör#
Matematiksel operatör raporlayıcı bloğu, operatörün her iki tarafına yerleştirilen değerler üzerinde temel matematiksel işlemler gerçekleştirir. Varsayılan olarak 0 ondalık basamağa ayarlanmış ancak konsolda yazdırma hassasiyetini ayarla bloğu kullanılarak ayarlanabilen projenin yazdırma hassasiyetine bağlı olarak bir sonuç döndürür.
([0] [math_plus v] [0])
Parametreler |
Tanım |
|---|---|
değer 1 |
İşlemde kullanılan ilk sayı. |
operatör |
Kullanılacak matematiksel operatörler:
|
değer 2 |
İşlemde kullanılan ikinci sayı. |
Örnek
başladığında
[Perform basic addition and show two decimal places.]
konsolda yazdırma hassasiyetini [0.01 v] olarak ayarla
konsolda ([10] [math_plus v] [10.5]) yazdır ◀ ve imleci sonraki satıra taşı
karşılaştırma operatörü#
Karşılaştırma operatörü Boolean bloğu, iki değer arasındaki karşılaştırmanın Doğru veya Yanlış olduğunu bildirir.
Doğru – Karşılaştırma doğrudur (örneğin, 5 > 3 ifadesi Doğru sonucunu verir).
Yanlış – Karşılaştırma hatalı (örneğin, 2 ≥ 5 ifadesi Yanlış sonucunu verir).
<[0] [math_equal v] [0]>
Parametre |
Tanım |
|---|---|
değer 1 |
Karşılaştırılacak ilk değer. |
operatör |
Kullanılacak karşılaştırma:
|
değer 2 |
Karşılaştırılacak ikinci değer. |
mantıksal operatör#
Mantıksal operatör Boolean bloğu, birden fazla değer arasındaki mantıksal koşulun Doğru veya Yanlış olup olmadığını bildirir.
Doğru – Mantıksal koşul sağlanmıştır.
Yanlış – Mantıksal koşul sağlanmadı.
<<> [ve v] <>>
Parametre |
Tanım |
|---|---|
koşul 1 |
Değerlendirilecek ilk Boolean koşulu. |
operatör |
Kullanılacak mantıksal operatör: ve operatörü, her iki koşul da doğru ise doğru değerini döndürür. veya operatörü, en az bir koşul doğru ise doğru değerini döndürür. |
koşul 2 |
Değerlendirilecek ikinci Boolean koşulu. |
operatör değil#
Değil operatörü Boolean bloğu, bir Boolean bloğunun sonucunu tersine çevirir. Giriş Doğru ise Yanlış, giriş Yanlış ise Doğru değerini bildirir.
Doğru – Giriş koşulu normalde Yanlış olarak raporlanırdı.
Yanlış – Giriş koşulu normalde Doğru değerini bildirir.
<<> değil>
Parametre |
Tanım |
|---|---|
durum |
Boolean koşulunun tersi alınacak. |
Örnek
başladığında
[Check if the 6-Axis Arm can move to a position.]
eğer <<[kol v] kolu x:[0] y:[0] z:[0] [mm v] konumuna taşınabilir mi?> değil> ise
konsolda [The 6-Axis Arm can't move to this position.] yazdır ◀ ve imleci sonraki satıra taşı
menzil operatörü#
Aralık operatörü Boolean bloğu, bir değerin belirtilen aralıkta olup olmadığını bildirir.
Doğru – Değer aralık içindeyse.
Yanlış – Değer aralığın dışındaysa.
<[0] [math_less_than v] [0] [math_less_than v] [0]>
Parametre |
Tanım |
|---|---|
ilk operatör |
Kullanılacak karşılaştırma operatörleri:
|
değer |
Kontrol edilecek değer. |
ikinci operatör |
Kullanılacak karşılaştırma operatörleri:
|
rastgele seç#
Rastgele sayı seç raporlayıcı bloğu, minimum ve maksimum değerler arasında rastgele pozitif veya negatif bir sayı bildirir. Hem minimum değeri hem de maksimum değeri döndürebilir. Örneğin, 1 ile 10 arasında seçim yapmak, 1 ile 10 arasındaki herhangi bir tam sayıyı döndürebilir.
[1] ile [10] arasında rastgele seç
Parametreler |
Tanım |
|---|---|
dakika |
Seçilebilecek en düşük sayı. |
maksimum |
Seçilebilecek en yüksek sayı. |
Örnekler
başladığında
[Display a number between 1 and 10.]
konsolda ([1] ile [10] arasında rastgele seç) yazdır ◀ ve imleci sonraki satıra taşı
yuvarlak sayı#
Yuvarlak sayı raporlama bloğu, verilen sayıyı standart yuvarlama kurallarına göre en yakın tam sayıya yuvarlayarak rapor eder:
Ondalık basamak 0,5 veya daha büyükse, sayı yukarı yuvarlanır.
Ondalık basamak 0,5’ten küçükse, sayı aşağıya yuvarlanır.
([0] sayısını [0] ondalık basamağa yuvarla)
Parametre |
Tanım |
|---|---|
sayı |
Yuvarlanacak sayı. |
ondalık basamaklar |
Yuvarlama işleminin yapılacağı ondalık basamak sayısı. |
Örnek
başladığında
[Display the rounded result of 10 / 3.]
konsolda yazdırma hassasiyetini [0.01 v] olarak ayarla
konsolda (([10] [math_division v] [3]) sayısını [1] ondalık basamağa yuvarla) yazdır ◀ ve imleci sonraki satıra taşı
matematiksel fonksiyonlar#
Matematik fonksiyonları raporlayıcı bloğu, verilen bir sayıya seçilen bir matematiksel fonksiyonu uygular ve sonucu döndürür. Mutlak değer, yuvarlama, karekök alma, trigonometrik fonksiyonlar, logaritma ve üs alma gibi işlemleri destekler.
[0] sayısının [abs v] değeri
Parametre |
Tanım |
|---|---|
işlev |
Giriş değerine uygulanacak matematiksel işlem:
|
sayı |
Fonksiyonun uygulanacağı sayı. |
Örnek
başladığında
[Display the square root of 16.]
konsolda ([16] sayısının [sqrt v] değeri) yazdır ◀ ve imleci sonraki satıra taşı
atan2#
atan2 raporlayıcı bloğu, Y/X’in ters tanjantını, pozitif X ekseni ile (X, Y) noktası arasındaki açıyı temsil eden derece cinsinden bir açı olarak rapor eder.
(atan2 x:[4] y:[3])
Parametre |
Tanım |
|---|---|
X |
Noktanın yatay konumu, orijinden (0,0) itibaren ölçülür. |
y |
Noktanın, orijinden (0,0) itibaren ölçülen dikey konumu. |
Örnek
başladığında
[Calculate the angle from current position (4, 3).]
konsolda (atan2 x:[4] y:[3]) yazdır ◀ ve imleci sonraki satıra taşı
kalan#
Kalan raporlama bloğu, iki değer arasındaki bölme işleminin kalanını rapor eder.
([0] / [0] kalanı)
Parametre |
Tanım |
|---|---|
temettü |
Bölünecek sayı. |
bölen |
Bölme işlemi yapılacak sayı. |
Örnek
başladığında
[Display the remainder of 10 / 3.]
konsolda ([10] / [3] kalanı) yazdır ◀ ve imleci sonraki satıra taşı
katılmak#
Join raporlama bloğu, iki giriş dizesini birleştiren tek bir dizeyi raporlar.
([apple] ve [banana] birleştir)
parametre |
Tanım |
|---|---|
dize 1 |
Birleştirilecek ilk dize. |
dize 2 |
Birleştirilecek ikinci dize. |
başladığında
[Display "VEXcode" on the screen.]
konsolda ([VEX] ve [code] birleştir) yazdır ◀ ve imleci sonraki satıra taşı
mektup#
Harf raporlayıcı bloğu, verilen dizenin belirtilen konumundan tek karakterlik bir dizeyi rapor eder.
([apple] dizisinin [1]. harfi)
parametre |
Tanım |
|---|---|
konum |
Karakterin dizedeki konumu (1’den başlayarak). |
sicim |
Harf ayıklamak için kullanılacak metin dizisi. |
başladığında
[Display the first letter of "Robot".]
konsolda ([Robot] dizisinin (1). harfi) yazdır ◀ ve imleci sonraki satıra taşı
uzunluk#
length raporlama bloğu, belirtilen dizenin boşluklar dahil karakter sayısını bildirir.
([apple] listesinin uzunluğu)
parametre |
Tanım |
|---|---|
sicim |
Uzunluğunu ölçmek için kullanılan ip. |
Örnek
başladığında
[Count the number of characters in "VEX Robotics".]
konsolda ([VEX Robotics] listesinin uzunluğu) yazdır ◀ ve imleci sonraki satıra taşı
içerir#
Contains Boolean bloğu, belirtilen dizenin verilen kelimeyi veya karakteri içerip içermediğini bildirir.
Doğru – Dize, belirtilen kelimeyi veya karakteri içeriyor.
Yanlış – Dize, belirtilen kelimeyi veya karakteri içermiyor.
<[apple] [a] içeriyor mu?>
parametre |
Tanım |
|---|---|
sicim |
Arama yapılacak ana metin dizisi. |
arama terimi |
Dize içinde aranacak kelime veya karakter. |
Örnek
başladığında
[Check if "robotics" contains "bot".]
eğer <[robotics] [bot] içeriyor mu?> ise
konsolda [The word contains "bot".] yazdır ◀ ve imleci sonraki satıra taşı
değilse
konsolda [Not found.] yazdır ◀ ve imleci sonraki satıra taşı
son
dönüştürmek#
Dönüştürme raporlama bloğu, bir sayının belirtilen türe (metin veya sayı olarak) dönüştürülmüş değerini rapor eder.
metin – Sayıyı bir dizeye dönüştürür. Dize Operatörü bloklarıyla çalışabilmesi için sayıların dize biçiminde olması gerekir.
sayı – Sayıyı ondalık değere dönüştürür.
([0] değerini [metin v] türüne dönüştür)
parametre |
Tanım |
|---|---|
değer |
Dönüştürülecek sayı. |
tip |
Sayıyı dönüştürmek istediğiniz tür:
|
Örnek
başladığında :: hat events
[Display the Arm's x-position as it moves.]
[kol v] kolunun konumunu x:[100] y:[0] z:[0] [mm v] kadar artır ◀ ve bekleme
sonsuza kadar
tüm satırları temizle
konsolda ([X: ] ve (([kol v] konumu [x v] [mm v] cinsinden) değerini [metin v] türüne dönüştür) birleştir) yazdır ◀ ve imleci sonraki satıra taşı
[0.5] saniye bekle