Introduction to Flowcharting
-
Upload
dorian-yang -
Category
Documents
-
view
81 -
download
0
description
Transcript of Introduction to Flowcharting
![Page 1: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/1.jpg)
(C)opyright 2000 Scott/Jones Publishers
Introduction to Flowcharting
A Supplement toStarting Out with C++
Brief Second Editionby Tony Gaddis
Scott/Jones Publishers
![Page 2: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/2.jpg)
(C)opyright 2000 Scott/Jones Publishers
What is a Flowchart?
• A flowchart is a diagram that depicts the “flow” of a program.
• The figure shown here is a flowchart for the pay-calculating program on page 12.
START
Display message “How many
hours did you work?”
Read Hours
Display message “How much do you get paid per
hour?”
Read Pay Rate
Multiply Hours by Pay Rate.
Store result in Gross Pay.
Display Gross Pay
END
![Page 3: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/3.jpg)
(C)opyright 2000 Scott/Jones Publishers
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 Pay Rate
Multiply Hours by Pay Rate.
Store result in Gross Pay.
Display Gross Pay
END
Rounded Rectangle
Parallelogram
Rectangle
Rounded Rectangle
![Page 4: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/4.jpg)
(C)opyright 2000 Scott/Jones Publishers
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 Pay Rate
Multiply Hours by Pay Rate.
Store result in Gross Pay.
Display Gross Pay
END
Terminal
START
END Terminal
![Page 5: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/5.jpg)
(C)opyright 2000 Scott/Jones Publishers
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 Pay Rate
Multiply Hours by Pay Rate.
Store result in Gross Pay.
Display Gross Pay
END
Display message “How many
hours did you work?”
Read Hours
Input/Output Operation
![Page 6: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/6.jpg)
(C)opyright 2000 Scott/Jones Publishers
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 Pay Rate
Multiply Hours by Pay Rate.
Store result in Gross Pay.
Display Gross Pay
END
Multiply Hours by Pay Rate.
Store result in Gross Pay.
Process
![Page 7: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/7.jpg)
(C)opyright 2000 Scott/Jones Publishers
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 Pay Rate
Multiply Hours by Pay Rate.
Store result in Gross Pay.
Display Gross Pay
END
Variable Contents:Hours: ?Pay Rate: ?Gross Pay: ?
Output Operation
Stepping Through the Flowchart
![Page 8: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/8.jpg)
(C)opyright 2000 Scott/Jones Publishers
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 Pay Rate
Multiply Hours by Pay Rate.
Store result in Gross Pay.
Display Gross Pay
END
Variable Contents:Hours: 40Pay Rate: ?Gross Pay: ?
Input Operation
(User types 40)
Stepping Through the Flowchart
![Page 9: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/9.jpg)
(C)opyright 2000 Scott/Jones Publishers
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 Pay Rate
Multiply Hours by Pay Rate.
Store result in Gross Pay.
Display Gross Pay
END
Variable Contents:Hours: 40Pay Rate: ?Gross Pay: ?
Output Operation
Stepping Through the Flowchart
![Page 10: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/10.jpg)
(C)opyright 2000 Scott/Jones Publishers
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 Pay Rate
Multiply Hours by Pay Rate.
Store result in Gross Pay.
Display Gross Pay
END
Variable Contents:Hours: 40Pay Rate: 20Gross Pay: ?
Input Operation
(User types 20)
Stepping Through the Flowchart
![Page 11: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/11.jpg)
(C)opyright 2000 Scott/Jones Publishers
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 Pay Rate
Multiply Hours by Pay Rate.
Store result in Gross Pay.
Display Gross Pay
END
Variable Contents:Hours: 40Pay Rate: 20Gross Pay: 800
Process: The product of 40 times 20 is stored in Gross Pay
Stepping Through the Flowchart
![Page 12: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/12.jpg)
(C)opyright 2000 Scott/Jones Publishers
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 Pay Rate
Multiply Hours by Pay Rate.
Store result in Gross Pay.
Display Gross Pay
END
Variable Contents:Hours: 40Pay Rate: 20Gross Pay: 800
Output Operation
![Page 13: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/13.jpg)
(C)opyright 2000 Scott/Jones Publishers
Four Flowchart Structures
• Sequence
• Decision
• Repetition
• Case
![Page 14: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/14.jpg)
(C)opyright 2000 Scott/Jones Publishers
Sequence Structure
• a series of actions are performed in sequence• The pay-calculating example was a sequence
flowchart.
![Page 15: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/15.jpg)
(C)opyright 2000 Scott/Jones Publishers
Decision Structure
• One of two possible actions is taken, depending on a condition.
![Page 16: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/16.jpg)
(C)opyright 2000 Scott/Jones Publishers
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
YESNO
![Page 17: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/17.jpg)
(C)opyright 2000 Scott/Jones Publishers
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.
YESNO
x < y?
Process BProcess A
![Page 18: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/18.jpg)
(C)opyright 2000 Scott/Jones Publishers
Decision 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 19: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/19.jpg)
(C)opyright 2000 Scott/Jones Publishers
Decision 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 20: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/20.jpg)
(C)opyright 2000 Scott/Jones Publishers
Repetition Structure
• A repetition structure represents part of the program that repeats. This type of structure is commonly known as a loop.
![Page 21: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/21.jpg)
(C)opyright 2000 Scott/Jones Publishers
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.
![Page 22: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/22.jpg)
(C)opyright 2000 Scott/Jones Publishers
Repetition 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 repetition stops and the structure is exited.
x < y? Process A
YES
![Page 23: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/23.jpg)
(C)opyright 2000 Scott/Jones Publishers
Repetition Structure
• The flowchart segment below shows a repetition structure expressed in C++ as a while loop.
while (x < y)
x++;
Flowchart C++ Code
x < y? Add 1 to x
YES
![Page 24: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/24.jpg)
(C)opyright 2000 Scott/Jones Publishers
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 thisflowchart be modified soit is no longer an infiniteloop?
x < y? Display x
YES
![Page 25: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/25.jpg)
(C)opyright 2000 Scott/Jones Publishers
Controlling a Repetition Structure
• ANSWER: By adding an action within the repetition that changes the value of x.
x < y? Display x
Add 1 to x
YES
![Page 26: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/26.jpg)
(C)opyright 2000 Scott/Jones Publishers
A Pre-Test Repetition Structure
• This type of structure is known as a pre-test repetition structure. The condition is tested BEFORE any actions are performed.
x < y? Display x
Add 1 to x
YES
![Page 27: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/27.jpg)
(C)opyright 2000 Scott/Jones Publishers
A Pre-Test Repetition Structure
• In a pre-test repetition structure, if the condition does not exist, the loop will never begin.
x < y? Display x
Add 1 to x
YES
![Page 28: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/28.jpg)
(C)opyright 2000 Scott/Jones Publishers
A Post-Test Repetition Structure
• This flowchart segment shows a post-testrepetition structure.
• The condition is tested AFTER the actionsare performed.
• A post-test repetition structure alwaysperforms its actions at least once.
Display x
Add 1 to x
YESx < y?
![Page 29: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/29.jpg)
(C)opyright 2000 Scott/Jones Publishers
A Post-Test Repetition Structure
• The flowchart segment below shows a post-test repetition structure expressed in C++ as a do-while loop.
do{
cout << x << endl;x++;
} while (x < y);
Flowchart
C++ Code Display x
Add 1 to x
YESx < y?
![Page 30: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/30.jpg)
(C)opyright 2000 Scott/Jones Publishers
Case Structure
• One of several possible actions is taken, depending on the contents of a variable.
![Page 31: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/31.jpg)
(C)opyright 2000 Scott/Jones Publishers
Case Structure
• The structure below indicates actions to perform depending on the value in years_employed.
CASEyears_employed
1 2 3 Other
bonus = 100 bonus = 200 bonus = 400 bonus = 800
![Page 32: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/32.jpg)
(C)opyright 2000 Scott/Jones Publishers
Case Structure
CASEyears_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 200
If years_employed = 3, bonus is set to 400
If years_employed is any other value, bonus is set to 800
![Page 33: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/33.jpg)
(C)opyright 2000 Scott/Jones Publishers
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 34: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/34.jpg)
(C)opyright 2000 Scott/Jones Publishers
Connectors
A
A
START
END
•The “A” connector indicates that the second flowchart segment begins where the first segment ends.
![Page 35: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/35.jpg)
(C)opyright 2000 Scott/Jones Publishers
Combining Structures
• Structures are commonly combined to create more complex algorithms.
• The flowchart segment below combines a decision structure with a sequence structure.
x < y? Display x
Add 1 to x
YES
![Page 36: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/36.jpg)
(C)opyright 2000 Scott/Jones Publishers
• This flowchart segment shows two decision structures combined.
Combining Structures
Display “x is within limits.”
Display “x is outside the limits.”
YESNOx > min?
x < max?
YES NO
Display “x is outside the limits.”
![Page 37: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/37.jpg)
(C)opyright 2000 Scott/Jones Publishers
Review
• What do each of the following symbols represent?
(Answer on next slide)
![Page 38: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/38.jpg)
(C)opyright 2000 Scott/Jones Publishers
Answer
• What do each of the following symbols represent?
Terminal
Input/Output Operation
Process
Decision
Connector
![Page 39: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/39.jpg)
(C)opyright 2000 Scott/Jones Publishers
Review
• Name the four flowchart structures.
(Answer on next slide)
![Page 40: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/40.jpg)
(C)opyright 2000 Scott/Jones Publishers
Answer
• Sequence• Decision• Repetition• Case
![Page 41: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/41.jpg)
(C)opyright 2000 Scott/Jones Publishers
• What type of structure is this?
Review
(Answer on next slide)
![Page 42: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/42.jpg)
(C)opyright 2000 Scott/Jones Publishers
Answer
• Repetition
![Page 43: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/43.jpg)
(C)opyright 2000 Scott/Jones Publishers
• What type of structure is this?
Review
(Answer on next slide)
![Page 44: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/44.jpg)
(C)opyright 2000 Scott/Jones Publishers
Answer
• Sequence
![Page 45: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/45.jpg)
(C)opyright 2000 Scott/Jones Publishers
• What type of structure is this?
Review
(Answer on next slide)
![Page 46: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/46.jpg)
(C)opyright 2000 Scott/Jones Publishers
Answer
• Case
![Page 47: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/47.jpg)
(C)opyright 2000 Scott/Jones Publishers
• What type of structure is this?
Review
(Answer on next slide)
![Page 48: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/48.jpg)
(C)opyright 2000 Scott/Jones Publishers
Answer
• Decision
![Page 49: Introduction to Flowcharting](https://reader033.fdocuments.in/reader033/viewer/2022061618/568135ca550346895d9d2c99/html5/thumbnails/49.jpg)
(C)opyright 2000 Scott/Jones Publishers
More Example Flowcharts• View the following MS-Word files to see more example flowcharts for programs in the book:
– Flowchart - Chapter 1.doc– Flowchart - Chapter 2.doc– Flowchart - Chapter 3.doc– Flowchart - Chapter 4.doc– Flowchart - Chapter 5.doc– Flowchart - Chapter 6.doc