Module 2 – Flowcharts &
Algorithms
BITS Pilani Dr. Jagat Sesh Challa
Pilani Campus
Department of Computer Science & Information Systems
Module Overview
• Steps of Programming Practices
• Flowcharts
• Algorithms
Dept. of Computer Science & Information Systems, BITS Pilani, Pilani Campus
BITS Pilani
Pilani Campus
Steps of Programming Practices
Steps of Programming Practices
• Step1: Requirements
• Step2: Creating a flow chart We are going to
look at Flowcharts
and Algorithms
• Step3: Creating algorithms
• Step4: Writing Code
• Step5: Debugging
• Step6: Documentation
Dept. of Computer Science & Information Systems, BITS Pilani, Pilani Campus
BITS Pilani
Pilani Campus
Flowcharts
Flow Chart
• A Graphical representation of a solution to a particular
problem
• Created by Von Neumann in 1945
• Flowcharts help in developing logic and algorithms before
writing a program
Dept. of Computer Science & Information Systems, BITS Pilani, Pilani Campus
How to make a flow chart
Step1: Identify input and output.
Step2: Apply reasoning skills to solve the problem
Step3: Draw the flowchart using the appropriate symbols and
arrows to show the sequence of steps in solving the problem
Dept. of Computer Science & Information Systems, BITS Pilani, Pilani Campus
Symbols used in Flow Charts
Start and End Symbol Flow Line
Single Flow Line Shows the logical flow of control
For Input and Output Decision Symbol
2 Flow Lines One flow of line for Input and two for Output
Process Calculation Connector
2 Flow Lines Connects separate portions of a flow chart
Dept. of Computer Science & Information Systems, BITS Pilani, Pilani Campus
Flow Chart Example 1:
Sum of two numbers
Start
Declare variables num1,
num2 and sum
Read num1 and
num2
sum = num1+num2
Display sum
Stop
Dept. of Computer Science & Information Systems, BITS Pilani, Pilani Campus
Flow Chart Example 2:
Whether a number is even or odd
Start
Declare variable num
Read num
No is Yes
num mod 2 == 0
Display “number Display “number
is odd” is even”
Stop
Dept. of Computer Science & Information Systems, BITS Pilani, Pilani Campus
Flow Chart Example 3:
Sum of 10 Numbers
Start
Declare variables
n = 1, sum = 0, x = 0
Yes is No
n <= 10
Read x Display sum
sum = sum + x
n=n+1 Stop
Dept. of Computer Science & Information Systems, BITS Pilani, Pilani Campus
BITS Pilani
Pilani Campus
Algorithms
Algorithms
“Algorithms are a way of laying out a problem
independent of the programming language”
Dept. of Computer Science & Information Systems, BITS Pilani, Pilani Campus
Programming Methodologies
Top General approach Abstract
to a larger problem
Approach Approach Approach
to part of to part of to part of
problem problem problem
Specific Specific Specific Specific
steps steps steps steps
Bottom Particular
The algorithms
Dept. of Computer Science & Information Systems, BITS Pilani, Pilani Campus
Top-down vs Bottom-up
Programming
• Top – Down Programming:
❑ Reverse engineers the finished products by breaking it into
smaller, manageable or reusable modules.
❑ Big picture is visualized first before breaking it up into separate
components.
• Bottom – UP Programming:
❑ Low level components are designed first without fully knowing the
big picture.
❑ The components are later integrated to form the complete
system.
Dept. of Computer Science & Information Systems, BITS Pilani, Pilani Campus
What is an Algorithm?
❖ Step by step solution to a problem in English like language.
❖ It is a finite set of clear and unambiguous steps that must be
followed to solve a computing problem.
❖ The programmer can convert the algorithm to a program in any
language.
Dept. of Computer Science & Information Systems, BITS Pilani, Pilani Campus
Programming Logic Constructs
• Imperative statements (Actions)
• Conditional statements (Decision Making)
• Iterative Statements (Repetition / Loops)
Dept. of Computer Science & Information Systems, BITS Pilani, Pilani Campus
Algorithm Example 1:
Sum of two numbers (Imperative)
Start
Declare variables num1,
num2 and sum 1. START
2. Initialize sum=0
Read num1 and 3. INPUT the numbers num1, num2
num2
4. Set sum = num1 + num2.
sum = num1+num2 5. PRINT sum
6. END
Display sum
Stop
Dept. of Computer Science & Information Systems, BITS Pilani, Pilani Campus
Algorithm Example 2:
Whether a number is even or odd (Conditionals)
1. START
Start
2. Declare num
Declare variable num
3. INPUT the number num
Read num
4. IF num mod 2 == 0 THEN
No is
num mod 2 == 0
Yes continue ELSE GOTO step 7
Display “number Display “number
5. PRINT “number is even”
is odd” is even”
6. GOTO step 8
Stop
7. PRINT “number is ODD”
8. END
Dept. of Computer Science & Information Systems, BITS Pilani, Pilani Campus
Algorithm Example 3:
Sum of 10 Numbers (Iterative)
1. START
Start 2. Declare n=1, sum=0, x=0
Declare variables 3. IF n <=10 THEN continue ELSE
n = 1, sum = 0, x = 0
GOTO step 8
Yes is No
4. INPUT x
n <= 10
Read x Display sum
5. Set sum = sum + x
sum = sum + x
6. Set n = n + 1
n=n+1 Stop
7. GOTO step 3
8. PRINT sum
9. END
Dept. of Computer Science & Information Systems, BITS Pilani, Pilani Campus
Exercise
Roots of Quadratic equation
𝑎𝑥2 + 𝑏𝑥 + 𝑐 = 0 has the following roots:
𝐷 = 𝑏 2 − 4𝑎𝑐
If D>0 thenx
root 1 = −𝑏 + 𝐷/2𝑎
root 2 = −𝑏 − 𝐷/2𝑎
• Draw a flowchart to find roots of the above quadratic equation
• Write an equivalent algorithm for the above flow chart
Dept. of Computer Science & Information Systems, BITS Pilani, Pilani Campus
More Exercises
• Draw a flowchart and write its corresponding algorithm for
checking if a number n entered by the user is a prime number
or not. [Hint: Check for all numbers from 1 to n/2 if they divide
n with remainder 0 or not. If none of them divides, n is a prime
number]
• Draw a flowchart and write its corresponding algorithm for
computing the greatest common divisor (GCD) of two numbers
entered by the user. [Hint: Follow this link to understand what is
GCD]
Dept. of Computer Science & Information Systems, BITS Pilani, Pilani Campus
BITS Pilani
Pilani Campus