home *** CD-ROM | disk | FTP | other *** search
- PROGRAM COINS_PROGRAM; (***************************)
-
- Uses Crt; (** ACS 255 **)
- Var (** Section 1 **)
- P : Char; (** Assignment 5 **)
- QuitFlag : Boolean;
- HeadsCount, (***************************)
- TailsCount,
- Ran_Seed : Integer;
- Number : Real;
-
- (*----------------------------Print Procedure-------------------------------*)
- PROCEDURE Print(HeadsCount,TailsCount:Integer);
- Begin
- WriteLn;
- WriteLn;
- TextColor(LightBlue);
- WriteLn('Number of Tails Thrown: ',TailsCount);
- WriteLn('Number of Heads Thrown: ',HeadsCount);
- End;
-
- (*----------------------------Flip Coin Procedure---------------------------*)
- PROCEDURE FlipCoin(Ran_Seed:Integer);
- Var
- Count : Integer;
- Begin
- HeadsCount := 0;
- TailsCount := 0;
- Count := 0;
- Randomize;
- RandSeed := Ran_Seed;
- For Count := 1 to 20 do
- Begin
- Number := Random;
- If Number > 0.5 Then
- HeadsCount := HeadsCount + 1
- Else
- TailsCount := TailsCount +1;
- End;
- End;
-
- (*--------------------------------------------------------------------------*)
- (* MAIN PROCEDURE *)
- (*--------------------------------------------------------------------------*)
- Begin
- QuitFlag := False;
- While (QuitFlag = False) Do
- Begin
- Clrscr;
- TextColor(LightGray);
- Write('Enter a Number Between 1 and 100: ');
- Readln(Ran_Seed);
- If Ran_Seed > 100 then
- Begin
- TextColor(Yellow);
- WriteLn(' Please Choose A Number Less than or equal to 100!');
- Readln;
- End
- Else
- Begin
- FlipCoin(Ran_Seed);
- Print(HeadsCount,TailsCount);
- TextColor(LightGray);
- WriteLn;
- Write(' Please enter Q to quit or <Enter> to continue: ');
- Read(P);
- P := UpCase(P);
- If (P = 'Q') Then
- QuitFlag := True
- Else
- QuitFlag := False;
- End
- End;
- ClrScr;
- End.
-