AGB  ·  Datenschutz  ·  Impressum  







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

Zufallsfunktion

Ein Thema von Kharlanki · begonnen am 11. Jul 2007 · letzter Beitrag vom 12. Jul 2007
Antwort Antwort
Seite 2 von 2     12   
12. Jul 2007, 09:22
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.
Es scheint um Delphi zu gehen.
Kharlanki

Registriert seit: 9. Jul 2003
Ort: Düsseldorf
50 Beiträge
 
#12

Re: Zufallsfunktion

  Alt 12. Jul 2007, 12:37
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.
Gruss,
Matthias

  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#13

Re: Zufallsfunktion

  Alt 12. Jul 2007, 12:49
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?
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#14

Re: Zufallsfunktion

  Alt 12. Jul 2007, 12:50
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]
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#15

Re: Zufallsfunktion

  Alt 12. Jul 2007, 12:55
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.

Na ja, bin wohl zu alt.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 04:57 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