Program Design Lab
Each person in your team will complete:
One sequence problem (problem 1 or 2).
One selection problem (problems 3, 4, or 5)
Each team member should choose a different pair of problems.
When you are finished you will submit a single file containing all of your answers to moodle. This file can be in .doc, .docx (Word) or .rtf (WordPad) format. Don't spend a lot of time making pretty tables. For the IPO charts you don't necessarily need to use a table. You can list the three sections one above the other on the page:
Example: IPO chart
Input
firstNumber
secondNumber
Processing
Get numbers to add
Add numbers together
Display sum
Output
sum
You can list your specific solution steps (your algorithm) with numbers for each step. This will make it easier to write your chart for testing the solution. Example:
Example: Algorithm
1. Prompt user for firstNumber
2. Get firstNumber
3. Prompt user for secondNumber
4. Get secondNumber
5. sum = firstNumber + secondNumber
6. Display sum
When you show how you tested your solution (desk checking) you do need to make sure that everything is organized in a chart. If you know how to make tables, this is the easiest way to organize your chart. Otherwise, you can use tabs. Just make sure you keep your columns straight.
Practice with Sequence
For the problem you choose, complete the problem solving process discussed in class. You should submit written evidence of the process in the form of: a list of assumptions you've made to clarify the problem, an IPO chart, an algorithm and documentation of your testing.
1. Write an algorithm that converts a decimal number between 0 and 15 into its 4 bit unsigned binary representation.
2. Write an algorithm that converts a linear measurement in feet and inches into meters. One inch is equivalent to 2.54 centimeters.
Practice with Selection
Complete the problem solving process discussed in class for the problem you choose. Your solution must use a selection control structure. You should submit written evidence of the process in the form of: a list of assumptions you've made to clarify the problem, an IPO chart,
an algorithm and documentation of your testing.
3. Write an algorithm that converts a decimal number between 0 and 15 into its hexadecimal representation.
4. Write an algorithm that can be used to calculate the commission earned in a real estate transaction. The chart below describes the formulas used to calculate the commission.
5. Write an algorithm that can be used to calculate car insurance rates. Rates for male drivers and young female drivers are determined by adding a surcharge to the rate for female drivers over age 25.
Older than 25 25 or younger
Male 7% more than base rate 10% more than base rate
Female Base rate 5% more than base rate