Learn Cobol - 9 Code Examples & CST Typing Practice Test
COBOL (Common Business-Oriented Language) is a high-level, English-like programming language designed for business applications, financial systems, batch processing, and large-scale enterprise data operations. Known for reliability, readability, and long-term stability.
Learn COBOL with Real Code Examples
Updated Nov 19, 2025
Code Sample Descriptions
COBOL Counter and Theme Toggle
IDENTIFICATION DIVISION.
PROGRAM-ID. CounterProgram.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 COUNT PIC 9(4) VALUE 0.
01 IS-DARK PIC X VALUE 'N'.
PROCEDURE DIVISION.
DISPLAY 'Counter: ' COUNT
DISPLAY 'Theme: ' IS-DARK
ADD 1 TO COUNT
DISPLAY 'Counter: ' COUNT
MOVE 'Y' TO IS-DARK
DISPLAY 'Theme: ' IS-DARK
SUBTRACT 1 FROM COUNT
DISPLAY 'Counter: ' COUNT
MOVE 0 TO COUNT
DISPLAY 'Counter: ' COUNT
STOP RUN.
Demonstrates a simple counter with theme toggling using COBOL variables and console output.
COBOL Simple Addition
IDENTIFICATION DIVISION.
PROGRAM-ID. AddProgram.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 A PIC 9(4) VALUE 5.
01 B PIC 9(4) VALUE 3.
01 SUM PIC 9(4) VALUE 0.
PROCEDURE DIVISION.
ADD A TO B GIVING SUM
DISPLAY 'Sum: ' SUM
STOP RUN.
Adds two numbers and displays the result.
COBOL Factorial
IDENTIFICATION DIVISION.
PROGRAM-ID. FactorialProgram.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 N PIC 9(2) VALUE 5.
01 FACT PIC 9(5) VALUE 1.
01 COUNTER PIC 9(2) VALUE 1.
PROCEDURE DIVISION.
PERFORM VARYING COUNTER FROM 1 BY 1 UNTIL COUNTER > N
MULTIPLY FACT BY COUNTER GIVING FACT
END-PERFORM
DISPLAY 'Factorial: ' FACT
STOP RUN.
Calculates factorial of 5 using a loop.
COBOL Fibonacci Sequence
IDENTIFICATION DIVISION.
PROGRAM-ID. FibonacciProgram.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 N PIC 9(2) VALUE 10.
01 A PIC 9(5) VALUE 0.
01 B PIC 9(5) VALUE 1.
01 TEMP PIC 9(5) VALUE 0.
01 COUNTER PIC 9(2) VALUE 1.
PROCEDURE DIVISION.
DISPLAY A
PERFORM VARYING COUNTER FROM 2 BY 1 UNTIL COUNTER > N
ADD A TO B GIVING TEMP
DISPLAY B
MOVE B TO A
MOVE TEMP TO B
END-PERFORM
STOP RUN.
Generates first 10 Fibonacci numbers.
COBOL Array Sum
IDENTIFICATION DIVISION.
PROGRAM-ID. ArraySum.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 NUMBERS.
05 NUM PIC 9(2) OCCURS 5 TIMES VALUE 1 2 3 4 5.
01 SUM PIC 9(3) VALUE 0.
01 INDEX PIC 9(2) VALUE 1.
PROCEDURE DIVISION.
PERFORM VARYING INDEX FROM 1 BY 1 UNTIL INDEX > 5
ADD NUM (INDEX) TO SUM
END-PERFORM
DISPLAY 'Sum: ' SUM
STOP RUN.
Sum elements of an array.
COBOL Max of Two Numbers
IDENTIFICATION DIVISION.
PROGRAM-ID. MaxProgram.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 A PIC 9(4) VALUE 7.
01 B PIC 9(4) VALUE 10.
01 MAX PIC 9(4) VALUE 0.
PROCEDURE DIVISION.
IF A > B THEN
MOVE A TO MAX
ELSE
MOVE B TO MAX
END-IF
DISPLAY 'Max: ' MAX
STOP RUN.
Finds the maximum of two numbers.
COBOL Reverse String
IDENTIFICATION DIVISION.
PROGRAM-ID. ReverseString.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 STR PIC X(10) VALUE 'HELLO'.
01 REV PIC X(10).
01 INDEX1 PIC 9(2) VALUE 5.
01 INDEX2 PIC 9(2) VALUE 1.
PROCEDURE DIVISION.
PERFORM VARYING INDEX2 FROM 1 BY 1 UNTIL INDEX2 > 5
MOVE STR (INDEX1:1) TO REV (INDEX2:1)
SUBTRACT 1 FROM INDEX1
END-PERFORM
DISPLAY 'Reversed: ' REV
STOP RUN.
Reverses a string and displays it.
COBOL Even Numbers Filter
IDENTIFICATION DIVISION.
PROGRAM-ID. EvenNumbers.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 NUMS.
05 NUM PIC 9(2) OCCURS 10 TIMES VALUE 1 2 3 4 5 6 7 8 9 10.
01 INDEX PIC 9(2) VALUE 1.
PROCEDURE DIVISION.
PERFORM VARYING INDEX FROM 1 BY 1 UNTIL INDEX > 10
IF NUM (INDEX) MOD 2 = 0 THEN
DISPLAY NUM (INDEX)
END-IF
END-PERFORM
STOP RUN.
Displays even numbers from an array.
COBOL String Concatenation
IDENTIFICATION DIVISION.
PROGRAM-ID. ConcatStrings.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 STR1 PIC X(5) VALUE 'HELLO'.
01 STR2 PIC X(5) VALUE 'WORLD'.
01 RESULT PIC X(10).
PROCEDURE DIVISION.
STRING STR1 DELIMITED BY SPACE
STR2 DELIMITED BY SPACE
INTO RESULT
END-STRING
DISPLAY 'Concatenated: ' RESULT
STOP RUN.
Concatenates two strings and displays result.
Frequently Asked Questions about Cobol
What is Cobol?
COBOL (Common Business-Oriented Language) is a high-level, English-like programming language designed for business applications, financial systems, batch processing, and large-scale enterprise data operations. Known for reliability, readability, and long-term stability.
What are the primary use cases for Cobol?
Banking and financial transaction systems. Payroll and HR systems. Insurance policy and claims processing. Government mainframe workloads. Batch data processing. Large-scale enterprise reporting
What are the strengths of Cobol?
Highly readable and self-documenting. Rock-solid stability for mission-critical systems. Excellent for large-scale batch processing. Unmatched legacy compatibility. Decades of proven reliability in finance/government
What are the limitations of Cobol?
Verbose syntax compared to modern languages. Not suited for modern web/app development. Small pool of new COBOL developers. Mainframe ecosystem can be expensive. Limited abstraction mechanisms
How can I practice Cobol typing speed?
CodeSpeedTest offers 9+ real Cobol code examples for typing practice. You can measure your WPM, track accuracy, and improve your coding speed with guided exercises.