Assignment #7 - 84B

Assignment #7 - 84B


308-208A    COMPUTERS  IN  ENGINEERING               DUE :30 NOV 84
======================================                   ============

ASSIGNMENT 7                                         WEIGHT: 30
------------

            S I M U L A T I O N.... IS HERE !

  THE SCRATCHEMUP PARKING GARAGE CONTAINS A SINGLE LANE
WHICH CAN HOLD UP TO 10 CARS. CARS ARRIVE AT THE SOUTH END
OF THE GARAGE AND LEAVE FROM THE NORTH END.  IF A CUSTOMER
ARRIVES TO PICK UP  A CAR THAT IS NORTHERNMOST, ALL CARS
TO THE NORTH OF HIS CAR ARE MOVED OUT, HIS CAR IS DRIVEN OUT,
AND THE OTHER CARS ARE RESTORED INTHE SAME ORDER THEY WERE
IN ORIGINALLY. WHEN A CAR LEAVES, ALL CARS TO THE SOUTH ARE
MOVED FORWARD SO THAT AT ALL TIMES ALL THE EMPTY SPACES ARE IN
SOUTH PART OF THE GARAGE.

   WRITE A PROGRAM THAT READS A GROUP OF INPUT LINES. EACH INPUT LINE
CONTAINS AN 'A' FOR ARRIVAL OR A 'D' FOR DEPARTURE, AND A LICENCE
PLATE NUMBER. CARS ARE ASSUMED TO ARRIVE AND DEPART IN THE ORDER
SPECIFIED BY THE INPUT. THE PROGRAM SHOULD PRINT A MESSAGE EACH
TIME THAT A CAR ARRIVES OR DEPARTS. WHEN A CAR ARRIVES THE MESSAGE
SHOULD SPECIFY WHETHER OR NOT THERE IS ROOM FOR THE CAR IN THE
GARAGE. IF THERE IS NO ROOM FOR THE CAR, THE CAR WAITS IN A QUEUE
UNTIL THERE IS ROOM OR UNTIL A DEPARTURE CARD IS READ FOR THAT CAR.
WHEN ROOM BECOMES AVAILABLE, ANOTHER MESSAGE SHOULD BE PRINTED.
WHEN A CAR DEPARTS THE MESSAGE SHOULD INCLUDE THE NUMBER OF TIMES
THE CAR WAS MOVED WITHIN THE GARAGE ( INCLUDING THE DEPARTURE ITSELF
BUT NOT THE ARRIVAL ). THIS NUMBER IS ZERO IF THE CAR DEPARTS FROM THE
WAITING QUEUE AND NOT FROM THE GARAGE ITSELF.

THE PROGRAM SHOULD BE ABLE TO DETECT AND RESPOND WITH APPROPRIATE
ERROR MESSAGES TO CASES OF INVALID DATA. ( SUCH AS A MEANINGLESS FIRST
CHARACTER, OR DEPARTURE OF A NONEXISTENT CAR ETC.

USE THE DATA IN THE PUBLIC FILE HDCU:CARDATA  TO TEST YOUR PROGRAM.

THIS ASSIGNMENT WILL BE DISCUSSED EXTENSIVELY IN THE TUTORIAL SESSIONS.