Uploaded by Steven Chun

Introduction To Problem Solving - IPO Charts

advertisement
Introduction To Problem Solving
Tutorial 1
Problem solving in this context simply means finding a solution for a task or set of tasks which need to be
done. It does not suggest that anything is wrong. A problem can be as simple as wanting to add a set of
numbers, to something complicated like calculating salaries for 5000 workers in a company with different
work schedules.
Before you start coding a program on a computer, you need to know how to solve the problem. To do
this, you have to (1) analyze the problem; (2) arrive at a suitable solution using an algorithm; and (3) test
the algorithm to ensure that there are no LOGICAL ERRORS.
NOTE: A program with logical errors will work perfectly BUT produce incorrect results. Look at the
following example: (4 + 3) x 2 will give the correct result of 14. If you forget to add the parentheses ()
4+3x2, your result will be 10. So the program worked, and it did what it was supposed to do. But the
instructions were incorrect and so the output is also incorrect. You must keep this in mind always.
Analyzing the problem
To analyze the problem, we will use an IPO Chart. This allows us to break the problem down into three
components – Input, Output and Processing.
So, you first start by carefully reading the problem and identifying what the program is required to output
(display), then identifying what goes into the program to produce the output. These are listed in the table
as seen below.
Input {2}
Processing
Num1
Num2
Num3
The program here simply calculates the total of three numbers.
Output {1}
Total
The next step is to decide how to move from input to the output. So we can now work on the processing.
The processing steps start with receiving the input, followed by the calculation(s) and finally the display
of results. Look at the table below.
Input
Num1
Num2
Num3
Processing {3}
1 Get three numbers (Num1, Num2, Num3)
2 Add the three numbers (Num1+Num2+Num3)
And store the result in Total.
3 Display Total.
Output
Total
VARIABLE – A storage place in memory whose content / value can change.
Page
To proceed, there are some key words which you need to get accustomed to:
1
The next stage is to simulate a program using PSEUDOCODE. Pseudocode looks like program code but IT
IS NOT PROGRAM CODE. This will be introduced in the next lesson.
CONSTANT – A data item with a name and value which remains the same throughout the execution of a
program.
SEQUENCE- each program / solution must have sequence. That means a set of steps in a precise order.
Note that every step must be explicitly stated, since the computer cannot assume anything, and will do
only what it is instructed to do. Here is an example: To make a telephone call you must follow this order














Pick up the handset
Listen for dial tone
Press 2
Press 4
Press 6
Press 4
Press 3
Press 8
Press 3
Press 1
Press 5
Press 9
Listen for answer at other end of line
Speak to the person
For a human, the list appears shorter because we make several assumptions. For the computer, you have
to clearly state each instruction without any ambiguity; i.e. exact and single instructions.
What you need to know about variables








A variable (and a constant) must have a unique name
Names must be meaningful – they should identify the data they represent. E.g. Salary for moneys
paid to a worker; Price – money value of an item.
Must begin with a letter but can contain both letters and digits
Must be a single word / term
Where more than one word is involved, they must be joined to make one
Long words must be abbreviated (e.g. First Operating cost can become OpCost1)
When words are joined, each word should begin with a capital letter (e.g. CashFlowAmt)
Only special character that can be used is the underscore (_)
EXERCISE TO BE COMPLETED
Here is a number of small problems for you to analyze using IPO Charts. Type the problem statement
before drawing the IPO chart.
YOU ARE EXPECTED TO WORK ALONE ON THESE PROBLEMS
Page
1. Create a program which will accept the ages of four boys and calculate their total age and average
age. The program must display both the total age and the average age.
2
EACH STUDENT’S VARIABLE NAMES MUST BE DIFFERENT FROM THAT OF THE OTHER STUDENTS
Page
3
2. Create a program which will accept the length and width of a rectangle and display the area.
3. Create a program which will accept the distance travelled by a car and the time it took to reach
its destination and calculate the (average) speed at which it travelled. {Note that speed = distance
over time}.
4. Create a program which will accept the amount of money paid on a product as well as the price.
It will then calculate the balance owed to the store. It will then display the amount paid, the
original price and the balance.
5. Create a program which will accept the length, width and depth of a rectangular pool and display
the volume of water it can hold.
6. Create a program which will accept the number of hours worked by an employee as well as the
rate at which he is to be paid. It will then calculate the wages due. The program will then display
the hours worked, the wages rate and the wages owed to the employee.
7. Create a program which will accept the number of days worked and calculate the number of
weeks. The program must then show the number of days and the number of weeks calculated.
Download