Rastgele#
giriiş#
C++ Standart Kütüphanesi, sözde rastgele sayılar üretmek için işlevler sağlar. Bunlar, VEXcode IQ’da değişkenlik veya şans gerektiren davranışlar için kullanılabilir.
Fonksiyonlar#
<cstdlib> kütüphanesi aşağıdaki fonksiyonları içermektedir:
rand#
0 ile 2.147.483.647 arasında rastgele bir tamsayı döndürür.
Available Functionsint rand();
Bu fonksiyon herhangi bir parametre kabul etmez.
Return Values0 ile 2.147.483.647 arasında rastgele bir tamsayı döndürür.
NotesBelirli bir sınır dahilinde rastgele bir tamsayı döndürmek için
rand() % maxkalıbını kullanın.Belirli bir aralıkta rastgele bir tamsayı döndürmek için
rand() % (max - min + 1) + minkalıbını kullanın.
// 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 fonksiyonunda kullanılacak sözde rastgele sayı üretecisinin tohumunu ayarlar.
void srand( unsigned int seed );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Başlangıç tohum değeri. |
Bu fonksiyon bir değer döndürmez.
Notessrandyalnızca bir kez, projenizin başlangıcına yakın bir yerde,randçağırmadan önce çağırın. Herrandönce çağırmanıza gerek yoktur.Eğer
srandhiç çağrılmazsa, programsrand(1)kullanılmış gibi davranır. Bu,randproje her çalıştığında aynı sayı dizisini üreteceği anlamına gelir.Projenin her çalıştırılışında farklı sonuçlar elde etmek için, çalıştırmalar arasında değişen bir değerle başlangıç değeri belirleyin, örneğin Beynin zamanlayıcısı.
Her seferinde aynı sonuçları almak için (test için faydalı),
srand(1).
// Use the same seed for random number
srand(5);
Brain.Screen.print("%d", rand() % 100);