Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Zufallsfunktion (https://www.delphipraxis.net/95702-zufallsfunktion.html)

DP-Maintenance 12. Jul 2007 08:22

DP-Maintenance
 
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.
Es scheint um Delphi zu gehen.

Kharlanki 12. Jul 2007 11:37

Re: Zufallsfunktion
 
Danke fuer eure Beitraege! :)

Wenn ich den Tag vorrausberechne, an dem das Ereignis eintreten soll, reicht ein einfaches random(x)+y. Das waere ja simpel. ;)
Ich muss aber an jedem Tag neu berechnen, ob das Ereignis eintreten soll und damit muss die Wahrscheinlichkeit mit jedem Tag ansteigen, so dass spaetestens am letzten Tag des Intervalls (ob Tag 30 bis Tag 60 oder Tag 31 bis Tag 60 ist egal, da im Programm-Setup einstellbar) das Ereignis eingetreten ist, ohne dass bei zig Durchlaeufen das Ereignis meistens schon in den ersten Tagen eingetreten ist oder in 90% der Durchlaeufe am letzten Tag eingetritt.

Irgendwie scheine ich mich wohl unklar auszudruecken. %-) Sorry!

P.S. Matze, kannst du den Fred bitte wieder zurueckschieben? Es geht hier ja nicht um Delphi spezifisches, sondern um einen speziellen Algoritmus.

alzaimar 12. Jul 2007 11:49

Re: Zufallsfunktion
 
Aha.

Also:
Am 30.Tag : "If Random (31) = 0 then Ereignis_Ausloesen"
Am 31.Tag : "If Random (30) = 0 then Ereignis_Ausloesen"
...
Am 60.Tag : "If Random (1) = 0 then Ereignis_Ausloesen"

So etwa, stimmts? Wenn dann 'Ereignis_Ausloesen' den Tageszähler wieder auf 0 setzt, dann solltest Du das doch hinbekommen...

Weiterhin kannst Du dir einfach die Zahl '30+Random(31)' bzw. das Datum (Heute + Zufallszahl) in die Registry/eine INI-Datei/die EXE schreioben und dann jeden Tag schauen, ob dieses Datum erreicht wurde. Wenn ja, löst Du das Ereignis aus und schreibst ein neues Datum (30+Random(31) Tage in der Zukunft) in die Registry/INI-Datei/EXE.

Hab ich's jetzt richtig verstanden? :zwinker:

Khabarakh 12. Jul 2007 11:50

Re: Zufallsfunktion
 
Zitat:

Zitat von Kharlanki
Wenn ich den Tag vorrausberechne, an dem das Ereignis eintreten soll, reicht ein einfaches random(x)+y. Das waere ja simpel. ;)

Das hatte ich mir ja schon gedacht und dir in weiser Voraussicht im gleichen Post eine Variante vorgeschlagen, die sich genau so verhält wie von dir gewünscht ;P .

[edit]Ah, Bestätigung tut immer gut ;) .[/edit]

alzaimar 12. Jul 2007 11:55

Re: Zufallsfunktion
 
Ehrlich gesagt, verstehe ich wirklich die Problematik nicht, Kharlanki.

Du hast also ein Programm, das täglich(?) oder ab und gestartet wird. Sei X der Tag, an dem das letzte Mal 'das Ereignis' aufgetreten ist. Ergo wird das nächste Ereignis zum Zeitpunkt "X + 30 + Random (31)" auftreten. Das ist doch wohl klar. Wieso kannst Du das nicht im Voraus berechnen, irgendwo abspeichern und beim Programmstart einfach fragen, ob der Zeitpunkt erreicht oder überschritten wurde?

Ich kapier's nicht. :wall:

Na ja, bin wohl zu alt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:39 Uhr.
Seite 2 von 2     12   

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