IDENTIFICATION DIVISION. PROGRAM-ID. LINEAR. ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 01 TREE-TABLE. 05 FILLER PIC X(9) VALUE "02OAK ". 05 FILLER PIC X(9) VALUE "03BIRCH ". 05 FILLER PIC X(9) VALUE "04MAPLE ". 05 FILLER PIC X(9) VALUE "07PINE ". 05 FILLER PIC X(9) VALUE "10APPLE ". 05 FILLER PIC X(9) VALUE "12SPRUCE ". 05 FILLER PIC X(9) VALUE "15CHERRY ". 05 FILLER PIC X(9) VALUE "17WILLOW ". 05 FILLER PIC X(9) VALUE "24ELM ". 05 FILLER PIC X(9) VALUE "25PEACH ". 05 FILLER PIC X(9) VALUE "27DOGWOOD". 05 FILLER PIC X(9) VALUE "28HEMLOCK". 01 RDF-TREE-TABLE REDEFINES TREE-TABLE. 05 ELEMZ OCCURS 12 TIMES. 10 TREE-NO PIC 99. 10 TREE-NAME PIC X(7). 01 INPUT-FIELDS. 05 INPUT-TREE PIC 99. 01 SUBSCRIPTS. 05 SUBZ PIC 99 VALUE 1. 01 INDICATORS. 05 MATCH-IND PIC XXX VALUE "NO ". 01 MISC. 05 JUNK PIC X VALUE SPACES. PROCEDURE DIVISION. MAINLINE. PERFORM B-100-PROCESS. STOP RUN. B-100-PROCESS. DISPLAY "ENTER TREE NUMBER" ACCEPT INPUT-TREE. PERFORM B-200-LOOP UNTIL INPUT-TREE = 99. B-200-LOOP. MOVE 1 TO SUBZ. MOVE SPACES TO MATCH-IND. PERFORM B-300-BINARY-SEARCH UNTIL MATCH-IND = "YES" OR SUBZ > 12. IF MATCH-IND = "YES" DISPLAY "TREE FOUND " TREE-NAME(SUBZ) ACCEPT JUNK ELSE DISPLAY "TREE NOT FOUND" ACCEPT JUNK. DISPLAY "ENTER TREE NUMBER - ENTER 99 TO QUIT". ACCEPT INPUT-TREE. B-300-BINARY-SEARCH. IF TREE-NO (SUBZ) = INPUT-TREE MOVE "YES" TO MATCH-IND ELSE ADD 1 TO SUBZ END-IF.