cpsc3111/cism3111 cobol

Post on 31-Dec-2015

28 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

CPSC3111/CISM3111 COBOL. Structured COBOL Programming Text: murach’s structured COBOL Authors: Murach, Prince, Menendez. What is a Computer?. Components of a Computer Input Unit(s); Keyboard, tape, disks Output Unit(s); CRT, tape, disks Memory (Storage) units [Addresses] - PowerPoint PPT Presentation

TRANSCRIPT

CPSC3111/CISM3111 COBOL

Structured COBOL ProgrammingText: murach’s structured COBOLAuthors: Murach, Prince, Menendez

What is a Computer?

Components of a Computer Input Unit(s); Keyboard, tape, disks Output Unit(s); CRT, tape, disks Memory (Storage) units [Addresses] Control Unit (Executes Instructions) Arithmetic/Logic Unit (Math and Logic) Only ‘understands’ machine language

Hardware / Software

Hardware: Physical equipment

Software: Programs, commands, etc. System: O/S, compilers, utilities, etc. Application: User or third party supplied. Languages: Assembler, Basic(VB), Fortran,

RPG, Easytrieve, C, C++, C#, Ada, Java, … Compiler’s job - translate ‘source’ language

to machine language (or ‘byte’ code)

Online vs Interactive

Off-line = batch Local Batch Remote Batch

Online = Interactive Many users with terminals (PC’s) Can be either local or remote

Single/Multiple User - Timesharing

Data Organization

Bit - Binary digIT - [on/off] or [1/0]Character - byte (8 Bits)Field - One or more Bytes (Characters)Record - One or more FieldsFile - One or more RecordsDatabase - One or more Files Usually contains ‘metadata’

Report Components

Page HeadingColumn HeadingsReport Body Possibly with subtotals, etc.

Summary Final totals, summary totals, etc.

Program Design

Program Sequence of instructions describing

actions to be taken by the computer

Flowchart Graphical description of program logic Uses rectangles, diamonds, ovals, etc

Pseudocode Symbolic representation of program logic More ENGLISH-like

Data Information Needed

Type and SizeTypes Alphabetic (Seldom used = A) Alphanumeric (X) Numeric (Sign and Decimal)

BinaryNumericPacked NumericFloating Point, etc. (Compatibility)

Program Development

Define problemDesign test dataDesign programCode programCompile programTest programDocument Program

Identifier Rules

30 Character MaximumA-Z, a-z, 0-9, ‘-’ Characters‘-’ not first or last characterUsually at least 1 alphabetic

‘CARD’ FORMAT

01 - 06 Line Numbers (XNU)07 Comment / Debug08 - 11 Margin ‘A’12 - 72 Margin ‘B’73 - 80 Identification (XNU)

COBOL Divisions

IDENTIFICATION DIVISION.ENVIRONMENT DIVISION.DATA DIVISION.PROCEDURE DIVISION.

Divisions can be divided into SECTIONSSections can be divided into PARAGRAPHSParagraphs are composed of SENTENCES

IDENTIFICATION

IDENTIFICATION DIVISION.PROGRAM-ID. PROG1.

All other entries are obsoleteAn ‘*’ in cc07 can be used (Comment)

ENVIRONMENTENVIRONMENT DIVISION.INPUT-OUTPUT SECTION.FILE-CONTROL.SELECT INPUT-FILE

ASSIGN TO MYINFILE.SELECT PRINT-FILE ASSIGN TO MYREPORT.

ENVIRONMENT (SELECTS)

SELECT PRINT-FILE ASSIGN TO “\RMC\DATA\INPUT.DAT”.(For PC Files)

SELECT PRINT-FILE ASSIGN TO PRINTER-QPRINT.(For AS400 Files)

DATA

DATA DIVISION.FILE SECTION.FD INPUT-FILE.01 INPUT-REC. 10 FILLER PIC X(80).FD PRINT-FILE.01 PRINT-REC. 10 FILLER PIC X(132).

WORKING-STORAGE

WORKING-STORAGE SECTION. Program’s ‘scratchpad’ LEVEL NUMBERS 01-49 01 STARTS IN COLUMN 8 02-49 COLUMN 12 AND UP

Usually use 05, 10, 15, 20,… EACH 01 IS A NEW RECORD All fields must be specified

PROCEDURE

PROCEDURE DIVISION.010-START-HERE.(INITIALIZATION)

(PROCESS CONTROL LOOP)

(TERMINATION)

OPEN

OPEN INPUT file-nameOPEN OUTPUT file-name(Gets files ready for processing)

ACCEPT

ACCEPT identifier FROM DATE identifier will contain YYMMDDACCEPT identifier FROM TIME identifier will contain HHMMSSMS (Used to get date and time)ACCEPT identifier [options] Gets data from keyboard

MOVE

MOVE identifier-1 TO identifier-2 (Alpha - Left Just. - Space Filled) (Numeric - decimal aligned) (Edited - follows edit characters)

READ

READ file-name [into WS-name] AT END ANY IMPERATIVE STATEMENT(S)END-READREAD INPUT-FILE INTO WS-IN-REC AT END MOVE “YES” TO EOF-FLAGEND-READ

WRITE (Generic)

WRITE record-name [FROM ws-name] AFTER ADVANCING identifier LINESEND-WRITE

WRITE PRINT-REC FROM WS-PRINT-REC AFTER ADVANCING WS-SPACINGEND-WRITE

WRITE (New-Page)

MOVE SPACES TO PRINT-RECWRITE PRINT-REC AFTER ADVANCING PAGEEND-WRITE (Used to start new page for heading.)

PERFORM

PERFORM Paragraph-namePERFORM Paragraph-name UNTIL Condition

PERFORM 100-READ-INPUTPERFORM 300-PROCESS-DATA UNTIL EOF-FLAG = “YES”

ADD

ADD literal TO identifier-1ADD 1 TO REC-COUNT

ADD identifier-1 TO identifier-2ADD WS-SPACING TO WS-LINES

Decisions - Simple

IF Condition-1 True StatementsEND-IF

Relational Conditions

> GREATER THAN< LESS THAN= EQUAL TO>= GREATER OR EQUAL<= LESS OR EQUALNOT can be used with all of the above

Decisions - ELSE

IF condition-1 True StatementsELSE False StatementsEND-IF

Decisions - Examples

IF HOURS-WORKED > 40 PERFORM 350-CALC-OVERTIMEELSE PERFORM 360-CALC-REGTIMEEND-IF

Decisions - complex

IF complex-condition True statementsELSE False statementsEND-IF

Complex - conditions

Two or more simple conditions connected with ‘AND’ or ‘OR’.IF (DEPARTMENT = 234 AND HIRE-DATE < “96-06-01”) ADD 1 TO OVER-5-YEARSEND-IF

CLOSE

CLOSE file-nameCLOSE INPUT-FILE (Terminate file processing.)

GOBACK / STOP RUN

GOBACK. (Returns to ‘calling’ entity.)

STOP RUN. (Returns to Operating System)

top related