PSEUDOCODE,
ALGORITHMS AND
FLOWCHARTS
Algorithm
Definition: An algorithm is a finite sequence
of instructions, a logical and explicit step-by-
step
procedure for solving a problem starting
from a known beginning.
Introduction to Algorithms
A sequence of finite steps to solve a particular
problem.
An Algorithm is a set of well-defined instructions
designed to perform a specific set of tasks.
Designing an algorithm is important before
writing the program code as the algorithm
explains the logic even before the code is
developed.
Qualities of a good algorithm
Inputs and outputs should be defined precisely.
Each step in algorithm should be clear and unambiguous.
Algorithm should be most effective among many
different ways to solve a problem.
An algorithm shouldn't have computer code. Instead, the
algorithm should be written in such a way that, it can be
used in similar programming languages.
The solution must follow a logical path: the order of the
instructions is important
Properties of an Algorithm
Input: The inputs of the algorithm are defined and specific
for the type of algorithm that is being used.
Output: The outputs are specifically related to the inputs.
Definiteness: The steps in the algorithm are very clear
and detailed. There is no ambiguousness in the steps.
Effectiveness: The steps in the algorithm are doable, not
redundant, and provide results desired.
Finiteness: The algorithm has an end to the number of
steps it follows.
Algorithm Representation
Using Flowchart - Algorithms can be represented as a
flowchart. At the top of the flowchart is the start. The
start bubble is then connected to whatever can
happen next. Sometimes it's one bubble, sometimes
it's more than one. Those bubbles are connected to
more bubbles depending on what can happen next in
the algorithm. The flowchart ends when there are no
more possibilities for next steps.
Using Pseudocode - It is an informal and contrived
way of writing programs in which you represent the
sequence of actions and instructions (aka algorithms)
in a form that humans can easily understand.
Defining Pseudocode
Pseudocode is a simple way of writing programming code
in English.
Pseudocode is not actual programming language. It uses
short phrases to write code for programs before you actually
create it in a specific language.
Once you know what the program is about and how it will
function, then you can use pseudocode to create statements
to achieve the required results for your program.
Example of Pseudocode
Write a pseudocode to add 2 numbers
together and then display the result.
Start Program
Enter two numbers, A, B
Add the numbers together
Print Sum
End Program
Pseudocode & Algorithm
Example 1: Write an algorithm to
determine a student’s final grade and
indicate whether it is passing or failing.
The final grade is calculated as the
average of four marks.
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
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
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
Example
START
Step 1: Input M1,M2,M3,M4
Step 2: GRADE (M1+M2+M3+M4)/4
Input
M1,M2,M3,M4
Step 3: if (GRADE <50) then
Print “FAIL”
else
GRADE(M1+M2+M3+M4)/4 Print “PASS”
endif
N Y
IS
GRADE<50
PRINT PRINT
“PASS” “FAIL”
STOP
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)
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
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
Example 3
Algorithm START
Step 1: Input W,L Input
W, L
Step 2: AL x W
Step 3: Print A ALxW
Print
A
STOP
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 pseudocode: while a
pseudocode description is verbal, a flowchart is
graphical in nature.
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.
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.
Flowchart – sequence control structure
Statement 1
Statement 2
Statement 3
:
Flowchart – selection control structure
No Yes
Condition
else- then-
statement(s) statement(s)
Flowchart – repetition control structure
yes Loop
Condition
Statement(s)
no
Flowchart – example 1
Begin
Read birth date
Calculate
Age = current year – birth date
Display
age
End
Flowchart – example 2
Begin
Read age
YES Age > 55? NO
print “Pencen” print “Kerja lagi”
End
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
Example 4
Write an algorithm and draw a flowchart that
will calculate the roots of a quadratic equation
ax 2 bx c 0
Hint: d = sqrt ( b 2 4ac ), and the roots are:
x1 = (–b + d)/2a and x2 = (–b – d)/2a
Exercises: Algorithm & Flowchart
1.) Create an algorithm and a flowchart that
will accept/read two numbers and then
display the bigger number.
Exercises: Algorithm & Flowchart
2.) Create an algorithm and a flowchart that
will compute the area of a circle.
Exercises: Algorithm & Flowchart
3.) Create an algorithm and a flowchart that will
compute the sum of two numbers. If the sum is
below or equal to twenty, two numbers will be
entered again. If the sum is above 20, it will
display the sum.
Exercises: Algorithm & Flowchart
4) Create an algorithm and a flowchart that
will output the largest number among the
three numbers.
Assignment 1
1. Create an algorithm and a flowchart that will output for g.c.d.
2. Create an algorithm and a flowchart that will output the factorial of a
given number.
3. Create an algorithm and a flowchart that will output the Fibonacci
series up to a given number.
4. Create an algorithm and a flowchart that will output all the prime
numbers between 2 numbers.