PROBLEM
SOLVING &
PROGRAM
DEVELOPMENT
WHAT IS A PROBLEM?
• A problem is a discrepancy (or difference)
between the data that we have and
information we require.
• Problems can range from simple to complex.
A simple problem usually involves only a few
instructions to process the input data into the
required output for information; for example
paying tax on a single item.
KEY TERMS
IN
PR O B L E M
S O LV I N G
SOLUTION
• A solution is a set of instructions that, if
followed in order, will produce the required
information.
PROBLEM SOLVING
• The process of creating a set of instructions
that, when executed, accepts input data and
produces meaningful information.
ALGORITHM
• A sequence of instructions written in everyday
English, that solves a problem.
PSEUDOCODE
• A language consisting of English-like
statements used to define the algorithm.
Pseudocode is a formal way of writing an
algorithm using structured English text,
number and special characters.
FLOWCHART
• A pictorial way of representing an algorithm
using a set of standard symbols (shapes).
THE
PRO BL E M
S O LVI N G
PRO C E S S
A typical problem solving process involves 6
steps:
1. Define the problem
2. Propose and evaluate solution
3. Determine the best solution
4. Develop the algorithm
5. Represent the algorithm as pseudocode or flowchart
6. Test and validate the solution
DEFINE THE PROBLEM
• The aim is to understand the problem. Start
with a clear description of the problem. Use
an I.P.O. (Input, Processing, Output) chart to
break down the problem into three main
components.
PROPOSE & EVALUATE
SOLUTION
• Consider alternative solutions to the problem.
Evaluate each proposed solution
DETERMINE THE BEST
SOLUTION
• Based on the evaluation of the solutions from
the previous step, determine which is best.
DEVELOP THE ALGORITHM
• Formulate the solution into a set of
instructions expressed in natural, everyday
language.
REPRESENT THE
ALGORITHM
• Represent the solution as formal pseudocode
or a flowchart
TEST AND VALIDATE THE
SOLUTION
• The pseudocode/flowchart for correctness
using a trace table. If the algorithm is correct
that you have successfully produced the
correct result. If not, then recheck your
solution.