Thread Perl TK - Programm (34 answers)
Opened by betterworld at 2003-10-26 00:14

Crian
 2003-10-30 11:07
#44698 #44698
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
[quote=BrownWolf,29.10.2003, 20:48]Ich verstehe nicht was "srand" bewirken soll. Meine Zufallszahl kann ich doch durch
Code: (dl )
int(rand(Zahl))
erhalten.

Edit: Übrigens bin ich jemand der Sachen nur auf einfache Art versteht. Damals wollte mir mein Vater eine Rechnung in Mathe anhand Äpfeln oder Orangen beibringen. Da hab ich dann gar nichts mehr verstanden ;)[/quote]
[quote=Crian,27.10.2003, 14:31]srand initialisiert den Zufallsgenerator. Du kannst srand(42) aufrufen, wenn Du immer wieder die gleichen Zufallszahlen generieren willst (für Vergleichbarkeit während der Entwicklung etwa) oder halt srand(time) (um den Zufallsgenerator mit der aktuellen Uhrzeit zu initialisieren), dann gibt es jedesmal eine andere Folge von Zufallszahlen.

Oder (wie in perldoc -f srand steht) man nimmt srand (time ^ $$ ^ unpack "%L*", `ps axww | gzip`);
[/quote]
Ich habs in meinem Zitat nochmal in rot hervorgehoben... was ist daran nicht zu verstehen? Ich versuchs nochmal:

rand() liefert in Wirklichkeit keine zufällige Folge von Zahlen, sondern eine auf eindeutige Weise berechnete Folge, die "zufällig aussieht", die aber immer wieder die gleiche Folge liefert, wenn man nicht vorher den Startwert dieser Folge mit srand festlegt.

@strat: Das wäre aber böse, wenn srand automatisch aufgerufen wird, es ist häufig nützlich, während der Entwicklung vergleichbare "zufällige" Zahlen zu bekommen (also bei jedem Programmdurchlauf immer wieder die selben) und erst wenn man weiß, dass das was damit gemacht wird richtig ist, schaltet man die Initialisierung per srand hinzu.\n\n

<!--EDIT|Crian|1067505238-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite

View full thread Perl TK - Programm