RND immer die gleichen Zahlen

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Chris02

Betreff: RND immer die gleichen Zahlen

BeitragSa, Apr 23, 2005 14:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab ein kleines Problem, wenn ich zufalszahlen verwende kommen immer die gleichen Zahlen.
Wenn ich z.B. volgendes programm habe:
x=RND(1,10)
print x
kommt eine Zahl und wenn ich das Programm beende und nochmal Strarte kommen wieder die gleichen Zahlen Sad
Woran liegt das Question

diGGa

GruppenKaspar

BeitragSa, Apr 23, 2005 14:19
Antworten mit Zitat
Benutzer-Profile anzeigen
https://www.blitzforum.de/search.php?mode=results
Gestern Nacht Schlug der Regen an mein Fenster
Ich ging durch das dunkle Zimmer und
glaubte im Licht der Straßenlampe
Den Geist unseres jahrhunderts auf der
Straße zu sehen
Der uns sagte, daß wir alle am Rande
des Abgrunds stehen.
- Al Steward


Athlon 64 3000+ / Radeon 9600 / 1024mb ddram

blitzprogrammierer

BeitragSa, Apr 23, 2005 14:26
Antworten mit Zitat
Benutzer-Profile anzeigen
so musste es gehen:
Code: [AUSKLAPPEN]
SeedRnd MilliSecs()
x=Rand (1,10)
Print x
 

Roseman

BeitragSa, Apr 23, 2005 16:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Zur Erklärung:

Der Computer kann keine echten Zufallszahlen "berechnen".
Er greift immer auf eine bestimmte Folge von Zahlen zurück.
Mit SeedRnd setzt du praktisch den Generator der Zufallszahlen auf eine bestimmte Zahlenfolge (eng. Seed = Saat).
Ohne SeedRnd bekommst du immer die selbe Folge von "Zufallszahlen".
Wenn du SeedRnd mit einer Konstante bentuzt (z.B. SeedRnd 10) hast du eine bestimmte Folge, die bei jedem Start gleich ist (nützlich für Debugging).
Weist du SeedRnd Millisecs() zu, so erhälst du quasi immer andere Folgen, da es sehr unwahrscheinlich ist, daß du das Programm in der selben Millisekunde seit Computerstart noch einmal starten kannst.

Mfg Roseman
 

Chris02

BeitragSo, Apr 24, 2005 7:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke erstmal, aber dieses SeedRand Millisecs(), muss man das nur am Programmanfang eingeben, oder mus man das vor jeder Zufalszahl machen?

wunderkind

BeitragSo, Apr 24, 2005 9:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Einmal innerhalb eines Programms genügt.
 

FBI-blitz

BeitragSo, Apr 24, 2005 9:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich weiß nicht genau ob das stimmt, aber als ich gerade angefangen habe, und nen Mathe-Trainer programmierern wollte, habe ich zur sicherheit Razz (Damals war ich noch dümmer...^^) einfach ganz viele Seedrnd's eingebaut! Dabei kam aber raus, dass die Zufallszahlen immer gleich blieben... Laughing


FBI-blitz
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+
Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group