Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Das sind doch dodal unterschiedliche funktionen oder?
RandomRange kenn ich net. Is in D5 wohl net enthalten. Aber RandomSeed gibt doch den Wert vor mit dem der Zufallsgenerator initialisiert werden soll oder? Was hat denn das mit RandomRange zu tun) (Was wohl wahrscheinlich die Ergebnismenge abgrenzt, wie das normale Delphirandom es eh macht)
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: Do Dez 30, 2004 14:49 Beiträge: 71 Wohnort: STADT Kirchen
RandSeed gibt normalerweise die kleinste mögliche Zufallszahl an. Wenn ich z.B. RandSeed:= 23; mache, dann ist jede Zufallsezahl > 23.
Genau das gleiche macht RandomRange. Nur das man da RandSeed einfach als Parameter übergibt.
_________________ Rock is a message.
Hear the message an you will rock!
Registriert: Sa Nov 13, 2004 11:00 Beiträge: 229 Wohnort: Steinhude
Zitat:
RandSeed gibt normalerweise die kleinste mögliche Zufallszahl an. Wenn ich z.B. RandSeed:= 23; mache, dann ist jede Zufallsezahl > 23.
Das wär mir jetzt echt neu.
Ansich gibt randseed die initialisierungsvariable für den Zufallsgenerator (also für den nächsten randomaufruf), was nichts mit dem minimalwert zu tun haben sollte.
Randomize macht nichts anderes als randseed entsprechend der systemzeit zu setzen.
Registriert: Fr Mai 14, 2004 18:56 Beiträge: 804 Wohnort: GER/OBB/TÖL-WOR/Greiling
richtig. randseed initialisiert den zufallszahlengenerator.
aus der zahl, die randseed übergeben wurde, berechnet der zufallszahlengenerator mit einem komplizierten algorithmus(inklusive multiplikationen und bitverschiebungen) die zufallszahl. wenn du also in einem programm randseed auf eine literale(immer gleiche, z.b. randseed:=23) Zahl setzt, wird er immer die gleiche reihe von zufallszahlen ausgeben. deshalb wird meistens durch randomise; die systemzeit als randssed gesetzt, was bei jedem programmstart eine andere reihe generiert. manchmal werden auch die zeitabstände zwischen benutzereingaben als randseed(btw: random seed = engl. in etwa zufallssamen) benutzt.
Es gibt aber inzwischen auch TRNG(True Random Number Generator)s, die die (chaotische, also nicht vorhersagbare) Hitzeverteilung innerhalb der CPU messen und daraus einen RandSeed machen bzw. eine Zufallszahl daraus erstellen.
die delphi-funktion
random([range:integer])
liefert dir -zuvor muss der generator initialisiert sein- eine zufallszahl zwischen 0 und range, oder, wenn range nicht angegeben wird, zwischen 0 und 1.
ich benutze diese funktion meistens und multipliziere dann, wenn ich einen größeren zahlenbereich brauche.
Registriert: Do Dez 30, 2004 14:49 Beiträge: 71 Wohnort: STADT Kirchen
Dann hab ich ads ja schon immer falsch gemacht Egal. Aber was ich meinte, war der Delphi Befehl RandomRange(Minimalwert, Maximalwert); nicht etwa Random(Range); oder ich habe deine Aussage gerade missverstanden. Aber dann könnte ich ja eigentlich die Funktion selbst schreiben:
Code:
FunctionRandomRange(Min,Max:Integer);
Begin
Randomize;// Oder soll ich das besser weglassen?
Result:=Random(Max-Min)+Min;
End;
Aber es wundert mich echt, dass diese Funktion nicht beim FPC gibt. Ich finde die nämlich überaus praktisch
_________________ Rock is a message.
Hear the message an you will rock!
Registriert: Do Dez 30, 2004 14:49 Beiträge: 71 Wohnort: STADT Kirchen
ALTER!!! Es ist unglaublich! Ausprobiert und direkt funktioniert!!! Das ist ne Sensation!
Vielen Dank! Ich steige jetzt komplett auf FPC um. Adieu Delphi. Wieso auf die Lizenz von der Firma Programme schreiben, wenn ich alles umsonst haben kann? Muahahahahaha!! (Okay, jetzt sollte ich mich vielleicht mal wieder beruhigen)
_________________ Rock is a message.
Hear the message an you will rock!
Mitglieder in diesem Forum: 0 Mitglieder und 13 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.