Zufällig#
Einführung#
Die C+±Standardbibliothek stellt Funktionen zur Generierung von Pseudozufallszahlen bereit. Diese können in VEXcode IQ für Verhaltensweisen verwendet werden, die Variabilität oder Zufall erfordern.
Funktionen#
Die Bibliothek <cstdlib> enthält die folgenden Funktionen:
rand#
Gibt eine zufällige ganze Zahl zwischen 0 und 2.147.483.647 zurück.
Available Functionsint rand();
Diese Funktion akzeptiert keine Parameter.
Return ValuesGibt eine zufällige ganze Zahl zwischen 0 und 2.147.483.647 zurück.
NotesUm eine zufällige ganze Zahl innerhalb eines exklusiven Limits zurückzugeben, verwenden Sie das Muster
rand() % max.Um eine zufällige ganze Zahl innerhalb eines bestimmten Bereichs zurückzugeben, verwenden Sie das Muster
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#
Legt den Startwert fest, der vom Pseudozufallszahlengenerator in der Funktion rand verwendet werden soll.
void srand( unsigned int seed );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Der Startwert. |
Diese Funktion gibt keinen Wert zurück.
NotesRufen Sie
srandnur einmal, möglichst zu Beginn Ihres Projekts, auf, bevor Sierandaufrufen. Sie müssen es nicht vor jedemrandaufrufen.Wird
srandnie aufgerufen, verhält sich das Programm so, als obsrand(1)verwendet worden wäre. Das bedeutet, dassrandbei jeder Programmausführung dieselbe Zahlenfolge erzeugt.Um bei jedem Projektlauf unterschiedliche Ergebnisse zu erzielen, sollte ein Startwert verwendet werden, der sich zwischen den Läufen ändert, wie zum Beispiel der Brain’s Timer.
Um jedes Mal die gleichen Ergebnisse zu erhalten (nützlich zum Testen), sollte man mit einer festen Zahl wie
srand(1).
// Use the same seed for random number
srand(5);
Brain.Screen.print("%d", rand() % 100);