# PLANNING AND WRITING A PROGRAM

## INTRODUCTION

Program Power asked me if I had time to write a program to deal with the administration of their royalty payments. I didn’t have, of course. Nor did I have time to write this article. However, like most computer enthusiasts, once a program idea has got implanted in my tiny mind it tends to act like the proverbial cuckoo and creates its own time and space. Here, therefore, follows the first results of my deliberations.

## THE PROBLEM

Program Power sells programs which in the main have been written by individuals not employed by the company, these individuals being remunerated by way of 20% royalties, calculated on the prices at which the programs are sold.

Including those for certain micros whose names may not be printed in this magazine, there are t present approx. 100 programs being offered for sale, written by say 50 authors, though the number per author varies from one up to sixteen. Each Quarter the royalties payable are calculated according to number sold at the company’s selling price price.

If there were only one price for each program, then it could easily be argued that the job could be handled by a competent clerk with a calculator. However, in recent months, due to the sale of programs to trade customers, at discounts varying with quantities sold, together with special offers to direct customers, the number of different prices has grown enormously. A computerised solution is therefore being sought before the Job gets into a tangle or consumes too much valuable time.

## OUTPUTS

When writing a program, I always look first at the ‘outputs’ of the task, both in terms of which pieces of paper have to be produced, and also the detail which will appear on them. In this case there is firstly a statement to each author, giving his name and address, the names of his programs ,​the number sold at each price, the royalty calculated and the grand total payable. These, of course, are printed on single sheets. The second output is a summary for each computer, listing the same information without the author’s addresses, and giving the overall total for that computer. A continuous list is acceptable for this part of the Job.

## INPUTS

The next stage is to look at inputs and to establish how they are to be made available to the computer. The main inputs are the authors’ names and addresses,