Operator#
Perkenalan#
Blok Operator di VEXcode IQ (generasi ke-2) membantu robot bekerja dengan angka dan kata. Blok-blok ini dapat menyelesaikan soal matematika, membandingkan nilai, mengevaluasi apakah kondisi benar atau salah, dan bekerja dengan string. String dapat digunakan untuk mencetak nilai dan kata.
Berikut adalah daftar blok yang tersedia:
operator matematika – Melakukan penjumlahan, pengurangan, perkalian, atau pembagian.
operator perbandingan – Membandingkan dua nilai menggunakan operator lebih besar dari, kurang dari, atau sama dengan.
operator logika – Mengevaluasi beberapa kondisi menggunakan dan atau atau.
operator not – Membalikkan nilai Boolean.
operator rentang – Memeriksa apakah suatu angka berada dalam suatu rentang.
pilih acak – Menghasilkan angka acak dalam rentang yang ditentukan.
angka pembulatan – Membulatkan angka ke bilangan bulat terdekat.
fungsi matematika – Menerapkan operasi seperti akar kuadrat, trigonometri, logaritma, dan eksponensiasi.
atan2 – Menghitung invers tangen dari y/x.
sisa – Melaporkan sisa dari operasi pembagian.
join – Menggabungkan dua string menjadi satu.
huruf – Mengekstrak karakter dari string berdasarkan posisinya.
length – Melaporkan jumlah karakter dalam sebuah string.
contains – Memeriksa apakah sebuah string menyertakan kata atau karakter tertentu.
konversi – Mengonversi angka menjadi teks, bilangan bulat, atau desimal.
operator matematika#
Blok pelapor operator matematika melakukan operasi matematika dasar pada nilai yang ditempatkan di kedua sisi operator. Blok ini mengembalikan hasil berdasarkan presisi cetak proyek, yang secara default adalah 0 tempat desimal tetapi dapat disesuaikan menggunakan blok atur presisi cetak di layar atau atur presisi cetak di konsol.
([0] [math_plus v] [0])
Parameter |
Keterangan |
|---|---|
nilai 1 |
Angka pertama yang digunakan dalam operasi tersebut. |
operator |
Operator matematika yang digunakan:
|
nilai 2 |
Angka kedua yang digunakan dalam operasi tersebut. |
Contoh
saat dimulai
[Perform basic addition and show two decimal places.]
atur presisi cetak ke [0.01 v] di layar
cetak ([10] [math_plus v] [10.5]) di layar ▶
operator perbandingan#
Blok Boolean operator perbandingan melaporkan apakah perbandingan antara dua nilai adalah Benar atau Salah.
Benar – Perbandingan tersebut tepat (misalnya, 5 > 3 menghasilkan Benar).
Salah – Perbandingan tersebut tidak tepat (misalnya, 2 ≥ 5 menghasilkan Salah).
<[0] [math_equal v] [0]>
Parameter |
Keterangan |
|---|---|
nilai 1 |
Nilai pertama yang akan dibandingkan. |
operator |
Perbandingan yang digunakan:
|
nilai 2 |
Nilai kedua yang akan dibandingkan. |
Contoh
saat dimulai
[Turn right until the heading reaches 90 degrees.]
belok [kanan v]
tunggu [0.5] detik
tunggu sampai <(arah kendarai dalam derajat) [math_greater_than v] [90]>
hentikan mengemudi
operator logika#
Blok Boolean operator logika melaporkan apakah kondisi logika antara beberapa nilai adalah Benar atau Salah.
Benar – Kondisi logika terpenuhi.
Salah – Kondisi logika tidak terpenuhi.
<<> [dan v] <>>
Parameter |
Keterangan |
|---|---|
kondisi 1 |
Kondisi Boolean pertama yang akan dievaluasi. |
operator |
Operator logika yang digunakan: and melaporkan True jika kedua kondisi benar. or melaporkan True jika setidaknya satu kondisi benar. |
kondisi 2 |
Kondisi Boolean kedua yang akan dievaluasi. |
Contoh
saat dimulai
[Display if the ◀ and ▶ buttons are pressed.]
selamanya
bersihkan layar
atur kursor ke baris [1] kolom [1] di layar
jika <<tombol [◀ v] Brain ditekan?> [dan v] <tombol [▶ v] Brain ditekan?>> maka
cetak [Buttons pressed!] di layar ▶
selesai
selesai
bukan operator#
Blok Boolean operator not membalikkan hasil dari blok Boolean. Jika inputnya True, maka akan dilaporkan False, dan jika inputnya False, maka akan dilaporkan True.
Benar – Kondisi input biasanya akan melaporkan Salah.
Salah – Kondisi input biasanya akan melaporkan Benar.
<bukan <>>
Parameter |
Keterangan |
|---|---|
kondisi |
Kondisi Boolean yang akan dibalik. |
Contoh
saat dimulai
[Turn until the robot is facing left. ]
selamanya
jika <bukan <(arah kendarai dalam derajat) [math_greater_than v] [270]>> maka
belok [kanan v]
lainnya
hentikan mengemudi
operator lapangan#
Blok Boolean operator rentang melaporkan apakah suatu nilai berada dalam rentang yang ditentukan.
Benar – Jika nilainya berada dalam rentang yang ditentukan.
Salah – Jika nilainya berada di luar rentang.
<[0] [math_less_than v] [0] [math_less_than v] [0]>
Parameter |
Keterangan |
|---|---|
operator pertama |
Operator perbandingan yang digunakan:
|
nilai |
Nilai yang perlu diperiksa. |
operator kedua |
Operator perbandingan yang digunakan:
|
Contoh
saat dimulai
[Turn and display when facing forward or back. ]
belok [kanan v] sejauh [360] derajat ◀ dan jangan tunggu
selamanya
bersihkan layar
atur kursor ke baris [1] kolom [1] di layar
jika <[270] [math_greater_than v] (arah kendarai dalam derajat) [math_greater_than v] [90]> maka
cetak [Facing backward!] di layar ▶
lainnya
cetak [Facing forward!] di layar ▶
pilih secara acak#
Blok pelapor pilih acak melaporkan angka positif atau negatif acak antara nilai minimum dan maksimum. Blok ini dapat mengembalikan nilai minimum dan nilai maksimum. Misalnya, memilih 1 hingga 10 dapat mengembalikan bilangan bulat apa pun dari 1 hingga 10.
pilih acak [1] hingga [10]
Parameter |
Keterangan |
|---|---|
menit |
Angka terendah yang mungkin dapat dipilih. |
maksimal |
Angka tertinggi yang mungkin dapat dipilih. |
Contoh
saat dimulai
[Display a number between 1 and 10.]
cetak (pilih acak [1] hingga [10]) ▶
angka bulat#
Blok pelapor angka bulat melaporkan angka yang diberikan dibulatkan ke bilangan bulat terdekat, mengikuti aturan pembulatan standar:
Jika angka desimalnya 0,5 atau lebih besar, angka tersebut dibulatkan ke atas.
Jika angka desimal kurang dari 0,5, angka tersebut dibulatkan ke bawah.
(bulatkan [0] ke [0] tempat desimal)
Parameter |
Keterangan |
|---|---|
nomor |
Angka yang akan dibulatkan. |
tempat desimal |
Jumlah angka desimal yang akan dibulatkan. |
Contoh
saat dimulai
[Display the rounded result of 10 / 3.]
atur presisi cetak ke [0.01 v] di layar
cetak (bulatkan ([10] [math_division v] [3]) ke [1] tempat desimal) di layar ▶
fungsi matematika#
Blok pelapor fungsi matematika menerapkan fungsi matematika yang dipilih ke angka yang diberikan dan mengembalikan hasilnya. Blok ini mendukung operasi seperti nilai absolut, pembulatan, akar kuadrat, fungsi trigonometri, logaritma, dan perpangkatan.
[abs v] dari [0]
Parameter |
Keterangan |
|---|---|
fungsi |
Operasi matematika yang diterapkan pada nilai input:
|
nomor |
Angka yang akan diterapkan fungsi tersebut. |
Contoh
saat dimulai
[Display the square root of 16.]
cetak ([sqrt v] dari [16]) di layar ▶
atan2#
Blok pelapor atan2 melaporkan invers tangen dari Y/X sebagai sudut dalam derajat, yang mewakili sudut antara sumbu X positif dan titik (X, Y).
(atan2 dari x:[4] y:[3])
Parameter |
Keterangan |
|---|---|
X |
Posisi horizontal titik tersebut, diukur dari titik asal (0,0). |
y |
Posisi vertikal titik tersebut, diukur dari titik asal (0,0). |
Contoh
saat dimulai
[Calculate the angle from current position (4, 3).]
cetak (atan2 dari x:[4] y:[3]) di layar ▶
sisa#
Blok pelapor sisa melaporkan sisa dari operasi pembagian antara dua nilai.
(sisa dari [0] / [0])
Parameter |
Keterangan |
|---|---|
dividen |
Angka yang akan dibagi. |
pembagi |
Angka yang akan dibagi. |
Contoh
saat dimulai
[Display the remainder of 10 / 3.]
cetak (sisa dari [10] / [3]) di layar ▶
bergabung#
Blok pelapor join melaporkan sebuah string tunggal yang menggabungkan dua string input.
(gabung [apple] [banana])
parameter |
keterangan |
|---|---|
tali 1 |
String pertama yang akan digabungkan. |
tali 2 |
String kedua yang akan digabungkan. |
saat dimulai
[Display "VEXcode" on the screen.]
cetak (gabung [VEX] [code]) di layar ▶
surat#
Blok pelapor huruf melaporkan string karakter tunggal dari posisi yang ditentukan dalam string yang diberikan.
(huruf [1] dari [apple])
parameter |
keterangan |
|---|---|
posisi |
Posisi karakter dalam string (dimulai dari 1). |
rangkaian |
String yang akan diekstrak hurufnya. |
saat dimulai
[Display the first letter of "Robot".]
cetak (huruf (1) dari [Robot]) di layar ▶
panjang#
Blok pelapor panjang melaporkan jumlah karakter dalam string yang ditentukan, termasuk spasi.
(panjang dari [apple])
parameter |
keterangan |
|---|---|
rangkaian |
Tali yang digunakan untuk mengukur panjangnya. |
Contoh
saat dimulai
[Count the number of characters in "VEX Robotics".]
cetak (panjang dari [VEX Robotics]) di layar ▶
berisi#
Blok Boolean contains melaporkan apakah string yang ditentukan menyertakan kata atau karakter yang diberikan.
Benar – String tersebut mencakup kata atau karakter spesifik tersebut.
Salah – String tersebut tidak menyertakan kata atau karakter spesifik itu.
<[apple] mengandung [a]?>
parameter |
keterangan |
|---|---|
rangkaian |
String utama yang akan dicari. |
istilah pencarian |
Kata atau karakter yang akan diperiksa di dalam string. |
Contoh
saat dimulai
[Check if "robotics" contains "bot".]
jika <[robotics] mengandung [bot]?> maka
cetak [The word contains "bot".] di layar ▶
lainnya
cetak [Not found.] di layar ▶
selesai
mengubah#
Blok pelapor konversi melaporkan nilai angka yang dikonversi ke tipe yang ditentukan, baik sebagai teks maupun angka.
teks – Mengubah angka menjadi string. Angka harus dalam format string agar dapat berfungsi dengan blok Operator String.
number – Mengubah angka menjadi nilai desimal.
(ubah [0] ke [teks v])
parameter |
keterangan |
|---|---|
nilai |
Angka yang akan dikonversi. |
jenis |
Tipe data untuk mengkonversi angka:
|
Contoh
saat dimulai
[Display the robot's heading as it turns.]
belok [kanan v]
selamanya
bersihkan layar
atur kursor ke baris [1] kolom [1] di layar
cetak (gabung [Currently facing: ] (ubah (arah [BrainInertial v] dalam derajat) ke [teks v])) di layar ▶
tunggu [0.1] detik
selesai