![]() |
Randomize mehrmals starten
Hi,
endlich mal ein Thema, das es laut Suche noch nicht in der DP gab. Unser Infolehrer hat behauptet, dass es nicht gut sei, mehrmals Randomize; zu schreiben. Wie sieht es aus? Stimmmt das? Ich denke das is dem PC egal. ^^ |
Re: Randomize mehrmals starten
Wozu den Zufallsgenerator mehrmals starten? Wenn mein Auto läuft, lass ich den Anlasser auch in Ruhe.
|
Re: Randomize mehrmals starten
Es ist nicht gut. Wenn du das mehrmals machst, wird der Zufallsgenerator mehrmals neu initialisiert, und da Randomize auf Basis von GetTickCount und damit im Millisekunden-Bereich arbeitet... Nun, am besten ein Beispiel.
Delphi-Quellcode:
a wird nahezu immer 0 sein, da der Zufallsgenerator zwei mal initialisiert wird, und dies wahrscheinlich mit dem selben Seed (4 Calls brauchen keine Millisekunde)...
var a: Integer;
Randomize; a := Random(1000); Randomize; a := a - Random(1000); |
Re: Randomize mehrmals starten
Hi
Dem PC ist das sicherlich egal :-D Aber: Der Zufallszahlengenerator erzeugt eine gleichverteilte Reihe von Zufallszahlen, ab einem bestimmten Startwert. Wenn dieser Startwert gleich ist, kommt auch immer die gleiche Reihe heraus. Das kann man leicht nachprüfen, indem man Randomize nicht aufruft. Wenn jetzt innerhalb der Reihe Randomize erneut aufgerufen wird, wird praktisch eine neue Zufallsreihe begonnen, die die Gleichverteilung der ersten Reihe umwerfen KÖNNTE. Ich sage KÖNNTE, nicht muss. Wenn man es also statistisch ganz genau nehmen will, so sollte man Randomize nur einmal aufrufen. Gruss |
Re: Randomize mehrmals starten
Zitat:
Mit dem Zufall ist das ja so eine Sache. Ich würde sagen, der Lehrer hat Recht, sich aber nicht 100% korrekt ausgedrückt. |
Re: Randomize mehrmals starten
Und das Thema hatten wir schon im Forum:
![]() |
Re: Randomize mehrmals starten
Der Lehrer hätte euch auch den Grund dafür nennen können.
Du kannst Randomize aufrufen aber nicht hintereinander, zeitversetzt... z.b. bei einem Spiel rufst du einfach Randomize alle 60 Sekunden auf... oder so.... |
Re: Randomize mehrmals starten
Zitat:
|
Re: Randomize mehrmals starten
Du hast es erfasst *G*, ob es sin macht oder nicht ist ja eine andere Frage, aber es währe eine Möglichkeit.... oder nicht ?
|
Re: Randomize mehrmals starten
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz