9/21/2024
ALGORITHMS AND
FLOWCHARTS
ALGORITHMS AND
FLOWCHARTS
◼ A typical programming task can be
divided into two phases:
◼ Problem solving phase
produce an ordered sequence of
steps that describe solution of
problem
this sequence of steps is called an
algorithm
◼ Implementation phase
implement the program in some
programming language
1
9/21/2024
Steps in Problem Solving
Pseudocode is an artificial
Refine the algorithm
and informal language that
First produce a general successively to get step by
helps programmers develop
algorithm (one can use step detailed algorithm
algorithms. Pseudocode is
pseudocode) that is very close to a
very similar to everyday
computer language.
English.
Pseudocode &
Algorithm
Example 1: Write an algorithm to determine a student’s final
grade and indicate whether it is passing or failing (PASSING is
above 50). The final grade is calculated as the average of four
marks.
2
9/21/2024
Pseudocode &
Algorithm
Pseudocode:
◼ Input a set of 4 marks
◼ Calculate their average by summing and dividing by 4
◼ if average is below 50
Print “FAIL”
else
Print “PASS”
Pseudocode & Algorithm
◼ Detailed Algorithm
◼ Step 1: Input M1,M2,M3,M4
Step 2: GRADE (M1+M2+M3+M4)/4
Step 3: if (GRADE < 50) then
Print “FAIL”
else
Print “PASS”
endif
3
9/21/2024
The Flowchart
◼ (Dictionary) A schematic representation of a sequence of operations,
as in a manufacturing process or computer program.
◼ (Technical) A graphical representation of the sequence of operations
in an information system or program.
Information system flowcharts show how data flows from source
documents through the computer to final distribution to users.
Program flowcharts show the sequence of instructions in a single
program or subroutine. Different symbols are used to draw each
type of flowchart.
The Flowchart
A Flowchart
shows logic of an algorithm
emphasizes individual steps and their interconnections
e.g. control flow from one action to the next
4
9/21/2024
Flowchart Symbols (Basic)
Name Symbol Use in Flowchart
Oval Denotes the beginning or end of the program
Parallelogram Denotes an input operation
Rectangle Denotes a process to be carried out
e.g. addition, subtraction, division etc.
Diamond Denotes a decision (or branch) to be made.
The program should continue along one of
two routes. (e.g. IF/THEN/ELSE)
Hybrid Denotes an output operation
Flow line Denotes the direction of logic flow in the program
START
Example
Input
M1,M2,M3,M4
Step 1: Input M1,M2,M3,M4
GRADE(M1+M2+M3+M4)/4 Step 2: GRADE (M1+M2+M3+M4)/4
Step 3: if (GRADE <50) then
Print “FAIL”
N Y
IS
GRADE<50
else
Print “PASS”
PRINT PRINT
endif
“PASS” “FAIL”
STOP
10
5
9/21/2024
Example 2
◼ Write an algorithm and draw a flowchart to convert the
length in feet to centimeter.
Pseudocode:
◼ Input the length in feet (Lft)
◼ Calculate the length in cm (Lcm) by multiplying LFT with
30
◼ Print length in cm (LCM)
11
Example 2
Flowchart
Algorithm START
◼ Step 1: Input Lft
Input
◼ Step 2: Lcm Lft x 30
Lft
◼ Step 3: Print Lcm Lcm Lft x 30
Print
Lcm
STOP
12
6
9/21/2024
Example 3
Write an algorithm and draw a flowchart that will read the two
sides of a rectangle and calculate its area.
Pseudocode
◼ Input the width (W) and Length (L) of a rectangle
◼ Calculate the area (A) by multiplying L with W
◼ Print A
13
Example 3
Algorithm START
◼ Step 1: Input W,L Input
W, L
◼ Step 2: A L x W
◼ Step 3: Print A ALxW
Print
A
STOP
14
7
9/21/2024
Flowcharts
◼ Flowcharts is a graph used to depict or show a step by
step solution using symbols which represent a task.
◼ The symbols used consist of geometrical shapes that are
connected by flow lines.
◼ It is an alternative to pseudocoding; whereas a
pseudocode description is verbal, a flowchart is graphical
in nature.
Principles of Programming - NI July 2005 15
15
Flowchart Symbols
Terminal symbol - indicates the beginning and
end points of an algorithm.
Process symbol - shows an instruction other than
input, output or selection.
Input-output symbol - shows an input or an output
operation.
Disk storage I/O symbol - indicates input from or output to
disk storage.
Printer output symbol - shows hardcopy printer
output.
Principles of Programming - NI July 2005 16
16
8
9/21/2024
Flowchart Symbols cont…
Selection symbol - shows a selection process
for two-way selection.
Off-page connector - provides continuation of a
logical path on another page.
On-page connector - provides continuation
of logical path at another point in the same
page.
Flow lines - indicate the logical sequence of
execution steps in the algorithm.
Principles of Programming - NI July 2005 17
17
Flowchart – sequence control structure
Statement 1
Statement 2
Statement 3
Principles of Programming - NI July 2005 18
18
9
9/21/2024
Flowchart – selection control structure
No Yes
Condition
else- then-
statement(s) statement(s)
Principles of Programming - NI July 2005 19
19
Flowchart – repetition control structure
yes Loop
Condition
Statement(s)
no
Principles of Programming - NI July 2005 20
20
10
9/21/2024
Flowchart – example 1
Begin
Read birth date
Calculate
Age = current year – birth date
Display
age
End
Principles of Programming - NI July 2005 21
21
Flowchart – example 2
Begin
Read age
YES Age > 55? NO
print “Retire” print “Still working”
End
Principles of Programming - NI July 2005 22
22
11
9/21/2024
Flowchart – example 5
Begin
sum = 0
current_number = 1
NO
current_number <= 10? print sum
YES
End
sum = sum + current_number
current_number = current_number + 1
Principles of Programming - NI July 2005 23
23
Example 4
24
12