We shall permit ourselves to become serious again, if you have no objection, and see to it that we keep the promise we made in the last chapter, we want to draw up a program for the payroll of an industrial plant. We have already said something about adding up the weekly bows of work and about a program that can take such additions in its stride. Let us assume as well that the hours in the weeks work have already been added up and that we have that much information at our fingertips. The rest of the program will be extensive enough.
The number of hours in the working week and everything else of importance for our program will be found by the computer in a punched card. What it really looks like can be found in this Illustration:
Our Program must work out first of all what Duncan MacKenzie´s gross earnings are from his working week of 41½ hours. (It is assumed that an hour is made up of 100 "minutes" instead of 60; this makes counting easier. Thus 30 minutes is 0.5 hour and 15 minutes 0.25 hour.) In the first operation, the hours worked during the week most be multiplied by the rate per hour. But that would not satisfy the union. Its officials are anxious to see that Duncan MacKenzie gets 20% more for every hour he works over the 40-hour week. So the program has to work out that 20% for every hour in excess of the standard 40, and add it to Duncan MacKenzie's pay.
The result is the gross pay. But the Treasury demands its due, and - tax must be withheld. As our example is a simplification, we can introduce a comparatively straightforward system of taxation: if the worker earns less than a certain amount per week and is single, he must pay 20% tax; if he is married, 15%. If the weekly pay is more, an unmarried employee must pay 25%, a married one 20% tax. For every child, the tax is reduced by 3%, but only for weekly wages in the lower bracket.
If you feel that this system is unfair, we must ask you to overlook the injustice. And please don't object that no insurance and disability withholdings are demanded from our worker. Our program, is just a simple little example, and we do not want to do any more than work out the pay and deduct a flat-rate tax. That will keep the programmer busy enough, especially as there are quite a few internal organizational functions to be performed in addition. For example, the program must sort out all the punched cards which have no "15" (the index number for "pay cards") in the "Type of Card" column. For naturally, it can happen once in a while that a stray card, possibly from the warehouse, may find its way into the stack, and there would be confusion if the computer tried to work out an employee's pay from the company's purchase requirement records for three-inch pipe joints, which are on another set of punched cards. Moreover, the program must stop the machine when the last card in the pile - carrying an index member of "99" - arrives. And it must ...
But the best way for you to see what the program has to do is to look at this Illustration yourself.
Although this flow chart contains clearly formulated symbolic instructions in many places, in others it is nothing but a rough schedule which still has to be worked out in detail. This mixture of detailed instructions and general directions will be found in every flow chart, and the more complicated the program is, the more of a rough draft it is.
We could of course write down for your benefit just what our payroll calculation program would look like if it were exactly worked out in the form of symbolic instructions, and perhaps even in commands to the machine - but the resulting labyrinth of characters and numbers, which would take up far more than a whole printed page in this book, is something that we would prefer not to inflict on you, the typesetter and ourselves.
Perhaps you can now realize that the true miracle of electronic computing is only partly to be found in the workings of the automatic calculator; the capabilities of the programmer, the man who gives the computer its instructions, are at least as astounding! We said in the introduction that there are no such things as electronic brains, but perhaps that is not quite true after all. Possibly there are such things. But if there are, they are not in the grey-painted metal cabinets of the automatic computers - they are in the heads of the Programmers.