Delphi-PRAXiS
Seite 1 von 6  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Zufals-Boolean erzeugen (https://www.delphipraxis.net/53929-zufals-boolean-erzeugen.html)

ManuMF 25. Sep 2005 17:07


Zufals-Boolean erzeugen
 
Hallo,

gibt es eine einfache Möglichkeit, in Delphi einen Zufalls-Boolean zu erzeugen?
Ich wüsste da nur
Delphi-Quellcode:
Boolean := not StrToBool(IntToStr(Random(2)));
was aber nicht so gut wäre, u.a. wegen der "Ungenauigkeit" ;-) des Zufallsgenerators bei kleinen Zahlen.

Vorstellen könnte ich mir auch etwas in der Richtung
Delphi-Quellcode:
if (Random(1001) > 500) then
  Boolean := true
else
  Boolean := false;
aber ich suche nach einer "vorgefertigten" Lösung.

Danke,
ManuMF

faux 25. Sep 2005 17:10

Re: Zufals-Boolean erzeugen
 
Zitat:

Zitat von ManuMF
Gibt es eine einfache Möglichkeit, in Delphi einen Zufalls-Boolean zu erzeugen?
(...)
was aber nicht so gut wäre, u.a. wegen der "Ungenauigkeit" ;-) des Zufallsgenerators bei kleinen Zahlen.

Du solltest dir bewusst sein, dass es sowieso keine Zufallszahlen geben kann, sondern nur "Pseudozufallszahlen"... ;)
Was erhältst du denn bei denen Möglichkeiten als Resultat?

Hier habe ich was gefunden, was vielleicht interessant sein könnte (auch wenn es zu aufwendig ist):
http://www.thomas-fahle.de/pub/perl/...llszahlen.html

Nikolas 25. Sep 2005 17:14

Re: Zufals-Boolean erzeugen
 
Was meinst du mit 'Ungenauigkeit bei kleinen Zahlen' ?

ManuMF 25. Sep 2005 17:17

Re: Zufals-Boolean erzeugen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von faux
Du solltest dir bewusst sein, dass es sowieso keine Zufallszahlen geben kann, sondern nur "Pseudozufallszahlen"... ;)

Das ist mir klar. Im Unterricht sollte wir mal ein Programm schreiben, in das man die Anzahl der Würfe eines Würfels eingibt und dann anzeigt, wie oft eine Augenzahl vorkommt. Erst ab ~100 Würfen wird's zufällig ;-)
Ich hab's mal in den Anhang gepackt (Interessanterweise schießt sich das Programm selbnst ab, wenn man eine Zahl wie 100, 1000 oder so eingibt. Bei 101, 1001 nicht...)

@Toxman: Probier's mal mit dem Programm im Anhang aus...

Nikolas 25. Sep 2005 17:20

Re: Zufals-Boolean erzeugen
 
Ich sehe nichts besonderes in dem Programm. Erwartest du, dass nach 12 Würfen überall eine 2 steht? Wenn du einen richtigen Würfel nimmst, wirst du ähnliche Ergebnisse bekommen.

ManuMF 25. Sep 2005 17:22

Re: Zufals-Boolean erzeugen
 
Es geht mir ja um den Boolean. Bei nur 2 Zahlen für Random könnte bei 10 Durchläufen 9 mal Nein und 1 mal Ja rauskommen. Aber das will ich ja nicht.

KLS 25. Sep 2005 17:24

Re: Zufals-Boolean erzeugen
 
is doch ganz einfach

Delphi-Quellcode:
var
  zufallsboolean : boolean;
begin
  randomize; //einmaliger aufruf!
  zufallsboolean := bool(random(2));
end;

Sergej 25. Sep 2005 17:28

Re: Zufals-Boolean erzeugen
 
Zitat:

Zitat von ManuMF
Es geht mir ja um den Boolean. Bei nur 2 Zahlen für Random könnte bei 10 Durchläufen 9 mal Nein und 1 mal Ja rauskommen. Aber das will ich ja nicht.

Und warum soll das deiner Meinung nach nicht zufällig sein? Es ist so zufällig wie ein Computer eben sein kann...
Beim nächsten Durchlauf könnte es auch 10011110101...sein.

Greetz Sergej

faux 25. Sep 2005 17:28

Re: Zufals-Boolean erzeugen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zum Anhang:

Bei mir fehlen die Balken, bei hohen Zahlen... :?

Nikolas 25. Sep 2005 17:29

Re: Zufals-Boolean erzeugen
 
Zitat:

Es geht mir ja um den Boolean. Bei nur 2 Zahlen für Random könnte bei 10 Durchläufen 9 mal Nein und 1 mal Ja rauskommen. Aber das will ich ja nicht.
Das hat doch aber nichts mit den zwei Zahlen zu tun. Was willst du denn genau? Du wirst keine gute Funktion finden, bei der nicht obiger Fall eintreten kann.
So was ist eben 'zufall'. Du kannst auch einen Würfel nehmen und 10 Mal hintereinander eine 6 Würfeln.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:08 Uhr.
Seite 1 von 6  1 23     Letzte »    

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