home *** CD-ROM | disk | FTP | other *** search
- (* ------------------------------------------------------ *)
- (* ZUFALL.PAS *)
- (* Veschiedene Zufallszahlen-Generatoren *)
- (* (c) 1993 Dr.Lothar Wenzel & DMV-Verlag *)
- (* ------------------------------------------------------ *)
- PROGRAM Zufall;
-
- CONST
- n = 1002; { Basiszahl }
- n2 = n DIV 2;
- Anzahl = 3000; { Anzahl der Zufallszahlen }
- c = 22; { Ergänzung für Formel 2 }
- s = 27; { Ergänzung für Formel 3 }
-
- VAR
- i, j : LongInt;
- z1,z2,z3,z4 : LongInt; { berechnete Zufallszahlen }
- z11,z12 : LongInt; { Hilfszahlen für Fibonacci }
- z21 : LongInt; { Hilfszahl für 2.Algorithmus }
- z31 : LongInt; { Hilfszahl für 3.Algorithmus }
- m1,m2,m3,m4 : REAL; { Mittelwerte }
- s1,s2,s3,s4 : REAL; { Standardabweichung }
-
- BEGIN
- z11 := 1; z12 := 1;
- z21 :=1;
- z31 :=1;
- m1 :=0; m2 := 0; m3 := 0; m4 := 0;
- s1 :=0; s2 := 0; s3 := 0; s4 := 0;
-
- FOR i := 1 TO Anzahl DO BEGIN
- z1 := ((z11+z12) MOD (n)); { Formel für Fibonacci }
- z2 := (((n+1)*z21+c) MOD (n));
- z3 := ((s*z31) MOD (n));
- z4 := Random(n);
-
- m1 := m1 + z1;
- m2 := m2 + z2;
- m3 := m3 + z3;
- m4 := m4 + z4;
-
- s1 := s1 + z1*z1;
- s2 := s2 + z2*z2;
- s3 := s3 + z3*z3;
- s4 := s4 + z4*z4;
- {
- WriteLn(Z1:10, Z2:10, Z3:10, Z4:10);
- }
- z11 := z12; z12 := z1;
- z21 := z2;
- z31 := z3;
- END;
- WriteLn;
- WriteLn;
-
- m1 := m1/Anzahl;
- m2 := m2/Anzahl;
- m3 := m3/Anzahl;
- m4 := m4/Anzahl;
-
- WriteLn('Mittelwerte der Zufallsreihen');
- WriteLn(m1:10:3, m2:10:3, m3:10:3, m4:10:3);
- s1 := Sqrt(s1 - Anzahl*m1*m1)/Sqrt(Anzahl);
- s2 := Sqrt(s2 - Anzahl*m2*m2)/Sqrt(Anzahl);
- s3 := Sqrt(s3 - Anzahl*m3*m3)/Sqrt(Anzahl);
- s4 := Sqrt(s4 - Anzahl*m4*m4)/Sqrt(Anzahl);
- WriteLn('Standardabweichungen der Zufallsreihen');
- WriteLn(s1:10:3, s2:10:3, s3:10:3, s4:10:3);
- ReadLn;
- END.
- (* ------------------------------------------------------ *)
- (* Ende von ZUFALL.PAS *)
-