A large commit.
[pdp8.git] / sw / src / pascal / RANDOM.PS
CommitLineData
81e70d48
PH
1PROGRAM ZUFALLSZAHLEN(OUTPUT);
2
3 CONST R0 = 2097149 (* 2^21 - 3 *);
4 ALFA = 2051 (* 2^11 + 3 *);
5 BASE = 2097152 (* 2^21 *);
6
7 VAR RN,I,N: INTEGER;
8 H: ARRAY[0..9] OF INTEGER;
9 X: REAL;
10
11 FUNCTION RANDOM: REAL;
12 BEGIN RN := (RN*ALFA) MOD BASE;
13 RANDOM := RN/BASE
14 END;
15
16
17BEGIN RN := R0;
18 FOR I := 0 TO 9 DO H[I] := 0;
19 FOR N := 1 TO 1000 DO
20 BEGIN X := RANDOM;
21 WRITE(X :16:10); IF N MOD 5 = 0 THEN WRITELN;
22 I := TRUNC(10*X);
23 H[I] := H[I] + 1
24 END;
25 WRITELN;
26 FOR I := 0 TO 9 DO WRITE(H[I]:8); WRITELN
27END.