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.pswp.cn/news/160649.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/160649.shtml
英文地址,請注明出處:http://en.pswp.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、…