Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This...

54
1 Introduction to Flowcharting

Transcript of Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This...

Page 1: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

1

Introduction to

Flowcharting

Page 2: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

2

Acknowledgment

This tutorial is based upon Appendix C from

Starting Out with C++:

From Control Structures to Objects

(5th Edition)

Copyright Tony Gaddis 2007

Published by Addison-Wesley

Page 3: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

Definitions

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

Page 4: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

Need for the flowchart

• Efficient Communication

• Efficient Analysis

• Proper Documentation

• Easy and efficient coding

• Program Debugging

• Program Maintenance

Page 5: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

5

What is a Flowchart?

• A flowchart is a

diagram that depicts

the “flow of control”

of a program.

START

Display message

“How many

hours did you

work?”

Read Hours

Display message

“How much do

you get paid per

hour?”

Read PayRate

Multiply Hours

by PayRate.

Store result in

GrossPay.

Display

GrossPay

END

Page 6: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

6

Basic Flowchart

Symbols

• Notice there are three

types of symbols in this

flowchart:

– rounded rectangles

– parallelograms

– a rectangle

• Each symbol represents

a different type of

operation.

START

Display message

“How many

hours did you

work?”

Read Hours

Display message

“How much do

you get paid per

hour?”

Read PayRate

Multiply Hours

by PayRate.

Store result in

GrossPay.

Display

GrossPay

END

Rounded

Rectangle

Parallelogram

Rectangle

Rounded

Rectangle

Page 7: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

7

Basic Flowchart

Symbols

• Terminals

– represented by rounded

rectangles

– indicate a starting or

ending point

START

Display message

“How many

hours did you

work?”

Read Hours

Display message

“How much do

you get paid per

hour?”

Read PayRate

Multiply Hours

by PayRate.

Store result in

GrossPay.

Display

GrossPay

END

Terminal

START

END Terminal

Page 8: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

8

Basic Flowchart

Symbols

• Input/Output Operations

– represented by

parallelograms

– indicate an input or output

operation

START

Display message

“How many

hours did you

work?”

Read Hours

Display message

“How much do

you get paid per

hour?”

Read PayRate

Multiply Hours

by PayRate.

Store result in

GrossPay.

Display

GrossPay

END

Display message

“How many

hours did you

work?”

Read Hours

Input/Output

Operation

Page 9: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

9

Basic Flowchart

Symbols

• Processes

– represented by rectangles

– indicates a process such as

a mathematical

computation or variable

assignment

START

Display message

“How many

hours did you

work?”

Read Hours

Display message

“How much do

you get paid per

hour?”

Read PayRate

Multiply Hours

by PayRate.

Store result in

GrossPay.

Display

GrossPay

END

Multiply Hours

by PayRate.

Store result in

GrossPay.

Process

Page 10: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

10

Stepping Through

the Flowchart

START

Display message

“How many

hours did you

work?”

Read Hours

Display message

“How much do

you get paid per

hour?”

Read PayRate

Multiply Hours

by PayRate.

Store result in

GrossPay.

Display

GrossPay

END

Variable Contents:

Hours: ?

PayRate: ?

GrossPay: ?

Stepping Through

the FlowchartIn the next seven slides we

will step through each

symbol in the flowchart. We

will show the program

output and the contents of

the variables.

Page 11: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

11

Stepping Through

the Flowchart

How many

hours did

you work?

START

Display message

“How many

hours did you

work?”

Read Hours

Display message

“How much do

you get paid per

hour?”

Read PayRate

Multiply Hours

by PayRate.

Store result in

GrossPay.

Display

GrossPay

END

Variable Contents:

Hours: ?

PayRate: ?

GrossPay: ?

Step 1: An

Output

Operation

Stepping Through

the Flowchart

Screen Output

Page 12: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

12

Stepping Through

the Flowchart

How many

hours did

you work?

40

START

Display message

“How many

hours did you

work?”

Read Hours

Display message

“How much do

you get paid per

hour?”

Read PayRate

Multiply Hours

by PayRate.

Store result in

GrossPay.

Display

GrossPay

END

Variable Contents:

Hours: 40

PayRate: ?

GrossPay: ?

Step 2: An Input

Operation

(User types 40)

Stepping Through

the Flowchart

The value 40 is stored in Hours.

Page 13: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

13

Stepping Through

the Flowchart

How much

do you get

paid per

hour?

START

Display message

“How many

hours did you

work?”

Read Hours

Display message

“How much do

you get paid per

hour?”

Read PayRate

Multiply Hours

by PayRate.

Store result in

GrossPay.

Display

GrossPay

END

Variable Contents:

Hours: 40

PayRate: ?

GrossPay: ?

Step 3: An

Output

Operation

Stepping Through

the Flowchart

Screen Output

Page 14: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

14

Stepping Through

the Flowchart

How much

do you get

paid per

hour? 20

START

Display message

“How many

hours did you

work?”

Read Hours

Display message

“How much do

you get paid per

hour?”

Read PayRate

Multiply Hours

by PayRate.

Store result in

GrossPay.

Display

GrossPay

END

Variable Contents:

Hours: 40

PayRate: 20

GrossPay: ?

Step 4: Input

Operation

(User types 20)

Stepping Through

the Flowchart

The value 20 is stored in PayRate.

Page 15: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

15

How much

do you get

paid per

hour? 20

START

Display message

“How many

hours did you

work?”

Read Hours

Display message

“How much do

you get paid per

hour?”

Read PayRate

Multiply Hours

by PayRate.

Store result in

GrossPay.

Display

GrossPay

END

Variable Contents:

Hours: 40

PayRate: 20

GrossPay: 800

Step 5: The product of

Hours times PayRate is

stored in GrossPay

Stepping Through

the Flowchart

The value 800 is stored

in GrossPay.

Page 16: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

16

Stepping Through

the Flowchart

Your gross

pay is 800

START

Display message

“How many

hours did you

work?”

Read Hours

Display message

“How much do

you get paid per

hour?”

Read PayRate

Multiply Hours

by PayRate.

Store result in

GrossPay.

Display

GrossPay

END

Variable Contents:

Hours: 40

PayRate: 20

GrossPay: 800

Step 6: An Output

Operation

Screen Output

Page 17: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

Four Flowchart Structures

• Sequence

• Decision (Selection)

• Repetition (Iteration)

• Case

Page 18: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

18

Sequence Structure

• A series of actions are performed in sequence

• The pay-calculating example was a sequence

flowchart.

Page 19: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

19

Selection Structure

• One of two possible actions is taken, depending on

a condition.

Page 20: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

20

Selection 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

YESNO

Page 21: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

21

Selection 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.

YESNO

x < y?

Process BProcess A

Page 22: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

22

Selection Structure

• The flowchart segment below shows how a decision

structure is expressed in C as an if/else statement.

YESNO

x < y?

Calculate a

as x times 2.Calculate a

as x plus y.

if (x < y)

a = x * 2;

else

a = x + y;

Flowchart C Code

Page 23: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

23

Selection Structure

• The flowchart segment below shows a decision structure

with only one action to perform. It is expressed as an if

statement in C code.

if (x < y)

a = x * 2;

Flowchart C Code

YESNO

x < y?

Calculate a

as x times 2.

Page 24: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

24

Iteration Structure

• An iteration structure represents part of the program that

repeats. This type of structure is commonly known as a

loop.

Page 25: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

25

Iteration 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.

Page 26: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

26

Iteration Structure

• In the 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 iteration stops and the structure is exited.

x < y? Process A

YES

Page 27: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

27

Iteration Structure

• The flowchart segment below shows an iteration structure

expressed in C as a while loop.

while (x < y)

x++;

Flowchart C Code

x < y? Add 1 to x

YES

Page 28: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

28

Controlling an Iteration Structure

• The action performed by an iteration 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

it is no longer an infinite

loop?

x < y? Display x

YES

Page 29: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

29

Controlling an Iteration Structure

• ANSWER: By adding an action within the iteration that

changes the value of x.

x < y? Display x Add 1 to x

YES

Page 30: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

30

A Pre-Test Iteration Structure

• This type of structure is known as a pre-test iteration

structure. The condition is tested BEFORE any actions are

performed.

x < y? Display x Add 1 to x

YES

Page 31: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

31

A Pre-Test Iteration Structure

• In a pre-test iteration structure, if the condition does not

exist, the loop will never begin.

x < y? Display x Add 1 to x

YES

Page 32: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

32

A Post-Test Iteration Structure

• This flowchart segment shows a post-test

iteration structure.

• The condition is tested AFTER the actions

are performed.

• A post-test iteration structure always

performs its actions at least once.

Display x

Add 1 to x

YES

x < y?

Page 33: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

33

A Post-Test Iteration Structure

• The flowchart segment below shows a post-test iteration

structure expressed in C as a do-while loop.

do

{

cout << x << endl;

x++;

} while (x < y);

Flowchart

C CodeDisplay x

Add 1 to x

YES

x < y?

Page 34: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

Case Structure

• One of several possible actions is taken, depending

on the contents of a variable.

Page 35: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

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

Page 36: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

Case Structure

CASE

years_employed

1 2 3 Other

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

If years_employed = 1,

bonus is set to 100

If years_employed = 2,

bonus is set to 200If years_employed = 3,

bonus is set to 400

If years_employed is

any other value, bonus

is set to 800

Page 37: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

37

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

Page 38: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

38

Connectors

A

ASTART

END

•The “A” connector

indicates that the second

flowchart segment begins

where the first segment

ends.

Page 39: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

39

Modules

• A program module, such as a subprogram

(or function in C), is represented by a

special symbol.

Page 40: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

40

Modules

•The position of the module

symbol indicates the point the

module is executed.

•A separate flowchart can be

constructed for the module.

START

END

Read Input.

Call calc_pay

function.

Display results.

Page 41: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

41

Combining Structures

• Structures are commonly combined to create more

complex algorithms.

• The flowchart segment below combines a selection

structure with a sequence structure.

x < y? Display x Add 1 to x

YES

Page 42: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

42

• This flowchart segment

shows two selection

structures combined.

Combining Structures

Display “x is

within limits.”

Display “x is

outside the limits.”

YESNO

x > min?

x < max?

YESNO

Display “x is

outside the limits.”

Page 43: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

Review

• What do each of the following symbols

represent?

(Answer on next slide)

Page 44: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

Answer

• What do each of the following symbols

represent?

Terminal

Input/Output

Operation

Process

Decision

Connector

Module

Page 45: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

Review

• Name the four flowchart structures.

(Answer on next slide)

Page 46: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

Answer

• Sequence

• Decision

• Repetition

• Case

Page 47: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

• What type of structure is this?

Review

(Answer on next slide)

Page 48: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

Answer

• Repetition

Page 49: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

• What type of structure is this?

Review

(Answer on next slide)

Page 50: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

Answer

• Sequence

Page 51: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

• What type of structure is this?

Review

(Answer on next slide)

Page 52: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

Answer

• Case

Page 53: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

• What type of structure is this?

Review

(Answer on next slide)

Page 54: Introduction to Flowcharting - WordPress.comIntroduction to Flowcharting. 2 Acknowledgment This tutorial is based upon Appendix C from ... • Flowcharts are used not only as aids

Answer

• Decision