模块课程(1/2)
组项目和记录
在 COBOL 中,基本变量可以组合在一起形成称为“组项”或“记录”的分层结构。这允许您将一组相关数据视为单个实体(例如,复制或显示它们)或单个字段。
级别编号和层级关系
要定义记录,请在 DATA DIVISION 中使用 级别编号:
- 级别
01:定义主记录(组名称)。它没有自己的PICTURE子句,因为它的大小由其内部字段的总和决定。 - 从属级别(
05、10、15等):标识属于较高级别组的从属字段。它们可以是基本变量(带有PIC子句),也可以是其他组项(子记录)。
01 WS-EMPLOYEE-RECORD.
05 WS-EMP-ID PIC 9(5).
05 WS-EMP-NAME PIC X(20).
05 WS-EMP-SALARY PIC 9(6)V99.在此示例中,WS-EMPLOYEE-RECORD 是一个包含三个从属字段的组结构。如果我们引用 WS-EMPLOYEE-RECORD,我们会一次读取或写入记录的所有 5 + 20 + 8 = 33 个字符。
MOVE 语句和组项目
我们可以为各个基本字段赋值:
MOVE 10023 TO WS-EMP-ID.
MOVE "JOHN DOE" TO WS-EMP-NAME.或者我们可以通过一次操作将整个记录复制到另一个兼容的记录中:
MOVE WS-EMPLOYEE-RECORD TO WS-EMPLOYEE-BACKUP.自己尝试一下
声明一个名为 WS-STUDENT-RECORD 的组结构 01,其中包含 05 级的三个子字段:WS-STUDENT-ID(5 位数字)、WS-STUDENT-NAME(15 个字符的字母数字)和 WS-STUDENT-GPA(1 位整数和 2 位小数的数字)。
显示提示
使用语法:01 WS-STUDENT-RECORD。 (有句点,没有 PIC),接下来的行是级别 05 WS-STUDENT-ID PIC 9(5)., 05 WS-STUDENT-NAME PIC X(15)。和 05 WS-学生-GPA PIC 9(1)V99。
3 次尝试后可用的解决方案
通过将值 10023 移入 WS-EMP-ID、将文本“JOHN DOE”移入 WS-EMP-NAME 来完成 PROCEDURE DIVISION,最后使用 DISPLAY 显示组结构 WS-EMPLOYEE-RECORD。
显示提示
使用 MOVE 10023 到 WS-EMP-ID。并将“JOHN DOE”移至 WS-EMP-NAME。分配值,然后写入 DISPLAY WS-EMPLOYEE-RECORD。最后停止运行。
3 次尝试后可用的解决方案