Tuesday, 15 July 2014

COBOL program to find the factorial

Main Program (FACT.COB)

       IDENTIFICATION DIVISION.
       PROGRAM-ID. FACT.
       ENVIRONMENT DIVISION.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       77 N PIC 9(2).
       77 FACT PIC 9(6).
       77 RESULT PIC Z(5)9.
       PROCEDURE DIVISION.
       P1.
           DISPLAY "ENTER NUMBER TO FIND FACTORIAL".
           ACCEPT N.
           IF N = 0
              MOVE 0 TO RESULT
           ELSE
              CALL "F.COB" USING N, FACT.
           MOVE FACT TO RESULT.
           DISPLAY "FACTORIAL OF " N " IS: " , RESULT.
           STOP RUN.

F.COB FILE 
Sub Program (Subroutine called from main program)

       IDENTIFICATION DIVISION.
       PROGRAM-ID.
       ENVIRONMENT DIVISION.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       77 Z PIC 9(2).
       LINKAGE SECTION.
       77 N PIC 9(2).
       77 FACT PIC 9(6).
       PROCEDURE DIVISION USING N FACT.
       P1.
           MOVE 1 TO FACT.
           PERFORM COMPUTE-PARA VARYING Z FROM 2 BY 1 UNTIL Z > N.
           EXIT PROGRAM.
       COMPUTE-PARA.
           MULTIPLY Z BY FACT.

No comments:

Post a Comment