عشوائي#
مقدمة#
توفر مكتبة C++ القياسية دوالًا لتوليد أرقام شبه عشوائية. ويمكن استخدام هذه الدوال في VEXcode EXP للسلوكيات التي تتطلب التباين أو الصدفة.
الوظائف#
تتضمن مكتبة <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#
يحدد البذرة التي سيتم استخدامها بواسطة مولد الأرقام العشوائية الزائفة في الدالة rand.
void srand( unsigned int seed );
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
قيمة البذرة الأولية. |
هذه الدالة لا تُرجع قيمة.
Notesاستدعِ الدالة
srandمرة واحدة فقط، قرب بداية مشروعك، قبل استدعاء الدالةrandلستَ بحاجة لاستدعائها قبل كل استدعاء للدالةrand.إذا لم يتم استدعاء الدالة
srandمطلقًا، فسيتصرف البرنامج كما لو تم استخدام الدالةsrand(1). وهذا يعني أن الدالةrandستنتج نفس تسلسل الأرقام في كل مرة يتم فيها تشغيل البرنامج.للحصول على نتائج مختلفة في كل مرة يتم فيها تشغيل المشروع، قم بتهيئة قيمة تتغير بين عمليات التشغيل، مثل مؤقت الدماغ.
للحصول على نفس النتائج في كل مرة (مفيد للاختبار)، قم بتهيئة المتغير برقم ثابت مثل
srand(1).
// Use the same seed for random number
srand(5);
Brain.Screen.print("%d", rand() % 100);