home *** CD-ROM | disk | FTP | other *** search
- (* ------------------------------------------------------ *)
- (* CHANCEN.PAS *)
- (* (c) 1989 Heinz Hagemeyer & TOOLBOX *)
- (* ------------------------------------------------------ *)
- PROGRAM Chancen_im_Lotto;
-
- USES Crt;
-
- PROCEDURE Eingabe (VAR n, k : LONGINT);
- BEGIN
- ClrScr;
- WriteLn ('Dieses Programm berechnet n über k. ',
- 'Diese Berechnung wird z.B. benötigt, um');
- WriteLn ('die Chancen im Lotto zu ermitteln');
- WriteLn;
- Write ('Geben Sie n (Anzahl der Felder) ein : ');
- ReadLn (n);
- Write ('Geben Sie k (Anzahl der Kreuze) ein : ');
- ReadLn (k);
- END;
-
- FUNCTION N_ueber_K (n, k : LONGINT) : LONGINT;
- VAR
- i, Ergebnis, Teiler : LONGINT;
- BEGIN
- Ergebnis := 1;
- Teiler := 2;
- FOR i := n - k + 1 TO n DO BEGIN
- IF Ergebnis > MaxLongInt DIV i THEN BEGIN
- WriteLn;
- Writeln ('Zahlenbereich überschritten, ',
- 'Programm wird abgebrochen !');
- Halt ;
- END;
- Ergebnis := Ergebnis *i;
- WHILE (Ergebnis MOD Teiler = 0) AND
- (Teiler <= k) DO BEGIN
- Ergebnis := Ergebnis DIV Teiler;
- Inc (Teiler, 1);
- END;
- END;
- N_ueber_K := Ergebnis;
- END;
-
- CONST Nmax = 6;
-
- VAR Ergebnis : ARRAY [0 .. Nmax] OF LONGINT;
- Summe, k, n, i,
- Gewinn, Hauptgewinn : LONGINT;
- BEGIN
-
- { Test für Abbruch bei Zahlenbereichsüberschreitung }
- { WriteLn(n_ueber_k (100,30)); }
-
- Eingabe (n, k);
- FOR i := 0 TO k DO
- Ergebnis [i] := n_ueber_k (6,i) * n_ueber_k (43,6-i);
- WriteLn; WriteLn;
-
- WriteLn ('Es gibt bei diesem Spiel'); WriteLn;
- FOR i := 0 TO k DO
- WriteLn (Ergebnis [i]:15, ' mal', i:3, ' Richtige');
- WriteLn;
- HauptGewinn := n_ueber_k (n,k);
-
- Write ('Bei wieviel Richtigen erfogt ein Gewinn? : ');
- ReadLn (Gewinn);
-
- Summe := 0;
- FOR i := Gewinn TO k DO Summe := Summe + Ergebnis [i];
- WriteLn; WriteLn;
- WriteLn ('Ihre Chancen, etwas zu gewinnen, betragen 1 : ',
- HauptGewinn / Summe :6:2);
- WriteLn;
- WriteLn ('Die Chancen des Hauptgewinns liegen bei 1 : ',
- HauptGewinn);
- END.
- (* ------------------------------------------------------ *)
- (* Ende von CHANCEN.PAS *)