*PROGRAM TO FIND OUT AVERAGE AND HIGHEST FROM AN ARRAY. IDENTIFICATION DIVISION. PROGRAM-ID. AVHI. AUTHOR. KRISHNA KUMAR KHATRI. DATE-WRITTEN. 24TH MAY, 2003. ENVIRONMENT DIVISION. CONFIGURATION SECTION. DATA DIVISION. WORKING-STORAGE SECTION. 01 ARR-GRP. 02 ARR OCCURS 20 TIMES PIC S99. 01 N PIC 99 USAGE COMPUTATIONAL. 01 INDX PIC 99 VALUE 1 USAGE COMPUTATIONAL. 01 TTL PIC 9999 VALUE ZERO USAGE COMPUTATIONAL. 01 AVG PIC 999V99 VALUE ZERO USAGE COMPUTATIONAL. 01 FORMATTED-AVG PIC ZZ9.99 BLANK WHEN ZERO. 01 HGST PIC 99 VALUE ZERO USAGE COMPUTATIONAL. PROCEDURE DIVISION. MAIN-LOGIC. DISPLAY "PROGRAM TO FIND OUT AVERAGE AND HIGHEST FROM A LIST". DISPLAY " ". DISPLAY "HOW MANY NUMBERS WILL YOU ENTER". ACCEPT N. PERFORM READ-DATA-COMP UNTIL INDX IS GREATER THAN N. DIVIDE TTL BY N GIVING AVG. MOVE AVG TO FORMATTED-AVG. DISPLAY " ". DISPLAY "THE HIGHEST NUMBER FROM LIST IS". DISPLAY HGST. DISPLAY "THE AVERAGE OF THE LIST IS". DISPLAY FORMATTED-AVG. STOP RUN. READ-DATA-COMP. DISPLAY "ENTER THE NUMBER". ACCEPT ARR(INDX). IF INDX IS EQUAL TO 1 MOVE ARR(INDX) TO HGST. IF ARR(INDX) IS GREATER THAN HGST MOVE ARR(INDX) TO HGST. ADD ARR(INDX), TTL GIVING TTL. ADD 1, INDX GIVING INDX. DISPLAY " ".