Flowcharting Techniques

advertisement
Form C20-8152
r--1BM
Data Processing Techniques
Flowcharting Techniques
Adherence to standard techniques for the preparation of flowcharts of
data processing systems and procedures greatly increases effectiveness
of communication between the programmer analyst and the many groups
with whom he deals. The manual describes in detail the preparation of
system and program flowcharts. The symbols used are those provided
by the new IBM Flowcharting Template (X20-8020), which contains
cutouts for all flowchart symbols. The template envelope gives uses
for the symbols. The Flowchart Worksheet (X20-8021) is a means of
standardizing documentation. It provides space for drawing program
flowcharts and contains an area for identification of the job, including
application, procedure, date and pagination.
Documentation
CONTENTS
Introduction. . . . . . .
Flowcharting Template. .
System Flowcharts . . .
Basic Symbols. . . .
Special Medium, Input/Output and
Operation Symbols. . . . . . .
Examples of System Flowcharts .
Program. Flowcharts. • . . . . .
·
Basic Symbols. . .' . . . . . . . . . . ·
Special Processing Symbols.
·
.•
Techniques and Conventions.
Identification . . . . . . . .
•
Cross-referencing. .
•
Striping . . . . . . .
. •
Decision Techniques .
. •••
Descriptive Titles . . .
Examples of Program Flowcharts .
•
Flowcharting Symbols and Their Descriptions. •
1
2
3
3
6
6
15
15
16
17
17
17
17
18
19
21
34
Copies of this and other IBM publications can be obtained through mM Branch
Offices. Address comments concerning the contents of this publication to
IBM, Technical Publications Department, 112 East Post Road, 'White Plains,-N. Y. 10601
INTRODUCTION
The use of data processing equipment has focused
attention upon the necessity for an orderly representation of information flow. The sequence in
which operations are to be executed should be precisely stated. The data and the sequence of operations to be performed upon it together constitute·
the information flow.
Flowcharts are a means of presenting information
and operations so that they are easy to visualize and
follow. They show the flow of data through an information processing system, the operations performed
in the system, and the sequence in which they are
performed.
While flowcharts are now widely used in the field
of information processing, they are occasionally.
misinterpreted because of a lack of uniformity in the
meaning and use of specific symbols. In order to
reduce these misunderstandings, the flowchart
symbols used are consistent with those developed
by the X3. 6 committee on flowchart symbols for information processing. In addition, the company has
assigned certain other symbols to special functions
and media. These symbols are used in system and
program flowcharts.
A system flowchart describes the flow of data
through all parts of a system. In addition to three
basic symbols and the supplementary annotation
symbol, fourteen system flowchart symbols may be
used to describe this flow and the relationships
among information (and its medium), equipment,
equipment oper,ations and manual operations. In a
system flowchart an entire program run or phase is
always represented by a single processing symbol,
together with the input/output symbols.
A program flowchart describes what takes place
in a stored program. It displays specific operations
and decisions, and their sequence within the program.
In addition to three basic symbols, six program flowchart symbols may be used, as well as the supplementary annotation symbol.
This manual describes the standard symbols and
the basic techniques for their use in system and
program flowcharts.
1
FLOWCHARTING TEMPLATE
In order to encourage standardization in the use of
symbols, thereby simplifying the problem of exchanging information, IBM has made available the
Flowcharting Template (X20-8020) shown in Figure
1. The template includes all the symbols necessary
for drawing both system and program flowcharts.
The heavier grids at each symbol indicate the
centers of the symbols, and for those symbols
which can be striped (see page 18) the recommended
stripe placement is also indicated by a heavier grid.
"
I
H"f"ri jO'j"jTlO,"
~
\
t\
~Tf.~IN~L
Figure 1.
2
l'--.
'NrtJT/CtTJT
J......1....I.-
~/
-..,
~
~,
)
now
-".',oet'O
A
./I
"
Ofel51ON
1\
\
~
eJ"!el
./
~
'Ill
'=--
) I--t-
)
OFfll"'~t.. A
STO....Gl
COMMUNICATtON LINK
~
~
~v
t:->
}
~
V
O"'AGE
'\
~ j"'j j"M., 'j"",!" tei'" '"' H-H"i'"f ~'''i'i H+
AUjllljlYj"IATION
PWOCIES51NG.ANNO'''''ION
./
I
m"r"i"'i'ioc1":+
'\
17
~
)
f\
V'
~"- f\
)
f\
CONNECTOR
'"
1\
t
f(
I
~
)
Along the left edge is an area in which the author
can print his name. In order that all symbols be
consistent, the template should be used face up.
Although most manually generated flowcharts
are drawn with pencil or ball-point pen, it is sometimes necessary to use ink-flowing pens. In order
to prevent blotting from an ink-flowing pen, small
strips of masking tape can be attached to the solid
areas on the reverse side of the template to raise
if off the paper.
bY
t-t-
'\1
1'-
~!:SM,"AL
V
tlGLTI~
.....
) e,"jTlj ~
SOITING,
1\
"'l-.
W
.A'
'1' YlAj'O,TAr
°i",' jlYj"joH+
J
+-+It+-+-
II
DISI'lA'tV
-/'
).
f~~;:~N- ~
'"
}
I
SYSTEM FLOWCHARTS
As stated earlier, a system flowchart describes
the flow of data through all parts of a system. It
represents an application in which data provided by
source media is converted to final media. Therefore, emphasis is placed on the media involved and
on the work stations through which they pass. The
actual operations which must be performed are
described briefly.
Symbols depicting these documents and operations
are designed so that when used in a system flowchart
they are meaningful without comment or text. When
text is placed within the symbol, the flowchart takes
on specific application meaning. In order to acquaint the reader with the symbols, they are illustrated in a representative series of system flowcharts, which also demonstrate uses, techniques
and recommendations for system flowcharting.
Although most of the illustrations pertain to payroll
applications, the reader may relate the symbols
aild uses to other applications.
supplementary annotation symbol shown in Figure
8. The broken line may be drawn on either the
right or the left, as convenient, and connected to
the flowline at whatever point the annotation is
applicable.
Input/Output Symbol
Flow Direction Symbol
Processing Symbol
Flow Direction Symbol
BASIC· SYMBOLS
Input/Output Symbol.
There are three basic symbols -- input/output,
processing and flow direction. As shown in Figure
2, a system flowchart may be drawn with only these
three symbols.
The input/output symbol represents any type of
medium or data. It is extremely useful where
specification of medium is neither important nor
desirable.·
The processing symbol represents a major data
processing function (program run or phase, central
processing unit, accounting machine or calculator).
When using only the basic symbols in a flowchart,
the processing symbol represents any processing
function.
The flow direction symbol represents the direction of processing or data flow. The general
direction of flow is from top to bottom, and from
left to right. While arrowheads must be used on
lines which oppose the general direction, they may
be used on all lines. When used, they should be
placed at the point of entry.
With the. insertion of text within the symbols,
the flowchart in Figure 2 becomes more meaningful,
as shown in Figure 3. In Figures 4, 5, 6 and 7
more detailed flowcharts using the basic symbols
are shown, illustrating how these symbols can be
used as the only ones in a system flowchart.
The text pertaining to a symbol is placed within
the symbol whenever possible. However, if that is
not possible, the text should either be placed alongside the symbol, referenced to narrative placed
elsewhere on the flowchart, or placed within the
Figure 2.
.Prepare Employee
Master Payroll
Cards
Visually Verify
and File
Figure 3.
3
Check for
Corrections
and Limits
Acctg. Mach.
Prove to
Control Totals
Reproduce
and Gang Punch
Pay Period Date
Total on
Adding Machine
Prepare
Deduction
Master
Cards
Interpret
Acctg. Mach.
Accumulate
To Prove to
Controls
Acctg. Mach.
Accumulate
for Proof
.Acctg. Mach.
Prepare
Deduction
Register
Figure 5.
Verify Totals
and Hand File
in Deduction
Master File
Figure 4.
4
Select Recvg
Record Enter New
Data
Prepare
Stock Withdraws
Prepare
Miscellaneous
Transactions
Prepare
Inquiry
Determine Stock
Update Stock
Status
J-ttC&-~~ Status,Update Stoc t---o\
Status and Prepare
Ship Instructions
Select Items Below
Protection Level
Determine Order
Qty and Date
Group Orders by
Commodity Class
Analyze Usage
And Status
",---4
Select Venda
UlSert in
Receiving File
Prepare Purchase 1'IIIii~~"
Orders
Review
and Approve
Purchase Order
Figure 6.
5
The punched card symbol represents all varieties of punched cards including stub cards.
The clerical operation symbol represents a
manual offline operation which does not require
mechanical aid.
The offline storage file represents offline
storage of either paper, cards, magnetic or perforated tape, disk pack or any other medium.
Figure 7.
lPersonnel
Master
Sheets
At End
of Week's
Transactions
Document Symbol
Exception
Routines
Keying Operation Symbol
Figure 8.
,Ptmch Employee
Master Payroll
Cards
SPECIAL MEDIUM, INPUT/OUTPUT AND
OPERATION SYMBOLS
Punched Card Symbol
In order to make a system flowchart more meaningful, special medium input/output and operation
symbols may be used. Fourteen of these symbols
are available.
:Employee Master
Payroll Cards
EXAMPLES OF SYSTEM FLOWCHARTS
Situation I
Figure 9 is a flowchart of a basic procedure for
creating cards for a file. The symbol name is
placed alongside the symbol for identification
purposes only.
The document symbol represents paper documents and reports of all varieties including source
documents and ledgers.
The keying operation symbol represents an
operation utilizing a key-driven device -- card
punching, card verifying, typing, etc.
6
Visually
Verify and
File
Clerical Operation Symbol
Offline Storage File Symbol
Figure 9.
Situation II
Deduction
Authorization
Cards
Figure 10 demonstrates a method for incorporating
new and modified voluntary deductions in a payroll
procedure. It is as follows:
1. Deduction authorization cards are submitted
by employees. (The document symbol is used
rather than the punched card symbol because the
cards are not punched. However, for illustration
purposes, the punched card symbol could be used. )
2. The authorizations are checked by the clerk
(clerical operation symbol).
3. A control tape is prepared on an adding
machine (keying operation symbol and transmittal
tape symbol). The transmittal tape symbol represents a proof or adding machine tape or similar
batch control information.
4. Employee deduction master cards are
punched and verified (keying operation symbol and
punched card symbol). Although not necessary,
two keying operation symbols could be used, one
for punching and one for verifying.
5. The employee deduction master cards are
accumulated on the accounting machine to prove to
the transmittal tape (processing symbol and document symbol).
6. The clerk checks the accumulated totals
with the transmittal tape and hand-sorts the cards
(clerical operation symbol).
7. The cards are placed in the master deduction
file (offline storage file symbol); in the case of
changes, the old cards are removed and destroyed.
The arrowheads are used where the direction of
flow opposes the general direction of top to bottom
and left to right.
Transmittal
Tape Symbol
Tot.
Amt.
Employees
Deduction
Master Cards
Proof Totals
Acct. Mach.
Accumulate·
for Proof
Figure 10.
7
Situation III
Figure 11 illustrates the use of the offline storage
file symbol to initiate a system flowchart and a
use of the annotation symbol. In addition, it introduces the auxiliary operation symbol, which represents a machine operation supplementing the
main processing function -- for example, an
operation on a reproducing punch, interpreter, or
facsimile posting machine. The steps are as
follows:
1. The master employee deduction file is used
in the procedure (offline storage file symbol).
2. The file is accumulated on the accounting
machine to prove to control totals (processing
symbol and document symbol).
3. The file is reproduced to prepare pay period
deduction cards, and the master file is returned to
the offline storage file (auxiliary operation symbol
and punched card symbol).
4. The reproduced cards are interpreted
(auxiliary operation symbol).
5. The reproduced cards are passed through the
accounting machine to prove to the control totals
(processing symbol and document symbol).
6. Pay period deduction cards are listed on the
accounting machine to prepare the deduction register
(processing symbol and document symbol).
7. The pay period deduction cards are to be included in the payroll procedure (punched card symbol
and annotation symbol).
Master
Employee
Deduction
File
Acctg. Mach.
Proof Totals
Prove to Control
Totals
Auxiliary
Operation
Symbol
Reproduce
and Gang 1 - - - - - - - 1 Master Employee
Punch Pay
Deduction Cards
Period
Pay Period
Employee
Deduction Cards
Auxiliary
Operation
Symbol
Interpret
Acctg. Mach.
Proof
Situation IV
Prove to Control I - - - - - - t
Totals
Totals
Figure 12 introduces the sorting or collating operation
symbol. This symbol represents an operation performed on sorting or collating equipment.
Acctg. Mach.
Prepare
Deduction
Register
Pay Period
Employee
Deduction Cards
Figure 11.
8
Deduction Register
There Cards Will
Be Used in the PIR
Preparation
Sorting Operation
Symbol
Collating Operation
Symbol
Calculate & Punch
FIT, FICA, State
Tax, Net Pay
Yr-to-Date
Prove
Prepare Payroll
Register
Acctg. Mach.
Print
Paycheck
Figure 12.
9
Situation V
The perforated tape symbol and the communication
link symbol are shown in Figure 13. The perforated tape symbol represents perforated tape,
whether paper or plastic, chad or chadless, used
as input or output on a system flowchart. The
communication link symbol represents the transmission of information from one location to another
via communication lines.
Figure 14 illustrates tape-to-card, card-to-tape
and card-to-card operations such as 46/47, 63 and
65/66 operations, respectively. When media
symbols are connected by a flowline, a device may
be implied. In card-to-card operation, the communication link symbol is used in place of the flow
direction symbol as the 65/66 operation is transmission over communication lines. The arrowhead in this symbol indicates the direction of flow
and eliminates the need for other arrowheads at
points of entry.
Perforated Tape
2. The cards are sorted in employee sequence.
3. The cards are read into the system and the
data is written onto the disk file. During the
process, the payroll cards are selected. (A
program flowchart is needed to show the details
of run 1.)
4. The input files are placed in offline storage
files. The payroll cards are to be used as "finder"
cards for payroll processing.
Employee
Status
Sheet
Communication Link
Figure 13.
Disk, Drum,
Random Access
File Symbol
Tape-to-Card
Card-to-Tape
1440 - Run #1
Load Data
in Disk File
Card-to-Card
Figure 14.
Payroll Cards
Situation VI
The disk, drum, random access file symbol is used
in a system flowchart to indicate the manner in
which data is stored. Figure 15, an initial payroll
procedure for installation of a disk file system, '
introduces the use of this symbol.
1. Personnel, payroll and deduction cards are
punched and verified from the employee status sheet.
10
Figure 15.
Personnel Cards
Situation VII
The magnetic tape symbol is used to represent
data recorded on magnetic tape. The symbol is
a circle from the bottom of which a line is ex. tended horizontally to the right. Figure 16 shows
the use of this symbol in preparing a daily performance record, updating the payroll tape and
preparing a distribution tape.
In this procedure the following operations are
taking place in the processing unit (a program
flowchart is required for complete details of the
run):
1. The daily performance report is prepared.
2. The hourly rate from the daily payroll tape
is read, and rate is multiplied by hours for each
labor ticket.
3. Total hours and amounts are added to the
accumulated hours and amounts on the daily payroll tape' and a new tape is written.
4. The distribution amounts are written on the
distribution tape.
5. A finder card causes the complete employee
record to be punched into a card or cards (change
card). After the cards have been altered as indicated' they are used to update the payroll tape in
the next day's run.
Exception
Attendance
Cards
Magnetic Tape
Symbol
1.401 Rtm # 17
Direct Labor
Processing
Dally
New Change Cards
Figure 16.
11
Situation VIII
The online keyboard symbol represents information
supplied to or by a computer utilizing an online
device -- for example, console, console card
reader, typewriter or printer, or inquiry station.
It represents communication at the time of processing between console or inquiry station and the
computer.
The display symbol represents information
which is displayed by plotters or visual devices.
These symbols are shown in Figure 17.
6. When data is transmitted to an online
communication terminal from a system, both the
processing symbol and the online keyboard symbol
are used (Figure 20).
7. When information to be transmitted is
entered on a keyboard to prepare a document and
perforated tape, and the perforated tape in turn is
used for transmission, the operation is flowcharted
as shown in Figure 21.
Display
Symbol
Determine
and Display
Stock Status
Figure 17.
Figure 18.
Situation IX
The communication link symbol is introduced here
to show how a card-to-card transmission over
communication lines would be indicated on a system
flowchart. This symbol is also used for all TELEPROCESSINGID equipment operations -- for example, 357, 1001, 1030, 1050 and 1060. Recommendations for flowcharting these operations are
as follows:
1. When the input or output medium is known
and it is the only such medium, the particular
symbol is used.
2. When input/output is a combination -- that is,
card, perforated tape, manual entry, badge, etc.,
the input/output symbol is used (Figure 18).
3. When it is important to stress that several
stations are transmitting to a central location, the
control unit is not included in the flowchart (Figure
18).
1401
Data
Processor
1401
Data
Processor
4. In operations where the receiving unit is a
card punch, the keying operation symbol should be
used (Figure 18).
5. When data is transmitted directly from one
system to another via communication lines, under
control of control units, as in the case of IBM
1009 operation with 1401 Data Processing System,
only the processing symbols are used (Figure 19).
Figure 19.
12
Situation X
14:10
Production
Status
Figure 20.
Order
Acknowledgment
Data on
Perforated
Tape
In Situations III and IV, the standard uses of the
auxiliary operation symbol and the sorting or
collating operation symbol were discussed. The
sorting or collating symbol is used for offline
sorting or collating operations; the auxiliary
operation symbol is used for operations which are
auxiliary to the main processing, such as reproducing, interpreting, gang punching, etc.
Certain exceptions are as follows:
1. When the sorting operation is subsidiary to
the main operation of the system, such as editing
on the 101.or 108, the auxiliary operation symbol
should be used.
2. When the sorting operation is auxiliary to
the main processing, as in the case of the 1412 or
1419 used online to provide input to a system as
well as to sort, the auxiliary symbol should be
used. When the 1210 is used offline as a sorter,
the sorting symbol should be used.
3. When a keying and sorting operation is being
performed, such as an 802, 803 or 1210 operation,
'the keying operation symbol is used.
Previous illustrations have shown that the document symbol is used if the input or output document
is paper rather than punched cards. However,
when the input/output documents are a mixture of
paper and card forms -- for example, checks the punched card symbol should be used.
These exception situations are shown in Figures
22 and 23.
/
1401
Figure 21.
Sort and Edi
Totals
108
...... Figure 22.
13
lnclearings
and liOn US"
Deposits
Mutilation
Inscriber
Missing
Account
Numbers
Carrier Envelopes
Missing Account
Number Inscribed
Corporate Accounts
1412
or
1419
Figure 23.
14
1401 Processing
PROGRAM FLOWCHARTS
A program flowchart has been defined as a graphic
representation of the procedure by which data is
processed. Specifically, it is a diagram of operations and decisions and the sequence in which
they are performed by a data processing computer.
Symbols are used to represent these operations
and the order in which they are executed. A program flowchart provides a pictorial description
of a program. It should show the functions and
the sequence in which they are performed and
progress from a representation of major logical
elements to a representation of any degree of
detail desired. A program flowchart which
clearly shows the functions of a program (or a
routine) and the relationship of the functions to
each other provides:
• A graphic picture of the problem solution
• A graphic presentation of program logic used
for coding, desk checking and debugging while
testing
• Verification that all conditions possible have
been considered
• Documentation of the program
recording processed information is an output
function. Included in the I/O category are reading,
writing, backspace, rewind, etc., of magnetic
tape, I/O functions of card readers, card punches
and printers, as well as those I/O operations
involving multiple-word communication between
random access storage units and the main storage.
The I/O function and the I/O file involved should
be noted.
A program flowchart may be drawn with only
these three symbols, as shown in Figure 24.
,A2
I
I
+
J
I
L
1Add a Month's
Usage to
Accumulator
BASIC SYMBOLS
The three basic flowchart symbols used in system
flowcharts are also the three basic symbols for
program flowcharts.
The flow direction symbol is the basic element
of a program flowchart. It represents the direction
of processing flow: general flow is top to bottom,
left to right. It is inherent in computer programs
that many decisions are involved -- that is, tests
to determine which of two or more paths should
be taken. This leads to complex program flowcharts and hence to the requirement that flowlines
be drawn with an arrow whenever the direction is
not immediately clear. Looping in a program -that is, repeating an instruction sequence -- is
also a common occurrence and in some cases
leads to violation of the basic rule of the processing flow. Flowlines should not cross each other,
and jogs should be avoided wherever possible.
Arrowheads may appear on all lines; when used,
they should be placed at the point of entry to a
connector or functional symbol.
The processing symbol is most easily defined
as the symbol used to represent general processing
functions not represented by other symbols. These
operations are concerned with the actual processing
operations of the program.
The input/output symbol is used to denote any
function of an I/O device. Making information
available for processing is an input function;
ClMultiply by
1/12 to Get
Average. Put
in Print Area
r C2
I
I
t
J
J
L_
Move Part
Number to
Print Area
,FII
Figure 24.
15 .
SPECIAL PROCESSING SYMBOLS
As with the system flowcharts, special processing
symbols are available which make a program
flowchart more meaningful. These symbols
(Figure 25) may be used in place of the basic
processing symbol on program flowcharts. There
are six such symbols.
The decision symbol is used to depict a point
in a program at which a branch to one of two or
more alternate paths is possible. The manner in
which the choice is made should be clearly indicated. Decisions can be based on a comparison,
the test of an indicator, a balance (sign) test, a
program switch, an indexed branch instruction,
or an I/O check indicator. The condition upon
which each of the possible exit paths will be
executed should be clearly identified and all
possible conditions should be accounted· for.
The' program modification symbol is used to
indicate that an instruction or group of instructions
changes the program itself -- for example, address modification, operation code modification,
modification of index registers, setting or clearing
word marks, initialization for a routine. In
general, a routine or switch should be initialized
prior to being used. The text should indicate the
purpose of the modification performed.
The terminal symbol represents any point at
which a program originates or terminatEils -that is, at the start or completion of the job, or
at an error condition. It may also be used to
indicate the beginning and end of interrupt routines or the variable exit from a closed subroutine.
The connector symbol represents an entry from,
or an exit to, another part of the program flowchart. A set of two connector symbols is used to
indicate a continued flow when the use of a line is
precluded by the physical ,or esthetic limitations
of the flowchart. Connector identification should
be placed within the symbol.
The offpage connector symbol is a specialpurpose connector used to designate exit from or
entry to a page. The symbol should be so placed
that its point may indicate the direction of flow.
Connector identification should be placed within
the symbol.
The predefined process symbol represents a
group of operations not detailed on the particular
flowchart being used -- for example, a library
subroutine.
16
Decision
o
C__)
o
Program Modification
Terminal
Connector
Offpage Connector
O
,
Figure 25.
Predefined Process
TECHNIQUES AND CONVENTIONS
Identification
Before presenting the various program flowcharts,
the techniques and conventions used in all methods
should be considered.
One of the most important uses of a program
flowchart is to provide the programmer with a
means of visualizing, during the development of
a program, the sequence in which arithmetic and
logical operations should occur, and the relationship of one portion of a program to another.
When programming begins, the system flowchart will have been established and will show
the various runs constituting the application. A
program flowchart is then prepared for each run
to serve as a basis for coding.
In the program development stage, a flowchart
may serve as a means of experimenting with
various approaches to laying out the logic of a
program. Starting with symbols representing the
major functions .of the proposed program, the
programmer first develops the overall main-line
logic by adding blocks to depict input and output
functions, steps for the identification and selection
of records, and decision functions.
After the overall main-line logic of the program
has been tentatively established, the large segments
are extracted from the main line logic flowchart
and described in further detail. The goal is to
produce flowcharts which clearly show all major
basic decision pOints in the program; such documentation can be used to verify that the program's
procedure satisfies all possible conditions which
can arise during operating production.
Once the procedure is established and proven
sound, the program flowchart becomes a guide to
coding. The amount of detail will depend on the
purpose the flowchart is to serve. The peculiarities of machine logic may necessitate changes in
program logic, and it may therefore be necessary
to redraw and reverify the flowchart after coding.
Upon completion of coding, the program should
be documented to faciiitate future modifications
which are bound to become necessary in testing,
installation and operation. of the procedure.
Since it serves as a map Iof the program listing,
the flowchart simplifies the problem of modification. To be useful in this respect, the flowchart
must be related, by labeiing, to the instruction
steps.
Final documentation of a program should include both the overall main-line logic flowcharts
and detailed flowcharts. Main -line logic flowcharts
promote understanding of the more detailed flowcharts and also provide an easily understood
picture of the procedure.
Processing steps should start at the top of the
page and progress down and to the right to the
lower right corner. Each page should be properly
sequenced and identified with application name,
program name and number, flowchart number and
title. Programmer name and date are also included.
Cross -referencing
Cross-referencing relates the program flowchart
to the source-language program. This greatly
aids in program debugging, maintenance and
modification. One way to cross-reference is to
locate an instruction either by its label or by the
page and line number of the coding sheet on which
it appears. When used, the label or page and
line number of the first instruction of a given
routine should be placed above the upper left
corner' of a symbol (Figure 26).
Figure 26.
Striping
A striped symbol is used to indicate a complex
logical program unit. In general, striping indicates that a more detailed flowchart of the program unit exists. (It should be noted that the
predefined process symbol cannot be striped.)
Identification of the program unit may be placed
above the stripe; a brief description of its function
may be placed below the stripe. Figure 27 shows
some examples of striping.
Figure 27.
17
Decision Techniques
Multiple exits from a decision symbol may be shown
by several lines running from the decision symbol
to other symbols, or by a single line from the decision symbol, which then branches into the appropriate number of lines, or by a decision table of exit
conditions and corresponding connection identifications. Where a decision occurs, the line may
proceed to the left or upwards. Figure 28 shows
some examples of decision techniques. A list
of commonly used shorthand notations for program
conditions is also shown.
LO
o
ENGLISH STATEMENT
SHORTHANDSTAT~ENT
Compare A with B (where B is the common
factor or constant value) • • • • • • • • • • • • • . • • • • • • • • • • • • • • • • • • • • • A: B
A is greater than B • • • • • • • • • • • • • • • • • • . • • • • • • • • • • • • • • • • • • • • • A> B
A is less than B • • • • • • •
• • • • • A< B
A is equal to B • • • • • • • • • •
• • • • • • • • • • • • • •
• • • • • • • • • • • A=B
••••• A~B
A is not greater than B ••••
• • • • • • • • • ;, ••• A~B
A is not less than B •• • • • •
A is not equal to B ••••••
• • • • • • • • • • • • • A;6B
• • • • • • • • • • • • • HI LO EQ
Compare indicator settings • •
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • ON OFF
Check indicator settings • • • • • •
Figure 28.
18
,Descriptive Titles
Titles should be short but not confusing. For
better understanding, the language used in a program flowchart should be English, rather than a
machine-oriented language. The title of a detailed
chart and the explosion of a major striped symbol
should bear the same description of the routine as
appears within the major striped symbol. Wording
inside a symbol should be condensed to fit without
overcrowding, and the same description, when
feasible, should appear on a title card within the
program coding. Because of ambiguity, it is wise
to avoid abbreviations.
Whenever the text pertaining to a symbol cannot
be placed Within the symbol, it should be placed
alongside the symbol, referenced to narrative
located elsewhere on the flowchart, or placed
within the supplementary annotation symbol shown
in Figure 29. The broken line may be drawn on
the right or left and connected to the flowline at a
point where the annotation is relevant.
r
I
I
+
I
I
C2
The following pOinters may be of help in producing
a good set of flowcharts:
• Use some form such as· the IBM Flowcharting
Worksheet (X20-S021) shown in Figure 30.
• Put yourself in the position of the reader.
• Try to anticipate his problems in understanding
your chart.
• Make the main line of each flowchart easily
recognizable.
• Look for opportunities to tabulate information
(decision tables).
• Do not chart every detail of the program.
• The reader, if interested, may refer to the
source-language program.
• Leave a margin of one inch on all sides for
binding of charts when the worksheet is not
used.
-+-I
Master Inventory
Record Tape
End-of-File I
L __
+
I
I
I
Figure 29.
19
'i7~1Y.7.
~L:0~ Flowcharting Worksheet
Programmer: _ _ _ _ _ _ _ _ _ _ _ _ _ _ Program No.: _ _ _ _-:-_ _ _ _ _ _ _ Date: _ _ __
Chart ID: _ _ Chart Name: _ _ _ _ _ _ _ _ _ _ _ _ _ _ Program Na~e: _~_ _ _ _ _ Page: _ _ __
r
A1
:
-+---,
I
t
+
.\
1
L---t--..J
+ ---,
r
I
I
I
I
+I
.\I.
I
1
L_...:....+_..:..--1
A3 -
+---,
+
r
I
I
1
I
1
+
I
I
I
L __
+ __ -'I
r B3 -
+
.l.-
I
L __ + __ -1
I
1
1
r
I
I
r
1
I
-+- ---,
B4 -+--,
I
1
r
I
1
I
I
I
1
I
I
tI
'I"
+I
1
+
~
I
I
L __ + __ ..J
rC1- -t- ---,
I
I
1
1
+
+
I
I
I
I
L __
r C2
+- ---,
+ __ -1I
-+---,
I
I
I
I
+
+
I
1
+I
I
1
L __ + __ -'
r
C3 -
+----,
I
1
I
I
I
I
r
E1
-+---,
I
I
+
r
I
1
r
F1 -
+ __ -1I
1
I
I
I
I
I
1
+----,
r
L __ ...... __ ..J
I
L __
+ __ ...JI
rF3-+---,
r
I
+--i
r
I
I
I
I
L __ + __ -l
r F2-4-- --,
I
I
1
1
+I
+
I
1
I
L __ -+- __ ...1
I
I
I
I
+I
+I
I
L __
+ __ -1I
rG3-
+ ---,
r
I
I
I
I
I
I
I
1
I
r H1 -
+----,
I
I
+
+
I
I
I
1
L_-,-+ __ -'
G2 -
+---,
+
t
I
I
I
I
L __ -+- __ -1
rH2 I
I
+
I
I
+---,
I
I
+
:
L __ +
r
rJ2-
I
4----,
r
I
I
I
I
I
I
+ __ -I
I
L __
I
r K1 -+ ---,
I
I
1
1
...
I
+
I
IL _ _ + __ ...JI
I
I
L
r
I
I
+
I
I
I
I
r
+
1
L __ + __ ...JI
I
__
H4 -
-+----,
I
I
+I
I
L __
r
I
I
+
I
-+- _ _
..J
J4 - .... - - - ,
I
I
+
I
I
I
I
L __ -+ __ ..J
I
I
+
+
I
I
L __
I
I
+ __ ---1
F5 - ...... - - - ,
I
I
+I
+I
I
I
L __ +- __ -'
rG5 -+
I
---,
:
tI
t
I
L __ -+ __ -,
rH5 -+---j
I
I
t
+
I
:
L __ ~ __ ..J
r J5 -
+----,
I
I
1
I
+
+
I
I
I
L __ +- __ -II
K3 -+---,
r
I
I
I
I
I
...
I
+
:
I
I
I
...
I
I
+
I
I
I
I
+
+
I
IL
+ __ -lI
I
I
IL __ + __ -1
I
+
+
t
1
1
I
I
-+---,
I
I
I'
+
I
t
I
L
I
r G4 -+--,
I
l'
I
--+----,
I
__ ...... __ ..J
K2
J3
+ __ -1I
I
r
I
I
L __
I
1
L __ + __ -l
+I
I
I
I
+
+I
I
H3 -
F4 -
I
+ ---,
I
+
I
I
I
+
1
__ ..J
+I
l'
I
I
I
1..- _ _ + __ -'
t
+
rJI -+ - - ,
..
+---,
E5 -
I
I
I
I
I
L __ + __ ..J
r
1
I
+
I
I
I
+ __ ...1I
+
+---,
I
I
+---,
I
I
+
I
+I
I
+
E4 -
-+----,
05
L __
+I
I
I
I
I
I
1
I
I
-+ __ ---1I
I
I
I
i
IL __
t
I
t
I
I
I
+I
L __ + __ ..J
+
I
t
rE3 - +- ---,
+
G1 -
I
I
I
I
+I
I
I __
1..-
I
I
I
L __ + __ ---1
I
I
,E2-+----,
t
I
---,
I
.-
I
I
1
I
+ __ -'I
03 -+
I
I
+
I
I
L __
I
I
I
04 -+--,
I
t
I
t
+---,
I
r
I
I
t
I
C5 -
I
L
__ + __ ..JI
I
L __ + __ -'
I
L_-:-+ __ -'
r
I
I
r
I
I
1
I
--,
I
I
I
I
t
,02I
I
t
I
C4 -+-
I
L __ + __ -1
L __ + __ -'
+---,
I
t
I
+- __ ...1I '
I
I
I
+I
+I
I
+---,
OI -
L __
+ ---,
+
+ __ ...JI
r
I
B5 -
I
I
t
I
L __
I
t
+I
I
L __ + __ ..J
I
+I
r
I
+I
L __ + __ -lI
1
I
I
.!.
1
B2-
-+ ---,
A5
I
I
+
-+---,
B1
r
-+---,
A4
1
I
I
20
I
1
r
Figure 30.
rA2-
1
__
I
+ __ ..JI
K4
-+ ---,
IL _ _
+ __ ..JI
r
K5
-+--l
L __ +
__ .J
EXAMPLES OF PROGRAM FLOWCHARTS
The following examples show the program symbols,
techniques and conventions used in program flowcharts. The flowcharts range from fairly simple
to greatly detailed. Not all situations can be
covered in a manual of this type. However, the
basic techniques are applicable to all program
flowcharts.
Situation I
The system flowchart shown in Figure 31 shows
that the master inventory records are to be updated
from adjustments, receipts, orders and issues for
the day. In addition, a shortage and reorder listing
is prepared.
The program flowchart for the daily updating run
is shown in Figure 32. This flowchart is drawn
by the traditional method, that is, sequentially.
It starts 'with the first operation to be performed
at object time. and charts the processing sequence
through to the end of the job.
All program flowchart symbols are used in this
situation with the exception of the offpage connector,
predefined process and program modification
symbols.
The following techniques and conventions are
used:
1. The annotation symbol is used in two places
where clarification to the programmer is required.
The dotted line is connected to the flowline at the
point where the annotation is relevant.
2. Multiple exits from the decision symbol are
shown both by a single line from the symbol, which
branches to other lines, and by several lines from
the symbol. Note that no diagonal lines are used.
3. A stripe on a given processing block indicates
that a more detailed program flowchart exists. The.
identification is placed above the line and a' brief
discussion of the processing function is placed
below the line.
4. The connector symbol is used in place of
flowlines which would cross other flowlines. The
reference numbers indicate the in-connection or tolocation blocks of the worksheet. If other reference
numbers are preferred, they may be substituted.
For example, A1, A2, A3 ... B1, B2, B3 .... etc.
5. Arrowheads are used whenever the flow
direction is not from top to bottom or left to right.
6: The computer program operations are
numbered to the top and right of the symbols so
that they can be easily referenced in the narrative.
Adjustments
Run 32
Daily
Updating
Run
\~~ortage
and
Figure 31.
21
~rn~
PI.UNTIED IN U ••• A.
XIo-lOll-1
Flowcharting Worksheet
Programmer: _ _ _ _ _ _ _ _ _ _ _ _ _ _ Program No.: _ _ _ _ _ _ _ _ _ _ _ _ Dote: _ _ __
Chart 10: _ _ Chart Name: _ _ _ _ _ _ _ _ _ _ _ _ _ _ Program Name: _ _ _ _ _ _ _ Poge: _ _ __
r
AI
I
-+---,
I
I
I
+
of
I
I
I
L __
~
I
__ ..J
I
-+--...,I
I
I
r
B1
..
+
1
I
I
L
__ -+ __ ...1I
r
I
C1 -
-t---,
I
I
I
+I
..I
I
L __ + __ ...JI
I
+ --..,I
I
I
rA2-
+I
r
I
A3
-+---,
I
.!
I
L __ + __ ...lI
r
B2 -
I
L __
I
i
IU __
EDd-of-FUe
I
.!.
+I
I
I
I
B4
..I
I
L __ +- __ -1I
r
C4
-+---,
I
1
I
I
I
I
I
t
I
__ -1I
+
IL
__ +
r
D4
I
I
I
I
+
..
I
__ ...1I
I
I
L __ +
r
C5
I
-+---,
I
I
I
t
..
I
I
I
L
__ +
__ -1I
-+--...,
I
I
I
I
t
I
I
I
I
L__
__...1
r F4 -+---,
I
I
I
I
..
+
I
I
I
I
+I
r B5 -+--..,
I
+I
-+---,
L __ + __ ...lI
-+--...,
I
A5
I
+
I
+ __ -1I
I
Muter iDvemcqf
Reccrd Tape ..
I
A4
I
riC I
I
r
+---,
~
I
I
r
I
r
L __ + __ ..J
I
I
t
-+--...,I
I
I
I
I
I
I
I
L __
+ __ ..JI
r
F5
I
I
-+---,
I
I
+I
.J.
I
I
I
L __ +- ...... _-1
14
13
T_Code3
See )4
K2
r
H3 -+
--...,
I
I
I
I
+
:L __ +
t
I
__ ..J
---,
It~CardI I
I
tI
""'-of File
II
--~
16
Raplac:e
See K4
T..-Jcai'ut
Number wIIb 9'.
r
J4 -..----,
I
I
Add T ..... Qty to QOO
~T""'~~ry
Add 1 to YTD Ord CAt
L__ +
__ ~
r
--,
K4 -+
SubT_Qty
fJODl QCIf
Add T _ Qty to
JJf~~_erJ
L __ + __ J
Figure 32.
22
I
I
..
r J5 - +---...,
I
I
+I
+I
I
I
IL __ +- __ .JI
r
K5
-+--l
:
+
I
I
L __ +
I
+
I
I
__ ...J
Situation II
The program flowchart shown in Figure 33 is a detailed portion of a tape merge program. It was
referenced on two program charts of lower-level
detail by predefined process symbols. This is
indicated by references on the left-hand side of the
offpage connectors -- "from AF" at blocks A 1 and
A3 as well as "from AK" at block A5. All program
flowchart symbols are used in this chart.
The following techniques and conventions should
be noted:
1. The computer program operations are
numbered to the top and right of the symbols for
easy reference in a narrative.
2. Offpage connectors are used. The references are page number and in-connection or tolocation blocks of the worksheet. The from-connection is indicated by page number.
3. The connector symbols are used in place of
flowlines which would cross other flowlines. The
reference numbers are the in-connection or tolocation blocks of the worksheet.
4. Arrowheads are used whenever the flow
direction is not from top to bottom or left to right.
5. The predefined process symbol is used to
denote that an additional program flowchart is included which defines this particular process in
detail.
6. The program modification symbol is used to
indicate that an address in an instruction is to be
modified.
Situation III
The amount of detail required in a program flowchart depends upon the need. A set of multilevel
charts is produced when a precise picture of program logic at a high level of detail is required.
This approach may be likened to map-drawing
techniques -- for example, starting with an allinclusive map and exploding sections of it on succeeding maps, each map shOwing greater detail.
The technique of presenting a complete picture
on each chart is called modular program flowcharting. It stresses the logic of a program,
component routines and subroutines. Any portiQn
of the flowchart" may be sho~ in more detail on a
succeeding chart.
The first flowchart of the set depicts the overall
logic of the run -- the main line of the program.
The major logical elements and input/output
functions constituting the main line of the program
are shown. In addition, the relationship of one
function to the other maj or components of the
program is shown. Subsequent pages show the
detailed explosion of these major functions.
A typical file maintenance run may require as
many as 80 flowcharts. To illustrate the technique of modular flowcharting, four of these charts
are shown in Figures 34, 35, 36 and 37.
The first chart (Figure 34) is the overall picture
of the entire run. It is the highest-level chart,
showing the main-line routine, all major logical
elements and input/output functions. The processing
blocks where the striping convention is used indicate that a more detailed flowchart exists. The
identification (chart number and to-location block)
is placed above the line and the brief description
is placed below the line.
The "post transaction" processing block (indicated by the shaded area) is exploded on chart Be,
to-location block Bl shown in Figure 35. This
flowchart shows the first level of detail for the
"post transaction" routine. Note that all legs of
the flowchart return to the preceding level. This
is indicated by the offpage connectors labeled
AA 04 (chart number and to-location block).
The "cash payment" processing block (indicated
by the shaded area) is exploded in Figure 36. This
is the second level of detail for the "post transaction" routine. Normally, all legs of the flowchart
return to the preceding level. However, because
the cash payment block on the preceding level was
the last processing block on the chart, all legs on
this chart return to the level before the last.
The "test due date" processing block (indicated
by the shaded area) is exploded in Figure 37. This
is the third level of detail for the "post transaction"
routine. Since no further detail is required, no
processing blocks on thi~ flowchart are striped.
The legs of this chart return to the preceding level
indicated by the offpage connectors.
The end result of this modular technique is a
telescoping effect with clarity of thought and flow
preserved throughout.
23
TIrn~
Flowcharting Worksheet
- - - -_ _ _ _ _ _ _ _ _ _ Program No.: _ _ _ _ _ _ _ _ _ _ __
.........
P.....,IC
....A=L'--F!....=:L.!::O:..!W.!..%C:J;;H:1.!A~R~T_ _ _ Program Name:
_T'-Y
Ilf
MovE
.PH~u.~
INPICA"RIR$ TO
__
~~-~~~:.~~~~
~"If
15
MOVE c:.uAA£NT
E¥>.TETO LABEL
INI'OR.MIo.TION
~IELD5
IN
.......VE~
Iii
r
31
C4 -
Cl"LGUIATE
o.PTIMn8LOC.I<.
... o'",...,....
I
I
+I
IL __
r
D4 -
INPUT LI1N6Tl1
---,
I
t
I
I
L
SUBTRAC.:T
I
I
I
+I
PItPD~TFIrt>I'I
TOPAVAI~
0>11.£11"
P+lA!>E e.
I
__
__...1
r E4 -
---,
I
I
I
I
~
I
1I
IL __
r
I
F4 -
I
I
---I
----,
I
I
+I
I
I
L __
+ __ --1I
r G4 -+---,
I
SET INDICATOR.
TAPEMMk.
OVl"PVTI.A'tEL.
---,
I
I
I
I
I
L
t«)UTTM
12.
MO'IE. 0 TO
PH"OTTI=L~
IN SIWEAREA
13
MOVE 2,'1'1)
PII~rrFL5'
Mov& 0 TO
PH30"TTI=L8
IN SIWE" PJl£A
I
I
IL __ + __ ....JI
r
If'lClUMEI'"T" IND8l1
1 _ _....
i----4-
~11'Ic;,
I
+
.j.
FOu.a.lIN&
LASEL.
SET INDICATO~
FOR TAPEI'IAII,I\,
I
I
1=1:)11.
_ _ + __ ...1
:';;~~~It ;!:l!T
CON"~c.A'lI>
H4 -
+----,
I
I
I
I
+
+I
I
IL ___ ----1I
rJ2-+-~-,
I
I
+
I
I
I
I
+
I
L __ + __ ....JI
r
I
K2 -+ - - - ,
I
r
I
I
I
I
+
+
of
I
I
IL __ + __ ...lI
K4 -+ ---,
I
I
IL- _ _
I
+
+ __
I
...lI
I
I
L __ of _ _
'ltINITIAL SE.TTING
Figure 33.
24
...
I
...JI
li'lc)c M,
l.!J~~
PRINTED IN U._.A.
xzo-aOZI-1
Flowcharting Worksheet
Programmer: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Program No.: _ _ _ _ _ _ _ _ _ _ _ __
Oate: _ _ _ __
M
Chart 10:..Ali..... Chart Name: .................---------,r'"'T-r-r--
r
A1
-+---,
I
I
B BOSS
I
00510
A2-
AS-
lAltlallzatiCID
I
HoUIe~eplDg
t
+---~ Beginning of
+
I
Account Routine
OpeD File.
1
L---t--..J
r
B1
-+--..,
r
B2-
+ ---,
1
I
I
I
I
I
I
I
I
tI
'I"
I
I
1
...
~
L __ -+ __ ...J
r
C1 -
-+---,
I
I
I
I
+I
...I
I
L __ + __ -1I
r
OI
--+--,
I
I
I
I
t
t
I
I
I
L __ -+ __ ..JI
r
L __
-+ __ -1I
r C2 -
+---,
I
I
f
I
I
I
I
I
-+
r 02 - +---,
r
I
I
I
I
t
t
I
I
L_
I
I
_-1
L __
I
+ __ ...J
+----,
I
I
I
I
+I
I
I
I
I
L __ + __ -1I
03 -+
I
r OS -+----,
---,
I
I
I
t
t
I
I
L.. _ _
rE3
I
I
Update Input
Muter Ccmtro1s
I
I
t
+
I
I
I
I
I
L
__ + __ ...JI
-+--,_...J
-+----,
I
I
I
I
I
I
I
I
L __ + __ ...J
-+---,
I
I
I
t
..
I
I
L __
-+ __ --.JI
r
+---,
G1 -
lDsert New
Muter InFUe
I
I
I
I
I
+
r
+----,
H1 -,-
I
I
I
__ ...1I
I
I
...
+
I
I
IL __
-+ __ ....JI
rJI -+ ---,
I
I
I
+
I
+
:L __ + __ :
...J
r K1
-+--..,
I
+
IL __
Update Output
Muter Cmtrols
+
t
I
IL __
I
C3 -
__ + __ ....lI
IL
I
I
I
I
I
r
+---,
I
I
I
L __ + __ -1I
F1 -
L __ + __ ..JI
I
t
I
r
..
+
t
I
rBSI
I
+-
...
t
..
I
I
I
I
-+--,
E1
I
rB3-+ ---,
I
I
I
I
+
I
+ __ ....lI
I
r G3 - + ---,
I
r GS -+
I
I
I
t
I
L __ +
rH2
I
--,
I
I
I
+
+
I
I
IL.. _ _ ... _ _ ...JI
I
I
:L
__ ..... __ ..J
J3 -
J2 -+---,
r
I
I
I
I
+
I
I
I
I
L
__ ..... __ ....J
r
K2 - + --..,
I
I
+
+
I
r HS --+---l
I
__
I
+ __ -1
I
rJS
-"i----,
I
I
I
+
I
+
I
L __ -t- _ _ ...1
-+----,
I
t
I
I
L
I
t
I
Update DetaU
Coatrols
I
I
...
...
I
I
L __ + __
I
I
..J
07105
I
I
I
I __ + __ ..JI
L
L __ -+- __ ....l
+
+
I
+
I
r H3- + ---,
I
I
tI
t
__ ....J
I
I
r
tI
--,
ACA4
Error Routine
I
IL
__
Figure 34.
25
'-RINTI:D IN U ••• A.
XIO-IOII-1
IjjI~OO
.. Flowcharting Worksheet
~~~
Programmer: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Program No.: _ _ _ _ _ _ _ _ _ _ _ _ _ Date: _ _ __
Chart I D: -!S.. Chort Name:
r
A1
I
-+---,
I
I
I
ofI
"'I"
I
I
L_
_-'
Page: _..::BC;:..._ _
P«< Transaction
I
-+--,I
I
I
r
A2
r
A3
I
-+---,
r
I
+
I
I
+I
I
I
.l.
...
L __ + __ .J
I
IL __
r
r B3 -+---,
I
I
I
I
.j.
I
I
I
B2 -
+---,
I
I
I
I
t
I
J.
I
I
I
L __ -+ __ ...JI
+
+---,
r
I
I
r C2 I
I
I
..I
IL
~
I
__ + __ --1I
r D2 --+---,
I
I
t
t
I
I
I
I
I
L __ + __ ...JI
D5130
E2- +---
10005
rCS- +---,
I
I
I
I
I
+
t
t
I
I
I
IL __ + __ ...1I
I
..
...
I
I
I
I
I
+
I
L
__ + __ ..JI
+---,
I
I
+I
rBS-+---,
..
C3 -
-+--,
IL __ + ___JI
+ __ ...JI
I
AS
I
I
I
I
I
I
I
I
L
__ +
L,.--+--...J
KOOOS
r
D3 -+
I
I
---,
r
I
I
I
t
I
I
rE3
DS
-+-----,
I
I
I
t
t
+
I
I
I
__ .JI
I
I
L __ +
'----+---'
-+----,
I
I
rES-+---,
I
I
I
I
I
I
ot-
Table Look Up
I
I
I
I
L __ + __ ...JI
D7105
G2
I
I
t
t
I
I
. L __ +- __ .J
r HI
I
----,
I
I
I
I
+
I
L __
rJI
I
I
+
I
I
I
I
+ __ ...1
r
Figure 35.
26
H3 -+ - - ,
r HS -+---""1
I
I
I
+
:L __ +
I
-+--..,
I
L
__ + __ ..J
r K2 - -+- - - - ,
I
I
I
I
I
+
+
I
+
I
I
__ + __ --1I
I
I
I
I
L __ -+- __ -'
I
t
+
I
I
+
I
:
L __ +- __ .J
__ ..J
U0005
I
+
IL
r
I
I
I
I
I
I
I
I
_ _ --1
..
I __ +
L
r
I
t
---,
__ +- __ ..J
I
+
I
IL
+---,
+
r GS -+
t
+
I
I
K1
I
I
I
IL __ +- __ ...JI
rG3- + ---,
r
J2 -
+I
+ __ ..JI
I
I
L __ + __ -'I
I
I
I
' - __ + __ ...1
t
I
-+ ---,
I
I
I
I
+
+
I
+---,
I
+
I
..
r H2 I
I
I
I
~ __
L
--,
rF~­
I
..
I
I
Meter lDItall
G4
00005
I
EnOl'Routine
r
__ .....JI
rF3--+---,
--+-JEA4
I
__ ...JI
t
I
I
J3 -
+---,
+
Request for
. lDvettlglll""
I
I
K3 - + - - - ,
I
I
I
I
+
I
+
I
IL __ + __ --1I
I
I
...
...
I
I
L __ + __ ..J
r
r JS - +----,
KIA1
I
r
I
I
+
I
I
K4
I
I
I
I
I
L __ +- __ -'
-+--..,
I
I
+
I
I
L _ - : + __ -'
rKs-+--l
:
+
I
I
L __ +
I
•
I
__ .JI
PRINTED IN U.S.A.
17
'iC)c 'iY.7.
l.!J~c!..M.!J Flowcharting Worksheet
)(20-1011-1
Programmer: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Program No.:
Chart 10: ~ Chart Nome:
r
A1
-+---,
1
I
I
1
tI
"'I"
I
I
L---t--..J
rA2I
r
I
I
I
~
I
I
I
I
L __ -+ __ .J
rC1- -t- ---,
I
1
1
1
+
-+---,
I
I
t
I
..
I
r
-+----,
I
I
I
+
I
I
-+ __ -1
GI - +----,
I
I
I
I
+
I
I
L __ + __ .JI
r H1 I
+---,
I
I
I
...
+
I
I
I
L __
+ __ ..JI
rJI -
+ ---,
I
I
I
I
-I-
+
:L __ + __ ...Ji
r K1
I
I
-+---,
I
I
t
I
I
,02-
I
I
I
L__
__...1
-+---,
L __ + __ -'
r
-+---,
I
I
I
+ __ -.J
,E2-
+----,
I
I
+I
+I
I
I
G 1020
E3 -
rF2-
4----,
I
I
tI
tI
L __ +- __ ...1
r
G2 -
+---,
I
I
I
t
I
+
I
I
I
I
L __ +- __ -'
r
H2 -
+---,
I
I
+
I
I
L
r
I
I
+
_ _ ... _ _
J2 -
I
I
...1
-+----,
I
I
I
I
Add Discoun t to
Account Balance
Zero Discount
Amount
I
I
.
+
I
I
L __
__ -1I
rG4-
---,
I
.j.
I
IL __
__ ..JI
1
I
r F5 -+---,
I
I
I
I
+I
+I
I
L __ +- __ -'I
rH4 -
---,
I
I
I
PClGt Payment to
I
Account Balance fooiIE~--+--"""
I
L __
I
+I
I
-+ _ _
.J
G 4005
BBAI
..
I
I
Routine
I
+----,
E5 -
+
+
L
r
I
I
I
I
+ __ ...1I
+
I
I
I
L
__ + __ -1I
I
I
I
I
L
__
+
---,
r F4 I
Overpayment
I
I
I
+
I
I
I
I
I
I
L
__ + __ ...1I
I
L __ + __ -.J
1
I
I
+
t
I
I
I
+----,
r 05 -+----,
I
L __
C5 -
I
I
I
I
t
I
C4
I
+- __ ...1I
I
I
I
+I
I
+ __ ..JI
r
r
I
I
t
I
I
L __
L __
I
__ .JI
+I
I
I
I
I
I
+
t
I
t
I
I
I
L __ + __ ...JI
I
r 85 - + ---,
I
L __
I
I
r 84-+ - - - ,
I
I
I
+--
r C2 -
I
I
4-
I
L __ +
t
I
I
I
I
+ ----,
L __ -+ __ -1
I
I
I
F1 -
~
I
I
A5 -
+
t
I
+
I
I
.J.
t
-+---,
E1
+ ----,
+
r
I
L __ -+ __ ...1
r
82-
-+---,
A4
I
I
I
I
1
I
1
I
.j.
L __ -+ __ I
L __ + __ -.JI
r 01-
I
I
I
t
I
I
I
t
+
I
I
I
I
L __ + __ .J1
I
f
I
I
I
-+---,
81
r
I
+I
I
r
Poge: .....J1!:,D_ __
+ ---,
I
1
Dote: _ _ __
Program Name:CW!ome[a!!~~£U~e
Cash Pa ment
r H5 --t---i
I
I
t
.j..
i
I
L __ +- __ .J
r J5 -
+---,
I
I
I
I
+
I
_ _ ...JI
__ ...... __ ..J
G5OO5
G lOBO
BBA3
BBAS
Full Payment
Routine
Partial Payment
Routine
+---_10-__
Figure 36.
27
llJ:ID~
Flowcharting Worksheet
Programmer: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Program No.: _ _ _ _ _ _ _ _ _ _ _ _ Date: _ _ __
Chart ID:
r
A1
L.. Chart
r
I
I
I
I
-t
+
I
-+ ___1I
81
1
1
~~----~-,
I
1
+
C1 -
I
t
+
I
I
L __
---'
+I
__
-I-
I
+ __ ..JI
I
1
L __ +
-t--,
I
I
+I
I
G 004S
r
1
Subtract
I
Payment Month
from due Month
C3 -
+---,
I
1
1
I
t
t
I
I
I
I
L __ + __ -1
----,
I
1
t
t
I
I
I
I
t
I
E1
-+----,
I
I
-t
1
+
I
L __
+ __ --'1
rF1-
4---,
I
I
I
I
t
-+ __ ---1I
r
+----,
G1 -
I
I
I
+
t
I
I
I
L __ + __ ~I
r H1 I
+--,
I
I
1
,F3-+---,
r
I
+
G2 -+---,
I
I
I
I
t
+
I
I
I
I
L __ +- __ ..J
r
H2 -
I
I
I
+ __ -.1I
-+
I
IL
+----,
I
I
I
-+
I
+
rG3-
I
I
1
+
__ +
__ --1
r
H3 -+
---,
I
I
I
+
__ + __ -.l
J3 -
r
+----,
r
I
I
-+
+
+
I
I
I
L __ + __ -,I
I
K1
.
-+ --...,
t
I
I
L
_....:.+ __ --1
I
I
I
r K2 - + - - - ,
I
I
I
I
+
+
+
:L
I
__ -+- __ ---.l~
I
-+---,
I
I
I
-t
I
I
I
IL _ _ + __ ---.lI
+
IL
I
I
:
I
I
I
+
IL
-+---,
I
+ ---,
I
I
J2 -
t
lL __ + __ -...lI
I
rJI
I
I
-+ __ -.1I
I
__
I
I
+
-+
L __
IL __ +
+
I
L __ + __ -.lI
+I
__ ---lI
+I
I
I
L __ + __ .JI
I
I
I
I
+
I
I
+I
r
I
F4
+ __ ....JI
-+--,
I
I
I
+
-t
I
I
L __
I
+ __ -...lI
rG4-
+----,
E5 -
+---,
+
I
L __ + __ ---1I
r F5
-+----,
I
I
I
I
-I-
I
+I
I
I
L __ + __ ---l
I
I
1
I
+
-I-
I
I
IL __ +- __ --1I
r
H4 -
+----,
I
I
+
+I
I
I
I
r H5 -1---j
I
I
rJ4 -..----,
I
I
I
I
I
L __ -+- __ ..J
+I
+I
I
I
L __ -+- __ --1
I
I
-t
+
I
I
I
I
L __
I
+ __ ...JI
I
t
I
I
I
L __ + __ -
I
I
r
I
I
K4 -+--...,
I
'I
I
I
+
t
I
I
+
-+-----,
I
r E4 -+--'--...,
r
I
I
I
L __ + __ -'I
I
I
I
-+
I
,05
I
+----,
K3 -
I
I
+
t
I
t
I
r
--,
I
,04- +---,
I
I
L __
I
I
+I
I
I
1
C5 -
I
l'
I
+
I
I
L __
r
C4
I
I
I
C3
r
I
I
I
L
__ + __ ~I
L---t---'
I
__ -.lI
--~
rDI--t----,
I
28
I
I
+
I
+
1
1
Figme 37.
I
+ ----,
~
L __ + __ -1I
+
I
A5 -
I
I
I
I
r
.l.
r
I
,85-+----,
I
1
I
I
I
I
I
L
__ +
I
A4 -+---,
.j.
I
r
r
I
I
Page:--<.:JA",-_ _
-+--...,
I
1
r
-+----,
I
I
I
L __
A3
Customer~~!!Cl File
Program Name:
_.;;Du;;;erFDa;;te=..T.:.;est=-_ _ _ _ _ _ _ _ _
-+---,
I
r
Name:
-I-
I
L __ +- _ _ ~
r J5 - -t-----,
1
I
I
+
+
I
I
I
I
L---t----'
r
K5
-+--l
:
I
I
+
I
+
I
L __ +
I
__ --1
Situation IV
As pointed out earlier, the peculiarities of machine
logic will probably necessitate changes in program
logic, requiring a flowchart to be redrawn. During
testing, installation and operation of the procedure,
necessary modifications of the program will also
require redrawing the flowchart.
The redrawing can be done manually, but it is
very time-consuming and can result in errors.
With the use of IBM Autochart, program flowcharts
drawn in a prescribed manner can be produced
automatically and, once produced, can be changed
or modified with a minimum of effort.
The program flowchart shown in Figure 38 is
the Autochart of Figure 33. It was produced in
four basic steps:
1. Rough draft on a flowcharting worksheet
2 . Coding sheets coded for the chart (FigUre
39 a & b)
3. The input listing for the chart (Figure 40)
4. The finished Autochart
For further details, refer to IBM SRL Manual
"7070/7074 Autochart Program" (C28-6772).
29
.....
·
.x.
CHART 04
AUTOCHAAT
.....
··....
.
TYPICAL CHART
·04 •
•.A!.
FROM AF
FADM AF
•
* •• *
••
a.
•••••••••••••••••
• YES
.X.
••
.·.
·04 •
• AS·
A3
••
.x. ••
MERGE
X
23
••••• A4 •••••••
•
ALTER ADDR •
• IN OUTPUT LBL.
17
••
•• NO
INPUT
•• LABELS ••
••
••
w• • *
• YES
FROM AI'
•••••••••• X.
ROUTINE TO
•
•
REFER TO
•
MRG LABELS •
CKMRGSIZE;
•••••
••••••••••••••
;
IS
·····S2··········••
02
a.
• MOVE CURRENT
• DATE TO LABEL
INFORMATION
•
FIELDS IN
•
SAVE AREA
YES.. OUTPUT
••
•••••• LABL = INPUT .•• w. LABEL ._ ••
••
*.
•
.............•...•
* •• *
.X.
•• B3
•••• 18
CHECK
•• NO
.....
··....
.
X
a...
.. .. ••
•• LABELS
······Cl··..······.
·····C2··········
.................
::~!~!~~~.~~.~~~:
;
w_*_a_*_*_*_*_*_*
• READ OUTPUT •
• LABEL CONTROL •
CARD
•
•
.....
··....
.
X
•
MRGINTFL3 +XA •
••
BRANCH
-.
30.
.-
••
·.NEGATIVE ••
••S..
...
.X •
BS
•.•.•. ~~.
·AF •
• AI·
·
16
.SIGN PH2 LABEL •
.INDICATOR PLUS •
• IF PHI AND PH2 •••••
• LABELS ARE NOT •
.................
..
.. ...
X
19
..
···C3*·········
•-e-*-._._._._*_*
X
03
• SUBTRACT SIZE •
OF MERGE
•
•
• PROGRAM FROM •
• TOP AVAILABLE •
.CeRE IN PHASE 2.
VES..
IN SAVE AREA •
.•• ...............
.•
• YES
• NO
Al
24
: •••• B4 ••••••••• :
•
MOVE 2 TO
•
• ••••••••• X.
29
·····AS··········
•
Bl
.....
• A4 •
A I . . 01
••••• A2 ••••••••••
••••
.MOVE PH2 LABEL •
•• OUTPUT
•• NO
• INDICATORS TO •
••
LABELS
•••••••••• X. OUTPUT LABEL •
•• PRESENT ••
• INDICATORS IN •
••••
•
SAVE AREA
•
...
17JUL63
J.llOE
.
• READ MERGE
•
INPUT LABEL
• CONTROL CARD
.
·
;
31
·.···CS··········
•
CALCULATE
.ORDER OF MERGE
• TIMES BLOCK
• INPUT LENGTH
•
•
•
•
•
•
•
.................
.................
• A4 •
••
01
• x.
••
e.
.. ..
X..........
.. .. .. ..
...... 02···········
CONCARoERR
04
*. a • • a .-
OS
WRITE
•• IS THIS •• NO
-.OUTPUT LABEL •••••••••• X
•• CTL CARD ••
WRONG CARD
.X •
••
20
CORRECT
••
CONTROL
••
MESSAGE
.............
··....
..
..... .
• YES
03
NO..
CARD
••
·····05·········.
;
32
•
SUBTRACT
• PRODUCT FROM
• TOP AVAILABLE
CORE IN
•
PHASE 2
•
.-
•
•
•
•
•
..................
• YES
• E2 •• X.
······El.·..······.
X
08
• MOVE CONTROL
•
ERESTART
CARD
.................
~
09
SETOUTLBL
GI
NO..
•• ••••
•*
.x. ••
TM
·
X
····F2·········
•
•
•
•
•
10
-. ••
FOLLOWING
•• a. LABEL ._ ••
;
•
.ax •••
a •• *
CARD
•
INFORMATION
• TO SAVE AREA
.
07
HALT
•
•
•••••
•
•
•
•
•
X
·····Kl .........
·
:X •••
.................
;
··....
.
.....
• E2 •
Figure 38.
30
22
SWIoI
F3········~·
•
MOVE 0 TO
••
•
•
•
.. ..
33
••
••
a ••*
REGISTER TO
•
•
•
••
J3
• X.
••
w.
28
••••
w.._
••• w
• YES
;
....
··......
• A4 •
.-
35
X
36
·····HS·.·.·
•• ••••
.SUBTRACT BLOCK
•
• SORT LENGTH.
FROM TOP
.X •••
•
.AVAILABLE CORE.
•
IN PHASE 2
•
............•....
•
•
NO..
ALL
••
• 43 .X •••••• INPUT CARDS ••
••
•• HANDLED ••
34
.................
27
• HANDLE NEXT
• CONTROL CARD
e.
i
.INCREMENT INDEX.
••••••••••••••••• X.
••
·····GS······.···
•
SUBTRACT
•
• OUTPUT BLOCK •
• LENGTH FROM •
• TOP AVAILABLE.
.CORE IN PHASE 2.
: •••• H3 ••••••••• :
•
.X.
..
•
• •• e
;
F5
••
MERGE
•• CLR
w.
• •••••
•• SWITCH ••
w• • •
• SET·
•
.MRGINTIFLB +XA .X •••••••••••••••••
• IN SAVE AREA
12
13
.X. ••
BRANCH
*.
• NO
······. 1··········.
·..................
•
MOVE 2 TO
• PH30TTFLS.
:
~~~~T~Fl~
• IN SAVE AREA
ES
..NEGATIVE ••
•
•
·..... X .
·..................
MRGINGENRL
•••••••••••••••••
.................
•
•
MOVE 0 TO
•• • X.
PH30TTFL4
• IN SAVE AREA
.X ••••
26
.X.
••••• G2..........
G3
•• 2S
• SET INDICATOR •
••••
•
FOR
•
VES..
TM
••
•
TAPE MARK
.X.......... FOLLOWING ••
•
FOLLOWING.
•• LABEL ••
•
LABEL·
••••
;
11
: •••• Hl ••••••••• :
:NOUTTM
.........
YES..
•
................ .
• YES
• SET INDICATOR
• FOR TAPE MARK
•
FOLLOWING
• OUTPUT LABEL
21
• MOVE CONTROL
• NO
·····Fl··········
.................
• MOVE INPUT
•
• LABEL INFO
••• X. (FOR OUTPUT
•
LABELS)
• TO SAVE AREA
······E3·.........·
•
............ .
•
•
.SAMEASIN
06
.ERROR RESTART.
IoIESSAGE
•••••
•
INFORMATION
• TO SAVE AREA
X
······e2···········
WRITE
•
.................
• BMERGEAA
38
••••• ·J4 •••••••••••
WRITE
•
BI AND/OR BO
TOO LARGE
MESSAGE
.............
._ JS
•
X
.X •
•• e. 37
YES.. BRANCH
••
X•••••••• ••
.·.NEGATIVE ••
a •• _
..
.-
• NO
.....
..
·
;
·AF •
• G2·
•
• INITIAL SETTING
lrrn~
AUTOCHART CODING SHEET
_
Chart Ident ___D.,..;4:I..-_ _ __
Program Name AUTaCHART
2
~!:!
I •
IA.~
31.0
Chart Name
Program Name
6
Chart Name
70 71
I
O~_~DIEg;!~
A
~!~~
16
II\I.I'~'"
I:;I~I
11t~1."
D.l/- lq.~
1D,,,t. ~ 1
]).~. (,,2
In.el .11' ~
iLl,,, •Ir j
/JII- .1/\
M'
h '"
~~I 31~1
g
I
I
!A.'1
~1
I I
Ip.
;! ...
I I
~ ~,s:7!"
I
Vl.J,I ID!
Ibi
I
I
II
I
I
:
~
I
I
I
I
I
I I
I
I
J),Jl. G.2
il..'
~
I
I
I
D.l/. • (:;.
12.,5'
pi
L 't;,2.R' ~",E
D,4.G.~
l:u"
/).~
f:c.}/,s.f '
R K~I< I
12'1
Ilu!.IJ.v
l~".
1M U1 Wl1tl,T."T;H,
\1,2
; 8 J 3T I
pi flW 5':T I
'pi B iX-,l,T I
I I
fD.Ji .1K.1
n.:3
p.
1 ~
•
I
111[£,2,1"!J
I
I
I
I
i
I
I
I
\
I
I
I
I
i
I
I I
i
I
T
I
,
I I
I I
T
I
I I
I
r
I
T
I
I
T
1
I
:
I
I
I
I
I
I
-I
II
II
I I
-II
I
I
I
I
I
r
I
1
I
r
I
I
I
r
I
I
I
!I
11
T
!
I
I
I
I
I
I
I
I
I
I
I
11
iT
I
I
~
I
I
I
I
I
I
I
I
I
I
I I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I:
I
:
I
I
:
I
I
iii
I
I
I
I
I
I
I I
II
I I
I
I
I
,
I
I
I
I
I
I
I
I
I
I
I
I
I I
I I
I
!
I
I I
I
I
I
I I
I
I
T
I
I I
I
:'
r
I
-I
I
I
I
I
I
,
"
I
,
I
I
I
I
I
I
I
I
I
I
I I
I
I
I
I
I
I
I
I. I
I
I
I I
I
I
-r
1
i
I
I
I
I
I
I
I
: I
1
I
I
-.
: I
I
I I
I
I
i
I
I
I
I
I
i
,
I
I
TT
I
I 1
II
I
I
I I
I I
I
I
-rl
I
I
I I
I
I
I
I
I
II
TTl
I
I
I I
I
I I
I
I
I
I
I
II
I
I
I
I
I I
3 T '.N,~,
I I
I
II
I
I I
I·I I
:
I
I
I
I
se,17tt
I
I
I
:
~F=
I
I I
I
I
I
I
I
I
"
I
I
I
I
I
e!F fi.7 'H,d,
I
2
I
I,
'!:
I I
I: I :
BGS,T:
pi
I I
I I
I
!P, 'JllL:Y,;.S I
11. 1
I
I
'I
I I
I
I
I
I
I I
I
I .
I
I I
I
I
• IJI.
D.4 • W,3
I
:
i
:
f 3,7 ~y ,E,S,
B!U
I
I
I I
I
I
I
I
I
I
I
(J.
I
I I
I
1
I
I
I
I
11. 0 D! LJ 1. L 'AIm
s
I
I
I
I'V":
"'JI~L
II
I
n.ii.. P.: :~,WM.
TuJ. r-'"
loR,
I
"
I
Ifl
1(1
I
I
'N.d,
0,7
R H,S.R.
I
I
I I
I
I
Po
i
I
I
:
~.tl
I
rrT
I
I
I
1>.11. 'F SAM,E.II,~.I ,N.
h,1/- • 1]:.2
I
I I
i
I
I
1)1
I
"
I
I
I
'ii
I I
II
'!
'f-
I
I
-;..·~d.~
I
2].
I
I
I~~I
g
I
1':!,3
I
I~I
;'06
I
I
IE.~
I
It I
h
z
18 I
~
I)
I '
''-3
In,.,
I
I IB!B,l,T! lYe 5
I
~'LE.S I I
I
II
I
I Ii'.
I
z!z
-150 . . . . . .-:.;...
I I
I I
I
I I
I
18 f~:r. I
It :,) ~R !V,E 5
fiG-,l,T
I
I IJ:!GII
I I
I
I I
I
I
~ IS
Iz!
I
Y r.S
1.4.~,:7
I
I
N/J.
e
l~ 1.
I ~ I!! 'I
I~I g I~~I ~I~I
h
I
11\2 11.: IL F.l.L I IY.E.s' I
I ~ Co 1:'1
I:z.~
IfI/Jz.rI
I
tl.51 In! IRiR,¥,L,' 'JII.~ I
I lq
3,;
I;.~ 1O1 IR !F31< I
I
I
l3a Ib! LIx,X,)( !Y,~5 'AF.Al!RI,Q!r5',7
I/)3 Is! 8!b 1 T
I
I
11. b ~ Rin,lJ.,1
b,q' lsi ~1l)3:T
!IJ..,I
I
><01
1,q11'l.2L !N~.
ID.I,t.ID2."'IICNrtlDl).E'J?"II\~ hj I8E2~ I
D.IJ • III':;
12 0 lb l L!D.2,R, 'N.A
~ •ID,'1~,2 IA III !;,S;r. I
1l).~.I.;,"
J.l1 IkG~.e
D".
2 I~_I
Z-'353~17" "~,..
!n,II-,A,'l'SR!A,'2 L' fII.~
•• ,
n-
IBia,2:T
ID,4 • IR.Jj
I
I~ I
10
be
F"LOWLINE EXIT
~ i i I ~ 3 I~I S;: IJI S'" D I~ -I °3 1:>1 8;: I-I S~ DI~ i i I ~31:>1 8;: l:::il S~ DI~ iiil ~
n.1. 1 I"
l. '" Ip!
IA ..IJ .IR.1
D~ .~2
1J).lj .18~
"LOWLINE EXIT
~
... m'O'IZZ
I~I"0
101
e
77 787
'1.:1 J .11 L.b.3
'"
; ~~~I 31~1
"
.IA,1
FLOWLINE EXIT
~ I~I
-
lJ',"' • .0.2
'tJl
J .. b.n!;!
~Z g
'I
J
"
SVMBOL-Ie
1.3',.
.1 bali:
Programmer
tr.V.P.I.C R L C HIA RT
BL.OCK
~ : ~~
71111 "'3
Date
Programmer
T'fP'CAL. CHSRT
10
IAUT.mr N.R R:T':
I
Page _ _ of _ _
CHART HEADER (1), BLOCK LAYOUT (2), BLOCK TEXT (3)
:
I
: I
I
I
I
I
I
I
I
I
I
I
I
.. I
11
T
II
1
i i
I
: :
.1
Figure 39(a).
31
Text Line 2
Text Line 1
1 Z 3
.. 5
6
Text Line 3
3
Z ZI
Id.U:T.PU~
D.I./- ] 11.1
R.2 'M"g,V,E Ptl'2 L,II,B,G,L r.N,/),r,C,A"Xfl.R,S :T,~
III.ERQ.,£,
MI- ] 04,3
I,N, ,g',U:T.P,U,T, L ,8,L
D,'/- ]04.'1 ItJ.L.T.G.Il. ,II,/} ,f) Il,
czS.F M,Ii, ,,",Q,&,
ID,'" ] /1,$ S U ,e:r.R.II c:r .S.T,2 .~.
1),4 ] 8,'1
~,U~P.ll:r.
tIl.A.T.&'. T(/" L.A,RE.L
lo,aJ ] 8,2 M,d,V.G: r UPlE.NT".
r.NhT.r.,A':T,O,f,S - r.N.
L.A,B,!:',l
o{u:-r.p,u~
I/,N.P,U~
11\." d~.4
N,'l'l.E.
..-"P, AV II"LL.M/,L E,
,F,R.I&,r4,
=, ,r.N,p.rJ~
ell.. D M/\ T.'1:ClUI.
L.R.B.£'L
e,G,R,E, ;r,N, ,PoHII,S 6.
, , ,
F,t:,EL,DS, ,I,/J. '
IS,A,V.&', A,R,EA, ,
Toe.
,'2,
.~,~,IJ,
ft1,1(' ,C;,l:N,T:'F.L 1
',u,B~RAt:;:r.
b(,I2,o,e,R, ib:F, ME,I,G,E, rr.L.14,',s ,&l.d,(,1(
t6.lIT,P.u,,- LA ,S,E, L
r-:r L C,R,R,lI
tr.,N,P,U:r: ,LE,H.G-.l,"
W,R,o,tllr, C,R ,R. b
r-.~H,T,R,J,L,
M,E:5 sA&,E:
"'_.dJJi>,fI,Ec,
Ez 'tJ,R:z::r:E
'rr:Q,p, ,a,r ,R-,r,L.AJI,1.G.
,;;",R.t>,JII,
I[),IJ ]
E~
M,o",£'.
,
rr.d.
r.N,F,I/,It.h,",~tlN
,
'sA,'t/,£. ,R,~.E ~
M,£,5 SA.G,b,
1"'~JD"'''
fJ.d.
,.,N,
SA,v.£, .IH?,EA, ,
N,';,(:.,R,r.:r.V,E
'(.F,O,R..o.u~P.IJ:r:
L 0\.8.': L ~,\.
Ir:~ .3,A,V,E, ,R,If..E,R.
",R,LI.
,
lJ),4 ] F,S
ID,~] (1.,1
M,d,IIE 0, ~tS,
'WI, &.11 t;.,(;,
.,U~r...T.N,T.l:f:iL,8, ..t-,,cA
froM,
F,Ql,L L O,.J,:t:H,G,
rA, P. e: 1M·,p, k'
l--I~
t>.'" ] 1\\,3
tr'H,(
b,~] fI.I.!; Sll ,RT"R,AC:~ ,B,l."~c,1(, ~d.R.r.
D.4] lJ,:l
"'~L L
n"] lB' ~R~,'f'..
./).4 ] J.5
.FoR..OM
F. 0, t T,,,, f',~ JI.A ,/t, It
C'r,Q.:r,s,T,E.R
J.~,
BI,
iRi'A}/,Cl/,
[p H3,/l.rr.F./.,5':
1J<,,1 /1{i.II.€. ,z, :r.6
,~N./)
/d.R,
.
,
L ~,B.r;,L
.,
"
~.oI.R,t;:, '!I,N
. -r:;,II,L L.tJ', ....,rN,r;, ,
W~Nn I t: JoJE,'t,T
Tct.
PR,(JM np.
1p,li3./J,r:r.r:l,j.,
1:.NP,/J ,T, ,,.Jj ,R .l),S
.L ~N.GTH,
M,d.1I~ .(),
lJ3
.~ .N.G:T,~,
-r",'I\~"
-
........
,A,B,E.L
F, fI, L,l..,tI, w,r.ft/,(i.,
L,II ,B,E,L.,
T:'d,~ A.If,A,l:.L,IJ,8,L,e
/=,,6(,L L,d.ulTHt:..
3
-
~,R~,", ,A,R,C',A,
tl:.N.
~
ld] ~ S(;17 ~,NDr.CAT.tA,R.
IF'dR,
.
rr.M,
b.'" ~,~
I~, ~:r.IlIfC,:r
f!"u-;T.P,u;T: ,Bl.,0~,~
b,"]
Sf"" ~,r.CA17oR..,
1>.* ]Wj
D,~
IpH,II,5,G. ,2, , , ,
r.d.p.E. IN.
~,AR,O
,c'0.N:r,R,_,L
1~.RANrJ.l.
IL.A .B.~L 1: N.F.d.
~."l 'H.fJ,'J~ ;r,NPU7'".
Ib."J. ] F,2
~ ..J.] r:',=t
/j,Jj3
.
1r:,R ,Ill)
, , ,
f'"Ij,R,O
ER .R.tIJJt. ,r,£ ~:r.H,R,r:
!n.4 ] e,5
IJuJ3
.... -r
'4,0.1/ ~ Cd"',r.~,o,L.
D,IJ ]
.B.Y, P11.,
1. S :T,~,I S
P,JIJ~"
11>.'/-] E,l
!'A.It.lI.
.A.8£.L. .C!J.NT.RJ.'S llite. /{'o'T R.ET./I,l:.II.Eb.
LA.B.EL
,P.".' lr.,rlP
,\I,T
It:,rJ.rI:r.R,(j,L. ,ell,R,t),
Ib.~ 3 .Dol J,R,:r,17E,
11>.4 ] /).5
.1U.E'.A
LJtB"~,L
CA LcuiA:T.E
D,'I- ] 1>,3
S,/4.'t/,~
r,N,
NE,'RT::r.,\I.E.
~,E' ,A,f'), M,E',~G,t;.
1)1
,2
L,R.B.E.L.S
l),'1 ] ~,,3
b,'h
rr,~,t;, ,L ,A,R,J:.L 5
I.A,REL
~.~,A.b ..r,IITP.\),T,'
11:>." ] r,1
!D,'! ] ",z Is:u.N. ,P,1I2. L,A,BGL 'rLH./J'Il:.lr;r.t!R, P.L V:s r.F, .P.\Ll. AtI.A
1),4 ] C,S
:r:-.
/l,E,F,£,R,
t:I 0 "'~O ",. .,
~.R,A.N.("II
~,'" ] 8.s
.S~~.~..A.ru",R.
LR.R,E,L S
'R"lI,u1'".r.N. E :r.-"
TAl
10
P.fiJ.E.s.E.N.T.
It!..JI ,E.C ,K.
In.1/- 3B,g
6, 66
51
L,R,B,E,L.5.
l!>.JJ
Text Line 5
Text Line 4
•
]6
I
I
,P,H,R,S,&', .2.
rx,uTP,u,1. ,1..A,B,E,l,
<:dNT,Rd..L ."-.A,RI'l
a.VII-rLRR,Lr. c.d.~,J!;
leN. P,/I.R.S,G, 2
I,I1. S,R,II ,£, ,R,/.GII,
U N.fJL c.b,
Te f,0, ,L,IIRG.G,
8.~,
~~JI¥ ,D, :r.~
N,'J:.IJ.-r:T'II.&.
'ftj,G;S S.R&,r,
,
,
fIJ/,.3,rAi7.F.1. JJ.
TN.
,II.K.G.R,
.
~A,V,~
]
TIrn~
AUTOCHART CODING SHEET
LINE (4), COMMENTS (9)
Chart Ident _--""'D'-<4-_ _ __
Program Nome
Chart Name _ _ _ _ _ _--'-
I~ ~ If- ~ ~
f ~I
8
lt~I~:56.J78O'_
~ I ~I
151611).&11. ILL'np!" J:'.d,,,IJ\~
I
=
~ I~
I
ziI,z
10
_~ I ~
I
27lz8
~1~ ~
ul34
1':
J~
!! I
I
I
:
I
I
I
J:
I
I
:
II
1
I
I
I
I
I
I
I
I
I
I
'I
I
•
I
I
I
I
I
I
I
I
I'
•
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
-
I
i-
I
I
I'
I
I
I
1
I
I
I
I
I
I
I:
I~I~
1>1-_' 6
7
II 1 II
Comments
1
15
F.~ ,0.M.
/l-,F,
1=Jl,ol'f. IIF.
':'.R.O.H, ,It,k,
30
ZO
I
35
I
I
I
'
I
,
_0
!
I
I
I
I
I
...z
I
•
~ ~
I
i •• 1..
31'0
I
J),IlI- IJ.,
Programmer
,.
I~
,_z
Poge _ _ _ of_ _
Date _ _ _ __
~ I~
'_71~~
~!!!
J
I
I
II:
I
I
I
i
I
I
I
I
I
I
I
I
I
::::
:
I
'0
I
..
I
!
!
I
I
I:
I
I
..
I
I
63160
I
I
:
=
75
J
I
I
I
I
»:, .J./'t,,",I.LH.L :~,C'I ..",\r.
!
~--~~~~--------~----------~--------~--------~--------~------~~--
Figure 39(b).
32
80
I
I
--
04 2AI
01
04 2A2
14 P BB2T
0
T
04AISRA2L NO
04 2Al
17 0 RA4L NO
04 2A4
2l M RAIT
02 0 LFIL
04 2B2
IS P BC2T
IlBlT YES
18 0 RB4l. NO
04 2114
24 P BFlR
04 2BS
lO 0 LXXX
04 2!=1
Ol S BOlT
04 2C2
16 P RA4T
04 2Cl
19 S BOlT
04 2C5
II P B05T
04 201
04 0 RD2l. NO
BClT YES
AFAIRBCST NO
A4
BEl T YES
I BE2T
20 0 L02R NO
04 20S
32 P BEST
04 2EI
OB P RGIR
04 2E2 ERESTART
06
04 2El
21 P BFlT
04 2FI
BCIT NO
YES
04 2Dl
04 2ES
BElT YES
I BF2T
3l 0 LJ4RJYES
SA"EASIN
04 2F2
04AlS
04ASSBB5T
YES
04 2Bl
04 202 CONCARDERROS
YES
AI
04 2AS CKMRGS I ZE 29 P T
04 2BI
BB If
BFST NO
09 P BGIT
07 H
04 2Fl MRGINGENRL22 P BGlT
04 2FS SWM
04 2GI
34 0
SETOUTLBL 10 0
RHSR CLR
BGST SET-
LJIL NO
BH IT YES
04 2G2
26 P BHJL
04 2Gl
25 0 LG2R YES
04 2G5
3S P BI<ST
04 2HI
II P RKIR
04 2Hl
27 P BJlT
04 2HS
04 2JI
BHJT NO
36 P BJST
NOUTTM
12PBKIT
0" 2JJ
2B 0
04 2J4 BMERGERR
38
LAlT NO
Al
04 2JS
l7 0 BXXX f';O
AFG2SLJ4R YES
042KI
Il P BE2TJ
E2
I LElR
SBA"T YES
A4
N
F
04 lAI
OUTPUT
LABELS
04 JA2 MOVE PH2 LABEL
I NO I CA TOR S TO
OUTPUT LABEL
INDICATORS
04 lAJ
MERGE
INPUT
LAIlELS
04 lA4
SAVE AREA
I N OUTPUT LBL
ROUT I NE
REFER TO
MRG LABELS
OF MERGE
PROGRAM FROM
TOP AVAILADLE
CORE
04 JBI
OUTPL.T
LAIlL =
LADEL
DATE
INFORMATION
JB2 "OVE CURRENT
04 lBl
TO LADEL
TO
IN
04 lAS SUBTRACT SIZE
04
ALTER AOOR
flRESENT
INPUT
FIELDS
CHECK
IN
IN PHASE 2
SAVE AREA
LABELS
04 lB4
MOVE 2
04 lBS
BRANCH
TO
"RGI"TFLJ +XA
IN SAVE AREA
NEGATIVE
04 lCI
flEAO OUTPUT
04 lC2 SIGN PH2 LABeL INOICArOR PLUS
IF PHI
04 lCl
LABEL CONTROL
AND PH2 LADELS
ReAD MERGE
CARD
ARE NOT RETAINED BY PHJ
INPUT LABEL
CONTROL CARD
04 JCS
CALCULATE
ORDER OF MERGE TIMES BLOCK
INflUT LENGTH
04 lOI
IS THIS
OUTPUT LABEL
04 lOl
CORRECT
CONTROL
CARD
04 lOS SUBTRACT
PROOL.CT FflO,",
TOP AVAILABLE
CO.RE
04 lEI
MOVE CONTROL
CARD
INFCR"ATION
04 J02
04
_RITE
WReNG CARD
04 lEl
MOVE CONTROL
04 lE5
BRANCH
"aVE
MESSAGE
IN
ERROR RESTART
lE2 WR IfE
04 JFI
CTL CARD
INPUT
LABEL
CARD
TO SAVE
AREA
MESSAGE
I NFORMA T ION
TO SAVE AREA
NEGATIVE
INFO
LAO(;LS)
(FOR OUTPUT
TO SAVE AREA
HAL T
04 lF2
04 lFl
MOVE
04 lFS
MeRGE
0
TO
MRGINTlFLB
+XA
IN SAve AflEA
SWIrC ....
04 lGI
T"
FOLLOwiNG
LABEL
04 lG2 SET INOICATOR
FOR
TAPE MARK
FOLLOWING
04
TM
FOLLOw I NC
LABEL
JGJ
04 JGS
PHASE 2
SUB TRAC T
LABEL
OUTPL.T DLOCK
LENGTH FROM
TOP AVAILAE!LE
CORE
04 JHI
SET
FOR
FOLLOWING
OUTPUT LAIlEL
04 lH3
INCIlE"ENT
HANDLE NEXT
CONTROL CARD
AVAILABLE CORE
IN PHASE 2
INDICATOR
TAPE MARK
INDEXREGISTER TO
04
JHS SUIlTRACT BLOCK SORT LENGTH
FRO II
04
JJ I
PHJOTTFL4
IN SAVE AflEA
INPUT CARDS
HANDLED
MOVE
04 JJJ
04 JJ4
0
TO
ALL
WR ITE
BI
04 JJS
TOP
AND/OR BO
MOVE 2
04 4F4
060IE40BOIEJOB2.3
TO
04 4J4
080lF41001
04 9AI
0101 FROM AF
PHJOTTFLS.
MESSAGE
NEGAT IVE
DRA"C"
04 JKI
TOO LARGE
IN PHASE 2
"'OVE
0
TO
PHJOT TFLB
IN SAVE
AREA
04 9A.3 0101 FROM AF
04 9A5
OICI FRail AK
04 9K5
1401
Figure 40.
*
INITIAL SETTING
33
C20-8152
FLOWCHARTING SYMBOLS AND THEIR
DESCRIPTIONS
PROGRAM FLOWCHART SYMBOLS
D
A group of program instructions which
perform 0 processing function of the progrom.
0
Any function of on input/output device
(making informotion available for processing,
recording processing information, tope
positioning, etc.).
0
The decision function used to document
points in the program where a branch to
alternate poths is Possible based upon
variable conditions.
D
PROCESSING
INPUT!
OUTPUT
A major processing function.
Any type of medium or data.
PUNCHED
CARD
PERFORATED
TAPE
All varieties of punched cords
including stubs.
.
Paper or plastic, chad or chadless
DECISION
PROGRAM MODIFICATION
DOCUMENT
MAGNETIC
TAPE
PREDEFINED PROCESS
A group of operations not detailed in the
particular set of flowcharts.
0
o
TRANSMITTAL
TAPE
DISK,. DRUM,
RANDOM
ACCESS
V
V 11
flOW DIRECTION
Offline storoge of either poper,
cords, magnetic or perforated tope.
Information displayed by plotters or
video devices.
ONLINE
KEYBOARD
SORTING,
COLLATING
Information supplied to or by a
computer utilizing on online
device.
An operation on sorting or collating
The direction of processing or data flow.
SUPPLEMENTARY SYMBOL FOR SYSTEM AND PROGRAM FLOWCHARTS
o
ANNOTATION
CLERICAL
OPERATION
o
o
A manual offline operation not
requiring mechanical aid.
The addition of descriptive comments or
explanatory notes as clarification.
KEYING
OPERATION
An operation utilizing a key-driven
device.
FLOW
TIrn~
Intemati~al Business Machines Corporation .
Data Processing Division
112 East Post Road, 'White PlainS, New York 10601
0
DISPLAY
of the program flowchart.
A connector used instead of the connector
symbol to designate entry to or exit from a page.
0
OFFLINE
STORAGE
An entry from, Or an exit to, another port
OFFPAGE CONNECTOR
o
A proof or adding machine tape or
.similar botch-control information.
TERMINAL
The beginning, end, or a point of interruption
in a program.
CONNECTOR
0
<
Paper documents and reports of all
varieties.
An instruction or group of instructions which
changes the progrom.
c=)
[>
PROCESSING
INPUT/OUTPUT
0
0
<J
SYSTEM FLOWCHART SYMBOLS
REPRESENTS
SYMBOL
<l
[>
o
equipment.
AUXILIARY
OPERATION
D
A machine operation supplementin
the main processing function.
COMMUNICATION
LINK
The automatic transmission of
information from one location to
another via communication lines.
The direction of processing or
data flow.
Download