温馨提示×

cobol中的search语句怎么使用

小亿
244
2023-10-13 19:38:03
栏目: 编程语言

在COBOL中,SEARCH语句用于在一个有序表中查找特定的数据项。

SEARCH语句的一般语法如下:

SEARCH <table> AT END <end-statement>
WHEN <condition-1>
<perform-statement-1>
WHEN <condition-2>
<perform-statement-2>
...
WHEN <condition-n>
<perform-statement-n>
END-SEARCH

其中,<table>是需要查找的有序表,可以是一个数组或一个带有索引的表。<end-statement>是当查找到达表尾时执行的语句,可以是任意合法的COBOL语句。

<condition-1>, <condition-2>, …, <condition-n>是用来指定搜索条件的条件语句。每个条件语句后面都跟着一个相应的<perform-statement>,用于指定在满足该条件时需要执行的语句。在执行时,SEARCH语句会按照条件的顺序依次检查每个条件,直到找到匹配的条件为止。

以下是一个使用SEARCH语句的示例:

01 Names-Table.
05 Name OCCURS 10 TIMES.
10 Name-Value PIC X(20).
01 Search-Name PIC X(20).
PROCEDURE DIVISION.
PERFORM INITIALIZATION.
PERFORM SEARCH-NAME.
INITIALIZATION.
MOVE "John" TO Name-Value(1)
MOVE "Mary" TO Name-Value(2)
MOVE "David" TO Name-Value(3)
...
MOVE "Alice" TO Name-Value(10).
SEARCH-NAME.
MOVE "John" TO Search-Name.
SEARCH Names-Table
AT END DISPLAY "Name not found."
WHEN Name-Value(I) = Search-Name
DISPLAY "Name found at index " I
EXIT.

在上面的示例中,我们定义了一个名为Names-Table的有序表,并初始化了其中的数据项。然后,我们使用SEARCH语句来在Names-Table中搜索名为"John"的数据项。在搜索过程中,我们使用了一个条件WHEN Name-Value(I) = Search-Name来指定搜索条件,当找到匹配的数据项时,显示相应的信息并退出搜索。

请注意,Name-Value(I)中的I是一个控制变量,用于在搜索过程中逐个检查每个数据项。在实际使用时,您需要根据具体情况来定义和使用相应的有序表和条件语句。

0