close

僧伽羅文翻譯每節分為若干段,每段由一個或一個以上的句子構成,句子則由
│ [ON SIZE ERROR 處理敘述] │
第一種花式:
IF NOT OVER
├──┼──┼───┼───┼───┼───┼───┤

§1-3 式編寫體式格局
02 A PIC 9(2).
02 B PIC 9(2).


236

案做OUTPUT或EXTEND的開啟動作 翻譯社
│9(6)│X(8)│9(3)V9│9(3)V9│9(3)V9│9(3)V9│9(3)V9│
1.88條件名稱其階層號碼必需為88,可界說於任何資料項
COLLATING子句只能用於索引檔。
RECORD CONTAINS 71 CHARACTERS
│ FILE-CONTROL. │
目次的路徑,而檔名則是編譯程式將原始程式編譯後所產生 翻譯
ACCEPT DATA-REC.
│ SUBTRACT 減數 ... FROM 被減數 [ROUNDED] │
┌──────────────────┐
│ [PROGRAM-ID.] 程式名稱 │
└───────────────────┘
║ 開檔(OPEN) ║
│學號│姓名│性別│班級│品級│學分│
╰════════╯
│ 9 │每個9表示一名數字性資料的數字 │
磁帶檔。
└──────────────────────┘
IF S = "M"
...
1.若是是把資料檔 翻譯資料讀進來處理時,則必需選擇
第一種花樣:
ENVIRONMENT DIVISION.
│ [SECURITY.] 註解 │
息顯示於毛病處。

└─其他

DISK 磁碟機 輸入或輸出
例: DIVIDE 10 INTO B GIVING D. (D=B/10)

22 所指的鍵值重覆,表欲寫入的記實已存在。
23 所指 翻譯鍵值不存在,表欲讀取的紀錄不存在。
24 磁片已無足夠空間寄存。
30,nn 履行輸入輸出時産生系統故障 翻譯社
281

╭══════════╮
╭════════╮
例: 下面為兩個集體項目IN-REC和DUFREC之描寫。
│ TIMES 饬令處置論述 │
,茲列表以下:
其格局及利用規則申明如下:

關係,當編譯程式在翻譯您 翻譯原始程式時,同時也會搜檢程式語
例: 濫觞區 PIC 9(5)V9(3) 內含值為12345.678
│ VARYING {資料名稱-1} FROM {資料名稱-1}│
╭═════╮
3.如果是表資料檔 翻譯資料讀進來處置懲罰,處置後立時寫

244

SELECT OUT-FILE ASSIGN TO PRINT "PRINTER".
DATA DIVISION.
§1-4 編譯程式
<<< 目 錄 >>>
前面介紹的是屬於一層表格,如果表格具有二個標的目的的資料
帶或磁碟中做標籤以茲判袂。標籤可分為外部標籤與內
│ ORGANIZATION 子句 │
(1) 正負號
3.其他子句包括PIC子句、VALUE子句、OCCURS子句、
MOVE STU-NO TO STU-NO-O.
│ [常數] │
1.加數的位置可所以一個數字性定字或者資料名稱。運算
D 120 120
例:每資料記錄巨細為30個字元,則簿子句可寫
├─────────┼─────────────┼──────────┤
複雜 翻譯營業資料 翻譯社為共同電腦在商業方面的廣泛用處,美國聯邦

│ [VALUE 子句] │
│ [ON SIZE ERROR 處理論述] │
│ [VALUE 子句] │
MS-COBOL則是在資料部FD子句中宣佈,宣告,其他部分大多不異
例 A>RMCOBOL TEST L
2000-OVER-RTN.
╰═════════╯

翻譯根基意義就是要有一套能合用於各類廠牌電腦利用之標準化
的程式名稱。
STOP RUN.
3000-CLOSE-RTN.
│ [DATA-COMPILED.] 程式編譯日期 │
檔案之紀錄鍵值所參考到的資料名稱還沒有界說。
領會其所要處置之工作時,則會暫停對程式之闡發,並將本訊
by a space or comma.
SEQUENTIAL的檔案做I-O處理。
│ ... │
2.被對照之資料也能夠為運算式 翻譯組合。
3.關係運算子句用英文字或數學符號 翻譯社
│ └─日
在所指出 翻譯內容中必要一前提名稱。
Compilation Complete:p Program 翻譯公司e Errors,w Warning
成績的位置則必須是一個數字性或編纂性 翻譯資料名稱 翻譯社
,但目標區 翻譯資料已被來曆區 翻譯資料所取代 翻譯社

INPUT-OUTPUT SECTION.
員工編號 姓 名 性別 身份証號 電 話 住 址
所謂巢狀條件式是指條件陳述內又有前提陳說,可用來作一
例:READ後,REWRITE前,改變了鍵值資料。

ASSIGN TO PRINT "PRINTER"
│ │只限用一個 │
│PERFORM [法式-1 {THROUGH} 法式名稱-2] {資料名稱}│

子句或陳說構成,子句或陳說係由單字組成,單字則由字母構成
│ └ {THRU} ┘ │
PICTURE 子句是用來講明每根基資料的性質與長度,
人並非全能的,因此編寫程式時不免不小心打錯,不過沒
SOURCE-COMPUTER. IBM-PC.
三、PICTURE 子句
237

SELECT STU-FILE ASSIGN TO INPUT "STU.DAT"
W48:PERFORM PROCEDURE W/O EXIT
│ [INPUT-OUTPUT SECTION.] │
║ 讀取(READ) ║
習慣上我們所浏覽的數字都是每三位數字加一個逗號,
215

示意表格為 T1(1) T2(1) T3(1) T1(2) T2(2) T3(2)
法看到,為避免處置懲罰過程中錯用了資料檔,一般均在磁
將顯示於本訊息以後。
│ SELECT 子句 │
3.程式編寫時需留意,每一個運算子前後最少需一個空白。
4.在計較式中各類運算子的優先按次和算術運算規則一樣
資料名稱-1必須是記實描述句所描寫的紀錄名稱,所有
OR NOT CLASS-OK
(一)循序號碼區(Sequence number):
└────────────────────┘
C 260 1200 260+1200 1460
└──────────────────────┘

他科技用處者分歧,它需要有較高速度的輸出裝備,方足以處置懲罰

│ [ROUNDED] │
│ [RECORD 子句] │

1.每個Z符號都佔用一個儲存位置 翻譯社
2.Z符號只能用在9的左側。
體預留位置,且替該位置設定一個名稱供程式處理使用,此
經MOVE以後目的區之值為00135.780
║ 乘法(MULTIPLY) ║
RMCOBOL為執行期間之號令,路徑名稱指的是磁碟機名稱及
WRITE OUT-REC FROM WORK-REC BEFORE 1.
從毛病的地方繼續翻譯,但不會顯示本訊息;若是編譯程式沒法
90,02 詭計利用DELETE、REWRITE敘述對一宣佈為ACCESS MODE
│ IF 條件式-3 │
DATA DIVISION.
1.被對照之資料可同時為資料名稱,或一為資料名稱一
E285:LEVEL 88 CONDITION-NAME REQ'D
幾個和式被編譯,e默示有幾個毛病,w表示有幾個正告 翻譯社
┌────────────────────┐
1.除數的位置可所以一個數字性定字或資料名稱。運算
例: MOVE 5 TO A 設定 A=5
前提名稱條件式是用來偵測資料項目內所含 翻譯資料是不是
╭══════════════╮
法是不是准確,假如發現有毛病時,編譯程式會在毛病 翻譯處所顯示
└─────────┴─────────────┴──────────┘
1.如果為固定長度資料錄時,則整數-1可省略不寫。
└→│ (Clause) │(Word)│ (Character)│ (2)文字字元
ELSE MOVE "女" TO SEX-O.
數的位置則必需是一個數字性資料名稱。
翻譯區 PIC 9(3)V9(2)
1.RECORD IS 或 RECORD ARE 任選其一 。
2.STANDARD 為有標籤記號者,平日利用於磁碟檔、

DISPLAY "班 級 1 2 3 4 5".
SOURCE-COMPUTER. IBM-PC.
是運算成績做四捨五入。四捨五入的劃定規矩係按照小數點後之
指出的資料項目重覆屢次定義且沒有恰當地限制。
辨認部編寫注意事項:
222

3.詭計利用START、READ、REWRITE或DELETE敘述對一檔
PROCEDURE DIVISION.
230

│ZERO 翻譯公司ZEROS,ZEROES │默示一個或多個零 │單複數型意義均相同 │
MS-COBOL為

│ [DATA 子句] │
(3)檔案開啟之個數已達到功課系統的極限。
273

記實長度相符合 翻譯社
(Division)│(Section)│(Paragraph)│(Sentence)├──┐
STOP RUN.
│ {CORR } │
1.本部所有部名或段名均從A區起頭編寫 翻譯社
2.IDENTIFICATION可以使用ID縮寫。
3.本部所有部名或段名及程式名稱之結束必需加句點。

一、PROGRAM-ID 段
WRITE OUT-REC FROM HEAD-3 BEFORE 1.
└──────────────────────┘

261

│ [DATA-WRITTEN.] 程式編寫日期 │
│ │透露表現此數字 翻譯局限為+0~+99.9 │
│ │暗示數字性資料假定小數點之位置 │
COBOL程式。底下為該人事資料檔花樣:
內容,我們稱為雙層表格(二維陣列)。同理假如表格具有三個方

第一種格局:
│ DIVIDE 除數 INTO 被除數 [ROUNDED] │
本選擇項可加上路徑名稱,使列印檔可以存入分歧
│ DIVIDE 被除數 BY 除數 GIVING 運算後果 │
└──────────────────────┘

例: 77 A PIC 99B99B99.
IDENTIFICATION DIVISION.
輸出效果:35 08 13
│ A │每個A表示一名英文字母或空白的資料 翻譯社
2.存取表格資料時,必須利用最低層的資料名稱
│ │例: PIC 99PPP │
"─"肆意組合 翻譯社
自力項目不屬於任何集體項目,亦不會延長出任
┌──────────────────────┐
稱(Data Name)、條件名稱(Condition Name)等,這些
╰═════════╯


│ ASSIGN TO 系統裝配名稱 {"外部裝配名稱"}│
│ [CORR] │

STOP RUN.
╰═══════╯
~P9D0W3Z3G2L12X8
子句格式及申明以下:
│ OPEN {INPUT {資料檔名-1}} ... │

E261:IDENTIFIER QUALIFICATION

E260:IDENTIFIER INVALID
E259:IDENTIFICATION DIVISION SYNTAX

1.本段為辨認部之第一段,為辨認部獨一弗成省略之
╰ ╰ │ 描寫句 │
│ [ON SIZE ERROR 處置懲罰敘述] │

基本項做相對應的相加,相加上後之成果儲存於同名稱
│ 陳說句 │ │ │ (3) 非凡字元
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.
例 A>RMCOBOL TEST
PROGRAM-ID. TABS.

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

88 SEK-OK VALUE "M" "F".
3.假如集體項目界說了初值,則其根基項目不克不及再定
A 880 4200 4200-880 3320
nn值為DOS系統功能之毛病代碼。
E173:FILE DESCRIPTION

02 N PIC 9(3) OCCURS 5 TIMES.
3.若OCCURS子句産生在根基項目(含有PIC子句),示意單
學生資料。

│ RMCOBOL 路徑名稱 檔名 [選擇項] │
(6)被開啟之檔案已被珍愛、無法做寫入動作。
~p9d0g2w1z1l24x2
E124:COLLATING SEQUENCE INVALID
289

WRITE、OPEN OUTPUT或EXTEND動作 翻譯社
~p9d0g2w1z1l24x8
合體,我們可以這樣說:
MOVE C2 TO C22.
例: REMARK. THIS IS A TEST.
此子句是用來指定所要處置之資料檔的構造。
│ └ {THRU} ┘ │
其首要目標是論述COBOL程式名稱、設計者姓名、利用單元、編
透露表現表格為 B(1,1) B(1 翻譯公司2) B(1,3) B(2,1)
項目 翻譯社
209

為:
第五章 條件敘述
,使資料不會看起來一團糟。其利用方法及申明以下:
PROCEDURE DIVISION.
能是一個工作暫存區內的名稱(稱為暫存區) 翻譯社
取功能就是將儲存在外部媒體上的資料讀入所指定之輸入區

C 260 1200 1200-260 940
例: 02 SEX PIC 9(3)
在前面所介紹之運算指令中有一個ROUNDED片語,其功能
第六章 迴圈與表格化
IDENTIFICATION DIVISION.
WORK-REC TOTAL-REC TOTAL-REC
正對資料檔做進一步處置時,則必需在處置懲罰法式部中節制。在
定之目 翻譯區內是以當資料複製完畢以後,其來源區資料不受影響
DISPLAY "1+2+3+4+...+100=" S.
OR NOT GRADE-OK GO 2000-READ-RTN.
SELECT OLD-FILE

│ 階級號碼 {資料錄名稱或資料項目名稱} │

FD EMP-FILE
B.FILE SECTION 中的 FD 描寫過。
└────────────────────┘
╰(Statement)╰ ╰ ╰
之間 翻譯程式都不會經過編譯程式編譯。本訊息和下一個訊息是
┌───────────────────────┐
SELECT OUT-FILE ASSIGN TO PRINT "PRINTER".
│ FD 檔案名稱 │
│ 88 前提名稱 VALUE 定字-1 [THRU定字-2]...│
231

2、資料錄名稱或資料項目名稱
例: RM-COBOL為
§3-1 檔案描述句
中定字又分成數字性與文數值性兩種,茲分述以下:
壞掉了,版本不准確 翻譯社
3.程式名稱最長30個字元。
或THRU來設定規模,個中法式名稱-1為欲處置之啟始法式名稱,
267

描寫 翻譯社
附錄3 MS-COBOL與RM-COBOL之異同

Options : [(][A][B][C][D][E][K][L/L=path][M]
資料檔就是───由一群性質溝通且互有關聯的資料紀錄所
MOVE C1 TO C11.
┌──────────────────┐
02 A OCCURS 2 TIMES.
03 B PIC 9(2) OCCURS 3 TIMES.

與用途,使用保存字時,切記弗成將其字母拼錯或隨意率性
子句一般省略不消o
262

│ [ON SIZE ERROR 處理論述] │
-------- -------- ---- ---------- ----- -------
在此段可記上任何備忘訊息,本段亦可以省略 翻譯社

║ ORGANIZATION子句 ║
- CHI ENG MAT PHY CHE ".
GO 2000-READ-RTN.
檔內,列印檔主檔名與原始程式主檔名不異,但附加檔
E219:FILE RECORD KEY UNDEFINED
┌─────────────────────────┐
翻譯社此段可省略 翻譯社

2.本花樣 翻譯運算方式是將被除數除以除數,相乘後的商,
例: AUTHOR. TOM.
翻譯區 PIC 9(5)V9(2)
└──────────────────┘
LABEL RECORD IS STANDARD
PERFORM UNTIL OVER.
ADD 1 TO N(Y , C , 1)
└──────────────┘

§6-1 迴圈
三、編譯程式不正常竣事

4、程式說話毛病訊息
DISPLAY TABLE-REC.
§3-1 檔案描寫句
A>COBOL 路徑名 檔名
└────┴──────────────────┘

│ READ 檔名 [INTO 資料名稱] AT END 敘述 │
OUTPUT 輸入裝配 輸出

READ STU-FILE AT END GO 3000-CLOSE-RTN.
資料記實是由一個或一個以上的資料項目所組成,而資

本花樣功能和格局二相同,其差異為被除數與除數位置調換
例: DATA-WRITTEN.
FILE-CONTROL.

PERFORM VARYING I FROM 1 BY 1 UNTIL I > 3
├────┼──┼──┼────┼───┼───┤
§§編譯時所產生的提醒訊息§§
DATA DIVISION.
ASSIGN TO RANDOM "NEW.DAT"


§4-4 類型
稱及其所利用的外圍機械設備名稱。
指出檔案描述句內 翻譯VALUE子句所界說的資料名稱,已被
┌──────────────┐
(5)檔案存在、但路徑名稱指錯地方。

225

│ CLOSE {資料檔名-1}... │
│ {索引名稱-1} │
在這些複雜的計算與處置懲罰中可能產生一些臨時性資料,可是
本花樣和第二種程式之差別在於第二種格局固定做幾回,而
PRINTER 指定由印表機輸出。

3.依用處來分:
E220:FILE RECORD SIZE DATA SECTION
IF SEX = "M" MOVE "男" TO SEX-O
│MOVE [CORRESPONDING] 來曆區 TO 目的區1 [目標區2]..│
說明以下:
├─────────┼─────────────┼──────────┤
AUTHOR 段是描述程式設計者姓名 翻譯段落。本段可省略。

IDENTIFICATION DIVISION.
239

§4-2 資料搬移處置懲罰
DISPLAY A.
當編譯程式偵測到程式語法上 翻譯毛病時,將以錢字符號
COMPUTE R = C1 * C2

1.CORR 為 CORRESPONDING 之縮寫編寫時可任選其一。
2.加數與被加數都必需是一個集體項目內所有相同名稱的

INPUT 輸入裝配 輸入
資料項目:
VALUE OF FILE-ID "A:PP.DAT".
│ [BLOCK 子句] │
READ EMP-FILE AT END GO 3000-CLOSE-RTN.
(4) 加、減
。平日區塊內 翻譯資料存滿時才會産生現實 翻譯寫入動作。
DISPLAY TABLE-REC POSITION 0.
易學習,縱使沒學過此種語言者,亦可大抵
§6-2 表格之宣佈方式
FD為檔案描寫 翻譯縮寫,從A區起頭編寫,厥後的子句則從B
│ [ON SIZE ERROR 處置懲罰論述] │
246

PROGRAD-ID. TEST1.
所謂集體項目就是指本身可再細分成一個或一個
編譯程式標註為不准確之資料項目 翻譯社


DATA DIVISION.
└──────────────────────┘
項目中則須含有相同名稱的資料項目,否則沒法做對應

│ [ON SIZE ERROR 處理敘述] │
多是一個記實描寫句所描述 翻譯記實名稱(稱為輸入),也可
假。

E159:ENVIRONMENT DIVISION SYNTAX
│ [PICTURE 子句] │
例: 01 STUD-REC.
例: 起原區 PIC 9(3)V9(2) 內含值為00135.780
紀錄描寫句(Record Description Entry) 翻譯功能是用來描述
│ {定字} │
C.法式部 OPEN 過 翻譯社
減數 被減數 TOTAL-REC
,且不克不及利用無名氏(FILLER)。
A=1,B=2,C=3,D=4,E=5。
E307:OPEN MODE TYPE
在B區中發階層號碼01或77。。-> 翻譯社|,-> 翻譯公司|的-> 翻譯
此段是描寫程式最初編譯之目期實時間 翻譯社本段可省略 翻譯社
其大小 翻譯社


(2) 指數
DISPLAY N(I 翻譯公司 J 翻譯公司 K) POSTITON 0 " ".
解:
CLOSE STU-FILE OUT-FILE.
SEQUENTIAL的檔案做I-O開啟動作。
例 A>RMCOBOL TEST P
01 OUT-REC PIC X(63).

經MOVE以後目的區之值為135.78
│ [ROUNDED] │
┌─────────────────────┐
例一:設計一印出1+2+3+4+...100之和的COBOL程式。
常數係以暗示現實 翻譯資料值,依其形態可分為定字
例:01 TABLE-2. (二維陣列)
改變其意義與用法。
0000-BEGIN-RTN.
3.OMITTED 為無標籤記號者,每每利用於卡片檔、報
B   2         2
在工作暫存節所定義 翻譯資料除前面已介紹過的集體項

E512:SYNTAX ERROR,EXPECTED WORD:
當PERFORM論述中僅包括法式名稱-1時,表程式僅履行程式,
1、號令列之毛病訊息
1.若是只下達RMCOBOL這個命令,則畫面大將會泛起如下
I9:FIRST DUPLICATE CHARACTER IS

我們可藉著履行程式來履行,其語法格局以下:
SELECT STU-FILE ASSIGN TO INPUT "TEST.DAT"
翻譯較量爭論與處置懲罰,以產生輸出區所需要的成效。
在非數字值定子 翻譯連續列上並沒有左引號記號。
寫日期、編譯日期、秘要等級及備註等,其花樣如下:

└──────────────────────┘
PICTURE子句。
INSTALLATION 段是描寫利用單元名稱的段落。本段可
FILE-CONTROL.
│ [ON SIZE ERROR 處置懲罰敘述] │
DISPLAY "==================================".
§1-2 COBOL說話 翻譯根基架構
│ [REDEFINES 子句] │
252

錯。
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.

│ . │符號佔一個位置,且每個PIC子句 │
份或右側小數部分其多出來的位數將會主動補零。
第一種花式:

│PERFORM [程序-1┌ {THROUGH} 法式名稱-2 ┐] │
替定字用以默示特定之資料者。請參照下表:
§2-2 裝備部
SEQUENTIAL子句,暗示選擇二元順序檔的結構 翻譯社
例二:試印出九九乘法表的COBOL程式。
記,其花式及利用方式以下:
SUBTRACT CORR WORK-REC FROM TOTAL-REC.
料做搬移,名稱不同則不搬移。
1.(自力項目從A區入手下手編寫,且階級號碼必須為77。
2.由於是自力 翻譯項目,因此其資料名稱必需是獨一的
處置要求:(不准確之情況)

4.利用 NOT 透露表現否認論述的成效 翻譯社
5.數字性資料是依數字巨細來對照,而非數字性資料是由
BLOCK CONTAINS 1024 CHARACTERS
COMPUTE AVE = TOTAL / 5.
90,03 欲進行之動作與媒體 翻譯設備名稱相衝?。
1.對系統裝備名稱為OUTPUT、PRINT或PRINTER的檔案執
MOVE論述不克不及將文數字編纂資料項或文字資料項搬移至數


目標區 PIC 9(3)V9(2)
簿本句花樣及申明以下:
DISPLAY A.

例: MULTIPLY A BY 30 GIVING B. (B=A*30)
266


模式以後緊隨著欲開啟之資料檔名,此檔名必需鄙人面
│SUBTRACT {CORRESPONDING} 減數 FROM 被減數 │

試資料,起首必須在資料部中定義前提名稱,其格局以下:

┌────────────────────┐
§2-1 識別部
§1-6 資料檔概述
原始程式經由編譯程式處置懲罰後,此時將產生目 翻譯程式,然後
ID DIVISION.
│ [LABEL 子句] │
體空間,未來也必增加保護之因難。所以對程式中如有連續串的
┌─員工編號
SELECT CC ASSIGN TO PRINT "PRINTER".
LABEL子句指定了一無法識別 翻譯標記描寫字。正確符號描
此區一般用來編纂特別字符用以區別,一般均略而不寫。

90,07 對唯讀檔案進行I-O處置 翻譯社
91 企圖對一未開啟之檔案做I-O處置懲罰。
92 企圖對一已開啟之檔案做開啟處置懲罰。
94 産生不准確 翻譯開啟動作 翻譯社其緣由可能以下:
94,01 檔案所指定的檔案組織並不與外部檔案 翻譯現實檔案組織相
(Programmer Supplied Word)及常數(Constant)等三種,茲離別
訊息,告訴您若何下達完整的敕令("[]"暗示可省略)

PROGRAM-ID. TEST2.

│ALL literal │表示掃數為某種定字之意 │ALL後面之定字應為文 │
寄存於運算結果的位置內。
FILE SECTION.
其搬移規則說明以下:
6、SECURITY 段
╭═══════════╮
2000-READ-RTN.
2.利用時從最高條理之號碼起頭,其號碼為01,須從
│ COMPUTE 運算了局 [ROUNDED] = 運算式 │

C   3   4     3   3
VALUE"學 生 點 數 表".
│ [BLANK 子句] │
│ │ │ │年│月│日│ │ │
翻譯資料內容,我們稱為三層表格(三維陣列)。
CONFIGURATION SECTION.

┌─────────────────────┐
IF (J = 1 AND K = 1)
例:某校有三個年級,每個年級有五個班,試設計一程
-------- -------- ---- ---------- ----- -------
例:企圖利用OPEN OUTPUT論述對一個不同檔案開啟的外
翻譯區 PIC X(10)
繼續寫時,於第二行之第七格加上一個"-"符號以
╰════════╯
AUTHOR. YUAN.
╭═══════╮
00 履行成功。
02 運作成功但鍵值重覆。
10 檔案讀取竣事
21 不准確的鍵值挨次 翻譯社

╰(Entry) │
WRITE OUT-REC FROM LIST-REC BEFORE 1.
║ 空白符號(B) ║
4.Load error for file : 路徑名稱 檔名
位數來決議,若該小數點後有兩位時,則運算成果將在小數
212

裝備部包括兩個節,一為機型節,一為輸入輸出節。
└─────────────────────────┘

在數字性資猜中若是所宣佈之位置比現實位數大時,此
當畫面上出現如上之訊息時,則可能為以下緣由之一:
LABEL RECORD IS OMITTED.
還有資料部的檔案描寫句:
│ [ON SIZE EROOR 處理論述] │
219

Usage : RMCOBOL name [option]
02 N PIC 9(3) OCCURS 5 TIMES.
SELECT EMP-FILE ASSIGN TO RANDOM "SAMPLE.DAT"
例一: 計較S=1*2*3*...的值。
第六章 迴圈與表格化
...
│ [ROUNDED] │
在資料處理進程,所利用的資料檔可分為四類:
§5-2  巢狀前提式與複合前提式
ORGANIZATION IS LINE SEQUENTIAL.
1000-LOOP-RTN.

其利用規則如下:
在指出的內容中其實不許可含有零值的整數 翻譯社


│ └ {THRU} ┘ │

例 OBJECT-COMPUTER. IBM-PC.
第三種花樣:

表的程式。
│ UNTIL 前提式 敕令處置論述 │

經MOVE以後目 翻譯區之值為345.67
利用P選擇項時,編譯程式會將原始程式從印表機
B 470 3350 470+3350 3820
首要目標是論述程式編譯及履行所利用的電腦,並供應檔案輸入
必需選擇OUTPUT模式。利用本模式所開啟之檔案,
│ ┌─年
至資料名稱-1內,再將資料名稱-1內 翻譯資料寫入所指定輸出
所描寫 翻譯檔案名稱溝通。如果有好幾個檔案時,此時每個資料
在COBOL中可用OCCURS子句來設定表格,其感化是宣告某替
使用逗號來產生此種結果。注意,每個逗號都佔用一個儲
為了報表美觀,可以在資估中適當的位置插入空白資料
的名稱、性質、記實巨細、檔頭是不是有標籤、標籤內容等特征,
DATA DIVISION.
ELSE
元將會顯示於本訊息之後。
及利用申明以下:
OBJECT-COMPUTER. IBM-PC.
第二章 辨認部及裝備部
┌──────────────────────┐
2.文數值性定字:凡由任意字元(引號除外),由雙引
例: > 與 GREATER THAN 是相同的 翻譯社
由於 COBOL所處置懲罰 翻譯資料可分為數字性資料與非數字性資料
1.本子句由B區最先編寫。
2.每資料檔必需由程式設計師設定一並世無雙
令陳說等均應書寫於此區內。
原始程式編寫完成後,我們則須藉著編譯程式來產生目標程式,
CONFIGURATION SECTION.
│ ASSIGN 子句 │
FD AA LABEL RECORD IS STANDARD.
WRITE OUT-REC FROM HEAD-3 BEFORE 1.
當畫面上呈現如上訊息時,則可能為覆疊檔(Overlay)
文數值性: X
241

├──┼──┼──┼──┼──┼──┤

1、自力項目:
P.S. "[]"示意此句可省略。
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.
本格式的處理動作是未來源區與目標區中具有不異名稱 翻譯
STOP RUN.
VALUE 子句的功能是將某特定資料設定給某一資料名稱,
SELECT TRANS-FILE

│ │此數字所能透露表現的範圍為+0.0~+99.9 │
一、某公司將其人事資料貯存於磁碟上試設計一不包括程序部 翻譯
2.本格式的運算方法是將所有加數相加起來再將了局貯存

251

FD EMP-FILE
此二種花式與加法的二種花式雷同。
代其名稱或者乾脆省略不寫 翻譯社
1.每個空白符號都佔用一個貯存位置。
2.空白符號可使用於數字性或非數字性資料中。
或 MOVE 30 TO D E F 皆可
搬移。
...
例: 77 FUNC PIC 9.
OBJECT-COMPUTER. IBM-PC.
└─────────────────────┘
║ 超載處理 (ON ZISE ERROR) ║
OPEN INPUT EMP-FILE OUTPUT OUT-FILE.
式有兩種茲分述以下:
│ {OUTPUT {資料檔名-2}} ... │
在報表製作中經常將數字前引零以空白庖代,此時可以使用Z
│ [ROUNDED] │
編纂性: . 翻譯公司,,B,O,+,-,/,Z 翻譯公司$,DB,CR,*
左至右一一比力每個字元,根據其ASCII碼巨細來決意

何隸屬關係,其花樣及使用劃定規矩分述以下:
2.如果來曆區的位數大於目 翻譯翻譯位數時,將會産生資料
PROGRAM-ID. TEST.
┌──────────────────────┐

1、BLOCK 子句

OPEN INPUT STU-FILE OUTPUT OUT-FILE.
└──────────────────────┘
DATA RECORD IS EMP-REC.
§4-3 算術運算處置懲罰
┌────┬──┬──┬────┬───┬───┐
§3-4 編纂符號
論國內或國外,均普遍而遍及地使用。
77 N PIC 9(2).
77 SUMS PIC 9(18) VALUE 1.
77 C PIC 9(2) VALUE 0.

1.數字性定字:指可供數學運算之數字資料值,限由
0~9及正號(+)、負號(-)及小數點(.)組成,每
一數字性定字之數字(不包括小數點及正負號),不
1000-WRITE-HEADING-RTN.
解:
└────┴──┴──┴────┴───┴───┘
│ ╭ 子句 ╭ 單字 ╭ 字元 ╭ (1) 數字字元
GO 2000-READ-RTN.
ACCEPT N POSITION 0
│ 敕令處置懲罰論述 │
其優先挨次。其次如下:
A>RMCOBOL C:\COBOL\TEST
則如下:
例: ADD 10 GIVING (A-10)
同性質且長度溝通的資料所重覆産生的次數,其花式及使用法則
。而運算結果 翻譯位置因不介入運算,所以可所以一個數
例: RM-COBOL為
下圖之員工編號、性別等。
MOVE CORR EMP-REC TO WORK-REC.
01 OUT-REC PIC X(73).
ENVIRONMENT DIVISION.
將毛病之嚴重性分成以下之三個等級:

脫離程序的最後一道論述,造成程序沒法將節制權傳回給所
例 A>RMCOBOL TEST L=C:\COBOL\PROGRAM
子句,表示選擇列順序檔的佈局。
│ P │本符號若是寫在9的右側時表示整數 │
§4-1 I∕O處置
ID DIVISION.
變數名稱 WORK-REC TOTAL-REC 運算 成績
下:
BLANK子句等,其他除PIC子句其餘都能省略不消。

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).


│ │位置,每一個PIC子句只限用一個 翻譯社
解: IDENTIFICATION DIVISION.
A.INPUT-OUTPUT SECTION 中的SELECT子句中指定過。
分歧的地方重覆編寫屢次,如斯不但程式燮得繁長且浪擲了主憶
暗示表格為 N(1) N(2) N(3) N(4) N(5)
1.加數的位置可所以一個數字性定字或資料名稱。被加
領會指令的意義。
號碼便可,餘此類推。
當畫面上泛起如上訊息時,則可能磁片已無足夠空間寫
│ 比 擬 常 數 │ 用 途 │ 備 註 │
248

1、數字性資料
1.整數部分由個位數入手下手右向左一一搬移,小數部分則由
STOP RUN.

E311:PARAGRAPH-NAME UNDEFINED
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).

二、某公司員工資料全數貯存於磁碟上,試設計一個列印員明細
例: SECURITY HIGH.
經MOVE之後目 翻譯區之值為"WELCOME TO"
invalid option letter
3、LABEL 子句
一般資料都存在磁帶或磁碟中,此時其內容根本無
資料錄的格式及在主記憶體內的存放位置,其格局及利用說明如
所謂保留字就是指電腦能熟悉的單字,不必程式設
256

例:貪圖利用DELETE或START論述對一宣告為ORGANIZATION
PROGRAM-ID 段是用來指定程式名稱的段落,其編寫規
1.乘數和被乘數位置可所以一個數字性定字或者資料名稱
║ 逗號(,) ║
B(2,2) B(2 翻譯公司3)
資料記實(Data Record)是資料檔的基本單元,每個
員工記實─┼─性別
裝備上 翻譯社
│階級號碼 資料名稱 [PIC 子句] OCCURS 正整數 TIMES│
§1-1 COBOL簡介
以下:
02 STUD-NO PIC 9(6).
02 STUD-NAME PIC X(8).
4.數字性資料最長位數為18位(不包含正負符號),
貼紙上寫上識別記號,而內部標籤則是利用程式控制,
└────────────┘
│ [ON SIZE ERROR 處理敘述] │
第一章 COBOL程式說話概論
檔必需對應一個FD。
檔案之紀錄鍵值參考列已被編譯程式標註為不准確的資料
MOVE NAME TO NAME-O.
指出文字名稱界說於複製字元的字子片語之後;該文字名稱
PRINTER 印表機 輸出

01 HEAD-1.
02 PIC X(33).
02 PIC PIC X(!4)
W27:"DEPENDING ON" EXPECTED
在程式指令之句型,除大寫 翻譯保存字外,另有很多

例: 77 A PIC ZZZZZZ.
例 SOURCE-COMPUTER. IBM-PC.

名內定為.LST,當程式有毛病時,使用列印檔有助於查

274

2.若是資料濫觞區 翻譯位數大於目 翻譯區的位數時,則資料將
ADD 1 TO N(Y , C , 2).
├─身分証號碼
資料檔凡是是由很多的記錄所組合而成。
往是資料數量重大而較量爭論簡單,故其所需之電子計較機機能與其
E101:ASSIGN REQUIRED
2.本花式的運算方式是將被除數除以除數,相乘後 翻譯商,
GO 1000-RTN.
│ {OR} {OR} │
+ CHE OF STU-REC.
┌────┬──────────────────┐
(記實描寫句所描寫之區域)內,以供程式進一步的地方理。

221

2.程式名稱其第一個字元必需為英文字母,最後以句
│ {RECORD ARE} {DMITTED} │
同 A>RMCOBOL TEST
§3-2 記錄描寫句
W29:FILE DATA RECORD DEFINITION

INPUT-OUTPUT SECTION.

之間都有一從屬關係,那應若何來示意其間的關係呢?在
例:某程式中需同時開啟主檔和異動檔,則本
此段是用來講明履行目標程式所使用之電腦機型。
翻譯社其花式如下:
例: MULTIPLY A BY B. (B=A*B)

2.AND可由兩個以上之前提式所組合而成。
2、OR的利用法則:
1.只要有一個前提式為真時,其效果就為真,不然為

並同時搜檢程式語法是不是准確 翻譯社編譯程式的編譯語法花式如下:
MULTIPLY 90 BY 10 GIVING D. (D=90*10)


此段可省略 翻譯社
MOVE CLASS-NO TO CLASS-NO-O.
E297:MOVE NONINTEGER TO NONNUMERIC
│DATA {RECORD IS} 資料名稱-1 [資料名稱-2]..│
字性或編輯性的資料項目。
│ ELSE 敘述2 │
║ ║
2.如果使用 ORGANIZATION IS BINARY
,並從此處繼續編譯。所以從SCAN SUPPRESSED至SCAN RESUME

理之工作為何?若編譯程式可以或許了解其所要處置之工作時,則
I8:ALPHABET LITERAL PHRASE
SUBTRACT 10 A 30 FROM C GIVING D (D=C-A-B)
ADD CORR WORK-REC TO TOTAL-REC.
算術運算式 翻譯語法結構是不准確 翻譯
檔案描述句中含有不准確的語法結構。
相加,最後將運算了局貯存於被加數的位置內。
述應為STANDARD或OMITTED 翻譯社
╭═══════╮
INPUR 翻譯開啟動作。
3.對系統設備名稱為DISC、DISK或RANDOM的檔案履行

288

SEQUENTIAL的檔案做I-O處置懲罰 翻譯社
第二種格式:
符合 翻譯社
MOVE ENG TO MAT 設定 MAT = ENG
合。
│ MOVE 濫觞區 TO 目標區1 [目標區2]... │
搬移論述(MOVE)其主要功能是將常數資料或貯存在記憶體
┌───────┐
╭════════╮
~p9d0g2w1z1l24x8
╰═══════╯
A.INPUT-OUTPUT SECTION 中的 SELECT 子句中指定過。
,此點應出格注重。
270

ELSE GRADE-E MOVE "E" TO POINT.
3000-CLOSE-RTN.
WORKING-STORAGE SECTION.
論述且屢次使用時,我們可將其獨立出來成一個自力 翻譯程序,再


└───────────────────────┘

DATA DIVISION.
PROCEDURE DIVISION.
ADD C TO S.
ENVIRONMENT DIVISION.
WRITE OUT-REC FROM HEAD-2 BEFORE 1.
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.

1.除數 翻譯位置可所以一個數字性定字或資料名稱。被除
為常數,但不克不及同時為常數資料 翻譯社
行READ或OPEN INPUT動作。
214

此段首要目標是說明編譯原始程式所利用之電腦機
╰═══════╯
COBOL中要透露表現資料之間的隸屬關係時可以使用階級號碼,其
(四)識別區(Identification Area):

MS-COBOL與RM-COBOL最大之分歧處是在於裝備部的SELECT
指出上一個毛病訊息中所參考到之特定表格鍵值之資料名稱 翻譯社
格局可固定要做反複幾回。
第一種花樣:
SELECT CC ASSIGN TO PRINTER.
240

│ RMCOBOL 路徑名稱 檔名 [選擇項] │
子句可編寫以下:
裝備部(ENVIRONMENT DIVISION)是COBOL程式 翻譯第二部。其
│SPACE,SPACES │表示一個或大都個空白 │同上 │
至於我們要若何編譯一個由MS-COBOL寫成的程式呢?只要鍵
例: 濫觞區 PIC X(7) 內含值為"WELCOME"
ENVIRONMENT DIVISION.
當所要處理是接連好幾個程序時,此時可共同THROUGH


一般檔案資料處置,都是自外部裝置獲得的資料並存入輸入
ORGANIZATION IS LINE SEQUENTIAL.
中某一名置的資料拷貝一份或多份至其所指定之記憶體內,其格
附錄2:RM-COBOL履行時所產生 翻譯毛病訊息
例: 77 A PIC 9,999,999,999
SELECT PRT-FILE
E296:MOVE ANSE/ABS TO NSE/NUMERIC
例:01 TABLE-2. (三維陣列)
┌────────────────────┐
由於COBOL具有以下三大特征,因此普受一般人所樂用,不

ENVIRONMENT DIVISION.
區開始編寫。FD之後隨著檔案名稱,此檔案名稱需和SELECT子句
3.集體項目不克不及利用溝通的資料名稱,但其所包括之資料
§§編譯時所產生的正告訊息§§
(1) NOT
的前提式合併成一個前提式,其花樣以下:
表示其還分細項目,即界說了多項的單層表格。
辨認部內含有不正確 翻譯語法佈局 翻譯社
╭═══════╮
├────┼──────────────────┤
VALUE 子句為LABEL子句的增補申明,其功用是指
249

PERFORM 1000-LOOP-RTN VARYING C FROM 1 BY 1 UNTIL C > 100.
例: DIVIDE A BY 10 GIVING C REMAINDER D.
表連續 翻譯社
第三章 資料部

│ [FILE-CONTROL.] 檔案節制描寫 │
280


│ADD 加數 ...GIVING 運算後果 [ROUNDED] │
275


┌──────────────────────┐
以上根基項目或從屬之集體項目 翻譯社以下圖之員工
2.OBJECT-COMPUTER段
第三種格局:

DISPLAY " " Y " ".
本格局的處置動作是未來源區的資料複製一份或多份至所指
1、階級號碼
2.本花式 翻譯運算方式是將所有加數悉數加起來再與被加數
┌────────────────────────┐
對比常數ALL的使用方式是不正確的。
1、基本項目(Elementary Item)
最小紀錄長度,並未與外部檔案的現實最小記錄長度符合
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.
MOVE 30 TO D,E,F 設定 D=30 翻譯公司 E=30, F=30
用法也大致不異,縱使改換廠牌、機型,利用
數必須一個數字性資料名稱o

MOVE TOTAL-SCORE TO TOTAL.

╰══════╯
SELECT TRANS-FILE
§5-2 巢狀前提式與複合前提式
INPUT-OUTPUT. SECTION

│ [ON SIZE ERROR 處理敘述] │
果寄存於運算結果的位置內 翻譯社
輸出之控制,硬體裝備 翻譯特性及控制技巧等,其格式如下:
INPUT-OUTPUT SECTION.
FD STU-FILE LABEL RECORD IF STANDARD.
小數第一位起頭由左向右搬移。
有順序檔、相幹檔、索引檔等。
3.資料檔 翻譯個數須和本子句的個數一樣。

第二種格式:
233

3.簿本句須毗連在所描寫資料名稱以後。
GO 2000-READ-RTN.
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
┌──────────────────────┐
省略。
符號來完成。
2.對系統裝備名稱為CARD READER或INPUT 翻譯檔案履行
┌──────────────────────┐
1.利用多層表格時,此時OCCURS子句可堆疊使用,但只有
經MOVE之後目 翻譯區之值為"WELCOME"
§1-2 COBOL語言的基本架構
╭═════════╮

MULTIPLY 25 BY C. (B=25*C)
例: ADD 10 TO B (B=B+10)
檔,其花式及使用劃定規矩申明以下:

I2:LAST DIAGNOSTICAL LINE
└─────────────────┘
變數名稱 內含資料 內含資料 運算 後果
最常呈現的指示訊息。
之被加數內。
224

I4:RECORD KEY DATA-NAME IS
§2-3 範例
檔案之記實鍵值重覆多次界說且沒有恰當地限制 翻譯社
E223:FILE RECORD SIZE DECLARATION
╰════════╯
WRITE OUT-REC FROM HEAD-3 BEFORE 1.

(二)連接區(Continuation Area):
DATA DIVISION.
結所以可以是一個數字性或編纂性的資料項目。

點竣事 翻譯社
§3-5 應用範例
[N/o=path][P][R][S][T][U][V][X][Z][)comments]
│ ELSE 敘述3 │
1.資料名稱的定名規則可參考前面之使用者定義字的
ASSIGN子句是用來指定資料檔所利用的輸入或輸出
MOVE 1234567890 TO A.
┌─────────────────────┐
目之後。
3.如果來源區的位數小於目標區的位數時,則左側整數部
第五章 前提論述
├────┼──────────────────┤
A>RUNCOB 路徑名 檔名
C(1,2,2) C(2,1,1) C(2,1 翻譯公司2)
{GREATER THAN}
效果 搬移前 搬移後
234

│ [OBJECT-COMPUTER.] 執行機型描寫 │
│SUBTRACT 減數 .. FROM 被減數 GIVING 運算成效│
2.OCCURS發生 翻譯次數必需是一個大於零的正數定字資料。
│X(6)│X(8)│X(1)│9(1)│X(1)│9(1)│
├────┼──────────────────┤
5、DATA-COMPILED 段
所以這也就是本節所要介紹之工作暫存節之功能。
210

(4)所指定 翻譯檔案不存在。
(3) OR
OBJECT-COMPUTER. IBM-PC.



程式的履行並顯示I/O error 91 翻譯毛病訊息 翻譯社
當編譯程式掃描到原始程式之毛病時,首先會判斷其所要處
第二章 辨認部及裝備部
208

時未滿之位數會補零,但這些零在輸出報表上不美觀,因此

2000-READ-RTN.
1.本子句只能用來描寫基本項目及自力項目 翻譯資料 翻譯社
2.字元串符號則是用來示意資料 翻譯性質,可分為以下四類:
種有去有回的功能與GOTO一去不回頭完全分歧。
2、VALUE子句
ENVIRONMENT DIVISION.

COPY敘述缺少了卻束句號。編譯程式會主動假定一個竣事句
4、VALUE 子句
╭═══════╮
1.*:註解符號,編譯程式時,此列不加以編譯 翻譯社
2.∕:表欲在列印檔(.LST)時跳頁 翻譯社
3.-:當一定字跨越一行時,第一行寫不完,要在第二行
在撰寫COBOL程式,有以下限制:
└────────────┘
ASSIGN TO RANDOM "OLD.DAT"
A   1   2 1 1 
┌──────────────┐
OBJECT-COMPUTER. IBM-PC.
1.寄存運算效果的位置因不介入運算,所以可所以一個數
│ADD 加數 ... TO 被加數 [ROUNDED] │
E215:FILE RECORD KEY INVALID
AUTHOR. YUAN.
STOP RUN.

└───────┘

將主襠(OLD.DAT)及異動檔(TRANS.DAT)讀入經由處理,印出
辨認部(IDENTIFICATION DIVISION)是COBOL程式 翻譯第一部。
│ │只限用一個 │
在COBOL程式中所有的資料檔在輸入或輸出之前都必須
...
Syntax error :option characters must be followed
FD STU-FILE LABEL RECORD IS STANDARD.
271


272

╰══════════╯


此外編寫程式時,每個論述要以句點"."結尾。
劃定規矩 翻譯社

§1-5  執行程式

§5-1 條件式
利用者界說的字語長度大於30個字元。
RECORD CONTAINS 30 CHARACTERS

點第三位四捨五入。
例: BLOCK CONTAINS 1024 CHARACTERS
AUTHOR. YUAN.
例: PROGRAM-IF. TEST.
(3) 乘、除
上輸出 翻譯社
E100:ARITHMETIC EXPRESSION SYNTAX
例:01 TABLE-REC.
義初值。
E172:FILE CONTROL ENTRY SYNTAX
其格式以下:
其格局以下:
§1-1 COBOL簡介

DISPLAY TABLE-REC POSITION 0.
指出檔案描寫句內的VALUE子句所定義的資料名稱,在資
必需鄙人面三個部分利用過:
Business Oriented Language,簡稱COBOL) 翻譯社
218

└─────────────────────┘
用於66,77 翻譯公司88等階級號碼。
255

MOCE A TO BM 設定 B=A,C=A
0000-MAIN-RTN.
FILE SECTION.
所謂複合前提式是指在IF敘述中,利用AND或OR把一個以上
ELSE IF GRADE-C MOVE "C" TO POINT.
1000-WRITE-HEADING-RTN.
C(2,2 翻譯公司1) C(2,2,2)
│ [ON SIZE ERROR 處理論述] │
第三種格局:
┌─────────────────────┐
第一章 COBOL程式語言概論
MOVE 1234 TO A.
│ │數資料,注重不克不及寫在兩個9的中央。 │

§3-2 記錄描寫句
利用規則以下:
例: A>RMCOBOL TEST.COB
在輸入區或輸出區中並沒有多餘 翻譯空間來貯存這些臨時性 翻譯資料,
ORGANIZATION IS LINE SEQUENTIAL.
COBOL程式中檔案 翻譯根基輸入輸出敘述有四個,一一介紹以下:
┌──────────────────────┐
項的單層表格。若産生在集體項目中(未含有PIC子句),
{資料名稱-1} {>} {資料名稱-2}
│PERFORM [法式-1┌ {THROUGH} 程序名稱-2 ┐] │
"OVERFLOW" STOP RUN.
┌────────────────────────┐
第二種花樣
276

4.對應搬移時盡管其階層號碼是不是相同,僅對同名稱的資
輸入輸出節的功能是設定資料檔在程式處置懲罰中的名
│ IF 前提式-1 │
會漏失 翻譯社


277

指出文字名稱定義了一個或多個複製字元,而第一個重覆字
│ {PICTURE} IS 字元串符號 │

毛病訊息,供應您參考。編譯時所產生之毛病訊息可分為四類:
3.Write error for file : 路徑名稱 檔名
5.編纂性符號不行以直接做運算,必須計較終了以後才將
常主要 翻譯社茲介紹如下:
號括起來 翻譯字元組都為文數值性定字,其長度不得
何基本項目,他與任何資料項目間並沒有任何隸屬
+ MAT OF STU-REC + PHY OF STU-REC
單字可分為:保存字(Reserved ord)、程式設計師自定字元
段落。
║ 加法 (ADD) ║

二、非數字性資料
1.非數字性的資料搬移,其則是一律由左向右一一搬移。
┌────────────┐
└─────────────────────┘
290

語法如下:
│ ELSE 論述1 │

║ ASSIGN子句 ║
學生檔花樣:
║ 除法(DIVIDE) ║
┌────────────────────┐
第四章 程序部
C.法式部 OPEN 過。
OBJECT-COMPUTER. IBM-PC.
3、INSTALLATION 段

1.乘數 翻譯位置可所以一個數字性定字或資料名稱。被乘
SELECT EMP-FILE ASSIGN TO RANDOM "EMP.DAT"
例: 來源區 PIC X(10) 內含值為"WELCOME TO"
以下:

│ [CONFIGURATION SECTION.] │
MOVE CREDIT TO CREDIT-O.
COMPUTE TOTAL-SCORE = CHI OF STU-REC + ENG OF STU-REC
數字性: 9 翻譯公司V,S,P
╰═════╯
WRITE OUT-REC FROM ALL "-" BEFORE 1.
MOVE ZERO TO OUT-REC 設定 OUT-REC = 0

句所描述的資料性質相共同。

DISPLAY "INPUT N:".
FILE-CONTROL.

DISPLAY SUMS.
250

在這些資料檔中,和在資料處置懲罰過程中,資料記實與資料項目均非
而檔名可只寫主檔名,附加檔名(CBL)可省略 翻譯社
254

§5-3 典範榜樣
(二)貿易用處─合適處置具有大量資料的商業或事務工作。
2.本花式的運算方式是將乘數和被乘數相乘,相乘後的結
中A區係從第八格至第十一格,凡是部、節、段之名稱檔案

附錄2 RM-COBOL 履行時所產生的毛病訊息
P.S. "{}"默示可任意選用組合。
2.Read error for file : 路徑名稱 檔名
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.


MS-COBOL為
W22:COPY PERIOD
├────┼──────────────────┤
檔案描寫句中含有不准確的語法結構。
本花樣和第一種程式之不同在於第一種花樣只做一次,而本

學生檔花式


資料項目就是──由一個或多個字元所構成,又稱資料欄。
誤訊息的輸出。
E284:LEVEL 77 NOT ELEMENTARY
式,統計該校各年級各班之男女生各有幾許人。
2、輸入輸出節(INPUT-OUTPUT SECTION)
SOURCE-COMPUTER. IBM-PC.


MOVE CORR STU-REC TO WORK-REC.

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).
1.階級號碼為一個從01~49的兩位數,其號碼愈小則
最低一層可使用PIC子句。
SELECT AA ASSIGN TO RANDOM "A:PP.DAT".
入或磁片已損毀 翻譯社
220

(一)保存字
RECORD子句的檔案記錄巨細並未與此紀錄描寫句所描寫的

02 TAB1 OCCURS 2 TIMES.
03 T1 PIC 9(3).
03 T2 PIC 9(3).
03 T3 PIC 9(3).
條件句。
ORGANIZATION IS LINE SEQUENTIAL.
有輸入檔、輸出檔、輸入輸出檔等。
政府乃邀集首要電腦製造廠商、用戶及學術機構等於一九五九年
例 A>RMCOBOL TEST K
╭═══════╮
選擇項是在編譯時,編譯程式所附帶的功能,利用者可依需
{常數-1 } IS [NOT] {EQUAL TO} {常數-2 }
計師加以申明或界說者。這些保存字都具有特定之意義
PRINT 印表機 輸出
ENVIRONMENT DIVISION.


E191:FILE LABEL NOT DATA
AT END 子句的功用與 READ 相反,是把輸出區(記錄描
當程式譚完成時,畫面將顯示以下訊息,其中p表示有
3.假如程式中此行省略,未宣佈佈局者,則視為
二元挨次檔。


226

WORKING-STORAGE SECTION.
┌──────────────────────┐
如此可一眼看出數值巨細,同樣 翻譯在報表輸出上我們也能夠
ADD 10 A 20 GIVING C (C=10+A+20)
所以本子句一般都將其省略。
MS-COBOL為
2.前提名稱是用來設定資料之範圍,而不是界說資料位置
WRITE OUT-REC FROM HEAD-1 BEFORE 2.
OPEN 之後緊接處置懲罰模式:

在現實處置懲罰過程當中並非簡單的輸入輸出處置,而是必需經由複
╰═══════╯
三、P選擇項
在法式部中欲竣事程式執行,可用STOP論述 翻譯社
指出上一個毛病訊息中所參考到之特定記錄鍵值之資料名稱。
IDENTIFICATION DIVISION.
FILE-CONTROL.
└──┴──┴───┴───┴───┴───┴───┘
就是說RM-COBOL的外部檔案描述在設備部SELECT子句中宣佈,而
將識別記號寫入資料檔中,以後利用時可憑據其辨認記
值編纂資料項。
└────────────────────────┘
└─────────────────┘
┌──────────────────────┐

一張異動明細表,並將資料存入新主檔(NEW.DAT)內。
員工檔格式:
數的位置則必需是一個數字性資料名稱。
法式名稱-2為最後處理之法式名稱。
所指定 翻譯段名稱還沒有界說。
└──────────────┘
例: 01 EMP-NO VALUE ZERO.
上的字元。
聯合構成了資料系統說話委員會(COnference on DAta SYstem
附錄1:RM-COBOL編譯時所產生的毛病訊息
接。
│ 77 資料名稱 其他子句 │
IN-REC OUT-REC IN-REC OUT-REC
料項目按照其從屬關係又可分為三類:
0000-MAIN-RTN.


╰═══════╯
DATA DIVISION.
W57:SYMBOL SIZE
例: 77 TOTAL PIC 9(3).
│ {I-O {資料檔名-3}} ... │


由於輸入檔的資料都是貯存在外部媒體上,是以檔案讀
~p9d0g2w1z1l24x8
PROGRAM-ID. TEST.
§2-2 裝備部
指出此文字名稱在此之前已定義過,不克不及再反複界說。
1、機型節(CONFIGURATION SECTION)
1.SOURCE-COMPUTER段
CLOSE 後緊隨著欲封閉之資料檔名,此檔名必需鄙人面
其他子句將在後面陸續介紹。
程式在編寫過程當中必然會並到某段程式內的連續串敘述會在
附錄3:MS-COBOL與RM-COBOL之異同
1.假如 LABEL 子句選擇OMITTED時,不行採用本子句 翻譯社
2.簿本句一般均省略不寫。

5、DATA 子句
區最右側多出來的位數將會自動補空白 翻譯社
SUBTRACT 10 A 30 FROM C (C=C-10-A-30)
二部份宣告過:
區,再將其傳送至輸出區,然後寫至所指定 翻譯輸出裝配上;但是
§4-4 典範
明檔案標志內容,以供檔案辨認用,其格式及利用申明
ASSIGN TO PRINT "PRINTER".
大於檔案的最大紀錄長度。
223

第四章 法式部
├─────────┼─────────────┼──────────┤

存放於被除數的位置。
§3-5 利用典範榜樣
假如運算後之後果大於其寄存成果之位置時,此時跨越
WRITE OUT-REC FROM HEAD-1 BEFORE 2.
七、REMARK 段
檔案既然有開啟的動作,也必定有封閉的動作。其花樣
例: SUBTRACT 10 FROM A (A=A-10)
╰══════════╯
DISPLAY "年級\性別 男女 男女 男女 男女 男女".
指出的資料項目已被編譯程式標註為不正確資料項目。
FD AA LABEL RECORD IS STANDARD
或大小型電腦,幾近都可以使用此種程式語言,
│ {FILLER} │
┌────────────────────────┐
│ WRITE 資料名稱-1 [FROM 資料名稱-2] │
211

│ [ROUNDED] │
│ │例: PIC S99 │
檔案論述句中的DATA RECORD子句所設定 翻譯資料名稱並沒有
§4-1 I∕O處置

│ [ON SIZE ERROR 處置敘述] │
1、關係條件式:
Language,簡稱CODASYL),配合研訂開辟一種適合於各類廠牌電
245


│ [INSTLLATION.] 使用單元名稱 │
檔案開啟模式型別為EXTENDED、INPUT、OUTPUT與I-O。
在ALPHABET子句中指定的定子大於單一字元的長度。編譯程
╰══════════════╯
╰═══════╯
STOP RUN.
在編譯程式之前,起首使用文書編纂器來製作原始程式 翻譯社
§1-3 程式編寫體例
1.本子句可省略 翻譯社
2.如果程式中沒有簿本句時,則區塊長度內定值為
512個字元 翻譯社

228

E80 :"ALL" FIGURTIVE ILLEGL
利用編輯符號可以使輸出結果具美觀及易讀性,茲介紹以下:
01 HEAD-2.
02 PIC X(17).
02 PIC X(46) VALUE
2、L選擇項
訊息外,還包括下面之訊息,以告知您那一個不是選擇
D 120 120
目的區 PIC X(10)
0000-BEGIN-RTN.


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
得跨越十八位。


B.FILE SECTION 中 翻譯 FD 描寫過。
2.花式 翻譯運算方式是乘數和被乘數相乘,相乘後的成果存
├────┼──────────────────┤
或 ADD 10 A A 20 TO C
例: 起原區 PIC 9(3)V9(2) 內含值為135.78
ADD 1 TO C.

├─────────┼─────────────┼──────────┤
料項目做對應搬移,以簡化程式的設計,其利用法則申明如下:
加數 被加數 和
A區開始編寫,而第二層之號碼只要大於第一層之
ELSE IF GRADE-B MOVE "B" TO POINT.
E85 :ALPHABET-NAME DEFINED
則是由Ryan-Mcfarland公司所成長出來的版本。但是開發COBOL
描寫句FD及SD、01階層與77項目均應自A區,即第八格最先
XXXXXX XXXXXXXX X XXXXXXXXXX X...X X...X
SELECT OUT-FILE
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
║ COBOL ║
編譯程式無法領會其所要處置之工作時,則會暫停對程式之
1.RECORD IS 或 RECORD ARE 任選其一 翻譯社
2.由於記實描寫句緊接著描寫為資料錄的記實名稱,
└──────────────────────┘
├─出身日期 ─┼─月
表檔、磁帶檔。
MOVE CORR IN-REC TO OUT-REC.
,以下:
之部分將被截掉,因此產生了不正確的結果,為了避免此種
4、DATA-COMPILED 段
所指出 翻譯內容中需求特定的保存字。其需求 翻譯保存字會列

的檔名,以供程式處置懲罰利用。


253

子目錄下之TEST檔。
使用OCCURS子句 翻譯第2種格局時,貧乏DEPENDING ON片語。
裝置,其花式及使用法則如下:
第二種花樣:
編譯程式沒法識別利用者所指定 翻譯檔案開啟模式 翻譯社准確的
╭══════════╮

部檔案做I-O的動作 翻譯社
║ ║
I6:(SCAN SUPPRESSED)
當該程式履行完畢時,將會從PERFORM論述之下一個敘述繼續執
RECORD 子句是用來表示一個資料紀錄的大小 翻譯社
│ 9(6) │X(8)│A(1)│99│99│99│ X(10) │ X(40)│
├─────────┼─────────────┼──────────┤
DISPLAY "=================================".
│ [SOURCE-COMPUTER.] 編譯機型描寫 │
程式設計師在設計時都必需替每個資料項目在主記憶
WRITE OUT-REC FROM HEAD-3 BEFORE 1.

SELECT子句是用來設定資料檔在程式運作中之資料
ENVIRONMENT DIVISION.
字性或編輯性的資料名稱。

ELSE IF GRADE-D MOVE "D" TO POINT.
單字須由程式設計師自行設定,其設定例則以下:
或毗鄰節中 翻譯社
RANDOM 磁片 輸入或輸出
88 FUNC-OK VALUE 1 THRU 5.


264

│ │每個P表示一位數字性資料 翻譯零, │
┌────────────┐
IDENTIFICATION DIVISION.

第二種格式:
法則申明如下:
申明如下:
指出上一個毛病訊息中所參考到之特定資料記實名稱。
CLOSE STU-FILE.
287

放於被乘數 翻譯位置內。
AFTER C2 FROM 1 BY 1 UNTIL C2 > 9.
D 6 6
╭═════════╮
0000-MAIN-RTN.
286

╭══════╮
例:自學生檔中讀取資料,經處理後由印表機
闡發,直到找到可以從頭編譯之處,才會將本訊息顯示於該處
§3-4 編纂符號
283


WRITE OUT-REC FROM HEAD-2 BEFORE 1.

資料紀錄:
│ [USAGE 子句] │
SELECT AA ASSIGN TO DISK.
└────────────────────┘
~p9d0l16x6
285


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

└────────────────────────┘

,但是它們倒是大同小異 翻譯
│ ENVIRONMENT DIVISION. │

§1-4 編譯程式
1.依貯存煤體來分:
213


翻譯社B區則從第十二格至第七十二格,任何句子、子句或指
└───────────────────────┘
(Clause)、單字(Word)及字母(Character);每部分為若干節,
┌─────────────────────────┘
2.OR可由兩個或兩個以上之前提式所組合而成 翻譯社

265


SELECT子句中所指定的每一個檔案名稱都需要ASSIGN子句的
($)標示出錯誤的地方,並時指犯錯誤的嚴重性 翻譯社編譯程式
例:01 TABLE-REC.
於訊息文字以後的兩個單引號中。
216

§4-2 資料搬移處置懲罰
2.每單字最長不得跨越30個字元。
3.不得與保存字溝通 翻譯社
4.每單字最少應有一個英文字母,但法式部之段落
2.假如敕令列中含有不正確的選擇項者,則畫面上除上面
例: DATE-COMPILED JAN-3.
毛病之産生,可在運算指令中加上ON ERROR子句來處理 翻譯社
└────┴──┴──┴─┴─┴─┴────┴───┘
│RECORD CONTAINS [整數-1] TO 整數-2 CHARACTER│
CONFIGURATION SECTION.
258

§4-3 算術運算處理
1.系統裝配名稱經常使用的有以下數種選擇:
、77、88等。

3.假如選擇項之間未加上空白或逗號時,則畫面大將呈現
E189:FILE LABEL DESCRIPTOR
│ UNTIL 前提式 饬令處置懲罰論述 │
3.假如資料來曆區的最右邊位數小於目標區位數,則目標
§6-2 表格之宣告方式
檔案未開啟前,不克不及利用WRITE論述處置,不然將中斷
§2-3 典範
90 不正確之I-O動作,其緣由以下:
90,01 欲進行之動作與開啟之模式不合適。
1.企圖利用REWRITE、DELETE或WRITE論述對一檔案做
電腦在貿易方面的用處已日益遍及,但是貿易方面的業務往


E162:FD PARAGRAPH SYNTAX
(Literal)與對比常數(Figurative Constant)兩類,其
ORGANIZATION IS LINE SEQUENTIAL.

FILE SECTION.
│員工編號│姓名│性別├─┬─┬─┤德律風號碼│ 住址 │

輸出成效:1 翻譯公司234 翻譯公司567 翻譯公司890
RMCOBOL 為啟動編譯程式之敕令,路徑名稱則用來指出程式
附錄1 編譯時所產生的毛病訊息
CONFIGURATION SECTION.
FD OUT-FILE LABEL RECORD IS OMITTED.
└──────────────────┘
C:\COB\TEST 指定裝配為C磁碟機 翻譯COB
│ {資料名稱} │
│ SELECT [OPTIONAL] 資料檔名稱 │
式處理中 翻譯名稱,並指定其輸入或輸出 翻譯裝配名稱。其
└───────────┘

WORKING-STORAGE SECTION.
└────────────────────┘
翻譯目次上 翻譯社
軟體也不必作太大地點竄,利用十分利便。

PROCEDURE DIVISION.
└────────────────────┘
227

AUTHOR. YUAN.
│ X(6) │X(8)│ X │ X(10) │X(10) │ X(30)│
232

提示訊息:I 默示該訊息僅供參考用,毛病代碼局限1~17 翻譯社
正告訊息:W 透露表現警告訊息,毛病代碼範圍18~79 翻譯社
員工明細表花樣:
所指定的法式,反之條件成立時,將由其下一個敘述繼續履行 翻譯社
. . . . . .
282

(1)利用了一個不正當的路徑及檔案名稱。
│ V │此符號不佔位置,且每個PIC子句 │

└────────────────────────┘
│ IDENTIFICATION DIVISION │
1.學號不為數字性資料。
2.性別不為男女性(M,F) 翻譯社
3.班級不為1-6之間。
4.品級不為A-E之間。當品級為准確時,其相對點數為
BLOCK 子句是用來指定資料實際存取時的區塊單位
PERFFORM VARYING C1 FROM 1 BY 3 UNTIL C1 > 9
有卡片檔、磁帶檔、磁碟檔,報表檔等。
在檔案的01階層內界說。

~p9d0g2w1z1l24x8
SET Y TO I
2.依性質來分:
PROCEDURE DIVISION.
IF C > N GO 2000-OVER-RTN.
SELECT IN-FILE
│PERFORM [法式-1┌ {THROUGH} 程序名稱-2 ┐] │
此段是描寫程式最初編寫之目期及時間。本段可省略。
(2)已無磁片空間可用 翻譯社

§1-5 履行程式
RECORD子句中 翻譯VARYING DEPENDING ON片語中所使用的資
數值搬移過來。
┌─────────────────────┐
3.條件名稱為程式設計師自定字,必需緊接在其所代表資
│學號│姓名│ 國文 │ 英文 │ 數學 │ 物理 │ 化學 │
SELECT NEW-FILE
02 A OCCURS 2 TIMES.
03 B OCCURS 2 TIMES.
05 C PIC 9(2) OCCURS 2 TIMES.
┌──┬──┬──┬──┬──┬──┐
257

PROGRAM-ID. YUAN.
於運算結果以內。
╰═══════════╯
268

SELECT OUT-FILE ASSIGN TO PRINT "PRINTER".
┌────────────────────────┐

sion)、節(Section)、段(Paragraph)、句子(Sentence)、子句
└────────────────────┘
現將IN-REC和OUT-REC溝通部分做搬移,結果為何?
E96 :NONNUMERIC LITERAL REQUIRED
AFTER K FROM 1 BY 1 UNTIL I > 2.
在前面所介紹的裝備部資料部僅對資料檔做描寫及界說,真
(三)常數
即可編譯程式,而履行程式只需鍵入:
├─員工姓名
┌─────────────────────┐
吻合條件名稱所設定 翻譯資料範圍 翻譯社利用前提名稱前提式來測
└─────────────────────┘
員 工 明 細 表
2.因每個記實的巨細已完全在記實描寫句中,故本
WRITE OUT-REC FROM HEAD-2 BEFORE 1.

{運算式-1 } {=} {運算式-2 }

例:01 TABLE-REC.
子句:
PROGRAM-ID. SAMPLE.
何謂資料檔?簡單地說就是一大堆相同性質或相關資料 翻譯
┌─────────────────┐
其附加檔名(.COB)可省略不寫 翻譯社
LABEL RECORD IS STANDARD
MS-COBOL是Microsoft公司出版的COBOL版本,而RM-COBOL
COMPUTE R = C11 * C2.
│ {CORR } │
FD OUT-FILE

263

非數字性資料最長位數為65280個字元 翻譯社

FD OUT-FILE LABEL RECORD IS OMITTED.
二、集體項目(Group Item)
WRITE OUT-REC FROM HEAD-1 BEFORE 2.
READ 以後緊跟著欲讀取之檔案名稱,此檔案名稱起碼

第七格為毗鄰區,可在此區填入:
└──┴──┴──┴──┴──┴──┘
MOVE GRADE TO GRADE-O.
小寫的單字,如程式名稱(Program Name)、資料項目名

│ BY {資料名稱-1} │

3、自力項目(Independent Item)
紀錄、出身日期等。
│ │例: PIC 999 │


2.若是是把資料檔的資料寫入一個新的資料檔時,則
WRITE OUT-REC FROM HEAD-3 BEFORE 1.
在複合前提式中可以將AND與OR夾雜使用,此時須注重


ADD 1 TO C11
(一)標準化─為美國政府所承認 翻譯標準說話,不論何種廠牌
關係,是屬基本項目之一種。
E190:FILE LABEL INVALID
└────────────────────────┘
說話,所以MS-COBOL與RM-COBOL固然是兩家公司分別成長出來
│ │ │ │ 出身日期 │ │ │
DISPLAY A.
│ MULTIPLY 乘數 BY 被乘數 [ROUNDED] │
║ 減法(SUBTRACT) ║
COBOL 翻譯佈局與一般英文文章佈局大致類似,分為部(Divi-
ADD 10,A,20 TO C (C=10+A+20+C)
└──────────────────────┘


第三種格式
該資料檔已存在,則將該檔刪除並從新建立一新檔
235

1.定字所利用 翻譯資料性質必需與該資料名稱中PIC子
(二)程式設計師自定字元
│ {索引名稱-1} {索引名稱-1}│
文字性: A
│ORGANIZATION IS [LINE] SEQUENTIAL │
W19:AREA A LEVEL
檔案描寫不准確 翻譯社未定義此檔案的紀錄區 翻譯社
解:IDENTIFICATION DIVISION.
A.INPUT-OUTPUT SECTION 中 翻譯SELECT子句中指定過。

二、AUTHOR 段
E313:PERFORM ENTRY INDEPENDENT
利用K選擇項時,編譯程式將省略版權訊息,與錯
COMPUTE R = C11 * C2.
│ [JUSTIFIED 子句] │
-------- -------- --------- -------- ----------

I3:AT LINE NUMBER
╭═══════╮
MOVE "350813" TO A.
ENVIRONMENT DIVISION.
SELECT MASTER-FILE
│員工編號│姓名│性別│身份証號│ 電 話│ 住 址│
§5-1 前提式
料部中並沒有准確地描寫此資料項目 翻譯社

║ 關檔(CLOSE) ║
指出上一次産生錯誤之列編號。
0000-MAIN-RTN.
INPUT模式。
關係前提式是用來比力兩個資料之大小,其格局及利用
0000-MAIN-RTN.
E218:FILE RECORD KEY QUALIFIERS
有主檔、異動檔、工作檔、備份檔等 翻譯社
MULTIPLY C BY SUMS ON SIZE ERROR DISPLAY
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.
238

組合而成。
當畫面上出現如上訊息時,表所讀取之檔案可能壞掉了。
1000-LOOP-RTN.
│ MULTIPLY 乘數 BY 被乘數 GIVING 運算成績 │

1.若是利用 ORGANIZATION IS LINE SEQUENTIAL

指出 翻譯資料項目在此之前尚未界說。
資料紀錄檔就是─由若干資料項目所組合而成。
目外,還有一種獨立項目 翻譯社獨立項目與其他項目之間並沒有任
┌─────────────────┐
│ │此數字所能暗示的局限為-99~+99 │
│ │透露表現數字性資料小數點之位置,此 │
I7:TABLE KEY DATA-NAME IS
│ │ │數值定字或對比常數 │
PROGRAM-ID. TEST4.
243

║ 四捨五入 (ROUND) ║

1000-WEITE-HEAD-RTN.
料項目以後,且可同時定義好幾個前提名稱。
1、K選擇項

┌────────────────────┐
不會被程式直接使用時,可以使用保存字[FILLER]取
字敘述的程式指令,不僅容易浏覽,同時容
│ADD {CORRESPONDING} 加數 TO 被加數 [ROUNDED]│
FILE SECTION.
所謂根基項目就是指自己沒法再細分之項目。如
2.企圖利用WRITE論述對一宣佈為 ACCESS MODE
ASSIGN TO RANDOM "B:\STUD.DAT"
B.FILE SECTION 中 翻譯 FD 描述過。
§3-3 工作暫存節(WORKING-STORAGE SECTION)

PIC 9(2).
部標籤,外部標籤就是將磁帶或磁碟黏上貼紙,然後在
§1-6 資料檔概述
1、AND的利用規則:
1.當所有 翻譯前提式皆為真時,其成果方為真,否則為
輸出成果: 1234
┌──────────────┐
WORKING-STORAGE SECTION.
下:
翻譯區 PIC X(7)
│QUOTE 翻譯公司QUOTES │暗示一個或多半個引號 │同上 │
{<}

設備部內含不准確的語法結構。
2、條件名稱前提式
SOURCE-COMPUTER. IBM-PC.
PERFORM論述參考到分歧自力分段中的程序進入點。

(三)指令陳述區(Statement Area):
定的輸出裝備,若未省略時,則稱資料名稱-2內的資料先搬
WORKING-STORAGE SECTION.
INPUT-OUTPUT SECTION.
欲輸出的資料可存入此區域內(稱為輸出區),但資料名稱-2

AFTER J FROM 1 BY 1 UNTIL I > 5
│ {PIC} │
經過檔案開啟(OPEN)的動作,才能進一步的地方理。其花式如
│ DIVIDE 除數 INTO 被除數 GIVING 運算了局 │
所指出的內容需要非數值 翻譯定子 翻譯社
,是以資料做搬移時對於分歧的型態也有分歧的搬移劃定規矩,茲將

OPEN INPUT STU-FILE OUTPUT OUT-FILE.
使用L選擇項寺,編譯程式會將原始程式寫入列印
77階層號碼的資料項並沒有描寫資料項目。如貧乏
│前提式-1 {AND} 前提式-2 {AND} 條件式-3... │
料稱界說未被允許的節中。准確的做法應定義於工作暫存節
§§編譯時所產生 翻譯毛病訊息§§
§5-3 規範
│ │用來暗示數字性資料的正負號,須編 │
└─────────────────────┘
┌────────────────────┐
94 翻譯公司02 RECORD子句指定的最小記錄長度或檔案名稱記實所隱含的
MOVE論述不克不及將非整數數值資料搬移至非數值資料項 翻譯社
翻譯社
88 SW-ON VALUE "ON".
88 SW-OFF VALUE "OFF".
4.資料有連續性時,可寫出最小值與最最大值並用THRU連
┌──────────────────────┐
"學號 姓 名 性別 班級 品級 點數 學分".

│ [AUTHOR.] 設計者姓名 │
若是該資料檔不存在,則將會產生一個空檔 翻譯社如果
INPUT-OUTPUT 輸入∕輸出裝配 輸入或輸出
│LOW-VALUE │表示最小值(即每一個bit均為0)│ │
經MOVE以後目標區之值為"WELCOME "
每列的前6格稱為循序號碼區,機器會主動產生6位數
279

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

利用多層表格時,需注重下列事項:
└──────────────────┘
假。
└──────────────────────┘

第一種格局:
│ │ │若每一個字符有八個bit │
90 翻譯公司05 檔案截斷動作與其它利用者有所衝? 翻譯社
程式指令均須書寫於此區內,此區又分成A、B兩區,其
77 C PIC 9(3) VALUE 0.
77 S PIC 9(4) VALUE 0.

│ │ │其餘七個bit為1 │
┌───────────────────────┐
毛病訊息:E 表示嚴重錯誤,毛病代碼範圍80~999 翻譯社

指出第一次産生錯誤之列編號 翻譯社
此段是用來描寫程式之秘要水平 翻譯社本段可以省略 翻譯社
在前面談過除了自力項目無任何隸屬關係外,其他資料
CLOSE EMP-FILE OUT-FILE.
. . . . . .
│ VALUE OF 標籤名稱 IS [資料名稱] │
W18:ALPHABET LITERAL SIZE
號來辨別。LABEL子句則是用來指明資料檔檔頭否有標
如下訊息
1.英文字母A~Z,阿拉伯數字0~9及毗鄰符號
§6-1 迴圈
PROCEDURE DIVISION.
1.階級號碼必需為02~49之間,即階級號碼不完為01、66
│ [BINARY] │

│ LABEL {RECORD IS} {STANDARD} │
第三章 資料部
ORGANIZATION IS LINE SEQUENTIAL.
┌─────────┬─────────────┬──────────┐

IF (STU-NO OS NOT NUMERIC) OR NOT SEX-OK
所代表的層次愈高。
│ IF 前提式-2 │
漏失的現象。
請參考下表申明:
ORGANIZATION IS LINE SEQUENTIAL.
名稱則可全數利用阿拉伯數字,此為唯一之破例。

部(章) ╭ 節 ╭ 段 ╭ 句子
A>RMCOBOL C:\COBOL\TEST
默示表格為 C(1,1,1) C(1,1 翻譯公司2) C(1,2 翻譯公司1)
便可履行您的程式了 翻譯社
式會自動設定第一個字元被系統使用。
用到的設備或者檔案名稱 翻譯社例如:
存位置。
E95 :NONNUMERIC LITERAL CONTINUAT'N
│HIGH-VALUE │暗示最大值(即每一個bit均為1)│時,最左側一個bit為0│
│ {THRU} {整數} │
要而選用,亦可省略不用 翻譯社在此我們介紹幾個選擇項:
入:
W65:INTEGER ZERO INVALID

DATA 子句是用來描寫資料檔的記實名稱,其花樣
例: 77 SW PIC X(3).
三個部份利用過:
...
(2) AND
§3-3 工作暫存節
│ [OCCURS 子句] │
第四種花樣
WORKING-STORAGE SECTION.
例: 77 A PIC 9(4) VALUE 1234.
CONFIGURATION SECTION.

跨越120字。而且不可作數學運算。
└──────────────────────┘
│ S │在字元串符號最右側,此符號也不佔 │
IF GRADE-A MOVE "A" TO POINT.
229

2000-READ-ERN.

,介係詞由INTO改為BY。

2、RECORD 子句
║ SELECT子句 ║
§2-1 識別部
ADD 1 TO C11
├─────────┼─────────────┼──────────┤

回原資料檔時,須選擇I-O模式。
述句所描之區域)的資料寫入SELECT 子句所設定的輸出設備
例: 01 WORK-REC.
║ Z符號 ║
┌──────────────────────┐
B 470 3350 3350-470 2880
2.如果該資料項目在程式中佔有貯存位置,但該項目
2.運算式是由資料名稱或定字共同運算子組合而成,其基
2.外部裝置名稱是用來指定現實輸入輸出時所使
ASSIGN TO RANDOM "TRANS.DAT"
READ STU-FILE AT END GO 3000-CLOSE-RTN.
檔案之存放位置,其現實格式應包含磁碟機名稱、目次 翻譯路徑,
║ 夾雜運算 (COMPUTE) ║

3.對比常數:所謂比擬常數就是行使某些公認字以代
WRITE OUT-REC FROM WORK-REC BEFORE 1.
例二:根據下面度理要求,將毛病之學生資料剔除,印出准確之
95 不准確的裝備裝配。
97 不准確的紀錄長度,其緣由可能以下:
97,01 列順序檔內的記錄中稀有個字元是錯誤的。
97,03 在WRITE、REWRITE或RELEASE敘述中指定 翻譯記實區域長度
檔案描寫句(File Description Entry)的功能是描述資料檔
檔案節制段(FILE-CONTROL)是用來設定資料檔在程
└──────────────┘
│ │資料,若是寫在9的左側時透露表現小 │
2、輸入輸出之錯誤訊息
1.Open error for file : 路徑名稱 檔名
│ │例: PIC 99V99 │
┌────┬──┬──┬─────┬────┬───┐
284

FILE-CONTROL.
操縱PERFORM論述臨時分開今朝 翻譯法式,能移至該自力出來,此
,是以厥後應接VALUE子句,而不是PIC子句 翻譯社
RM-COBOL為
DELETE、REWRITE、START或OPEN I-O動作。
Syntax error : Symbol "內含不准確 翻譯字元" is

試設計一列印成就單的程式
PROCEDURE DIVISION.
連串之判斷,此時應注意IF和ELSE之對應關係,其花式如下:

PERFORM論述內利用了GOBACK,GO TO或STOP RUN等論述做為
╭════════╮
│字元符號│ 說 明 │
5.每單字之開首及末尾不得利用連接符號"─"。

217

4.依佈局來分:
77 B PIC X(2) VALUE "23".
2.簿本句不克不及利用於檔案節,唯一破例是可使用於88
腦使用之標準化程式說話,此即所謂之商用程式說話(COmmon
例: 來曆區 PIC X(10) 內含值為"WELCOME TO"


┌──┬──┬───┬───┬───┬───┬───┐
字來代表順序,亦可以空白取代。
輸出可編寫為
行。
名稱即資料名稱(Data Name)。資料名稱其利用劃定規矩如下:
E263:IDENTIFIER UNDEFINED
│ [LINAGE 子句] │
控制之PERFORM論述。
├────┼──────────────────┤
├────┼──┼──┼─┼─┼─┼────┼───┤

第二種花式:
-------- -------- ---------- -------- ---------
{LESS THAN}
SOURCE-COMPUTER. IBM-PC.
PROGRAD-ID. MUL.
I1:DATA RECORD DATA-NAME IS
3000-CLOSE-RTN.
(三)雷同英文─語言結構與英文十分類似,為一白話化、文
例: INSTALLATION ABC.

└─────────────────────┘
若FROM子句省略時,則將資料名稱-1內的資料寫入所指
A 880 4200 880+4200 5080

例: DIVIDE 10 INTO A. (A=A/10)
MOVE ZEROS TO TABLE-REX.
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).

┌──────────────────┐
1.CORR 為 CORRESPONDING 的縮寫字,可任選其一利用 翻譯社
2.起原區和目標區必需是一個集體項目名稱,所以不成使

247

本運算子有:加(+)、減(-)、乘(*)、除(/)及指數(**)
I5:SCAN RESUME
本花樣所要重覆之次數則由條件式來節制,若前提不成立將履行
90 翻譯公司04 欲進行之動作與界說的組織不相符合 翻譯社

│ STOP RUN. │


本文出自: 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
    文章標籤
    翻譯社
    全站熱搜
    創作者介紹
    創作者 lancepg05jyn0 的頭像
    lancepg05jyn0

    lancepg05jyn0@outlook.com

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