Acak#
Perkenalan#
Pustaka Standar C++ menyediakan fungsi untuk menghasilkan angka pseudo-acak. Fungsi-fungsi ini dapat digunakan di VEXcode EXP untuk perilaku yang membutuhkan variabilitas atau peluang.
Fungsi#
Pustaka <cstdlib> mencakup fungsi-fungsi berikut:
rand#
Mengembalikan bilangan bulat acak antara 0 dan 2.147.483.647.
Available Functionsint rand();
Fungsi ini tidak menerima parameter apa pun.
Return ValuesMengembalikan bilangan bulat acak antara 0 dan 32767.
NotesUntuk mengembalikan bilangan bulat acak dalam batas eksklusif, gunakan pola
rand() % max.Untuk mengembalikan bilangan bulat acak dalam rentang tertentu, gunakan pola
rand() % (max - min + 1) + min.
// Display a random number
Brain.Screen.print("%d", rand());
// Display a random number between 0 and 100
Brain.Screen.print("%d", rand() % 101);
// Display a random number between 5 and 10
Brain.Screen.print("%d", rand() % (10 - 5 + 1) + 5);
srand#
Menetapkan seed yang akan digunakan oleh generator angka pseudo-acak di fungsi rand.
void srand( unsigned int seed );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Nilai awal benih. |
Fungsi ini tidak mengembalikan nilai.
NotesPanggil
srandhanya sekali, di dekat awal proyek Anda, sebelum memanggilrandAnda tidak perlu memanggilnya sebelum setiaprand.Jika
srandtidak pernah dipanggil, program berperilaku seolah-olahsrand(1)digunakan. Ini berartirandmenghasilkan urutan angka yang sama setiap kali proyek dijalankan.Untuk mendapatkan hasil yang berbeda setiap kali proyek dijalankan, berikan nilai awal yang berubah antar eksekusi, seperti pengatur waktu Otak.
Untuk mendapatkan hasil yang sama setiap kali (berguna untuk pengujian), beri nilai awal dengan angka tetap seperti
srand(1).
// Use the same seed for random number
srand(5);
Brain.Screen.print("%d", rand() % 100);