Programming Fundamentals: Flow Chart & Pseudo Codes
Programming Fundamentals: Flow Chart & Pseudo Codes
Pseudocode
Pseudo code is part English, part program
logic
Its purpose is to describe in precise
algorithmic details.
It requires defining steps in sufficient detail
so that they can be converted into
computer program
Pseudo code
Adding two number
Take input
Enter 1st number
Enter 2nd number
Pseudocode
Convert degree Fahrenheit to Celsius
Take input
( Fahrenheit)
Apply formula
100/180*(Fah-32)
Store results
Show results
What is a Flowchart?
A flowchart is a
diagram that depicts
the flow of a
program.
The figure shown
here is a flowchart
for the paycalculating.
START
Display
message How
many hours did
you work?
Read Hours
Display
message How
much do you
get paid per
hour?
Read Pay Rate
Multiply
Hours by Pay
Rate. Store
result in
Gross Pay.
Display Gross
Pay
END
Basic Flowchart
Symbols
START
Display
message How
many hours did
you work?
Read Hours
Display
message How
much do you
get paid per
hour?
rounded rectangles
parallelograms
a rectangle
Each symbol
represents a different
type of operation.
Rounded
Rectangle
Rectangle
Rounded
Rectangle
Multiply
Hours by Pay
Rate. Store
result in
Gross Pay.
Display Gross
Pay
END
Parallelogra
m
Basic Flowchart
Symbols
START
Display
message How
many hours did
you work?
Terminals
Read Hours
represented by
rounded rectangles
indicate a starting or
ending point
Display
message How
much do you
get paid per
hour?
Read Pay Rate
Multiply
Hours by Pay
Rate. Store
result in
Gross Pay.
START
Display Gross
Pay
END
Terminal
END
Terminal
Basic Flowchart
Symbols
Input/Output
Operations
Display
message How
many hours did
you work?
Read Hours
represented by
parallelograms
indicate an input or
output operation
Display
message How
many hours
did you work?
START
Read Hours
Display
message How
much do you
get paid per
hour?
Read Pay Rate
Multiply
Hours by Pay
Rate. Store
result in
Gross Pay.
Display Gross
Pay
END
Input/Output
Operation
Basic Flowchart
Symbols
START
Display
message How
many hours did
you work?
Processes
represented by
rectangles
indicates a process such
as a mathematical
computation or variable
assignment
Multiply Hours
by Pay Rate.
Store result in
Gross Pay.
Read Hours
Display
message How
much do you
get paid per
hour?
Read Pay Rate
Process
Multiply
Hours by Pay
Rate. Store
result in
Gross Pay.
Display Gross
Pay
END
Stepping Through
the Flowchart
How many
hours did
you work?
START
Display
message How
many hours did
you work?
Read Hours
Display
message How
much do you
get paid per
hour?
Read Pay Rate
Variable Contents:
Hours: ?
Pay Rate: ?
Gross Pay: ?
Multiply
Hours by Pay
Rate. Store
result in
Gross Pay.
Display Gross
Pay
END
Output
Operation
Stepping Through
the Flowchart
How many
hours did
you work?
40
START
Display
message How
many hours did
you work?
Input
Operation
Read Hours
(User types
40)
Display
message How
much do you
get paid per
hour?
Read Pay Rate
Variable Contents:
Hours: 40
Pay Rate: ?
Gross Pay: ?
Multiply
Hours by Pay
Rate. Store
result in
Gross Pay.
Display Gross
Pay
END
Stepping Through
the Flowchart
How much
do you get
paid per
hour?
START
Display
message How
many hours did
you work?
Read Hours
Output
Operation
Display
message How
much do you
get paid per
hour?
Read Pay Rate
Variable Contents:
Hours: 40
Pay Rate: ?
Gross Pay: ?
Multiply
Hours by Pay
Rate. Store
result in
Gross Pay.
Display Gross
Pay
END
Stepping Through
the Flowchart
Display
message How
many hours did
you work?
Read Hours
How much
do you get
paid per
hour? 20
Display
message How
much do you
get paid per
hour?
Input
Operation
(User types
20)
Variable Contents:
Hours: 40
Pay Rate: 20
Gross Pay: ?
START
Multiply
Hours by Pay
Rate. Store
result in
Gross Pay.
Display Gross
Pay
END
Stepping Through
the Flowchart
START
Display
message How
many hours did
you work?
Read Hours
How much
do you get
paid per
hour?
Display
message How
much do you
get paid per
hour?
Read Pay Rate
Variable Contents:
Hours: 40
Pay Rate: 20
Gross Pay: 800
Process: The
product of 40
times 20 is
stored in
Gross Pay
Multiply
Hours by Pay
Rate. Store
result in
Gross Pay.
Display Gross
Pay
END
Stepping Through
the Flowchart
START
Display
message How
many hours did
you work?
Read Hours
Your gross
pay is 800
Display
message How
much do you
get paid per
hour?
Read Pay Rate
Variable Contents:
Hours: 40
Pay Rate: 20
Gross Pay: 800
Multiply
Hours by Pay
Rate. Store
result in
Gross Pay.
Output
Operation
Display Gross
Pay
END
Sequence
Decision
Repetition
Case
Sequence Structure
a series of actions are performed in sequence
The pay-calculating example was a sequence
flowchart.
Decision Structure
One of two possible actions is taken, depending
on a condition.
Decision Structure
A new symbol, the diamond, indicates a yes/no question.
If the answer to the question is yes, the flow follows one
path. If the answer is no, the flow follows another path
NO
YES
Decision Structure
In the flowchart segment below, the question is x < y?
is asked. If the answer is no, then process A is
performed. If the answer is yes, then process B is
performed.
NO
YES
x<
y?
Process
A
Process
B
Decision Structure
The flowchart segment below shows how a decision
structure is expressed in C++ as an if/else statement.
Flowchart
NO
C++ Code
YES
x<
y?
Calculate a
as x plus y.
if (x < y)
a = x * 2;
else
Calculate a
as x times
2.
a = x + y;
Decision Structure
The flowchart segment below shows a decision structure
with only one action to perform. It is expressed as an if
statement in C++ code.
Flowchart
NO
C++ Code
YES
x<
y?
if (x < y)
a = x * 2;
Calculate a
as x times
2.
Repetition Structure
A repetition structure represents part of the program that
repeats. This type of structure is commonly known as a
loop.
Repetition Structure
Notice the use of the diamond symbol. A loop tests a
condition, and if the condition exists, it performs an
action. Then it tests the condition again. If the condition
still exists, the action is repeated. This continues until the
condition no longer exists.
Repetition Structure
In the flowchart segment, the question is x < y? is
asked. If the answer is yes, then Process A is performed.
The question is x < y? is asked again. Process A is
repeated as long as x is less than y. When x is no longer
less than y, the repetition stops and the structure is
exited.
x < y?
YES
Process
A
Repetition Structure
The flowchart segment below shows a repetition
structure expressed in C++ as a while loop.
Flowchart
C++ Code
while (x < y)
x < y?
x++;
YES
Add 1 to
x
Case Structure
One of several possible actions is taken,
depending on the contents of a variable.
Case Structure
The structure below indicates actions to
perform depending on the value in
years_employed.
CASE
years_employed
1
bonus =
100
2
bonus =
200
3
bonus =
400
Other
bonus =
800
Case Structure
If years_employed =
2, bonus is set to 200
If years_employed =
1, bonus is set to 100
1
bonus =
100
If years_employed =
3, bonus is set to 400
If years_employed is
any other value,
bonus is set to 800
CASE
years_employed
2
bonus =
200
3
bonus =
400
Other
bonus =
800
Connectors
Sometimes a flowchart will not fit on one
page.
A connector (represented by a small
circle) allows you to connect two flowchart
segments.
Connectors
The A connector indicates
that the second flowchart
segment begins where the first
segment ends.
START
END
A
Modules
A program module (such as a function in
C++) is represented by a special symbol.
Modules
The position of the module symbol
indicates the point the module is
executed.
A separate flowchart can be
constructed for the module.
START
Read Input.
Call
calc_pay
function.
Display
results.
END
Combining Structures
Structures are commonly combined to create more
complex algorithms.
The flowchart segment below combines a decision
structure with a sequence structure.
YES
x < y?
Display x
Add 1 to
x
Combining Structures
This flowchart segment
shows two decision
structures combined.
NO
YES
x > min?
Display x is
outside the limits.
NO
YES
x<
max?
Display x is
outside the limits.
Display x is
within limits.