cobol基本动词

cobol基本动词

基本动词用于过程部中的数据处理。每个语句总是以cobol动词开头。

input(输入)/output(输出)

输入输出动词用于从用户获取数据。并显示cobol程序的输出。

accept

用于从操作系统或者用户获取数据,例如日期、时间等。如果程序从用户获取数据,需要通过jcl传递,从操作系统获取数据from选项如下:

accept yourname.
accept currdate from system-date.

display

用于显示cobol程序的输出。

例:

display yourname.
display '66666'.

initialize(初始化)

用来初始化组或基本项。数据名为rename的子句不能被初始化。
数字数据项由zeroes代替。
字母数据项或字母数字由spaces代替。
如果包含replacing语句,则数据项可被初始化为给定替换的值。

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.DATA DIVISION.WORKING-STORAGE SECTION.01 WS-NAME PIC A(30) VALUE 'ABCDEF'.01 WS-ID PIC 9(5).01 WS-ADDRESS. 05 WS-HOUSE-NUMBER PIC 9(3).05 WS-COUNTRY PIC X(15).05 WS-PINCODE PIC 9(6) VALUE 123456.PROCEDURE DIVISION.A000-FIRST-PARA.INITIALIZE WS-NAME, WS-ADDRESS.INITIALIZE WS-ID REPLACING NUMERIC DATA BY 12345.DISPLAY "My name is   : "WS-NAME.DISPLAY "My ID is     : "WS-ID.DISPLAY "Address      : "WS-ADDRESS.DISPLAY "House Number : "WS-HOUSE-NUMBER.DISPLAY "Country      : "WS-COUNTRY.DISPLAY "Pincode      : "WS-PINCODE.STOP RUN.

move(移动)

移动动词是用来将数据从源数据复制到目标数据的。
它可以用于基本和组数据项。
对于组数据项,使用MOVE CORRESPONDING/CORR。
在尝试其它选项的时候,MOVE CORR不工作;但是在大型机服务器上工作。
对于从字符串移动数据,则使用MOVE(x:l),其中x是起始位置,l是长度。
如果目标数据项PIC子句少于源数据项PIC子句,则数据将被截断。
如果目标数据项PIC子句多于源数据项PIC子句,则将添加额外的ZEROS或SAPCES字节。

例:

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.DATA DIVISION.WORKING-STORAGE SECTION.01 WS-NUM1 PIC 9(9).01 WS-NUM2 PIC 9(9).01 WS-NUM3 PIC 9(5).01 WS-NUM4 PIC 9(6).01 WS-ADDRESS. 05 WS-HOUSE-NUMBER PIC 9(3).05 WS-COUNTRY PIC X(5).05 WS-PINCODE PIC 9(6).01 WS-ADDRESS1. 05 WS-HOUSE-NUMBER1 PIC 9(3).05 WS-COUNTRY1 PIC X(5).05 WS-PINCODE1 PIC 9(6).PROCEDURE DIVISION.A000-FIRST-PARA.MOVE 123456789 TO WS-NUM1.MOVE WS-NUM1 TO WS-NUM2 WS-NUM3.MOVE WS-NUM1(3:6) TO WS-NUM4.MOVE 123 TO WS-HOUSE-NUMBER.MOVE 'INDIA' TO WS-COUNTRY.MOVE 112233 TO WS-PINCODE.MOVE WS-ADDRESS TO WS-ADDRESS1.DISPLAY "WS-NUM1     : " WS-NUM1DISPLAY "WS-NUM2     : " WS-NUM2DISPLAY "WS-NUM3     : " WS-NUM3DISPLAY "WS-NUM4     : " WS-NUM4DISPLAY "WS-ADDRESS  : " WS-ADDRESSDISPLAY "WS-ADDRESS1 : " WS-ADDRESS1STOP RUN.

合法移动

字母字母数字数字
字母可能可能不可能
字母数字可能可能可能
数字不可能可能可能

add(加法)

加法动词用于两个或多个数字相加,并将结果存储在目标运算对象中。

语法
以下为两个或多个数字相加的语法:

ADD A B TO C DADD A B C TO D GIVING EADD CORR WS-GROUP1 TO WS-GROUP2

在语法句1中,A,B,C相加,结果存储在C(C=A+B+C)。A,B,D相加,结果存储在D(D=A+B+D)。
在语法句2中,A,B,C,D相加,结果存储在E(E=A+B+C+D)。
在语法句3中,WS-GROUP1和WS-GROUP2中的子组项相加,结果存储在WS-GROUP2中。

例:

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.DATA DIVISION.WORKING-STORAGE SECTION.01 WS-NUM1 PIC 9(9) VALUE 10 .01 WS-NUM2 PIC 9(9) VALUE 10.01 WS-NUM3 PIC 9(9) VALUE 10.01 WS-NUM4 PIC 9(9) VALUE 10.01 WS-NUMA PIC 9(9) VALUE 10.01 WS-NUMB PIC 9(9) VALUE 10.01 WS-NUMC PIC 9(9) VALUE 10.01 WS-NUMD PIC 9(9) VALUE 10.01 WS-NUME PIC 9(9) VALUE 10.PROCEDURE DIVISION.ADD WS-NUM1 WS-NUM2 TO WS-NUM3 WS-NUM4.ADD WS-NUMA WS-NUMB WS-NUMC TO WS-NUMD GIVING WS-NUME.DISPLAY "WS-NUM1     : " WS-NUM1DISPLAY "WS-NUM2     : " WS-NUM2DISPLAY "WS-NUM3     : " WS-NUM3DISPLAY "WS-NUM4     : " WS-NUM4DISPLAY "WS-NUMA     : " WS-NUMADISPLAY "WS-NUMB     : " WS-NUMBDISPLAY "WS-NUMC     : " WS-NUMCDISPLAY "WS-NUMD     : " WS-NUMDDISPLAY "WS-NUME     : " WS-NUMESTOP RUN.

subtract(减法)

用于减法运算

语法

SUBTRACT A B FROM C DSUBTRACT A B C FROM D GIVING ESUBTRACT CORR WS-GROUP1 TO WS-GROUP2

在语法句1中,A和B相加并从C中减去,结果存储在C(C=C-(A+B))。A和B相加并从D中减去,结果存储在D(D=D-(A+B))。
在语法句2中,A,B,C相加并从D中减去,结果存储在E(E=D-(A+B+C))。
在语法句3中,WS-GROUP1和WS-GROUP2中的子组项相减,结果存储在WS-GROUP2中。

例:

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.DATA DIVISION.WORKING-STORAGE SECTION.01 WS-NUM1 PIC 9(9) VALUE 10 .01 WS-NUM2 PIC 9(9) VALUE 10.01 WS-NUM3 PIC 9(9) VALUE 100.01 WS-NUM4 PIC 9(9) VALUE 100.01 WS-NUMA PIC 9(9) VALUE 10.01 WS-NUMB PIC 9(9) VALUE 10.01 WS-NUMC PIC 9(9) VALUE 10.01 WS-NUMD PIC 9(9) VALUE 100.01 WS-NUME PIC 9(9) VALUE 10.PROCEDURE DIVISION.SUBTRACT WS-NUM1 WS-NUM2 FROM WS-NUM3 WS-NUM4.SUBTRACT WS-NUMA WS-NUMB WS-NUMC FROM WS-NUMD GIVING WS-NUME.DISPLAY "WS-NUM1     : " WS-NUM1DISPLAY "WS-NUM2     : " WS-NUM2DISPLAY "WS-NUM3     : " WS-NUM3DISPLAY "WS-NUM4     : " WS-NUM4DISPLAY "WS-NUMA     : " WS-NUMADISPLAY "WS-NUMB     : " WS-NUMBDISPLAY "WS-NUMC     : " WS-NUMCDISPLAY "WS-NUMD     : " WS-NUMDDISPLAY "WS-NUME     : " WS-NUMESTOP RUN.

multiply(乘法)

用于乘法运算

语法

MULTIPLY A BY B CMULTIPLY A BY B GIVING E

在语法句1中,A和B相乘,结果存储在B(B=AB)。A和C相乘,结果存储在C(C=AC)。
在语法句2中,A和B相乘,结果存储在E(E=A*B)。

例:

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.DATA DIVISION.WORKING-STORAGE SECTION.01 WS-NUM1 PIC 9(9) VALUE 10 .01 WS-NUM2 PIC 9(9) VALUE 10.01 WS-NUM3 PIC 9(9) VALUE 10.01 WS-NUMA PIC 9(9) VALUE 10.01 WS-NUMB PIC 9(9) VALUE 10.01 WS-NUMC PIC 9(9) VALUE 10.PROCEDURE DIVISION.MULTIPLY WS-NUM1 BY WS-NUM2 WS-NUM3.MULTIPLY WS-NUMA BY WS-NUMB GIVING WS-NUMC.DISPLAY "WS-NUM1     : " WS-NUM1DISPLAY "WS-NUM2     : " WS-NUM2DISPLAY "WS-NUM3     : " WS-NUM3DISPLAY "WS-NUMA     : " WS-NUMADISPLAY "WS-NUMB     : " WS-NUMBDISPLAY "WS-NUMC     : " WS-NUMCSTOP RUN.

divide(除法)

用于除法运算

语法

DIVIDE A INTO BDIVIDE A BY B GIVING C REMAINDER R

在语法句1中,B除以A,结果存储在B(B=B/A)。
在语法句2中,A除以B,结果存储在C(C=A/B),余数存储在R。

例:

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.DATA DIVISION.WORKING-STORAGE SECTION.01 WS-NUM1 PIC 9(9) VALUE 5.01 WS-NUM2 PIC 9(9) VALUE 250.01 WS-NUMA PIC 9(9) VALUE 100.01 WS-NUMB PIC 9(9) VALUE 15.01 WS-NUMC PIC 9(9).01 WS-REM PIC 9(9). PROCEDURE DIVISION.DIVIDE WS-NUM1 INTO WS-NUM2.DIVIDE WS-NUMA BY WS-NUMB GIVING WS-NUMC REMAINDER WS-REM.DISPLAY "WS-NUM1     : " WS-NUM1DISPLAY "WS-NUM2     : " WS-NUM2DISPLAY "WS-NUMA     : " WS-NUMADISPLAY "WS-NUMB     : " WS-NUMBDISPLAY "WS-NUMC     : " WS-NUMCDISPLAY "WS-REM      : " WS-REMSTOP RUN.

compute(计算)

用于在cobol中写入算术表达式,替代加减乘除。

例:

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.DATA DIVISION.WORKING-STORAGE SECTION.01 WS-NUM1 PIC 9(9) VALUE 10 .01 WS-NUM2 PIC 9(9) VALUE 10.01 WS-NUM3 PIC 9(9) VALUE 10.01 WS-NUMA PIC 9(9) VALUE 50.01 WS-NUMB PIC 9(9) VALUE 10.01 WS-NUMC PIC 9(9).PROCEDURE DIVISION.COMPUTE WS-NUMC= (WS-NUM1 * WS-NUM2) - (WS-NUMA / WS-NUMB) + WS-NUM3.DISPLAY "WS-NUM1     : " WS-NUM1DISPLAY "WS-NUM2     : " WS-NUM2DISPLAY "WS-NUM3     : " WS-NUM3DISPLAY "WS-NUMA     : " WS-NUMADISPLAY "WS-NUMB     : " WS-NUMBDISPLAY "WS-NUMC     : " WS-NUMCSTOP RUN.

注:本系列文章参考下面网站
参考地址

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/160649.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

langchain 部署组件-LangServe

原文:🦜️🏓 LangServe | 🦜️🔗 Langchain LangServe 🚩 We will be releasing a hosted version of LangServe for one-click deployments of LangChain applications. Sign up here to get on the wa…

OpenLayers入门,OpenLayers6的WebGLPointsLayer图层样式和运算符详解,四种symbolType类型案例

专栏目录: OpenLayers入门教程汇总目录 前言 本章讲解使用OpenLayers6的WebGL图层显示大量点情况下,列举出所有WebGLPointsLayer图层所支持的所有样式运算符大全。 补充说明 本篇主要介绍OpenLayers6.x版本的webgl图层,OpenLayers7.x和OpenLayers8.x主要更新内容就是webgl…

GB28181学习(十七)——基于jrtplib实现tcp被动和主动发流

前言 GB/T28181-2022实时流的传输方式介绍:https://blog.csdn.net/www_dong/article/details/134255185 基于jrtplib实现tcp被动和主动收流介绍:https://blog.csdn.net/www_dong/article/details/134451387 本文主要介绍下级平台或设备发流功能&#…

生活如果真能像队列一样的话

生活如果真能像队列一样,那该多好啊。 —————————————————————————————————————————— 背包,队列 可以先看他们的API:都含有一个无参构造函数,添加单个元素的方法,测试集合…

php项目从宝塔面板切换转到phpstudy小皮面板

宝塔面板转phpstudy面板 版本 宝塔面板8.0.1 phpstudy面板8.1.1.3 步骤 1、宝塔面板,找到项目文件夹,打包、下载到本地、解压 2、本地windows系统安装phpstudy面板,选择尽可能一样的配置 比如宝塔php7.4.33,可能phpstudy面板只有php7.4.3,也行 大环境一定要一致,比如…

力扣算法练习BM46—最小的K个数

题目 给定一个长度为 n 的可能有重复值的数组,找出其中不去重的最小的 k 个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4(任意顺序皆可)。 数据范围:0≤k,n≤10000,数组中每个数的大小0≤val≤1000 要…

linux signal 机制

ref: Linux操作系统学习笔记(十六)进程间通信之信号 | Ty-Chens Home https://www.cnblogs.com/renxinyuan/p/3867593.html 当执行kill -9 PID时系统发生了什么 -

Codeforces Round 910 (Div. 2) D. Absolute Beauty

D. Absolute Beauty 有两个长度为 n n n 的整数数组 a 1 , a 2 , … , a n a_1,a_2,\ldots,a_n a1​,a2​,…,an​ 和 b 1 , b 2 , … , b n b_1,b_2,\ldots,b_n b1​,b2​,…,bn​ 。他将数组 b b b 的美丽值定义为 ∑ i 1 n ∣ a i − b i ∣ . \sum_{i1}^{n} |a_i - b…

基于材料生成算法优化概率神经网络PNN的分类预测 - 附代码

基于材料生成算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于材料生成算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于材料生成优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神…

JDK命令使用总结

目录 javacjava javac 将源码(*.java)编译成字节码(*.class) javac HelloWorld.javajava 运行字节码(*.class) 不能加后缀名 java HelloWorld直接运行单文件源码(*.java) Java11以上才支持 java HelloWorld.java

ROSNS3(一)

https://github.com/malintha/rosns3 第一步:clone和构建rosns3客户端 第二步:运行 最详细的ubuntu 安装 docker教程 - 知乎 1. unable to find source space /home/muta/src 解决方法: 将副将将碰到的bug,解决方法_#include &…

【C++ Primer Plus学习记录】递增运算符(++)和递减运算符(--)

递增运算符()和递减运算符(--):前缀版本位于操作数前面,如x;后缀版本位于操作数后面,如x。两个版本对操作数的影响是一样的,但是影响的时间不同。这就像吃饭前买单和吃饭…

Python从零开始快速搭建一个语音对话机器人

文章目录 01-初心缘由02-准备工作03-语音机器人的搭建思路04-语音生成音频文件05-音频文件转文字STT06-与图灵机器人对话07-文字转语音08-语音对话机器人的完整代码09-结束语10-有问必答关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学…

SSH连接远程服务器报错:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED 解决方法

一.错误描述 报错信息里提示了路径信息/root/.ssh/known_hosts:20 二.解决方案 方法一 输入以下指令: ssh-keygen -R XXX(需要连接远程服务器的ip) 按照我的例子ip:10.165.7.136,会返回以下信息: 重新尝试连接: 输…

C++学习 --set

目录 1, 什么是set 2, 创建set 2-1, 标准数据类型 2-2, 自定义数据类型 2-3, 其他创建方式 3, 操作set 3-1, 赋值 3-2, 添加元素(insert) 3-2-1&…

MySQL的乐观锁和悲观锁

1、乐观锁: 乐观锁在操作数据的时候,是保持一种乐观的状态,认为别的线程是不会同时修改数据的,所以是不会上锁的,但是在更新的时候,会判断一下在这个期间内是否有别的线程修改过数据。 主要的流程&#x…

规划类3d全景线上云展馆帮助企业轻松拓展海外市场

科技3D线上云展馆作为一种基于VR虚拟现实和互联网技术的新一代展览平台。可以在线上虚拟空间中模拟真实的展馆,让观众无需亲自到场,即可获得沉浸式的参观体验。通过这个展馆,您可以充分、全面、立体展示您的产品、服务以及各种创意作品&#…

python运算符重载之成员关系和属性运算

1 python运算符重载之成员关系和属性运算 1.1 重载成员关系运算符 1.1.1 contains,iter,getitem python使用成员关系运算符in时, 按优先级调用方法:contains>iter>getitem; class MyIters:def __init__(self,value):self.datavalu…

2023年【安全生产监管人员】考试题及安全生产监管人员找解析

题库来源:安全生产模拟考试一点通公众号小程序 安全生产监管人员考试题参考答案及安全生产监管人员考试试题解析是安全生产模拟考试一点通题库老师及安全生产监管人员操作证已考过的学员汇总,相对有效帮助安全生产监管人员找解析学员顺利通过考试。 1、…