Kontrol#

giriiş#

VEXcode’daki kontrol blokları, döngüleri, koşulları yöneterek ve blokların çalışmasını geciktirerek bir projenin akışını kontrol eder.

Bir döngü, bilgisayarın durdurulması söylenene kadar aynı adımı veya adımlar grubunu tekrar tekrar yapmasıdır. Bir koşul ise bilgisayarın bir sonraki adımda ne yapacağına karar vermek için kontrol ettiği bir kuraldır. Örneğin, kol bir nesneyi hareket ettiriyorsa ışık yanabilir.

Aşağıda mevcut blokların listesi bulunmaktadır:

  • bekle – Blokların belirli bir süre boyunca çalışmasını durdurur.

  • bekle – Belirtilen koşul sağlanana kadar blokların çalışmasını durdurur.

  • tekrarla – Bir blok kümesini belirli sayıda tekrarlar.

  • sonsuza dek – Bir dizi bloğu süresiz olarak tekrarlar.

  • tekrarla – Bir koşul sağlanana kadar bir dizi bloğu tekrarlar.

  • while – Bir koşul doğru kaldığı sürece bir dizi bloğu tekrarlar.

  • if – Bir koşul doğruysa bir dizi bloğu çalıştırır.

  • if / else – Bir koşul doğruysa bir blok kümesini çalıştırır, aksi takdirde başka bir blok kümesini çalıştırır.

  • if / else if / else – Birden fazla koşula bağlı olarak farklı blok kümelerini çalıştırır.

  • break – repeat, forever, repeat until veya while döngüsünden hemen çıkar.

  • projeyi durdur – Projeyi sonlandırır.

Beklemek#

Bekleme yığın bloğu, bir sonraki bloğa geçmeden önce belirli bir süre boyunca blokların çalışmasını durdurur.

bekleme yığını bloğu#
(1) saniye bekle

Parametreler

Tanım

zaman

Bekleme süresi, pozitif bir tam sayı veya saniye cinsinden ondalık sayı olarak.

Örnek

Başlatıldığında bir saniye boyunca ileri doğru hareket eder, ardından tüm hareketini durdurur.#
başladığında
[Move to the left, then the right after one second.]
[kol v] kolunun konumunu x:[100] y:[0] z:[0] [mm v] kadar artır ▶
(1) saniye bekle
[kol v] kolunun konumunu x:[-100] y:[0] z:[0] [mm v] kadar artır ▶

bekle#

Bekle yığın bloğu, bir sonraki bloğa geçmeden önce belirtilen bir koşul karşılanana kadar blokların çalışmasını durdurur.

yığın bloğuna kadar bekleyin#
<> olana kadar bekle

Parametreler

Tanım

durum

Bir sonraki aşamaya geçmeden önce yerine getirilmesi gereken koşul.

tekrarlamak#

repeat C bloğu, içindeki blokları belirli sayıda tekrar çalıştırır.

c bloğunu tekrarla#
[10] kez tekrarla
son

Parametreler

Tanım

kez

Tekrar bloğunun kaç kez çalışacağını belirleyen tam sayı.

Örnek

başladığında
[Move in a square pattern.]
[4] kez tekrarla
[kol v] kolunun konumunu x:[2] y:[0] z:[0] [inç v] kadar artır ▶
[kol v] kolunun konumunu x:[0] y:[2] z:[0] [inç v] kadar artır ▶
[kol v] kolunun konumunu x:[-2] y:[0] z:[0] [inç v] kadar artır ▶
[kol v] kolunun konumunu x:[0] y:[2] z:[0] [inç v] kadar artır ▶
son

sonsuza kadar#

Sonsuza dek çalışan C bloğu, içindeki blokları durmadan tekrar tekrar çalıştırmaya devam eder.

sonsuza dek c bloğu#
sonsuza kadar
son

Parametreler

Tanım

Bu bloğun parametresi yok.

Örnek

Başlatıldığında, sonsuz bir döngü içinde 50 mm ileri gidip 90 derece sağa dönerek sürekli olarak kare bir yörünge üzerinde hareket eder.#
başladığında
[Move in a square path forever.]
sonsuza kadar
[kol v] kolunun konumunu x:[2] y:[0] z:[0] [inç v] kadar artır ▶
[kol v] kolunun konumunu x:[0] y:[2] z:[0] [inç v] kadar artır ▶
[kol v] kolunun konumunu x:[-2] y:[0] z:[0] [inç v] kadar artır ▶
[kol v] kolunun konumunu x:[0] y:[2] z:[0] [inç v] kadar artır ▶
son

tekrarla#

Tekrarla C bloğu, belirtilen koşul sağlanana kadar içindeki blokları tekrar tekrar çalıştırır.

Blok oluşana kadar tekrarla#
<> olana kadar tekrarla
son

Parametreler

Tanım

durum

Her döngüden önce kontrol edilen bir ifade veya değişken. Eğer False ise, bloklar tekrarlamaya devam eder. Eğer True ise, döngü durur.

Örnek

Başlatıldığında, ekrana basılana kadar tüm LED’ler kırmızı yanar, ardından kapatılır.#
başladığında
[Increment along the x-axis until it's no longer possible.]
<<[kol v] konumu x:[100] y:[0] z:[0] [mm v] artırılabilir mi?> değil> olana kadar tekrarla
[kol v] kolunun konumunu x:[100] y:[0] z:[0] [mm v] kadar artır ▶
son
[kol v] kolunu kontrol durdurma moduna al

sırasında#

while C bloğu, belirtilen koşul sağlandığı sürece içindeki blokları tekrar tekrar çalıştırır.

c bloğu#
<> iken
son

Parametreler

Tanım

durum

Her döngüden önce kontrol edilen bir ifade veya değişken. Eğer Doğru ise, bloklar tekrarlamaya devam eder. Eğer Yanlış ise, döngü durur.

Örnek

Bir dizi blok, “başlatıldığında” bloğuyla başlar, ardından “2 saniye geçtikten sonra zamanı göster” yazan bir yorum bloğu gelir. Bir “bekle” bloğu, zamanlayıcı iki saniyeye ulaşana veya bu süreyi geçene kadar yürütmeyi duraklatır. Bu koşul sağlandığında, bir “yazdır” bloğu zamanlayıcı değerini ekranda görüntüler.#
başladığında
[Display the 6-Axis Arm's position as it moves.]
[kol v] kolunu x:(-100) y:(200) z:(100) [mm v] konumuna taşı ◀ ve bekleme
<<[kol v] hareketi tamamladı mı?> değil> iken
konsolda ([kol v] konumu [y v] [mm v] cinsinden) yazdır ◀ ve imleci sonraki satıra taşı
[0.25] saniye bekle

eğer#

if C bloğu, koşul doğru ise içindeki blokları çalıştırır.

eğer blok#
eğer <> ise
son

Parametreler

Tanım

durum

İfade çalıştırıldığında kontrol edilen bir ifade veya değişken. Eğer Doğru ise, if bloğunun içindeki bloklar çalıştırılır. Eğer Yanlış ise, bloklar atlanır.

Ö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
[The 6-Axis Arm can't move to this position.] yazdır ◀ ve imleci sonraki satıra taşı

eğer / aksi takdirde#

C dilindeki if/else bloğu, koşulun Doğru veya Yanlış olmasına bağlı olarak hangi blok kümesinin çalışacağını belirler.

eğer o zaman aksi halde blok#
eğer <> ise
değilse
son

Parametreler

Tanım

durum

İfade çalıştırıldığında kontrol edilen bir ifade veya değişken. Eğer True ise, if bloğunun içindeki kod blokları çalıştırılır. Eğer False ise, else bloğunun içindeki kod blokları çalıştırılır.

Örnek

başladığında
[Check if the 6-Axis Arm can or can't move to a position.]
eğer <<[kol v] kolu x:[100] y:[100] z:[100] [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şı
değilse
konsolda [The 6-Axis Arm can move to this position.] yazdır ◀ ve imleci sonraki satıra taşı

eğer / aksi takdirde eğer / aksi takdirde#

if / else if / else genişletilebilir C bloğu, koşullara bağlı olarak hangi blok kümesinin çalışacağını seçer:

  • if koşulu doğru (True) olarak değerlendirilirse kod bloğunu çalıştırır.

  • else if ifadesi, yalnızca önceki tüm koşullar Yanlış olarak değerlendirilirse ek koşulları kontrol eder. Birden fazla else if ifadesi kullanılabilir.

  • else ifadesi, önceki koşullardan hiçbiri Doğru olarak değerlendirilmediği takdirde kod bloğunu çalıştırır.

eğer aksi takdirde eğer aksi takdirde blok#
eğer <> ise
değilse eğer <> ise
değilse
son

Parametreler

Tanım

durum

İfade çalıştırıldığında kontrol edilen bir ifade veya değişken. Doğru olan ilk koşul, o blok kümesini çalıştırır. Tüm koşullar Yanlış olarak değerlendirilirse, else bloğunun içindeki bloklar çalıştırılır.

Örnek

başladığında
[Move until the 6-Axis Arm is at the corner of the tile.]
eğer <[kol v] konumu x:[50] y:[0] z:[0] [mm v] artırılabilir mi?> ise
[kol v] kolunun konumunu x:[50] y:[0] z:[0] [mm v] kadar artır ▶
değilse eğer <[kol v] konumu x:[0] y:[50] z:[0] [mm v] artırılabilir mi?> ise
[kol v] kolunun konumunu x:[0] y:[50] z:[0] [mm v] kadar artır ▶
değilse
konsolda [The 6-Axis Arm has reached the corner.] yazdır ◀ ve imleci sonraki satıra taşı

kırmak#

Break yığın bloğu, bir döngüyü hemen sonlandırır. Bu blok, repeat, repeat until, while ve forever bloklarının içinde kullanılabilir. Break, bir döngünün proje sırasında meydana gelen bir olaya (örneğin bir düğmeye basılması veya bir sensörün bir nesneyi algılaması gibi) bağlı olarak erken durdurulması gerektiğinde kullanışlıdır.

yığın bloğunu kır#
dur

Parametreler

Tanım

Bu bloğun parametresi yok.

projeyi durdur#

Projeyi durdur yığın bloğu, çalışan bir projeyi sonlandırır.

projeyi durdur blok#
projeyi durdur

Parametreler

Tanım

Bu bloğun parametresi yok.