สุ่ม#

การแนะนำ#

ไลบรารีมาตรฐานของ C++ มีฟังก์ชันสำหรับสร้างตัวเลขสุ่มเทียม ซึ่งสามารถนำมาใช้ใน VEXcode IQ สำหรับพฤติกรรมที่ต้องการความแปรปรวนหรือโอกาส

ฟังก์ชัน#

ไลบรารี <cstdlib> ประกอบด้วยฟังก์ชันต่อไปนี้:

  • rand — ส่งคืนจำนวนเต็มสุ่ม

  • srand — ตั้งค่า seed สุ่ม

rand#

ส่งคืนค่าจำนวนเต็มสุ่มระหว่าง 0 ถึง 2,147,483,647

Available Functions
int rand();

Parameters

ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ

Return Values

ส่งคืนค่าจำนวนเต็มสุ่มระหว่าง 0 ถึง 2,147,483,647

Notes
  • หากต้องการส่งคืนจำนวนเต็มสุ่มภายในขีดจำกัดที่กำหนด ให้ใช้รูปแบบ rand() % max

  • หากต้องการส่งคืนจำนวนเต็มสุ่มภายในช่วงที่กำหนด ให้ใช้รูปแบบ 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#

กำหนด seed ที่จะใช้โดยตัวสร้างเลขสุ่มเทียมในฟังก์ชัน rand

Available Functions
void srand( unsigned int seed );

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

seed

unsigned int

ค่าเริ่มต้นของเมล็ดพันธุ์

Return Values

ฟังก์ชันนี้ไม่ส่งค่ากลับ

Notes
  • เรียกฟังก์ชัน srand เพียงครั้งเดียว ในช่วงเริ่มต้นของโปรเจกต์ ก่อนที่จะเรียกฟังก์ชัน randคุณไม่จำเป็นต้องเรียกฟังก์ชันนี้ก่อนฟังก์ชัน rand ทุกครั้ง

  • หากไม่มีการเรียกใช้ srand โปรแกรมจะทำงานราวกับว่ามีการใช้ srand(1) ซึ่งหมายความว่า rand จะสร้างลำดับตัวเลขเดียวกันทุกครั้งที่โปรเจกต์ทำงาน

  • เพื่อให้ได้ผลลัพธ์ที่แตกต่างกันในแต่ละครั้งที่โปรเจกต์ทำงาน ให้กำหนดค่าเริ่มต้นที่เปลี่ยนแปลงระหว่างการทำงานแต่ละครั้ง เช่น ตัวจับเวลาของ Brain

  • เพื่อให้ได้ผลลัพธ์ที่เหมือนกันทุกครั้ง (มีประโยชน์สำหรับการทดสอบ) ให้กำหนดค่า seed เป็นตัวเลขคงที่ เช่น srand(1)

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