Zufallszahl: Unterschied zwischen den Versionen

aus ZUM-Wiki, dem Wiki für Lehr- und Lerninhalte auf ZUM.de
Wechseln zu: Navigation, Suche
K (Babel -> Kurzinfo)
(Eine einfache Methode, die eine Zufallszahl zurückgibt: java -> source using AWB)
Zeile 2: Zeile 2:
  
 
==Eine einfache Methode, die eine Zufallszahl zurückgibt==
 
==Eine einfache Methode, die eine Zufallszahl zurückgibt==
<java>
+
<source lang="java">
 
     // gibt eine Zufallszahl zwischen 1 und pMaximum zurück
 
     // gibt eine Zufallszahl zwischen 1 und pMaximum zurück
 
     public int gibZufallszahl(int pMaximum) {
 
     public int gibZufallszahl(int pMaximum) {

Version vom 25. November 2009, 22:24 Uhr

Vorlage:Kurzinfo-4

Eine einfache Methode, die eine Zufallszahl zurückgibt

    // gibt eine Zufallszahl zwischen 1 und pMaximum zurück
    public int gibZufallszahl(int pMaximum) {
        return  (int) ((Math.random()*pMaximum)+1);
    }
</java>
 
==Erläuterung==
{{Zitat|
Random kann zur Erzeugung von '''Pseudozufallszahlen''' benutzt werden. Die '''statische''' Funktion '''Math.random()''' macht z.B. direkt Gebrauch davon. Random erzeugt eine Pseudo-Zufallszahl, d.h. keine richtige Zufallszahl. Der Unterschied liegt darin, daß zwei Random-Instanzen, wenn sie direkt gleichzeitig gestartet werden, genau die gleichen Zufallszahlen erzeugen (was bei "echten" Zufallszahlen nicht der Fall wäre. Um dieses Manko abzuschalten gibt es eine abgeleitete Klasse '''SecureRandom''', die "echte" Zufallszahlen mit anderen numerischen Algorithmen erstellt als Random. Random benutzt einen 48-Bit großen Startwert ("seed") zur Erzeugung der Zufallszahlen. Die Zufallszahlen liegen immer im Bereich zwischen 0.0 und 1.0.
|http://de.wikibooks.org/wiki/Java_Standard:_Random}}
 
==Zufallszahl==
{{Zitat wpde|
Als Zufallszahl wird das Ergebnis von speziellen Zufallsexperimenten bezeichnet.
 
Zufallszahlen werden bei verschiedenen Methoden der Statistik benötigt, z. B. bei der Auswahl einer repräsentativen Stichprobe aus einer Grundgesamtheit, bei der Verteilung von Versuchstieren auf verschiedene Versuchsgruppen (Randomisierung), bei der Monte-Carlo-Simulation u. a.
 
Zur Erzeugung von Zufallszahlen gibt es verschiedene Verfahren. Diese werden als Zufallszahlengeneratoren bezeichnet. Ein entscheidendes Kriterium für Zufallszahlen ist, ob das Ergebnis der Generierung als unabhängig von früheren Ergebnissen angesehen werden kann oder nicht.
 
Echte Zufallszahlen werden mit Hilfe physikalischer Phänomene erzeugt: Münzwurf, Würfel, Roulette, Rauschen elektronischer Bauelemente, radioaktive Zerfallsprozesse oder quantenphysikalische Effekte. Diese Verfahren nennen sich physikalische Zufallszahlengeneratoren, sind jedoch zeitlich oder technisch recht aufwändig.
 
In der realen Anwendung genügt häufig eine Folge von Pseudozufallszahlen, das sind scheinbar zufällige Zahlen, die nach einem festen, reproduzierbaren Verfahren erzeugt werden. Sie sind also nicht zufällig, da sie sich vorhersagen lassen, haben aber ähnliche statistische Eigenschaften (gleichmäßige Häufigkeitsverteilung, geringe Korrelation) wie echte Zufallszahlenfolgen. Solche Verfahren nennt man Pseudozufallszahlengeneratoren.
|Zufallszahl|31.10.2006}}
 
{{Übung|
* Erläutern Sie den Unterschied zwischen eine Zufallszahl und einer Pseudozufallszahl.
* Erarbeiten Sie Kriterien für einen "geeignete" Zufallszahlgenerator und prüfen Sie, ob bei Java diese Kriterien erfüllt sind.
* Implementieren Sie einen Lottozahlengenerator. Achtung: Wie lösen Sie das Problem, dass eine gezogene Zahl nicht wieder vorkommen darf?
}}
 
==Weblinks==
* [http://www.dpunkt.de/java/Referenz/Das_Paket_java.util/45.html Referenz Klasse java.util.Random]
* [http://www-i2.informatik.rwth-aachen.de/lufgi2/programmierung/uebungsblaetter/Zufall.java Zufall.java]
* [http://www.ags.uni-sb.de/~melis/Vorlesung/applets/Kniffel.html Ein einfaches Kniffelspiel]
* {{wpde|Zufallszahlengenerator|Zufallszahlengenerator}}
* {{wpde|Pseudozufallszahl|Pseudozufallszahl}}
 
==Siehe auch==
* [[Java]]
 
[[Kategorie:Informatik]]
[[Kategorie:Java]]