STRUCTURED COBOL PROGRAMMING 8th Edition

Structured COBOL
Programming
Nancy Stern
Hofstra University
Robert A. Stern
Nassau Community
College
PowerPoint Presentation:
Richard H. Baum, Ph.D.
DeVry Institute of Technology
“Copyright @ 2000 John Wiley & Sons, In. All rights
reserved. Reproduction or translation of this work
beyond that permitted in Section 117 of the 1976
United States Copyright Act without the express
permission of the copyright owner is unlawful.
Request for further information should be addressed
to the permissions Department , John Wily & Sons,
Inc. The purchaser may make back-up copies for
his/her own use only and not for distribution or
resale. The Publisher assumes no responsibility for
errors, omissions, or damages, caused by the use of
these programs or from the use of the information
contained herein.”
9th Edition
Chapter 1
INTRODUCTION TO
STRUCTURED PROGRAM
DESIGN IN COBOL
Structured COBOL Programming, Stern & Stern, 9th edition
CHAPTER 1 OBJECTIVES
• To familiarize you with:
1. The reasons for COBOL’s popularity
as a business-oriented language.
2. Some general programming
practices and techniques.
3. A history of COBOL’s evolution and
its current ANS version.
4. An overview of the four divisions of a
COBOL program.
Structured COBOL Programming, Stern & Stern, 9th edition
CONTENTS
• COMPUTER PROGRAMMING: AN
OVERVIEW
– Types of Computer Programs
– Applications Programs
– Machine Language Programs
– Symbolic Programs
• COMPUTER PROGRAMMING: AN
OVERVIEW
– Types of Computer Programs
– Applications Programs
Structured COBOL Programming, Stern & Stern, 9th edition
CONTENTS
– Machine Language Programs
– Symbolic Programs
• THE APPLICATIONS PROGRAM
DEVELOPMENT PROCESS
– Determine Program Specifications
– Design the Program Using Program
Planning Tools
– Code and Enter the Program
– Compile the Source Program
– Test the Program
– Document the Program
Structured COBOL Programming, Stern & Stern, 9th edition
CONTENTS
• THE NATURE OF COBOL
– COBOL Is a Business-Oriented
Language
– COBOL Is a Standard Language
– COBOL Is an English-like Language
– COBOL Is a User-friendly Language
• A HISTORY OF COBOL AND THE ANS
VERSIONS
– When it Began
– The American National Standards
(ANS) Versions of COBOL
Structured COBOL Programming, Stern & Stern, 9th edition
CONTENTS
– The Future of COBOL and the Year 2000
Problem
• TECHNIQUES FOR IMPROVING
PROGRAM DESIGN
– Structured Programming Using
Modular Design for Coding Paragraphs
– The Top-Down for Approach Coding
Modules
• ENTERING & RUNNING A COBOL
PROGRAM ON YOUR COMPUTER
– Mainframe
– Minicomputer
– PC COBOL
Structured COBOL Programming, Stern & Stern, 9th edition
COMPUTER
PROGRAMMING:
AN OVERVIEW
Structured COBOL Programming, Stern & Stern, 9th edition
Types of Computer Programs
• A program is a set of instructions
that enable a computer to process
data.
• Software is the term used to
describe all types of programs.
• An application program converts
input data to output information.
Structured COBOL Programming, Stern & Stern, 9th edition
Two types of computer
programs:
1. Operating Systems Programs
– Control the overall operations of the
computer
2. Applications Programs
– Written by Programmers or Software
Developers
– Programs that perform tasks required
by users
Structured COBOL Programming, Stern & Stern, 9th edition
Types of Computer Programs
• COBOL is one of the many
languages used to write
customized applications
programs.
Structured COBOL Programming, Stern & Stern, 9th edition
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.
Structured COBOL Programming, Stern & Stern, 9th edition
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.
Structured COBOL Programming, Stern & Stern, 9th edition
Machine Language Programs
• All programs executed by the
computer must be in machine
language.
Structured COBOL Programming, Stern & Stern, 9th edition
Symbolic Programs
• Symbolic Programs use
English-like or symbolic
instructions.
– These programs must be
translated or compiled into
machine language.
– COBOL is a symbolic
programming language used for
commercial applications.
Structured COBOL Programming, Stern & Stern, 9th edition
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
Structured COBOL Programming, Stern & Stern, 9th edition
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
Structured COBOL Programming, Stern & Stern, 9th edition
PROGRAM DEVELOPMENT
PROCESS
3. Code and Enter the Program
– The programmer writes and then keys
or enters the source program into the
computer system using a keyboard.
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.
Structured COBOL Programming, Stern & Stern, 9th edition
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.
Structured COBOL Programming, Stern & Stern, 9th edition
PROGRAM DEVELOPMENT
PROCESS
• Remember, coding is undertaken
only after the program
requirements have been fully
specified and the logic has been
carefully planned.
Structured COBOL Programming, Stern & Stern, 9th edition
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
Structured COBOL Programming, Stern & Stern, 9th edition
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.
Structured COBOL Programming, Stern & Stern, 9th edition
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.
Structured COBOL Programming, Stern & Stern, 9th edition
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.
Structured COBOL Programming, Stern & Stern, 9th edition
A HISTORY OF COBOL AND
THE ANS VERSIONS
Structured COBOL Programming, Stern & Stern, 9th edition
WHEN IT BEGAN
• Developed in 1959 by the CODASYL
Committee.
– A committee consisting of representatives
members from academia, user groups, and
computer manufacturers.
• Developed as a standard businessoriented language for which all major
manufacturers would provide compilers.
• ANS established the first standards
version in 1968.
Structured COBOL Programming, Stern & Stern, 9th edition
WEB SITE
The Internet site
http://www.ansi.org
includes COBOL 2000+ updates
Structured COBOL Programming, Stern & Stern, 9th edition
THE FUTURE OF COBOL
• COBOL is likely to remain an
important language in the years
ahead for two 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.
Structured COBOL Programming, Stern & Stern, 9th edition
The Year 2000 Problem: the
Y2K “Millenium Bug”
• Traditional two-digit coded dates
will not work for the year 2000.
• Billions of lines of code will need to
be changed.
• Y2K adjustment coding will increase
the need for COBOL programmers
– An estimated $600 billion, or more,
dollars will be invested to fix this
problem.
Structured COBOL Programming, Stern & Stern, 9th edition
QUESTIONS?!
Structured COBOL Programming, Stern & Stern, 9th edition
SELF-TEST QUESTIONS
1. A program must be in _________
language to be executed or run.
Solution: machine
Structured COBOL Programming, Stern & Stern, 9th edition
SELF-TEST QUESTIONS
2. Programs are typically written in a
_______ language rather than in
machine language because
__________.
Solution: symbolic;
machine languages are very complex
Structured COBOL Programming, Stern & Stern, 9th edition
SELF-TEST QUESTIONS
3. Programs written in a language
other than machine language must
be _______ before execution can
occur.
Solution: translated or compiled
Structured COBOL Programming, Stern & Stern, 9th edition
SELF-TEST QUESTIONS
4. The process of converting a source
program into machine language is
called ___________.
Solution: compilation or translation
Structured COBOL Programming, Stern & Stern, 9th edition
SELF-TEST QUESTIONS
5. The program written in a
programming language such as
COBOL is called the ________
program.
Solution: source or applications
Structured COBOL Programming, Stern & Stern, 9th edition
SELF-TEST QUESTIONS
6. The object program is the
_______.
Solution: set of instructions that has
been converted into machine
language
Structured COBOL Programming, Stern & Stern, 9th edition
SELF-TEST QUESTIONS
7. A ______ converts a source
program into a(n)_____ program.
Solution: compiler or translator
program: object or machine
language
Structured COBOL Programming, Stern & Stern, 9th edition
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
Structured COBOL Programming, Stern & Stern, 9th edition
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
Structured COBOL Programming, Stern & Stern, 9th edition
SELF-TEST QUESTIONS
10. COBOL is an abbreviation
for _________.
Solution: Common Business Oriented
Language
Structured COBOL Programming, Stern & Stern, 9th edition
SELF-TEST QUESTIONS
11. COBOL is a common language in
the sense that ______.
Solution: it can be used on many
computers
Structured COBOL Programming, Stern & Stern, 9th edition
SELF-TEST QUESTIONS
12. (T or F) COBOL is ideally suited
for scientific as well as business
problems.
Solution: F--it is ideally suited for
business applications
Structured COBOL Programming, Stern & Stern, 9th edition
SELF-TEST QUESTIONS
13. Y2K is an abbreviation for the
__________ Problem.
Solution: the Year 2000
Structured COBOL Programming, Stern & Stern, 9th edition
SELF-TEST QUESTIONS
14. True or False
In recent years, more COBOL
programmers have been hired to
help resolve the Millenium bug.
Solution: True
Structured COBOL Programming, Stern & Stern, 9th edition
SELF-TEST QUESTIONS
15. True or False
The Y2K Problem has occurred
because older programs used twodigit year codes rather than fourdigit year codes in order to save
space on files (e.g., 98 was used for
1998).
Solution: True
Structured COBOL Programming, Stern & Stern, 9th edition
TECHNIQUES FOR
IMPROVING PROGRAM
DESIGN
Structured COBOL Programming, Stern & Stern, 9th edition
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.
Structured COBOL Programming, Stern & Stern, 9th edition
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
Structured COBOL Programming, Stern & Stern, 9th edition
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
Structured COBOL Programming, Stern & Stern, 9th edition
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.
Structured COBOL Programming, Stern & Stern, 9th edition
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.
Structured COBOL Programming, Stern & Stern, 9th edition
A BRIEF OVERVIEW OF
PROGRAM PLANNING
TOOLS
Structured COBOL Programming, Stern & Stern, 9th edition
GENERAL RULES FOR FLOW
CHARTS
1. Each flowchart symbol denotes a
specific operation.
2. Each symbol contains a note
describing a particular function.
3. Flowcharts are read top to bottom.
Structured COBOL Programming, Stern & Stern, 9th edition
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.
Structured COBOL Programming, Stern & Stern, 9th edition
HIERARCHY OR STRUCTURE CHART
• Structure charts illustrate the logic flow
in a program.
– The following chart shows the relationships
among modules in a program:
100-MAIN
MODULE
200-WAGE
ROUTINE
Structured COBOL Programming, Stern & Stern, 9th edition
CHAPTER SLIDES END HERE
CHAPTER SUMMARY
COMES NEXT
Structured COBOL Programming, Stern & Stern, 9th edition
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.
4. The American National Standards
(ANS) versions of COBOL are 1968,
1974, and 1985. COBOL 2000+ is
expected.
Structured COBOL Programming, Stern & Stern, 9th edition
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. Compile the program and fix syntax
errors.
4. Code the program.
5. Test the program using debugging
techniques.
6. Document the program.
Structured COBOL Programming, Stern & Stern, 9th edition
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.
Structured COBOL Programming, Stern & Stern, 9th edition
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.
Structured COBOL Programming, Stern & Stern, 9th edition
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.
Structured COBOL Programming, Stern & Stern, 9th edition
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.
Structured COBOL Programming, Stern & Stern, 9th edition
SUMMARY
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.
Structured COBOL Programming, Stern & Stern, 9th edition
SUMMARY
Main-module entries (continued):
(3) Within the PERFORM we code a
READ...AT END...NOT AT END…
END-READ.
(4) A CLOSE statement deactivates
all files.
(5) STOP RUN ends processing.
Structured COBOL Programming, Stern & Stern, 9th edition
SUMMARY
e. Calculation or processing paragraphs
(1) These paragraphs are executed when
a statement in the main module specifies
a PERFORM paragraph name.
(2) These paragraphs are required to
process each input record.
Structured COBOL Programming, Stern & Stern, 9th edition