Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var
- time_seed, nb_visitor_groups, nb_exhibits, i, j:INTEGER;
- s: ARRAY[0..20, 0..20] of INTEGER;
- t: ARRAY[0..20, 0..20] of INTEGER;
- function unif(var seed : integer; low, high : integer): integer;
- ( generate a random number uniformly between low and high)
- const
- m = 2147483647;
- a =16807;
- b =127773;
- c = 2836;
- var
- k : integer;
- value_0_1 : double; (* floating point coded on 64 bits )
- begin
- k := seed div b ;
- seed := a * (seed mod b) - k * c;
- if seed < 0 then seed := seed + m ;
- value_0_1 := seed / m ;
- unif := low + trunc(value_0_1 (high - low + 1))
- end;
- begin
- for i := 1 to nb_nb_visit_groups do
- begin
- for j := 1 to nb_exhibits do
- begin
- t[i,j] := unif(time_seed, 8, 14);
- end;
- end;
- for i := 1 to nb_exhibits do
- begin
- s[0,i]:=unif(time_seed, 2, 10); s[i,0]:= s[0,i]; s[i,i]:=0;
- end;
- for i := 1 to nb_exhibits-1 do
- begin
- for j := i+1 to nb_exhibits do
- begin
- s[i,j] := unif(time_seed, 2, 10);
- s[j,i] := s[i,j];
- end;
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement