Operatörler#
giriiş#
VEXcode AIR’deki Operatör blokları, dronun sayılar ve kelimelerle çalışmasına yardımcı olur. Bu bloklar matematik problemlerini çözebilir, değerleri karşılaştırabilir, koşulların doğru veya yanlış olup olmadığını değerlendirebilir ve dizelerle çalışabilir. Dizeler, değerleri ve kelimeleri yazdırmak için kullanılabilir.
Aşağıda mevcut blokların listesi bulunmaktadır:
matematik 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 basamak olan ancak ekranda yazdırma hassasiyetini ayarla veya konsolda yazdırma hassasiyetini ayarla blokları 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 ▶
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. |
Örnek
başladığında
[Fly to position (0, 300, 500).]
[500] [mm v] yüksekliğe kalkış yap ▶
(1) saniye bekle
[ileri v] yönünde hareket et
<([y v] konumu [mm v] cinsinden) [math_greater_than v] [300]> olana kadar bekle
(1) saniye bekle
iniş yap ▶
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. |
Örnek
başladığında
[Display when buttons 5 and 7 are pressed together.]
<<kumanda düğmesi [5 v] basıldı mı?> [ve v] <kumanda düğmesi [7 v] basıldı mı?>> olana kadar bekle
konsolda [Both buttons pressed!] yazdır ▶
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
[Move with controller while button 5 is not pressed.]
[500] [mm v] yüksekliğe kalkış yap ▶
<<kumanda düğmesi [5 v] basıldı mı?> değil> iken
kumandayla hareket et
son
iniş yap ▶
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:
|
Örnek
başladığında
[Hover at approximately 1000mm then land.]
[500] [mm v] yüksekliğe kalkış yap ▶
[yukarı v] yönünde tırman
<[1000] [math_less_than v] (altitude in [mm v]) [math_less_than v] [1100]> olana kadar bekle
askıda kal
(3) saniye bekle
iniş yap ▶
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 ▶
başladığında
[Display a decimal number between 1 and 10.5.]
konsolda yazdırma hassasiyetini [Tüm Basamaklar v] olarak ayarla
konsolda ([1] ile [10.5] arasında rastgele seç) yazdır ▶
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 ▶
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 ▶
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 ▶
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 ▶
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. |
Örnek
başladığında
[Display "VEXcode" on the Console.]
konsolda ([VEX] ve [code] birleştir) yazdır ▶
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. |
Örnek
başladığında
[Display the first letter of "drone".]
konsolda ([drone] dizisinin (1). harfi) yazdır ▶
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 ▶
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 ▶
değilse
konsolda [Not found.] yazdır ▶
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
[Add any number to 5.]
[Give me a number.] sor ve bekle
konsolda (((cevap) değerini [sayı v] türüne dönüştür) [math_plus v] [5]) yazdır ▶