Hi Plant Simulation Genossen,
ich hab versucht, die Frage erstmal selbst zu klären, indem ich das Forum durchstöbert hab, aber ich bin leider auf keine Lösung gekommen.
Auf den Kern reduziert lautet das Problem so:
is
wert: integer;
-- "Kartei" bezeichnet ein Liste-Objekt
do
repeat
wert:= round(z_gleich(1,0,1)*(15));
Kartei[Kartei.Dim+1]:= wert;
until Kartei.Dim=30;
end;
Ich versuche also, zufällige Werte zwischen 1 und 15 zu bekommen. Die Wahrscheinlichkeit des Auftretens soll für jede Zahl gleich sein. (Dass hier auch 0 generiert wird und die Wahrscheinlichkeit für 0 und 15 geringer ist, soll erstmal egal sein.)
Problem: Es kommt immer, nach jedem Methodenaufruf, die gleiche Kombination von Zahlen raus!
Frage: Wie kriege ichs also nun hin, dass nach jedem Methodenaufruf auch wirklich andere zufällige Zahlen generiert werden?
Danke!
Grüße,
CheSin
PS: Das konkrete Problem sieht so aus: Ich habe eine Tabelle "Auftragspool", in der 15 verschiedene Aufträge geschrieben sind. Aus dieser Tabelle soll zufallsbasiert immer wieder ein Auftrag in eine andere Tabelle "Wochenplan" geschrieben werden, sagen wir bis im Wochenplan 30 Aufträge stehen. Mit der oben genannten Methode (schreibe_Wochenplan) hab ich zwar immer einen anderen Wochenplan, wenn ich die Methode immer wieder direkt nacheinander aufrufe. ABER wenn ich jedes Mal auf "Reset" drücke, bevor ich die Methode wieder aufrufe, kommt immer der gleiche Wochenplan raus.
[Diese Nachricht wurde von CheSin am 02. Jun. 2014 editiert.]
[Diese Nachricht wurde von CheSin am 02. Jun. 2014 editiert.]