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.