AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

random generator

Ein Thema von gundi · begonnen am 10. Jan 2004 · letzter Beitrag vom 10. Jan 2004
Antwort Antwort
gundi

Registriert seit: 10. Jan 2004
6 Beiträge
 
#1

random generator

  Alt 10. Jan 2004, 17:10
hallo leute ich bin ein neuer programmierer und versuche nachvollziehen warum ich bei random generator durch randomize initialisieren muss??? was bedeutet konkret initialisieren???
  Mit Zitat antworten Zitat
moritz

Registriert seit: 18. Apr 2003
1.037 Beiträge
 
#2

Re: random generator

  Alt 10. Jan 2004, 17:16
Hallo

Initialisieren bedeutet sowas wie "Meine Damen und Herren, wir Landen in wenigen Minuten. Bitte machen sie die Rückenlehnen gerade, klappen sie die Tische ein, Rauchen nicht und besuchen keine Toiletten" im Flugzeug. Gut, trifft es vielleicht nicht ganz so gut aber ist einigermasen Anschaulich.(Die Randomfunktion wäre dann das Landen Allerdings müsste ein Flugzeug dann mehrmals Landen können .. egal )
Was genau Randomize macht kann ich nur vermuten. Es setzt, da die Randomfunktion einen Amhaltswert braucht, diesen auf GetTickCount, also die ms, die das Programm schon läuft.

Gruß
"Optimistisch ist diejenige Weltanschauung, die das Sein höher als das Nichts stellt und so die Welt und das Leben als etwas an sich Wertvolles bejaht."
Albert Schweitzer
  Mit Zitat antworten Zitat
Brüggendiek

Registriert seit: 13. Dez 2002
Ort: Dortmund
275 Beiträge
 
Delphi 5 Standard
 
#3

Re: random generator

  Alt 10. Jan 2004, 19:37
Hallo!

Wenn das Randomize nicht ausgeführt wird, kommt in der Regel bei jedem Programmaufruf dieselbe Folge von Zufallszahlen. Theoretisch kann man das ausnutzen, indem man RandSeed auf einen festen Wert setzt (ohne Initialisierung wäre das 0). Sollte man aber nicht, denn laut Delphi-Hilfe "kann sich die Implementation in späteren Versionen ändern" - d.h. dann kommt 'ne andere Zahlenfolge.

Randomize setzt den Startwert des Zufallsgenerators auf die Uhrzeit (nicht die Zeit seit Programmstart).

Ein häufig zu findender Fehler ist es,
Delphi-Quellcode:
Randomize;
wert:=Random(grenze);
zu schreiben - bei genügend schnellem Aufruf (z.B. in einer Schleife) gibt das eine Folge von gleichen Zahlen. Randomize wird nur einmal im Programmlauf aufgerufen - OnCreate der Mainform oder der Initialisation-Abschnitt einer Unit wären angemessene Orte dafür.

Gruß

Dietmar Brüggendiek
Dietmar Brüggendiek
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz