home *** CD-ROM | disk | FTP | other *** search
-
- PROGRAM wuerfeln;
-
-
- { Es wird je viermal gewuerfelt, und geprueft, ob dabei eine Sechs
- auftritt. Wenn ja, wird der um den Faktor 5/3 vermehrte Einsatz
- ausgezahlt, bei DM 60 Einsatz wird z.B. DM 100 ausgezahlt. Wenn
- nein, ist der Einsatz verfallen.
- Wie oft gewinnt (oder verliert) man dabei auf lange Sicht?
-
- Programmiersprache: Turbo Pascal, Autor: W.J.Weber, Januar 1987 }
-
- CONST gewinnzahl = 6;
-
- VAR spielezahl,i,gewonnen,verloren,nettogewinn: REAL;
-
- PROCEDURE Anfang;
- BEGIN
- CLRSCR;
- WRITELN('4 x Wuerfeln');
- WRITELN('------------');
- END;
-
- FUNCTION Wurf(n:INTEGER): INTEGER;
- BEGIN { n ist nur Dummy-Parameter }
- wurf := RANDOM(6) + 1;
- { Die Augenzahl muss zwischen 1 und 6 liegen }
- END;
-
- BEGIN (* Hauptprogramm *)
- Anfang;
- WRITE('Wie oft soll gespielt werden? ');
- READ(spielezahl);
- WRITELN(' mal.');
- gewonnen := 0;
- verloren := 0;
- i := 0; { Schleife wird durch Real-Variable }
- WHILE i < spielezahl DO { kontrolliert, um eine grosse Zahl }
- BEGIN { von Wiederholungen zu gestatten. }
- i := i+1;
- IF gewinnzahl IN [wurf(1),wurf(2),wurf(3),wurf(4)]
- THEN gewonnen := gewonnen+1
- ELSE verloren := verloren+1
- END;
- nettogewinn := 100*gewonnen-60*spielezahl;
- GOTOXY(1,10);
- WRITE ('Es gab ',gewonnen:6:1,' Gewinne');
- WRITELN(' und ',verloren:6:1,' Verluste.');
- WRITELN;
- WRITE('Bei konstantem Einsatz von DM 60 fuehrt das zu einem ');
- IF nettogewinn < 0
- THEN WRITELN('Gesamtverlust')
- ELSE WRITELN('Gesamtgewinn');
- WRITELN('von DM',ABS(nettogewinn):8:1,' .');
- WRITELN;
- IF nettogewinn <= 0
- THEN WRITELN('Traurig, traurig !')
- ELSE WRITELN('Hurra !')
- END.