ZERO in COBOL is a figurative constant that represents the numeric value zero. It is used for initializing variables, performing comparisons, and representing zero in calculations. ZERO is the singular form of the zero constant, with ZEROS and ZEROES being the plural forms, though all represent the same value.
ZERO usage patterns for initialization, comparisons, and calculations.
123456789101112131415IDENTIFICATION DIVISION. PROGRAM-ID. ZERO-INITIALIZATION. DATA DIVISION. WORKING-STORAGE SECTION. 01 COUNTER PIC 9(4) VALUE ZERO. 01 ACCUMULATOR PIC 9(8) VALUE ZERO. 01 TOTAL-AMOUNT PIC 9(10)V99 VALUE ZERO. 01 ITEM-COUNT PIC 9(3) VALUE ZERO. PROCEDURE DIVISION. DISPLAY "Counter: " COUNTER DISPLAY "Accumulator: " ACCUMULATOR DISPLAY "Total Amount: " TOTAL-AMOUNT DISPLAY "Item Count: " ITEM-COUNT STOP RUN.
Basic ZERO initialization of numeric variables.
12345678910111213141516171819202122232425262728293031IDENTIFICATION DIVISION. PROGRAM-ID. ZERO-COMPARISONS. DATA DIVISION. WORKING-STORAGE SECTION. 01 AMOUNT PIC 9(6)V99 VALUE 150.75. 01 BALANCE PIC 9(8)V99 VALUE ZERO. 01 TRANSACTION-COUNT PIC 9(4) VALUE 0. PROCEDURE DIVISION. * Check if amount is zero IF AMOUNT = ZERO DISPLAY "Amount is zero" ELSE DISPLAY "Amount is not zero: " AMOUNT END-IF * Check if balance is zero IF BALANCE = ZERO DISPLAY "Balance is zero" ELSE DISPLAY "Balance is not zero: " BALANCE END-IF * Check if transaction count is zero IF TRANSACTION-COUNT = ZERO DISPLAY "No transactions processed" ELSE DISPLAY "Transactions processed: " TRANSACTION-COUNT END-IF STOP RUN.
ZERO usage in conditional statements and comparisons.
1234567891011121314151617181920212223242526272829303132IDENTIFICATION DIVISION. PROGRAM-ID. ZERO-ARITHMETIC. DATA DIVISION. WORKING-STORAGE SECTION. 01 VALUE-1 PIC 9(4) VALUE 100. 01 VALUE-2 PIC 9(4) VALUE ZERO. 01 RESULT PIC 9(6). 01 QUOTIENT PIC 9(6). 01 REMAINDER PIC 9(4). PROCEDURE DIVISION. * Addition with ZERO ADD ZERO TO VALUE-1 GIVING RESULT DISPLAY "Value + ZERO = " RESULT * Subtraction with ZERO SUBTRACT ZERO FROM VALUE-1 GIVING RESULT DISPLAY "Value - ZERO = " RESULT * Multiplication with ZERO MULTIPLY VALUE-1 BY ZERO GIVING RESULT DISPLAY "Value * ZERO = " RESULT * Division by ZERO (error handling) IF VALUE-2 = ZERO DISPLAY "Cannot divide by ZERO" ELSE DIVIDE VALUE-1 BY VALUE-2 GIVING QUOTIENT REMAINDER REMAINDER DISPLAY "Division result: " QUOTIENT END-IF STOP RUN.
ZERO usage in arithmetic operations with error handling.
Initialize numeric variables to zero.
12301 COUNTER PIC 9(4) VALUE ZERO. 01 TOTAL PIC 9(8)V99 VALUE ZERO. 01 BALANCE PIC S9(10)V99 VALUE ZERO.
Check if values are zero.
1234567IF AMOUNT = ZERO DISPLAY "Amount is zero" END-IF IF BALANCE NOT = ZERO PERFORM PROCESS-BALANCE END-IF
Use ZERO in calculations.
12345ADD ZERO TO TOTAL MULTIPLY VALUE BY ZERO GIVING RESULT IF DIVISOR = ZERO DISPLAY "Division by zero error" END-IF
Use ZERO for loop initialization.
12345MOVE ZERO TO LOOP-COUNTER PERFORM UNTIL LOOP-COUNTER >= MAX-COUNT ADD 1 TO LOOP-COUNTER PERFORM PROCESS-ITEM END-PERFORM
Usage | Syntax | Purpose |
---|---|---|
Initialization | VALUE ZERO | Initialize variables to zero |
Comparison | IF X = ZERO | Check if value equals zero |
Arithmetic | ADD ZERO TO X | Use in calculations |
Error Check | IF DIVISOR = ZERO | Prevent division by zero |
1. What is the primary purpose of ZERO in COBOL?
2. How does ZERO compare to ZEROS and ZEROES in COBOL?
3. What is the main use case for ZERO in COBOL?
4. How does ZERO behave in arithmetic operations?
5. What is a common use case for ZERO in COBOL programs?