created 07/30/99; revised 04/24/00

# Chapter 9 Programming Exercises

General Instructions: Write each of these programs as specified. None of these programs expect the user to enter data. The values one of these programs uses is "hard wired" into the program with declaration statements or assignment statements. Usually this is a poor way to write a program. Input will be covered in a few chapters. After you read them you could come back and write a better version of these programs.

Note: Each of these exercises asks you to run the program several times with different values. This is important to do! Playing with your programs is vital to understanding them and getting the "feel" of programming under you skin.

## Exercise 1 --- Payroll Program

Examine this program (from the chapter):

```class Example
{
public static void main ( String[] args )
{
long   hoursWorked = 40;
double payRate     = 10.0, taxRate = 0.10;
System.out.println("Hours Worked: " + hoursWorked );
System.out.println("pay Amount  : " + (hoursWorked * payRate) );
System.out.println("tax Amount  : " + (hoursWorked * payRate * taxRate) );
}
}
```

Modify it so that each variable is declared by itself and is not initialized. Next write three assignment statements to assign a value to each variable. Run the program; examine the output.

Now let's break something: Remove one of the declarations from the program. Can you compile it?

Now remove one of the initializations from the correct program. (For example, delete the characters "= 40" from the first declaration. Try to compile and run the program. When is a problem detected?

```3X2 -8X + 4
```

...for several values of X. Write a program that has a double precision variable X. Assign a value to it. Write statement that computes a value for the quadradic and stores the result in another double precision variable. Finally write out the result, something like:

```At X = 4.0 the value is 20.0
```

Run the program with several values for X (edit the program for each value of X) and examine the result. Use values with decimal points, large values, small values, negative values, and zero. Solve the equation with paper and pencil (use the quadradic formula.) The quadradic should evaluate to zero at X = 2.0 and at X = 2/3. Try these values for X. Are the results exactly correct?