Commit | Line | Data |
---|---|---|
81e70d48 PH |
1 | PROGRAM 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 | ||
17 | BEGIN 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 | |
27 | END. |