Kontrol#

Perkenalan#

Blok Kontrol di VEXcode VR mengelola alur proyek dengan menangani perulangan, kondisi, dan menunda eksekusi blok.

Sebuah loop terjadi ketika komputer mengulangi langkah atau kelompok langkah yang sama berulang kali hingga diperintahkan untuk berhenti. Sebuah kondisi adalah aturan yang diperiksa komputer untuk memutuskan apa yang harus dilakukan selanjutnya. Misalnya, robot dapat bergerak maju jika sensor mendeteksi suatu objek.

Berikut adalah daftar blok yang tersedia:

  • tunggu – Menghentikan sementara eksekusi blok untuk durasi tertentu.

  • tunggu sampai – Menghentikan sementara eksekusi blok hingga kondisi tertentu terpenuhi.

  • repeat – Mengulangi sekumpulan blok sebanyak jumlah tertentu.

  • selamanya – Mengulangi serangkaian blok tanpa batas.

  • ulangi sampai – Mengulangi serangkaian blok sampai suatu kondisi terpenuhi.

  • while – Mengulang serangkaian blok selama suatu kondisi tetap benar.

  • if – Menjalankan serangkaian blok jika suatu kondisi benar.

  • if / else – Menjalankan satu set blok jika suatu kondisi benar, jika tidak akan menjalankan set blok lainnya.

  • if / else if / else – Menjalankan serangkaian blok yang berbeda tergantung pada beberapa kondisi.

  • break – Keluar dari loop repeat, forever, repeat until, atau while secara langsung.

  • hentikan proyek – Mengakhiri proyek.

Tunggu#

Blok tumpukan tunggu menghentikan eksekusi blok untuk jangka waktu tertentu sebelum beralih ke blok berikutnya.

tunggu blok tumpukan#
tunggu (1) detik

Parameter

Keterangan

waktu

Jumlah waktu yang harus ditunggu, sebagai bilangan bulat positif atau desimal dalam detik.

Contoh

Saat dinyalakan, alat ini bergerak maju selama satu detik, lalu berhenti sepenuhnya.#
saat dimulai :: hat events
[Move forward for one second, then stop.]
kendarai [maju v]
tunggu (1) detik
hentikan mengemudi

tunggu sampai#

Blok tumpukan tunggu sampai menghentikan eksekusi blok hingga kondisi tertentu terpenuhi sebelum beralih ke blok berikutnya.

tunggu hingga blok tumpukan#
tunggu sampai <>

Parameter

Keterangan

kondisi

Syarat yang harus dipenuhi sebelum melanjutkan ke blok berikutnya.

Contoh

Saat dinyalakan, alat ini bergerak maju hingga layar ditekan, lalu berhenti bergerak sama sekali.#
saat dimulai :: hat events
[Move forward until a button is pressed, then stop.]
kendarai [maju v]
tunggu sampai <[LeftBumper v] ditekan?>
hentikan mengemudi

mengulang#

Blok C repeat menjalankan blok-blok di dalamnya sejumlah kali yang telah ditentukan.

ulangi blok c#
ulangi [10]
selesai

Parameter

Keterangan

waktu

Bilangan bulat yang menentukan berapa kali blok pengulangan dijalankan.

Contoh

saat dimulai :: hat events
[Move in a square path.]
ulangi [4]
kendarai [maju v] sejauh [150] [mm v] ▶
belok [kanan v] sejauh [90] derajat ▶
selesai

selamanya#

Blok C yang selamanya terus menjalankan blok-blok di dalamnya berulang kali tanpa henti.

blok c selamanya#
selamanya
selesai

Parameter

Keterangan

Blok ini tidak memiliki parameter.

Contoh

Saat dinyalakan, alat ini terus bergerak mengikuti jalur persegi dengan maju 50 mm dan berbelok ke kanan 90 derajat dalam lingkaran tak terbatas.#
saat dimulai :: hat events
[Move in a square path forever.]
selamanya
kendarai [maju v] sejauh [150] [mm v] ▶
belok [kanan v] sejauh [90] derajat ▶
selesai

ulangi sampai#

Blok C repeat until menjalankan blok-blok di dalamnya secara berulang selama kondisi yang ditentukan belum terpenuhi.

ulangi sampai blok#
ulangi sampai <>
selesai

Parameter

Keterangan

kondisi

Ekspresi atau variabel yang diperiksa sebelum setiap perulangan. Jika nilainya False, blok akan terus berulang. Jika nilainya True, perulangan akan berhenti.

Contoh

Saat dinyalakan, semua LED akan tetap berwarna merah hingga layar ditekan, lalu mematikannya.#
saat dimulai :: hat events
[Move the pen until the bumper is pressed.]
kendarai [maju v]
ulangi sampai <[LeftBumper v] ditekan?>
pindahkan pena [turun v]
tunggu (0.5) detik
pindahkan pena [naik v]
tunggu (0.5) detik
selesai
tunggu (0.5) detik
hentikan mengemudi

ketika#

Blok C while menjalankan blok di dalamnya berulang kali selama kondisi yang ditentukan terpenuhi.

sementara blok c#
selagi <>
selesai

Parameter

Keterangan

kondisi

Ekspresi atau variabel yang diperiksa sebelum setiap perulangan. Jika bernilai True, blok akan terus berulang. Jika bernilai False, perulangan akan berhenti.

Contoh

Saat dinyalakan, alat ini bergerak maju sejauh 200 mm sambil tetap menyalakan semua LED berwarna hijau. LED akan mati setelah pergerakan berhenti.#
saat dimulai :: hat events
[Display a message while moving.]
kendarai [maju v] sejauh [300] [mm v] ◀ dan jangan tunggu
selagi <kendarai bergerak?>
cetak [Moving...] ▶
tunggu (0.1) detik
bersihkan semua baris
selesai
cetak [Done!] ▶

jika#

Blok if C akan menjalankan blok-blok di dalamnya jika kondisinya Benar.

jika blok#
jika <> maka
selesai

Parameter

Keterangan

kondisi

Ekspresi atau variabel yang diperiksa saat pernyataan dijalankan. Jika bernilai True, blok di dalam blok if akan dijalankan. Jika bernilai False, blok tersebut akan dilewati.

Contoh

Saat dinyalakan, robot terus menerus memeriksa apakah layar ditekan. Jika ditekan, robot akan menendang suatu objek dengan kekuatan sedang.#
saat dimulai :: hat events
[Turn in a circle if the bumper is pressed.]
kendarai [maju v]
selamanya
jika <[LeftBumper v] ditekan?> maka
kendarai [mundur v] sejauh (200) [mm v] ▶
belok [kanan v] sejauh (360) derajat ▶
selesai
hentikan mengemudi
selesai

jika / lain#

Blok if / else dalam bahasa C menentukan rangkaian blok mana yang akan dijalankan berdasarkan apakah kondisinya Benar atau Salah.

jika maka blokir#
jika <> maka
lainnya
selesai

Parameter

Keterangan

kondisi

Ekspresi atau variabel yang diperiksa saat pernyataan dijalankan. Jika bernilai True, blok di dalam blok if akan dijalankan. Jika bernilai False, maka blok di dalam blok else akan dijalankan.

Contoh

Saat diaktifkan, aplikasi terus-menerus memeriksa apakah layar ditekan. Jika ditekan, akan menampilkan emoji gembira yang menghadap ke depan; jika tidak, akan menampilkan emoji bosan yang menghadap ke depan.#
saat dimulai :: hat events
[If bumper pressed, reverse and turn right.]
selamanya
jika <[LeftBumper v] ditekan?> maka
kendarai [mundur v] sejauh (100) [mm v] ▶
belok [kanan v] sejauh (90) derajat ▶
lainnya
kendarai [maju v]
selesai

jika / jika tidak / jika tidak#

Blok C yang dapat diperluas if / else if / else memilih rangkaian blok mana yang akan dijalankan berdasarkan kondisi:

  • if akan menjalankan blok kode ini jika kondisi tersebut bernilai True.

  • Else if memeriksa kondisi tambahan hanya jika semua kondisi sebelumnya bernilai False. Beberapa pernyataan else if dapat digunakan.

  • Blok kode else hanya akan dijalankan jika tidak ada kondisi sebelumnya yang bernilai True.

blok if else if else#
jika <> maka
lainnya jika <> maka
lainnya
selesai

Parameter

Keterangan

kondisi

Ekspresi atau variabel yang diperiksa saat pernyataan dijalankan. Kondisi pertama yang bernilai Benar akan menjalankan serangkaian blok tersebut. Jika semua kondisi bernilai Salah, blok di dalam blok else akan dijalankan.

Contoh

Saat posisi sumbu 1 pengontrol berubah, ia bergerak maju jika didorong ke depan, bergerak mundur jika ditarik ke belakang, dan berhenti saat berada di posisi netral.#
saat dimulai :: hat events
[Turn right if the an Eye Sensor detects red, left if it detects green, and continue driving if anything else.]
selamanya
jika <[FrontEye v] mendeteksi [merah v]?> maka
belok [kanan v] sejauh (90) derajat ▶
lainnya jika <[FrontEye v] mendeteksi [hijau v]?> maka
belok [kiri v] sejauh (90) derajat ▶
lainnya
kendarai [maju v]
selesai
selesai

merusak#

Blok tumpukan break keluar dari loop secara langsung. Blok ini dapat digunakan di dalam blok repeat, repeat until, while, dan forever. Break berguna ketika sebuah loop perlu berhenti lebih awal berdasarkan sesuatu yang terjadi selama proyek, seperti tombol ditekan atau sensor mendeteksi suatu objek.

blok tumpukan pecah#
hentikan

Parameter

Keterangan

Blok ini tidak memiliki parameter.

Contoh

Saat dinyalakan, LED akan berkedip merah dan hijau setiap 0,5 detik hingga layar ditekan, lalu berhenti.#
saat dimulai :: hat events
[Stop turning after a button is pressed.]
selamanya
kendarai [maju v]
jika <[LeftBumper v] ditekan?> maka
hentikan
selesai
selesai
hentikan mengemudi

hentikan proyek#

Blok tumpukan stop project mengakhiri proyek yang sedang berjalan.

hentikan blok proyek#
hentikan proyek

Parameter

Keterangan

Blok ini tidak memiliki parameter.

Contoh

Saat dinyalakan, LED akan berkedip merah dan hijau setiap 0,5 detik hingga layar ditekan, lalu menghentikan proyek.#
saat dimulai :: hat events
[Stop the project entirely after a button is pressed.]
selamanya
kendarai [maju v]
jika <[LeftBumper v] ditekan?> maka
hentikan proyek
selesai
selesai