精品課程第4章過程部初步cobol常用語句_第1頁
精品課程第4章過程部初步cobol常用語句_第2頁
精品課程第4章過程部初步cobol常用語句_第3頁
精品課程第4章過程部初步cobol常用語句_第4頁
精品課程第4章過程部初步cobol常用語句_第5頁
已閱讀5頁,還剩66頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、大型主機(jī)系統(tǒng)應(yīng)用開發(fā)基礎(chǔ)教育部IBM精品課程:大連理工大學(xué)作者:,DUT1第四章 過程部初步過程部簡介常用語句四則運(yùn)算邏輯控制DUT2過程部DUT過程部是COBOL程序的部分,他決定計(jì)算機(jī)應(yīng)做什么操作。過程部具有以下特點(diǎn):過程部的語句都以一個(gè)動(dòng)詞開始,如MOVE,OPEN,READ,WRITE等。它表示計(jì)算機(jī)應(yīng)執(zhí)行的操作語句中的動(dòng)詞后面一般要跟以一個(gè)操作的對象,操作對象可以是數(shù)據(jù)名或文件名過程部的語句一律從B區(qū)開始書寫,一個(gè)語句可以在一行或多行上DUT段(Paragraphs)過程部分為若干段;每一個(gè)段完成特定的功能,使得程序結(jié)構(gòu)清晰;段包含完成特定功能的一系列指令;必須在A去開始,以.結(jié)束;

2、可以全是數(shù)字,如:1010,1020每個(gè)段的最后一個(gè)語句以.結(jié)束。過程部常用的語句DUT常用語句:語句描述ACCEPT從終端接受一個(gè)數(shù)據(jù)DISPLAY向指定的輸出設(shè)備上輸出信息OPEN打開指定的文件READ從指定的文件中讀入一條WRITE向指定的文件中寫入一條CLOSE關(guān)閉指定的文件PERFORMMOVE語句DUTMOVE語句相當(dāng)于賦值語句,可以將常量或一個(gè)數(shù)據(jù)項(xiàng)的內(nèi)容傳送到另一數(shù)據(jù)項(xiàng),例如:MOVE MOVE MOVEMOVEIBM10TO ZEROTOCOMPANYCOUNTTO BLFIELDV1 TO V2MOVE語句DUT如果A和B的數(shù)據(jù)類型及長度相同,則按字節(jié)相對應(yīng)傳送如果A和B都

3、是數(shù)值型,但長度不同,則按小數(shù)點(diǎn)對齊原則傳送;如A比B長,則產(chǎn)生截?cái)?;如B比A長,則多余位補(bǔ)零如果A和B的長度相同,且二者都是非數(shù)值型,則按左側(cè)對齊原則;如A比B長,則從右端截?cái)?;如B比A長,則多余位補(bǔ)空格。A和B可以是初等項(xiàng),也可以是組合項(xiàng),或者兩者混合,同樣遵守以上原則MOVE語句DUTMOVE語句DUTMOVE語句DUTMOVE語句DUTMOVE語句的傳送DUT不同類型數(shù)據(jù)間數(shù)值編輯項(xiàng),字符編輯項(xiàng),SPACE,字母型數(shù)據(jù)項(xiàng)不能傳送給數(shù)值型和數(shù)值編輯型數(shù)據(jù)項(xiàng)數(shù)值常量,ZERO,數(shù)值數(shù)據(jù)項(xiàng),數(shù)值編輯項(xiàng)不能傳送給字母數(shù)據(jù)項(xiàng)非整數(shù)的數(shù)值數(shù)據(jù)項(xiàng)或非整數(shù)的數(shù)值常量不能傳送給字符型或字符編輯型數(shù)據(jù)項(xiàng),

4、如:77 A PIC99V99 X(4) TO B77BPIC/錯(cuò)誤/正確MOVE AMOVE 1000 TO BMOVE語句DUT不同類型數(shù)據(jù)間合法的傳送a. 接收項(xiàng)為字符或字符編輯型,發(fā)送項(xiàng)長于接收項(xiàng),按左側(cè)對齊原則77 A PIC77 B PIC9(5)X(4)/正確MOVEATOB若發(fā)送項(xiàng)的描述符帶符號,符號不予傳送77 A PIC S99 VALUE -1277 B PIC X(3)/B=12空格MOVEATOBb. 接收項(xiàng)是數(shù)值或數(shù)值編輯型,可以接收數(shù)值型以及內(nèi)容全是數(shù)字的字符型數(shù)據(jù)項(xiàng)c. 接收項(xiàng)是字母型,可以接收字母型以及內(nèi)容全是字母和空格的字符型數(shù)據(jù)項(xiàng)MOVE語句最常見的傳送類

5、型同類型數(shù)據(jù)間傳送數(shù)值型向數(shù)值編輯型的傳送,便于輸出各類型數(shù)據(jù)項(xiàng)(不包括非整型)向字符型數(shù)據(jù)項(xiàng)的傳送DUTMOVE語句DUT發(fā)送項(xiàng)和接收項(xiàng)都是組合項(xiàng),而且結(jié)構(gòu)和描述均相同,則可以看作將各個(gè)初等項(xiàng)一一對應(yīng)傳送01 A.02020201 B.020202A1 A2 A3PIC PIC PICX(3)9(2)V9A(3)VALUE A07. VALUE 12.3.VALUE CDE.B1 B2 B3PIC PIC PICX(3).9(2)V9.A(3).MOVEA TO B/B1=A07 B2=123B3=CDEMOVE語句DUT發(fā)送項(xiàng)和接收項(xiàng)長度相同,但數(shù)據(jù)結(jié)構(gòu)形式不同,則將發(fā)送項(xiàng)的內(nèi)容原樣不動(dòng)地

6、自左而右順序地傳送到接收項(xiàng)01A.020202B.0202A1 A2A3PIC PICPICX(3) VALUE A07. 9(2)V9 VALUE 12.3.A(3) VALUE CDE.01B1 B2. 0303B3PICX(2).B21B22 PICPICPICX(2).X(3).02MOVEA(2).A TO B/B1=A0B21=71B22=23C B3=DEMOVE語句DUT組合項(xiàng)作為一個(gè)整體,不是數(shù)值型的,一般情況下可以當(dāng)作字符型01 A.020202A1 A2 A3PIC PIC PIC999999VALUE VALUE VALUE12.34.56./正確/正確/錯(cuò)誤ADD1T

7、OA1SUBTRACT A2FROM A3MULTIPLY10BYAMOVE語句數(shù)據(jù)名的受限和受限名的傳送DUT01TODAY-DATE.030303YEARMONTH DAYPICPIC PIC9(4).99.99.01LAST-DATE.030303MOVE MOVEYEAR MONTHDAYPIC PICPIC9(4).99.99.20082008TOTOYEAR?YEAR OF TODAY-DATEMOVE語句如果限定一次還不能成為唯一,可以多次使用限定符DUT01TODAY-DATE.02 A.030303YEAR PIC 9(4).MONTHPIC 99.DAY PIC99.01L

8、AST-DATE.02 A.030303YEAR PIC 9(4).MONTHPIC 99.DAY PIC99.MOVE 2008 TOYEAR OF A OF TODAY-DATEMOVE語句DUTCOBOL提供對應(yīng)傳送功能,即把一個(gè)組合項(xiàng)中若干項(xiàng)傳送給另一組合項(xiàng)中同名的項(xiàng)格式:MOVE CORRESPONDING 數(shù)據(jù)項(xiàng)1 TO 數(shù)據(jù)項(xiàng)2 CORR MOVE語句如果兩個(gè)組合項(xiàng)中包括的項(xiàng)不同,則只傳送同名的項(xiàng)DUT相當(dāng)于:MOVEA1OF OFPAY-RECORD PAY-RECORDTO TOA1 A2OF OFTAK-RECORD TAK-RECORDMOVEA2MOVE語句DUT傳送的

9、兩者間必須有成對的同名數(shù)據(jù)項(xiàng),而且這一對中必須至少有一個(gè)項(xiàng)是初等項(xiàng),否則不能作為對應(yīng)項(xiàng)傳送MOVE CORR A1 TOA201A1. 03 B03 C.030301A2. 0303PICX(2).B PICC.X(2).C1C2PICPICX(4).X(5).0505C3C4PICPICX(4).X(5).相當(dāng)于:MOVE BOF A1TO BOFA2.C即使同名,也不傳送MOVE語句的結(jié)構(gòu)改變:DUT將A2MOVE 01 A1.CORR A1 TOA201A2.02 B02 C.0303相當(dāng)于: MOVE B MOVE CPICX(2).03PICB PICX(9).X(2).03CC1C

10、2PICPICX(4).X(5).OF A1OF A1TO BTO COFOFA2.A2.注意: 對應(yīng)傳送與層號無關(guān)MOVE語句所謂同名,指的是它們有相同的全程受限(全程同名)DUTB1和B2不是全程同名,因此不是對應(yīng)項(xiàng),不會(huì)對應(yīng)傳送ACCEPT語句接收語句(ACCEPT語句)格式如下:ACCEPT identifierDUTACCEPT 后只能有一個(gè)標(biāo)識符!錯(cuò)誤的寫法:ACCEPT id1, id2標(biāo)識符可以是組合項(xiàng),既可以入輸入,也可以對其下屬項(xiàng)分別輸DUTACCEPT語句ACCEPT接受用戶輸入的數(shù)據(jù),通常還用于接受系統(tǒng)數(shù)據(jù),比如系統(tǒng)時(shí)間,日期等。DATE: 格式為:yymmddDAY:

11、一年中的絕對天數(shù)計(jì)算的日期,格式為yydddDAY-OF-K:? PIC 9值:1-7TIME: 對應(yīng)具體的時(shí)間,格式:hhmmsshh dredths from midnight.最后的hh:如:01 TODAYS-DATE.05 RUN-YEAR05 RUN-MONPIC 99.PIC 9(4).ND-DAYACCEPT TODAYS-DATE FROM DATEDISPLAY語句顯示語句(DISPLAY語句)格式如下:DISPLAY常量| 數(shù)據(jù)項(xiàng),常量 | 數(shù)據(jù)項(xiàng) WITHDUTNO ADVANCING DISPLAY語句結(jié)束后自動(dòng)換行,下面兩組語句輸出結(jié)果是不同的:1)2)DISPLA

12、Y A, B, C DISPLAY A DISPLAY BDISPLAY C文件操作語句OPEN打開語句(OPEN語句)一般格式:DUTOPEN INPUTPayroll-File,Cust-FileOUTPUT PayChecks,Err-listEXTEND Cust-Info程序如果需要讀文件或?qū)懳募?,則該文件必須先用OPEN語句打開一個(gè)OPEN語句可以打開一個(gè)或多個(gè)文件OUTPUT以覆蓋方式打開文件EXTEND以追加方式打開文件文件名必須在SELECT語句中出現(xiàn)文件操作語句 CLOSE關(guān)閉語句(CLOSE語句)一般格式:DUTCLOSE INPUT Payroll-File,Cust-

13、File OUTPUT t可以簡寫: CLOSE Payroll-File, Cust-File, PayChecks, Err-lis文件CLOSE后如需再用,可以再次OPEN文件操作語句READREAD語句DUT從外部文件(PS)數(shù)據(jù)到指定的數(shù)據(jù)項(xiàng),格式如下:READFile-Name-1 Oidentifier AT END sement1NOT END-READ.ATENDsement2READ語句每執(zhí)行一次數(shù)據(jù)部單獨(dú)定義的數(shù)據(jù)項(xiàng))一條,將其存入輸入緩沖區(qū)(在也可以使用O 子句可以將的保存到其它數(shù)據(jù)項(xiàng); AT結(jié)束END 子句可以判斷文件是否已經(jīng)讀入下一會(huì)將區(qū)當(dāng)前內(nèi)容覆蓋!文件操作語句R

14、EADDUT文件操作語句READDUT文件操作語句READDUT文件操作語句READDUT文件操作語句READDUT文件操作語句WRITEWRITE語句將內(nèi)存數(shù)據(jù)輸出到外部設(shè)備,格式如下:DUTWRITE名 FROM 標(biāo)識符1BEFORE|AFTERADVANCING 標(biāo)識符2|助憶名|PAGELINE|LINES在用WRITE語句輸出一個(gè)輸出之前應(yīng)當(dāng)向該區(qū)傳送數(shù)據(jù)可以用一個(gè)WRITE語句先把內(nèi)存中另一數(shù)據(jù)項(xiàng)的內(nèi)容傳給輸出的記錄區(qū)然后再輸出當(dāng)不出現(xiàn)BEFORE或AFTER時(shí),大多數(shù)系統(tǒng)按等價(jià)于AFTER 1 處理文件操作語句WRITEDUT文件操作語句WRITEDUTSTOP RUN語句當(dāng)程序

15、實(shí)現(xiàn)預(yù)期要求后,應(yīng)用STOP使其停止DUT一般格式:STOPRUNSTOP RUN在邏輯上應(yīng)該是程序的最后一個(gè)語句PERFORM語句DUT使用PERFORM語句可以多次執(zhí)行某個(gè)程序段,使程序結(jié)構(gòu)清晰PERFORM語句可以實(shí)現(xiàn)循環(huán),它有多種形式格式1:(節(jié)名).PERFORMPERFORM 語句跳轉(zhuǎn)到指定的段或節(jié)的開頭,執(zhí)行完其中全部語句后返回;PERFORM語句DUTPERFORM語句DUTPERFORM語句DUTPERFORM語句DUTPERFORM語句DUTPERFORM語句DUTPERFORM語句DUTPERFORM語句DUT如果需要執(zhí)行的是若干個(gè)段,應(yīng)指明從哪個(gè)段開始,哪個(gè)段結(jié)束格式2

16、:PERFOMR 起始段 THROUGH | THRU 結(jié)束段.PERFORM語句DUTPERFORM語句例題1:已知利息計(jì)算公式:DUT利息(erest) = 本金(principal) * 利率(rate)求五年的本利和A.MOVE0.04TO 100TO R. R.TO P.ADD1MOVEPERFORMB5 TIMES.STOP RUN.B.MULTIPLY R BY P.PERFORM語句DUT簡化的格式PERFORM語句DUT在一個(gè)PERFORM語句所調(diào)用的語句序列中,又包括另一個(gè)執(zhí)行語句,即嵌套,例如:A. PERFORM PERFORMB.B.C.C.PERFORM語句DUT兩

17、個(gè)例子:A.DISPLAY PERFORMDISPLAYA. B.T.A.DISPLAY PERFORMDISPLAYA. B.T.B.MOVE C TOT.B.MOVE C TOT.PERFORMDISPLAYC.T.PERFORMDISPLAYC.T.C.D.C.STOP RUN.STOP RUN/AC/ACCCCPERFORM語句DUTPERFORM語句不能交叉嵌套,后一個(gè)被調(diào)用的執(zhí)行語句序列應(yīng)全部一個(gè)調(diào)用的語句之中或之外PERFORM語句也是錯(cuò)誤的DUTPERFORM語句這個(gè)流程是正確的DUTPERFORM語句這個(gè)流程也是正確的DUTPERFORM語句該例是否正確?DUTPERFORM

18、語句DUT可以在PERFORM語句中包含GO TO語句,使流程轉(zhuǎn)到語句序列之外,但之后應(yīng)轉(zhuǎn)回到PERFORM語句序列,以便能結(jié)束PERFORM調(diào)用,讓流程繼續(xù)DUTPERFORM UNTIL END-PERFORMPERFORM UNTIL condition-1sement-1 .END-PERFORMRepeatedly executes sement(s) betn PERFORMUNTIL END-PERFORM until condition specified in UNTIL clause is metFORMATDUTPERFORM UNTIL END-PERFORMPerfo

19、rm Until WS-More-Data = NOReayroll-File At EndMove NO To WS-More-DataNoEndPerform 200-Pros-RecordEnd-ReadEnd-PerformEXLEDUTOut-Of-Line PERFORMPERFORM paragraph-name UNTIL conditionRepeats paragraptil condition metControl transfers to named paragraphExecutes instructions in paragraph and returnsFORMA

20、TDUTIn-Line PERFORMPERFORM UNTIL conditionsement(s)END-PERFORMRepeats sement(s) until condition metSement(s) to be executed are in-line, not in separate paragraphFORMATDUT第二節(jié)四則運(yùn)算語句ADD 語句SUBTRACT語句MULTIPLY語句DIVIDE語句四則運(yùn)算小結(jié)COMPUTE語句64ADD 語句B=A+B, A不變DUTADDADDADDADDADDADDADDADDADDADDA TOB A A10BTO10 TOATO?C=A+B+C, AB都不變A, B TO CA, 10 A, B A,20 A, BA, BTOCC=A+B, AB都不變GIVING GIVING TO C, DGIVINGCCC=A+B+C, D=A+B+DC, DSUB

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論