0% found this document useful (0 votes)
149 views37 pages

3 Algorithm and Flowchart 150823203936 Lva1 App6892

START Step 1: Input Lft Step 2: Lcm ← Lft x 30 Step 3: Print Lcm STOP Flowchart: START Input Lft Lcm ← Lft x 30 Print Lcm STOP

Uploaded by

software craze
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
149 views37 pages

3 Algorithm and Flowchart 150823203936 Lva1 App6892

START Step 1: Input Lft Step 2: Lcm ← Lft x 30 Step 3: Print Lcm STOP Flowchart: START Input Lft Lcm ← Lft x 30 Print Lcm STOP

Uploaded by

software craze
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 37

ALGORITHMS AND FLOWCHARTS

Why Algorithm is needed?


 Computer Program ?
 Set of instructions to perform some specific task
 Is Program itself a Software ?
 NO, Program is small part of software.
 Software merely comprises of Group of Programs (Source code),
 Code: refers to statements that are written in any programming
language as machine code or C code.
• Code is some time interchangeably used with program.

2
Why Algorithm is needed?
• Programming is both tedious and exciting.
 Tedious because like spoken languages programming languages
also have so many demanding rules.
 Exciting because writing program provides the programmer with
the chance to create something new also gives challenges of
solving a problem.
 It is very difficult to write direct programs in any language, just
like you can not start constructing building without the design of
building.
 For constructing a building you need design of building, similarly
for writing a large or good program you need algorithm.

3
Program design

Problem Program
Algorithm

 Program Design Process has 2 phases:

Problem Solving Phase

Creates an algorithm that solves the problem


Implementation (Coding) Phase

Translates the algorithm into a programming language

4
Algorithms
An algorithm is a finite set of steps defining the solution of a
particular problem.
Need not to belong one particular language
Sequence of English statements can also be algorithm
It is not a computer program
An algorithm can be expressed in English like language,called
pseudocode, in a programming language or in the form of
flowchart.

5
Algorithm Vs Program
What is the difference between an algorithm and a program?
 a program is an implementation of an algorithm to be run on a
specific computer and operating system.
 an algorithm is more abstract – it does not deal with machine
specific details – think of it as a method to solve a problem.
• What is good algorithm?
Efficient algorithms are good, we generally measure efficiency of
an algorithm on the basis of:
1. Time: algorithm should take minimum time to execute.
2. Space: algorithm should use less memory.

6
Algorithm Specification

Every algorithm must satisfy the


following criteria:
Input. Zero or more quantities are externally supplied.
Output. At least one quantity is produced.
Definiteness. Each instruction must be clear and
unambiguous(Unique meaning).
Finiteness. An algorithm terminates in a finite number of
steps.
Effectiveness. Every instruction must be basic enough to be
carried out than, means not so complex.

7
Pseudo code
Pseudocode is one of the methods that could be used to represent an
algorithm.
 It is not written in a specific syntax that is used by a programming
language and therefore cannot be executed in a computer.
There are lots of formats used for writing pseudocodes and most of
them borrow some of the structures from popular programming
languages such as C, Lisp, FORTRAN, etc.
 Also, natural language is used in Pseudocode when presenting
details that are not important.
Most of the algorithms are presented using pseudocode since they
can be read and understood using programmers who are familiar
with different programming languages.
 Some programming constructs used for Pseudo Code –
 READ, PRINT, SET, INITIALISE, INCREMENT, IF – THEN – ENDIF, IF –
THEN – ELSE – ENDIF,REPEAT – UNTIL, DO – WHILE etc.
8
What is the difference between
Algorithm and Pseudocode?
An algorithm is a well defined sequence of steps that
provides a solution for a given problem, while a pseudocode
is one of the methods that can be used to represent an
algorithm.
 While algorithms can be written in natural language,
pseudocode is written in a format that is closely related to
high level programming language structures.
 But pseudocode does not use specific programming language
syntax and therefore could be understood by programmers
who are familiar with different programming languages.
Additionally, transforming an algorithm presented in
pseudocode to programming code could be much easier than
converting an algorithm written in natural language.
9
Informal definition of an algorithm

10
Finding the largest integer
among five integers

11
Defining actions in Find Largest algorithm

12
ALGORITHM
REPRESENTATION

13
Example 1

Write an algorithm that finds the average of


two numbers
Solution:
AverageOfTwo
Input: Two numbers
1. Add the two numbers
2. Divide the result by 2
3. Return the result by step 2 2
End
14
Example 2

Write an algorithm to change a numeric


grade to a pass/fail grade.
Solution:
Pass/FailGrade
Input: One number
1. if (the number is greater than or equal to 40)
then
1.1 Set the grade to “pass”
else
1.2 Set the grade to “fail”
End if
2. Return the grade
End
15
Example 3

Write an algorithm for grading System of


JUET.

Marks range Grade


>=80 A
>=70 & <80 B
>=60 & <70 C
>=50 & <60 D
<50 F
16
Solution Algorithm for Grading
AlgoForGrade
Input: One number
1. if (the number is between 80 and 100, inclusive)
then
1.1 Set the grade to “A”
End if
2. if (the number is between 70 and 79, inclusive)
then
2.1 Set the grade to “B”
End if
Continues on the next slide
17
3. if (the number is between 60 and 69, inclusive)
then
3.1 Set the grade to “C”
End if
4. if (the number is between 50 and 59, inclusive)
then
4.1 Set the grade to “D”
End if
5. If (the number is less than 50)
then
5.1 Set the grade to “F”
End if
6. Return the grade
End
18 Dr. Vishnu Sharma
Example 5
Write an algorithm to find the largest of 1000 numbers.

Solution
FindLargest
Input: 1000 positive integers
1. Set Largest to 0
2. Set Counter to 0
3. while (Counter less than 1000)
3.1 if (the integer is greater than Largest)
then
3.1.1 Set Largest to the value of the integer
End if
3.2 Increment Counter
End while
4. Return Largest
19 End
Flowchart

A graphical representation of an algorithm, often used


in the design phase of programming to work out the
logical flow of a program.
Visual way to represent the information flow
Make our logic more clear
Help during writing of program
Make testing and debugging easy

20
21
Flowchart or program constructs
 Sequence: The order of execution, this typically refers to the
order in which the code will execute. Normally code executes
line by line, so line 1 then 2 then 3 and so on. 
 Selection: Selection, like branching, is a method of controlling the
execution sequence, you can create large control blocks, using if
statements testing a condition, or switch statements
evaluating a variable etc to control and change the execution of
the program depending on this environment and changing
variables. 
 Iteration (Repetition): Iteration is typically used to refer to
collections and arrays of variables and data. Repeating set of
instruction. Counting from 1 to 10, you are iterating over the first
10 numbers. for, while, do-while loops will be implemented for
22
iteration.
Flowchart Constructs

23
Flowchart Constructs (cont..)

24
Flowchart Constructs (cont..)

25
Example-1
Write an algorithm and draw a flowchart that
will read the two sides of a rectangle and
calculate its area.
Algorithm
Step 1: Take Width and Length as input
Step 2: Calculate Area by Width* Length
Step 3: Print Area.
Example-1

Pseudocode START

Step 1: Input W,L


Input
Step 2: A←L x W W, L

Step 3: Print A
A ←LxW

Print
A

STOP
Example-2
 Write an Pseudocode and draw a flowchart that will
take marks of four subjects and calculate the
average.Then if average marks are greater than 50 then
print PASS otherwise print FAIL.

28
Example-2
START

Input
Step 1: Input M1,M2,M3,M4
M1,M2,M3,M4 Step 2: AVG ← (M1+M2+M3+M4)/4
Step 3: if (AVG <50) then
AVG←(M1+M2+M3+M4)/4
Print “FAIL”
else
Print “PASS”
N IS Y endif
AVG<50

Print Print
“PASS” “FAIL”

STOP
Example 3
Write an algorithm and draw a flowchart to convert the
length in feet to centimeter.
Algorithm:
 Input the length in feet (Lft)
Calculate the length in cm (Lcm) by multiplying LFT with 30
Print length in cm (LCM)
Example 3
Pseudocode Flowchart
Step 1: Input Lft
Step 2: Lcm ← Lft x 30 START

Step 3: Print Lcm Input


Lft

Lcm ← Lft x 30
Print
Lcm

STOP
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
Example 4
 Algorithm:
Input the coefficients (a, b, c) of the quadratic equation
Calculate d
Calculate x1
Calculate x2
Print x1 and x2
START

Example 4 Input
a, b, c
Pseudocode:

d ← sqrt(b x b – 4 x a x c)
 Step 1: Input a, b, c
 Step 2: d ← sqrt ( b × b − 4 × a × c ) x1 ←(–b + d) / (2 x a)
 Step 3: x1 ← (–b + d) / (2 x a)
 Step 4: x2 ← (–b – d) / (2 x a) X2 ← (–b – d) / (2 x a)
 Step 5: Print x1, x2
Print
x1 ,x2

STOP
Example 5
Write an algorithm that reads three numbers and prints the
value of the largest number.
Example 5
Step 1: Input N1, N2, N3
Step 2: if (N1>N2) then
if (N1>N3) then
MAX ← N1 //[N1>N2, N1>N3]
else
MAX ← N3 //[N3>N1>N2]
endif
else
if (N2>N3) then
MAX ← N2 //[N2>N1, N2>N3]
else
MAX ← N3 //[N3>N2>N1]
endif
endif
Step 3: Print “The largest number is”, MAX
Flow Charts Limitation

 For very large program, flow chart goes for many pages
 Costly to draw flow charts for large program
 Difficult to modify

37

You might also like