close

執照翻譯服務內容,我們稱為雙層表格(二維陣列)。同理如果表格具有三個方

│ [PICTURE 子句] │
帶或磁碟中做標籤以茲判袂。標籤可分為外部標籤與內
當畫面上出現如上訊息時,則可能磁片已無足夠空間寫
W57:SYMBOL SIZE
指出上一個毛病訊息中所參考到之特定記實鍵值之資料名稱。
│ [LINAGE 子句] │
2.如果來曆區的位數大於目 翻譯區的位數時,將會發生資料
Syntax error : Symbol "內含不准確的字元" is
4、VALUE 子句
1.CORR 為 CORRESPONDING 的縮寫字,可任選其一利用。
2.濫觞區和目標區必需是一個集體項目名稱,所以不成使

247

WORKING-STORAGE SECTION.

1、關係前提式:
├────┼──────────────────┤
例: 77 TOTAL PIC 9(3).
OPEN INPUT EMP-FILE OUTPUT OUT-FILE.
STOP RUN.
01 EMP-REC.
02 EMP-NO PIC 9(6).
02 NAME PIC X(8).
02 SEX PIC A.
02 BIRTHDAY.
03 Y PIC 9(2).
03 M PIC 9(2).
03 D PIC 9(2).
02 TEL PIC X(10).
02 ADDR PIC X(40).

2、某公司員工資料全部貯存於磁碟上,試設計一個列印員明細
WRITE OUT-REC FROM HEAD-2 BEFORE 1.
誤訊息的輸出。
資料檔就是───由一群性質溝通且互有關聯的資料紀錄所
利用逗號來產生此種結果。注重,每一個逗號都佔用一個儲
檔案描寫句中含有不准確的語法佈局。
1000-LOOP-RTN.
在指出的內容中其實不允許含有零值 翻譯整數。
Language,簡稱CODASYL),配合研訂開辟一種合適於各類廠牌電
C(1,2,2) C(2 翻譯公司1 翻譯公司1) C(2,1,2)
└──────────────┘
或毗連節中。
假。
283

IDENTIFICATION DIVISION.
ORGANIZATION IS LINE SEQUENTIAL.
┌──────────────────┐
DISPLAY "年級\性別 男女 男女 男女 男女 男女".
PROGRAM-ID. TEST4.
所指出的內容需要非數值的定子 翻譯社
╰════════╯
1.本子句可省略 翻譯社
2.假如程式中沒有簿本句時,則區塊長度內定值為
512個字元。

228


DATA DIVISION.
W22:COPY PERIOD
§3-5 運用範例

,此點應分外注意 翻譯社

§3-3 工作暫存節(WORKING-STORAGE SECTION)

子句,表示選擇列順序檔的構造。
243


nn值為DOS系統功能之毛病代碼 翻譯社
體空間,將來也必增添保護之因難 翻譯社所以對程式中如有一連串 翻譯
3、編譯程式不正常竣事

4、程式說話毛病訊息
INPUT-OUTPUT 輸入∕輸出裝置 輸入或輸出
(2)已無磁片空間可用。
當所要處置是連續好幾個法式時,此時可合營THROUGH
289

[N/o=path][P][R][S][T][U][V][X][Z][)comments]
0000-MAIN-RTN.
│ X(6) │X(8)│ X │ X(10) │X(10) │ X(30)│
§§編譯時所產生的提醒訊息§§
WRITE OUT-REC FROM LIST-REC BEFORE 1.
所指定 翻譯段名稱尚未界說 翻譯社
│ [JUSTIFIED 子句] │
就是說RM-COBOL 翻譯外部檔案描述在裝備部SELECT子句中宣佈,而
1、機型節(CONFIGURATION SECTION)
1.SOURCE-COMPUTER段
01 HEAD-2.
02 PIC X(17).
02 PIC X(46) VALUE
所以這也就是本節所要介紹之工作暫存節之功能。
如下:

例:01 TABLE-2. (三維陣列)
檔案描寫句(File Description Entry) 翻譯功能是描寫資料檔
脫離法式的最後一道論述,造成法式沒法將控制權傳回給所
└──┴──┴──┴──┴──┴──┘
E172:FILE CONTROL ENTRY SYNTAX
§3-4 編纂符號
A.INPUT-OUTPUT SECTION 中 翻譯SELECT子句中指定過。
裝備部內含不准確的語法結構。
輸出成果:35 08 13
例:01 TABLE-2. (二維陣列)
246

表檔、磁帶檔。
1、自力項目:
1.數字性定字:指可供數學運算之數字資料值,限由
0~9及正號(+)、負號(-)及小數點(.)構成,每
一數字性定字之數字(不包羅小數點及正負號),不


翻譯社
225

資料紀錄:
前提句 翻譯社
│條件式-1 {AND} 前提式-2 {AND} 前提式-3... │
220


263

字性或編纂性的資料項目。
READ 以後緊隨著欲讀取之檔案名稱,此檔案名稱最少
ENVIRONMENT DIVISION.
STOP RUN.
INPUT-OUTPUT. SECTION
存放於運算結果 翻譯位置內 翻譯社
腦利用之標準化程式說話,此即所謂之商用程式說話(COmmon
示意表格為 B(1,1) B(1 翻譯公司2) B(1,3) B(2,1)
例:自學生檔中讀取資料,經處置懲罰後由印表機
MOVE C2 TO C22.
§3-4 編纂符號
└───────────────────────┘
SUBTRACT 10 A 30 FROM C (C=C-10-A-30)
由於 COBOL所處置的資料可分為數字性資料與非數字性資料
學生資料 翻譯社
│ │只限用一個 │
目標區 PIC X(7)
┌────┬──────────────────┐
W18:ALPHABET LITERAL SIZE
SEQUENTIAL的檔案做I-O開啟動作 翻譯社
4、DATA-COMPILED 段
子句:
COMPUTE TOTAL-SCORE = CHI OF STU-REC + ENG OF STU-REC
二、輸入輸出之毛病訊息
1.Open error for file : 路徑名稱 檔名

AUTHOR. YUAN.
┌─────────────────┐
是運算結果做四捨五入。。-> 翻譯社|,-> 翻譯公司|的-> 翻譯四捨五入 翻譯法則係按照小數點後之
3000-CLOSE-RTN.
DISPLAY "=================================".

. . . . . .
(4)所指定的檔案不存在。
當該程式履行終了時,將會從PERFORM論述之下一個論述繼續執
(三)指令陳述區(Statement Area):
則是由Ryan-Mcfarland公司所成長出來 翻譯版本 翻譯社可是開辟COBOL
所代表的條理愈高 翻譯社
IF GRADE-A MOVE "A" TO POINT.
要而選用,亦可省略不用。在此我們介紹幾個選擇項:

232

SELECT OUT-FILE ASSIGN TO PRINT "PRINTER".
2.本格局的運算方式是將所有加數相加起來再將成果儲存

251

目的區 PIC X(10)
第一種花式:
效果 搬移前 搬移後

花式可固定要做反複幾回。
2.如果命令列中含有不准確 翻譯選擇項者,則畫面上除上面
║ ║
SELECT TRANS-FILE
第五章 前提敘述
在前面所介紹 翻譯設備部資料部僅對資料檔做描寫及定義,真

E159:ENVIRONMENT DIVISION SYNTAX
記實長度相符合。

W27:"DEPENDING ON" EXPECTED
式有兩種茲分述以下:

DISPLAY TABLE-REC POSITION 0.
SOURCE-COMPUTER. IBM-PC.
2.本格式的運算方式是將被除數除以除數,相乘後的商,
二部門宣佈過:
C:\COB\TEST 指定裝配為C磁碟機的COB

簿子句花樣及申明以下:
274


208

BLANK子句等,其他除了PIC子句其餘都能省略不消 翻譯社
INPUT-OUTPUT SECTION.
CONFIGURATION SECTION.

利用L選擇項寺,編譯程式會將原始程式寫入列印
┌──────────────┐
211

WRITE OUT-REC FROM HEAD-1 BEFORE 2.
Usage : RMCOBOL name [option]
┌──────────────────┐
例: MOVE 5 TO A 設定 A=5
2.本格式 翻譯運算方法是將所有加數全數加起來再與被加數
│ALL literal │示意所有為某種定字之意 │ALL後面之定字應為文 │

模式之後緊隨著欲開啟之資料檔名,此檔名必須鄙人面
當畫面上出現如上之訊息時,則可能為以下緣由之一:
│ IF 前提式-3 │
└────┴──┴──┴────┴───┴───┘
┌──────────────────┐
MOVE論述不克不及將文數字編輯資料項或文字資料項搬移至數
OPEN INPUT STU-FILE OUTPUT OUT-FILE.
前面介紹的是屬於一層表格,如果表格具有二個標的目的 翻譯資料
定之目標區內是以當資料複製完畢以後,其濫觞區資料不受影響
原始程式經由編譯程式處置懲罰後,此時將產生目標程式,然後
│ [FILE-CONTROL.] 檔案控制描述 │
結合構成了資料系統說話委員會(COnference on DAta SYstem
三、LABEL 子句
一般資料都存在磁帶或磁碟中,此時其內容基本無
│ │位置,每一個PIC子句只限用一個 翻譯社

ASSIGN TO RANDOM "OLD.DAT"
3.對比常數:所謂對比常數就是使用某些公認字以代
元將會顯示於本訊息以後 翻譯社

║ 讀取(READ) ║
分析,直到找到可以從頭編譯的地方,才會將本訊息顯示於該處
WRITE OUT-REC FROM HEAD-2 BEFORE 1.
雜的計較與處理,以產生輸出區所需要的結果。
最小紀錄長度,並未與外部檔案的現實最小記實長度符合
┌────────────────────┐

│ 階層號碼 {資料錄名稱或資料項目名稱} │
第一種格式:
└──────────────────────┘

程式指令均須書寫於此區內,此區又分成A、B兩區,其

(3) OR
句所描寫 翻譯資料性質相合營 翻譯社
例:READ後,REWRITE前,改變了鍵值資料。
SOURCE-COMPUTER. IBM-PC.
§6-2 表格之宣佈方式
搬移。
檔內,列印檔主檔名與原始程式主檔名不異,但附加檔

DISPLAY "1+2+3+4+...+100=" S.
1.加數的位置可所以一個數字性定字或資料名稱。運算
E219:FILE RECORD KEY UNDEFINED

SOURCE-COMPUTER. IBM-PC.
電腦在貿易方面的用處已日益普遍,然而商業方面 翻譯營業往
DATA DIVISION.
P.S. "{}"暗示可任意選用組合。
指出 翻譯資料項目已被編譯程式標註為不正確資料項目。
│ │ │若每一個字符有八個bit │
COMPUTE R = C11 * C2.
部標籤,外部標籤就是將磁帶或磁碟黏上貼紙,然後在
指出第一次發生毛病之列編號。
MOVE NAME TO NAME-O.
§3-5 運用典範
┌────────────────────────┐
269

01 HEAD-3.
02 PIC X(17).
02 PIC X(46) VALUE ALL"-".
01 LIST-REC.
02 PIC X(17).
02 STU-NO-O PIC X(8).
02 NAME-O PIC X(11).
02 SEX-O PIC X(7).
02 CLASS-NO-O PIC X(6).
02 GRADE-O PIC X(6).
02 POINT PIC X(6).
02 CREDIT-O PIC 9.

1.*:註解符號,編譯程式時,此列不加以編譯。
2.∕:表欲在列印檔(.LST)時跳頁。
3.-:當必然字跨越一行時,第一行寫不完,要在第二行
入或磁片已損毀 翻譯社
INPUR的開啟動作。

此區一般用來編纂特別字符用以區分,一般均略而不寫 翻譯社
2.本格局的運算方式是將被除數除以除數,相乘後 翻譯商,
INPUT 輸入裝配 輸入
AUTHOR. YUAN.
MOVE ENG TO MAT 設定 MAT = ENG
輸出可編寫為
B.FILE SECTION 中的 FD 描寫過。
╭══════╮

DISPLAY " " Y " ".
IF S = "M"
VALUE OF FILE-ID "A:PP.DAT".


即可履行您 翻譯程式了。
例: A>RMCOBOL TEST.COB
3.企圖使用START、READ、REWRITE或DELETE論述對一檔
239

分歧 翻譯地方重覆編寫屢次,如斯不只程式燮得繁長且華侈了主憶
SELECT IN-FILE
料項目之後,且可同時界說好幾個條件名稱。
利用法則如下:
以下訊息
241


在工作暫存節所界說 翻譯資料除前面已介紹過的集體項
│ SELECT 子句 │

│ {RECORD ARE} {DMITTED} │

基本項做相對應的相加,相加上後之結果貯存於同名稱

ORGANIZATION IS LINE SEQUENTIAL.

利用K選擇項時,編譯程式將省略版權訊息,與錯
理之工作為何?若編譯程式能夠領會其所要處理之工作時,則
│ WRITE 資料名稱-1 [FROM 資料名稱-2] │
區最右邊多出來的位數將會主動補空白。
ORGANIZATION IS LINE SEQUENTIAL.
例:某校有三個年級,每一個年級有五個班,試設計一程

ASSIGN TO PRINT "PRINTER"
WRITE OUT-REC FROM HEAD-1 BEFORE 2.
料項目做對應搬移,以簡化程式 翻譯設計,其利用劃定規矩申明以下:
翻譯程式。
程式的履行並顯示I/O error 91 翻譯毛病訊息 翻譯社
OPEN 之後緊接處置懲罰模式:
I4:RECORD KEY DATA-NAME IS
216

PROCEDURE DIVISION.
ASSIGN TO RANDOM "NEW.DAT"
01 HEAD-1.
02 PIC X(33).
02 PIC PIC X(!4)
INSTALLATION 段是描寫利用單位名稱的段落。本段可
同性質且長度溝通 翻譯資料所重覆産生 翻譯次數,其花樣及利用規則
時未滿之位數會補零,但這些零在輸出報表上不美觀,因此
以下:
AT END 子句的功用與 READ 相反,是把輸出區(記錄描
W65:INTEGER ZERO INVALID

FD STU-FILE LABEL RECORD IF STANDARD.
209

1.階級號碼為一個從01~49的兩位數,其號碼愈小則
龐大的營業資料 翻譯社為合營電腦在貿易方面 翻譯普遍用處,美國聯邦
├─成分証號碼
│ MULTIPLY 乘數 BY 被乘數 GIVING 運算結果 │
1、AND 翻譯利用法則:
1.當所有的前提式皆為真時,其後果方為真,不然為
數值搬移過來。
02 A OCCURS 2 TIMES.
03 B PIC 9(2) OCCURS 3 TIMES.
子句可編寫以下:
2.企圖使用WRITE論述對一宣佈為 ACCESS MODE
│PERFORM [法式-1┌ {THROUGH} 法式名稱-2 ┐] │

01 OUT-REC PIC X(73).
經MOVE以後目 翻譯區之值為00135.780
1.加數的位置可所以一個數字性定字或者資料名稱。被加
258

│ │例: PIC 99PPP │
229

指出上一個毛病訊息中所參考到之特定表格鍵值之資料名稱。
279

║ 除法(DIVIDE) ║
辨認部編寫留意事項:
定的輸出設備,若未省略時,則稱資料名稱-2內的資料先搬
│ ... │
部(章) ╭ 節 ╭ 段 ╭ 句子
在輸入區或輸出區中並沒有多餘的空間來貯存這些臨時性 翻譯資料,
PERFORM論述參考到不同自力分段中的法式進入點。
例: 02 SEX PIC 9(3)


結所以可所以一個數字性或編纂性的資料項目 翻譯社
2、L選擇項
213


FD AA LABEL RECORD IS STANDARD.
關係,當編譯程式在翻譯您的原始程式時,同時也會搜檢程式語
01 HEAD-1.
02 PIC X(32).
02 PIC X(10) VALUE "員工明細表".
01 HEAD-2.
02 PIC X(9) VALUE "員工編號".
02 PIC X(9) VALUE " 姓 名 ".
02 PIC X(5) VALUE "性別".
02 PIC X(11) VALUE " 身份証號 ".
02 PIC X(11) VALUE " 電 話 ".
02 PIC X(30) VALUE " 住 址 ".
01 HEAD-3.
02 FILLER PIC X(9) VALUE "--------".
02 FILLER PIC X(9) VALUE "--------".
02 FILLER PIC X(5) VALUE "----".
02 FILLER PIC X(11) VALUE "----------".
02 FILLER PIC X(11) VALUE "---------".
02 FILLER PIC X(30) VALUE ALL "-".
01 WORK-REC.
02 PIC X.
02 EMP-NO PIC X(6).
02 PIC XX.
02 NAME PIC X(8).
02 PIC X(3).
02 SEX PIC X.
02 PIC XX.
02 ID-NO PIC X(10).
02 PIC X.

242

02 TEL PIC X(10).
02 PIC X.
02 ADDR PIC X(30).

│ {OUTPUT {資料檔名-2}} ... │
│ [VALUE 子句] │
│ {CORR } │
<<< 目 錄 >>>
88 SW-ON VALUE "ON".
88 SW-OFF VALUE "OFF".
4.資料有連氣兒性時,可寫出最小值與最最大值並用THRU連
256

ORGANIZATION IS LINE SEQUENTIAL.
┌─────────────────────────┐
例: > 與 GREATER THAN 是相同 翻譯
║ Z符號 ║
存位置。
275


§2-3 規範
║ 減法(SUBTRACT) ║
└──────────────────────┘
規則 翻譯社

FD OUT-FILE LABEL RECORD IS OMITTED.
~p9d0l16x6
A區入手下手編寫,而第二層之號碼只要大於第一層之
(5)檔案存在、但路徑名稱指錯處所。
此段是描寫程式最初編譯之目期實時間。本段可省略 翻譯社
2000-READ-RTN.
│ [ROUNDED] │
W19:AREA A LEVEL
法看到,為避免處置過程當中錯用了資料檔,一般均在磁
其他子句將在後面陸續介紹。
B(2,2) B(2 翻譯公司3)
稱(Data Name)、條件名稱(Condition Name)等,這些
§§編譯時所產生的毛病訊息§§
,茲列表如下:
E190:FILE LABEL INVALID
C.法式部 OPEN 過。
裝備上 翻譯社
E296:MOVE ANSE/ABS TO NSE/NUMERIC
§1-1 COBOL簡介
E191:FILE LABEL NOT DATA
例: 77 A PIC ZZZZZZ.
1.乘數的位置可所以一個數字性定字或資料名稱。被乘
§1-5  履行程式
輸出成效: 1234

第三章 資料部
1、K選擇項
(一)標準化─為美國當局所承認 翻譯標準說話,不論何種廠牌
項目 翻譯社
└─────────┴─────────────┴──────────┘
1.除數的位置可所以一個數字性定字或資料名稱。被除
│ ELSE 論述2 │
1.被對照之資料可同時為資料名稱,或者一為資料名稱一
│ MULTIPLY 乘數 BY 被乘數 [ROUNDED] │
1.英文字母A~Z,阿拉伯數字0~9及毗鄰符號
(Programmer Supplied Word)及常數(Constant)等三種,茲別離

STOP RUN.
例 OBJECT-COMPUTER. IBM-PC.
┌──────────────────────┐
210

如此可一眼看出數值巨細,一樣 翻譯在報表輸出上我們也可以
│學號│姓名│ 國文 │ 英文 │ 數學 │ 物理 │ 化學 │

例: BLOCK CONTAINS 1024 CHARACTERS

息顯示於毛病處。
附錄2:RM-COBOL履行時所產生 翻譯毛病訊息
例: 濫觞區 PIC X(10) 內含值為"WELCOME TO"
│ [ROUNDED] │

WRITE OUT-REC FROM HEAD-3 BEFORE 1.
一、基本項目(Elementary Item)
│ 陳說句 │ │ │ (3) 特殊字元
FD OUT-FILE
└──────────────────────┘
三、P選擇項
│ SELECT [OPTIONAL] 資料檔名稱 │
╰═══════╯
║ 關檔(CLOSE) ║
COMPUTE R = C11 * C2.

第三種花樣:
│ [DATA-WRITTEN.] 程式編寫日期 │
解:
01 IN-REC.
02 A PIC 9. 若內含為1
02 B PIC 9(2). 若內含為2
02 C PIC 9(3). 若內含為3
01 OUT-REC.
02 A PIC 9. 若內含為2
02 C PIC 9(2). 若內含為4
02 D PIC 9(2). 若內含為6
例: 來曆區 PIC 9(5)V9(3) 內含值為12345.678
2000-OVER-RTN.
. . . . . .
會漏失 翻譯社
E189:FILE LABEL DESCRIPTOR
($)標示出錯誤的處所,並時指犯錯誤的嚴重性 翻譯社編譯程式
90 不准確之I-O動作,其緣由以下:
90 翻譯公司01 欲進行之動作與開啟之模式不相符。
1.企圖利用REWRITE、DELETE或WRITE論述對一檔案做
程式設計師在設計時都必需替每個資料項目在主記憶

╰═════╯
ELSE IF GRADE-C MOVE "C" TO POINT.
│ │此數字所能默示的範圍為+0.0~+99.9 │
記,其花式及利用方式如下:
280


所指出的內容中需求特定的保存字。其需求的保存字會列
└─────────────────────┘
§1-1 COBOL簡介
┌──────────────┐
STOP RUN.
1.學號不為數字性資料。
2.性別不為男女性(M,F) 翻譯社
3.班級不為1-6之間。
4.等級不為A-E之間 翻譯社當品級為准確時,其相對點數為
LABEL RECORD IS STANDARD
│ │每個P透露表現一名數字性資料的零, │
MOVE CORR IN-REC TO OUT-REC.
磁帶檔。
║ ORGANIZATION子句 ║

I3:AT LINE NUMBER
MOVE論述不克不及將非整數數值資料搬移至非數值資料項。
02 A OCCURS 2 TIMES.
03 B OCCURS 2 TIMES.
05 C PIC 9(2) OCCURS 2 TIMES.
下:
╭════════╮
│ UNTIL 前提式 敕令處理敘述 │
在實際處置過程中並非簡單 翻譯輸入輸出處置,而是必需經過複
FILE-CONTROL.
吻合前提名稱所設定的資料範圍。利用前提名稱前提式來測
2.假如是把資料檔 翻譯資料寫入一個新 翻譯資料檔時,則
│ UNTIL 前提式 號令處置敘述 │
└──────────────────┘
PERFORM UNTIL OVER.
第三種格式:
1.如果利用 ORGANIZATION IS LINE SEQUENTIAL
指出文字名稱界說於複製字元的字子片語以後;該文字名稱
例: 77 A PIC 9,999 翻譯公司999,999
§6-1 迴圈
│ {PIC} │
1、BLOCK 子句
...
OBJECT-COMPUTER. IBM-PC.

E101:ASSIGN REQUIRED
│ [ON SIZE ERROR 處理論述] │
上。其花式如下:
員工記錄─┼─性別
│ READ 檔名 [INTO 資料名稱] AT END 論述 │
╰════════╯
說明如下:
ORGANIZATION IS LINE SEQUENTIAL.
利用編纂符號可以使輸出成果具美觀及易讀性,茲介紹以下:
識別部內含有不准確的語法結構。
WORKING-STORAGE SECTION.
MOVE C1 TO C11.
│ [LABEL 子句] │
§1-2 COBOL說話 翻譯根基架構
D 120 120
266

二、RECORD 子句
2.依性質來分:
搬移論述(MOVE)其主要功能是將常數資料或者貯存在記憶體
其巨細。
將主襠(OLD.DAT)及異動檔(TRANS.DAT)讀入經由處置,印出
3.前提名稱為程式設計師自定字,必需緊接在其所代表資
若FROM子句省略時,則將資料名稱-1內 翻譯資料寫入所指
資料檔通常是由許多的記實所組合而成。
何根基項目,他與任何資料項目間並沒有任何隸屬
例: MULTIPLY A BY 30 GIVING B. (B=A*30)
77 B PIC X(2) VALUE "23".
2.簿本句不能使用於檔案節,獨一破例是可使用於88
料做搬移,名稱分歧則不搬移。
3.其他子句包括PIC子句、VALUE子句、OCCURS子句、

其優先挨次。其次以下:
│ STOP RUN. │
02 N PIC 9(3) OCCURS 5 TIMES.

285


有順序檔、相幹檔、索引檔等。
Business Oriented Language,簡稱COBOL)。
減數 被減數 TOTAL-REC
└─────────────────────────┘
例: 下面為兩個集體項目IN-REC和DUFREC之描寫。
ASSIGN TO PRINT "PRINTER".
┌─────────────────────┐
果存放於運算結果 翻譯位置內。

字論述 翻譯程式指令,不但容易浏覽,同時容
本花樣 翻譯處置懲罰動作是將來源區的資料複製一份或多份至所指
276

料稱定義未被許可的節中。准確的做法應界說於工作暫存節
SELECT子句中所指定的每一個檔案名稱都需要ASSIGN子句的
(三)常數
型。此段可省略。
AFTER K FROM 1 BY 1 UNTIL I > 2.
~p9d0g2w1z1l24x8
XXXXXX XXXXXXXX X XXXXXXXXXX X...X X...X

╭═══════════╮
CLOSE EMP-FILE OUT-FILE.
1.除數的位置可所以一個數字性定字或者資料名稱 翻譯社運算
224

ENVIRONMENT DIVISION.

第四章 法式部

§2-2 裝備部
法則申明如下:
I6:(SCAN SUPPRESSED)

└────────────────────┘
E313:PERFORM ENTRY INDEPENDENT
數必需一個數字性資料名稱o
│ │表示數字性資料小數點之位置,此 │

及使用申明以下:
95 不准確 翻譯設備裝配 翻譯社
97 不正確 翻譯紀錄長度,其緣由可能以下:
97,01 列順序檔內 翻譯紀錄中稀有個字元是毛病 翻譯
97,03 在WRITE、REWRITE或RELEASE敘述中指定 翻譯紀錄區域長度
本花樣所要重覆之次數則由條件式來控制,若前提不成立將執行
PROGRAD-ID. MUL.
77 TOTAL-SCORE PIC 9(3).
01 HEAD-1.
02 PIC X(32).
02 PIC X(15) VALUE "STUDENTS' SCORE".
01 HEAD-2.
02 PIC X(8).
02 PIC X(53) VALUE "STU-ID NAME


SOURCE-COMPUTER. IBM-PC.
┌──┬──┬──┬──┬──┬──┐
4.利用 NOT 示意否認論述 翻譯了局。
5.數字性資料是依數字巨細來對照,而非數字性資料是由
READ STU-FILE AT END GO 3000-CLOSE-RTN.
點第三位四捨五入。
┌──────────────────────┐
│ {CORR } │
目標區 PIC 9(5)V9(2)
用於66,77 翻譯公司88等階級號碼 翻譯社
往是資料數目龐大而計算簡單,故其所需之電子計較機機能與其
│LOW-VALUE │暗示最小值(即每個bit均為0)│ │
,並從此處繼續編譯。所以從SCAN SUPPRESSED至SCAN RESUME
ADD 1 TO C11
FILE SECTION.
三、INSTALLATION 段
┌─────────────────────┐
述句所描之區域)的資料寫入SELECT 子句所設定 翻譯輸出裝備
MS-COBOL為

│ {FILLER} │
翻譯社
│ │例: PIC 99V99 │
在COBOL中可用OCCURS子句來設定表格,其感化是宣佈某替
INPUT-OUTPUT SECTION.
§5-1 前提式
ASSIGN TO RANDOM "B:\STUD.DAT"

└──────────────────────┘
4.依結構來分:
附錄1 編譯時所產生的毛病訊息
習慣上我們所浏覽的數字都是每三位數字加一個逗號,
│ │此數字所能透露表現 翻譯局限為-99~+99 │
FILE SECTION.
┌─────────────────────────┘
E512:SYNTAX ERROR 翻譯公司EXPECTED WORD:
由於輸入檔的資料都是貯存在外部媒體上,因此檔案讀
└──────────────────┘
單字可分為:保存字(Reserved ord)、程式設計師自定字元
ORGANIZATION IS LINE SEQUENTIAL.

(2) 指數
├─────────┼─────────────┼──────────┤
┌──────────────────────┐
檔必須對應一個FD 翻譯社
或 MOVE 30 TO D E F 皆可
§6-1 迴圈
{<}
第一種格局:
221

2.程式名稱其第一個字元必需為英文字母,最後以句
CONFIGURATION SECTION.
1.階級號碼必須為02~49之間,即階級號碼不完為01、66
I1:DATA RECORD DATA-NAME IS
翻譯目次上。
放於被乘數 翻譯位置內。
┌────┬──┬──┬────┬───┬───┐
算術運算式的語法構造是不准確 翻譯
§2-2 設備部
本花式的處置動作是未來源區與目標區中具有溝通名稱的資
PROGRAD-ID. TEST1.
IN-REC OUT-REC IN-REC OUT-REC
│PERFORM [程序-1┌ {THROUGH} 程序名稱-2 ┐] │
。而運算結果的位置因不介入運算,所以可所以一個數
│ │暗示此數字的規模為+0~+99.9 │
之間的程式都不會經由編譯程式編譯。本訊息和下一個訊息是
RMCOBOL為執行時期之號令,路徑名稱指的是磁碟機名稱及
MOVE ZEROS TO TABLE-REX.
描寫。
SEQUENTIAL子句,表示選擇二元挨次檔的結構。
╭═══════╮
1.簿子句只能用來描寫根基項目及獨立項目 翻譯資料。
2.字元串符號則是用來透露表現資料的性質,可分為以下四類:
IDENTIFICATION DIVISION.
90,02 企圖使用DELETE、REWRITE論述對一宣佈為ACCESS MODE
SEQUENTIAL的檔案做I-O處置懲罰 翻譯社
└───────────────────────┘
代其名稱或者乾脆省略不寫。
1.若是是把資料檔 翻譯資料讀進來處理時,則必須選擇
(一)保留字
的檔名,以供程式處置懲罰利用 翻譯社
上輸出。
╭══════════╮
OR NOT CLASS-OK

└→│ (Clause) │(Word)│ (Character)│ (2)文字字元
├────┼──────────────────┤
例 SOURCE-COMPUTER. IBM-PC.
合體,我們可以這樣說:

檔案描寫不准確。不決義此檔案的紀錄區。
271


272

│階層號碼 資料名稱 [PIC 子句] OCCURS 正整數 TIMES│
│ SUBTRACT 減數 ... FROM 被減數 [ROUNDED] │
-------- -------- ---- ---------- ----- -------

2、輸入輸出節(INPUT-OUTPUT SECTION)
所謂集體項目就是指本身可再細分成一個或一個

┌────────────────────────┐
PROCEDURE DIVISION.
PROCEDURE DIVISION.
│ [AUTHOR.] 設計者姓名 │
╭═══════╮
其格局及利用法則申明以下:
為了報表美觀,可以在資料中恰當的位置插入空白資料

│X(6)│X(8)│X(1)│9(1)│X(1)│9(1)│
│ OPEN {INPUT {資料檔名-1}} ... │
215

2、集體項目(Group Item)

2.如果資料起原區的位數大於目 翻譯區的位數時,則資料將


~p9d0g2w1z1l24x8
何謂資料檔?簡單地說就是一大堆不異性質或相幹資料的結
1.RECORD IS 或 RECORD ARE 任選其一 。
2.STANDARD 為有標籤記號者,平常利用於磁碟檔、
RMCOBOL 為啟動編譯程式之號令,路徑名稱則用來指出程式
PROGRAM-ID. TABS.

0000-MAIN-RTN.
3.Write error for file : 路徑名稱 檔名
CLOSE 後緊跟著欲關閉之資料檔名,此檔名必須鄙人面
在撰寫COBOL程式,有以下限制:
│ [USAGE 子句] │
在COBOL程式中所有 翻譯資料檔在輸入或輸出之前都必須
3.集體項目不克不及使用溝通 翻譯資料名稱,但其所包括之資料
3.程式名稱最長30個字元 翻譯社
例: ADD 10 TO B (B=B+10)
ENVIRONMENT DIVISION.
經MOVE之後目標區之值為"WELCOME "
5、DATA-COMPILED 段
219

277

指出的資料項目在此之前尚未界說。
我們可藉著執行程式來執行,其語法花式以下:
§1-6 資料檔概述
,以下:
其利用法則以下:
一般檔案資料處置懲罰,都是自外部裝置獲得的資料並存入輸入
SELECT AA ASSIGN TO DISK.
翻譯社

DISPLAY A.

在資料處置懲罰過程,所利用的資料檔可分為四類:
│ [CONFIGURATION SECTION.] │
LABEL子句指定了一沒法辨認的標志描寫字 翻譯社准確標識表記標幟描
AFTER C2 FROM 1 BY 1 UNTIL C2 > 9.
┌────────────────────────┐
於運算成果以內 翻譯社

稱及其所利用 翻譯外圍機械裝備名稱 翻譯社
1.本部所有部名或段名均從A區入手下手編寫。
2.IDENTIFICATION可以使用ID縮寫。
3.本部所有部名或段名及程式名稱之竣事必須加句點。

1、PROGRAM-ID 段
"─"隨便組合。
CLOSE STU-FILE OUT-FILE.


252

DISPLAY TABLE-REC.

│ │例: PIC 999 │
檔案之紀錄鍵值所參考到的資料名稱還沒有定義。

B.FILE SECTION 中 翻譯 FD 描寫過。
§1-4 編譯程式
│ [DATA-COMPILED.] 程式編譯日期 │
│員工編號│姓名│性別├─┬─┬─┤德律風號碼│ 住址 │
┌────────────────────┐
§4-4 典範
其附加檔名(.COB)可省略不寫。
│ 比 擬 常 數 │ 用 途 │ 備 註 │
論述且多次利用時,我們可將其自力出來成一個獨立的法式,再
I8:ALPHABET LITERAL PHRASE
在程序部中欲竣事程式履行,可用STOP敘述 翻譯社
│ │ │數值定字或對比常數 │
首要目標是論述程式編譯及履行所利用的電腦,並提供檔案輸入
在此段可記上任何備忘訊息,本段亦可以省略。

當編譯程式掃描到原始程式之毛病時,起首會判斷其所要處
- CHI ENG MAT PHY CHE ".
│ {OR} {OR} │
2.本格局的運算方式是將乘數和被乘數相乘,相乘後的結
00 履行成功 翻譯社
02 運作成功但鍵值重覆。
10 檔案讀取結束
21 不准確 翻譯鍵值順序。
3.依用途來分:
└──┴──┴───┴───┴───┴───┴───┘
╰══════╯
資料紀錄檔就是─由若干資料項目所組合而成 翻譯社
裝備部(ENVIRONMENT DIVISION)是COBOL程式的第二部 翻譯社
CONFIGURATION SECTION.
231

2、資料錄名稱或資料項目名稱
║ ║

PROGRAM-ID. TEST.
用到 翻譯裝備或檔案名稱。例如:
(1) NOT
│DATA {RECORD IS} 資料名稱-1 [資料名稱-2]..│
DATA DIVISION.
表陸續。
的程式名稱。
├────┼──────────────────┤
輸出之節制,硬體裝備的特征及控制技能等,其花式如下:
└─────────────────────┘


└──────────────────────┘
│ │表示數字性資料假設小數點之位置 │

│ [ON SIZE ERROR 處置懲罰論述] │
│ [OBJECT-COMPUTER.] 執行機型描寫 │

READ EMP-FILE AT END GO 3000-CLOSE-RTN.
...
經MOVE之後目標區之值為"WELCOME TO"
│ BY {資料名稱-1} │
ENVIRONMENT DIVISION.


A>RMCOBOL C:\COBOL\TEST
02 N PIC 9(3) OCCURS 5 TIMES.
3.若OCCURS子句産生在基本項目(含有PIC子句),表示單
§§編譯時所產生的警告訊息§§
FILE-CONTROL.
,是以厥後應接VALUE子句,而不是PIC子句 翻譯社
SELECT子句是用來設定資料檔在程式運作中之資料
DATA DIVISION.
│ FILE-CONTROL. │
E173:FILE DESCRIPTION
PICTURE 子句是用來講明每一根基資料的性質與長度,
└──────────────────────┘
│ 9(6) │X(8)│A(1)│99│99│99│ X(10) │ X(40)│
└────────────────────────┘
之間都有一隸屬關係,那應若何來示意其間的關係呢?在
例: 77 FUNC PIC 9.
3.資料檔的個數須和簿子句的個數一樣。
第二種花式:

例 A>RMCOBOL TEST L=C:\COBOL\PROGRAM

正對資料檔做進一步處置時,則必需在處理法式部中控制 翻譯社
└─────────────────────┘

268

5.編輯性符號弗成以直接做運算,必須計算終了以後才將
┌────────────────────┐
...
77 N PIC 9(2).
77 SUMS PIC 9(18) VALUE 1.
77 C PIC 9(2) VALUE 0.

現將IN-REC和OUT-REC不異部分做搬移,結果為何?
則以下:
原始程式編寫完成後,我們則須藉著編譯程式來產生目的程式,
┌───────────────────────┐
│ │ │其餘七個bit為1 │
經由檔案開啟(OPEN)的動作,才能進一步的地方理。其花樣如
DATA DIVISION.
║ SELECT子句 ║
7、REMARK 段
3.對系統裝備名稱為DISC、DISK或RANDOM 翻譯檔案執行

288

└────────────┘
選擇項是在編譯時,編譯程式所附帶的功能,利用者可依需
文數值性: X
PICTURE子句。

234

│SUBTRACT {CORRESPONDING} 減數 FROM 被減數 │
所謂巢狀前提式是指前提陳述內又有前提陳說,可用來作一
A.INPUT-OUTPUT SECTION 中的SELECT子句中指定過。
│ DIVIDE 被除數 BY 除數 GIVING 運算了局 │
2.存取表格資料時,必須使用最低層 翻譯資料名稱
§4-1 I∕O處理
│ [BINARY] │
(二)貿易用處─適合處置具有大量資料的商業或事務工作。
之被加數內。


MOVE 30 TO D 翻譯公司E 翻譯公司F 設定 D=30, E=30, F=30

╰══════════╯
WORKING-STORAGE SECTION.
PRINTER 印表機 輸出
目標區 PIC X(10)
94,02 RECORD子句指定 翻譯最小紀錄長度或檔案名稱記實所隱含 翻譯
OUTPUT 輸入裝配 輸出
行READ或OPEN INPUT動作。
240

│ [BLOCK 子句] │
-------- -------- ---------- -------- ---------
SET Y TO I

所謂根基項目就是指本身沒法再細分之項目。如
即可編譯程式,而履行程式只需鍵入:
例: DIVIDE 10 INTO A. (A=A/10)
│ [常數] │
在檔案的01階級內界說。
本運算子有:加(+)、減(-)、乘(*)、除(/)及指數(**)
╭═══════╮
一張異動明細表,並將資料存入新主檔(NEW.DAT)內 翻譯社

還有資料部 翻譯檔案描寫句:

DISPLAY A.
至於我們要若何編譯一個由MS-COBOL寫成的程式呢?只要鍵
(1)利用了一個不正當 翻譯路徑及檔案名稱。
例:貪圖利用DELETE或START敘述對一宣佈為ORGANIZATION
有卡片檔、磁帶檔、磁碟檔,報表檔等。
§3-1 檔案描寫句
E284:LEVEL 77 NOT ELEMENTARY
自力項目不屬於任何集體項目,亦不會延長出任

│ [INPUT-OUTPUT SECTION.] │
程序名稱-2為最後處理之法式名稱。
invalid option letter
資料項目就是──由一個或多個字元所組成,又稱資料欄。
OBJECT-COMPUTER. IBM-PC.

§1-5 履行程式
,介係詞由INTO改為BY。
║ ASSIGN子句 ║
幾個和式被編譯,e暗示有幾個毛病,w暗示有幾個正告。
233

3.簿本句須毗鄰在所描述資料名稱以後 翻譯社
│HIGH-VALUE │默示最大值(即每個bit均為1)│時,最左側一個bit為0│
╭══════════════╮
│字元符號│ 說 明 │

FILE-CONTROL.

│ [ON SIZE ERROR 處置懲罰敘述] │
1000-WEITE-HEAD-RTN.
COMPUTE AVE = TOTAL / 5.
寫日期、編譯日期、秘要等級及備註等,其格式以下:
1.CORR 為 CORRESPONDING 之縮寫編寫時可任選其一。
2.加數與被加數都必需是一個集體項目內所有不異名稱的
加數 被加數 和
+ MAT OF STU-REC + PHY OF STU-REC
WRITE OUT-REC FROM WORK-REC BEFORE 1.
COBOL中要透露表現資料之間的隸屬關係時可使用階級號碼,其
└──────────────────────┘
BLOCK 子句是用來指定資料實際存取時的區塊單元
目標區 PIC 9(3)V9(2)
輸入輸出節的功能是設定資料檔在程式處理中的名
在前面所介紹之運算指令中有一個ROUNDED片語,其功能

MS-COBOL則是在資料部FD子句中宣佈,宣告,其他部份大多不異
RECORD子句的檔案記錄巨細並未與此記錄描述句所描述 翻譯
ASSIGN子句是用來指定資料檔所利用的輸入或輸出
282

E218:FILE RECORD KEY QUALIFIERS
01 TABLE-REC.

278

02 N2 OCCURS 3 TIMES INDEXED BY I.
03 N1 OCCURS 5 TIMES INDEXED BY J.
04 OCCURS 2 TIMES INDEXED BY K
其格式如下:
└────────────────────────┘
FILE SECTION.
02 A PIC 9(2).
02 B PIC 9(2).


236

所指定的程序,反之前提成立時,將由其下一個敘述繼續執行。
PROCEDURE DIVISION.
檔案之紀錄鍵值參考列已被編譯程式標註為不准確 翻譯資料
編譯程式無法領會其所要處置懲罰之工作時,則會暫停對程式之
透露表現表格為 C(1 翻譯公司1,1) C(1,1,2) C(1,2,1)

第二種格式
A=1,B=2,C=3,D=4,E=5 翻譯社
DATA DIVISION.
{常數-1 } IS [NOT] {EQUAL TO} {常數-2 }
而檔名可只寫主檔名,附加檔名(CBL)可省略。
第一章 COBOL程式語言概論
└──────────────────────┘
C 260 1200 1200-260 940
ASSIGN TO RANDOM "TRANS.DAT"
在複合前提式中可以將AND與OR混合利用,此時須注重
IF NOT OVER
附錄3:MS-COBOL與RM-COBOL之異同
必需在下面三個部分使用過:
第二種花式:

ENVIRONMENT DIVISION.

273

IDENTIFICATION DIVISION.
3.如果資料濫觞區 翻譯最右側位數小於目標區位數,則目標
└────────────┘
PROGRAM-ID 段是用來指定程式名稱的段落,其編寫規
GO 1000-RTN.
檔案節制段(FILE-CONTROL)是用來設定資料檔在程
287

指出上一個錯誤訊息中所參考到之特定資料紀錄名稱。
WRITE OUT-REC FROM HEAD-1 BEFORE 2.
╰══════════════╯
│ [ROUNDED] │
§4-2 資料搬移處理
例: RM-COBOL為
│ [ON SIZE ERROR 處置懲罰論述] │
3000-CLOSE-RTN.
此子句是用來指定所要處置之資料檔的佈局。
1.88前提名稱其階級號碼必需為88,可界說於任何資料項
(4) 加、減
§1-2 COBOL語言 翻譯根基架構

ADD CORR WORK-REC TO TOTAL-REC.
MOVE 1234 TO A.
└─────────────────────┘
┌───────────┐
(Literal)與對比常數(Figurative Constant)兩類,其
例: 01 WORK-REC.
ORGANIZATION IS LINE SEQUENTIAL.
式會自動設定第一個字元被系統利用。
│ DIVIDE 除數 INTO 被除數 [ROUNDED] │
料項目按照其從屬關係又可分為三類:
點結束。
253

╰═══════╯
識別部(IDENTIFICATION DIVISION)是COBOL程式的第一部。
所以簿子句一般都將其省略。

┌──────────────┐
例: INSTALLATION ABC.
~p9d0g2w1z1l24x8
01 STU-REC.
02 STU-NO PIC X(6).
02 NAME PIC X(8).
02 SEX PIC X.
88 SEX-OK VALUE "M" "F".
02 CLASS-NO PIC 9.
88 CLASS-OK VALUE 1 THRU 6.
02 GRADE
88 GRADE-OK VALUE "A" THRU "E".
88 GRADE-A VALUE "A".
88 GRADE-B VALUE "B".
88 GRADE-C VALUE "C".
88 GRADE-D VALUE "D".
02 CREDIT PIC 9.
1.假如為固定長度資料錄時,則整數-1可省略不寫。
(2) AND



WRITE OUT-REC FROM HEAD-3 BEFORE 1.
│ZERO 翻譯公司ZEROS 翻譯公司ZEROES │表示一個或多個零 │單複數型意義均不異 │
SELECT PRT-FILE
4.對應搬移時盡管其階級號碼是不是不異,僅對同名稱的資
RANDOM 磁片 輸入或輸出
案做OUTPUT或EXTEND的開啟動作。
└─────────────────┘

組合而成。
╰═════════╯
E85 :ALPHABET-NAME DEFINED
(Division)│(Section)│(Paragraph)│(Sentence)├──┐
例: 濫觞區 PIC 9(3)V9(2) 內含值為135.78
翻譯社
FD EMP-FILE
將錯誤之嚴重性分成以下之三個品級:
(四)辨認區(Identification Area):
╰══════════╯
第四種花樣

FILE-CONTROL.
AUTHOR. YUAN.
│ ELSE 論述3 │
例: AUTHOR. TOM.
│ [INSTLLATION.] 利用單元名稱 │
│ │資料,假如寫在9的左側時表示小 │

令陳說等均應書寫於此區內 翻譯社
正告訊息:W 示意警告訊息,錯誤代碼局限18~79 翻譯社
2.AND可由兩個以上之條件式所組合而成。
2、OR 翻譯利用規則:
1.只要有一個前提式為真時,其成效就為真,不然為
1.本段為辨認部之第一段,為辨認部獨一弗成省略之
其首要目標是敘述COBOL程式名稱、設計者姓名、利用單元、編
字性或編輯性的資料名稱。

SELECT EMP-FILE ASSIGN TO RANDOM "SAMPLE.DAT"
│ RMCOBOL 路徑名稱 檔名 [選擇項] │
指出文字名稱定義了一個或多個複製字元,而第一個重覆字
或 ADD 10 A A 20 TO C
(記實描寫句所描寫之區域)內,以供程式進一步的地方理 翻譯社
MOVE STU-NO TO STU-NO-O.
DELETE、REWRITE、START或OPEN I-O動作。
INPUT-OUTPUT SECTION.
檔案未開啟前,不克不及使用WRITE論述處理,不然將中斷
資料錄的花式及在主記憶體內的寄存位置,其格式及利用說明如
77 C PIC 9(3) VALUE 0.
77 S PIC 9(4) VALUE 0.

╭═════════╮



│ └ {THRU} ┘ │
2、非數字性資料
1.非數字性的資料搬移,其則是一律由左向右一一搬移。
三個部分使用過:
編譯程式無法識別利用者所指定的檔案開啟模式 翻譯社正確的
子句或陳說組成,子句或陳說係由單字組成,單字則由字母構成
I7:TABLE KEY DATA-NAME IS
SOURCE-COMPUTER. IBM-PC.
例: DIVIDE 10 INTO B GIVING D. (D=B/10)

改變其意義與用法。
│ VARYING {資料名稱-1} FROM {資料名稱-1}│
2、前提名稱前提式
WORKING-STORAGE SECTION.
1.若是 LABEL 子句選擇OMITTED時,弗成採用本子句。
2.簿本句一般均省略不寫 翻譯社

5、DATA 子句
├─出身日期 ─┼─月
├────┼──┼──┼─┼─┼─┼────┼───┤
B 470 3350 470+3350 3820
│ {資料名稱} │
2、AUTHOR 段
+ CHE OF STU-REC.
文字性: A
輸出效果:1,234,567,890
3.假如選擇項之間未加上空白或逗號時,則畫面上將呈現
┌─────────────────────┐
│ MOVE 起原區 TO 目 翻譯區1 [目的區2]... │
SELECT CC ASSIGN TO PRINT "PRINTER".
§1-4 編譯程式
0000-MAIN-RTN.
├─員工姓名
│ 88 條件名稱 VALUE 定字-1 [THRU定字-2]...│
01 OUT-REC PIC X(63).
PIC 9(2).
例 A>RMCOBOL TEST
數的位置則必須是一個數字性資料名稱。
第一種花式:
│ ASSIGN 子句 │
§1-3 式編寫體式格局

例:某程式中需同時開啟主檔和異動檔,則本
表示表格為 T1(1) T2(1) T3(1) T1(2) T2(2) T3(2)
WRITE OUT-REC FROM ALL "-" BEFORE 1.
by a space or comma.
數的位置則必需是一個數字性資料名稱。
入:
程式在編寫過程當中一定會並到某段程式內 翻譯連續串敘述會在

SELECT OLD-FILE
┌──┬──┬───┬───┬───┬───┬───┐
例: 77 A PIC 99B99B99.


第一章 COBOL程式說話概論
WRITE OUT-REC FROM HEAD-3 BEFORE 1.
RECORD CONTAINS 30 CHARACTERS
MOVE TOTAL-SCORE TO TOTAL.
例:貪圖使用OPEN OUTPUT敘述對一個分歧檔案開啟的外
223

檔案描寫句中含有不准確的語法構造 翻譯社
式,統計該校各年級各班之男女生各有幾多人。

│ CLOSE {資料檔名-1}... │
3.如果是表資料檔 翻譯資料讀進來處置,處置後馬上寫

244

4.D:於編譯程式時不顯示犯錯誤訊息。
5.空白時表正常處置 翻譯社

C 260 1200 260+1200 1460
245



例: REMARK. THIS IS A TEST.
A.INPUT-OUTPUT SECTION 中 翻譯 SELECT 子句中指定過。
語法如下:
例: DATA-WRITTEN.
INPUT模式。
例 A>RMCOBOL TEST K

AUTHOR 段是描寫程式設計者姓名 翻譯段落 翻譯社本段可省略 翻譯社
DISPLAY "班 級 1 2 3 4 5".
│ADD 加數 ...GIVING 運算了局 [ROUNDED] │

ID DIVISION.
┌────────────────────┐
└───────────────────┘
得超過十八位。
└────────────────────┘

│ {定字} │
OPEN INPUT STU-FILE OUTPUT OUT-FILE.
錯誤訊息,供應您參考。編譯時所產生之錯誤訊息可分為四類:
...
217

ID DIVISION.
MS-COBOL為
E285:LEVEL 88 CONDITION-NAME REQ'D
使用OCCURS子句的第2種格式時,貧乏DEPENDING ON片語。
│ [ON SIZE ERROR 處置論述] │
經MOVE之後目標區之值為"WELCOME"
║ 夾雜運算 (COMPUTE) ║
SELECT OUT-FILE ASSIGN TO PRINT "PRINTER".

試資料,起首必須在資料部中界說前提名稱,其花式以下:
在編譯程式之前,起首操縱文書編纂器來製作原始程式。當
在程式指令之句型,除大寫的保存字外,另有很多
├─────────┼─────────────┼──────────┤
利用PERFORM論述臨時分開今朝 翻譯法式,能移至該自力出來,此
§6-2 表格之宣佈方式

例: RM-COBOL為
┌───────────────────┐
MULTIPLY 90 BY 10 GIVING D. (D=90*10)
...
ELSE IF GRADE-B MOVE "B" TO POINT.
非數字性資料最長位數為65280個字元。
A>RUNCOB 路徑名 檔名
ADD 1 TO N(Y 翻譯公司 C , 1)
區入手下手編寫 翻譯社FD之後隨著檔案名稱,此檔案名稱需和SELECT子句
E80 :"ALL" FIGURTIVE ILLEGL
E100:ARITHMETIC EXPRESSION SYNTAX
述應為STANDARD或OMITTED。
第七格為毗連區,可在此區填入:
PERFORM 1000-LOOP-RTN VARYING C FROM 1 BY 1 UNTIL C > 100.
例: 77 A PIC 9(4) VALUE 1234.
227

之部分將被截掉,因此產生了不正確的了局,為了防止此種
在非數字值定子的陸續列上並沒有左引號記號 翻譯社

此段是用來講明履行目標程式所利用之電腦機型。

編纂性: .,,,B,O,+ 翻譯公司- 翻譯公司/ 翻譯公司Z,$,DB,CR 翻譯公司*
1.乘數和被乘數位置可所以一個數字性定字或者資料名稱
╭═══════╮
第二章 辨認部及裝備部


COBOL程式中檔案 翻譯根基輸入輸出論述有四個,逐一介紹以下:
號來鑒別。LABEL子句則是用來指明資料檔檔頭否有標
第六章 迴圈與表格化
WORK-REC TOTAL-REC TOTAL-REC
│ ╭ 子句 ╭ 單字 ╭ 字元 ╭ (1) 數字字元
MOVE CORR STU-REC TO WORK-REC.
另外編寫程式時,每個論述要以句點"."結尾 翻譯社
77 C1 PIC 9(2) VALUE 0.
77 C2 PIC 9(2) VALUE 0.
01 TABLE-REC.
02 C11 PIC 9.
02 FILLER PIC X(3) VALUE " *".
02 C22 PIC 9.
02 FILLER PIC X(3) VALUE " ="
02 R PIC Z9.
02 FILLER PIC X(10).


1.(自力項目從A區起頭編寫,且階級號碼必需為77 翻譯社
2.由於是自力的項目,是以其資料名稱必需是獨一 翻譯
本花式和第一種程式之差別在於第一種花式只做一次,而本
例: 01 EMP-NO VALUE ZERO.
2.被比力之資料也能夠為運算式的組合 翻譯社
3.關係運算子句用英文字或數學符號。
OBJECT-COMPUTER. IBM-PC.
├────┼──┼──┼────┼───┼───┤
MOVE "350813" TO A.
檔案既然有開啟 翻譯動作,也必定有關閉 翻譯動作 翻譯社其花式
│ V │此符號不佔位置,且每個PIC子句 │

└───────────┘
第二種花樣:
2.使用時從最高條理之號碼開始,其號碼為01,須從
STOP RUN.
270


FD EMP-FILE
│ │ │ │年│月│日│ │ │
║ 四捨五入 (ROUND) ║
│ ENVIRONMENT DIVISION. │
SUBTRACT CORR WORK-REC FROM TOTAL-REC.
暗示其還分細項目,即界說了多項的單層表格 翻譯社
MOVE ZERO TO OUT-REC 設定 OUT-REC = 0
│ │數資料,留意不克不及寫在兩個9的中央。 │
│ DIVIDE 除數 INTO 被除數 GIVING 運算成效 │
222

├──┼──┼───┼───┼───┼───┼───┤
使用多層表格時,需注重以下事項:
由於COBOL具有以下三大特征,是以普受常人所樂用,不
╰ ╰ │ 描述句 │
DISK 磁碟機 輸入或輸出
WORKING-STORAGE SECTION.
裝備部包含兩個節,一為機型節,一為輸入輸出節。
└────────────────────┘
│ [ON SIZE ERROR 處置懲罰論述] │
MOVE 1234567890 TO A.
MS-COBOL是Microsoft公司出書 翻譯COBOL版本,而RM-COBOL
OR NOT GRADE-OK GO 2000-READ-RTN.
節制之PERFORM論述。
值編纂資料項 翻譯社

常主要 翻譯社茲介紹以下:
E223:FILE RECORD SIZE DECLARATION
COLLATING子句只能用於索引檔。
│ A │每一個A默示一位英文字母或空白 翻譯資料。│
90,03 欲進行之動作與媒體的裝備名稱相衝? 翻譯社
1.對系統裝備名稱為OUTPUT、PRINT或PRINTER的檔案執
┌──────────────────────┐

例: SUBTRACT 10 FROM A (A=A-10)
連串之判定,此時應留意IF和ELSE之對應關係,其花樣以下:
GO 2000-READ-RTN.

例二:試印出九九乘法表 翻譯COBOL程式。
例:每資料記錄巨細為30個字元,則本子句可寫
利用者界說的字語長度大於30個字元。
└────────────────────────┘
§2-3 類型
DISPLAY "==================================".
壞掉了,版本不准確。
翻譯基本意義就是要有一套能合用於各類廠牌電腦利用之標準化
解: IDENTIFICATION DIVISION.
例: MULTIPLY A BY B. (B=A*B)
┌────────────┐
IF SEX = "M" MOVE "男" TO SEX-O
數字性: 9,V,S,P

最常呈現的指示訊息。
01 STU-REC.
02 STU-NO PIC 9(6).

259

02 NAME PIC X(8).
02 CHI PIC 9(3)V9.
02 ENG PIC 9(3)V9.
02 MAT PIC 9(3)V9.
02 PHY PIC 9(3)V9.
02 CHE PIC 9(3)V9.
└─────────────────┘
指出檔案描寫句內的VALUE子句所界說的資料名稱,已被
例: 77 SW PIC X(3).
(二)程式設計師自定字元

I5:SCAN RESUME
WRITE OUT-REC FROM HEAD-3 BEFORE 1.

PRINT 印表機 輸出
~P9D0W3Z3G2L12X8
│ IF 前提式-2 │
常數係以表示現實 翻譯資料值,依其形態可分為定字
漏失的現象。
ADD 1 TO N(Y , C , 2).
├────┼──────────────────┤
║ COBOL ║

MOVE GRADE TO GRADE-O.

(一)循序號碼區(Sequence number):

╰════════╯
│ [OCCURS 子句] │
AFTER J FROM 1 BY 1 UNTIL I > 5
E124:COLLATING SEQUENCE INVALID
ENVIRONMENT DIVISION.
│ IF 前提式-1 │
§2-1 辨認部

2.運算式是由資料名稱或定字合營運算子組合而成,其基
{GREATER THAN}
│ │例: PIC S99 │
0000-MAIN-RTN.
關係,是屬根基項目之一種。
A   1   2 1 1 
╭════════╮
回原資料檔時,須選擇I-O模式。
01 EMP-REC.
02 EMP-NO PIC X(6).
02 NAME PIC X(8).
02 SEX PIC A.
02 ID-NO PIC X(10).
02 ADDR PIC X(30).
解:IDENTIFICATION DIVISION.
例: SECURITY HIGH.

│ │用來透露表現數字性資料的正負號,須編 │
D 6 6
CLOSE STU-FILE.
│ LABEL {RECORD IS} {STANDARD} │
FD AA LABEL RECORD IS STANDARD
DISPLAY N(I , J , K) POSTITON 0 " ".
(三)類似英文─說話結構與英文十分類似,為一白話化、文
§3-1 檔案描寫句

變數名稱 WORK-REC TOTAL-REC 運算 了局
紀錄描寫句(Record Description Entry)的功能是用來描寫
義初值。
║ 加法 (ADD) ║
行。
當編譯程式偵測到程式語法上的毛病時,將以錢字符號

WRITE、OPEN OUTPUT或EXTEND動作。
前提名稱前提式是用來偵測資料項目內所含 翻譯資料是不是
3.如果程式中此行省略,未宣佈結構者,則視為
二元挨次檔。


226

╰═══════════╯
,但目標區的資料已被濫觞區的資料所取代 翻譯社
在所指出的內容中須要一前提名稱。
│ [ROUNDED] │
DATA DIVISION.
其格式以下:
例一:設計一印出1+2+3+4+...100之和 翻譯COBOL程式。
可能是一個記實描述句所描述的記實名稱(稱為輸入),也可
MULTIPLY C BY SUMS ON SIZE ERROR DISPLAY

┌──────────────────────┐

ENVIRONMENT DIVISION.
╰═══════╯
DISPLAY A.
1.使用多層表格時,此時OCCURS子句可堆疊利用,但只有
║ 開檔(OPEN) ║
繼續寫時,於第二行之第七格加上一個"-"符號以
2.花樣 翻譯運算方式是乘數和被乘數相乘,相乘後的結果存
1.資料名稱的定名規則可參考前面之使用者界說字的
3.OMITTED 為無標籤記號者,平日利用於卡片檔、報
RECORD CONTAINS 71 CHARACTERS
┌─────────────────────┐
│ [ROUNDED] │
-------- -------- ---- ---------- ----- -------

1.簿子句由B區入手下手編寫。
2.每資料檔必需由程式設計師設定一獨一無二
1000-LOOP-RTN.

例: DIVIDE A BY 10 GIVING C REMAINDER D.
§5-3 範例
號碼便可,餘此類推。
│ [ON SIZE ERROR 處理敘述] │
附錄1:RM-COBOL編譯時所產生 翻譯毛病訊息
238

例:01 TABLE-REC.

第一種花式:
例: 來源區 PIC X(10) 內含值為"WELCOME TO"
以上根基項目或附屬之集體項目。以下圖之員工
或THRU來設定局限,個中法式名稱-1為欲處置懲罰之啟始法式名稱,
C(2,2 翻譯公司1) C(2,2 翻譯公司2)
╰(Entry) │
中某一名置的資料拷貝一份或多份至其所指定之記憶體內,其格
E261:IDENTIFIER QUALIFICATION
B   2         2
必需選擇OUTPUT模式。使用本模式所開啟之檔案,
├─────────┼─────────────┼──────────┤
例: 濫觞區 PIC 9(3)V9(2) 內含值為00135.780
相加,最後將運算成果貯存於被加數的位置內。
資料項目:

│ ┌─年
6、SECURITY 段
╭══════════╮
│ RMCOBOL 路徑名稱 檔名 [選擇項] │
、77、88等。
│SUBTRACT 減數 .. FROM 被減數 GIVING 運算效果│

例一: 計算S=1*2*3*... 翻譯值。
2000-READ-RTN.
2.OCCURS産生的次數必須是一個大於零的正數定字資料。
│ORGANIZATION IS [LINE] SEQUENTIAL │

286

向的資料內容,我們稱為三層表格(三維陣列) 翻譯社
名內定為.LST,當程式有毛病時,使用列印檔有助於查
本花式功能和格局二相同,其差別為被除數與除數位置更換

PROCEDURE DIVISION.
STOP RUN.

2.因每個紀錄的巨細已完全在記錄描寫句中,故本
一、某公司將其人事資料儲存於磁碟上試設計一不包含法式部的
2000-READ-ERN.
╰═════════╯
3、PICTURE 子句
┌─────────┬─────────────┬──────────┐
上的字元。
│ {索引名稱-1} │
W29:FILE DATA RECORD DEFINITION

翻譯社通常區塊內 翻譯資料存滿時才會産生現實的寫入動作。

A 880 4200 880+4200 5080
最低一層可以使用PIC子句。
GO 2000-READ-RTN.
┌──────────────────────┐
RECORD子句中的VARYING DEPENDING ON片語中所利用的資
下圖之員工編號、性別等。
省略。
他科技用途者不同,它需要有較高速度的輸出裝備,方足以處置
本花樣和第二種程式之差異在於第二種格式固定做幾回,而
254

║ 空白符號(B) ║
例: PROGRAM-IF. TEST.
╭═══════╮
指出上一次發生毛病之列編號 翻譯社
281

└──────────────────────┘
250

第三種花式:
§3-2 紀錄描寫句
毛病之産生,可在運算指令中加上ON ERROR子句來處理。
DATA DIVISION.
資料記實(Data Record)是資料檔 翻譯基本單元,每個
第五章 前提敘述
§4-3 算術運算處置
領會指令的意義。
├─────────┼─────────────┼──────────┤
員 工 明 細 表
║ 逗號(,) ║
第三種花式
SELECT AA ASSIGN TO RANDOM "A:PP.DAT".
STOP RUN.
SEQUENTIAL的檔案做I-O處置。
┌──────────────────────┐
WRITE OUT-REC FROM WORK-REC BEFORE 1.
從錯誤之處繼續翻譯,但不會顯示本訊息;若是編譯程式沒法

│QUOTE 翻譯公司QUOTES │表示一個或多半個引號 │同上 │
│ [CORR] │
§5-3 類型

(3) 乘、除
│學號│姓名│性別│班級│品級│學分│
1.依貯存煤體來分:
對比常數ALL的利用方式是不正確的 翻譯社
FILE-CONTROL.
│ [ON SIZE ERROR 處置論述] │
╰(Statement)╰ ╰ ╰
RECORD 子句是用來示意一個資料記實的大小 翻譯社
目外,還有一種自力項目。自力項目與其他項目之間並沒有任

┌────────────────────┐
段落。
此段是用來描述程式之秘密程度。本段可以省略。
SUBTRACT 10 A 30 FROM C GIVING D (D=C-A-B)

VALUE 子句 翻譯功能是將某特定資料設定給某一資料名稱,
小寫的單字,如程式名稱(Program Name)、資料項目名

├────┼──────────────────┤
│ [VALUE 子句] │
若是運算後之後果大於其存放效果之位置時,此時跨越
DISPLAY "INPUT N:".
(3)檔案開啟之個數已達到功課系統的極限 翻譯社
附錄3 MS-COBOL與RM-COBOL之異同
在報表製作中經常將數字前引零以空白代替,此時可以使用Z
02 STUD-NO PIC 9(6).
02 STUD-NAME PIC X(8).
4.數字性資料最長位數為18位(不包括正負符號),
此二種花式與加法的二種格式類似 翻譯社
IDENTIFICATION DIVISION.
試設計一列印成就單的程式
Syntax error :option characters must be followed
2.外部裝置名稱是用來指定現實輸入輸出時所使
└─────────────────────┘
"學號 姓 名 性別 班級 品級 點數 學分".
符號來完成。
種有去有回 翻譯功能與GOTO一去不回頭完全不同 翻譯社
P.S. "[]"暗示此句可省略 翻譯社
ADD 10 A 20 GIVING C (C=10+A+20)
E96 :NONNUMERIC LITERAL REQUIRED
5.每單字之開首及末尾不得利用毗連符號"─"。

ACCEPT DATA-REC.
│ 9 │每一個9透露表現一名數字性資料的數字 │

2.OR可由兩個或兩個以上之條件式所組合而成。

265


(1) 正負號
子目次下之TEST檔。
在數字性資估中假如所宣佈之位置比現實位數大時,此
└──────────────────────┘
┌─員工編號

名稱則可全部利用阿拉伯數字,此為獨一之例外 翻譯社
│PERFORM [法式-1 {THROUGH} 法式名稱-2] {資料名稱}│
申明如下:
§3-2 紀錄描寫句
┌──────────────────────┐
學生檔花樣:
RM-COBOL為
│ [DATA 子句] │
╭═════╮
1.RECORD IS 或 RECORD ARE 任選其一。
2.由於紀錄描寫句緊接著描寫為資料錄的紀錄名稱,
例:01 TABLE-REC.

當局乃邀集首要電腦製造廠商、用戶及學術機構等於一九五九年
235

1.定字所利用的資料性質必需與該資料名稱中PIC子

└────────────────────────┘
MOVE CLASS-NO TO CLASS-NO-O.
經MOVE之後目標區之值為135.78
├────┼──────────────────┤
│ . │符號佔一個位置,且每一個PIC子句 │


│ TIMES 饬令處置懲罰論述 │
號。

│SPACE,SPACES │默示一個或多數個空白 │同上 │
§2-1 辨認部
中A區係從第八格至第十一格,凡是部、節、段之名稱檔案
MS-COBOL與RM-COBOL最大之不同處是在於裝備部 翻譯SELECT
ENVIRONMENT DIVISION.
接。
2.Read error for file : 路徑名稱 檔名
2.文數值性定字:凡由隨便字元(引號除外),由雙引
E311:PARAGRAPH-NAME UNDEFINED
後果 翻譯位置則必需是一個數字性或編纂性的資料名稱 翻譯社
超過120字 翻譯社而且不行作數學運算。
┌──────────────────────┐
每節分為若干段,每段由一個或一個以上 翻譯句子組成,句子則由
例: 濫觞區 PIC X(7) 內含值為"WELCOME"
當PERFORM論述中僅包含法式名稱-1時,表程式僅執行程式,
2.若是該資料項目在程式中佔有貯存位置,但該項目
ELSE
┌─────────────────┐
第二種格式:

為:
份或右邊小數部分其多出來的位數將會自動補零。
法是不是正確,如果發現有毛病時,編譯程式會在毛病 翻譯處所顯示
│ │只限用一個 │
218

軟體也無須作太大地點竄,利用十分便利。

D 120 120
PRINTER 指定由印表機輸出。
(二)連接區(Continuation Area):
02 A PIC 9(3) VALUE 880.
02 B PIC 9(3) VALUE 470.
02 C PIC 9(3) VALUE 260.
02 D PIC 9(3) VALUE 120.
01 TOTAL-REC.
02 A PIC 9(4) VALUE 4200.
02 B PIC 9(4) VALUE 3350.
02 C PIC 9(4) VALUE 1200.
論國內或國外,均廣泛而遍及地利用。
┌────────────────────────┐
例: ADD 10 GIVING (A-10)

1、階層號碼
WORKING-STORAGE SECTION.
I9:FIRST DUPLICATE CHARACTER IS
§1-3 程式編寫體式格局
│ ORGANIZATION 子句 │
1.寄存運算成績的位置因不介入運算,所以可所以一個數
指出檔案描寫句內 翻譯VALUE子句所界說的資料名稱,在資
SELECT OUT-FILE ASSIGN TO PRINT "PRINTER".
A>RMCOBOL C:\COBOL\TEST
249

在B區中發階層號碼01或77 翻譯社
01 DATA-REC.
88 OVER VALUE "999".
02 Y PIC 9.
02 C PIC 9.
02 S PIC X.
77 V PIC 9.
77 H PIC X.

C   3   4     3   3
88 FUNC-OK VALUE 1 THRU 5.


264

PROGRAM-ID. SAMPLE.
1、饬令列之毛病訊息
1.假如只下達RMCOBOL這個命令,則畫面大將會出現如下

在ALPHABET子句中指定的定子大於單一字元的長度。編譯程
ELSE GRADE-E MOVE "E" TO POINT.

解:
└──────────────┘

CONFIGURATION SECTION.
提示訊息:I 表示該訊息僅供參考用,錯誤代碼規模1~17 翻譯社
為常數,但不克不及同時為常數資料。
名稱即資料名稱(Data Name)。資料名稱其利用法則以下:
有輸入檔、輸出檔、輸入輸出檔等 翻譯社
│ADD 加數 ... TO 被加數 [ROUNDED] │
E162:FD PARAGRAPH SYNTAX
§4-2 資料搬移處置懲罰
PROGRAM-ID. YUAN.

變數名稱 內含資料 內含資料 運算 成績
IF C > N GO 2000-OVER-RTN.
│ P │本符號假如寫在9的右側時表示整數 │
下:
22 所指的鍵值重覆,表欲寫入的紀錄已存在。
23 所指的鍵值不存在,表欲讀取 翻譯記錄不存在。
24 磁片已無足夠空間存放。
30,nn 履行輸入輸出時産生系統故障。
FD OUT-FILE LABEL RECORD IS OMITTED.
261

02 TAB1 OCCURS 2 TIMES.
03 T1 PIC 9(3).
03 T2 PIC 9(3).
03 T3 PIC 9(3).
╭═════════╮
E263:IDENTIFIER UNDEFINED
項目中則須含有不異名稱的資料項目,不然沒法做對應
212

BLOCK CONTAINS 1024 CHARACTERS

在這些複雜的計算與處置中可能產生一些暫時性資料,但是
3000-CLOSE-RTN.
PERFORM VARYING I FROM 1 BY 1 UNTIL I > 3
│ [ON SIZE ERROR 處理論述] │
MOCE A TO BM 設定 B=A,C=A
號括起來的字元組都為文數值性定字,其長度不得

2.如果利用 ORGANIZATION IS BINARY
AUTHOR. YUAN.
└───────┘
E307:OPEN MODE TYPE
FD為檔案描寫的縮寫,從A區開始編寫,其後的子句則從B
│ {I-O {資料檔名-3}} ... │
PROGRAM-ID. TEST2.
員工檔格局:
214

│ADD {CORRESPONDING} 加數 TO 被加數 [ROUNDED]│

╰═══════╯


257

§5-2 巢狀前提式與複合前提式
體預留位置,且替該位置設定一個名稱供程式處置利用,此
PERFFORM VARYING C1 FROM 1 BY 3 UNTIL C1 > 9
COMPUTE R = C1 * C2
不會被程式直接利用時,可使用保存字[FILLER]取
於訊息文字之後的兩個單引號中。
或巨細型電腦,幾近都可以使用此種程式語言,
└────────────────────┘
└─其他
,是以資料做搬移時對於分歧的型態也有不同 翻譯搬移劃定規矩,茲將

90,04 欲進行之動作與界說的組織不符合合。
COBOL 的構造與一般英文文章佈局大致類似,分為部(Divi-

IF (STU-NO OS NOT NUMERIC) OR NOT SEX-OK
└──────────────────────┘
何從屬關係,其花樣及利用劃定規矩分述以下:
3.假如濫觞區的位數小於目的區的位數時,則左側整數部
ELSE IF GRADE-D MOVE "D" TO POINT.
存放於被除數的位置 翻譯社
與用處,利用保留字時,切記不可將其字母拼錯或任意
的名稱、性質、紀錄巨細、檔頭是不是有標籤、標籤內容等特征,
例: 01 STUD-REC.


編譯程式標註為不准確之資料項目。
DATA 子句是用來描寫資料檔的紀錄名稱,其格局
└─────────────────────┘
翻譯單層表格。若産生在集體項目中(未含有PIC子句),
WRITE OUT-REC FROM HEAD-2 BEFORE 1.
LABEL RECORD IS OMITTED.
,且不克不及利用無名氏(FILLER) 翻譯社

│ COMPUTE 運算成效 [ROUNDED] = 運算式 │
,使資料不會看起來一團糟。其利用方式及申明以下:

│ └ {THRU} ┘ │
└────────────────────┘
2.每單字最長不得超過30個字元 翻譯社
3.不得與保留字不異。
4.每單字至少應有一個英文字母,但程序部之段落

當畫面上泛起如上訊息時,則可能為覆疊檔(Overlay)
│ 77 資料名稱 其他子句 │


02 PIC X(12) VALUE "TOTAL AVG ".
01 HEAD-3.
02 PIC X(8).
02 PIC X(65) VALUE ALL "-".
01 WORK-REC.
02 PIC X(8).
02 STU-NO PIC 9(6).
02 PIC X(2).
02 NAME PIC X(8).
02 PIC X(2).
02 CHI PIC 9(3).9.

260

02 PIC X(2).
02 ENG PIC 9(3).9.
02 PIC X(2).
02 MAT PIC 9(3).9.
02 PIC X(2).
02 PHY PIC 9(3).9.
02 PIC X(2).
02 CHE PIC 9(3).9.
02 PIC X(2).
02 TOTAL PIC 9(3).9.
02 PIC X(2).
02 AVG PIC 9(3).9.

§4-1 I∕O處置懲罰
OBJECT-COMPUTER. IBM-PC.
§4-4 範例
ENVIRONMENT DIVISION.
,然則它們卻是大同小異的。
2、VALUE子句
{LESS THAN}
FD STU-FILE LABEL RECORD IS STANDARD.
│ [REDEFINES 子句] │

指出的資料項目重覆屢次界說且沒有恰當地限定。
1000-WRITE-HEADING-RTN.
指出此文字名稱在此之前已界說過,不克不及再反複界說 翻譯社

翻譯社B區則從第十二格至第七十二格,任何句子、子句或指

│ │ │ │ 誕生日期 │ │ │

77階層號碼的資料項並沒有描寫資料項目。如貧乏
2.條件名稱是用來設定資料之範圍,而不是界說資料位置
1.每個Z符號都佔用一個儲存位置。
2.Z符號只能用在9 翻譯左側。
所謂保存字就是指電腦能熟悉 翻譯單字,沒必要程式設
ACCEPT N POSITION 0
訊息外,還包括下面之訊息,以告知您那一個不是選擇
§4-3 算術運算處置
計師加以申明或定義者 翻譯社這些保存字都具有特定之意義
┌────┬──┬──┬─────┬────┬───┐

目以後。
290

字來代表順序,亦可以空白取代。
當程式譚完成時,畫面將顯示以下訊息,其中p默示有
CONFIGURATION SECTION.
│ [ON SIZE EROOR 處置懲罰敘述] │
資料紀錄是由一個或一個以上的資料項目所構成,而資
SELECT TRANS-FILE

INPUT-OUTPUT SECTION.
READ STU-FILE AT END GO 3000-CLOSE-RTN.
其搬移規則申明以下:

E297:MOVE NONINTEGER TO NONNUMERIC
料部中並沒有正確地描寫此資料項目 翻譯社
│ 饬令處置懲罰論述 │
IF (J = 1 AND K = 1)
│ └─日
B 470 3350 3350-470 2880
第一種格局:
易進修,縱使沒學過此種說話者,亦可大概馬虎
┌─────────────────────┐
能是一個工作暫存區內的名稱(稱為暫存區) 翻譯社
Options : [(][A][B][C][D][E][K][L/L=path][M]
MOVE CREDIT TO CREDIT-O.
│ ASSIGN TO 系統裝置名稱 {"外部裝配名稱"}│
同 A>RMCOBOL TEST
毛病訊息:E 默示嚴重錯誤,毛病代碼規模80~999 翻譯社

若是該資料檔不存在,則將會產生一個空檔。若是
┌───────────────────────┐
║ 超載處置 (ON ZISE ERROR) ║
262

4.Load error for file : 路徑名稱 檔名
╭═══════╮
例 A>RMCOBOL TEST L
│ {PICTURE} IS 字元串符號 │
└────┴──────────────────┘
C.法式部 OPEN 過。

├─────────┼─────────────┼──────────┤
第二章 識別部及裝備部
│ VALUE OF 標籤名稱 IS [資料名稱] │
A 880 4200 4200-880 3320
中定字又分成數字性與文數值性兩種,茲分述以下:
檔,其格局及使用法則申明以下:
PROGRAM-ID. TEST.
IDENTIFICATION DIVISION.

員工明細表花式:
B.FILE SECTION 中 翻譯 FD 描述過。


有主檔、異動檔、工作檔、備份檔等。
"OVERFLOW" STOP RUN.
(Clause)、單字(Word)及字母(Character);每部門為若干節,
3、獨立項目(Independent Item)
E259:IDENTIFICATION DIVISION SYNTAX
人並非萬能的,因此編寫程式時不免不小心打錯,不外沒
├──┼──┼──┼──┼──┼──┤
└──────────────────┘
88 SEK-OK VALUE "M" "F".
3.假如集體項目界說了初值,則其根基項目不克不及再定
E260:IDENTIFIER INVALID
位數來決定,若該小數點後有兩位時,則運算結果將在小數
sion)、節(Section)、段(Paragraph)、句子(Sentence)、子句
ADD 1 TO C.
在這些資料檔中,和在資料處置過程當中,資料紀錄與資料項目均非
SELECT OUT-FILE
OBJECT-COMPUTER. IBM-PC.
區,再將其傳送至輸出區,然後寫至所指定的輸出裝配上;然則
E215:FILE RECORD KEY INVALID
MULTIPLY 25 BY C. (B=25*C)
DISPLAY SUMS.
│ {索引名稱-1} {索引名稱-1}│
學生檔格局

│RECORD CONTAINS [整數-1] TO 整數-2 CHARACTER│
請參考下表說明:
§1-6 資料檔概述

ADD 10,A,20 TO C (C=10+A+20+C)
COPY論述貧乏了結束句號 翻譯社編譯程式會主動假定一個竣事句
0000-MAIN-RTN.
例:01 TABLE-REC.
第二種花式:
小數第一名開始由左向右搬移。
取功能就是將貯存在外部媒體上的資料讀入所指定之輸入區
式處理中的名稱,並指定其輸入或輸出的裝配名稱。其

該資料檔已存在,則將該檔刪除並從新成立一新檔

ADD 1 TO C11
DISPLAY TABLE-REC POSITION 0.
┌─────────────────────┐
A>COBOL 路徑名 檔名
員工編號 姓 名 性別 身份証號 電 話 住 址
237


SELECT MASTER-FILE
│ [BLANK 子句] │
284

第四章 法式部
01 WORK-REC.
02 A PIC 9(3) VALUE 880.
02 B PIC 9(3) VALUE 470.
02 C PIC 9(3) VALUE 260.
02 D PIC 9(3) VALUE 120.
01 TOTAL-REC.
02 A PIC 9(4) VALUE 4200.
02 B PIC 9(4) VALUE 3350.
02 C PIC 9(4) VALUE 1200.
WRITE OUT-REC FROM HEAD-3 BEFORE 1.
└────┴──┴──┴─┴─┴─┴────┴───┘
COBOL程式。底下為該人事資料檔格局:
目次 翻譯路徑,而檔名則是編譯程式將原始程式編譯後所產生的目
本選擇項可加上路徑名稱,使列印檔可以存入分歧
│員工編號│姓名│性別│身份証號│ 電 話│ 住 址│
-------- -------- --------- -------- ----------
描寫句FD及SD、01階級與77項目均應自A區,即第八格起頭

└──────────────┘
{資料名稱-1} {>} {資料名稱-2}
此段是描寫程式最初編寫之目期及時間。本段可省略。

所謂複合前提式是指在IF論述中,行使AND或OR把一個以上
至資料名稱-1內,再將資料名稱-1內的資料寫入所指定輸出
0000-BEGIN-RTN.
PROCEDURE DIVISION.
│ FD 檔案名稱 │
│ [SOURCE-COMPUTER.] 編譯機型描寫 │
暗示表格為 N(1) N(2) N(3) N(4) N(5)
在前面談過除自力項目無任何隸屬關係外,其他資料
║ 乘法(MULTIPLY) ║
檔案開啟模式型別為EXTENDED、INPUT、OUTPUT與I-O 翻譯社
SELECT CC ASSIGN TO PRINTER.
│MOVE [CORRESPONDING] 起原區 TO 目標區1 [目的區2]..│
資料名稱-1必需是記錄描述句所描寫的記錄名稱,所有
~p9d0g2w1z1l24x2
將顯示於本訊息以後。
└────────────────────┘
§5-2  巢狀前提式與複合前提式
所描寫的檔案名稱溝通 翻譯社若是有好幾個檔案時,此時每一個資料
第三章 資料部
紀錄、出身日期等 翻譯社
並同時檢查程式語法是不是准確。編譯程式 翻譯編譯語法格式以下:

╰═══════╯
230

│9(6)│X(8)│9(3)V9│9(3)V9│9(3)V9│9(3)V9│9(3)V9│

目的區 PIC 9(3)V9(2)
欲輸出 翻譯資料可存入此區域內(稱為輸出區),但資料名稱-2
檔案論述句中的DATA RECORD子句所設定 翻譯資料名稱並沒有

ADD C TO S.
SELECT NEW-FILE
第六章 迴圈與表格化
E220:FILE RECORD SIZE DATA SECTION
DATA RECORD IS EMP-REC.
┌────────────┐
貼紙上寫上辨認記號,而內部標籤則是利用程式控制,
MS-COBOL為
╭════════╮
GO 2000-READ-RTN.
§3-3 工作暫存節
LABEL RECORD IS STANDARD

處置要求:(不准確之情形)
SELECT STU-FILE ASSIGN TO INPUT "STU.DAT"
契合 翻譯社
90,05 檔案截斷動作與其它使用者有所衝?。
每列的前6格稱為循序號碼區,機械會主動產生6位數
│ S │在字元串符號最右側,此符號也不佔 │
關係前提式是用來比較兩個資料之巨細,其花式及利用
PERFORM論述內利用了GOBACK,GO TO或STOP RUN等論述做為
│ IDENTIFICATION DIVISION │
翻譯前提式合併成一個前提式,其格局以下:

經MOVE以後目標區之值為345.67
(6)被開啟之檔案已被庇護、無法做寫入動作。
替定字用以表示特定之資料者。請參照下表:
│ [RECORD 子句] │
左至右一一比力每一個字元,根據其ASCII碼大小來決意
用法也大致溝通,縱使更換廠牌、機型,運用
PROCEDURE DIVISION.

檔案之紀錄鍵值重覆屢次界說且沒有恰當地限制。
0000-BEGIN-RTN.

SELECT EMP-FILE ASSIGN TO RANDOM "EMP.DAT"
2.對系統裝備名稱為CARD READER或INPUT的檔案履行
│ [ON SIZE ERROR 處置論述] │
│PERFORM [法式-1┌ {THROUGH} 法式名稱-2 ┐] │
FILE SECTION.
┌──────────────────────┐
使用P選擇項時,編譯程式會將原始程式從印表機
將辨認記號寫入資料檔中,以後利用時可根據其辨認記

~p9d0g2w1z1l24x8
╰═══════╯
│ ELSE 敘述1 │
267


90,07 對唯讀檔案進行I-O處置懲罰。
91 詭計對一未開啟之檔案做I-O處置。
92 詭計對一已開啟之檔案做開啟處置 翻譯社
94 發生不准確的開啟動作 翻譯社其緣由可能以下:
94,01 檔案所指定的檔案組織其實不與外部檔案的現實檔案組織相
│ {THRU} {整數} │
I2:LAST DIAGNOSTICAL LINE
3.程式編寫時需注重,每個運算子前後起碼需一個空白。
4.在計較式中各種運算子的優先順序和算術運算劃定規矩一樣
248

1、數字性資料
1.整數部分由個位數起頭右向左一一搬移,小數部分則由
MOVE CORR EMP-REC TO WORK-REC.
裝配,其花式及利用劃定規矩以下:

附錄2 RM-COBOL 履行時所產生的毛病訊息
│ [SECURITY.] 註解 │

W48:PERFORM PROCEDURE W/O EXIT
單字須由程式設計師自行設定,其設定例則以下:
VALUE 子句為LABEL子句的補充申明,其功用是指
1.每個空白符號都佔用一個儲存位置。
2.空白符號可以使用於數字性或非數字性資料中 翻譯社
SELECT STU-FILE ASSIGN TO INPUT "TEST.DAT"
大於檔案的最大記實長度。
2.OBJECT-COMPUTER段
例二:按照下面度理要求,將毛病之學生資料剔除,印出准確之

┌───────┐
子句格式及申明如下:

明檔案符號內容,以供檔案辨認用,其花式及利用申明
┌──────────────────────┐
├─────────┼─────────────┼──────────┤
Compilation Complete:p Program,e Errors 翻譯公司w Warning
│ [PROGRAM-ID.] 程式名稱 │
此段可省略 翻譯社
VALUE"學 生 點 數 表".
1000-WRITE-HEADING-RTN.
部檔案做I-O的動作。
例: DATE-COMPILED JAN-3.
§5-1 條件式

ELSE MOVE "女" TO SEX-O.
E95 :NONNUMERIC LITERAL CONTINUAT'N
認識其所要處理之工作時,則會暫停對程式之闡明,並將本訊
1.系統裝置名稱常用的有以下數種選擇:
檔案之存放位置,其現實格局應包括磁碟機名稱、目次的路徑,
說話,所以MS-COBOL與RM-COBOL固然是兩家公司離別成長出來
此段主要目標是申明編譯原始程式所利用之電腦機
當畫面上泛起如上訊息時,表所讀取之檔案可能壞掉了。
│ └ {THRU} ┘ │
子句一般省略不用o
{運算式-1 } {=} {運算式-2 }
┌────────────────────┐

例 A>RMCOBOL TEST P

訊息,告知您若何下達完全的號令("[]"默示可省略)
255

│ [ON SIZE ERROR 處置懲罰敘述] │


文章來自: http://blog.xuite.net/emma_nicolas/tech/47212777-COBOL%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80%E6%A6%82%有關翻譯的問題歡迎諮詢華碩翻譯社

arrow
arrow
    文章標籤
    翻譯社
    全站熱搜

    cooperwhy634 發表在 痞客邦 留言(0) 人氣()