Problem Solving
PAC, IC, IPO
by
Noor Azida Binti Sahabudin
Faculty of Computer Systems & Software Engineering
[email protected]
OER Problem Solving by Noor Azida Binti Sahabudin work is under licensed
Creative Commons Attribution-NonCommercial-NoDerivatives 4.0
International License.
Chapter Description
• Aims
– To analyze the problem using Problem Analysis Chart (PAC)
– Set up the most efficient solution using Interactivity Chart (IC)
– Use an IPO chart to designate the input, processing, module number and output
for a solution of a problem
• Expected Outcomes
– Use a problem analysis chart to consolidate data for the problem
– Use an interactivity chart designates the modules to be used in the solution of
a problem.
– Use an IPO chart to designate the input, processing, module number and output
for a solution of a problem.
• References
– Sprankle, M., and Hubbard, J., (2012). Problem Solving and Programming
Concepts : 9th Edition. Prentice Hall, 2012. ISBN : 0132492644
Problem???
Separate into three
components
Input Output Processing
a list of data source a list of the output a list of actions
provided to the required needed to produce
problem the required
outputs
What is PAC?
PAC (Problem
Analysis Chart)
According to Sprankle and Hubbard, (2012), the initial step for a
programs need to do when get a problem is to analyze and
understand the requirements.
To easily analyze the problem, a Problem Analysis Chart (PAC) was
introduced. This chart have four section:
– The given data
– The required result
– The processing involved
– A list of solution alternative
Problem Analysis Chart (PAC)
Table 1 show the four section and how PAC looks like.
Table 1: The four parts in PAC
Given Data Required Result
Section 1 Section 2
Data given in the problem / Requirements for the output
provided by the user reports including the information
needed and the format required
Processing Required Solution Alternative
Section 3 Section 4
List of processing required List of ideas for the solution of the
including equations or other types problem
of processing
Example 1: PAC
PROBLEM:
A program is required to find average of five numbers.
Given Data Required Result
Number 1 Average of 5 numbers
Number 2
Number 3
Number 4
Number 5
Processing Required Solution Alternative
Total = Number 1 + Number 2 + i. Define the numbers as
Number 3 + Number 4 + Number 5 constants.
Average = Total / 5 ii. *Define the numbers as
input values
Try This!!!
PROBLEM:
A program is required to find the volume of a cube. Please construct
the PAC for this problem.
Given Data Required Result
Processing Required Solution Alternative
Interactivity Chart (IC)
Dividing the processing into subtask called
MODULE
Have main Connected to Each modules
module and sub show interaction contain task to
modules of process accomplish
between modules
Main module controls
the flow of the sub
modules
Interactivity Chart (IC)
Two type of writing a solution
Procedural Object Oriented
Programming Programming
Type of writing a Event driven - the user
solution is in control
Top-down method User decides order of
(processed from the execution of the
top to the bottom) module
The module only each subtask modules
process the tasks that are surround the
connected to it control module
IC – Procedural Programming
Control
Control Module 0000
Subtask Module 1 Module 2 Module 3
module (s) 1000 2000 3000
Sublevel Module 4 Module 5
module (s) 2100 2200
IC – Procedural Programming
Control
Controls the processing of all the data. The chart is display in top-
Module
down method and it means that as you divide the problem into
On top
subtasks, they demonstrate the order in which processes will occur
Labeled
from the top to the bottom of the chart.
(0000)
Subtask The next level of rectangles starting with the number 1000, 2000, 3000
Module(s) and increases from left to right by increments of 1000.
Sublevel
The next level of rectangles starting with increments of 100 as in 1100
Module(s)
IC – Procedural Programming
Control
Control Module
Tasks processed by 0000
module Loop/iteration
Module 1 Module 2 Module 3
1000 2000 3000
duplicate module
Module 4 Module 5
2100 2200
selection / decision
IC – Procedural Programming
TuitionFeesControl
0000
until NoMoreSubjects
Read Calc Print
1000 2000 3000
IC – Procedural Programming
TuitionFeesControl
0000
until NoMoreSubjects
Read Calc Print
1000 2000 3000
Level Subjects
1100 1200
IC – Object Oriented Programming
Module 6 Module 7
Module 3
Module 2 Module 3
Module 1
Control
Module 6 Module 6
IC – Object Oriented Programming
Read TuitionFeesControl Print
Calc
What is IPO?
IPO (Input – Processing -
Output)
Extends Emphasizing the
information in three
PAC and modules components of
in IC problem (input,
Have 4 parts processing and
output)
IPO (Input-Processing-Output)
Input Processing Module reference Output
Number / Names
All input data All processing in Module name from IC All output from
from PAC - steps from PAC PAC - section 1
section 1 - section 3 and 4 and 2
Example: IPO (Input-Processing-Output)
Problem: Calculate fees of a student in a tuition center. User need to insert
level of study (1 = UPSR, 2 = PT3, 3 = SPM and 4 = STPM) and subject (1 =
BM, 2 = BI, 3 = Math, 4 = Science etc.)
Input Processing Module reference Output
level 1. Enter level Read Tuition fees
subject 2. Enter subject Read
3. Calculate fees Calc
4. Print fees Print
5. End TuitionFeesControl
Example: IPO (Input-Processing-Output)
Problem: Calculate average of 3 numbers
Input Processing Module reference Output
Number1 1. Enter Number1 Read average
Number2 2. Enter Number2 Read
Number3 3. Enter Number3 Read
4. Calculate average = Calc
(Number1+Number2
+Number3)/3
5. Print average Print
6. End AverageControl
Try This!
Problem:
1. Write a Problem Analysis Chart (PAC) to find an area of a
rectangle where area = (1/2) * height * length. Then create
IC and IPO.
2. Write a Problem Analysis Chart (PAC) to convert the distance
in miles to kilometers where 1.609 kilometers per mile. Then
create IC and IPO.
Answer IPO
Answer Problem 1:
Given Data Required Result
height, length area
Processing Required Solution Alternative
area = (1/2) * height * length i. Define the height and
length as constants.
ii. *Define the height and
length as input values
Answer IC
Answer Problem 1:
CalAreaControl
0000
Read Calc Print
1000 2000 3000
Answer IPO
Answer Problem 1:
Input Processing Module Output
height 1. Enter height 1000 Area of a
length 2. Enter length 1000 rectangle
3. Calculate area = (1/2) * 2000
height x length
4. Display area 3000
5. End 0000
Answer
Answer Problem 2:
Given Data Required Result
Distance in miles Distance in kilometers
Processing Required Solution Alternative
kilometers = 1.609 x miles i. Define the miles as
constants.
ii. *Define the miles as input
values
Answer IC
Answer Problem 2:
CalDistanceControl
0000
Read Calc Print
1000 2000 3000
Answer IPO
Answer Problem 2:
Input Processing Module Output
miles 1. Enter miles 1000 Distance in
2. Calculate kilometers = 2000 kilometers
1.609 x miles
3. Display kilometers 3000
4. End 0000
Conclusion / What we have learn today?
Problem Analysis Charts – a beginning analysis of the problem
Interactivity Charts – shows the overall layout or structure of the solution
IPO Chart – shows the input, the processing and the output
Author Information
NOOR AZIDA BINTI SAHABUDIN
Senior Lecturer
Faculty of Computer Systems & Software Engineering
Universiti Malaysia Pahang
PhD in Educational Technology