home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1987 / 05 / wuerfel.pas < prev   
Encoding:
Pascal/Delphi Source File  |  1987-04-15  |  1.8 KB  |  60 lines

  1.  
  2. PROGRAM wuerfeln;
  3.  
  4.  
  5. { Es wird je viermal gewuerfelt, und geprueft, ob dabei eine Sechs
  6.   auftritt. Wenn ja, wird der um den Faktor 5/3 vermehrte Einsatz
  7.   ausgezahlt, bei DM 60 Einsatz wird z.B. DM 100 ausgezahlt. Wenn
  8.   nein, ist der Einsatz verfallen.
  9.   Wie oft gewinnt (oder verliert) man dabei auf lange Sicht?
  10.  
  11.   Programmiersprache: Turbo Pascal, Autor: W.J.Weber, Januar 1987   }
  12.  
  13. CONST gewinnzahl = 6;
  14.  
  15. VAR spielezahl,i,gewonnen,verloren,nettogewinn: REAL;
  16.  
  17. PROCEDURE Anfang;
  18.   BEGIN
  19.     CLRSCR;
  20.     WRITELN('4 x Wuerfeln');
  21.     WRITELN('------------');
  22.  END;
  23.  
  24. FUNCTION Wurf(n:INTEGER): INTEGER;
  25.   BEGIN                            { n ist nur Dummy-Parameter  }
  26.     wurf := RANDOM(6) + 1;
  27.                    { Die Augenzahl muss zwischen 1 und 6 liegen }
  28.   END;
  29.  
  30. BEGIN (* Hauptprogramm *)
  31.   Anfang;
  32.   WRITE('Wie oft soll gespielt werden? ');
  33.   READ(spielezahl);
  34.   WRITELN(' mal.');
  35.   gewonnen := 0;
  36.   verloren := 0;
  37.   i := 0;                  { Schleife wird durch Real-Variable }
  38.   WHILE i < spielezahl DO  { kontrolliert, um eine grosse Zahl  }
  39.     BEGIN                  { von Wiederholungen zu gestatten.  }
  40.       i := i+1;
  41.       IF gewinnzahl IN [wurf(1),wurf(2),wurf(3),wurf(4)]
  42.         THEN gewonnen := gewonnen+1
  43.         ELSE verloren := verloren+1
  44.     END;
  45.   nettogewinn := 100*gewonnen-60*spielezahl;
  46.   GOTOXY(1,10);
  47.   WRITE  ('Es gab ',gewonnen:6:1,' Gewinne');
  48.   WRITELN(' und ',verloren:6:1,' Verluste.');
  49.   WRITELN;
  50.   WRITE('Bei konstantem Einsatz von DM 60 fuehrt das zu einem ');
  51.   IF nettogewinn < 0
  52.     THEN WRITELN('Gesamtverlust')
  53.     ELSE WRITELN('Gesamtgewinn');
  54.   WRITELN('von DM',ABS(nettogewinn):8:1,' .');
  55.   WRITELN;
  56.   IF nettogewinn <= 0
  57.     THEN WRITELN('Traurig, traurig !')
  58.     ELSE WRITELN('Hurra !')
  59. END.
  60.