The SUM function returns the sum of the values specified in the arguments.
000010 @OPTIONS MAIN 000020*---------------------------------------------------------------------- 000030* The SUM function returns the sum of the values specified in the 000035* arguments. 000040* In this sample, the following functions are used at the same time: 000050* - MEAN function: Returns the arithmetic average value of the 000055* arguments. 000060* - MEDIAN function: Returns the median value of the arguments. 000070* 000080*---------------------------------------------------------------------- 000090 IDENTIFICATION DIVISION. 000100 PROGRAM-ID. SAMPLE. 000110 DATA DIVISION. 000120 WORKING-STORAGE SECTION. 000130 01 . 000140 02 VAL PIC S9(4) OCCURS 5 TIMES. 000150 01 TOTAL PIC S9(8) VALUE 0. 000160 01 MEAN PIC S9(8) VALUE 0. 000170 01 MEDIAN PIC S9(8) VALUE 0. 000180 01 MIDRANGE PIC S9(8) VALUE 0. 000190 01 SELECT-SW PIC 9(1). 000200 88 SW-ALL VALUE 1. 000210 88 SW-PART VALUE 2. 000220 01 COUNTER PIC 9(1). 000230 PROCEDURE DIVISION. 000240 DISPLAY "Please input 5 values one at a time, not exceeding four 000245- "digits.". 000250 PERFORM TEST BEFORE 000260 VARYING COUNTER FROM 1 BY 1 UNTIL COUNTER > 5 000270 DISPLAY "Value(" COUNTER ")" " >> " WITH NO ADVANCING 000280 ACCEPT VAL(COUNTER) FROM CONSOLE 000290 END-PERFORM. 000300 DISPLAY "(" WITH NO ADVANCING. 000310 PERFORM TEST BEFORE 000320 VARYING COUNTER FROM 1 BY 1 UNTIL COUNTER > 5 000330 DISPLAY VAL(COUNTER) " " WITH NO ADVANCING 000340 END-PERFORM. 000350 DISPLAY ")". 000360 DISPLAY " ". 000370 DISPLAY "Please select the processing method.". 000380 DISPLAY "1: Process all.". 000390 DISPLAY "2: Ignore the first and last. >>" WITH NO ADVANCING. 000400 ACCEPT SELECT-SW. 000410*---------------------------------------------------------------------- 000420* The sum, average value, and median value are obtained. If all 000430* elements of a table are specified, the subscript ALL phrase can be 000435* substituted. 000440*---------------------------------------------------------------------- 000450 EVALUATE TRUE 000460 WHEN SW-ALL 000470 COMPUTE TOTAL = FUNCTION SUM (VAL(ALL)) 000480 COMPUTE MEAN = FUNCTION MEAN(VAL(ALL)) 000490 COMPUTE MEDIAN = FUNCTION MEDIAN(VAL(ALL)) 000500*---------------------------------------------------------------------- 000510* The sum, average value, and median value are obtained. 000520*---------------------------------------------------------------------- 000530 WHEN SW-PART 000540 COMPUTE TOTAL = FUNCTION SUM (VAL(2), VAL(3), VAL(4)) 000550 COMPUTE MEAN = FUNCTION MEAN(VAL(2), VAL(3), VAL(4)) 000560 COMPUTE MEDIAN = FUNCTION MEDIAN(VAL(2), VAL(3), VAL(4)) 000570*---------------------------------------------------------------------- 000580 WHEN OTHER 000590 DISPLAY "The selection is incorrect." 000600 EXIT PROGRAM 000610 END-EVALUATE. 000620 DISPLAY " ". 000630 DISPLAY "The total value is " TOTAL. 000640 DISPLAY "The average value is " MEAN. 000650 DISPLAY "The median value is " MEDIAN. 000660 END PROGRAM SAMPLE.