Operatörler#
giriiş#
VEXcode V5’teki 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 dizeden konuma göre bir karakter çı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.]
ekranda yazdırma hassasiyetini [0.01 v] olarak ayarla
ekranda ([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
[Turn right until the heading reaches 90 degrees.]
[sağ v] yönüne dön
[0.5] saniye bekle
<(sürüş yönü derece cinsinden) [math_greater_than v] [90]> olana kadar bekle
sürüşü durdur
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 if the ▼ and B Controller buttons are pressed.]
sonsuza kadar
ekranı temizle
imleci ekranda satır [1] sütun [1] konumuna taşı
eğer <<[Controller1 v] [▼ v] basıldı mı?> [ve v] <[Controller1 v] [B v] basıldı mı?>> ise
ekranda [Buttons pressed!] yazdır ▶
son
son
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
[Turn until the robot is facing left. ]
sonsuza kadar
eğer <<(sürüş yönü derece cinsinden) [math_greater_than v] [270]> değil> ise
[sağ v] yönüne dön
değilse
sürüşü durdur
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
[Turn and display when facing forward or back. ]
[sağ v] yönüne [360] derece dön ◀ ve bekleme
sonsuza kadar
ekranı temizle
imleci ekranda satır [1] sütun [1] konumuna taşı
eğer <[90] [math_less_than v] (sürüş yönü derece cinsinden) [math_less_than v] [270]> ise
ekranda [Facing backward!] yazdır ▶
değilse
ekranda [Facing forward!] yazdır ▶
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.]
ekranda ([1] ile [10] 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.]
ekranda yazdırma hassasiyetini [0.01 v] olarak ayarla
ekranda (([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.]
ekranda ([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).]
ekranda (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.]
ekranda ([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. |
başladığında
[Display "VEXcode" on the screen.]
ekranda ([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. |
başladığında
[Display the first letter of "Robot".]
ekranda ([Robot] 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".]
ekranda ([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
ekranda [The word contains "bot".] yazdır ▶
değilse
ekranda [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 :: hat events
[Display the robot's heading as it turns.]
[sağ v] yönüne dön
sonsuza kadar
tüm satırları temizle
([Currently facing: ] ve ((sürüş yönü derece cinsinden) değerini [metin v] türüne dönüştür) birleştir) yazdır ▶
[0.5] saniye bekle