Appendix C Introduction To Flowcharting: Flowchart
Appendix C Introduction To Flowcharting: Flowchart
Appendix C
Introduction to Flowcharting
This appendix provides a brief introduction to flowcharting. It includes example flowcharts for
programs that appear in Chapters 1–6. In addition, a complete lesson on flowcharting is included
on the student disk. The lesson is stored in a PowerPoint file named Flowchart.ppt.
A flowchart is a diagram that depicts the “flow” of a program. It contains symbols that repre-
sent each step in the program. The figure shown here is a flowchart for Program 1-1, the pay-cal-
culating program in Chapter 1.
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
1233
1234 Introduction to Flowcharting
Notice there are three types of symbols in this flowchart: rounded rectangles (representing termi-
nal points), parallelograms (representing input/output operations), and a rectangle (representing
a process).
Terminal Input/Output Processes
Operations
The rounded rectangles, or terminal points, indicate the flowchart’s starting and ending points.
The parallelograms designate input or output operations. The rectangle depicts a process such as
a mathematical computation, or a variable assignment. Notice that the symbols are connected
with arrows that indicate the direction of program flow.
Connectors
Sometimes a flowchart is broken into two or more smaller flowcharts. This is usually done when a
flowchart does not fit on a single page, or must be divided into sections. A connector symbol,
which is a small circle with a letter or number inside it, allows you to connect two flowcharts.
In the figure below, the A connector indicates that the second flowchart segment begins where the
first flowchart segment ends.
START A
END
A
Introduction to Flowcharting 1235
Flowchart Structures
There are four general flowchart structures:
¢ Sequence
¢ Decision
¢ Repetition
¢ Case
A sequence structure is a series of actions or steps, performed in order. The flowchart for the pay-
calculating program is an example of a sequence structure. The following flowchart is also a
sequence structure. It depicts the steps performed in Program 2-20, from Chapter 2.
START
Calculate Regular
Wages as Base
Pay times
Regular Hours.
Calculate Overtime
Wages as
Overtime Pay
times Overtime
Hours.
Calculate Total
Wages as Regular
Wages plus
Overtime Wages.
Display
Total Pay
END
The flowchart, which is another sequence structure, depicts the steps performed in Program 3-14
(from Chapter 3). Notice the use of connector symbols to link the two flowchart segments.
1236 Introduction to Flowcharting
START A
Read sold.
Subtract sold
from store3.
Subtract Sold
from store1.
Display inventory
values for all
A three stores.
END
the question is “yes,” the program flow follows one path. If the answer to the question is “no,”
the program flow follows another path. The following figure shows the general form of a deci-
sion structure.
NO YES
In the following flowchart segment, the question “is x < y?” is asked. If the answer is no, then pro-
cess A is performed. If the answer is yes, then process B is performed.
NO YES
x < y?
Process A Process B
The following flowchart depicts the logic of Program 4–9, from Chapter 4. The decision structure
shows that one of two possible messages is displayed on the screen, depending on the value of the
expression number % 2.
1238 Introduction to Flowcharting
Read number.
NO YES
number % 2
equal to 0?
Display Display
”Number is ”Number is
odd.” even.”
END
The following flowchart depicts the logic of Program 4–33, which is also from Chapter 4. One of
5 possible paths is followed, depending on the value stored in the variable choice.
Introduction to Flowcharting 1239
Display Health
Club membership
Menu.
Read menu
selection into
choice.
Read months.
CASE
choice
1 2 3 4 Other
END
Repetition Structures
A repetition structure represents part of the program that repeats. This type of structure is com-
monly known as a loop. The following figure shows an example of a repetition structure.
YES
x < y? Process A
Notice the use of the diamond symbol. A repetition structure tests a condition, and if the condi-
tion exists, it performs an action. Then it tests the condition again. If the condition still exists, the
1240 Introduction to Flowcharting
action is repeated. This continues until the condition no longer exists. In the flowchart segment
above, 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.
There are two forms of repetition structure: pre-test and post-test. A pre-test repetition
structure tests its condition before it performs an action. The flowchart segment above shows a
pre-test structure. Notice that Process A does not execute at all if the condition “x < y” is not true.
The pre-test repetition structure is coded in C++ as a while loop.
A post-test repetition structure tests its condition after it performs an action. This type of
loop always performs its action at least once. The following flowchart segment shows an example.
Process A
YES
x < y?
NO
START
number = 1.
Display Table
Headings.
NO
END
Introduction to Flowcharting 1241
Modules
A program module (such as a function in C++) is represented by the special symbol shown below:
The position of the module symbol indicates the point the module is executed, as shown in the
following figure:
START
Read Input.
Call calc_pay
function.
Display results.
END
A separate flowchart can then be constructed for the module. The following figure shows a flow-
chart for Program 6-10 from Chapter 6. The Adult, Child, and Senior modules appear as separate
flowcharts.
1242 Introduction to Flowcharting
Read months.
CASE
Choice
1 2 3 4 Default
Call adult Call child Call senior Display goodbye Display error
Module. Module. Module. message. message.
choice YES
! = 4?
NO
END