book cover
book cover

Programming Projects

Sports: Sailing

maintained by Francis Glassborow

  Home     

Handicap Race Results [15C]

Contributed by Francis Glassborow

Every class of sailing dinghy carries a handicap number that can be used to adjust the actual time taken from start to finish so that mixed fleets can compete on level terms. To complete this project you need to create a database where the handicap of each class can be looked up. Create a second database listing all potential competitors (such as a list of the boats owned by club members or the entries to a regatta) giving the boat name and class. Now the program should take as input a list of the competing boats, the start time of the race and the finish time. It should then calculate the elapsed time for each boat and then the corrected time. It should finally output the results in order of corrected time.

Your program should also be able to handle four special cases, 'Did not start' (DNS) for boats entered that did not cross the start line; 'Did not finish' (DNF) for boats that started but failed to cross the finish line within the time limit; 'Disqualified' (DQ) for boats that are disqualified; and finally 'Awarded Time' (AT) for the case where the race officer provides compensation for a boat that renders assistance or otherwise acts in a way that the race officer deems merits it.

Program elements

You will need to deal with simple database usage, computation of time as well as sorting a sequence. The quality of the output (to a file) in a fashion suitable for printing with appropriate handling of special cases should be taken part of the metric for successful completion.

Alternative

Offshore and Ocean Handicap racing is worked rather differently but still retains the concepts of elapsed time and corrected time. Write a program that will provide a results service for such racing.


  Home      Sailing      Sports      You Can Do It!