CS 1440 Lab 2

## Post-Lab

It is approaching tax time, and it is natural to contemplate some of the factors which go into making a taxation system "fair". You will be given a tax table and asked to
• write a program to ask the user for income, then print the associated tax
• produce a graph of income vs. tax
But first, let's look at a few possible graphs:

 1 2 3 4

In the graph you turn in you will need to include tick marks and numerical labels, but for this part of the lab these details are not relevant. Part one of your homework is to write (in pen or printout) a description of whether each tax curve is "fair", and if not, why not. Be specific: discuss the incentives or disincentives to earning in each curve, and whether rich and poor taxpayers are treated appropriately. (For example, some consider the gas tax regressive, in that the rich pay a smaller percentage of their income for the privilege of driving.)

Part two of your homework is to write a program which asks the user for his income, then prints the associated tax according to the following table:

 If income is then tax is less than \$10,000 5% of income at least \$10,000, but less than \$15,000 \$500 + 6% of amt over \$10,000 at least \$15,000, but less than \$20,000 \$800 + 7% of amt over \$15,000 at least \$20,000 \$1,150 + 8% of amt over \$20,000

Your program should be formally documented as described previously. You will turn in a printout of the program.

Part three of your homework is to run your program several times to fill in this table:

 Income Tax 2500 5000 7500 10000 12500 15000 17250 20000 22500 25000

Then draw a well-labeled graph of income vs. tax including these data points. (You may want to add more data points if you have doubts about the shape of your curve.)

The last part of your assignment is to evaluate the fairness of your tax curve based on the shape you ended up with.

To recap, your assignment is to:

• evaluate the fairness of four income/tax graphs (handwritten or printed)
• write a program for the given tax rules (turn in hard copy)
• produce a table of data points and an associated graph for your program (graph paper recommended but not required)
• evaluate the fairness of your graph (handwritten or printed)