PMG2022/Felder und Zufallszahlen
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Javascript</language>
== Zufallszahlen ==
Mit den nachfolgenden Funktionen lassen sich beliebige Zufallszahlen ereugen:
Math.random() ... erzeugt eine (rationale) Zufallszahl $z$ im Intervall $0 \le z < 1$
Math.floor(z) ... rundet die Zahl $z$ auf die nächstniedrigere ganze Zahl ab
Experimentiere mit diesen Funktionen, so dass große ''ganze'' Zufallszahlen generiert werden.
<run id="60dcb992c63d5">
Math.floor(Math.random() * 10);
</run>
Nun wird das Werfen eines Würfels simuliert.
<code id="60dcb992c6332">
function wuerfelzahl() {
var w = Math.floor(Math.random() * 6 + 1);
return w;
}
</code>
<run id="60dcba5eaaba1">
wuerfelzahl();
</run>
Hier wird ganz oft gewürfelt
Was passiert genau?
<code id="60dcbb8649ec8">
function wuerfe() {
var w1 = 0, w2 = 0, z = 0;
do {
w2 = w1;
w1 = wuerfelzahl();
z++;
}
while (w1 != 6 || w2 != 6);
return z;
}
function wuerfeln(anz) {
var z = 0, mw = 0;
for (var i = 1; i <= anz; i++)
z = z + wuerfe();
mw = z / anz;
return mw;
}
</code>
<run id="60dcbb8649f58">
wuerfeln(10000);
</run>
== Zufallszahlen in Feldern==
Hier wird eine Anzahl Zufallszahlen ZZ aus einem Intervall "von" "bis" erzeugt.
<code id="60af9dd9355f3">
function erzeuge_Anzahl_ZZ(von, bis, anz) {
var feld = new Array();
for (var i = 0; i < anz; i++)
feld[i] = Math.floor(Math.random() * (bis - von + 1) + von);
return feld;
}
</code>
<run id="60af9dd9356ea">
erzeuge_Anzahl_ZZ(10,50,10);
</run>