1. Why are subprograms essential to software development?

  2. What is abstraction?

  3. Without looking at the lecture notes, write a top-down design outlining the procedure for sorting a list of numbers. Use stepwise refinement to draw the design one layer at a time.

  1. Write a main program that calls a stub for computing a power of any real base and any real exponent. Verify that the subprogram receives all arguments correctly and returns a result correctly.