代码功能:
输入一个字母,输出相匹配的单词。
通过对定义好的数据进行重定义,对每个单词进行分割成第一个字母和后面的9个字母,使用循环进行匹配。
代码如下:
000010 IDENTIFICATION DIVISION.
000020 PROGRAM-ID. SAMPLE01-2.
000030 DATA DIVISION.
000040 WORKING-STORAGE SECTION.
000050 01 WORD-VALUES.
000060 03 PIC X(10) VALUE 'apple'.
000070 03 PIC X(10) VALUE 'black'.
000080 03 PIC X(10) VALUE 'cobol85'.
000090 03 PIC X(10) VALUE 'dog'.
000100 03 PIC X(10) VALUE 'eye'.
000110 03 PIC X(10) VALUE 'fault'.
000120 03 PIC X(10) VALUE 'good'.
000130 03 PIC X(10) VALUE 'head'.
000140 03 PIC X(10) VALUE 'idea'.
000150 03 PIC X(10) VALUE 'junior'.
000160 03 PIC X(10) VALUE 'king'.
000170 03 PIC X(10) VALUE 'love'.
000180 03 PIC X(10) VALUE 'medium'.
000190 03 PIC X(10) VALUE 'node'.
000200 03 PIC X(10) VALUE 'open'.
000210 03 PIC X(10) VALUE 'pig'.
000220 03 PIC X(10) VALUE 'quite'.
000230 03 PIC X(10) VALUE 'result'.
000240 03 PIC X(10) VALUE 'success'.
000250 03 PIC X(10) VALUE 'teacher'.
000260 03 PIC X(10) VALUE 'understand'.
000270 03 PIC X(10) VALUE 'version'.
000280 03 PIC X(10) VALUE 'world'.
000290 03 PIC X(10) VALUE 'xylophone'.
000300 03 PIC X(10) VALUE 'yes'.
000310 03 PIC X(10) VALUE 'zoo'.
000320 03 PIC X(10) VALUE '**error**'.
000330 01 WORD-TABLE REDEFINES WORD-VALUES.
000340 03 WORD-ITEM OCCURS 27 TIMES.
000350 05 FIRST-CHARACTER PIC X.
000360 05 PIC X(9).
000370 01 WORD-INDEX PIC 9(3).
000380 01 INPUT-CHARACTER PIC X.
000390 01 REQUEST-MESSAGE PIC X(42)
000400 VALUE 'ENTER ONE CHARACTER OF ALPHABETIC-LOWER.=>'.
000410 PROCEDURE DIVISION.
000411 DATA-INPUT SECTION.
000412 DISPLAY REQUEST-MESSAGE WITH NO ADVANCING.
000413 ACCEPT INPUT-CHARACTER.
000414 SEARCH-WORD SECTION.
000415 PERFORM TEST BEFORE
000416 VARYING WORD-INDEX FROM 1 BY 1
000417 UNTIL WORD-INDEX > 26
000418 IF INPUT-CHARACTER = FIRST-CHARACTER (WORD-INDEX)
000419 THEN
000420 EXIT PERFORM
000421 ELSE
000422 CONTINUE
000423 END-IF
000424 END-PERFORM.
000425 WORD-OUTPUT SECTION.
000426 DISPLAY WORD-ITEM (WORD-INDEX).
000427 EXIT PROGRAM.
000428 END PROGRAM SAMPLE01-2.
PERFORM 循环语句,对单词进行循环查找,如果找到和输入字母和里面定义好的相匹配的单词的第一个字母,就输出下标对应的单词,在cobol中下标从1开始