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 zurück.

  • srand — Legt den Zufallsgenerator fest.

rand#

Gibt eine zufällige ganze Zahl zwischen 0 und 2.147.483.647 zurück.

Available Functions
int rand();

Parameters

Diese Funktion akzeptiert keine Parameter.

Return Values

Gibt eine zufällige ganze Zahl zwischen 0 und 2.147.483.647 zurück.

Notes
  • Um 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.

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#

Legt den Startwert fest, der vom Pseudozufallszahlengenerator in der Funktion rand verwendet werden soll.

Available Functions
void srand( unsigned int seed );

Parameters

Parameter

Typ

Beschreibung

seed

unsigned int

Der Startwert.

Return Values

Diese Funktion gibt keinen Wert zurück.

Notes
  • Rufen Sie srand nur einmal, möglichst zu Beginn Ihres Projekts, auf, bevor Sie randaufrufen. Sie müssen es nicht vor jedem rand aufrufen.

  • Wird srand nie aufgerufen, verhält sich das Programm so, als ob srand(1) verwendet worden wäre. Das bedeutet, dass rand bei 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).

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