Flowchart and Algo

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 46

Definition

•A flowchart depicts pictorially the sequence in which


instructions are carried out in an algorithm.
•A flowchart is a schematic representation of an
algorithm or a stepwise process, showing the steps of
boxes of various kinds and their order by connecting
these with arrows.
• Flowcharts are used not only as aids in developing
algorithms but also to document algorithms.
• Flowcharts are used in designing or documenting a
process or program.
Need for flowchart
• 1. Efficient Communication: since its represented in pictorial form a
flowchart seems to be the better way of communicating the logic to the
programmers or any common man.
• 2. Efficient Analysis: With the help of a flowchart problem can be analyzed
effectively.
• 3. Proper Documentation: flowchart plays an important role in
understanding the logic of complicated and lengthy problems. Hence it is
very much required to document the flowcharts along with algorithms.
• 4. Easy and efficient coding: by looking at the flowchart writing programs
is a straight forward approach.
• 5. Program Debugging: flowchart helps in debugging process i.e., to
identify the logical errors in the program.
• 6. Program Maintenance: Maintaining the software or set of programs
becomes easy.
Drawbacks of flowchart
• (i)
Complex logic: For complicated logic the flowchart
becomes complex and clumsy.
• (ii) Alterations and modifications: if there is a change in
the logic, the flowchart has to be completely rewritten
and requires lot of time.
• (iii) Reproduction: in the case of any problem,
reproduction of flowchart becomes problem since the
flowchart symbols cannot be typed.
Four Flowchart Structures
• Sequence
• Decision
• Repetition
• Case
Sequence Structure
• A series of actions are performed in sequence.
• Thepay-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.

Flowchart

NO YES
x < y?

Calculate a Calculate a
as x plus y. as x times 2.
Decision Structure
• The flowchart segment below shows a decision
structure with only one action to perform.

Flowchart

NO YES
x < y?

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
• Inthe 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.

YES
x < y? Process A
Repetition Structure
• The flowchart segment below shows a repetition
structure.

Flowchart

YES
x < y? Add 1 to x
Controlling a Repetition Structure
• The action performed by a repetition structure must
eventually cause the loop to terminate. Otherwise, an
infinite loop is created.
• In this flowchart segment, x is never changed. Once the
loop starts, it will never end.
• QUESTION: How can this
flowchart be modified so YES
it is no longer an infinite x < y? Display x
loop?
Controlling a Repetition Structure
• ANSWER: By adding an action within the repetition that
changes the value of x.

YES
x < y? Display x Add 1 to x
A Pre-Test Repetition Structure
• Thistype of structure is known as a pre-test repetition
structure. The condition is tested BEFORE any actions
are performed.

YES
x < y? Display x Add 1 to x
A Pre-Test Repetition Structure
• In
a pre-test repetition structure, if the condition does
not satify, the loop will never begin.
A Post-Test Repetition Structure
• This flowchart segment shows a post-
test repetition structure.
• The condition is tested AFTER the Display x
actions are performed.
• A post-test repetition structure always Add 1 to x
performs its actions at least once.

YES
x < y?
A Post-Test Repetition Structure
• The flowchart segment below shows a post-test
repetition structure.

Display x

Flowchart Add 1 to x

YES
x < y?
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 2 3 Other

bonus = 100 bonus = 200 bonus = 400 bonus = 800


Case Structure

If years_employed = 2, If years_employed = 3,
bonus is set to 200 bonus is set to 400
If years_employed = 1, If years_employed is
CASE
bonus is set to 100 years_employed any other value, bonus
is set to 800

1 2 3 Other

bonus = 100 bonus = 200 bonus = 400 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.

A
Connectors

• The “A” connector


A
indicates that the second START

flowchart segment begins


where the first segment
ends.

END
A
Modules
• A program module (such as a function) is represented by a special
symbol.
Modules
START
•The position of the module
symbol indicates the point the Read Input.
module is executed.
•A separate flowchart can be Call calc_pay
function.
constructed for the module.

Display results.

END
Combining Structures
• Structures are
commonly combined
to create more NO YES
complex algorithms. x > min?
• This flowchart
segment shows two
decision structures Display “x is
combined.
NO YES
outside the limits.”
x < max?

Display “x is Display “x is
outside the limits.” within limits.”
Review
• What do each of the following symbols represent?

(Answer on next slide)


Answer
• What do each of the following symbols represent?

Decision
Terminal

Input/Output
Operation Connector

Process Module
Review
• Name the four flowchart structures.

(Answer on next slide)


Answer
• Sequence
• Decision
• Repetition
• Case
Review
• What type of structure is this?

(Answer on next slide)


Answer
• Repetition
Review
• What type of structure is this?

(Answer on next slide)


Answer
• Sequence
Review
• What type of structure is this?

(Answer on next slide)


Answer
• Case
Review
• What type of structure is this?

(Answer on next slide)


Answer
• Decision
What is an algorithm?
• An algorithm is “a finite set of precise
instructions for performing a computation or for
solving a problem”
• A program is one type of algorithm
• All programs are algorithms
• Not all algorithms are programs!
• Directions to somebody’s house is an algorithm
• A recipe for cooking a cake is an algorithm
• The steps to compute the cosine of 90° is an algorithm

42
Some algorithms are harder than
others
• Some algorithms are easy
• Finding the largest (or smallest) value in a list
• Finding a specific value in a list

• Some algorithms are a bit harder


• Sorting a list

• Some algorithms are very hard


• Finding the shortest path between Miami and Seattle

• Some algorithms are essentially impossible


• Factoring large composite numbers

43
Properties of algorithms
• Algorithms generally share a set of properties:
• Input: what the algorithm takes in as input
• Output: what the algorithm produces as output
• Definiteness: the steps are defined precisely
• Correctness: should produce the correct output
• Finiteness: the steps required should be finite
• Effectiveness: each step must be able to be performed
in a finite amount of time
• Generality: the algorithm should be applicable to all
problems of a similar form

44
To Add two numbers

Step 1: Start (use start box of flow chart)


Step 2: Declare variables num1, num2 and sum. (use process
box)
Step 3: Read values for num1, num2. (use input output box)
Step 4: Add num1 and num2 and assign the result to a
variable sum. (use process box
Step 5: Display sum (use input output box)
Step 6: Stop (end box)

You might also like