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.

  • srand — Mengatur seed acak.

rand#

Mengembalikan bilangan bulat acak antara 0 dan 2.147.483.647.

Available Functions
int rand();

Parameters

Fungsi ini tidak menerima parameter apa pun.

Return Values

Mengembalikan bilangan bulat acak antara 0 dan 32767.

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

Examples
// 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.

Available Functions
void srand( unsigned int seed );

Parameters

Parameter

Jenis

Keterangan

seed

unsigned int

Nilai awal benih.

Return Values

Fungsi ini tidak mengembalikan nilai.

Notes
  • Panggil srand hanya sekali, di dekat awal proyek Anda, sebelum memanggil randAnda tidak perlu memanggilnya sebelum setiap rand.

  • Jika srand tidak pernah dipanggil, program berperilaku seolah-olah srand(1) digunakan. Ini berarti rand menghasilkan 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).

Examples
// Use the same seed for random number
srand(5);
Brain.Screen.print("%d", rand() % 100);