Lexikon

Zufall

der Zufall, -fälle

Beim Programmieren kann man Funktionen verwenden, die Zufallszahlen generieren. Dies ist zum Beispiel nützlich, wenn du ein Spiel programmierst, bei dem es Zufall sein soll, ob der Gegner auf das eine oder andere Monster trifft.

Aber wie findet der Computer eigentlich eine Zufallszahl und kann man berechnen, welche Zahl kommt, so dass sie nicht mehr zufällig ist?

Normalerweise verwendet der Computer bei der Programmierung von Spielen sogenannte "Pseudo-Zufallszahlen". Das sind Zahlen, die wie Zufallszahlen aussehen, es aber nicht sind. Der Computer führt dazu einen bestimmten Algorithmus aus, der einige Zahlen in einer zufälligen Reihenfolge auswählt. Das Problem dabei ist, dass Hacker in der Lage sein werden, mit mathematischen Berechnungen herauszufinden, was die nächste Zufallszahl in der Reihe sein wird. Deshalb dürfen solche Pseudo-Zufallszahlen nicht in Umgebungen verwendet werden, in denen es auf Sicherheit ankommt.

Wo etwas wirklich sicher sein muss, verwendet man daher "echte" Zufallszahlen. Dazu nimmt man Eingaben oder Daten aus der realen Welt und nutzt diese als Teil des Zufalls. Ein Programm kann beispielsweise das Drücken einer Taste verlangen, um eine Zufallszahl zu generieren. Wenn du willst, dass dein Computer eine Zahl zwischen 1 und 10 findet, kann das Ergebnis möglicherweise von dem Zeitpunkt abhängen, an dem du zum ersten Mal mit der Maus klickst, in Verbindung mit dem Zeitpunkt, an dem du zum zweiten Mal mit der Maus klickst. Eine solche Zufallszahl ist die Zeitspanne, die zwischen beiden Mausklicks vergeht, zum Beispiel 0,234245 Sekunden. Der Computer kann anschließend letzte Dezimalstelle dieser Zahl verwenden, in unserem Fall die "5" – als eine Zufallszahl zwischen 1 und 10. In diesem Fall können Hacker nicht wissen, wie viel Zeit zwischen deinem ersten und zweiten Mausklick vergangen ist, und deshalb wird die Zahl zufällig.

Emne:
Software - Programmierung - MakeCode - Arduino
Synonymer:
Zufallszahl
Beispiele für den Gebrauch des Worts "Zufall"
  • Es war reiner Zufall.
  • Du musst eine Zufallszahl finden.
  • Man kann es nicht wissen, es war ein Zufall.
MakeCode
In diesem Programm wird eine Zufallszahl von 1 bis 10 generiert
Arduino
Hier wird jede Sekunde eine Zufallszahl zwischen 1 und 10 generiert.
int randNumber;

void setup() {
  Serial.begin(9600);
}

void loop() {
  randNumber = random(1, 11);
  Serial.println(randNumber);
  delay(1000);
}
 
Python
Im Programmcode gibt es die zwei Werte a und b und eine Zufallszahl von 1 bis 10.
import random

a=1
b=10
randomNumber = random.randint(a, b)
print(randomNumber)