Operatörler#

giriiş#

VEXcode IQ (2. nesil)’deki Operatör blokları, robotun 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:

  • 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 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.

Matematik operatörü raporlayıcı bloğu.#
([0] [math_plus v] [0])

Parametreler

Tanım

değer 1

İşlemde kullanılan ilk sayı.

operatör

Kullanılacak matematiksel operatörler:

  • + - Toplama
  • - - Çıkarma
  • * - Çarpma
  • / - Bölme

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).

Karşılaştırma operatörü Boolean bloğu.#
<[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:

  • = -
  • eşit
  • < -
  • küçük
  • ≤ -
  • küçük veya eşit
  • > -
  • büyük
  • ≥ -
  • büyük veya eşit

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ı.

Mantıksal Operatör Boolean bloğu.#
<<> [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 ▶ buttons are pressed.]
sonsuza kadar
ekranı temizle
imleci ekranda satır [1] sütun [1] konumuna taşı
eğer <<Brain [◀ v] düğmesine basıldı mı?> [ve v] <Brain [▶ v] düğmesine 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” operatörü Boolean bloğu.#
<<> 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.

Aralık Operatörü Boolean bloğu.#
<[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:

  • < -
  • küçük
  • ≤ -
  • küçük veya eşit
  • -
  • büyük
  • ≥ -
  • büyük veya eşit

değer

Kontrol edilecek değer.

ikinci operatör

Kullanılacak karşılaştırma operatörleri:

  • < -
  • küçük
  • ≤ -
  • küçük veya eşit
  • -
  • büyük
  • ≥ -
  • büyük veya eşit

Ö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 <[270] [math_greater_than v] (sürüş yönü derece cinsinden) [math_greater_than v] [90]> 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.

Rastgele Seç muhabir bloğu.#
[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.]
([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.

Yuvarlak Sayı muhabir bloğu.#
([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.

Matematiksel Fonksiyonlar muhabir bloğu.#
[0] sayısının [abs v] değeri

Parametre

Tanım

işlev

Giriş değerine uygulanacak matematiksel işlem:

  • mutlak değer - Mutlak değer
  • taban - Aşağı yuvarlama
  • tavan - Yukarı yuvarlama
  • karekök - Karekök
  • sinüs - Sinüs
  • kosinüs - Kosinüs
  • tanjant - Tanjant
  • asinüs - Ters sinüs
  • acos - Ters kosinüs
  • atanjant - Ters tanjant
  • ln - Doğal logaritma
  • logaritmik - 10 tabanlı logaritma
  • e^ - Euler sayısının bir kuvveti
  • 10^ - 10’un bir kuvveti
  • negatif - Sayının negatifini gösterir

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.

Geri kalan muhabir bloğu.#
([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.

Muhabir bloğuna katıl.#
([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.

Mektup muhabir bloğu.#
([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.

Uzunluk muhabir bloğu.#
([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.

“İçerir” Boolean bloğu.#
<[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.

Convert muhabir bloğu.#
([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:

  • metin
  • sayı

Örnek

başladığında
[Display the robot's heading as it turns.]
[sağ v] yönüne dön
sonsuza kadar
ekranı temizle
imleci ekranda satır [1] sütun [1] konumuna taşı
ekranda ([Currently facing: ] ve (([BrainInertial v] yönü derece cinsinden) değerini [metin v] türüne dönüştür) birleştir) yazdır ▶
[0.1] saniye bekle
son