Ngẫu nhiên#
Giới thiệu#
Thư viện chuẩn C++ cung cấp các hàm để tạo số giả ngẫu nhiên. Chúng có thể được sử dụng trong VEXcode IQ cho các hành vi yêu cầu tính biến thiên hoặc ngẫu nhiên.
Chức năng#
Thư viện <cstdlib> bao gồm các hàm sau:
rand#
Trả về một số nguyên ngẫu nhiên nằm giữa 0 và 2.147.483.647.
Available Functionsint rand();
Hàm này không chấp nhận bất kỳ tham số nào.
Return ValuesTrả về một số nguyên ngẫu nhiên nằm giữa 0 và 2.147.483.647.
NotesĐể trả về một số nguyên ngẫu nhiên trong một giới hạn nhất định, hãy sử dụng mẫu
rand() % max.Để trả về một số nguyên ngẫu nhiên trong một phạm vi cụ thể, hãy sử dụng mẫu
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#
Đặt hạt giống được sử dụng bởi bộ tạo số giả ngẫu nhiên trong hàm rand.
void srand( unsigned int seed );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Giá trị hạt giống ban đầu. |
Hàm này không trả về giá trị nào.
NotesChỉ gọi
srandmột lần duy nhất, gần đầu dự án của bạn, trước khi gọirandBạn không cần phải gọi nó trước mỗirand.Nếu
srandkhông bao giờ được gọi, chương trình sẽ hoạt động như thểsrand(1)đã được sử dụng. Điều này có nghĩa làrandtạo ra cùng một chuỗi số mỗi khi dự án chạy.Để có được kết quả khác nhau mỗi khi dự án chạy, hãy gieo hạt với một giá trị thay đổi giữa các lần chạy, chẳng hạn như Bộ hẹn giờ của Brain.
Để có được kết quả giống nhau mỗi lần (hữu ích cho việc thử nghiệm), hãy gieo hạt với một số cố định như
srand(1).
// Use the same seed for random number
srand(5);
Brain.Screen.print("%d", rand() % 100);