Chapter 1 1-1. To familiarize you with Why COBOL is a popular business-oriented language. ...

60
Chapter 1 1- 1

Transcript of Chapter 1 1-1. To familiarize you with Why COBOL is a popular business-oriented language. ...

Page 1: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Chapter 1

1-1

Page 2: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

To familiarize you with

Why COBOL is a popular business-oriented language.

Programming practices and techniques History of COBOL Use of the current ANSI standard versions of

COBOL Four divisions of a COBOL program

1-2

Page 3: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Computer Programming: An Overview Applications Program Development Process Nature of COBOL History of COBOL and the ANS Versions

1-3

Page 4: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Techniques for Improving Program Design Sample Programs Entering and Running a COBOL Program on

Your Computer◦ This is particular to our system◦ We’ll be using the “Alpha” which is a VAX◦ Telnet into it, you’ll love the editor.

1-4

Page 5: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Machine language Only language computer understands All programs executed on computer must

be in machine language Machine language programs difficult to

write

1-5

Page 6: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Symbolic language (like COBOL) English-like languages used to write

programs Easier than writing programs in machine

language Must be translated or compiled into

machine language to run on computer

1-6

Page 7: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

1. Determine Program Specifications2. Design Program Using Program Planning

Tools3. Code and Enter Program4. Compile Program5. Test Program6. Document Program

1-7

Page 8: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

• Systems analysts, users and programmers develop specifications

• Specifications include:• Description of input and output data• Step-by-step processing required to convert

input to output

1-8

Page 9: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Record layout forms describe format of input and output data

Data names of each data item in record Location of each data item in record Size of each data item Number of decimal positions (for numeric

data items) Note that this is different than what you are

used to in C++

1-9

Page 10: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Printer spacing charts describe Spacing Layout of printed output Heading, detail, total lines Error messages

1-10

Page 11: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Program planning tools used to map out structure and logic of program

Flowcharts use block diagrams to represent logic

Pseudocode uses English-like statements Hierarchy charts show relationships among

sections of program

1-11

Page 12: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Programmer writes and enters program into computer

Program written in symbolic language (like COBOL)

Called source program

You all already know this

1-12

Page 13: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Compiler is program that Checks source program for rule violations Translates source program into object

program Next class we’ll try this out

1-13

Source program in symbolic language

Object program in machine language

Translated by compiler

Page 14: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Test or debug program to ensure it contains no errors

Check for two types of errors◦ Compile-Time Errors◦ Execution Errors

1-14

Page 15: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Errors detected by compiler during translation from COBOL to machine language

Detects violations of programming rules◦ Misspelled reserved words◦ Missing punctuation

Also called syntax errors

1-15

Page 16: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Detected when program is run Logic error causes incorrect output

◦ Sequence of instructions incorrect◦ Wrong instruction coded

Run-time error if computer cannot execute instruction◦ Attempt to divide by zero◦ Attempt to read a file that cannot be found

1-16

Page 17: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Desk checking Correcting syntax errors Program walkthroughs Executing the program

1-17

Page 18: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Documentation - formal set of procedures and instructions to specify how to use program

Written for◦ Those working with output◦ Computer operators who run program◦ Maintenance programmers who make

modifications to program This was a big part of the design of COBOL,

Self documenting code

1-18

Page 19: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Business-oriented language Standard language English-like language Relatively easy to understand

1-19

Page 20: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Distinct Features of COBOL The language is simple No pointers No user defined types No user defined functions ‘Structure like’ data types File records are also described with great

detail, as are lines to be output to a printer COBOL is self documenting

1-20

Page 21: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Advantages -Simple -Portable -Maintainable Disadvantages -very wordy -very rigid format -not designed to handle scientific

applications

1-21

Page 22: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Developed in 1959 as standard language to meet needs of business

Committee to develop language convened by Department of Defense

Included representatives from academia, business, computer manufacturers

1-22

Page 23: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

1960s

1968

1974

1985

1-23

wide variations in COBOL compilers

first COBOL standard set by American National Standards Institute (ANSI)

second ANSI standard to make COBOL more efficient, standardized

this ANSI standard incorporated structured programming techniques

Page 24: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

1985 currently the most widely used

The book mentions 2008 as the latest standard but looks like 2002 may be

So the book mentions 2008 conventions, seems they work on our compiler.

1-24

Page 25: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Likely to remain important language Older COBOL programs need to be updated Still used by many for new program

development Mostly maintaining existing code, that’s

why you’re here.

1-25

Page 26: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

About 200 billion lines of COBOL source code in use

New lines added each year Used by many application programmers in

medium to large U.S. companies How about the Y2K Problem?

1-26

Page 27: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Two techniques used to develop programs that are easier to understand, test, debug and modify

Structured Programming

Top-Down Programming

1-27

Page 28: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Eliminates use of GO TO statements ◦ Allowed skipping to different sections of

program without returning to starting point Program logic easier to follow with "GO-

TO-less" programming

1-28

Page 29: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Program divided into paragraphs Main paragraph or module controls logic

flow using PERFORM statements Main module "performs" other modules

when instructions in that module required Each module can be written and tested

independently of others

1-29

Page 30: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Another technique to make programs easier to understand, test, debug and modify

Develop program like term paper◦ Develop outline first◦ Add details for each of main steps◦ Add further refinement for more complex steps◦ Use of stubs

For COBOL program Code main modules or routines first Code intermediate modules next Details deferred to minor modules and coded

last

1-30

Page 31: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Cobol suited for developing both types of programs

Interactive programs Accept input data from keyboard Input data processed immediately Output (results) displayed on screen

immediately

1-31

Page 32: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Batch programs Process large volumes of input at periodic

intervals Input data read in from files Output written to files

1-32

Page 33: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Every COBOL program contains up to four separate divisions in the following order:

IDENTIFICATION DIVISIONENVIRONMENT DIVISION DATA DIVISIONPROCEDURE DIVISION

Specific to COBOL

1-33

Page 34: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

IDENTIFICATION DIVISION◦ Identifies program to operating system◦ Provides documentation about program

ENVIRONMENT DIVISION◦ Defines file-names◦ Describes devices used to store them◦ Not included in fully interactive programs

1-34

Page 35: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

DATA DIVISION◦ Describes input and output format of data in files◦ Defines any constants and work areas

PROCEDURE DIVISION◦ Contains instructions to read input, process it and

create output

1-35

Page 36: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Purpose◦ to compute employee WAGES

Input from keyboard◦ HOURS and RATE

Processing◦ compute WAGES as HOURS x RATE

Output displayed on screen◦ WAGES

Sample on Page 17 of book

1-36

Page 37: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

1-37

IDENTIFICATION DIVISION. PROGRAM-ID. WAGES1. DATA DIVISION. WORKING-STORAGE SECTION. 01 HOURS PIC 99. 01 RATE PIC 99V99. 01 WAGES PIC 999.99. 01 MORE-DATA PIC XXX VALUE 'YES'. PROCEDURE DIVISION. 100-MAIN. PERFORM UNTIL MORE-DATA = 'NO' DISPLAY 'ENTER HOURS AS A TWO DIGIT NUMBER' ACCEPT HOURS DISPLAY 'ENTER RATE IN NN.NN FORMAT (2 DECIMAL DIGITS)' ACCEPT RATE MULTIPLY RATE BY HOURS GIVING WAGES DISPLAY 'WAGES ARE ', WAGES DISPLAY 'IS THER MORE DATA (YES OR NO)?' ACCEPT MORE-DATA END-PERFORM STOP RUN.

Page 38: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

IDENTIFICATION DIVISION◦ One required entry, PROGRAM-ID◦ Names the program

DATA DIVISION◦ Describes and defines storage for all data ◦ Data defined in WORKING-STORAGE SECTION for

interactive program

1-38

Page 39: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Keyed input fields (HOURS, RATE) Output fields (WAGES) Other fields used for processing (MORE-

DATA)

1-39

Page 40: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

01 level begins definition of each field PICTURE or PIC clause describes

◦ Type of data Numeric (PIC 9) Nonnumeric (PIC X)

◦ Size of field - determined by number of 9’s or X’s

1-40

Page 41: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

RATE with PIC 99V99 includes V to show assumed decimal point position

User enters data with decimal point◦ Program uses V to align data

WAGES includes actual decimal point ◦ Shown when value displayed on screen

1-41

Page 42: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

MORE-DATA with PIC XXX is nonnumeric field

Assigned initial contents of YES by use of VALUE clause

Value must be in quotation marks since MORE-DATA is nonnumeric field

1-42

Page 43: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Set of instructions to be executed by program

Organization of instructions planned before coding begins

Pseudocode, an English-like description of program instructions, used for planning

Describes program logic and order in which instructions will be executed

1-43

Page 44: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

PROCEDURE DIVISION includes one paragraph 100-MAIN

List of instructions that follow make up paragraph

Period follows last statement in paragraph (STOP RUN.)

Main processing controlled by PERFORM … END-PERFORM loop

1-44

Page 45: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Repeats set of instructions as long as user enters YES in response to prompt

"IS THERE MORE DATA (YES/NO)?"

MORE-DATA initially contains YES so instructions in loop executed first time

1-45

Page 46: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

When user enters NO as response◦ MORE-DATA set to "NO" and loop ends

After loop, STOP RUN is executed, ending program

1-46

Page 47: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Statements in loop executed in order they are listed

DISPLAY displays value in quotes or value of field on screen

ACCEPT stores value user enters from keyboard in field

MULTIPLY performs calculation to find WAGES

1-47

Page 48: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

In batch mode, data comes from input file instead of keyboard

Data for each employee stored in a record in file on disk

Employee name, hours and rate data called fields

Page 30

1-48

Page 49: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Calculated results (Wages) stored in file instead of displayed on screen

For each input record◦ Record created and stored in output file◦ Includes employee name, hours, rate and

computed wages ◦ File intended for printing so spacing added

between fields for readability

1-49

Page 50: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

All four divisions included for batch programs

IDENTIFICATION DIVISION first with required PROGRAM-ID paragraph

ENVIRONMENT DIVISION◦ INPUT-OUTPUT SECTION assigns input and output

files to specific devices

1-50

Page 51: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

FILE SECTION describes format of input and output files

Fields in records described using PICTURE clause

Decimal point not stored in input records◦ Use V for implied decimal for alignment

Use actual decimal point for fields in output record so it is printed

1-51

Page 52: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Contains instructions to be executed by computer

Instructions executed in order they appear Includes two paragraphs with period at end

of each

1-52

Page 53: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

OPENs files to be used by program Repeatedly READs in records (PERFORM …

END-PERFORM) until there are no more Calls second paragraph 200-WAGE-ROUTINE

to process each record CLOSEs files after all records read Ends program (STOP RUN)

1-53

Page 54: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

Reads one record into program storage area Record must be in storage to use it Takes one of two actions depending on

whether record was read

1-54

Page 55: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

PERFORM instruction after NOT AT END executed when record read◦ Statements in paragraph 200-WAGE-ROUTINE

executed to process record If no more records to be read, MOVE

instruction after AT END executed◦ 'NO ' moved to ARE-THERE-MORE-RECORDS, ends

loop

1-55

Page 56: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

First MOVE initializes PRINT-REC to blanks Then MOVEs name, hours, wages to output

fields Calculates WAGES with MULTIPLY

statement, MOVES it to output field WRITEs data in employee output record to

print file

1-56

Page 57: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

To type in and run a COBOL program on your computer system, you need to know how to:

Log on and off of the computer Name COBOL files on the computer Use a text editor to key in, modify and save files Compile a COBOL source program to translate it

into machine language Link or load the object program Run the object program

1-57

Page 58: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

The Nature of COBOL◦ English-like language ◦ Used widely for business programming◦ With new standard coming out soon, it is likely to

remain important language

1-58

Page 59: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

COBOL programs divided into four divisions IDENTIFICATION DIVISION identifies program

to operating system ENVIRONMENT DIVISION required for batch

programs that operate on files DATA DIVISION defines formats for all input,

output and work areas needed◦ FILE SECTION required for batch programs that

operate on files◦ WORKING-STORAGE SECTION for work fields or

fields used in interactive programs

1-59

Page 60: Chapter 1 1-1. To familiarize you with  Why COBOL is a popular business-oriented language.  Programming practices and techniques  History of COBOL.

PROCEDURE DIVISION◦ Contains instructions to process input and

produce output◦ Divided into paragraphs or modules

1-60