STRUCTURED COBOL PROGRAMMING 8th Edition

advertisement
Chapter 1
INTRODUCTION TO
STRUCTURED PROGRAM
DESIGN IN COBOL
COBOL for the 21st Century
Stern, Stern, Ley
COMPUTER
PROGRAMMING:
AN OVERVIEW
COBOL for the 21st Century
Stern, Stern, Ley
Types of Computer Programs
 COBOL is one of the many
languages used to write
customized applications
programs.
COBOL for the 21st Century
Stern, Stern, Ley
Applications Programs
Interactive vs. Batch Processing
 Interactive applications typically accept
input data from a PC, workstation, or
terminal.
 Batch Processing applications process
large volumes of input at periodic intervals.
COBOL for the 21st Century
Stern, Stern, Ley
Applications Programs
 Applications programs that are written for a
specific user are called customized
programs.
 Programs that are relatively standard are
application packages that might be
purchased.
COBOL for the 21st Century
Stern, Stern, Ley
Machine Language Programs
 All programs executed by the computer
must be in machine language.
COBOL for the 21st Century
Stern, Stern, Ley
Symbolic Programs
 Symbolic Programs use Englishlike or symbolic instructions.
– These programs must be translated
or compiled into machine language.
– COBOL is a symbolic programming
language used for commercial
applications.
COBOL for the 21st Century
Stern, Stern, Ley
THE APPLICATIONS
PROGRAM DEVELOPMENT
PROCESS
PROGRAM DEVELOPMENT
PROCESS
1. Determine Program Specifications
– Program Specifications consist of the
following:
 Record layout forms to describe the input and
output
 Printer spacing charts for printed output
 Screen layouts for interactive input/output
COBOL for the 21st Century
Stern, Stern, Ley
PROGRAM DEVELOPMENT PROCESS
2. Design the Program Using Program
Planning Tools using Common Tools:
– Flowcharts
 A block diagram providing a pictorial representation
of the logic to be used in a program
– Pseudocode
 English-like expressions to depict the logic of the
program
– Hierarchy Charts
 Charts showing relationships among sections in a
program
COBOL for the 21st Century
Stern, Stern, Ley
PROGRAM DEVELOPMENT
PROCESS
3. Code and Enter the Program
4. Compile the Program
– The COBOL compiler checks the source
code to insure there are no rule
violations.
– A syntax error is a type of error that is
found if a programming rule is violated.
COBOL for the 21st Century
Stern, Stern, Ley
PROGRAM DEVELOPMENT
PROCESS
5. Test the Program
– Programs are tested or debugged to
ensure they have no errors.
– A logic error is a type of error that the
programmer may find only when the
program is tested with sample or test
data.
6. Document the Program
– Procedure manuals for users and
computer operators, called documentation,
is prepared for use by the operating staff
for regular production.
COBOL for the 21st Century
Stern, Stern, Ley
PROGRAM DEVELOPMENT
PROCESS
 ************************************************
 Remember, coding is undertaken only
after the program requirements have been
fully specified and the logic has been
carefully planned.
 *************************************************
COBOL for the 21st Century
Stern, Stern, Ley
DEBUGGING TECHNIQUES
 Desk Checking
– Reviewing the program before and after
keying
 Correcting Syntax Errors
– Using the printed source list of the
diagnostic messages to find and correct
the errors
COBOL for the 21st Century
Stern, Stern, Ley
DEBUGGING TECHNIQUES
 Program Walkthroughs
– Manually stepping through the program
with test data.
 Detecting Logic Errors by Executing
the Program
– Often the most difficult part of debugging.
– The preparation of test data is an
extremely critical aspect of debugging.
COBOL for the 21st Century
Stern, Stern, Ley
THE NATURE OF COBOL
 COBOL is a Business-Oriented
Language
– COBOL, is one of the most widespread
commercial applications languages in use
today.
– COBOL is an abbreviation for COmmon
Business Oriented Language,
 COBOL is a Standard Language
– COBOL is a common programming
language available on most computers.
COBOL for the 21st Century
Stern, Stern, Ley
THE NATURE OF COBOL
 COBOL is an English-like Language
– All instructions can be coded using English
words.
– The rules conform to many rules for writing in
English
 COBOL is a User-Friendly Language
– Because users are able to understand the
English-like instructions it is considered a
user-friendly language.
COBOL for the 21st Century
Stern, Stern, Ley
THE FUTURE OF COBOL
 COBOL is likely to remain an important
language in the years ahead for three
reasons:
1. Older, mainframe-based “legacy”
systems will need to be maintained by
maintenance programmers who know
COBOL.
2. COBOL is still being used by many
organizations for new application
development.
3. It is a very efficient language.
COBOL for the 21st Century
Stern, Stern, Ley
QUESTIONS?!
COBOL for the 21st Century
Stern, Stern, Ley
SELF-TEST QUESTIONS
1. A program must be in _________
language to be executed or run.
Solution: machine
COBOL for the 21st Century
Stern, Stern, Ley
SELF-TEST QUESTIONS
2. Programs are typically written in a
_______ language rather than in
machine language because
__________.
Solution: symbolic;
machine languages are very complex
COBOL for the 21st Century
Stern, Stern, Ley
SELF-TEST QUESTIONS
3. Programs written in a language other than
machine language must be _______ before
execution can occur.
Solution: translated or compiled
COBOL for the 21st Century
Stern, Stern, Ley
SELF-TEST QUESTIONS
4. The process of converting a source
program into machine language is called
___________.
Solution: compilation or translation
COBOL for the 21st Century
Stern, Stern, Ley
SELF-TEST QUESTIONS
5. The program written in a programming
language such as COBOL is called the
________ program.
Solution: source or applications
COBOL for the 21st Century
Stern, Stern, Ley
SELF-TEST QUESTIONS
6. The object program is the _______.
Solution: set of instructions that has been
converted into machine language
COBOL for the 21st Century
Stern, Stern, Ley
SELF-TEST QUESTIONS
7. A ______ converts a source program into
a(n)_____ program.
Solution: compiler or translator program:
object or machine language
COBOL for the 21st Century
Stern, Stern, Ley
SELF-TEST QUESTIONS
8. The errors that are detected during
compilation denote ______; they are
usually referred to as ________
errors.
Solution: any violation of programming
rules in the use of the symbolic
programming language; syntax
COBOL for the 21st Century
Stern, Stern, Ley
SELF-TEST QUESTIONS
9. Before executing a program with test data,
the logic of the program can be checked
manually using a technique called a
____________.
Solution: program walkthrough
COBOL for the 21st Century
Stern, Stern, Ley
SELF-TEST QUESTIONS
10. COBOL is an abbreviation
for _________.
Solution: Common Business Oriented
Language
COBOL for the 21st Century
Stern, Stern, Ley
SELF-TEST QUESTIONS
11. COBOL is a common language in the
sense that ______.
Solution: it can be used on many computers
COBOL for the 21st Century
Stern, Stern, Ley
TECHNIQUES FOR
IMPROVING PROGRAM
DESIGN
COBOL for the 21st Century
Stern, Stern, Ley
Structured Programming Using
Modular Design for Coding
Paragraphs
 The most important technique for
improving the design of a program in
any language is called structured
programming.
 Structured Programming is a
technique using logical control
constructs that make programs easier
to read, debug, and modify if changes
are required.COBOL for the 21 Century
st
Stern, Stern, Ley
Structured Programming Using
Modular Design for Coding
Paragraphs
 Structured programming is often called
GO-TO-less programming since
programmatic branches do not use GO
TO statements.
 In COBOL this means writing
programs using PERFORM
statements
COBOL for the 21st Century
Stern, Stern, Ley
Structured Programming Using
Modular Design for Coding
Paragraphs
 The typical structured program is divided into
paragraphs or modules, where a main
module calls in other modules as needed.
– Each module can be tested independently.
 Paragraph, routine, module are used interchangeably
COBOL for the 21st Century
Stern, Stern, Ley
The Top-Down Approach for
Coding Modules
 Proper design is best achieved by
developing major modules before minor
ones.
 Main routines are coded first and are
followed by intermediate routines and
then minor ones.
COBOL for the 21st Century
Stern, Stern, Ley
The Top-Down Approach
 Coding using the top-down manner gives
the primary attention to the origination of the
program.
 Details are deferred or saved for minor
modules, which are coded last.
COBOL for the 21st Century
Stern, Stern, Ley
A BRIEF OVERVIEW OF
PROGRAM PLANNING
TOOLS
COBOL for the 21st Century
Stern, Stern, Ley
RULES FOR INTERPRETING
PSEUDOCODE
1. A pseudocode begins with a START and
ends with a STOP.
2. All instructions are read in sequence.
3. The instructions between the:
PERFORM...END-PERFORM are executed
repeatedly UNTIL there are no more records
to process.
COBOL for the 21st Century
Stern, Stern, Ley
HIERARCHY OR STRUCTURE
CHART
 Structure charts identify WHAT each
module does, and how it relates to other
modules.
– The following chart shows the relationships
among modules in a program:
100-MAIN
MODULE
200-WAGE
ROUTINE
COBOL for the 21st Century
Stern, Stern, Ley
CHAPTER SLIDES END HERE
CHAPTER SUMMARY
COMES NEXT
COBOL for the 21st Century
Stern, Stern, Ley
CHAPTER SUMMARY
A. The Nature of COBOL
1. It is the most widespread commercial
programming language in use today.
2. COBOL is the abbreviation for Common
Business Oriented Language.
3. It is an English-like language.
COBOL for the 21st Century
Stern, Stern, Ley
SUMMARY
B. Program Preparation and Debugging
1. Get program specifications from the
analyst or prepare them yourself.
2. Use planning tools--flowcharts, pseudocode,
hierarchy charts--for program design.
3.
4.
5.
6.
Code the program.
Compile the program and fix syntax errors.
Test the program using debugging techniques.
Document the program.
COBOL for the 21st Century
Stern, Stern, Ley
SUMMARY
C. Techniques for Improving Program
Design
1. Structured Programming
a. Referred to as GO-TO-less programming
b. Structured programs are subdivided into
modules or paragraphs.
2. Top-Down Programming
a. Major modules are coded before minor
ones.
B. Similar to developing an outline before
writing a report.
COBOL for the 21st Century
Stern, Stern, Ley
SUMMARY
D. The COBOL Divisions
Identification Division
a. Identifies the program to the computer
system.
b. May provide some documentation as well.
c. PROGRAM-ID is the only required entry.
Environment Division
– Assigns a file-name to each file used.
– Specifies the device that the file will use.
COBOL for the 21st Century
Stern, Stern, Ley
SUMMARY
Data Division
a. Defines & describes all input, output &
work area
b. File-Section
(1) Each file-name is described in an FD.
(2) Each record format within every file is an
01 entry.
(3) Record fields are described with a
PICTURE clause that specifies the size &
type.
c. Working-Storage Section
(1) Defines work areas
(2) An end-of-file indicator is coded here.
COBOL for the 21st Century
Stern, Stern, Ley
SUMMARY
COBOL DIVISIONS
Procedure Division
a. Subdivided into paragraphs or
modules.
b. Includes all instructions to process
input and produce output.
c. All instructions are executed
sequence.
PERFORM...UNTIL... END-PERFORM
is a loop.
COBOL for the 21st Century
Stern, Stern, Ley
SUMMARY
Procedure Division
c. All instructions are executed
sequence, unless there is a loop
such as
PERFORM UNTIL...
…..
…..
END-PERFORM
COBOL for the 21st Century
Stern, Stern, Ley
SUMMARY
Procedure Division
d. Main-module entries:
– The following are typical entries in a
main module:
(1) Files are either INPUT or OUTPUT
and activated in an OPEN statement.
(2) A PERFORM...
….
END-PERFORM is a loop that is
executed until there are no more records.
COBOL for the 21st Century
Stern, Stern, Ley
SUMMARY
Main-module entries (continued):
(3)Within the PERFORM we often code a
READ...
AT END...
NOT AT END…
END-READ.
(4) A CLOSE statement deactivates all
files.
(5) STOP RUN ends processing.
COBOL for the 21st Century
Stern, Stern, Ley
SUMMARY
e. Calculation or processing paragraphs
(1) These paragraphs are executed when a
statement in the main module specifies a
PERFORM paragraph name.
(2) For example, logic for processing an input
record may be contained in one or more
paragraphs.
COBOL for the 21st Century
Stern, Stern, Ley
Download