• cobol数据类型


    数据类型

    数据部(data division)是用来描述程序中使用的变量的。

    • data name 数据名称

    数据名称必须在数据部中定义,才能在过程部中使用。必须有一个用户自定义的名称,不能使用关键字,为存储实际数据的存储单元提供引用。可以是基本类型或组类型。

    • level number 级数

    级数是用于指定记录中的数据级别。它们用于区分基本项和组项。基本项可以组合在一起创建组项。
    01 记录描述条目
    02至49 组项和基本项
    66 重命子句项
    77 不能被细分项
    88 条件名称条目

    Elementary items基本项目 不能进一步细分。级数,数据名称,图片子句和值子句(可选)用于描述基本项。
    Group items组项目 由一个或多个基本项组成。级数,数据名称和值子句(可选)用于描述组项。组级数始终为01。

    DATA DIVISION.
    WORKING-STORAGE SECTION.
    01 NAME    PIC X(25).                               ---> 基本项 
    01 AGE   PIC 9(2)  VALUE  '10'.                   ---> 基本项
    
    01 ADDRESS.                                         ---> 组项目   
       05 HOUSE-NUMBER    PIC 9(3).                     ---> 基本项
       05 STREET          PIC X(15).                    ---> 基本项
       05 CITY            PIC X(15).                    ---> 基本项
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • picture clause 图片子句

    图片子句用于定义以下项目:
    数据类型:可以是数字,字母或字母数字。数字类型仅由数字0到9组成。字母类型由字母A到Z和空格组成。字母数字类型由数字,字母和特殊字符组成。
    符号:可以与数字数据一起使用。它可以是+或-。
    小数点位置:可与数字数据一起使用。假设位置是小数点的位置,而不包括在数据中。
    长度:定义数据项使用的字节数。

    在图片子句中使用的符号:

    符号描述
    9数字
    A字母
    X字母数字
    V隐式小数
    S符号
    P假定小数
    例:
    IDENTIFICATION DIVISION.
    PROGRAM-ID. HELLO.
    
    DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 NUM1 PIC S9(3)V9(2).
       01 NUM2 PIC PPP999.
       01 NUM3 PIC S9(3)V9(2) VALUE -1223.45.
       01 NAME PIC A(6) VALUE 'ABCDEF'.
       01 ID PIC X(5) VALUE 'A121$'.
    
    PROCEDURE DIVISION.
       DISPLAY "NUM1 : "WS-NUM1.
       DISPLAY "NUM2 : "WS-NUM2.
       DISPLAY "NUM3 : "WS-NUM3.
       DISPLAY "NAME : "WS-NAME.
       DISPLAY "ID : "WS-ID.
    STOP RUN.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • value clause 值子句

    值子句是一个可选子句,用于初始化数据项。该值可以是数字文字,字母数字文字,或象征常数。它可以与组项和基本项一起使用。

    IDENTIFICATION DIVISION.
    PROGRAM-ID. HELLO.
    
    DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 WS-NUM1 PIC 99V9 VALUE IS 3.5.
       01 WS-NAME PIC A(6) VALUE 'ABCD'.
       01 WS-ID PIC 99 VALUE ZERO.
    
    PROCEDURE DIVISION.
       DISPLAY "WS-NUM1 : "WS-NUM1.
       DISPLAY "WS-NAME : "WS-NAME.
       DISPLAY "WS-ID   : "WS-ID.
    STOP RUN.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    例如:

    01       permun        PIC 9(5)  VALUE '666'.
    
    • 1
    • 01 指得是级数
    • pernum 指的是数据名称
    • PIC 9(5) 指的是图片子句
    • VALUE ‘666’ 指的是值子句
  • 相关阅读:
    GaussDB技术解读——GaussDB架构介绍(五)
    django连接pgsql migrate makemigrations
    动态内存与智能指针
    游戏动画技术简介
    数商云:供应商多场景趋势下,服装企业如何打造灵活应用的SRM管理体系?
    被误解的Event Sourcing
    Win11系统设置闪退的解决方案
    基于openEuler虚拟机远端执行mugen测试脚本
    Java相关面试题9:实现动画效果
    Go 语言 设计模式-工厂模式
  • 原文地址:https://blog.csdn.net/javaXiaoAnRan/article/details/134520493