close

原文翻譯推薦 於運算成效以內。
│ MOVE 濫觞區 TO 目標區1 [目的區2]... │
例:01 TABLE-REC.
╭═══════╮
目之後。
E223:FILE RECORD SIZE DECLARATION
例: 77 A PIC 9,999 翻譯公司999,999
3000-CLOSE-RTN.
└──┴──┴───┴───┴───┴───┴───┘
E95 :NONNUMERIC LITERAL CONTINUAT'N
└───────────────────────┘
PERFORM UNTIL OVER.
WRITE OUT-REC FROM WORK-REC BEFORE 1.
其花式如下:
當編譯程式偵測到程式語法上的毛病時,將以錢字符號

OPEN INPUT STU-FILE OUTPUT OUT-FILE.
├─出身日期 ─┼─月
第四章 法式部
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).
└──────────────────────┘
│ │例: PIC 99PPP │

SELECT NEW-FILE
│ VARYING {資料名稱-1} FROM {資料名稱-1}│
248

1、數字性資料
1.整數部份由個位數入手下手右向左一一搬移,小數部份則由
DISPLAY "1+2+3+4+...+100=" S.
2.若是使用 ORGANIZATION IS BINARY
277

90 不准確之I-O動作,其原因以下:
90,01 欲進行之動作與開啟之模式不吻合。
1.詭計使用REWRITE、DELETE或WRITE敘述對一檔案做
ADD CORR WORK-REC TO TOTAL-REC.
在現實處理過程當中並非簡單 翻譯輸入輸出處置懲罰,而是必須顛末複
例: 77 FUNC PIC 9.
┌──────────────────────┐

利用規則如下:
SOURCE-COMPUTER. IBM-PC.
點竣事 翻譯社

下:
此段是用來描寫程式之秘密水平 翻譯社本段可以省略。
STOP RUN.
218


例: > 與 GREATER THAN 是相同 翻譯
{GREATER THAN}
子目次下之TEST檔 翻譯社
COMPUTE R = C1 * C2
項目中則須含有不異名稱 翻譯資料項目,不然沒法做對應
的程式名稱。
└────────────────────────┘
§2-2 裝備部

└────────────┘
DATA DIVISION.
│ [JUSTIFIED 子句] │
不會被程式直接利用時,可使用保留字[FILLER]取

~p9d0g2w1z1l24x8
字論述的程式指令,不但輕易浏覽,同時容
2.若是號令列中含有不准確的選擇項者,則畫面上除上面
例:每資料紀錄巨細為30個字元,則簿本句可寫
第一種花樣:
有主檔、異動檔、工作檔、備份檔等。

2.OCCURS産生 翻譯次數必需是一個大於零 翻譯正數定字資料 翻譯社
2.前提名稱是用來設定資料之局限,而不是界說資料位置
此外編寫程式時,每個敘述要以句點"."結尾 翻譯社
§4-3 算術運算處置懲罰
MS-COBOL為

例一: 計較S=1*2*3*... 翻譯值。

GO 2000-READ-RTN.
WRITE OUT-REC FROM HEAD-1 BEFORE 2.
§4-1 I∕O處理
在這些資料檔中,和在資料處置過程中,資料記錄與資料項目均非
ADD 10,A 翻譯公司20 TO C (C=10+A+20+C)
├──┼──┼──┼──┼──┼──┤
常主要。茲介紹以下:
ELSE IF GRADE-B MOVE "B" TO POINT.
E162:FD PARAGRAPH SYNTAX
├─成分証號碼

│ [ON SIZE ERROR 處置懲罰論述] │
區,再將其傳送至輸出區,然後寫至所指定的輸出裝配上;可是
╭═══════╮
└────────────────────┘
數字性: 9,V 翻譯公司S,P
記實長度相符合。
E96 :NONNUMERIC LITERAL REQUIRED
例: 01 STUD-REC.
├────┼──────────────────┤
WORK-REC TOTAL-REC TOTAL-REC
┌────────────────────┐

┌──┬──┬──┬──┬──┬──┐
何從屬關係,其格式及利用法則分述以下:
檔案之紀錄鍵值參考列已被編譯程式標註為不准確的資料
E159:ENVIRONMENT DIVISION SYNTAX
│ │資料,若是寫在9的左邊時透露表現小 │
249

ENVIRONMENT DIVISION.
│ {CORR } │

一般檔案資料處理,都是自外部裝置取得的資料並存入輸入
├────┼──────────────────┤
OR NOT CLASS-OK
1.加數的位置可所以一個數字性定字或資料名稱。被加
項目。

02 STUD-NO PIC 9(6).
02 STUD-NAME PIC X(8).
4.數字性資料最長位數為18位(不包含正負符號),
例: 來源區 PIC X(10) 內含值為"WELCOME TO"
LABEL子句指定了一無法辨認的標記描寫字 翻譯社准確標記描

│ [ON SIZE EROOR 處理論述] │
E259:IDENTIFICATION DIVISION SYNTAX
SELECT OUT-FILE ASSIGN TO PRINT "PRINTER".
│ P │本符號如果寫在9 翻譯右邊時表示整數 │
01 HEAD-2.
02 PIC X(17).
02 PIC X(46) VALUE
§1-5  履行程式
有遞次檔、相關檔、索引檔等。
└─────────────────────┘
│ [ON SIZE ERROR 處理論述] │
請參考下表申明:
E215:FILE RECORD KEY INVALID
描寫。
│ │每一個P默示一名數字性資料的零, │

PICTURE子句 翻譯社
1.學號不為數字性資料。
2.性別不為男女性(M,F)。
3.班級不為1-6之間。
4.品級不為A-E之間 翻譯社當等級為正確時,其相對點數為
例: 來源區 PIC X(7) 內含值為"WELCOME"
雜的較量爭論與處置懲罰,以產生輸出區所需要的成績 翻譯社
│ V │此符號不佔位置,且每個PIC子句 │
OR NOT GRADE-OK GO 2000-READ-RTN.
E189:FILE LABEL DESCRIPTOR
219

AUTHOR 段是描寫程式設計者姓名的段落。本段可省略。

回原資料檔時,須選擇I-O模式 翻譯社

第三種格式:
Language,簡稱CODASYL),配合研訂開辟一種合適於各種廠牌電
│ [ON SIZE ERROR 處理敘述] │
│ IF 前提式-1 │
281

申明以下:
,但目標區 翻譯資料已被來源區 翻譯資料所庖代。
DISPLAY "=================================".
3、自力項目(Independent Item)
224


有輸入檔、輸出檔、輸入輸出檔等。
SUBTRACT CORR WORK-REC FROM TOTAL-REC.

│學號│姓名│ 國文 │ 英文 │ 數學 │ 物理 │ 化學 │
│ │ │數值定字或對比常數 │
E100:ARITHMETIC EXPRESSION SYNTAX
~p9d0l16x6
║ 開檔(OPEN) ║
275


┌──────────────┐
211


例 A>RMCOBOL TEST P
SELECT OLD-FILE
體空間,將來也必增添維護之因難。所以對程式中若有連續串的
ORGANIZATION IS LINE SEQUENTIAL.
例:詭計利用DELETE或START敘述對一宣佈為ORGANIZATION
(二)貿易用途─適合處置懲罰具有大量資料的商業或事務工作。

當該程式履行終了時,將會從PERFORM敘述之下一個論述繼續執
,因此厥後應接VALUE子句,而不是PIC子句 翻譯社

三、編譯程式不正常竣事

4、程式說話錯誤訊息
╰ ╰ │ 描述句 │
例: 來源區 PIC 9(5)V9(3) 內含值為12345.678
員工明細表花式:
┌─────────────────┐
PERFORM 1000-LOOP-RTN VARYING C FROM 1 BY 1 UNTIL C > 100.
前提句。
假如運算後之成效大於其寄存成效之位置時,此時跨越
WORKING-STORAGE SECTION.
FILE-CONTROL.
2、VALUE子句
在指出 翻譯內容中其實不答應含有零值的整數。
§2-3 範例
C 260 1200 260+1200 1460
為了報表美觀,可以在資猜中恰當的位置插入空白資料
DISPLAY TABLE-REC POSITION 0.
FILE-CONTROL.
中A區係從第八格至第十一格,凡是部、節、段之名稱檔案

述句所描之區域)的資料寫入SELECT 子句所設定的輸出裝備
模式之後緊跟著欲開啟之資料檔名,此檔名必需鄙人面
檔內,列印檔主檔名與原始程式主檔名不異,但附加檔
│ [ON SIZE ERROR 處置懲罰論述] │
│ │例: PIC S99 │
試資料,起首必須在資料部中界說前提名稱,其花樣以下:
§5-2 巢狀前提式與複合前提式
3.資料檔的個數須和簿本句的個數一樣。
1.階級號碼為一個從01~49的兩位數,其號碼愈小則


SELECT CC ASSIGN TO PRINT "PRINTER".
SELECT TRANS-FILE
LABEL RECORD IS STANDARD
則是由Ryan-Mcfarland公司所成長出來的版本 翻譯社但是開辟COBOL
│LOW-VALUE │表示最小值(即每一個bit均為0)│ │
STOP RUN.
└→│ (Clause) │(Word)│ (Character)│ (2)文字字元
辨認部(IDENTIFICATION DIVISION)是COBOL程式 翻譯第一部。
-------- -------- ---- ---------- ----- -------
例: 來源區 PIC 9(3)V9(2) 內含值為135.78

┌──────────────────────┐
PROGRAM-ID. TEST.
│ 9(6) │X(8)│A(1)│99│99│99│ X(10) │ X(40)│
1、階級號碼
檔案描述句中含有不正確 翻譯語法構造。


其附加檔名(.COB)可省略不寫。
...
搬移論述(MOVE)其首要功能是將常數資料或貯存在記憶體
ADD 1 TO N(Y , C , 1)
MOVE ENG TO MAT 設定 MAT = ENG
第一種格局:
提醒訊息:I 表示該訊息僅供參考用,毛病代碼局限1~17 翻譯社
WORKING-STORAGE SECTION.
│ [ON SIZE ERROR 處置懲罰論述] │

ASSIGN TO RANDOM "NEW.DAT"
體預留位置,且替該位置設定一個名稱供程式處置懲罰利用,此
WRITE OUT-REC FROM ALL "-" BEFORE 1.
E219:FILE RECORD KEY UNDEFINED
E263:IDENTIFIER UNDEFINED
1.英文字母A~Z,阿拉伯數字0~9及毗連符號
至於我們要若何編譯一個由MS-COBOL寫成 翻譯程式呢?只要鍵

§1-5 履行程式
例: 01 EMP-NO VALUE ZERO.
解: IDENTIFICATION DIVISION.
文數值性: X

裝備部內含不正確 翻譯語法結構。
2.本格局的運算方式是將被除數除以除數,相乘後的商,

RM-COBOL為
261

1.(自力項目從A區最先編寫,且階級號碼必需為77。
2.由於是自力的項目,因此其資料名稱必需是唯一的
│ │位置,每個PIC子句只限用一個。 │
284

│ [ON SIZE ERROR 處置懲罰論述] │
2.詭計利用WRITE敘述對一宣佈為 ACCESS MODE
四、VALUE 子句
PIC 9(2).

A.INPUT-OUTPUT SECTION 中的SELECT子句中指定過。
I7:TABLE KEY DATA-NAME IS
│ BY {資料名稱-1} │
╰═════════╯
翻譯社通常區塊內的資料存滿時才會産生實際 翻譯寫入動作。
例:01 TABLE-2. (三維陣列)
OBJECT-COMPUTER. IBM-PC.
PROGRAM-ID 段是用來指定程式名稱的段落,其編寫規
指出第一次産生毛病之列編號。
{資料名稱-1} {>} {資料名稱-2}
WORKING-STORAGE SECTION.
SUBTRACT 10 A 30 FROM C GIVING D (D=C-A-B)
利用K選擇項時,編譯程式將省略版權訊息,與錯
│ FD 檔案名稱 │
FD OUT-FILE
指出 翻譯資料項目在此之前還沒有定義 翻譯社
透露表現表格為 N(1) N(2) N(3) N(4) N(5)

1.資料名稱的定名劃定規矩可參考前面之使用者界說字 翻譯
例 SOURCE-COMPUTER. IBM-PC.


經MOVE以後目的區之值為"WELCOME TO"
│ {索引名稱-1} │
FILE SECTION.

關係,當編譯程式在翻譯您的原始程式時,同時也會檢查程式語
3.Write error for file : 路徑名稱 檔名
正告訊息:W 默示正告訊息,毛病代碼局限18~79。
│ [FILE-CONTROL.] 檔案控制描述 │

1.加數的位置可所以一個數字性定字或資料名稱 翻譯社運算
├─────────┼─────────────┼──────────┤
目標區 PIC 9(3)V9(2)

║ SELECT子句 ║
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.
╭══════════╮
其花樣及利用法則說明如下:

(6)被開啟之檔案已被回護、沒法做寫入動作。
│ │默示數字性資料假定小數點之位置 │
AFTER K FROM 1 BY 1 UNTIL I > 2.
ASSIGN子句是用來指定資料檔所使用的輸入或輸出
則以下:
1、根基項目(Elementary Item)
能是一個工作暫存區內 翻譯名稱(稱為暫存區)。
§3-1 檔案描寫句
DISPLAY A.
料項目做對應搬移,以簡化程式的設計,其利用劃定規矩申明以下:
E284:LEVEL 77 NOT ELEMENTARY
存位置。
║ ORGANIZATION子句 ║
│ │ │ │年│月│日│ │ │
資料名稱-1必需是記錄描寫句所描寫 翻譯紀錄名稱,所有

部標籤,外部標籤就是將磁帶或磁碟黏上貼紙,然後在
腦利用之標準化程式說話,此即所謂之商用程式說話(COmmon
267

MULTIPLY 25 BY C. (B=25*C)
│ 階級號碼 {資料錄名稱或資料項目名稱} │

└──────────────────────┘
與用處,利用保存字時,切記弗成將其字母拼錯或隨便
║ 超載處置 (ON ZISE ERROR) ║
{運算式-1 } {=} {運算式-2 }
例: 濫觞區 PIC 9(3)V9(2) 內含值為00135.780
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).

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
MOVE STU-NO TO STU-NO-O.

小數第一位開始由左向右搬移。
1.RECORD IS 或 RECORD ARE 任選其一 。
2.STANDARD 為有標籤記號者,每每使用於磁碟檔、
ORGANIZATION IS LINE SEQUENTIAL.

計師加以說明或定義者 翻譯社這些保存字都具有特定之意義
3.對系統裝備名稱為DISC、DISK或RANDOM的檔案執行

288

向的資料內容,我們稱為三層表格(三維陣列)。
WORKING-STORAGE SECTION.
第一種花式:
IN-REC OUT-REC IN-REC OUT-REC

例:01 TABLE-REC.
PROCEDURE DIVISION.

使用逗號來產生此種結果。注重,每個逗號都佔用一個儲
本格式的處置懲罰動作是未來源區的資料複製一份或多份至所指
翻譯社
同性質且長度溝通的資料所重覆産生的次數,其花樣及利用劃定規矩
IF C > N GO 2000-OVER-RTN.

MOVE論述不能將文數字編纂資料項或文字資料項搬移至數
若是該資料檔不存在,則將會產生一個空檔。假如
四、DATA-COMPILED 段
INPUT 輸入裝配 輸入
┌────┬──┬──┬────┬───┬───┐
1.乘數 翻譯位置可所以一個數字性定字或資料名稱 翻譯社被乘
§1-2 COBOL說話 翻譯根基架構
235

1.定字所利用 翻譯資料性質必需與該資料名稱中PIC子
子句花樣及說明如下:
┌─────────────────────────┘
║ 除法(DIVIDE) ║
MOVE ZERO TO OUT-REC 設定 OUT-REC = 0

E218:FILE RECORD KEY QUALIFIERS
PROGRAD-ID. TEST1.
W48:PERFORM PROCEDURE W/O EXIT
例: BLOCK CONTAINS 1024 CHARACTERS
└───────────┘
└──────────────────────┘
(1) NOT
紀錄、出身日期等。
├────┼──┼──┼─┼─┼─┼────┼───┤
02 A OCCURS 2 TIMES.
03 B OCCURS 2 TIMES.
05 C PIC 9(2) OCCURS 2 TIMES.

2.因每個記實的大小已完全在紀錄描寫句中,故本
同 A>RMCOBOL TEST
│ IDENTIFICATION DIVISION │
3.前提名稱為程式設計師自定字,必須緊接在其所代表資
例: DIVIDE 10 INTO A. (A=A/10)
數的位置則必需是一個數字性資料名稱。
中某一名置的資料拷貝一份或多份至其所指定之記憶體內,其格
┌───────────────────┐
02 A PIC 9(2).
02 B PIC 9(2).


236

ENVIRONMENT DIVISION.

...
┌────────────────────┐
§6-2 表格之宣佈方法
│ [ROUNDED] │
本花式的處理動作是未來源區與目標區中具有相同名稱的資
指出的資料項目已被編譯程式標註為不正確資料項目。
其優先挨次。其次以下:
在ALPHABET子句中指定的定子大於單一字元 翻譯長度。編譯程
經MOVE之後目的區之值為345.67
║ 讀取(READ) ║
2.若是該資料項目在程式中佔有貯存位置,但該項目
┌─────────────────┐

┌───────┐
檔案論述句中的DATA RECORD子句所設定的資料名稱並沒有
263

01 HEAD-1.
02 PIC X(33).
02 PIC PIC X(!4)
每列 翻譯前6格稱為循序號碼區,機械會主動產生6位數
ASSIGN TO PRINT "PRINTER".
│ ╭ 子句 ╭ 單字 ╭ 字元 ╭ (1) 數字字元
第五章 條件論述
│ZERO 翻譯公司ZEROS,ZEROES │默示一個或多個零 │單複數型意義均不異 │
簿子句格局及申明如下:
│ │用來默示數字性資料的正負號,須編 │
5.每一單字之開首及末尾不得利用毗連符號"─"。

至資料名稱-1內,再將資料名稱-1內的資料寫入所指定輸出
Options : [(][A][B][C][D][E][K][L/L=path][M]
268

READ STU-FILE AT END GO 3000-CLOSE-RTN.
│ X(6) │X(8)│ X │ X(10) │X(10) │ X(30)│
非數字性資料最長位數為65280個字元 翻譯社
(Programmer Supplied Word)及常數(Constant)等三種,茲別離
DISPLAY N(I , J 翻譯公司 K) POSTITON 0 " ".
ID DIVISION.
MOVE NAME TO NAME-O.

RECORD CONTAINS 71 CHARACTERS
0000-MAIN-RTN.
第一章 COBOL程式說話概論
│ A │每一個A表示一名英文字母或空白的資料 翻譯社
. . . . . .
285

276

區最右側多出來 翻譯位數將會主動補空白。
2.文數值性定字:凡由任意字元(引號除外),由雙引
│ ASSIGN TO 系統裝配名稱 {"外部裝配名稱"}│
┌──────────────────────┐
指出此文字名稱在此之前已界說過,不克不及再重複定義 翻譯社
GO 1000-RTN.
入或磁片已損毀 翻譯社

╰═══════╯
在程式指令之句型,除大寫的保存字外,另有很多
└───────┘
法是不是准確,假如發現有毛病時,編譯程式會在錯誤 翻譯處所顯示
│ 88 前提名稱 VALUE 定字-1 [THRU定字-2]...│
0000-MAIN-RTN.
SELECT PRT-FILE

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

輸出成果:1 翻譯公司234 翻譯公司567,890

2.利用時從最高條理之號碼入手下手,其號碼為01,須從
本格式和第二種程式之差異在於第二種花樣固定做幾回,而
ASSIGN TO RANDOM "TRANS.DAT"
241

I6:(SCAN SUPPRESSED)
學生檔格式:
LABEL RECORD IS STANDARD
MOVE 1234567890 TO A.

217


例: MULTIPLY A BY 30 GIVING B. (B=A*30)
│員工編號│姓名│性別├─┬─┬─┤德律風號碼│ 住址 │
│ [ON SIZE ERROR 處理論述] │
結合構成了資料系統語言委員會(COnference on DAta SYstem
E307:OPEN MODE TYPE

脫離程序 翻譯最後一道敘述,造成法式沒法將控制權傳回給所
中定字又分成數字性與文數值性兩種,茲分述以下:
I3:AT LINE NUMBER
╰══════════╯
│ {RECORD ARE} {DMITTED} │
WORKING-STORAGE SECTION.
上的字元。



在前面所介紹 翻譯裝備部資料部僅對資料檔做描述及定義,真
元將會顯示於本訊息之後。
│HIGH-VALUE │示意最大值(即每個bit均為1)│時,最左側一個bit為0│
4.Load error for file : 路徑名稱 檔名
例 OBJECT-COMPUTER. IBM-PC.
INPUT-OUTPUT 輸入∕輸出裝置 輸入或輸出
程式在編寫過程中一定會並到某段程式內的連續串論述會在
及利用申明如下:
MOVE TOTAL-SCORE TO TOTAL.
當畫面上泛起如上訊息時,則可能磁片已無足夠空間寫
合。
便可履行您的程式了。
(二)毗連區(Continuation Area):
訊息外,還包括下面之訊息,以告知您那一個不是選擇
INPUT-OUTPUT SECTION.
└─────────────────────┘
└─────────────────┘
當所要處置是陸續好幾個法式時,此時可合營THROUGH
在COBOL中可用OCCURS子句來設定表格,其感化是宣佈某替
2.依性質來分:

╰═════╯
檔案之記實鍵值所參考到的資料名稱尚未界說。
第五章 前提論述
CLOSE 後緊隨著欲封閉之資料檔名,此檔名必需鄙人面
例: DIVIDE A BY 10 GIVING C REMAINDER D.
│ └─日
1.本子句可省略。
2.若是程式中沒有簿子句時,則區塊長度內定值為
512個字元。

228

字性或編纂性的資料項目。
│ │ │ │ 誕生日期 │ │ │
│ {CORR } │
當局乃邀集主要電腦製造廠商、用戶及學術機構等於一九五九年
§1-2 COBOL說話 翻譯根基架構
1.假如是把資料檔的資料讀進來處理時,則必需選擇
88 SW-ON VALUE "ON".
88 SW-OFF VALUE "OFF".
4.資料有連續性時,可寫出最小值與最最大值並用THRU連
│ [BINARY] │
COBOL程式中檔案的根基輸入輸出論述有四個,一一介紹以下:
試設計一列印成就單的程式
╰════════╯

3.程式名稱最長30個字元 翻譯社
軟體也不必作太大地修改,利用十分利便。
88 FUNC-OK VALUE 1 THRU 5.


264

最小紀錄長度,並未與外部檔案 翻譯現實最小記錄長度符合

┌────────────────────────┐
正對資料檔做進一步處置懲罰時,則必需在處置懲罰法式部中控制。在
SUBTRACT 10 A 30 FROM C (C=C-10-A-30)
258


PROGRAM-ID. TABS.
╰═════════╯

用法也大致不異,縱使更換廠牌、機型,利用
大於檔案的最大記錄長度 翻譯社
287

220

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.
其利用法則如下:
例: 77 A PIC 99B99B99.
╭═════════╮
例: AUTHOR. TOM.

├─────────┼─────────────┼──────────┤
§4-2 資料搬移處置懲罰
│ {I-O {資料檔名-3}} ... │
指出上一次發生毛病之列編號。
2、L選擇項
SELECT OUT-FILE ASSIGN TO PRINT "PRINTER".
IDENTIFICATION DIVISION.
暗示表格為 B(1,1) B(1 翻譯公司2) B(1,3) B(2,1)
二、AUTHOR 段
例二:試印出九九乘法表的COBOL程式。

(二)程式設計師自定字元
│ COMPUTE 運算成果 [ROUNDED] = 運算式 │
231

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

│ 陳述句 │ │ │ (3) 非凡字元
E311:PARAGRAPH-NAME UNDEFINED

3.依用途來分:
225

│ [SECURITY.] 註解 │
DATA DIVISION.
例: ADD 10 TO B (B=B+10)

輸出可編寫為
│ IF 條件式-3 │
2.本格局 翻譯運算方法是將所有加數全部加起來再與被加數
解:
└──────────────────────┘
資料紀錄:
MOVE CLASS-NO TO CLASS-NO-O.
╰═══════╯
此段是描寫程式最初編譯之目期實時間。本段可省略。
B(2,2) B(2 翻譯公司3)
繼續寫時,於第二行之第七格加上一個"-"符號以
組合而成。
式有兩種茲分述如下:
READ STU-FILE AT END GO 3000-CLOSE-RTN.
(Clause)、單字(Word)及字母(Character);每部份為若干節,
2000-READ-ERN.


A 880 4200 4200-880 3320

└──────────────────────┘
VALUE"學 生 點 數 表".
90,07 對唯讀檔案進行I-O處理。
91 貪圖對一未開啟之檔案做I-O處置懲罰 翻譯社
92 企圖對一已開啟之檔案做開啟處置懲罰 翻譯社
94 産生不准確的開啟動作 翻譯社其原因可能以下:
94 翻譯公司01 檔案所指定的檔案組織其實不與外部檔案的現實檔案組織相
┌──────────────────────┐


212

E313:PERFORM ENTRY INDEPENDENT
第六章 迴圈與表格化

第一種花樣:
了局 搬移前 搬移後
OBJECT-COMPUTER. IBM-PC.
指出文字名稱界說於複製字元的字子片語以後;該文字名稱
要而選用,亦可省略不消 翻譯社在此我們介紹幾個選擇項:
╭════════╮
COMPUTE R = C11 * C2.
IDENTIFICATION DIVISION.
PROCEDURE DIVISION.
4.對應搬移時只管其階級號碼是不是相同,僅對同名稱 翻譯
┌────────────┐
2.假如資料濫觞區的位數大於目 翻譯區的位數時,則資料將
W57:SYMBOL SIZE
改變其意義與用法。
║ 空白符號(B) ║
│ DIVIDE 除數 INTO 被除數 GIVING 運算了局 │
§1-6 資料檔概述
前面介紹 翻譯是屬於一層表格,假如表格具有二個標的目的的資料
1000-WRITE-HEADING-RTN.
(3) 乘、除
...
│ │ │其餘七個bit為1 │
║ ASSIGN子句 ║
程式指令均須書寫於此區內,此區又分成A、B兩區,其
附錄2 RM-COBOL 履行時所產生 翻譯錯誤訊息
262


裝備部(ENVIRONMENT DIVISION)是COBOL程式的第二部。其

資料項目:
,以下:
翻譯社

DISPLAY "==================================".
例: RM-COBOL為
2、輸入輸出之毛病訊息
1.Open error for file : 路徑名稱 檔名
PROGRAM-ID. SAMPLE.
在輸入區或輸出區中並無多餘的空間來貯存這些臨時性 翻譯資料,
02 TAB1 OCCURS 2 TIMES.
03 T1 PIC 9(3).
03 T2 PIC 9(3).
03 T3 PIC 9(3).
PROGRAD-ID. MUL.
C   3   4     3   3

└──────────────────────┘
C.程序部 OPEN 過 翻譯社
└───────────────────┘
┌─────────────────────┐
╰═══════════╯


替定字用以默示特定之資料者。請參照下表:
╭═══════╮
+ MAT OF STU-REC + PHY OF STU-REC
OBJECT-COMPUTER. IBM-PC.
例: DATE-COMPILED JAN-3.
點第三位四捨五入。

E297:MOVE NONINTEGER TO NONNUMERIC
ADD 10 A 20 GIVING C (C=10+A+20)


Usage : RMCOBOL name [option]
├────┼──┼──┼────┼───┼───┤
┌────────────────────────┐
用於66 翻譯公司77,88等階級號碼。
│ [LINAGE 子句] │

COPY敘述缺少告終束句號。編譯程式會主動假定一個結束句
ACCEPT N POSITION 0
RANDOM 磁片 輸入或輸出
號碼便可,餘此類推。
表延續 翻譯社
║ 加法 (ADD) ║
(3)檔案開啟之個數已達到功課系統的極限。
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.
例:貪圖利用OPEN OUTPUT論述對一個分歧檔案開啟的外

子句一般省略不用o
│ RMCOBOL 路徑名稱 檔名 [選擇項] │

在B區中發階層號碼01或77。
DATA DIVISION.
§5-2  巢狀條件式與複合前提式
IF S = "M"
編譯程式標註為不准確之資料項目。
目次的路徑,而檔名則是編譯程式將原始程式編譯後所產生的目
§2-1 辨認部
│ [VALUE 子句] │
P.S. "{}"表示可肆意選用組合。
1.依貯存煤體來分:
└────┴──┴──┴────┴───┴───┘
WRITE OUT-REC FROM HEAD-1 BEFORE 2.
┌────────────────────────┐

│PERFORM [法式-1┌ {THROUGH} 法式名稱-2 ┐] │
之部分將被截掉,因此產生了不正確的結果,為了避免此種
W22:COPY PERIOD

第四章 法式部
第二種花樣:
MOVE CORR STU-REC TO WORK-REC.
SELECT STU-FILE ASSIGN TO INPUT "TEST.DAT"
DISPLAY "年級\性別 男女 男女 男女 男女 男女".
└──────────────────────┘
MS-COBOL是Microsoft公司出書的COBOL版本,而RM-COBOL
│ {PIC} │
此段可省略。
1、自力項目:
1.數字性定字:指可供數學運算之數字資料值,限由
0~9及正號(+)、負號(-)及小數點(.)構成,每
一數字性定字之數字(不包孕小數點及正負號),不


└────┴──────────────────┘
│ [BLANK 子句] │
PROGRAM-ID. TEST4.
§2-3 典範榜樣
┌──────────────────────┐
│MOVE [CORRESPONDING] 來源區 TO 目 翻譯區1 [目 翻譯區2]..│
以上根基項目或從屬之集體項目 翻譯社以下圖之員工
MOVE敘述不克不及將非整數數值資料搬移至非數值資料項 翻譯社
│ ELSE 敘述2 │
FILE SECTION.
3.假如程式中此行省略,未宣佈構造者,則視為
二元挨次檔 翻譯社


226

(Division)│(Section)│(Paragraph)│(Sentence)├──┐
ID DIVISION.
│ [USAGE 子句] │
I2:LAST DIAGNOSTICAL LINE

CLOSE EMP-FILE OUT-FILE.

§3-4 編輯符號
RECORD 子句是用來表示一個資料記錄的巨細。本
MOVE "350813" TO A.
在非數字值定子的繼續列上並沒有左引號記號 翻譯社



(2) 指數
子句可編寫以下:
│ [ROUNDED] │
MS-COBOL為
WRITE OUT-REC FROM HEAD-3 BEFORE 1.
此子句是用來指定所要處置之資料檔 翻譯構造。
指出上一個毛病訊息中所參考到之特定資料紀錄名稱。
於訊息文字以後 翻譯兩個單引號中 翻譯社
│ │只限用一個 │

90 翻譯公司02 貪圖利用DELETE、REWRITE論述對一宣佈為ACCESS MODE
0000-BEGIN-RTN.
份或右邊小數部分其多出來的位數將會自動補零。
FILE-CONTROL.
代其名稱或者乾脆省略不寫。
1、機型節(CONFIGURATION SECTION)
1.SOURCE-COMPUTER段
290


(2) AND
3.集體項目不能使用不異 翻譯資料名稱,但其所包含之資料
寫。B區則從第十二格至第七十二格,任何句子、子句或指
STOP RUN.

"OVERFLOW" STOP RUN.
料項目以後,且可同時界說好幾個前提名稱 翻譯社
┌──────────────────────┐
│ STOP RUN. │
FD EMP-FILE
記,其格式及使用方式以下:
│SPACE,SPACES │表示一個或多半個空白 │同上 │
A>RUNCOB 路徑名 檔名
└────────────────────────┘

習慣上我們所浏覽的數字都是每三位數字加一個逗號,
1、關係前提式:
由於 COBOL所處置的資料可分為數字性資料與非數字性資料
本選擇項可加上路徑名稱,使列印檔可以存入分歧

│ [PICTURE 子句] │
例: SUBTRACT 10 FROM A (A=A-10)
│ ELSE 論述1 │
原始程式經由編譯程式處置後,此時將產生目的程式,然後
SOURCE-COMPUTER. IBM-PC.
216

2.每單字最長不得超過30個字元。
3.不得與保存字不異。
4.每單字至少應有一個英文字母,但法式部之段落
例: 77 SW PIC X(3).
│SUBTRACT 減數 .. FROM 被減數 GIVING 運算效果│

3000-CLOSE-RTN.
│ {PICTURE} IS 字元串符號 │
(1) 正負號
此段首要目標是申明編譯原始程式所利用之電腦機

時未滿之位數會補零,但這些零在輸出報表上不美觀,是以
DATA DIVISION.
IF (STU-NO OS NOT NUMERIC) OR NOT SEX-OK
第二章 辨認部及設備部
§1-1 COBOL簡介

式會主動設定第一個字元被系統利用。
RECORD CONTAINS 30 CHARACTERS
4.D:於編譯程式時不顯示出錯誤訊息 翻譯社
5.空白時表正常處理。

SELECT TRANS-FILE
│ADD 加數 ...GIVING 運算成效 [ROUNDED] │
解:

經MOVE以後目標區之值為"WELCOME "
例 A>RMCOBOL TEST
├──┼──┼───┼───┼───┼───┼───┤
╭═══════╮
╰══════╯

└──────────────┘
WRITE OUT-REC FROM HEAD-3 BEFORE 1.
以下訊息
{常數-1 } IS [NOT] {EQUAL TO} {常數-2 }
90,03 欲進行之動作與媒體的裝備名稱相衝? 翻譯社
1.對系統裝備名稱為OUTPUT、PRINT或PRINTER 翻譯檔案執
~p9d0g2w1z1l24x8
├─────────┼─────────────┼──────────┤
3000-CLOSE-RTN.
基本項做相對應的相加,相加上後之結果儲存於同名稱
3.OMITTED 為無標籤記號者,平常利用於卡片檔、報
翻譯輸出裝備,若未省略時,則稱資料名稱-2內 翻譯資料先搬
在工作暫存節所界說 翻譯資料除了前面已介紹過 翻譯集體項
227

{LESS THAN}
│PERFORM [程序-1┌ {THROUGH} 程序名稱-2 ┐] │

1.如果 LABEL 子句選擇OMITTED時,不成採用簿子句。
2.簿本句一般均省略不寫。

5、DATA 子句

在複合條件式中可以將AND與OR夾雜利用,此時須注重
所指出的內容中需求特定的保留字。其需求的保存字會列
├────┼──────────────────┤
ELSE IF GRADE-C MOVE "C" TO POINT.
誤訊息的輸出。
│ . │符號佔一個位置,且每一個PIC子句 │
辨認部內含有不正確的語法佈局。


┌─員工編號
DISPLAY SUMS.
┌──────────────────────┐
經MOVE以後目標區之值為135.78
此區一般用來編纂特別字符用以區別,一般均略而不寫 翻譯社
└────────────────────────┘
COBOL中要暗示資料之間的隸屬關係時可使用階級號碼,其
,並從此處繼續編譯 翻譯社所以從SCAN SUPPRESSED至SCAN RESUME
部檔案做I-O的動作。
E191:FILE LABEL NOT DATA
§3-3 工作暫存節(WORKING-STORAGE SECTION)
A=1,B=2,C=3,D=4,E=5。
所代表的條理愈高。
-------- -------- ---------- -------- ---------
例: 濫觞區 PIC X(10) 內含值為"WELCOME TO"
分歧 翻譯處所重覆編寫屢次,如斯不但程式燮得繁長且浪費了主憶
案做OUTPUT或EXTEND 翻譯開啟動作 翻譯社
│ ELSE 論述3 │
1.本段為辨認部之第一段,為辨認部獨一不行省略之
翻譯位置則必需是一個數字性資料名稱 翻譯社
編譯程式沒法認識其所要處置之工作時,則會暫停對程式之
ADD 1 TO C11
1.除數 翻譯位置可以是一個數字性定字或資料名稱。被除
╰(Entry) │
之間都有一隸屬關係,那應如何來表示其間的關係呢?在

§4-4 典範
錯誤之産生,可在運算指令中加上ON ERROR子句來處置懲罰。
DISPLAY "INPUT N:".
ENVIRONMENT DIVISION.
COLLATING子句只能用於索引檔。
§1-3 程式編寫體式格局
BLANK子句等,其他除PIC子句其餘都能省略不消。
╰═══════╯

單字須由程式設計師自行設定,其設定規則如下:
A   1   2 1 1 
1.乘數和被乘數位置可所以一個數字性定字或資料名稱
例: INSTALLATION ABC.
│ [CONFIGURATION SECTION.] │
1.假如利用 ORGANIZATION IS LINE SEQUENTIAL

SET Y TO I

§5-3 規範
WRITE OUT-REC FROM HEAD-3 BEFORE 1.
跨越120字。而且不行作數學運算。
2.AND可由兩個以上之前提式所組合而成 翻譯社
2、OR的利用法則:
1.只要有一個前提式為真時,其了局就為真,不然為
利用P選擇項時,編譯程式會將原始程式從印表機
DATA DIVISION.
省略。
│ SUBTRACT 減數 ... FROM 被減數 [ROUNDED] │
變數名稱 內含資料 內含資料 運算 成績
└─────────────────────────┘
在報表製作中經常將數字前引零以空白取代,此時可以使用Z

§6-1 迴圈
(一)循序號碼區(Sequence number):
例:01 TABLE-REC.
I1:DATA RECORD DATA-NAME IS
FD為檔案描寫 翻譯縮寫,從A區開始編寫,厥後的子句則從B
第一種花樣:
第六章 迴圈與表格化
256

MS-COBOL則是在資料部FD子句中宣佈,宣佈,其他部分大多相同
╭══════════╮
...
翻譯社其格局以下:
280

COMPUTE AVE = TOTAL / 5.
§§編譯時所產生 翻譯提醒訊息§§
│ S │在字元串符號最右側,此符號也不佔 │

│ [ROUNDED] │
┌────────────────────┐
+ CHE OF STU-REC.
§3-2 記實描寫句
WRITE OUT-REC FROM HEAD-1 BEFORE 2.
0000-MAIN-RTN.
稱(Data Name)、前提名稱(Condition Name)等,這些
└─────────────────┘
╰═══════╯

其格式以下:
222

在前面談過除自力項目無任何隸屬關係外,其他資料
有卡片檔、磁帶檔、磁碟檔,報表檔等。
例: 02 SEX PIC 9(3)
214


(一)標準化─為美國政府所認可的標準語言,不論何種廠牌

MOVE CORR IN-REC TO OUT-REC.
E261:IDENTIFIER QUALIFICATION
RECORD子句的檔案記實巨細並未與此紀錄描寫句所描述 翻譯
最常泛起的指導訊息。
第二種花樣:

FD STU-FILE LABEL RECORD IS STANDARD.
PROCEDURE DIVISION.
│前提式-1 {AND} 條件式-2 {AND} 前提式-3... │
└─────────────────────┘
MOVE GRADE TO GRADE-O.
IF SEX = "M" MOVE "男" TO SEX-O
│ {OR} {OR} │
DATA DIVISION.
7、REMARK 段
申明以下:
║ Z符號 ║
│ [ROUNDED] │
│PERFORM [程序-1┌ {THROUGH} 法式名稱-2 ┐] │
子句,表示選擇列挨次檔的構造。
檔案開啟模式型別為EXTENDED、INPUT、OUTPUT與I-O 翻譯社


OPEN INPUT STU-FILE OUTPUT OUT-FILE.
┌─────────────────────┐
為:
│ TIMES 饬令處置懲罰敘述 │
§1-4 編譯程式
翻譯社此段可省略。
訊息,告知您若何下達完全的命令("[]"透露表現可省略)
使用者定義 翻譯字語長度大於30個字元。
Syntax error :option characters must be followed

默示其還分細項目,即定義了多項 翻譯單層表格。

║ ║
RMCOBOL 為啟動編譯程式之饬令,路徑名稱則用來指出程式
每節分為若干段,每段由一個或一個以上 翻譯句子構成,句子則由
PROGRAM-ID. TEST2.
小寫 翻譯單字,如程式名稱(Program Name)、資料項目名

94 翻譯公司02 RECORD子句指定的最小紀錄長度或檔案名稱記錄所隱含的
IF (J = 1 AND K = 1)
I9:FIRST DUPLICATE CHARACTER IS
(4)所指定的檔案不存在。
229

利用多層表格時,需注重下列事項:
便可編譯程式,而履行程式只需鍵入:

<<< 目 錄 >>>
E124:COLLATING SEQUENCE INVALID
└───────────────────────┘
by a space or comma.
(三)常數
例: SECURITY HIGH.
│ [BLOCK 子句] │
A.INPUT-OUTPUT SECTION 中的 SELECT 子句中指定過 翻譯社
操縱PERFORM論述臨時離開今朝的程序,能移至該自力出來,此
246

論國內或國外,均普遍而遍及地使用。
237

例:自學生檔中讀取資料,經處理後由印表機

LABEL RECORD IS OMITTED.
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
指出上一個毛病訊息中所參考到之特定記錄鍵值之資料名稱 翻譯社
§1-1 COBOL簡介
┌────────────────────┐
88 SEK-OK VALUE "M" "F".
3.假如集體項目界說了初值,則其根基項目不克不及再定
目標區 PIC X(7)
PRINT 印表機 輸出
3.詭計使用START、READ、REWRITE或DELETE論述對一檔
WORKING-STORAGE SECTION.
用到 翻譯設備或檔案名稱 翻譯社例如:
02 N PIC 9(3) OCCURS 5 TIMES.
§3-4 編纂符號
┌────────────┐
210

│ [INSTLLATION.] 使用單元名稱 │
└─────────────────────┘
MS-COBOL為
敘述且多次利用時,我們可將其自力出來成一個自力的法式,再
三、P選擇項
1.88條件名稱其階層號碼必需為88,可界說於任何資料項
WRITE OUT-REC FROM WORK-REC BEFORE 1.
┌─────────┬─────────────┬──────────┐
250

STOP RUN.
ELSE MOVE "女" TO SEX-O.
WRITE OUT-REC FROM HEAD-2 BEFORE 1.
AUTHOR. YUAN.
第二種格局:
283

裝備上。
第三章 資料部
1.簿本句只能用來描寫基本項目及自力項目的資料。
2.字元串符號則是用來透露表現資料的性質,可分為以下四類:
│ SELECT [OPTIONAL] 資料檔名稱 │

│ OPEN {INPUT {資料檔名-1}} ... │
MOCE A TO BM 設定 B=A,C=A
C(2,2 翻譯公司1) C(2,2,2)
PROCEDURE DIVISION.
行。
PROGRAM-ID. TEST.
、77、88等。
└──────────────────────┘

PERFORM論述參考到分歧自力分段中 翻譯法式進入點。

AT END 子句的功用與 READ 相反,是把輸出區(記錄描
式處置懲罰中的名稱,並指定其輸入或輸出 翻譯裝配名稱。其
翻譯區 PIC 9(3)V9(2)
SELECT EMP-FILE ASSIGN TO RANDOM "SAMPLE.DAT"

│QUOTE,QUOTES │透露表現一個或大都個引號 │同上 │
3.其他子句包括PIC子句、VALUE子句、OCCURS子句、
資料項目就是──由一個或多個字元所組成,又稱資料欄 翻譯社
學生檔格局
W65:INTEGER ZERO INVALID
§6-2 表格之宣佈方式
╭═══════╮
例: PROGRAM-IF. TEST.
例:READ後,REWRITE前,改變了鍵值資料。
B   2         2
WRITE OUT-REC FROM HEAD-3 BEFORE 1.
┌─────────────────────┐
翻譯前提式合併成一個條件式,其格式以下:
關係前提式是用來比力兩個資料之大小,其格局及使用
ORGANIZATION IS LINE SEQUENTIAL.
╰══════════╯
(5)檔案存在、但路徑名稱指錯處所。
E80 :"ALL" FIGURTIVE ILLEGL
例: ADD 10 GIVING (A-10)
§§編譯時所產生的毛病訊息§§
RECORD子句中 翻譯VARYING DEPENDING ON片語中所利用的資
2.對系統裝備名稱為CARD READER或INPUT的檔案履行
│ READ 檔名 [INTO 資料名稱] AT END 敘述 │
SELECT CC ASSIGN TO PRINTER.
INPUT模式。
2.若是是把資料檔的資料寫入一個新的資料檔時,則
1000-WEITE-HEAD-RTN.
4.利用 NOT 暗示否定論述 翻譯成效 翻譯社
5.數字性資料是依數字大小來對照,而非數字性資料是由
WRITE OUT-REC FROM HEAD-2 BEFORE 1.
┌───────────────────────┐
是運算結果做四捨五入。四捨五入的法則係憑據小數點後之
毛病訊息:E 暗示嚴重毛病,錯誤代碼範圍80~999。。-> 翻譯社|,-> 翻譯公司|的-> 翻譯
往是資料數量複雜而較量爭論簡單,故其所需之電子計算機性能與其

┌──────────────┐
VALUE 子句的功能是將某特定資料設定給某一資料名稱,


ELSE GRADE-E MOVE "E" TO POINT.
欲輸出的資料可存入此區域內(稱為輸出區),但資料名稱-2
SELECT OUT-FILE

┌────────────────────┐
輸出結果: 1234
MOVE ZEROS TO TABLE-REX.
C(1,2,2) C(2 翻譯公司1,1) C(2,1,2)
ADD 1 TO C11
266


描述句FD及SD、01階級與77項目均應自A區,即第八格入手下手
└──────────────────────┘
MULTIPLY C BY SUMS ON SIZE ERROR DISPLAY
OBJECT-COMPUTER. IBM-PC.
翻譯社
D 6 6

234

┌──────────────────┐
SELECT AA ASSIGN TO DISK.
~p9d0g2w1z1l24x8
│ [ON SIZE ERROR 處置懲罰論述] │
│ VALUE OF 標籤名稱 IS [資料名稱] │
1000-WRITE-HEADING-RTN.
其他子句將在後面陸續介紹 翻譯社

SELECT AA ASSIGN TO RANDOM "A:PP.DAT".
2.OBJECT-COMPUTER段
ENVIRONMENT DIVISION.
XXXXXX XXXXXXXX X XXXXXXXXXX X...X X...X
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.


員工編號 姓 名 性別 身份証號 電 話 住 址
│ [ON SIZE ERROR 處置敘述] │
DATA RECORD IS EMP-REC.
0000-BEGIN-RTN.
輸出之控制,硬體裝備的特征及節制技能等,其花式以下:
語言,所以MS-COBOL與RM-COBOL固然是兩家公司離別成長出來
了解其所要處理之工作時,則會暫停對程式之闡明,並將本訊
CLOSE STU-FILE.
從毛病之處繼續翻譯,但不會顯示本訊息;若是編譯程式沒法
所謂集體項目就是指自己可再細分成一個或一個
DATA DIVISION.
│ [OBJECT-COMPUTER.] 履行機型描述 │
左至右逐一對照每一個字元,按照其ASCII碼大小來決議
三個部分利用過:
W18:ALPHABET LITERAL SIZE
│ └ {THRU} ┘ │
本格局和第一種程式之不同在於第一種格式只做一次,而本
而檔名可只寫主檔名,附加檔名(CBL)可省略。
WRITE OUT-REC FROM HEAD-3 BEFORE 1.
,且不克不及利用無名氏(FILLER) 翻譯社
§4-2 資料搬移處理

│ 9 │每個9表示一位數字性資料 翻譯數字 │
例: 01 WORK-REC.
例 A>RMCOBOL TEST L
245

SOURCE-COMPUTER. IBM-PC.
│ [SOURCE-COMPUTER.] 編譯機型描寫 │
PERFORM敘述內使用了GOBACK,GO TO或STOP RUN等敘述做為
3.比擬常數:所謂比擬常數就是利用某些公認字以代
"學號 姓 名 性別 班級 品級 點數 學分".
例: 77 TOTAL PIC 9(3).
2.存取表格資料時,必需利用最低層 翻譯資料名稱
MOVE 30 TO D,E 翻譯公司F 設定 D=30, E=30, F=30
第一章 COBOL程式說話概論
得跨越十八位。
└────────────┘

A>RMCOBOL C:\COBOL\TEST

符號來完成。
│ │此數字所能默示的範圍為-99~+99 │
║ COBOL ║
§5-3 典範榜樣
2.外部裝配名稱是用來指定現實輸入輸出時所使
STOP RUN.
│RECORD CONTAINS [整數-1] TO 整數-2 CHARACTER│
寄存於被除數的位置。
┌─────────────────────┐

編譯程式無法識別利用者所指定的檔案開啟模式 翻譯社准確的
│ [DATA-COMPILED.] 程式編譯日期 │



1.被比力之資料可同時為資料名稱,或一為資料名稱一
VALUE 子句為LABEL子句 翻譯增補申明,其功用是指
253

2、前提名稱前提式
壞掉了,版本不准確 翻譯社
273

A>COBOL 路徑名 檔名
│ {索引名稱-1} {索引名稱-1}│
- CHI ENG MAT PHY CHE ".
VALUE OF FILE-ID "A:PP.DAT".
┌───────────────────────┐
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.

還有資料部的檔案描寫句:

一、某公司將其人事資料貯存於磁碟上試設計一不包括法式部的
│ DIVIDE 除數 INTO 被除數 [ROUNDED] │
指出檔案描述句內的VALUE子句所界說的資料名稱,在資
270


翻譯區 PIC X(10)
║ 逗號(,) ║
符合 翻譯社
在此段可記上任何備忘訊息,本段亦可以省略。
ELSE IF GRADE-D MOVE "D" TO POINT.

2.Read error for file : 路徑名稱 檔名
翻譯社而運算後果的位置因不參與運算,所以可所以一個數
§2-2 裝備部

連串之判定,此時應注意IF和ELSE之對應關係,其花式以下:
215

在所指出的內容中必要一前提名稱 翻譯社

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

錯。


│ADD {CORRESPONDING} 加數 TO 被加數 [ROUNDED]│
WRITE OUT-REC FROM HEAD-2 BEFORE 1.

第三種花式
原始程式編寫完成後,我們則須藉著編譯程式來產生目 翻譯程式,
當畫面上泛起如上訊息時,則可能為覆疊檔(Overlay)
│ {THRU} {整數} │
MOVE 1234 TO A.
FILE SECTION.
二、RECORD 子句
結所以可所以一個數字性或編輯性的資料項目。
┌──┬──┬───┬───┬───┬───┬───┐
(三)類似英文─說話結構與英文十分類似,為一白話化、文

├─員工姓名
77階級號碼 翻譯資料項並沒有描寫資料項目。如貧乏

利用編纂符號可以使輸出結果具美觀及易讀性,茲介紹以下:
例二:根據下面度理要求,將毛病之學生資料剔除,印出正確之
(三)指令陳說區(Statement Area):
由於輸入檔的資料都是貯存在外部媒體上,是以檔案讀
將錯誤之嚴重性分成以下之三個等級:

│ │此數字所能表示的規模為+0.0~+99.9 │
E101:ASSIGN REQUIRED
例 A>RMCOBOL TEST L=C:\COBOL\PROGRAM
IF GRADE-A MOVE "A" TO POINT.
資料記錄是由一個或一個以上 翻譯資料項目所組成,而資
1.CORR 為 CORRESPONDING 的縮寫字,可任選其一利用。
2.來曆區和目標區必需是一個集體項目名稱,所以弗成使

247

其大小。
║ 關檔(CLOSE) ║
├─────────┼─────────────┼──────────┤
附錄1 編譯時所產生的錯誤訊息
§3-1 檔案描述句
或巨細型電腦,幾乎都可以使用此種程式說話,
└────────────────────┘
│ [ROUNDED] │
ORGANIZATION IS LINE SEQUENTIAL.
SELECT子句是用來設定資料檔在程式運作中之資料
AUTHOR. YUAN.
B.FILE SECTION 中的 FD 描寫過 翻譯社
DATA DIVISION.
╭═════╮
FD STU-FILE LABEL RECORD IF STANDARD.
在數字性資猜中若是所宣佈之位置比實際位數大時,此
239

當PERFORM敘述中僅包括法式名稱-1時,表程式僅執行程式,
│ 77 資料名稱 其他子句 │
274

├────┼──────────────────┤
子句:
COMPUTE R = C11 * C2.
│ [REDEFINES 子句] │
表示表格為 C(1,1,1) C(1,1,2) C(1,2 翻譯公司1)
將辨認記號寫入資料檔中,今後使用時可根據其辨認記

DISPLAY " " Y " ".
W19:AREA A LEVEL
($)標示犯錯誤 翻譯處所,並時指犯錯誤 翻譯嚴重性。編譯程式
~p9d0g2w1z1l24x2

§1-4 編譯程式

│ FILE-CONTROL. │
│ DIVIDE 被除數 BY 除數 GIVING 運算結果 │
238

在撰寫COBOL程式,有以下限制:
PRINTER 印表機 輸出
義初值。
2.如果起原區 翻譯位數大於目 翻譯區的位數時,將會産生資料
必需鄙人面三個部分利用過:
3、INSTALLATION 段
資料檔平常是由許多 翻譯記錄所組合而成。
│ {OUTPUT {資料檔名-2}} ... │

FD OUT-FILE LABEL RECORD IS OMITTED.
│ [AUTHOR.] 設計者姓名 │
,茲列表如下:
或THRU來設定範圍,個中法式名稱-1為欲處理之啟始法式名稱,
§4-4 典範榜樣
213




│ │只限用一個 │
│ 號令處置論述 │
例: 77 A PIC ZZZZZZ.
翻譯社
(4) 加、減
ENVIRONMENT DIVISION.

§3-2 記實描述句
│ ... │
╭══════╮
SELECT OUT-FILE ASSIGN TO PRINT "PRINTER".
1.階層號碼必需為02~49之間,即階級號碼不完為01、66
例: MULTIPLY A BY B. (B=A*B)
稱及其所使用的外圍機械裝備名稱 翻譯社
1.除數 翻譯位置可所以一個數字性定字或資料名稱 翻譯社運算

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、某公司員工資料悉數貯存於磁碟上,試設計一個列印員明細
附錄1:RM-COBOL編譯時所產生 翻譯毛病訊息
233

3.簿子句須毗連在所描述資料名稱之後 翻譯社
(紀錄描述句所描寫之區域)內,以供程式進一步的地方理 翻譯社
E190:FILE LABEL INVALID
│X(6)│X(8)│X(1)│9(1)│X(1)│9(1)│
名內定為.LST,當程式有毛病時,利用列印檔有助於查
取功能就是將儲存在外部媒體上的資料讀入所指定之輸入區
│ [RECORD 子句] │
CONFIGURATION SECTION.
│ RMCOBOL 路徑名稱 檔名 [選擇項] │

OPEN INPUT EMP-FILE OUTPUT OUT-FILE.



MOVE CORR EMP-REC TO WORK-REC.
(四)辨認區(Identification Area):
1.使用多層表格時,此時OCCURS子句可重疊使用,但只有
檔,其花式及利用規則說明以下:


單字可分為:保存字(Reserved ord)、程式設計師自定字元
檔案之記錄鍵值重覆屢次定義且沒有恰當地限定。

前提名稱前提式是用來偵測資料項目內所含的資料是否
└────────────────────┘
│ [INPUT-OUTPUT SECTION.] │

╰══════════════╯
1.每一個Z符號都佔用一個貯存位置。
2.Z符號只能用在9 翻譯左側。
C:\COB\TEST 指定裝置為C磁碟機的COB
目的區 PIC X(10)
╭══════════════╮
字來代表遞次,亦可以空白代替。
DISPLAY A.
286

SELECT IN-FILE


位數來決意,若該小數點後有兩位時,則運算成果將在小數
E296:MOVE ANSE/ABS TO NSE/NUMERIC
或連接節中。
77 C PIC 9(3) VALUE 0.
77 S PIC 9(4) VALUE 0.


吻合條件名稱所設定的資料範圍。利用條件名稱前提式來測
放於被乘數的位置內 翻譯社
目外,還有一種自力項目 翻譯社自力項目與其他項目之間並沒有任
282

BLOCK CONTAINS 1024 CHARACTERS
附錄2:RM-COBOL履行時所產生 翻譯錯誤訊息
OPEN 之後緊接處置模式:
ASSIGN TO RANDOM "OLD.DAT"
在法式部中欲結束程式履行,可用STOP論述。
COMPUTE TOTAL-SCORE = CHI OF STU-REC + ENG OF STU-REC
1.系統裝配名稱經常使用 翻譯有以下數種選擇:
WRITE、OPEN OUTPUT或EXTEND動作 翻譯社
ADD C TO S.
┌──────────────┐
(1)使用了一個不正當的路徑及檔案名稱 翻譯社
所以簿子句一般都將其省略。
01 OUT-REC PIC X(63).

檔案描寫句中含有不准確 翻譯語法結構 翻譯社
│ │數資料,注重不克不及寫在兩個9的中心 翻譯社
指出文字名稱界說了一個或多個複製字元,而第一個重覆字
GO 2000-READ-RTN.
第三種花式:
│ORGANIZATION IS [LINE] SEQUENTIAL │
程式設計師在設計時都必需替每個資料項目在主記憶
算術運算式的語法構造是不正確的 翻譯社
MS-COBOL與RM-COBOL最大之分歧處是在於裝備部的SELECT
(Literal)與對比常數(Figurative Constant)兩類,其
│ [LABEL 子句] │
ADD 1 TO C.
INPUR的開啟動作。
COBOL 翻譯佈局與一般英文文章構造大致類似,分為部(Divi-
號來鑒識。LABEL子句則是用來指明資料檔檔頭否有標
如此可一眼看出數值大小,一樣的在報表輸出上我們也能夠
289

翻譯社
字性或編纂性的資料名稱。
§4-3 算術運算處置懲罰
文字性: A
就是說RM-COBOL的外部檔案描述在設備部SELECT子句中宣佈,而
ADD 1 TO N(Y 翻譯公司 C , 2).
IDENTIFICATION DIVISION.
關係,是屬根基項目之一種。
ENVIRONMENT DIVISION.
E285:LEVEL 88 CONDITION-NAME REQ'D
MOVE C2 TO C22.
╭═════════╮
例:某程式中需同時開啟主檔和異動檔,則本

┌──────────────────────┐
第二種花式
│ UNTIL 前提式 饬令處理論述 │
. . . . . .
4.依佈局來分:
的名稱、性質、記錄巨細、檔頭是否有標籤、標籤內容等特征,
│學號│姓名│性別│班級│等級│學分│
254

95 不正確的裝備裝配。
97 不准確的紀錄長度,其原因可能以下:
97,01 列順序檔內 翻譯紀錄中稀有個字元是毛病的。
97,03 在WRITE、REWRITE或RELEASE敘述中指定 翻譯紀錄區域長度
錯誤訊息,供應您參考。編譯時所產生之毛病訊息可分為四類:
PERFORM VARYING I FROM 1 BY 1 UNTIL I > 3
下圖之員工編號、性別等 翻譯社
ORGANIZATION IS LINE SEQUENTIAL.
D 120 120
§1-6 資料檔概述

│PERFORM [法式-1 {THROUGH} 法式名稱-2] {資料名稱}│
00 執行成功。
02 運作成功但鍵值重覆。
10 檔案讀取竣事
21 不准確的鍵值按次。
PRINTER 指定由印表機輸出。
值編輯資料項 翻譯社

~p9d0g2w1z1l24x8
2.格式 翻譯運算方式是乘數和被乘數相乘,相乘後 翻譯了局存
減數 被減數 TOTAL-REC
明檔案標志內容,以供檔案識別用,其格式及利用申明
1.本部所有部名或段名均從A區起頭編寫 翻譯社
2.IDENTIFICATION可使用ID縮寫 翻譯社
3.本部所有部名或段名及程式名稱之竣事必需加句點。

1、PROGRAM-ID 段
CONFIGURATION SECTION.

經MOVE以後目 翻譯區之值為00135.780
B.FILE SECTION 中的 FD 描寫過。
A區起頭編寫,而第二層之號碼只要大於第一層之
│ SELECT 子句 │
│ [VALUE 子句] │
SEQUENTIAL的檔案做I-O處置懲罰。
│SUBTRACT {CORRESPONDING} 減數 FROM 被減數 │
{<}
ENVIRONMENT DIVISION.
並同時查抄程式語法是不是准確 翻譯社編譯程式的編譯語法花樣以下:
└──────────────┘
W29:FILE DATA RECORD DEFINITION
例: DIVIDE 10 INTO B GIVING D. (D=B/10)
學生資料。
或 ADD 10 A A 20 TO C
入:
┌──────────────────┐
電腦在貿易方面的用處已日趨遍及,但是貿易方面的營業往
搬移。
項的單層表格。若發生在集體項目中(未含有PIC子句),
PICTURE 子句是用來講明每根基資料 翻譯性質與長度,
PERFFORM VARYING C1 FROM 1 BY 3 UNTIL C1 > 9
,可是它們卻是大同小異的。
╰═══════╯
MOVE C1 TO C11.
解:IDENTIFICATION DIVISION.

STOP RUN.

90,04 欲進行之動作與界說的組織不符合合。
1、K選擇項
│ [PROGRAM-ID.] 程式名稱 │
果寄存於運算成績的位置內。

選擇項是在編譯時,編譯程式所附帶的功能,使用者可依需
語法以下:
常數係以暗示實際的資料值,依其形態可分為定字
之被加數內 翻譯社
B 470 3350 470+3350 3820

│ {FILLER} │
§5-1 前提式
01 OUT-REC PIC X(73).
利用OCCURS子句的第2種格局時,貧乏DEPENDING ON片語。
C.法式部 OPEN 過。

資料紀錄(Data Record)是資料檔的基本單元,每個
READ EMP-FILE AT END GO 3000-CLOSE-RTN.
2.本花式的運算方式是將乘數和被乘數相乘,相乘後的結
2、非數字性資料
1.非數字性的資料搬移,其則是一概由左向右一一搬移。
FD EMP-FILE
6、SECURITY 段
│ [OCCURS 子句] │
加數 被加數 和
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
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.
SELECT STU-FILE ASSIGN TO INPUT "STU.DAT"
ORGANIZATION IS LINE SEQUENTIAL.
員工記錄─┼─性別
└──────────────────┘
SOURCE-COMPUTER. IBM-PC.
所描寫的檔案名稱不異。假如有好幾個檔案時,此時每個資料
我們可藉著履行程式來執行,其語法格式以下:
┌───────────┐
│階級號碼 資料名稱 [PIC 子句] OCCURS 正整數 TIMES│
利用L選擇項寺,編譯程式會將原始程式寫入列印
附錄3 MS-COBOL與RM-COBOL之異同
句所描述的資料性質相配合。
名稱則可掃數利用阿拉伯數字,此為獨一之破例。
FD OUT-FILE LABEL RECORD IS OMITTED.
│ ASSIGN 子句 │
料做搬移,名稱分歧則不搬移。
STOP RUN.

,因此資料做搬移時對於分歧的型態也有分歧的搬移規則,茲將

ORGANIZATION IS LINE SEQUENTIAL.

第二種格式:
翻譯區 PIC 9(5)V9(2)
料部中並沒有准確地描寫此資料項目。
243

在這些複雜的較量爭論與處置中可能產生一些臨時性資料,但是
例 A>RMCOBOL TEST K
下:
SEQUENTIAL子句,示意選擇二元遞次檔的結構 翻譯社
磁帶檔。
輸出結果:35 08 13
INPUT-OUTPUT SECTION.
│ CLOSE {資料檔名-1}... │
其搬移規則說明以下:
252

╰════════╯
例:01 TABLE-2. (二維陣列)
(3) OR
│字元符號│ 說 明 │
所謂保存字就是指電腦能熟悉的單字,不必程式設
║ 減法(SUBTRACT) ║
3.若是資料來曆區的最右邊位數小於目 翻譯區位數,則目的
其首要目 翻譯是敘述COBOL程式名稱、設計者姓名、利用單位、編
SELECT子句中所指定的每個檔案名稱都需要ASSIGN子句的
例: REMARK. THIS IS A TEST.
§3-5 應用典範榜樣
SEQUENTIAL的檔案做I-O開啟動作。

╰═══════╯
多是一個記錄描寫句所描寫的紀錄名稱(稱為輸入),也可
223

READ 以後緊隨著欲讀取之檔案名稱,此檔案名稱起碼
例: RM-COBOL為
首要目標是敘述程式編譯及履行所利用的電腦,並供給檔案輸入
INPUT-OUTPUT SECTION.
W27:"DEPENDING ON" EXPECTED
257

DISPLAY "班 級 1 2 3 4 5".
AFTER J FROM 1 BY 1 UNTIL I > 5
IDENTIFICATION DIVISION.
PROCEDURE DIVISION.
ACCEPT DATA-REC.
│ MULTIPLY 乘數 BY 被乘數 [ROUNDED] │
1、號令列之錯誤訊息
1.若是只下達RMCOBOL這個命令,則畫面大將會出現以下
ASSIGN TO PRINT "PRINTER"
裝備部包括兩個節,一為機型節,一為輸入輸出節。
闡明,直到找到可以重新編譯的地方,才會將本訊息顯示於該處
§§編譯時所產生的警告訊息§§
,使資料不會看起來一團糟。其利用方式及說明如下:
OBJECT-COMPUTER. IBM-PC.
當程式譚完成時,畫面將顯示以下訊息,個中p表示有
2.OR可由兩個或兩個以上之前提式所組合而成 翻譯社

265


節制之PERFORM論述。
員工檔格式:
在前面所介紹之運算指令中有一個ROUNDED片語,其功能
變數名稱 WORK-REC TOTAL-REC 運算 結果

貼紙上寫上辨認記號,而內部標籤則是利用程式控制,
1000-LOOP-RTN.
└──┴──┴──┴──┴──┴──┘
相加,最後將運算了局貯存於被加數的位置內 翻譯社
在COBOL程式中所有的資料檔在輸入或輸出之前都必需
I4:RECORD KEY DATA-NAME IS
└────────────────────┘
├────┼──────────────────┤
│ │表示此數字的局限為+0~+99.9 │
1.*:註解符號,編譯程式時,此列不加以編譯 翻譯社
2.∕:表欲在列印檔(.LST)時跳頁 翻譯社
3.-:當必然字超過一行時,第一行寫不完,要在第二行
IF NOT OVER
│ │表示數字性資料小數點之位置,此 │
└─────────────────────┘
例: 下面為兩個集體項目IN-REC和DUFREC之描述。
格式可固定要做重複幾回。
辨認部編寫注重事項:
種有去有回的功能與GOTO一去不回頭完全分歧。
│ 比 擬 常 數 │ 用 途 │ 備 註 │
例:某校有三個年級,每一個年級有五個班,試設計一程
一張異動明細表,並將資料存入新主檔(NEW.DAT)內 翻譯社
┌────────────────────┐
└─其他
第七格為毗連區,可在此區填入:
┌────┬──┬──┬─────┬────┬───┐
-------- -------- ---- ---------- ----- -------
處理要求:(不准確之情況)
的檔名,以供程式處置使用。
DATA 子句是用來描寫資料檔 翻譯記實名稱,其格局
DISPLAY TABLE-REC POSITION 0.

如下:

例: 77 A PIC 9(4) VALUE 1234.
2000-READ-RTN.
0000-MAIN-RTN.
90 翻譯公司05 檔案截斷動作與其它利用者有所衝?。
ASSIGN TO RANDOM "B:\STUD.DAT"
息顯示於毛病處。

例一:設計一印出1+2+3+4+...100之和的COBOL程式。
的基本意義就是要有一套能合用於各種廠牌電腦利用之標準化
檔案描述句(File Description Entry)的功能是描寫資料檔

└────────────────────────┘
所謂巢狀條件式是指條件陳說內又有條件陳述,可用來作一
-------- -------- --------- -------- ----------
幾個和式被編譯,e暗示有幾個毛病,w透露表現有幾個正告。

第四種花樣
5.編纂性符號不行以直接做運算,必須較量爭論終了以後才將
所謂複合前提式是指在IF論述中,使用AND或OR把一個以上
1.RECORD IS 或 RECORD ARE 任選其一。
2.由於記錄描寫句緊接著描寫為資料錄的記實名稱,
OUTPUT 輸入裝配 輸出
令陳說等均應書寫於此區內。
FILE-CONTROL.
D 120 120
DISK 磁碟機 輸入或輸出
╭═══════════╮
╭═══════╮
的目次上。
所指定的法式,反之前提成立時,將由其下一個敘述繼續履行。
在檔案的01階層內界說 翻譯社

本格式所要重覆之次數則由條件式來節制,若前提不成立將履行


理之工作為何?若編譯程式可以或許領會其所要處置懲罰之工作時,則
│ └ {THRU} ┘ │
│ ORGANIZATION 子句 │
料項目憑據其隸屬關係又可分為三類:
║ 夾雜運算 (COMPUTE) ║
資料紀錄檔就是─由若干資料項目所組合而成。
該資料檔已存在,則將該檔刪除並從新建立一新檔

│9(6)│X(8)│9(3)V9│9(3)V9│9(3)V9│9(3)V9│9(3)V9│
A>RMCOBOL C:\COBOL\TEST
2.被比較之資料也能夠為運算式 翻譯組合。
3.關係運算子句用英文字或數學符號 翻譯社
╭════════╮

77 B PIC X(2) VALUE "23".
2.簿子句不克不及利用於檔案節,獨一破例是可以使用於88
表的程式。
│ IF 前提式-2 │
┌─────────────────────┐
§5-1 條件式

SOURCE-COMPUTER. IBM-PC.

若FROM子句省略時,則將資料名稱-1內 翻譯資料寫入所指
所以這也就是本節所要介紹之工作暫存節之功能。
1.簿本句由B區開始編寫。
2.每資料檔必需由程式設計師設定一獨一無二
易進修,縱使沒學過此種說話者,亦可簡略
│ LABEL {RECORD IS} {STANDARD} │
WRITE OUT-REC FROM LIST-REC BEFORE 1.
│DATA {RECORD IS} 資料名稱-1 [資料名稱-2]..│
子句或陳說構成,子句或陳說係由單字組成,單字則由字母構成
名稱即資料名稱(Data Name)。資料名稱其利用劃定規矩以下:
漏失的現象。
(一)保存字
0000-MAIN-RTN.
檔案既然有開啟 翻譯動作,也必然有封閉的動作。其花樣
...
在資料處置進程,所利用的資料檔可分為四類:
行READ或OPEN INPUT動作。
CONFIGURATION SECTION.
DISPLAY TABLE-REC.
資料檔就是───由一群性質溝通且互有聯系關系 翻譯資料紀錄所
E260:IDENTIFIER INVALID
Compilation Complete:p Program 翻譯公司e Errors,w Warning
3.若是選擇項之間未加上空白或逗號時,則畫面大將出現
現將IN-REC和OUT-REC溝通部份做搬移,效果為何?
77 N PIC 9(2).
77 SUMS PIC 9(18) VALUE 1.
77 C PIC 9(2) VALUE 0.

,此點應特別注意。
│ [DATA 子句] │
第一種格式:
INSTALLATION 段是描寫利用單元名稱 翻譯段落。本段可
DELETE、REWRITE、START或OPEN I-O動作。
AUTHOR. YUAN.
由於COBOL具有以下三大特征,是以普受常人所樂用,不
│ └ {THRU} ┘ │
SEQUENTIAL 翻譯檔案做I-O處置。
例: MOVE 5 TO A 設定 A=5
2000-READ-RTN.
編纂性: .,,,B,O,+ 翻譯公司- 翻譯公司/,Z,$,DB,CR,*
檔案未開啟前,不克不及利用WRITE敘述處置懲罰,不然將中止
所指定的段名稱還沒有界說。
│ADD 加數 ... TO 被加數 [ROUNDED] │
240

輸入輸出節的功能是設定資料檔在程式處理中的名
╰(Statement)╰ ╰ ╰
表檔、磁帶檔。
E172:FILE CONTROL ENTRY SYNTAX
資料錄的格局及在主記憶體內的寄存位置,其格局及利用申明如
└────────────────────┘
║ 四捨五入 (ROUND) ║
CONFIGURATION SECTION.
A 880 4200 880+4200 5080
│ │ │若每一個字符有八個bit │
┌──────────────────┐

部(章) ╭ 節 ╭ 段 ╭ 句子
Syntax error : Symbol "內含不准確的字元" is

最低一層可以使用PIC子句。
DISPLAY A.

程式的執行並顯示I/O error 91的毛病訊息。
記錄描寫句(Record Description Entry) 翻譯功能是用來描述
指出上一個毛病訊息中所參考到之特定表格鍵值之資料名稱。
208

結果 翻譯位置則必須是一個數字性或編纂性 翻譯資料名稱。
│ ENVIRONMENT DIVISION. │
檔必需對應一個FD 翻譯社
2.本格式的運算方法是將所有加數相加起來再將成績貯存

251

述應為STANDARD或OMITTED。
ENVIRONMENT DIVISION.
230

暗示表格為 T1(1) T2(1) T3(1) T1(2) T2(2) T3(2)
必需選擇OUTPUT模式 翻譯社利用本模式所開啟之檔案,
3、LABEL 子句
一般資料都存在磁帶或磁碟中,此時其內容根本無
內容,我們稱為雙層表格(二維陣列)。同理如果表格具有三個方

以下:
第三章 資料部

檔案描述不准確。不決義此檔案 翻譯紀錄區 翻譯社
└──────────────┘
將主襠(OLD.DAT)及異動檔(TRANS.DAT)讀入顛末處置懲罰,印出

GO 2000-READ-RTN.
第三種花樣:
BLOCK 子句是用來指定資料現實存取時的區塊單元
┌─────────────────────┐
22 所指的鍵值重覆,表欲寫入的紀錄已存在。
23 所指 翻譯鍵值不存在,表欲讀取 翻譯紀錄不存在。
24 磁片已無足夠空間寄存。
30,nn 履行輸入輸出時産生系統故障。

數必需一個數字性資料名稱o
nn值為DOS系統功能之毛病代碼。
段落 翻譯社
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).

帶或磁碟中做標籤以茲判袂。標籤可分為外部標籤與內
2000-OVER-RTN.

2.運算式是由資料名稱或定字配合運算子組合而成,其基
221

2.程式名稱其第一個字元必需為英文字母,最後以句
1000-LOOP-RTN.

二部門宣佈過:
1、BLOCK 子句
3、PICTURE 子句
IDENTIFICATION DIVISION.
比擬常數ALL的使用方式是不准確的 翻譯社

§3-5 利用範例

FD AA LABEL RECORD IS STANDARD
第二種格局:
檔案之存放位置,其現實花樣應包括磁碟機名稱、目錄的路徑,
│ │例: PIC 999 │
PROGRAM-ID. YUAN.
指出的資料項目重覆屢次定義且沒有適當地限定。
271


272

當畫面上泛起如上之訊息時,則可能為以下緣由之一:
209


1.寄存運算了局的位置因不參與運算,所以可所以一個數
規則 翻譯社
┌──────────────────────┐
本運算子有:加(+)、減(-)、乘(*)、除(/)及指數(**)
INPUT-OUTPUT. SECTION
§1-3 式編寫體例
他科技用處者分歧,它需要有較高速率的輸出裝備,方足以處置
存放於運算了局的位置內。
└─────────────────────┘
B.FILE SECTION 中 翻譯 FD 描寫過。
SELECT EMP-FILE ASSIGN TO RANDOM "EMP.DAT"
當畫面上出現如上訊息時,表所讀取之檔案可能壞掉了 翻譯社
之間 翻譯程式都不會經過編譯程式編譯。本訊息和下一個訊息是
I5:SCAN RESUME
料稱界說未被答應 翻譯節中。正確的做法應定義於工作暫存節
數值搬移過來。
一、AND的利用劃定規矩:
1.當所有的前提式皆為真時,其結果方為真,不然為
CONFIGURATION SECTION.
本格式功能和花樣二溝通,其不同為被除數與除數位置更調
區起頭編寫。FD之後隨著檔案名稱,此檔案名稱需和SELECT子句
│ [常數] │
└─────────┴─────────────┴──────────┘

CLOSE STU-FILE OUT-FILE.
╰════════╯
│ {定字} │
┌────┬──────────────────┐
在編譯程式之前,起首操縱文書編纂器來製作原始程式。當

FILE SECTION.
│ [ON SIZE ERROR 處置論述] │
§3-3 工作暫存節
將顯示於本訊息之後。
║ 乘法(MULTIPLY) ║

│ UNTIL 前提式 號令處置論述 │
PROCEDURE DIVISION.
P.S. "[]"表示此句可省略 翻譯社
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.

SELECT MASTER-FILE
1.若是為固定長度資料錄時,則整數-1可省略不寫 翻譯社
人並不是全能 翻譯,是以編寫程式時不免不當心打錯,不外沒
領會指令的意義。
└────┴──┴──┴─┴─┴─┴────┴───┘
E220:FILE RECORD SIZE DATA SECTION
MOVE CREDIT TO CREDIT-O.
E173:FILE DESCRIPTION
合體,我們可以這樣說:
§2-1 辨認部
E85 :ALPHABET-NAME DEFINED
COBOL程式 翻譯社底下為該人事資料檔格式:
或 MOVE 30 TO D E F 皆可
顛末檔案開啟(OPEN) 翻譯動作,才能進一步之處理。其格式如
│ [DATA-WRITTEN.] 程式編寫日期 │
員 工 明 細 表
何根基項目,他與任何資料項目間並沒有任何隸屬
寫日期、編譯日期、秘密品級及備註等,其花式以下:
§4-1 I∕O處置懲罰
│員工編號│姓名│性別│身份証號│ 電 話│ 住 址│
裝配,其花樣及利用劃定規矩以下:
└────────────────────┘
此段是描寫程式最初編寫之目期實時間。本段可省略。

232

Business Oriented Language,簡稱COBOL)。
1.每個空白符號都佔用一個儲存位置。
2.空白符號可以使用於數字性或非數字性資料中。
╭════════╮
~P9D0W3Z3G2L12X8
I8:ALPHABET LITERAL PHRASE
C 260 1200 1200-260 940
式,統計該校各年級各班之男女生各有多少人 翻譯社
,介係詞由INTO改為BY。
法式名稱-2為最後處置之法式名稱。
INPUT-OUTPUT SECTION.
為常數,但不能同時為常數資料。
3.若是是表資料檔 翻譯資料讀進來處置懲罰,處理後即速寫

244

│ ┌─年
255


何謂資料檔?簡單地說就是一大堆溝通性質或相幹資料的結
§6-1 迴圈
├─────────┼─────────────┼──────────┤
E512:SYNTAX ERROR,EXPECTED WORD:
3.若是來曆區的位數小於目的區的位數時,則左側整數部
│ │例: PIC 99V99 │
第二章 辨認部及設備部
經MOVE以後目標區之值為"WELCOME"
ELSE
ENVIRONMENT DIVISION.
3.程式編寫時需留意,每一個運算子前後起碼需一個空白。
4.在計算式中各種運算子的優先按次和算術運算規則一樣
│ MULTIPLY 乘數 BY 被乘數 GIVING 運算結果 │
invalid option letter
此段是用來說明履行目 翻譯程式所利用之電腦機型。
│ {資料名稱} │
┌──────────────────────┐
當編譯程式掃描到原始程式之毛病時,起首會判定其所要處


此二種花式與加法的二種花樣近似 翻譯社
B 470 3350 3350-470 2880
sion)、節(Section)、段(Paragraph)、句子(Sentence)、子句
二、集體項目(Group Item)
號括起來的字元組都為文數值性定字,其長度不得
│ALL literal │暗示全部為某種定字之意 │ALL後面之定字應為文 │
FILE-CONTROL.
規則申明如下:
例: DATA-WRITTEN.
02 N PIC 9(3) OCCURS 5 TIMES.
3.若OCCURS子句産生在基本項目(含有PIC子句),暗示單
┌────────────────────────┐
║ ║
2、輸入輸出節(INPUT-OUTPUT SECTION)
1.CORR 為 CORRESPONDING 之縮寫編寫時可任選其一 翻譯社
2.加數與被加數都必需是一個集體項目內所有溝通名稱的
│ WRITE 資料名稱-1 [FROM 資料名稱-2] │

MULTIPLY 90 BY 10 GIVING D. (D=90*10)
└──────────────────────┘
例: A>RMCOBOL TEST.COB
附錄3:MS-COBOL與RM-COBOL之異同
[N/o=path][P][R][S][T][U][V][X][Z][)comments]
檔案節制段(FILE-CONTROL)是用來設定資料檔在程
│ [CORR] │
指出檔案描寫句內 翻譯VALUE子句所界說的資料名稱,已被
複雜的營業資料 翻譯社為共同電腦在貿易方面的普遍用處,美國聯邦
上輸出。


┌──────────────────────┐
所謂根基項目就是指自己沒法再細分之項目。如
(2)已無磁片空間可用 翻譯社
所指出的內容需要非數值的定子。
A.INPUT-OUTPUT SECTION 中的SELECT子句中指定過 翻譯社
AUTHOR. YUAN.
五、DATA-COMPILED 段
會漏失。
02 A OCCURS 2 TIMES.
03 B PIC 9(2) OCCURS 3 TIMES.
2.本花樣的運算方式是將被除數除以除數,相乘後的商,

FD AA LABEL RECORD IS STANDARD.
279

RMCOBOL為履行期間之敕令,路徑名稱指的是磁碟機名稱及
"─"肆意組合。
└──────────────────────┘
├────┼──────────────────┤

└──────────────────┘
│ [ON SIZE ERROR 處理論述] │
法看到,為避免處置懲罰過程中錯用了資料檔,一般均在磁

PROCEDURE DIVISION.

AFTER C2 FROM 1 BY 1 UNTIL C2 > 9.


定之目標區內是以當資料複製終了以後,其來源區資料不受影響
├─────────┼─────────────┼──────────┤
自力項目不屬於任何集體項目,亦不會延長出任


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

    hortonhm42t5@outlook.com

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