1. SUM OF THE INDIVIDUAL DIGITS.
Aim:
To write a COBOL program to find the sum of the
individual digits.
Algorithm:
Step1 – Start the process.
Step2 – Initialise the variable.
Step3 – compute the paras declared in the procedure division.
Step4 – get the numbers.
Step5 – move the value 0 to A and Q.
Step6 – use PERFORM statement to compute the operation until
N<100.
Step7 – DIVIDE the number by 10 to find quotient (Q) and
remainder (R).
Step8 – calculate TOT = TOT + R.
Step9 – Display the result.
Step10 – stop the process.
Program:
IDENTIFICATION DIVISION.
PROGRAM-ID.PRG1.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 A PIC 9(10).
01 Q PIC 9(10).
01 R PIC 9(10).
01 TOT PIC 9(2) VALUE IS 0
PROCEDURE DIVISION.
P1.
DISPLAY “SUM OF INDIVIDUAL DIGITS”.
DISPLAY”ENTER A VALUE”.
ACCEPT A.
P2.
IF A>0
DIVIDE A BY 10 GIVING Q REMAINDER R
MOVE Q TO A
COMPUTE TOT=TOT+R
GO TO P2.
P3.
IF TOT > 9
MOVE TOT TO A
MOVE 0 TO TOT
GO TO P2.
P4.
DISPLAY “SUM=”,TOT.
STOPRUN.
Output:
SUM OF INDIVIDUAL DIGITS
ENTER A VALUE
34
Sum=07
Result:
Thus the above program is executed and output is verified.
2.STUDENT MARK LIST.
Aim:
To write a COBOL program to create student marklist.
Algorithm:
Step1 – start the process.
Step2 – initiate the variables.
Step3 – compute the paras in the procedure division.
Step4 – get the student name and marks of the respective
subjects.
Step5 – compute the value by adding all the marks.
Step6 – display the total marks.
Step7 – use IF statements to check whether all the subjects marks
are greater than 39.
Step8 – display the result if it satisfies the above condition as
pass.
Step10 – stop the process.
Program:
IDENTIFICATION DIVISION.
PROGRAM-ID.PRG2.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 NAME PIC X(30).
77 TAM PIC 9(3).
77 ENG PIC 9(3).
77 MAT PIC 9(3).
77 COB PIC 9(3).
77 DIG PIC 9(3).
77 TOT PIC 9(3).
PROCEDURE DIVISION.
P1.
DISPLAY “PROGRAM TO DISPLAY PASS OR FAIL”.
DISPLAY “****************************”.
DISPLAY “ENTER NAME”.
ACCEPT NAME.
DISPLAY “ENTER TAM MARK”.
ACCEPT TAM.
DISPLAY “ENTER ENG MARK”.
ACCEPT ENG.
DISPLAY “ENTER MAT MARK”.
ACCEPT MAT.
DISPLAY “ENTER COB MARK”.
ACCEPT COB.
DISPLAY “ENTER DIG MARK”.
ACCEPT DIG.
P2.
COMPUTE TOT=TAM+ENG+MAT+COB+DIG.
DISPLAY “YOUR TOTAL”TOT.
P3.
IF TAM >39 AND ENG >39 AND MAT >39 AND COB>39 AND DIG>39
DISPLAY “RESULT IS PASS”.
STOPRUN.
Output:
PROGRAM TO DISPLAY PASS OR FAIL.
ENTER NAME
ABI
ENTER TAM MARK
89
ENTER ENG MARK
96
ENTER MAT MARK
100
ENTER COB MARK
77
ENTER DIG MARK
78
YOUR TOTAL IS 440
RESULT IS PASS.
Result:
Thus the above program is executed and output is
verified.
3.DATE FORMATTING.
Aim:
To write a COBOL program to formatting the date.
Procedure:
Step1 – start the process.
Step2 – initiate the variable.
Step3 – compute the paras declared in the procedure division.
Step4 – use REDEFINE clause for redefinition of the variable.
Step5 – get the date , month , year in the specified format.
Step6 – use MOVE statement to shift the values from one to
another.
Step7 – initialise the values for date if date ends with 1 MOVE
ST ,if it ends with 2 MOVE ND , or else if end with 3 MOVE
RD .
Step8 – use IF statements to check the 12 corresponding month of
the year.
Step9 – compute Y2 = Y + 2000.
Step10 – display the result.
Program:
IDENTIFICATION DIVISION.
PROGRAM-ID. PRG3.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 IN-DATE.
02 D PIC 99.
02 M PIC 99.
02 Y PIC 99.
01 OUT-DATE REDEFINES IN-DATE.
02 D1 PIC 99.
02 M1 PIC 99.
02 Y1 PIC 99.
01 RESULT.
02 D2 PIC Z9.
02 DD PIC X(3).
02 M2 PIC X(15).
02 Y2 PIC 9(4).
PROCEDURE DIVISION.
P1.
DISPLAY "ENTER DATE (DD MM YY)".
ACCEPT IN-DATE.
P2.
MOVE D1 TO D2.
IF D1 = 1 OR D1 = 21 OR D1 = 31 MOVE "ST" TO DD
ELSE
IF D1 = 2 OR D1 = 22 MOVE "ND" TO DD ELSE
IF D1 = 3 OR D1 = 23 MOVE "RD" TO DD ELSE
MOVE "TH" TO DD.
P3.
IF M1 = 1 MOVE "JANUARY" TO M2 ELSE
IF M1 = 2 MOVE "FEBRUARY" TO M2 ELSE
IF M1 = 3 MOVE "MARCH" TO M2 ELSE
IF M1 = 4 MOVE "APRIL" TO M2 ELSE
IF M1 = 5 MOVE "MAY" TO M2 ELSE
IF M1 = 6 MOVE "JUNE" TO M2 ELSE
IF M1 = 7 MOVE "JULY" TO M2 ELSE
IF M1 = 8 MOVE "AUGUST" TO M2 ELSE
IF M1 = 9 MOVE "SEPTEMBER" TO M2 ELSE
IF M1 = 10 MOVE "OCTOBER" TO M2 ELSE
IF M1 = 11 MOVE "NOVEMBER" TO M2 ELSE
IF M1 = 12 MOVE "DECEMBER" TO M2.
P4.
COMPUTE Y2 = Y1 + 2000.
P5.
DISPLAY RESULT.
STOPRUN.
Output:
ENTER DATE (DD MM YY)
120816
12TH AUGUST 2016
Result:
Thus the above program is executed and output is verified.
4.CONVERSION OF NUMBER INTO WORDS
Aim:
To write a COBOL program for conversion of number into
words.
Algorithm:
Step1 – start the process.
Step2 – initiate the variables.
Step3 – compute the paras declared in the procedure division.
Step4 – FILLER is used on the field on the table which do not
contain any data.
Step5 – use REDEFINE clause for redefining the TABLE used.
Step6 – get the three digit number.
Step7 – DIVIDE the number by 10 and compare the remainder
as per the IF condition.
Step8 – use IF condition and nested IF statement for multiple
condition.
Step9 – display the result.
Step10 – stop the process.
Program:
IDENTIFICATION DIVISION.
PROGRAM-ID. PRG4.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 N PIC 9(3).
77 D1 PIC 9(2).
77 D2 PIC 9(2).
77 D3 PIC 9(2).
01 A-TABLE.
05 FILLER PIC A(5) VALUE "ONE".
05 FILLER PIC A(5) VALUE "TWO".
05 FILLER PIC A(5) VALUE "THREE".
05 FILLER PIC A(5) VALUE "FOUR".
05 FILLER PIC A(5) VALUE "FIVE".
05 FILLER PIC A(5) VALUE "SIX".
05 FILLER PIC A(5) VALUE "SEVEN".
05 FILLER PIC A(5) VALUE "EIGHT".
05 FILLER PIC A(5) VALUE "NINE".
01 TABLE1 REDEFINES A-TABLE.
05 A PIC A(5) OCCURS 9 TIMES.
01 B-TABLE.
05 FILLER PIC A(7) VALUE "TEN".
05 FILLER PIC A(7) VALUE "TWENTY".
05 FILLER PIC A(7) VALUE "THIRTY".
05 FILLER PIC A(7) VALUE "FOURTY".
05 FILLER PIC A(7) VALUE "FIFTY".
05 FILLER PIC A(7) VALUE "SIXTY".
05 FILLER PIC A(7) VALUE "SEVENTY".
05 FILLER PIC A(7) VALUE "EIGHTY".
05 FILLER PIC A(7) VALUE "NINETY".
01 TABLE2 REDEFINES B-TABLE.
05 B PIC A(7) OCCURS 9 TIMES.
01 C-TABLE.
05 FILLER PIC A(9) VALUE "ELEVEN".
05 FILLER PIC A(9) VALUE "TWELVE".
05 FILLER PIC A(9) VALUE "THIRTEEN".
05 FILLER PIC A(9) VALUE "FOURTEEN".
05 FILLER PIC A(9) VALUE "FIFTEEN".
05 FILLER PIC A(9) VALUE "SIXTEEN".
05 FILLER PIC A(9) VALUE "SEVENTEEN".
05 FILLER PIC A(9) VALUE "EIGHTEEN".
05 FILLER PIC A(9) VALUE "NINTEEN".
05 FILLER PIC A(9) VALUE "NINTEEN".
01 TABLE3 REDEFINES C-TABLE.
05 C PIC A(9) OCCURS 9 TIMES.
PROCEDURE DIVISION.
P1.
DISPLAY "ENTER THREE DIGIT NUMBER..."
ACCEPT N.
DIVIDE N BY 10 GIVING N REMAINDER D3.
DIVIDE N BY 10 GIVING D1 REMAINDER D2.
IF D2 = 0 AND D3 = 0
DISPLAY A(D1) "HUNDRED"
ELSE IF D2 =0
DISPLAY A(D1) "HUNDRED AND ",A(D3)
ELSE IF D3 =0
ELSE IF D2 =1
DISPLAY A(D1) "HUNDRED AND ",C(D3)
ELSE
DISPLAY A(D1) "HUNDRED AND ",B(D2),A(D3).
STOPRUN.
Output:
ENTER THREE DIGIT NUMBER
609
SIX HUNDRED AND NINE.
Result:
Thus the above program is executed and output is verified.
5.STUDENT DATA FILE.
Aim:
To write a COBOL program to create a student data file
using various fields.
Algorithm:
Step1 – start the process.
Step2 – initiate the variables.
Step3 – compute the paras declared in the procedure division.
Step4 – input-output section is declared in the ENVIRONMENT
DIVISION because files have been used in this program.
Step5 – access mode of files are sequential.
Step6 – use OPEN and CLOSE verbs for opening and closing of
files.
Step7 – display the result after computation
Step8 – stop the process.
Program:
IDENTIFICATION DIVISION.
PROGRAM-ID. PRG5.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT STUD-FILE ASSIGN TO DISK
ORGANIZATION IS LINE SEQUENTIAL
ACCESS MODE IS SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD STUD-FILE
LABEL RECORDS ARE STANDARD
VALUE OF FILE-ID IS "STU.DAT"
DATA RECORD IS REC.
01 REC.
02 NAME PIC A(20).
02 ROLLNO PIC X(6).
02 SEX PIC X(6).
02 AGE PIC 99.
02 YEAR PIC 99.
02 S1 PIC z(3).
02 S2 PIC z(3).
02 S3 PIC z(3).
02 S4 PIC Z(3).
02 S5 PIC Z(3).
WORKING-STORAGE SECTION.
01 N PIC 9(2).
PROCEDURE DIVISION.
PARA-1.
OPEN OUTPUT STUD-FILE
DISPLAY "ENTER THE NUMBER OF TIMES..".
ACCEPT N.
PERFORM PARA-2 N TIMES
GO TO CLOSE-PARA.
PARA-2.
DISPLAY "ENTER NAME:".
ACCEPT NAME.
DISPLAY "ENTER ROLLNO:".
ACCEPT ROLLNO.
DISPLAY "ENTER AGE:".
ACCEPT AGE.
DISPLAY "ENTER SEX:".
ACCEPT SEX.
DISPLAY "ENTER YEAR:".
ACCEPT YEAR.
DISPLAY "ENTER SUBJECT1 MARK:".
ACCEPT S1.
DISPLAY "ENTER SUBJECT2 MARK:".
ACCEPT S2.
DISPLAY "ENTER SUBJECT3 MARK:".
ACCEPT S3.
DISPLAY "ENTER SUBJECT4 MARK:".
ACCEPT S4.
DISPLAY "ENTER SUBJECT5 MARK:".
ACCEPT S5.
WRITE REC.
CLOSE-PARA.
CLOSE STUD-FILE.
STOP RUN.
Output:
ENTER THE NUMBER OF TIMES..
2
ENTER NAME:
arun
ENTER ROLLNO:
101
ENTER AGE:
12
ENTER SEX:
m
ENTER YEAR:
2000
ENTER SUBJECT1 MARK:
99
ENTER SUBJECT2 MARK:
78
ENTER SUBJECT3 MARK:
67
ENTER SUBJECT4 MARK:
69
ENTER SUBJECT5 MARK:
34
ENTER NAME:
BBB
ENTER ROLLNO:
102
ENTER AGE:
12
ENTER SEX:
F
ENTER YEAR:
2000
ENTER SUBJECT1 MARK:
23
ENTER SUBJECT2 MARK:
56
ENTER SUBJECT3 MARK:
89
ENTER SUBJECT4 MARK:
56
ENTER SUBJECT5 MARK:
96
D:\cobol3>TYPE STU.DAT
AAA 101 M 1200 99 78 67 69 34
BBB 102 F 1200 23 56 89 56 96
Result:
Thus the above program is executed and output is verified.
6. CREATE TWO FILES USING STUDENT DATA FILE
Aim:
To create a COBOL program to create following two files
using student data files with MOVE……CORRESPONDING
option.
Algorithm:
Step1 – start the process.
Step2 – initiate the variables.
Step3 – compute the paras declared in the procedure division.
Step4 – input –output section is declared because files have been
used
Step5 – declare FILE-SECTION in data division where thw records
are standard.
Step6 – create two files F1 for male and F2 for female.
Step7 – initiate the variables as each for every details of both
male and female
Step8 – declare three paras in procedure division for OPEN ,
CLOSE , READ for file operations.
Step9 – use MOVE and CORR statement for computation.
Step10 – display the result
Step11 – stop the process.
Program:
IDENTIFICATION DIVISION.
PROGRAM-ID. PRG6.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT INFILE ASSIGN TO DISK
ORGANIZATION IS LINE SEQUENTIAL
SELECT FILE1 ASSIGN TO DISK
ORGANIZATION IS LINE SEQUENTIAL
SELECT FILE2 ASSIGN TO DISK
ORGANIZATION IS LINE SEQUENTIAL
DATA DIVISION.
FILE SECTION.
FD INFILE
LABEL RECORDS ARE STANDARD
VALUE OF FILE-ID IS "STUDENT.DAT"
01 INREC.
02 NAME PIC A(10).
02 ROLLNO PIC 9(5).
02 AGE PIC 99.
02 GENDER PIC A.
02 YEAR PIC 9(2).
02 M1 PIC 99.
02 M2 PIC 99.
02 M2 PIC 99.
02 M4 PIC 99.
02 M5 PIC 99.
FD FILE1
LABEL RECORDS ARE STANDARD
VALUE OF FILE-ID IS "FILE1.DAT"
01 F1REC.
02 NAME PIC A(10).
02 ROLLNO PIC 9(5).
02 AGE PIC 99.
02 GENDER PIC A.
02 YEAR PIC 9(2).
02 M1 PIC 99.
02 M2 PIC 99.
02 M2 PIC 99.
02 M4 PIC 99.
02 M5 PIC 99.
FD FILE2
LABEL RECORDS ARE STANDARD
VALUE OF FILE-ID IS "FILE2.DAT"
01 F2REC.
02 NAME PIC A(10).
02 ROLLNO PIC 9(5).
02 AGE PIC 99.
02 GENDER PIC A.
02 YEAR PIC 9(2).
02 M1 PIC 99.
02 M2 PIC 99.
02 M3 PIC 99.
02 M4 PIC 99.
02 M5 PIC 99.
PROCEDURE DIVISION.
OPEN-PARA.
OPEN OUTPUT FILE1.
OPEN OUTPUT FILE2.
OPEN INPUT INFILE.
READ-PARA.
READ INFILE AT END GO TO CLOSE-PARA.
IF (GENDER OF INREC = 'M') AND (YEAR OF INREC = 3)
MOVE CORR INREC TO F1REC
WRITE F1REC.
IF (GENDER OF INREC = 'F') AND (YEAR OF INREC = 1)
MOVE CORR INREC TO F2REC
WRITE F2REC.
GO TO READ-PARA.
CLOSE-PARA.
CLOSE INFILE.
CLOSE FILE1.
CLOSE FILE2.
STOPRUN.
Output:
ARUN 1234523M038989898989
MALAR 1234624F016767676767
D:\cobol3>TYPE FILE1.DAT
ARUN 1234523M038989 8989
D:\cobol3>TYPE FILE2.DAT
MALAR 1234624F016767 6767
Result:
Thus the above program is executed and output is verified.
7. SORTING OF STUDENT DATA FILE.
Aim:
To write a COBOL program to sort the student file in
ascending order of files using SORT verb.
Algorithm:
Step1 – start the process
Step2 – initiate the variables
Step3 – compute the paras declared in the procedure division
Step4 – input-output section is declared because files have been
used
Step5 – declare FILE-SECTION in data division where the recors
are standard.
Step6 – create IN.DAT and OUT.DAT files and records
Step7 – initiate the variables as each for every details of the
students
Step8 – create WFILE and WREC with same details of the
students
Step9 – use SORT verb in p1 declared in procedure division
comparing by details of INFILE
Step10 – display the result
Step11 – stop the process.
Program:
IDENTIFICATION DIVISION.
PROGRAM-ID. PRG7.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT INFILE ASSIGN TO DISK
ORGANIZATION IS LINE SEQUENTIAL.
SELECT OUTFILE ASSIGN TO DISK
ORGANIZATION IS LINE SEQUENTIAL.
SELECT WFILE ASSIGN TO DISL
DATA DIVISION.
FILE SECTION.
FD INFILE
LABEL RECORDS ARE STANDARD
VALUE OF FILE-ID IS "IN.DAT"
01 INREC.
02 NAME PIC A(10).
02 ROLLNO PIC 9(4).
02 AGE PIC 99.
02 YEAR PIC 9(5).
02 SEX PIC A.
02 M1 PIC 99.
02 M2 PIC 99.
02 M3 PIC 99.
02 M4 PIC 99.
02 M5 PIC 99.
FD OUTFILE
LABEL RECORDS ARE STANDARD
VALUE OF FILE-ID IS "OUT.DAT".
01 OUTREC.
02 NAME PIC A(10).
02 ROLLNO PIC 9(4).
02 AGE PIC 99.
02 YEAR PIC 9(5).
02 SEX PIC A.
02 M1 PIC 99.
02 M2 PIC 99.
02 M3 PIC 99.
02 M4 PIC 99.
02 M5 PIC 99.
SD WFILE
01 WREC.
02 WNAME PIC A(10).
02 WROLLNO PIC 9(4).
02 WAGE PIC 99.
02 WYEAR PIC 9(5).
02 WSEX PIC A.
02 WM1 PIC 99.
02 WM2 PIC 99.
02 WM3 PIC 99.
02 WM4 PIC 99.
02 WM5 PIC 99.
PROCEDURE DIVISION.
P1.
SORT WFILE ON ASCENDING KEY WSEX WYEAR WROLLNO
USING INFILE
GIVING OUTFILE.
STOP RUN.
Output:
EDIT IN.DAT
DHIVYA 12382012347F9089785645
VIDHYA 12342312345F8978675430
EDIT OUT.DAT
VIDHYA 12342312345F8978675430
DHIVYA 12382012347F9089785645
Result:
Thus the above program is executed and output is verified.
8.EMPLOYEE FILE
Aim:
To write a COBOL program to create an employee file for
employee of organisation including various files.
Algorithm:
Step1 – start the process
Step2 – initiate the variables
Step3 – compute the paras declared in the procedure division
Step4 – declare the INPUT-OUTPUT section in the environment
division because files have been used
Step5 – file access mode is sequential
Step6 – declare FILE SECTION in data division were the records
are standard
Step7 – initialise variables for each data of the employee
Step8 – use OPEN and CLOSE verbs for opening and closing of
files
Step9 – use PERFORM verb to compute N times
Step10 – display the result
Step11 – stop the process.
Program:
IDENTIFICATION DIVISION
PROGRAM-ID. PRG8.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT EMP-FILE ASSIGN TO DISK
ORGANIZATION IS LINE SEQUENTIAL
ACCESS MODE IS SEQUENTIAL
DATA DIVISION.
FILE SECTION.
FD EMPFILE
LABEL RECORDS ARE STANDARD
VALUE OF FILE-ID IS "EMP.DAT"
DATA RECORD IS REC.
01 REC.
02 EMPNO PIC X(4).
02 NAME PIC X(10).
02 DOB PIC X(10).
02 SEX PIC A.
02 BASIC PIC 9(4).
02 DESIGN PIC X(9).
WORKING-STORAGE SECTION.
01 N PIC 9(2).
PROCEDURE DIVISION.
PARA-1.
OPEN OUTPUT EMPFILE.
DISPLAY "ENTER THE NUMBER OF TIMES".
ACCEPT N.
PERFORM PARA-2 N TIMES.
GO TO CLOSE-PARA.
PARA-2.
DISPLAY "ENTER EMPLOYEE NUMBER".
ACCEPT EMPNO.
DISPLAY "ENTER NAME".
ACCEPT NAME.
DISPLAY "ENTER DATE OF BIRTH"
ACCEPT DOB.
DISPLAY "ENTER SEX".
ACCEPT SEX.
DISPLAY "ENTER BASIC-PAY".
ACCEPT BASIC.
DISPLAY "ENTER DESIGNATION".
ACCEPT DESIGN.
WRITE REC.
CLOSE-PARA.
CLOSE EMPFILE.
STOPRUN.
Output:
ENTER THE NUMBER OF EMPLOYEES
2
ENTER EMPLOYEE NUMBER
1001
ENTER NAME :
ABIRAMI
ENTER DATE OF BIRTH
12/12/1987
ENTER SEX
F
ENTER BASIC PAY
4000
ENTER DESIGNATION
TYPIST
ENTER EMPLOYEE NUMBER
1002
ENTER NAME :
BABU
ENTER DATE OF BIRTH
02/03/1990
ENTER SEX
M
ENTER BASIC PAY
1500
ENTER DESIGNATION
CLERK
************************ OUTPUT ***********************
D:\COBOL3>TYPE EMP.DAT
1001ABIRAMI 12/12/1987F4000TYPIST
1002BABU 02/03/1990M1500CLECRK
Result:
Thus the above program is executed and output is verified.
9 .UPDATION OF EMPLOYE DATA FILE.
Aim:
To write a COBOL program to update new BASIC-PAY of
each employee in employee data file by incrementing 25% of
BASIC-PAY.
Algorithm:
Step1 – start the process
Step2 – initiate the variables
Step3 – declare INPUT-OUTPUT section in environment division
because files have been used
Step4 – file access mode is sequential
Step5 – declare FILE SECTION in data division were the label
records are standard.
Step6 – initialise the variables for each details of the employee
Step7 – use OPEN and CLOSE verbs in procedure division for
computing the files
Step8 – READ and REWRITE verbs are used for further
processing of fields
Step9 – display the result
Step10 – stop the process.
Program:
IDENTIFICATION DIVISION.
PROGRAM-ID. PRG9.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT EMP-FILE ASSIGN TO DISK
ORGANIZATION IS LINE SEQUENTIAL
ACCESS MODE IS SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD EMP-FILE
LABEL RECORDS ARE STANDARD
VALUE OF FILE-ID IS "EMP8.DAT"
DATA RECORD IS REC.
01 REC.
02 EMP-NO PIC X(4).
02 NAME PIC X(10).
02 DOB PIC X(10).
02 SEX PIC A.
02 BASIC PIC 9(4).
02 DESIGN PIC X(10).
WORKING-STORAGE SECTION.
77 PAY PIC 9(4).
PROCEDURE DIVISION.
OPEN-PARA.
OPEN I-O EMP-FILE.
READ-PARA.
READ EMP-FILE AT END GO TO CLOSE-PARA.
MOVE BASIC TO PAY.
COMPUTE PAY = PAY + (BASIC * 25 / 100).
MOVE PAY TO BASIC.
REWRITE REC.
GO TO READ-PARA.
CLOSE-PARA.
CLOSE EMP-FILE.
STOPRUN.
Output:
1001ABIRAMI 12/12/1987F5000TYPIST
1002BABU 02/03/1990M1875CLECRK
1003CHITRA 24/01/1982F1250ATTENDER
1004DINESH 12/11/1980M7500MANAGER
1005FATHIMA 12/11/1990F1500CLERK
Result:
Thus the above program is executed and output is verified
10. FIND NUMBER OF EMPLOYEES
Aim:
To write a COBOL program to find the number of
employees whose BASIc-PAY >4000 and the number of female
employees whose BASIC-PAY <3000 using employee data file.
Algorithm:
Step1 – start the process
Step2 – initiate the variables
Step3 – declare INPUT-OUTPUT section because files have been
used
Step4 – file access mode is sequential
Step5 – declare FILE SECTION in data division were the label
records are satandard
Step6 – initialise the variables for each data of the employee
Step7 – use OPEN, READ and CLOSE verbs for accessing the files
in the procedure division
Step7 – use IF statements to check to BASIC-PAY of female and
male employee according to the condition
Step8 – display the result
Step9 – stop the process.
Program:
IDENTIFICATION DIVISION.
PROGRAM-ID. PRG10.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT EMP-FILE ASSIGN TO DISK
ORGANIZATION IS LINE SEQUENTIAL
ACCESS MODE IS SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD EMP-FILE
LABEL RECORDS ARE STANDARD
VALUE OF FILE-ID IS "EMP.DAT"
DATA RECORD IS REC.
01 REC.
02 EMP-NO PIC X(4).
02 NAME PIC X(10).
02 DOB PIC X(10).
02 SEX PIC A.
02 BASIC PIC 9(4).
02 DESIGN PIC X(10).
WORKING-STORAGE SECTION.
01 N1 PIC 9(2) VALUE 0.
01 N2 PIC 9(2) VALUE 0.
PROCEDURE DIVISION.
OPEN-PARA.
OPEN INPUT EMP-FILE.
READ-PARA.
READ EMP-FILE AT END GO TO CLOSE-PARA.
IF (SEX='M') AND (BASIC>4000)
COMPUTE N1 = N1 + 1
ELSE IF (SEX='F') AND (BASIC<3000)
COMPUTE N2 = N2 + 1.
GO TO READ-PARA.
CLOSE-PARA.
CLOSE EMP-FILE.
DISPLAY " NO OF MALES GETTING BASIC > 4000 = ", N1.
DISPLAY " NO OF FEMALES GETTING BASIC < 3000 = ", N2.
STOPRUN.
Output:
NO OF MALES GETTING BASIC > 4000 = 01
NO OF FEMALES GETTING BASIC < 3000 = 02
Result:
Thus the above program is executed and output in verified.
11.INVENTORY DATA FILE.
Aim:
To write a COBOL program to create an inventory data
file by using various fields.
Algorithm:
Step1 – start the process
Step2 – initiate the variables
Step3 –declare INPUT-OUTPUT section because files have been
used
Step4 – files access modes are sequential
Step5 – FILE SECTION is declared in the data division were the
records are standard
Step6 – initialise the variables for the data of inventory files
Step7 – use OPEN , CLOSE , WRITE verbs for accessing of files
Step8 – compute the paras declared in the procedure division
Step9 – display the result
Step10 – stop the process
Program:
IDENTIFICATION DIVISION.
PROGRAM-ID. PRG11.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL
SELECT INVFILE ASSIGN TO DISK
ORGANIZATION IS LINE SEQUENTIAL
ACCESS MODE IS SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD INVFILE
LABEL RECORDS ARE STANDARD
VALUE OF FILE-ID IS "INV.DAT"
DATA RECORD IS INVREC.
01 INVREC.
02 ITEM-CODE PIC 9(4).
02 DESCRIPTION PIC X(10).
02 OPEN-STOCK PIC 9(3).
02 PURCHASE PIC 9(3).
02 SALES PIC 9(3).
02 SAFETY-LEVEL PIC 9(3).
02 CLOSE-STOCK PIC 9(3).
WORKING-STORAGE SECTION.
01 N PIC 9.
PROCEDURE DIVISION.
P1.
OPEN OUTPUT INVFILE.
DISPLAY "ENTER THE NUMBER OF TIMES".
ACCEPT N.
PERFORM P2 N TIMES.
GO TO CLOSE-PARA.
P2.
DISPLAY "ENTER ITEM-CODE".
ACCEPT ITEM-CODE.
DISPLAY "ENTER DESCRIPTION".
ACCEPT DESCRIPTION.
DISPLAY "ENTER OPEN-STOCK".
ACCEPT OPEN-STOCK.
DISPLAY "ENTER PURCHASE".
ACCEPT PURCHASE.
DISPLAY "ENTER SALES".
ACCEPT SALES.
DISPLAY "ENTER SAFTY-LEVEL".
ACCEPT SAFETY-LEVEL.
COMPUTE CLOSE-STOCK = OPEN-STOCK + PURCHASE - SALES.
WRITE INVREC.
CLOSE-PARA.
CLOSE INVFILE.
STOP RUN.
Output:
ENTER THE NUMBER OF TIMES
3
ENTER ITEM CODE
1001
ENTER DESCRIPTION
HAMAM
ENTER OPENING STOCK
100
ENTER PURCHASES
25
ENTER SALES
50
ENTER SAFETY LEVEL
50
ENTER ITEM CODE
1003
ENTER DESCRIPTION
BOOST
ENTER OPENING STOCK
20
ENTER PURCHASES
15
ENTER SALES
17
ENTER SAFETY LEVEL
20
ENTER ITEM CODE
1004
ENTER DESCRIPTION
MUNCH
ENTER OPENING STOCK
100
ENTER PURCHASES
25
ENTER SALES
106
ENTER SAFETY LEVEL
50
D:\COBOL3>TYPE INV.DAT
1001HAMAM 100025050050075
1003BOOST 020015017020018aim:
1004MUNCH 100025106050019
Result:
Thus the above program is executed and output is verified.
12. RE-ORDER LEVEL STATEMENT.
Aim:
To write a COBOL program to prepare RE-ORDER
LEVEL STATEMENT by using the inventory data file if the
CLOSE-STOCK is less than SAFETY-LEVEL.
Algorithm:
Step1 – start the process
Step2 – initiate the variables
Step3 – declare INPUT-OUTPUT section because files have been
used
Step4 – file access mode is sequential
Step5 – declare the variables for the data required in RE-ORDER
LEVEL STATEMENT.
Step6 – use FILLER which do not store any data
Step7 – use OPEN , WRITE , READ and CLOSE verbs for
accessing of files that have been used
Step8 – use IF statement to check the SAFETY LEVEL condition
Step9 – display the result
Step10 – stop the process.
Program:
IDENTIFICATION DIVISION.
PROGRAM-ID. PRG12.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT INVFILE ASSIGN TO DISK
ORGANIZATION IS LINE SEQUENTIAL
ACCESS MODE IS SEQUENTIAL.
SELECT OUTFILE ASSIGN TO DISK
ORGANIZATION IS LINE SEQUENTIAL
ACCESS MODE IS SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD INVFILE
LABEL RECORDS ARE STANDARD
VALUE OF FILE-ID IS "INV.DAT"
DATA RECORD IS INREC.
01 INREC.
02 ITEM-CODE PIC 9(4).
02 DESCRIPTION PIC X(10).
02 OPEN-STOCK PIC 9(3).
02 PURCHASE PIC 9(3).
02 SALES PIC 9(3).
02 SAFETY-LEVEL PIC 9(3).
02 CLOSE-STOCK PIC 9(3).
FD OUTFILE
LABEL RECORDS ARE STANDARD
VALUE OF FILE-ID IS "OUT.DAT"
DATA RECORD IS OUTREC.
01 OUTREC.
02 FILLER PIC X(100).
WORKING-STORAGE SECTION.
01 HEADING-1.
02 FILLER PIC X(25) VALUE SPACES.
02 FILLER PIC X(27) VALUE "ABC COMPANY, CHENNAI-600006".
01 HEADING-2
02 F PIC X(27) VALUE SPACES.
02 FILLER PIC X(24) VALUE "RE-ORDER LEVEL STATEMENT".
01 DRAWLINE.
02 F PIC X(80) VALUE ALL "-".
01 HEADING-3.
02 FILLER PIC X(9) VALUE "ITEM CODE".
02 FILLER PIC X(5) VALUE SPACES.
02 FILLER PIC X(11) VALUE "DESCRIPTION".
02 FILLER PIC X(10) VALUE SPACES.
02 FILLER PIC X(12) VALUE "SAFETY LEVEL".
02 FILLER PIC X(10) VALUE SPACES.
02 FILLER PIC X(11) VALUE "CLOSE-STOCK".
01 ITEMS.
02 F PIC X(3) VALUE SPACES.
02 ITEM-CODE PIC 9(4).
02 F PIC X(10) VALUE SPACES.
02 DESCRIPTION PIC X(10).
02 F PIC X(12) VALUE SPACES.
02 SAFETY-LEVEL PIC Z(5).
02 F PIC X(12) VALUE SPACES.
02 CLOSE-STOCK PIC Z(5).
PROCEDURE DIVISION.
PARA-1.
OPEN INPUT INVFILE.
OPEN OUTPUT OUTFILE.
WRITE OUTREC FROM HEADING-1.
WRITE OUTREC FROM HEADING-2.
WRITE OUTREC FROM DRAWLINE.
WRITE OUTREC FROM HEADING-3.
WRITE OUTREC FROM DRAWLINE.
PARA-2.
READ INVFILE AT END GO TO CLOSE-PARA.
IF (CLOSE-STOCK OF INREC < SAFETY-LEVEL OF INREC)
MOVE CORR INREC TO ITEMS
WRITE OUTREC FROM ITEMS.
GO TO PARA-2.
CLOSE-PARA.
CLOSE INVFILE.
CLOSE OUTFILE.
STOPRUN.
Output:
ABC COMPANY, CHENNAI-600006
RE-ORDER LEVEL STATEMENT
-------------------------------------------------------
ITEM CODE DESCRIPTION SAFETY LEVEL CLOSE-STOCK
-------------------------------------------------------
1003 BOOST 20 18
1004 MUNCH 50 19
Result:
Thus the above program is executed and output is verified.