Calculate monthly EMI for a loan.
COMPUTE, ACCEPT, DISPLAY.
Formula: EMI=P×R×(1+R)N(1+R)N−1EMI = \frac{P \times R \times (1+R)^N}{(1+R)^N – 1}EMI=(1+R)N−1P×R×(1+R)N
Where:
- P = Principal Loan Amount
- R = Monthly Interest Rate
- N = Number of Months
Calculate monthly EMI for a loan.
COMPUTE, ACCEPT, DISPLAY.
Formula: EMI=P×R×(1+R)N(1+R)N−1EMI = \frac{P \times R \times (1+R)^N}{(1+R)^N – 1}EMI=(1+R)N−1P×R×(1+R)N
Where:
Store employee records and display them.
FILE handling, WRITE/READ, PERFORM.
IDENTIFICATION DIVISION.
PROGRAM-ID. EMPLOYEE-DB.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT EMP-FILE ASSIGN TO 'EMPLOYEE.DAT'
ORGANIZATION IS LINE SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD EMP-FILE.
01 EMP-REC.
05 EMP-ID PIC 9(4).
05 EMP-NAME PIC A(20).
05 EMP-SAL PIC 9(6).
WORKING-STORAGE SECTION.
01 WS-EOF PIC X VALUE "N".
PROCEDURE DIVISION.
OPEN OUTPUT EMP-FILE
MOVE 1001 TO EMP-ID
MOVE "ALICE" TO EMP-NAME
MOVE 50000 TO EMP-SAL
WRITE EMP-REC
MOVE 1002 TO EMP-ID
MOVE "BOB" TO EMP-NAME
MOVE 60000 TO EMP-SAL
WRITE EMP-REC
CLOSE EMP-FILE
OPEN INPUT EMP-FILE
PERFORM UNTIL WS-EOF = "Y"
READ EMP-FILE
AT END MOVE "Y" TO WS-EOF
NOT AT END DISPLAY EMP-REC
END-READ
END-PERFORM
CLOSE EMP-FILE
STOP RUN.
Explanation:
EMPLOYEE.DAT
.Calculate total bill with discount and tax.
Arithmetic operations, COMPUTE, ACCEPT/DISPLAY.
IDENTIFICATION DIVISION.
PROGRAM-ID. BILLING.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 ITEM-NAME PIC A(20).
01 PRICE PIC 9(5)V99.
01 QUANTITY PIC 9(3).
01 TOTAL PIC 9(6)V99.
01 DISCOUNT PIC 9(6)V99.
01 NET-AMOUNT PIC 9(6)V99.
PROCEDURE DIVISION.
DISPLAY "ENTER ITEM NAME: " ACCEPT ITEM-NAME
DISPLAY "ENTER PRICE: " ACCEPT PRICE
DISPLAY "ENTER QUANTITY: " ACCEPT QUANTITY
COMPUTE TOTAL = PRICE * QUANTITY
IF TOTAL > 5000
COMPUTE DISCOUNT = TOTAL * 0.10
ELSE
COMPUTE DISCOUNT = TOTAL * 0.05
END-IF
COMPUTE NET-AMOUNT = TOTAL - DISCOUNT
DISPLAY "ITEM: " ITEM-NAME
DISPLAY "TOTAL: " TOTAL
DISPLAY "DISCOUNT: " DISCOUNT
DISPLAY "NET AMOUNT: " NET-AMOUNT
STOP RUN.
Explanation:
Mimic ATM operations (deposit, withdraw, check balance, exit).
PERFORM loops, IF-ELSE, arithmetic.
IDENTIFICATION DIVISION.
PROGRAM-ID. ATM.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 BALANCE PIC 9(6)V99 VALUE 5000.00.
01 AMOUNT PIC 9(6)V99.
01 CHOICE PIC 9.
01 EXIT-FLAG PIC X VALUE "N".
PROCEDURE DIVISION.
MAIN-PARA.
PERFORM UNTIL EXIT-FLAG = "Y"
DISPLAY "1. CHECK BALANCE"
DISPLAY "2. DEPOSIT"
DISPLAY "3. WITHDRAW"
DISPLAY "4. EXIT"
ACCEPT CHOICE
EVALUATE CHOICE
WHEN 1 DISPLAY "BALANCE: " BALANCE
WHEN 2
DISPLAY "ENTER DEPOSIT: " ACCEPT AMOUNT
ADD AMOUNT TO BALANCE
DISPLAY "UPDATED BALANCE: " BALANCE
WHEN 3
DISPLAY "ENTER WITHDRAWAL: " ACCEPT AMOUNT
IF AMOUNT > BALANCE
DISPLAY "INSUFFICIENT FUNDS"
ELSE
SUBTRACT AMOUNT FROM BALANCE
DISPLAY "UPDATED BALANCE: " BALANCE
END-IF
WHEN 4 MOVE "Y" TO EXIT-FLAG
WHEN OTHER DISPLAY "INVALID CHOICE"
END-EVALUATE
END-PERFORM.
STOP RUN.
Explanation:
PERFORM UNTIL
→ creates a menu-driven system.EVALUATE
→ works like switch-case in modern languages. Input marks of students and calculate grade.
IF-ELSE, arithmetic, ACCEPT/DISPLAY.
IDENTIFICATION DIVISION.
PROGRAM-ID. MARKSHEET.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 STUDENT-NAME PIC A(20).
01 MARKS PIC 9(3).
01 GRADE PIC A.
PROCEDURE DIVISION.
DISPLAY "ENTER STUDENT NAME: "
ACCEPT STUDENT-NAME
DISPLAY "ENTER MARKS (0-100): "
ACCEPT MARKS
IF MARKS >= 90
MOVE "A" TO GRADE
ELSE IF MARKS >= 75
MOVE "B" TO GRADE
ELSE IF MARKS >= 50
MOVE "C" TO GRADE
ELSE
MOVE "F" TO GRADE
END-IF
DISPLAY "STUDENT: " STUDENT-NAME
DISPLAY "GRADE : " GRADE
STOP RUN.
Explanation:
Store book records, search books.
SEARCH, SEARCH ALL, file handling.
Manage stock (add items, update stock, display).
Tables (arrays), loops, PERFORM.
Deposit, withdraw, and check balance.
IF-ELSE, arithmetic, file storage.
IDENTIFICATION DIVISION.
PROGRAM-ID. BANKING.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 ACCOUNT-BAL PIC 9(6)V99 VALUE 1000.00.
01 AMOUNT PIC 9(6)V99.
01 CHOICE PIC 9.
PROCEDURE DIVISION.
MAIN-PARA.
DISPLAY "1. CHECK BALANCE"
DISPLAY "2. DEPOSIT"
DISPLAY "3. WITHDRAW"
ACCEPT CHOICE
IF CHOICE = 1
DISPLAY "BALANCE = " ACCOUNT-BAL
ELSE IF CHOICE = 2
DISPLAY "ENTER AMOUNT TO DEPOSIT: "
ACCEPT AMOUNT
ADD AMOUNT TO ACCOUNT-BAL
DISPLAY "UPDATED BALANCE = " ACCOUNT-BAL
ELSE IF CHOICE = 3
DISPLAY "ENTER AMOUNT TO WITHDRAW: "
ACCEPT AMOUNT
IF AMOUNT > ACCOUNT-BAL
DISPLAY "INSUFFICIENT BALANCE"
ELSE
SUBTRACT AMOUNT FROM ACCOUNT-BAL
DISPLAY "UPDATED BALANCE = " ACCOUNT-BAL
END-IF
END-IF.
STOP RUN.
Explanation:
Calculate employee salaries with bonuses/deductions.
Arithmetic operations, conditional logic.
IDENTIFICATION DIVISION.
PROGRAM-ID. PAYROLL.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 EMP-NAME PIC A(20).
01 BASIC-SALARY PIC 9(5)V99.
01 BONUS PIC 9(5)V99.
01 DEDUCTION PIC 9(5)V99.
01 NET-SALARY PIC 9(6)V99.
PROCEDURE DIVISION.
DISPLAY "ENTER EMPLOYEE NAME: " ACCEPT EMP-NAME
DISPLAY "ENTER BASIC SALARY: " ACCEPT BASIC-SALARY
DISPLAY "ENTER BONUS: " ACCEPT BONUS
DISPLAY "ENTER DEDUCTION: " ACCEPT DEDUCTION
COMPUTE NET-SALARY = BASIC-SALARY + BONUS - DEDUCTION
DISPLAY "EMPLOYEE: " EMP-NAME
DISPLAY "NET SALARY: " NET-SALARY
STOP RUN.
Explanation:
COMPUTE
is used to calculate salary.Store and display student details.
File handling, ACCEPT/DISPLAY, structured records.
IDENTIFICATION DIVISION.
PROGRAM-ID. STUDENT-RECORD.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT STUDENT-FILE ASSIGN TO 'STUDENT.DAT'
ORGANIZATION IS LINE SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD STUDENT-FILE.
01 STUDENT-REC.
05 STUDENT-ID PIC 9(4).
05 STUDENT-NAME PIC A(20).
05 STUDENT-AGE PIC 9(2).
WORKING-STORAGE SECTION.
01 WS-CHOICE PIC 9 VALUE 0.
01 WS-EOF PIC X VALUE 'N'.
PROCEDURE DIVISION.
MAIN-PARA.
DISPLAY "1. ADD STUDENT"
DISPLAY "2. DISPLAY STUDENTS"
ACCEPT WS-CHOICE
IF WS-CHOICE = 1
OPEN OUTPUT STUDENT-FILE
DISPLAY "ENTER ID: " ACCEPT STUDENT-ID
DISPLAY "ENTER NAME: " ACCEPT STUDENT-NAME
DISPLAY "ENTER AGE: " ACCEPT STUDENT-AGE
WRITE STUDENT-REC
CLOSE STUDENT-FILE
ELSE
OPEN INPUT STUDENT-FILE
PERFORM UNTIL WS-EOF = 'Y'
READ STUDENT-FILE
AT END MOVE 'Y' TO WS-EOF
NOT AT END DISPLAY STUDENT-REC
END-READ
END-PERFORM
CLOSE STUDENT-FILE
END-IF.
STOP RUN.
Explanation:
STUDENT.DAT
stores student records.OPEN
, WRITE
, READ
, CLOSE
) is demonstrated.