interactive vs batch programs n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Interactive vs Batch Programs PowerPoint Presentation
Download Presentation
Interactive vs Batch Programs

Loading in 2 Seconds...

play fullscreen
1 / 34

Interactive vs Batch Programs - PowerPoint PPT Presentation


  • 307 Views
  • Uploaded on

Interactive vs Batch Programs. 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. Interactive vs Batch Programs. Batch programs

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Interactive vs Batch Programs' - paul2


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
interactive vs batch programs
Interactive vs Batch Programs
  • 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
interactive vs batch programs1
Interactive vs Batch Programs

Batch programs

  • Process large volumes of input at periodic intervals
  • Input data read in from files
  • Output written to files
    • Can be files on disk, print files, files to be transmitted to a remote location: but files.
files records fields
Files, Records, Fields
  • Field – a single data item: your name; salary;
  • Record – everything to do with a specific topic, such as all the information about YOU to generate your pay check:
    • Your name, ssan, deductions, address, bank account number, hours worked, overtime hours….
  • File – The grouping of individual records of all employees working in a corporation for whom you want to generate a pay check.
    • Typically read a single record, prepare the output, read next record, and continue until EOF.
  • Book definitions: p. 21
overview of the four divisions
Overview of the Four Divisions
  • Every COBOL program contains up to four separate divisions in the following order:

IDENTIFICATION DIVISION

ENVIRONMENT DIVISION

DATA DIVISION

PROCEDURE DIVISION

overview of the four divisions1
Overview of the Four Divisions
  • 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
overview of the four divisions2
Overview of the Four Divisions
  • DATA DIVISION
    • Describes input and output format of data in files
    • Defines any constants and workareas
  • PROCEDURE DIVISION
    • Contains instructions to read input, process it and create output
sample interactive program
Sample Interactive Program
  • Purpose
    • to compute employee WAGES
  • Input from keyboard
    • HOURS and RATE
  • Processing
    • compute WAGES as HOURS x RATE
  • Output displayed on screen
    • WAGES
sample interactive program1
Sample Interactive Program
  • 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
slide9

IDENTIFICATION DIVISION.

PROGRAM-ID. CH0102.

DATA DIVISION.

WORKING-STORAGE SECTION.

01 SALES-AMOUNT PIC 999V99.

01 SALES-TAX PIC 99.99. Fields; sizes; numeric

01 MORE-DATA PIC XXX VALUE 'YES'. Field; alphanumeric

PROCEDURE DIVISION. instructions: operate on data

100-MAIN.

PERFORM UNTIL MORE-DATA = 'NO'

DISPLAY 'ENTER SALES AMOUNT AS DOLLARS AND CENTS'

ACCEPT SALES-AMOUNT reads / accepts from keyboard

COMPUTE SALES-TAX = SALES-AMOUNT * .08

DISPLAY SALES-TAX writes to keyboard

DISPLAY 'IS THER MORE INPUT (YES OR NO)?‘ prompts user

ACCEPT MORE-DATA accepts keyboard input

END-PERFORM

STOP RUN.

Sample COBOL Program – Interactive (no Environment Division)

data defined in sample program
Data Defined in Sample Program
  • Keyed input fields (HOURS, RATE)
  • Output fields (WAGES)
  • Other fields used for processing (MORE-DATA)
  • Wages (not shown)

01 WAGES PIC 999.99.

picture clause
PICTURE Clause
  • 01 level begins definition of each field
    • much more later on this…
    • 01 has special significance.
  • PICTURE or PIC clause describes
    • Type of data
      • Numeric (PIC 9)
      • Nonnumeric (PIC X) (alphanumeric)
    • Size of field - determined by number of 9’s or X’s
picture clauses
PICTURE Clauses
  • 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
  • Wages (not shown)

01 WAGES PIC 999.99.

giving field initial value
Giving Field Initial Value
  • 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
procedure division
PROCEDURE DIVISION
  • Set of instructions to be executed by program
  • Organization of instructions planned before coding begins
  • Pseudo-code, an English-like description of program instructions, used for planning
  • Describes program logic and order in which instructions will be executed
procedure division1
PROCEDURE DIVISION
  • PROCEDURE DIVISION includes one paragraph 100-MAIN
    • Note: program here is horribly simple, as we would expect at this time.
    • There is only one paragraph (module) and a structure chart (architectural design) is almost meaningless – would contain a single box…
  • List of instructions that follow make up paragraph
  • Period follows last statement in paragraph (STOP RUN.)
  • Main processing controlled by PERFORM … END-PERFORM loop
    • END-PERFORM is called a ‘scope terminator.’
    • VERY important!
perform end perform
PERFORM … END-PERFORM
  • 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
perform end perform1
PERFORM … END-PERFORM
  • When user enters NO as response
    • MORE-DATA set to "NO" and loop ends
  • After loop, STOP RUN is executed, ending program
  • (Note the indentation of code within the loop. This is essential to good programming style!)
perform end perform2
PERFORM … END-PERFORM

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
sample batch program
Sample Batch Program
  • In batch mode, data comes from input file instead of keyboard
  • Data for each employee stored in a record in file on disk (see page 21)
  • Employee name, hours and rate data called fields
sample batch program1
Sample Batch Program
  • Calculated results (Wages) stored in file instead of displayed on screen (but can be both displayed as well as stored in a
  • 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
      • I disagree. Most input data is NOT spaced for printing!!!
      • Fields are all contiguous for important reasons! (will discuss)
cobol divisions
COBOL Divisions
  • All four divisions included for batch programs
  • IDENTIFICATION DIVISION first with required PROGRAM-ID paragraph
  • ENVIRONMENT DIVISION
    • CONFIGURATION SECTION – not required.
    • INPUT-OUTPUT SECTION assigns input and output files to specific devices.
      • required to name (called logical file names or programmer-defined file names) files and associate them with specific devices, such as a CD or disk or …
data division will be repeating this many times
DATA DIVISION(will be repeating this many times)
  • FILE SECTION describes format of input and output files
    • Characteristics of the file itself
    • Characteristics of the records and their fields.
  • 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
procedure division2
PROCEDURE DIVISION
  • Contains instructions to be executed by computer
  • Instructions executed in order they appear
  • Includes two paragraphs with period at end of each.
  • Let’s consider the program in your textbook.
  • This is also assignment #1 to be turned in later.
  • First, let’s overview…
slide24

IDENTIFICATION DIVISION. <alignment and indentation!>

PROGRAM-ID. SAMPLE <divisions, sections, paragraphs, sentences statements>

AUTHOR. YOUR-NAME-PLEASE.

ENVIRONMENT DIVISION.

INPUT-OUTPUT SECTION.

FILE-CONTROL. SELECT EMPLOYEE-DATA ASSIGN TO EMP-DAT.

SELECT PAYROLL-LISTING ASSIGN TO PRINTER. <will change>

DATA DIVISION. <input and output files and formats; working storage…>

FILE SECTION.

FD EMPLOYEE-DATA.

01 EMPLOYEE-RECORD.

05 EMPLOYEE-NAME-IN PIC X(20).

05 HOURS-WORKED-IN PIC 99.

05 HOURLY-RATE-IN PIC 9V99. <alignment; pic clauses>

FD PAYROLL-LISTING.

01 PRINT-REC.

05 PIC X(20).

05 NAME-OUT PIC X(20).

05 PIC X(10).

05 HOURS-OUT PIC 99.

05 PIC X(8).

05 RATE-OUT PIC 9.99.

05 PIC XXXXXX.

05 WEEKLY-WAGES-OUT PIC 999.99.

WORKING-STORAGE SECTION.

01 ARE-THERE-MORE-RECORDS PIC XXX VALUE ‘YES’. <Value clause>

slide25

PROCEDURE DIVISION. <instructions to operate (read. print) / manipulate data>

100-MAIN-MODULE.

OPEN INPUT EMPLOYEE-DATA <must have for files>

OUTPUT PAYROLL-LISTING.

PERFORM UNTIL ARE-THERE-MORE-RECORDS = ‘NO’ <loop construct>

READ EMPLOYEE-DATA <note the indentation!!!>

AT END

MOVE ‘NO’ TO ARE-THERE-MORE-RECORDS

NOT AT END

PERFORM 200-WAGE-ROUTINE

END-READ <note the ‘control’ here – not detail!>

END-PERFORM <note: scope terminators end-read; end-perform>

CLOSE EMPLOYEE-DATA

PAYROLL-LISTING

STOP RUN. <last logical executable statement in program>

200-WAGE-ROUTINE.

MOVE SPACES TO PRINT-REC

MOVE EMPLOYEE-NAME-IN TO NAME-OUT

MOVE HOURS-WORKED-IN TO HOURS-OUT

MOVE HOURLY-RATE-IN TO RATE-OUT

MULTIPLY HOURS-WORKED-IN BY HOURLY-RATE-IN

GIVING WEEKLY-WAGES-OUT

WRITE PRINT-REC.

OBSERVE INPUT AND OUTPUT ON P. 24.

100 main module
100-MAIN-MODULE
  • 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)
read statement
READ Statement
  • Reads one record into program storage area
  • Record must be in storage to use it
    • Entire record ‘read into’ the Process Area (the 01 area)
  • Takes one of two actions depending on whether record was read
read statement 1
READ Statement - 1
  • PERFORM instruction after NOT AT END executed when a successful read occurs:
  • Statements in paragraph 200-WAGE-ROUTINE executed to process record
  • Control remains within the Perform. Condition is evaluated and is false, so the loop iterates.
read statement 2
READ Statement - 2
  • If no more records are available, MOVE instruction after AT END executed
    • 'NO ' moved to ARE-THERE-MORE-RECORDS, ends loop
    • Control returns to the Perform which determines that the condition is now True and control passes to the statement following the Perform.
200 wage routine
200-WAGE-ROUTINE
  • 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
entering running a program
 Entering & Running a Program

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
comments 1
COMMENTS 1
  • Interactive Programs
    • don’t need Environment Division
  • Batch Programs
    • Need all four divisions – in order
    • Environment Division names / associates files with devices.
      • machine / implementation dependent.
      • Assign to clauses will differ (will inform you…)
comments 2
COMMENTS 2
  • Data Division
      • will always have a File Section
      • describes the file in general and the records with their fields in particular.
      • Provides the sizes and classification of fields and relative placement of data in input and output records
  • All data fields are named! (Constants {later} are treated separately) All fields must be defined with their sizes and type of data expected.
  • Name files with meaningful names.
comments 3
COMMENTS 3
  • Filler – reserved word
    • Many reserved words – have special meanings.
    • ARE-THERE-MORE-RECORDS is really a flag field. I prefer EOF. Will discuss more later.
  • types of data:
    • numeric pic 9
    • alphanumeric pic x (non-numeric)
    • alphabetic pic A (not used much anymore).
  • Data name rules – later
  • Editing characters (decimals, commas…) later.