Welcome back! In the previous lesson, you explored how to define and manage numeric variables in COBOL. Understanding numeric data is essential, as many business applications rely on accurate calculations. Now, it's time to take a step further by learning about simple arithmetic operations in COBOL. This is a fundamental skill that will enable you to perform essential calculations such as addition and subtraction.
In this lesson, you will learn to perform basic arithmetic operations on numeric variables in COBOL. Specifically, we will cover the following topics:
- How to add and subtract numeric variables using COBOL syntax.
- How to display the results of these operations.
Let's delve into these topics through an example. Consider the following COBOL program that demonstrates adding and subtracting two numeric values:
cobol1IDENTIFICATION DIVISION. 2PROGRAM-ID. AddAndSubtract. 3DATA DIVISION. 4WORKING-STORAGE SECTION. 501 Value1 PIC 9(3). 601 Value2 PIC 9(3). 701 Result PIC 9(5). 8 9PROCEDURE DIVISION. 10 MOVE 100 TO Value1. 11 MOVE 480 TO Value2. 12 13 *> ADD operation 14 ADD Value1 TO Value2 GIVING Result. 15 DISPLAY "The result of addition is: " Result. *> 00580, same as 580 16 17 *> SUBTRACT operation 18 SUBTRACT Value1 FROM Value2 GIVING Result. 19 DISPLAY "The result of subtraction is: " Result. *> 00380, same as 380 20 21 *> SUBTRACT operation with reversed operands 22 SUBTRACT Value2 FROM Value1 GIVING Result. 23 DISPLAY "The result of subtraction is: " Result. *> 00380, same as 380 24 25 STOP RUN.
Note: When displayed, the numbers are padded with leading zeros to fill the entire field. This is a common practice in COBOL to ensure that the output is aligned correctly. However, the actual value stored in the variable does not contain these leading zeros. For simplicity, we will ignore the leading zeros in the output and focus on the actual values from now on.
Let's examine the code in detail to understand the arithmetic operations it performs:
-
Variable Declaration:
cobol101 Value1 PIC 9(3). 201 Value2 PIC 9(3). 301 Result PIC 9(5).
Here,
Value1
andValue2
are numeric variables that can hold up to 3 digits, whileResult
can hold up to 5 digits. -
Assigning Values:
cobol1MOVE 100 TO Value1. 2MOVE 480 TO Value2.
The
MOVE
statements assign the values100
toValue1
and480
toValue2
. -
Adding Values:
cobol1ADD Value1 TO Value2 GIVING Result.
This
ADD
statement addsValue1
andValue2
, storing the result inResult
. TheDISPLAY
statement outputs the sum:cobol1DISPLAY "The result of addition is: " Result. *> 580
-
Subtracting Values:
cobol1SUBTRACT Value1 FROM Value2 GIVING Result. 2DISPLAY "The result of subtraction is: " Result. *> 380
The
SUBTRACT
statement subtractsValue1
fromValue2
, storing the result inResult
. -
Reversed Subtraction:
cobol1SUBTRACT Value2 FROM Value1 GIVING Result. 2DISPLAY "The result of subtraction is: " Result. *> 380
The subtract operation will give the same result regardless of the order of the operands; since the variable Value1 and Value2 do not have a sign, they are unsigned integers. Hence the result for
100 - 480
and480 - 100
will be the same380
. For now, let's just note that the order doesn't matter for unsigned integers and we'll discuss the signed integers in the upcoming lessons.
Mastering addition and subtraction in COBOL is vital for developing business applications that require accurate and efficient numerical calculations. From financial transactions to data analysis, these operations form the basis of many essential tasks. By understanding how to perform arithmetic operations:
- Enhance Functionality: Create programs that can handle complex calculations and data manipulations with confidence.
- Increase Robustness: Ensure your applications can perform critical arithmetic operations accurately, which is crucial for maintaining data integrity in real-world scenarios.
Excited to apply these concepts? Let's dive into the practice section and solidify your understanding by writing and executing your arithmetic operations in COBOL!