在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Java/ COBOL基本動詞
COBOL循環(huán)語句
COBOL數(shù)據(jù)布局
COBOL基本語法
COBOL條件語句
COBOL程序結(jié)構(gòu)
COBOL環(huán)境安裝
COBOL數(shù)據(jù)類型
COBOL教程
COBOL字符串處理
COBOL基本動詞

COBOL基本動詞

COBOL動詞用在程序劃分進行數(shù)據(jù)處理。聲明總是以一個COBOL動詞。有幾種COBOL動詞使用不同類型,如下面的操作:

輸入/輸出動詞

輸入和輸出動詞用于從用戶獲取數(shù)據(jù)并顯示COBOL程序的輸出。下面兩個動詞用于此進程:

接受動詞

從操作系統(tǒng)接受動詞,比如日期,從用戶的時間和日期,或直接獲取數(shù)據(jù)。如果程序從用戶接收數(shù)據(jù),然后它需要通過JCL通過。同時由操作系統(tǒng)獲得,然后數(shù)據(jù)選項包括如圖下面的例子:

ACCEPT WS-STUDENT-NAME.
ACCEPT WS-DATE FROM SYSTEM-DATE.

顯示動詞

顯示動詞是用來顯示COBOL程序的輸出。

DISPLAY WS-STUDENT-NAME.
DISPLAY "System date is : " WS-DATE.

COBOL程序

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-STUDENT-NAME PIC X(25).
01 WS-DATE PIC X(10).
PROCEDURE DIVISION.
ACCEPT WS-STUDENT_NAME.
ACCEPT WS-DATE FROM DATE.
DISPLAY "Name :  " WS-STUDENT_NAME.
DISPLAY "Date : " WS-DATE.
STOP RUN.

JCL以上COBOL程序執(zhí)行。

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO
//INPUT DD DSN=PROGRAM.DIRECTORY,DISP=SHR
//SYSIN DD *
YiiBai
/*

當編譯并執(zhí)行上面的程序它會產(chǎn)生以下結(jié)果:

Name : YiiBai
Date : 2014-08-30

初始化動詞

初始化動詞被用來初始化組項目或基本事項。用RENAME子句中的數(shù)據(jù)名稱不能被初始化。數(shù)值數(shù)據(jù)項都受到ZEROES取代。字母數(shù)字或字母數(shù)據(jù)項之間用SPACES代替。如果包括REPLACING期限后的數(shù)據(jù)項可以被初始化,如圖下面的例子給出的替換值:

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.

JCL以上COBOL程序執(zhí)行。

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

當編譯并執(zhí)行上面的程序它會產(chǎn)生以下結(jié)果:

My name is   :                               
My ID is     : 12345
Address      : 000               000000
House Number : 000
Country      :                
Pincode      : 000000

移動動詞

移動動詞被用來從源數(shù)據(jù)的數(shù)據(jù)復制到目標數(shù)據(jù)。它可用于在兩個初級和組數(shù)據(jù)項。對于組數(shù)據(jù)項對應MOVE/ CORR使用。在嘗試,選擇MOVE CORR無法正常工作,但主機服務器上它會工作。用于從一個字符串移動數(shù)據(jù)MOVE(x:l)用于其中x是起始位置和l是長度。如果目標數(shù)據(jù)項的PIC子句小于源數(shù)據(jù)項的PIC子句中的數(shù)據(jù)將被截斷。此外,如果目標數(shù)據(jù)項的PIC子句多于源數(shù)據(jù)項的PIC子句則零或空間將額外的字節(jié)增加。這將是通過查看下面的例子更清楚:

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-NUM1
DISPLAY "WS-NUM2     : " WS-NUM2
DISPLAY "WS-NUM3     : " WS-NUM3
DISPLAY "WS-NUM4     : " WS-NUM4
DISPLAY "WS-ADDRESS  : " WS-ADDRESS
DISPLAY "WS-ADDRESS1 : " WS-ADDRESS1
STOP RUN.

JCL以上COBOL程序執(zhí)行。

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

當編譯并執(zhí)行上面的程序它會產(chǎn)生以下結(jié)果:

WS-NUM1     : 123456789
WS-NUM2     : 123456789
WS-NUM3     : 56789
WS-NUM4     : 345678
WS-ADDRESS  : 123INDIA112233
WS-ADDRESS1 : 123INDIA112233

合法移動

下表給出了關于合法的移動信息:

  字母 字母數(shù)字 數(shù)字
字母 Possible Possible Not Possible
字母數(shù)字 Possible Possible Possible
數(shù)字 Not Possible Possible Possible

添加動詞

添加動詞是用來將兩個或多個數(shù)字和結(jié)果存儲在目標操作數(shù)。以下是其中可以使用的語法:

語法

以下是語法來將兩個或多個數(shù)字:

ADD A B TO C D

ADD A B C TO D GIVING E

ADD CORR WS-GROUP1 TO WS-GROUP2

在語法-1,A,B,C添加和結(jié)果存儲在C(C = A+ B + C)。 A,B,D補充和結(jié)果保存在D(D = A + B+ D)。

在語法2中,A,B,C,D添加和結(jié)果存儲在E(E = A + B + C + D)

在語法3,附屬小組項目中WS-Group1和WS_GROUP2相加,結(jié)果存儲在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-NUM1
DISPLAY "WS-NUM2     : " WS-NUM2
DISPLAY "WS-NUM3     : " WS-NUM3
DISPLAY "WS-NUM4     : " WS-NUM4
DISPLAY "WS-NUMA     : " WS-NUMA
DISPLAY "WS-NUMB     : " WS-NUMB
DISPLAY "WS-NUMC     : " WS-NUMC
DISPLAY "WS-NUMD     : " WS-NUMD
DISPLAY "WS-NUME     : " WS-NUME
STOP RUN.

JCL以上COBOL程序執(zhí)行。

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

當編譯并執(zhí)行上面的程序它會產(chǎn)生以下結(jié)果:

WS-NUM1     : 000000010
WS-NUM2     : 000000010
WS-NUM3     : 000000030
WS-NUM4     : 000000030
WS-NUMA     : 000000010
WS-NUMB     : 000000010
WS-NUMC     : 000000010
WS-NUMD     : 000000010
WS-NUME     : 000000040

減法動詞

減法動詞用于減法運算。以下是其中可以使用的語法:

語法

以下是語法減法運算:

SUBTRACT A B FROM C D

SUBTRACT A B C FROM D GIVING E

SUBTRACT CORR WS-GROUP1 TO WS-GROUP2

在語法-1,A,B相加,并從C結(jié)果中減去存儲在C(C = C-(A + B))。 A,B被添加,并從D.結(jié)果減去存放在D(D = D-(A + B))。

在語法-2,A,B,C添加,并從D結(jié)果中減去存儲在E(E = D-(A + B+ C))

在語法3,附屬小組項目,在WS-Group1和WS_GROUP2被減去結(jié)果存儲在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-NUM1
DISPLAY "WS-NUM2     : " WS-NUM2
DISPLAY "WS-NUM3     : " WS-NUM3
DISPLAY "WS-NUM4     : " WS-NUM4
DISPLAY "WS-NUMA     : " WS-NUMA
DISPLAY "WS-NUMB     : " WS-NUMB
DISPLAY "WS-NUMC     : " WS-NUMC
DISPLAY "WS-NUMD     : " WS-NUMD
DISPLAY "WS-NUME     : " WS-NUME
STOP RUN.

JCL以上COBOL程序執(zhí)行。

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

當編譯并執(zhí)行上面的程序它會產(chǎn)生以下結(jié)果:

WS-NUM1     : 000000010
WS-NUM2     : 000000010
WS-NUM3     : 000000080
WS-NUM4     : 000000080
WS-NUMA     : 000000010
WS-NUMB     : 000000010
WS-NUMC     : 000000010
WS-NUMD     : 000000100
WS-NUME     : 000000070

乘法動詞

乘法動詞用于乘法運算。以下是其中可以使用的語法:

語法

以下是語法來將兩個或多個數(shù)字相乘:

MULTIPLY A BY B C

MULTIPLY A BY B GIVING E

在語法-1,相乘A,B和存儲結(jié)果B(B = A * B)。相乘由C和存儲結(jié)果C(C = A* C)。

在語法2,相乘A,B和存儲結(jié)果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-NUM1
DISPLAY "WS-NUM2     : " WS-NUM2
DISPLAY "WS-NUM3     : " WS-NUM3
DISPLAY "WS-NUMA     : " WS-NUMA
DISPLAY "WS-NUMB     : " WS-NUMB
DISPLAY "WS-NUMC     : " WS-NUMC
STOP RUN.

JCL以上COBOL程序執(zhí)行。

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

當編譯并執(zhí)行上面的程序它會產(chǎn)生以下結(jié)果:

WS-NUM1     : 000000010
WS-NUM2     : 000000100
WS-NUM3     : 000000100
WS-NUMA     : 000000010
WS-NUMB     : 000000010
WS-NUMC     : 000000100

除法動詞

除以動詞用于除法運算。以下是其中可以使用的語法:

語法

以下是除法運算的語法:

DIVIDE A INTO B

DIVIDE A BY B GIVING C REMAINDER R

在語法-1,B除以A和結(jié)果存儲在B(B= B / A)。

在語法-2,A除以B和結(jié)果除以存放在C(C = A/ B)和余數(shù)被存儲在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-NUM1
DISPLAY "WS-NUM2     : " WS-NUM2
DISPLAY "WS-NUMA     : " WS-NUMA
DISPLAY "WS-NUMB     : " WS-NUMB
DISPLAY "WS-NUMC     : " WS-NUMC
DISPLAY "WS-REM      : " WS-REM
STOP RUN.

JCL以上COBOL程序執(zhí)行。

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

當編譯并執(zhí)行上面的程序它會產(chǎn)生以下結(jié)果:

WS-NUM1     : 000000005
WS-NUM2     : 000000050
WS-NUMA     : 000000100
WS-NUMB     : 000000015
WS-NUMC     : 000000006
WS-REM      : 000000010

計算表

計算語句用來寫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-NUM1
DISPLAY "WS-NUM2     : " WS-NUM2
DISPLAY "WS-NUM3     : " WS-NUM3
DISPLAY "WS-NUMA     : " WS-NUMA
DISPLAY "WS-NUMB     : " WS-NUMB
DISPLAY "WS-NUMC     : " WS-NUMC
STOP RUN.

JCL以上COBOL程序執(zhí)行。

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

當編譯并執(zhí)行上面的程序它會產(chǎn)生以下結(jié)果:

WS-NUM1     : 000000010
WS-NUM2     : 000000010
WS-NUM3     : 000000010
WS-NUMA     : 000000050
WS-NUMB     : 000000010
WS-NUMC     : 000000105