สุ่ม#
การแนะนำ#
ไลบรารีมาตรฐานของ C++ มีฟังก์ชันสำหรับสร้างตัวเลขสุ่มเทียม ซึ่งสามารถนำมาใช้ใน VEXcode V5 สำหรับพฤติกรรมที่ต้องการความแปรปรวนหรือโอกาส
ฟังก์ชัน#
ไลบรารี <cstdlib> ประกอบด้วยฟังก์ชันต่อไปนี้:
rand#
ส่งคืนค่าจำนวนเต็มสุ่มระหว่าง 0 ถึง 2,147,483,647
Available Functionsint rand();
ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ
Return Valuesส่งคืนค่าจำนวนเต็มสุ่มระหว่าง 0 ถึง 32767
Notesหากต้องการส่งคืนจำนวนเต็มสุ่มภายในขีดจำกัดที่กำหนด ให้ใช้รูปแบบ
rand() % maxหากต้องการส่งคืนจำนวนเต็มสุ่มภายในช่วงที่กำหนด ให้ใช้รูปแบบ
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#
กำหนด seed ที่จะใช้โดยตัวสร้างเลขสุ่มเทียมในฟังก์ชัน rand
void srand( unsigned int seed );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
ค่าเริ่มต้นของเมล็ดพันธุ์ |
ฟังก์ชันนี้ไม่ส่งค่ากลับ
Notesเรียกฟังก์ชัน
srandเพียงครั้งเดียว ในช่วงเริ่มต้นของโปรเจกต์ ก่อนที่จะเรียกฟังก์ชันrandคุณไม่จำเป็นต้องเรียกฟังก์ชันนี้ก่อนฟังก์ชันrandทุกครั้งหากไม่มีการเรียกใช้
srandโปรแกรมจะทำงานราวกับว่ามีการใช้srand(1)ซึ่งหมายความว่าrandจะสร้างลำดับตัวเลขเดียวกันทุกครั้งที่โปรเจกต์ทำงานเพื่อให้ได้ผลลัพธ์ที่แตกต่างกันในแต่ละครั้งที่โปรเจกต์ทำงาน ให้กำหนดค่าเริ่มต้นที่เปลี่ยนแปลงระหว่างการทำงานแต่ละครั้ง เช่น ตัวจับเวลาของ Brain
เพื่อให้ได้ผลลัพธ์ที่เหมือนกันทุกครั้ง (มีประโยชน์สำหรับการทดสอบ) ให้กำหนดค่า seed เป็นตัวเลขคงที่ เช่น
srand(1)
// Use the same seed for random number
srand(5);
Brain.Screen.print("%d", rand() % 100);