技術文件翻譯服務 此段是用來講明履行目的程式所利用之電腦機型。
MOVE CORR IN-REC TO OUT-REC.
資料項目就是──由一個或多個字元所構成,又稱資料欄 翻譯社
述句所描之區域)的資料寫入SELECT 子句所設定的輸出設備
輸出可編寫為
附錄1 編譯時所產生 翻譯錯誤訊息
237

IF GRADE-A MOVE "A" TO POINT.
MOVE論述不克不及將文數字編輯資料項或文字資料項搬移至數
表檔、磁帶檔。
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
,茲列表以下:
{GREATER THAN}
│ ENVIRONMENT DIVISION. │
CONFIGURATION SECTION.
ENVIRONMENT DIVISION.
└─────────────────┘
上的字元 翻譯社
定之目的區內是以當資料複製終了之後,其起原區資料不受影響
§1-5  履行程式
WRITE OUT-REC FROM HEAD-2 BEFORE 1.
式有兩種茲分述以下:

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

│ 階級號碼 {資料錄名稱或資料項目名稱} │
第五章 條件論述
RECORD CONTAINS 71 CHARACTERS
腦利用之標準化程式說話,此即所謂之商用程式說話(COmmon
WRITE OUT-REC FROM HEAD-3 BEFORE 1.
│ FILE-CONTROL. │
SUBTRACT 10 A 30 FROM C (C=C-10-A-30)
286

A>RMCOBOL C:\COBOL\TEST
在工作暫存節所定義 翻譯資料除前面已介紹過的集體項
說話,所以MS-COBOL與RM-COBOL固然是兩家公司離別成長出來
I1:DATA RECORD DATA-NAME IS
的名稱、性質、記實巨細、檔頭是不是有標籤、標籤內容等特性,
(3) 乘、除
┌──────────────────┐
│ IDENTIFICATION DIVISION │
║ 加法 (ADD) ║
77 C PIC 9(3) VALUE 0.
77 S PIC 9(4) VALUE 0.

COMPUTE R = C11 * C2.

最常呈現的唆使訊息 翻譯社
ACCEPT N POSITION 0
│ CLOSE {資料檔名-1}... │
入:
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.
案做OUTPUT或EXTEND的開啟動作 翻譯社
┌──────────────────────┐
例: 77 SW PIC X(3).
INSTALLATION 段是描寫利用單位名稱的段落 翻譯社本段可
E96 :NONNUMERIC LITERAL REQUIRED
回原資料檔時,須選擇I-O模式。
3、編譯程式不正常竣事

4、程式說話毛病訊息
└────────────────────┘
上。其花樣如下:
╰════════╯
第一章 COBOL程式說話概論
├────┼──────────────────┤
W57:SYMBOL SIZE
WORKING-STORAGE SECTION.
子句或陳說構成,子句或陳說係由單字構成,單字則由字母組成
║ 減法(SUBTRACT) ║
E191:FILE LABEL NOT DATA
當該程式履行終了時,將會從PERFORM論述之下一個論述繼續執
(記實描寫句所描寫之區域)內,以供程式進一步之處理 翻譯社
訊息外,還包括下面之訊息,以告知您那一個不是選擇
,但目標區的資料已被來源區的資料所代替。

WRITE OUT-REC FROM HEAD-1 BEFORE 2.
例 A>RMCOBOL TEST L=C:\COBOL\PROGRAM
┌──────────────────────┐
224

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.

§5-3 典範
第一種花樣:
E219:FILE RECORD KEY UNDEFINED
┌─────────────────────┐

Language,簡稱CODASYL),配合研訂開辟一種合適於各種廠牌電
WRITE OUT-REC FROM HEAD-2 BEFORE 1.
E284:LEVEL 77 NOT ELEMENTARY


一、AND的利用規則:
1.當所有 翻譯前提式皆為真時,其結果方為真,否則為
┌───────────────────┐
│SUBTRACT 減數 .. FROM 被減數 GIVING 運算結果│
┌─────────┬─────────────┬──────────┐
║ 超載處置懲罰 (ON ZISE ERROR) ║
║ COBOL ║
└─────────┴─────────────┴──────────┘

SELECT子句中所指定的每一個檔案名稱都需要ASSIGN子句的


├──┼──┼──┼──┼──┼──┤
(5)檔案存在、但路徑名稱指錯地方。
FD OUT-FILE
FD OUT-FILE LABEL RECORD IS OMITTED.

翻譯計算與處置,以產生輸出區所需要 翻譯後果 翻譯社
223


ORGANIZATION IS LINE SEQUENTIAL.
│ [ON SIZE ERROR 處理論述] │
PRINT 印表機 輸出

│ [OCCURS 子句] │
在複合前提式中可以將AND與OR夾雜利用,此時須注意
╭══════════╮
2.運算式是由資料名稱或定字合營運算子組合而成,其基
§3-2 記錄描寫句
231

2、資料錄名稱或資料項目名稱
PIC 9(2).
│ IF 前提式-3 │
描寫句FD及SD、01階級與77項目均應自A區,即第八格入手下手
改變其意義與用法 翻譯社
分開法式的最後一道論述,造成法式沒法將節制權傳回給所
利用PERFORM論述臨時離開今朝 翻譯程序,能移至該自力出來,此
當畫面上呈現如上訊息時,則可能磁片已無足夠空間寫
附錄1:RM-COBOL編譯時所產生的毛病訊息

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.

編譯程式沒法識別利用者所指定 翻譯檔案開啟模式。准確的

二、輸入輸出節(INPUT-OUTPUT SECTION)

例一:設計一印出1+2+3+4+...100之和的COBOL程式。
│9(6)│X(8)│9(3)V9│9(3)V9│9(3)V9│9(3)V9│9(3)V9│
SELECT EMP-FILE ASSIGN TO RANDOM "EMP.DAT"
壞掉了,版本不准確。
MOVE CORR STU-REC TO WORK-REC.
│ {OUTPUT {資料檔名-2}} ... │
╰═══════╯
1000-WEITE-HEAD-RTN.
╭══════════╮
-------- -------- ---- ---------- ----- -------
,並從此處繼續編譯 翻譯社所以從SCAN SUPPRESSED至SCAN RESUME
...

2.依性質來分:
COLLATING子句只能用於索引檔。
例一: 較量爭論S=1*2*3*...的值。
識別部編寫注重事項:
使用K選擇項時,編譯程式將省略版權訊息,與錯
2.被比力之資料也能夠為運算式 翻譯組合。
3.關係運算子句用英文字或數學符號。
SELECT AA ASSIGN TO DISK.
訊息,告知您若何下達完整的敕令("[]"默示可省略)
225

0000-MAIN-RTN.
例: 77 FUNC PIC 9.
在ALPHABET子句中指定的定子大於單一字元的長度。編譯程
...
E215:FILE RECORD KEY INVALID
├─員工姓名
行READ或OPEN INPUT動作 翻譯社
當編譯程式偵測到程式語法上的錯誤時,將以錢字符號
SELECT TRANS-FILE

ADD 1 TO N(Y , C , 1)
檔案既然有開啟的動作,也必定有關閉的動作。其花式


2、AUTHOR 段
2.OR可由兩個或兩個以上之前提式所組合而成 翻譯社

265


3.其他子句包括PIC子句、VALUE子句、OCCURS子句、
資料記錄(Data Record)是資料檔的根基單元,每個

從毛病的地方繼續翻譯,但不會顯示本訊息;若是編譯程式沒法
MS-COBOL與RM-COBOL最大之分歧處是在於裝備部 翻譯SELECT
型。此段可省略。
§2-1 識別部
BLOCK CONTAINS 1024 CHARACTERS
│ └─日
原始程式經過編譯程式處置懲罰後,此時將產生目標程式,然後
例:企圖利用DELETE或START論述對一宣佈為ORGANIZATION
2.Read error for file : 路徑名稱 檔名
WRITE OUT-REC FROM HEAD-1 BEFORE 2.
0000-MAIN-RTN.
,以下:
. . . . . .
CLOSE 後緊跟著欲關閉之資料檔名,此檔名必須在下面
I4:RECORD KEY DATA-NAME IS
在報表製作中經常將數字前引零以空白取代,此時可以使用Z
段落 翻譯社

描寫。
MOVE敘述不克不及將非整數數值資料搬移至非數值資料項 翻譯社
輸入輸出節的功能是設定資料檔在程式處理中的名
│學號│姓名│ 國文 │ 英文 │ 數學 │ 物理 │ 化學 │
READ EMP-FILE AT END GO 3000-CLOSE-RTN.
╰═══════╯
FILE-CONTROL.
前面介紹的是屬於一層表格,假如表格具有二個偏向 翻譯資料
1.CORR 為 CORRESPONDING 的縮寫字,可任選其一利用。
2.來源區和目標區必須是一個集體項目名稱,所以不成使

247

5.每一單字之開首及末尾不得利用毗連符號"─"。

1.本子句可省略。
2.如果程式中沒有簿本句時,則區塊長度內定值為
512個字元 翻譯社

228

ASSIGN TO PRINT "PRINTER"
為了報表美觀,可以在資料中適當的位置插入空白資料
當局乃邀集首要電腦製造廠商、用戶及學術機構等於一九五九年
AUTHOR. YUAN.
CLOSE STU-FILE.
DISPLAY SUMS.
PERFFORM VARYING C1 FROM 1 BY 3 UNTIL C1 > 9
Compilation Complete:p Program,e Errors,w Warning
2、非數字性資料
1.非數字性的資料搬移,其則是一概由左向右逐一搬移。
└───────┘
│ OPEN {INPUT {資料檔名-1}} ... │
│ALL literal │暗示全數為某種定字之意 │ALL後面之定字應為文 │

┌──────────────┐
│ │ │ │ 出身日期 │ │ │
289

檔案之記錄鍵值所參考到的資料名稱尚未定義 翻譯社
指出文字名稱定義於複製字元的字子片語之後;該文字名稱

其優先按次。其次以下:
2.AND可由兩個以上之前提式所組合而成 翻譯社
2、OR的利用規則:
1.只要有一個前提式為真時,其了局就為真,不然為
│ COMPUTE 運算成果 [ROUNDED] = 運算式 │
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).

§3-5 利用範例
│ 88 前提名稱 VALUE 定字-1 [THRU定字-2]...│
E85 :ALPHABET-NAME DEFINED

必需選擇OUTPUT模式。利用本模式所開啟之檔案,
└─其他
現將IN-REC和OUT-REC相同部份做搬移,後果為何?
一、饬令列之毛病訊息
1.如果只下達RMCOBOL這個饬令,則畫面大將會泛起以下
01 HEAD-1.
02 PIC X(33).
02 PIC PIC X(!4)
│ TIMES 命令處理敘述 │
翻譯社
§2-3 典範榜樣
└──────────────┘
的檔名,以供程式處置使用。
~p9d0g2w1z1l24x8
每節分為若干段,每段由一個或一個以上的句子組成,句子則由
│ STOP RUN. │

第二種花樣
1.加數 翻譯位置可所以一個數字性定字或者資料名稱。被加
用於66,77,88等階層號碼 翻譯社
名稱則可所有利用阿拉伯數字,此為獨一之破例。
│ RMCOBOL 路徑名稱 檔名 [選擇項] │
│ [BLANK 子句] │
│ │默示數字性資料小數點之位置,此 │
│ DIVIDE 除數 INTO 被除數 GIVING 運算後果 │

STOP RUN.
MOVE ZEROS TO TABLE-REX.
目標區 PIC X(10)

├─────────┼─────────────┼──────────┤
上輸出。

3、INSTALLATION 段
│員工編號│姓名│性別├─┬─┬─┤德律風號碼│ 住址 │
2000-READ-RTN.
將顯示於本訊息之後。
字性或編纂性的資料名稱 翻譯社
261

E285:LEVEL 88 CONDITION-NAME REQ'D
法看到,為避免處置懲罰過程當中錯用了資料檔,一般均在磁
└──────────────────────┘
└──────────────┘
DISPLAY "年級\性別 男女 男女 男女 男女 男女".
檔案之寄存位置,其現實花式應包含磁碟機名稱、目錄的路徑,
存位置。
└───────────────────────┘
READ 之後緊隨著欲讀取之檔案名稱,此檔案名稱最少
貼紙上寫上辨認記號,而內部標籤則是哄騙程式控制,
OBJECT-COMPUTER. IBM-PC.
目標區 PIC X(10)
AFTER J FROM 1 BY 1 UNTIL I > 5
此段是描述程式最初編譯之目期實時間。本段可省略。
2000-READ-ERN.
│ │數資料,注重不克不及寫在兩個9 翻譯中央。 │
WRITE OUT-REC FROM HEAD-3 BEFORE 1.
│LOW-VALUE │示意最小值(即每一個bit均為0)│ │
WRITE OUT-REC FROM ALL "-" BEFORE 1.
│ P │本符號如果寫在9的右側時默示整數 │


2.本格式的運算方式是將乘數和被乘數相乘,相乘後的結
如斯可一眼看出數值大小,同樣的在報表輸出上我們也可以
╰═══════════╯
在所指出的內容中必要一條件名稱 翻譯社
指出第一次産生錯誤之列編號。
FILE-CONTROL.
區最右側多出來的位數將會自動補空白。
DISPLAY "==================================".
FD AA LABEL RECORD IS STANDARD.
│ │例: PIC 99PPP │
WRITE OUT-REC FROM HEAD-3 BEFORE 1.
WRITE OUT-REC FROM LIST-REC BEFORE 1.
第六章 迴圈與表格化
├────┼──────────────────┤
IN-REC OUT-REC IN-REC OUT-REC

記,其格式及使用方式以下:

其格式以下:
所謂複合條件式是指在IF論述中,利用AND或OR把一個以上
DISPLAY A.
(Division)│(Section)│(Paragraph)│(Sentence)├──┐
例二:根據下面度理要求,將毛病之學生資料剔除,印出正確之
1.資料名稱的定名規則可參考前面之利用者界說字的
則以下:
§3-3 工作暫存節(WORKING-STORAGE SECTION)
CONFIGURATION SECTION.
SET Y TO I
1000-WRITE-HEADING-RTN.
1.除數 翻譯位置可所以一個數字性定字或資料名稱。運算
│ADD 加數 ...GIVING 運算效果 [ROUNDED] │
AT END 子句的功用與 READ 相反,是把輸出區(記錄描


[N/o=path][P][R][S][T][U][V][X][Z][)comments]
1.CORR 為 CORRESPONDING 之縮寫編寫時可任選其一。
2.加數與被加數都必需是一個集體項目內所有相同名稱 翻譯
而檔名可只寫主檔名,附加檔名(CBL)可省略。
五、DATA-COMPILED 段
第三章 資料部
附錄3:MS-COBOL與RM-COBOL之異同
第一種格式:
本格局和第二種程式之不同在於第二種花式固定做幾次,而

§4-4 典範榜樣
ENVIRONMENT DIVISION.
├────┼──────────────────┤
│ S │在字元串符號最右邊,此符號也不佔 │
FD EMP-FILE
§3-3 工作暫存節
2、輸入輸出之毛病訊息
1.Open error for file : 路徑名稱 檔名
├──┼──┼───┼───┼───┼───┼───┤
假。
(1) 正負號
287


┌──────────────┐
ORGANIZATION IS LINE SEQUENTIAL.
02 STUD-NO PIC 9(6).
02 STUD-NAME PIC X(8).
4.數字性資料最長位數為18位(不包括正負符號),
240

第一種花式:

│ VARYING {資料名稱-1} FROM {資料名稱-1}│
0000-BEGIN-RTN.
於運算效果以內。

│ FD 檔案名稱 │
│ [PROGRAM-ID.] 程式名稱 │
1.*:註解符號,編譯程式時,此列不加以編譯。
2.∕:表欲在列印檔(.LST)時跳頁。
3.-:當必然字跨越一行時,第一行寫不完,要在第二行
§5-1 前提式
└──────────────────────┘
E311:PARAGRAPH-NAME UNDEFINED
語法以下:
格式可固定要做重複幾回。
(4)所指定的檔案不存在。


SELECT CC ASSIGN TO PRINT "PRINTER".
│ [PICTURE 子句] │
└────────────────────────┘
A 880 4200 880+4200 5080

在前面談過除自力項目無任何從屬關係外,其他資料
至資料名稱-1內,再將資料名稱-1內的資料寫入所指定輸出
COBOL 的佈局與一般英文文章結構大致相似,分為部(Divi-

E80 :"ALL" FIGURTIVE ILLEGL

│ │ │ │年│月│日│ │ │
02 TAB1 OCCURS 2 TIMES.
03 T1 PIC 9(3).
03 T2 PIC 9(3).
03 T3 PIC 9(3).
1、BLOCK 子句
│ {索引名稱-1} │
,且不能利用無名氏(FILLER)。
E101:ASSIGN REQUIRED
關係,是屬根基項目之一種。
╭═══════╮
他科技用處者分歧,它需要有較高速度的輸出設備,方足以處置懲罰
│ [ROUNDED] │

MULTIPLY C BY SUMS ON SIZE ERROR DISPLAY
§§編譯時所產生的正告訊息§§
論國內或國外,均普遍而遍及地利用。

│ {RECORD ARE} {DMITTED} │

239


WRITE、OPEN OUTPUT或EXTEND動作。
1.利用多層表格時,此時OCCURS子句可堆疊使用,但只有
所指定的程序,反之條件成立時,將由其下一個論述繼續執行 翻譯社
在這些複雜 翻譯較量爭論與處置懲罰中可能產生一些臨時性資料,然則
90 不正確之I-O動作,其原因如下:
90,01 欲進行之動作與開啟之模式不符合 翻譯社
1.企圖使用REWRITE、DELETE或WRITE敘述對一檔案做
(三)指令陳說區(Statement Area):
SELECT STU-FILE ASSIGN TO INPUT "STU.DAT"
例: ADD 10 TO B (B=B+10)
例:某程式中需同時開啟主檔和異動檔,則本
試設計一列印成就單的程式
┌────────────────────┐
IF S = "M"
. . . . . .
例: RM-COBOL為
│ │此數字所能默示 翻譯規模為+0.0~+99.9 │
1.假如 LABEL 子句選擇OMITTED時,不成採用本子句。
2.本子句一般均省略不寫。

五、DATA 子句
附錄2:RM-COBOL執行時所產生 翻譯毛病訊息
如下:
其首要目標是敘述COBOL程式名稱、設計者姓名、使用單位、編

║ 乘法(MULTIPLY) ║
A.INPUT-OUTPUT SECTION 中 翻譯 SELECT 子句中指定過。

A 880 4200 4200-880 3320
│ [ON SIZE ERROR 處理敘述] │
§5-3 範例
在這些資料檔中,和在資料處理過程當中,資料紀錄與資料項目均非
SUBTRACT 10 A 30 FROM C GIVING D (D=C-A-B)
(Clause)、單字(Word)及字母(Character);每部門為若干節,
┌──────────────────────┐
翻譯社
資料記實檔就是─由若干資料項目所組合而成。

暗示表格為 T1(1) T2(1) T3(1) T1(2) T2(2) T3(2)
BLOCK 子句是用來指定資料現實存取時的區塊單元
274

所指出 翻譯內容中需求特定的保留字。其需求 翻譯保留字會列

║ 讀取(READ) ║
└──────────────────────┘
4、VALUE 子句
GO 1000-RTN.
├─成分証號碼

FD AA LABEL RECORD IS STANDARD
有輸入檔、輸出檔、輸入輸出檔等 翻譯社
附錄2 RM-COBOL 執行時所產生 翻譯錯誤訊息
往是資料數量複雜而計算簡單,故其所需之電子較量爭論機機能與其


經MOVE以後目標區之值為"WELCOME "
ACCEPT DATA-REC.
編輯性: . 翻譯公司翻譯公司B 翻譯公司O,+,-,/,Z 翻譯公司$ 翻譯公司DB,CR,*
│PERFORM [法式-1┌ {THROUGH} 法式名稱-2 ┐] │
在前面所介紹之運算指令中有一個ROUNDED片語,其功能
帶或磁碟中做標籤以茲鑒別。標籤可分為外部標籤與內
D 6 6
02 N PIC 9(3) OCCURS 5 TIMES.
3.若OCCURS子句産生在根基項目(含有PIC子句),表示單
219

(2) AND
...
│ ELSE 論述1 │
§4-1 I∕O處置懲罰
會漏失。

┌──────────────────────┐
nn值為DOS系統功能之錯誤代碼。

217

║ 開檔(OPEN) ║
§6-1 迴圈
字來代表遞次,亦可以空白取代。
3、PICTURE 子句
DISPLAY N(I , J , K) POSTITON 0 " ".
數必須一個數字性資料名稱o
Syntax error : Symbol "內含不准確的字元" is
┌───────────────────────┐
RM-COBOL為
└────────────────────┘
所以簿子句一般都將其省略。
檔案描寫不正確。不決義此檔案的記實區。
SOURCE-COMPUTER. IBM-PC.
E95 :NONNUMERIC LITERAL CONTINUAT'N
│ [INSTLLATION.] 利用單位名稱 │
ADD C TO S.
╭══════╮
(一)標準化─為美國當局所認可 翻譯標準語言,非論何種廠牌
本格式 翻譯處理動作是將來源區與目的區中具有不異名稱的資
│ MULTIPLY 乘數 BY 被乘數 [ROUNDED] │

0000-BEGIN-RTN.

使用者界說的字語長度大於30個字元 翻譯社
2.若是利用 ORGANIZATION IS BINARY
取功能就是將貯存在外部媒體上的資料讀入所指定之輸入區
2000-READ-RTN.
LABEL RECORD IS STANDARD
01 OUT-REC PIC X(73).
附錄3 MS-COBOL與RM-COBOL之異同
2.OBJECT-COMPUTER段
料部中並沒有准確地描述此資料項目 翻譯社
翻譯社而運算效果的位置因不介入運算,所以可以是一個數
4.依構造來分:
所描寫的檔案名稱不異。假如有好幾個檔案時,此時每一個資料
"OVERFLOW" STOP RUN.
其利用法則如下:
211

搬移 翻譯社

║ 逗號(,) ║
1.RECORD IS 或 RECORD ARE 任選其一 。
2.STANDARD 為有標籤記號者,通常利用於磁碟檔、
PROGRAD-ID. TEST1.

數的位置則必需是一個數字性資料名稱。
E162:FD PARAGRAPH SYNTAX
C.法式部 OPEN 過。
§3-1 檔案描述句
LABEL子句指定了一沒法識別的標識表記標幟描寫字。正確標志描
PROGRAM-ID. TABS.
能是一個工作暫存區內的名稱(稱為暫存區)。

3.對系統裝備名稱為DISC、DISK或RANDOM 翻譯檔案履行

288

└──────────────────┘
例: 濫觞區 PIC X(10) 內含值為"WELCOME TO"
I2:LAST DIAGNOSTICAL LINE
一張異動明細表,並將資料存入新主檔(NEW.DAT)內 翻譯社
│ [BLOCK 子句] │
之被加數內。

│ [INPUT-OUTPUT SECTION.] │
E220:FILE RECORD SIZE DATA SECTION
,介係詞由INTO改為BY。
申明以下:
1.依儲存煤體來分:

當所要處置是繼續好幾個法式時,此時可共同THROUGH
繼續寫時,於第二行之第七格加上一個"-"符號以
IF C > N GO 2000-OVER-RTN.
INPUT-OUTPUT SECTION.
1.假如是把資料檔 翻譯資料讀進來處理時,則必需選擇
為常數,但不克不及同時為常數資料。
規則。
3.程式編寫時需留意,每一個運算子前後最少需一個空白 翻譯社
4.在計算式中各類運算子的優先挨次和算術運算劃定規矩一樣
3.集體項目不克不及利用溝通的資料名稱,但其所包括之資料

LABEL RECORD IS STANDARD
1.(自力項目從A區起頭編寫,且階級號碼必須為77。
2.由於是自力 翻譯項目,因此其資料名稱必需是獨一的
何謂資料檔?簡單地說就是一大堆溝通性質或相幹資料的結
關係條件式是用來比力兩個資料之巨細,其花式及使用

主要目標是論述程式編譯及履行所利用的電腦,並提供檔案輸入

invalid option letter
└──────────────────┘
此二種花式與加法 翻譯二種花式類似。
之間的程式都不會顛末編譯程式編譯 翻譯社本訊息和下一個訊息是
ASSIGN子句是用來指定資料檔所利用的輸入或輸出
經MOVE以後目標區之值為"WELCOME"
│ [AUTHOR.] 設計者姓名 │
3.企圖使用START、READ、REWRITE或DELETE論述對一檔
裝備上 翻譯社
第二章 辨認部及裝備部
-------- -------- --------- -------- ----------
大於檔案的最大記實長度。
提醒訊息:I 默示該訊息僅供參考用,毛病代碼規模1~17。
│PERFORM [法式-1┌ {THROUGH} 程序名稱-2 ┐] │
,但是它們倒是大同小異 翻譯
利用逗號來產生此種效果。注意,每一個逗號都佔用一個儲
SOURCE-COMPUTER. IBM-PC.
╰═════════╯
╰════════╯
(四)識別區(Identification Area):
其格局如下:
辨認部(IDENTIFICATION DIVISION)是COBOL程式的第一部。
經MOVE之後目的區之值為345.67
│ {OR} {OR} │
ADD CORR WORK-REC TO TOTAL-REC.
A.INPUT-OUTPUT SECTION 中的SELECT子句中指定過 翻譯社
三、P選擇項

sion)、節(Section)、段(Paragraph)、句子(Sentence)、子句
DISPLAY "=================================".
在檔案的01階層內界說。
、77、88等 翻譯社
Syntax error :option characters must be followed
§4-2 資料搬移處置
中A區係從第八格至第十一格,凡是部、節、段之名稱檔案
例: PROGRAM-IF. TEST.
B.FILE SECTION 中的 FD 描寫過。
E263:IDENTIFIER UNDEFINED
A>COBOL 路徑名 檔名
│員工編號│姓名│性別│身份証號│ 電 話│ 住 址│
數字性: 9,V 翻譯公司S 翻譯公司P
省略。
設備部(ENVIRONMENT DIVISION)是COBOL程式的第二部。其
組合而成。


WORKING-STORAGE SECTION.
B.FILE SECTION 中 翻譯 FD 描述過 翻譯社

│ VALUE OF 標籤名稱 IS [資料名稱] │
│ [REDEFINES 子句] │
233

3.簿子句須毗鄰在所描寫資料名稱以後。
┌────────────────────┐
與用處,使用保存字時,切記弗成將其字母拼錯或任意
§2-2 裝備部

當畫面上泛起如上訊息時,則可能為覆疊檔(Overlay)
READ STU-FILE AT END GO 3000-CLOSE-RTN.
第二種格式:
E159:ENVIRONMENT DIVISION SYNTAX
90,05 檔案截斷動作與其它使用者有所衝?。
PROCEDURE DIVISION.
┌─員工編號
式處置中的名稱,並指定其輸入或輸出的裝配名稱。其
┌─────────────────┐
│ │位置,每個PIC子句只限用一個。 │
1.每個空白符號都佔用一個貯存位置 翻譯社
2.空白符號可以使用於數字性或非數字性資猜中 翻譯社
指出檔案描寫句內的VALUE子句所界說的資料名稱,已被
加數 被加數 和
解:IDENTIFICATION DIVISION.
AUTHOR. YUAN.
例:01 TABLE-REC.
by a space or comma.
其搬移劃定規矩申明如下:

經MOVE之後目 翻譯區之值為00135.780
例: 77 A PIC ZZZZZZ.
│ MULTIPLY 乘數 BY 被乘數 GIVING 運算效果 │
258

CLOSE EMP-FILE OUT-FILE.
一般檔案資料處理,都是自外部裝置獲得的資料並存入輸入
3.依用處來分:
2.如果資料濫觞區的位數大於目 翻譯區的位數時,則資料將
A區入手下手編寫,而第二層之號碼只要大於第一層之
1、某公司將其人事資料貯存於磁碟上試設計一不包括程序部的
╭════════╮
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-5 執行程式
,是以其後應接VALUE子句,而不是PIC子句。
§1-6 資料檔概述
式會自動設定第一個字元被系統使用。
95 不正確的設備裝配。
97 不准確的紀錄長度,其原因可能以下:
97,01 列順序檔內的紀錄中稀有個字元是毛病的。
97 翻譯公司03 在WRITE、REWRITE或RELEASE敘述中指定的紀錄區域長度

├────┼──────────────────┤
區入手下手編寫 翻譯社FD以後隨著檔案名稱,此檔案名稱需和SELECT子句
1、機型節(CONFIGURATION SECTION)
1.SOURCE-COMPUTER段
在前面所介紹的裝備部資料部僅對資料檔做描寫及界說,真
248

1、數字性資料
1.整數部分由個位數起頭右向左一一搬移,小數部分則由
IDENTIFICATION DIVISION.
最低一層可以使用PIC子句。

│ │用來示意數字性資料 翻譯正負號,須編 │
~p9d0l16x6
項目 翻譯社


內容,我們稱為雙層表格(二維陣列)。同理假如表格具有三個方
何根基項目,他與任何資料項目間並沒有任何隸屬
SELECT OUT-FILE
下:
│SPACE,SPACES │透露表現一個或多半個空白 │同上 │
RECORD子句中的VARYING DEPENDING ON片語中所利用 翻譯
本花式功能和格局二溝通,其不同為被除數與除數位置調換
3000-CLOSE-RTN.
2.本花樣 翻譯運算方式是將被除數除以除數,相乘後的商,
│ │ │數值定字或比擬常數 │
三、自力項目(Independent Item)
SELECT IN-FILE
以上基本項目或從屬之集體項目。以下圖之員工
│QUOTE 翻譯公司QUOTES │示意一個或大都個引號 │同上 │
│ADD {CORRESPONDING} 加數 TO 被加數 [ROUNDED]│
└──────────────────────┘
ELSE IF GRADE-C MOVE "C" TO POINT.
第三章 資料部
§3-2 紀錄描述句

第三種花式:
02 N PIC 9(3) OCCURS 5 TIMES.
MOVE CREDIT TO CREDIT-O.
稱及其所使用的外圍機器設備名稱 翻譯社
常主要 翻譯社茲介紹以下:
例: RM-COBOL為
向的資料內容,我們稱為三層表格(三維陣列)。
在非數字值定子的接連列上並沒有左引號記號。
SOURCE-COMPUTER. IBM-PC.
例二:試印出九九乘法表 翻譯COBOL程式 翻譯社
CONFIGURATION SECTION.
└────┴──────────────────┘
2.利用時從最高條理之號碼最先,其號碼為01,須從
所謂集體項目就是指自己可再細分成一個或一個

GO 2000-READ-RTN.
PERFORM論述內使用了GOBACK,GO TO或STOP RUN等敘述做為
ORGANIZATION IS LINE SEQUENTIAL.
└──────────────────────┘
利用L選擇項寺,編譯程式會將原始程式寫入列印
所謂根基項目就是指自己沒法再細分之項目。如
COBOL程式中檔案 翻譯根基輸入輸出論述有四個,一一介紹如下:

4.Load error for file : 路徑名稱 檔名
├─出身日期 ─┼─月
221

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

易進修,縱使沒學過此種說話者,亦可簡略
DATA 子句是用來描述資料檔 翻譯記實名稱,其花式
...
│ │例: PIC 99V99 │



│ [ON SIZE ERROR 處理論述] │

77 N PIC 9(2).
77 SUMS PIC 9(18) VALUE 1.
77 C PIC 9(2) VALUE 0.

例 OBJECT-COMPUTER. IBM-PC.
C(1,2 翻譯公司2) C(2 翻譯公司1 翻譯公司1) C(2,1,2)
行。
┌───────┐
│ [FILE-CONTROL.] 檔案節制描寫 │
例: 01 WORK-REC.

資料檔就是───由一群性質不異且互有聯系關系的資料紀錄所
論述且多次利用時,我們可將其自力出來成一個獨立的法式,再
例:詭計使用OPEN OUTPUT敘述對一個不同檔案開啟 翻譯
之部份將被截掉,因此產生了不正確的後果,為了防止此種
263


E172:FILE CONTROL ENTRY SYNTAX
位數來決議,若該小數點後有兩位時,則運算成績將在小數
5.編輯性符號弗成以直接做運算,必需計較完畢以後才將
IDENTIFICATION DIVISION.
OUTPUT 輸入裝配 輸出
所指出的內容需要非數值的定子。
(4) 加、減
┌────────────┐
A   1   2 1 1 
284

§6-2 表格之宣佈方式
例 A>RMCOBOL TEST K
┌────┬──┬──┬────┬───┬───┐
╰═══════╯
輸出成績:1,234 翻譯公司567,890
值編纂資料項 翻譯社
ASSIGN TO RANDOM "NEW.DAT"
2.若是該資料項目在程式中佔有貯存位置,但該項目
所代表的層次愈高。

2.花式的運算方式是乘數和被乘數相乘,相乘後的結果存
二、集體項目(Group Item)
設備部包括兩個節,一為機型節,一為輸入輸出節。
§1-1 COBOL簡介
90,04 欲進行之動作與定義的組織不符合合。
1.本部所有部名或段名均從A區入手下手編寫。
2.IDENTIFICATION可以使用ID縮寫 翻譯社
3.本部所有部名或段名及程式名稱之結束必需加句點 翻譯社

1、PROGRAM-ID 段
ENVIRONMENT DIVISION.
例: DATA-WRITTEN.
有主檔、異動檔、工作檔、備份檔等。
00 執行成功。
02 運作成功但鍵值重覆。
10 檔案讀取結束
21 不正確 翻譯鍵值順序。
┌────────────────────────┐
例 A>RMCOBOL TEST L
相符前提名稱所設定 翻譯資料範圍。利用前提名稱前提式來測
了解指令的意義。
│ LABEL {RECORD IS} {STANDARD} │
程式指令均須書寫於此區內,此區又分成A、B兩區,其
節制之PERFORM論述 翻譯社
(1) NOT
正告訊息:W 默示正告訊息,毛病代碼局限18~79 翻譯社
稱(Data Name)、條件名稱(Condition Name)等,這些
I5:SCAN RESUME
AUTHOR. YUAN.
1.假如使用 ORGANIZATION IS LINE SEQUENTIAL

Options : [(][A][B][C][D][E][K][L/L=path][M]
OR NOT GRADE-OK GO 2000-READ-RTN.
SELECT MASTER-FILE
當PERFORM敘述中僅包括法式名稱-1時,表程式僅履行程式,
218




WRITE OUT-REC FROM WORK-REC BEFORE 1.
~p9d0g2w1z1l24x8
資料錄的格局及在主記憶體內的寄存位置,其格式及利用申明如
誤訊息的輸出。
2.條件名稱是用來設定資料之規模,而不是界說資料位置
└→│ (Clause) │(Word)│ (Character)│ (2)文字字元
子句一般省略不消o
W18:ALPHABET LITERAL SIZE
1.英文字母A~Z,阿拉伯數字0~9及毗鄰符號
SELECT STU-FILE ASSIGN TO INPUT "TEST.DAT"
W48:PERFORM PROCEDURE W/O EXIT
║ ORGANIZATION子句 ║
ID DIVISION.
│ {資料名稱} │
目錄的路徑,而檔名則是編譯程式將原始程式編譯後所產生的目
3.假如資料來源區的最右邊位數小於目 翻譯區位數,則目標
252


OR NOT CLASS-OK
翻譯社B區則從第十二格至第七十二格,任何句子、子句或指
└─────────────────────────┘
I6:(SCAN SUPPRESSED)
STOP RUN.
ADD 1 TO C11
SELECT OUT-FILE ASSIGN TO PRINT "PRINTER".
1.RECORD IS 或 RECORD ARE 任選其一。
2.由於紀錄描寫句緊接著描寫為資料錄 翻譯記實名稱,
檔案敘述句中的DATA RECORD子句所設定的資料名稱並沒有
RECORD子句 翻譯檔案紀錄巨細並未與此記實描寫句所描寫 翻譯

小寫的單字,如程式名稱(Program Name)、資料項目名
果寄存於運算結果的位置內 翻譯社
何隸屬關係,其格式及利用劃定規矩分述以下:
3、LABEL 子句
一般資料都存在磁帶或磁碟中,此時其內容底子無
0000-MAIN-RTN.
前提名稱前提式是用來偵測資料項目內所含 翻譯資料是不是
┌──────────────────────┐

C.程序部 OPEN 過 翻譯社
1.系統裝配名稱經常使用的有以下數種選擇:
AFTER K FROM 1 BY 1 UNTIL I > 2.
MS-COBOL是Microsoft公司出書 翻譯COBOL版本,而RM-COBOL

STOP RUN.
│ [SOURCE-COMPUTER.] 編譯機型描述 │
│RECORD CONTAINS [整數-1] TO 整數-2 CHARACTER│
┌─────────────────────┐


聯合構成了資料系統語言委員會(COnference on DAta SYstem
指出 翻譯資料項目在此之前還沒有界說 翻譯社
253

└────────────────────────┘
ASSIGN TO RANDOM "TRANS.DAT"
翻譯社

輸出之節制,硬體裝備的特征及控制技巧等,其格式以下:
ENVIRONMENT DIVISION.
1.88前提名稱其階級號碼必需為88,可界說於任何資料項
暗示表格為 N(1) N(2) N(3) N(4) N(5)
第三種格式:
┌─────────────────────────┐
用法也大致溝通,縱使替換廠牌、機型,利用
2.因每個記錄 翻譯巨細已完全在紀錄描寫句中,故本
DATA DIVISION.
第一種格局:
E260:IDENTIFIER INVALID
員 工 明 細 表
OPEN INPUT STU-FILE OUTPUT OUT-FILE.
┌────────────────────┐
WORKING-STORAGE SECTION.
3.對比常數:所謂對比常數就是行使某些公認字以代
│ DIVIDE 除數 INTO 被除數 [ROUNDED] │
ADD 1 TO C.
MOVE 30 TO D,E,F 設定 D=30, E=30, F=30

DATA DIVISION.
OBJECT-COMPUTER. IBM-PC.
MOVE "350813" TO A.
資料項目:
271


272

│ {I-O {資料檔名-3}} ... │
2.外部裝配名稱是用來指定現實輸入輸出時所使

│ │資料,假如寫在9的左側時默示小 │
此區一般用來編纂特別字符用以區分,一般均略而不寫。
D 120 120
例: INSTALLATION ABC.
279

FILE SECTION.
一、階層號碼
例:01 TABLE-REC.
在數字性資估中如果所宣佈之位置比現實位數大時,此
第二種格式:
{<}
│ORGANIZATION IS [LINE] SEQUENTIAL │
§5-1 前提式
I7:TABLE KEY DATA-NAME IS
下:
┌────────────┐
,使資料不會看起來一團糟。其使用方式及申明以下:
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.
中定字又分成數字性與文數值性兩種,茲分述以下:
小數第一位起頭由左向右搬移。
MOVE GRADE TO GRADE-O.
229

例: 02 SEX PIC 9(3)
╭════════╮
│ [ROUNDED] │
例 A>RMCOBOL TEST P
- CHI ENG MAT PHY CHE ".
ASSIGN TO PRINT "PRINTER".
│ [DATA-WRITTEN.] 程式編寫日期 │
╭══════════════╮
222

關係,當編譯程式在翻譯您的原始程式時,同時也會檢查程式語
W27:"DEPENDING ON" EXPECTED
MS-COBOL為

│ UNTIL 前提式 號令處置敘述 │
│ [RECORD 子句] │
例:01 TABLE-2. (三維陣列)
╰═══════╯
IF (J = 1 AND K = 1)
學生檔花樣:
238

LABEL RECORD IS OMITTED.
DISPLAY "INPUT N:".
時未滿之位數會補零,但這些零在輸出報表上不美觀,是以
字論述 翻譯程式指令,不但輕易浏覽,同時容

215

(Programmer Supplied Word)及常數(Constant)等三種,茲分別
MOVE 1234567890 TO A.
MOVE CLASS-NO TO CLASS-NO-O.
╰ ╰ │ 描寫句 │

235

1.定字所利用的資料性質必需與該資料名稱中PIC子
利用P選擇項時,編譯程式會將原始程式從印表機

在COBOL程式中所有 翻譯資料檔在輸入或輸出之前都必需
在現實處置過程當中並非簡單的輸入輸出處置懲罰,而是必需經由複
│PERFORM [法式-1┌ {THROUGH} 程序名稱-2 ┐] │
合體,我們可以這樣說:

│ └ {THRU} ┘ │
例: 77 A PIC 9(4) VALUE 1234.
GO 2000-READ-RTN.
ENVIRONMENT DIVISION.
│ 77 資料名稱 其他子句 │
209

區,再將其傳送至輸出區,然後寫至所指定的輸出裝置上;然則
208

│ [ON SIZE ERROR 處置懲罰論述] │
例:每一資料記錄巨細為30個字元,則簿子句可寫
│ 饬令處置懲罰論述 │
SELECT PRT-FILE
第一章 COBOL程式語言概論
│ [USAGE 子句] │
213



│ [SECURITY.] 註解 │

STOP RUN.
即可履行您的程式了。
│PERFORM [法式-1 {THROUGH} 程序名稱-2] {資料名稱}│
└──────────────┘
§1-4 編譯程式
(3)檔案開啟之個數已達到功課系統的極限 翻譯社
資料記實是由一個或一個以上的資料項目所組成,而資

│ [CORR] │

如下訊息
FILE-CONTROL.
默示表格為 C(1,1 翻譯公司1) C(1 翻譯公司1,2) C(1 翻譯公司2 翻譯公司1)
COBOL程式。底下為該人事資料檔花式:
┌──────────────────────┐
例: SECURITY HIGH.
翻譯根基意義就是要有一套能合用於各類廠牌電腦利用之標準化


AUTHOR 段是描述程式設計者姓名的段落。本段可省略。
§§編譯時所產生的毛病訊息§§
SELECT OLD-FILE
結所以可所以一個數字性或編纂性 翻譯資料項目。
得超過十八位。
息顯示於毛病處 翻譯社
SEQUENTIAL的檔案做I-O開啟動作 翻譯社
檔內,列印檔主檔名與原始程式主檔名溝通,但附加檔
1.學號不為數字性資料。
2.性別不為男女性(M,F)。
3.班級不為1-6之間。
4.品級不為A-E之間。當等級為准確時,其相對點數為
,此點應特別留意。
料稱界說未被許可的節中 翻譯社准確 翻譯做法應定義於工作暫存節
翻譯社凡是區塊內 翻譯資料存滿時才會産生現實的寫入動作 翻譯社

表的程式。
B.FILE SECTION 中的 FD 描寫過。
└───────────────────┘
│ [ON SIZE ERROR 處置懲罰論述] │
FD EMP-FILE
│ {定字} │
BLANK子句等,其他除PIC子句其餘都能省略不消。
1.階層號碼必需為02~49之間,即階級號碼不完為01、66
目標區 PIC 9(5)V9(2)
-------- -------- ---------- -------- ---------
即可編譯程式,而履行程式只需鍵入:
劃定規矩申明如下:

§4-2 資料搬移處置懲罰
│ADD 加數 ... TO 被加數 [ROUNDED] │


│ │ │若每一個字符有八個bit │
2.本格式 翻譯運算方式是將所有加數全部加起來再與被加數
3.假如是表資料檔 翻譯資料讀進來處置,處置後馬上寫

244

243

║ 夾雜運算 (COMPUTE) ║
此段是用來描述程式之秘密水平。本段可以省略 翻譯社
└─────────────────────┘
║ 關檔(CLOSE) ║
還有資料部 翻譯檔案描寫句:
WRITE OUT-REC FROM WORK-REC BEFORE 1.
VALUE 子句的功能是將某特定資料設定給某一資料名稱,
└─────────────────────┘
PROCEDURE DIVISION.
幾個和式被編譯,e表示有幾個錯誤,w示意有幾個正告 翻譯社
1.數字性定字:指可供數學運算之數字資料值,限由
0~9及正號(+)、負號(-)及小數點(.)構成,每
一數字性定字之數字(不包羅小數點及正負號),不
MS-COBOL則是在資料部FD子句中宣佈,宣佈,其他部份大多不異
╭═══════╮
替定字用以透露表現特定之資料者。請參照下表:
│ [OBJECT-COMPUTER.] 執行機型描述 │
在此段可記上任何備忘訊息,本段亦可以省略 翻譯社
I3:AT LINE NUMBER

ADD 10,A,20 TO C (C=10+A+20+C)
(6)被開啟之檔案已被保護、無法做寫入動作。
檔必須對應一個FD。
此段是描寫程式最初編寫之目期及時間。本段可省略。
256

(一)循序號碼區(Sequence number):
┌──┬──┬───┬───┬───┬───┬───┐

3.OMITTED 為無標籤記號者,通常利用於卡片檔、報
此段可省略。
編譯程式沒法認識其所要處理之工作時,則會暫停對程式之
的程式名稱。
-------- -------- ---- ---------- ----- -------
<<< 目 錄 >>>
之間都有一從屬關係,那應如何來表示其間 翻譯關係呢?在
└──────────────────────┘
┌────┬──┬──┬─────┬────┬───┐
MOVE TOTAL-SCORE TO TOTAL.
FD為檔案描寫的縮寫,從A區最先編寫,厥後的子句則從B
254


88 FUNC-OK VALUE 1 THRU 5.


264

目以後。
88 SEK-OK VALUE "M" "F".
3.假如集體項目界說了初值,則其根基項目不克不及再定
283

212

║ ║
第二種花式:
例: MULTIPLY A BY B. (B=A*B)
每列的前6格稱為循序號碼區,機器會主動產生6位數
重大 翻譯業務資料 翻譯社為合營電腦在貿易方面 翻譯廣泛用處,美國聯邦

W29:FILE DATA RECORD DEFINITION
E307:OPEN MODE TYPE


ASSIGN TO RANDOM "B:\STUD.DAT"
將識別記號寫入資料檔中,今後利用時可按照其識別記
RANDOM 磁片 輸入或輸出
STOP RUN.
子句可編寫如下:
│ └ {THRU} ┘ │
接。
1、關係前提式:
└─────────────────────┘

不會被程式直接使用時,可以使用保存字[FILLER]取
文數值性: X


FILE SECTION.
1.簿子句只能用來描寫根基項目及自力項目 翻譯資料。
2.字元串符號則是用來暗示資料 翻譯性質,可分為以下四類:


│階層號碼 資料名稱 [PIC 子句] OCCURS 正整數 TIMES│
料項目根據其隸屬關係又可分為三類:
277

在資料處理進程,所利用的資料檔可分為四類:

本選擇項可加上路徑名稱,使列印檔可以存入分歧

在輸入區或輸出區中並沒有多餘 翻譯空間來貯存這些暫時性 翻譯資料,
第二種格式:
例: ADD 10 GIVING (A-10)
└────────────────────┘
7、REMARK 段
2.假如濫觞區的位數大於目的區的位數時,將會産生資料

自力項目不屬於任何集體項目,亦不會延長出任
CONFIGURATION SECTION.
我們可藉著履行程式來執行,其語法花樣以下:
╭═════════╮
翻譯前提式合併成一個條件式,其花式以下:

§1-3 式編寫體式格局
利用多層表格時,需注重以下事項:
└──┴──┴──┴──┴──┴──┘
E100:ARITHMETIC EXPRESSION SYNTAX
1.每個Z符號都佔用一個儲存位置。
2.Z符號只能用在9的左側 翻譯社
│ [ON SIZE EROOR 處置敘述] │
4、DATA-COMPILED 段

請參考下表申明:
WRITE OUT-REC FROM HEAD-2 BEFORE 1.
E297:MOVE NONINTEGER TO NONNUMERIC
料項目以後,且可同時定義好幾個前提名稱。
│ . │符號佔一個位置,且每一個PIC子句 │
│ │表示數字性資料假定小數點之位置 │
檔案之記錄鍵值參考列已被編譯程式標註為不正確的資料
╰══════╯
符合 翻譯社
{LESS THAN}
╭═════╮
§1-2 COBOL說話 翻譯根基架構
└────┴──┴──┴────┴───┴───┘
└──────────────────────┘

MOVE 1234 TO A.
250

例: 來源區 PIC 9(3)V9(2) 內含值為00135.780
┌────────────────────┐
本格式所要重覆之次數則由前提式來節制,若條件不成立將履行
PERFORM論述參考到不同獨立分段中的法式進入點。
SEQUENTIAL的檔案做I-O處理 翻譯社
至於我們要若何編譯一個由MS-COBOL寫成的程式呢?只要鍵
2.OCCURS産生 翻譯次數必需是一個大於零的正數定字資料 翻譯社
COMPUTE TOTAL-SCORE = CHI OF STU-REC + ENG OF STU-REC

號碼便可,餘此類推。
290

例: A>RMCOBOL TEST.COB
└─────────────────────┘
PICTURE子句。
翻譯社
§5-2 巢狀前提式與複合前提式
第三種格式
SELECT子句是用來設定資料檔在程式運作中之資料
由於COBOL具有下列三大特征,是以普受常人所樂用,不
(1)使用了一個不正當的路徑及檔案名稱。
體空間,未來也必增添保護之因難。所以對程式中如有連續串的
4.D:於編譯程式時不顯示失足誤訊息 翻譯社
5.空白時表正常處置 翻譯社


...

IF SEX = "M" MOVE "男" TO SEX-O
│ [CONFIGURATION SECTION.] │
┌─────────────────────┐
│ 陳說句 │ │ │ (3) 特殊字元
└─────────────────┘
(二)毗連區(Continuation Area):
E261:IDENTIFIER QUALIFICATION
二部門宣佈過:
│ [ROUNDED] │

02 A PIC 9(2).
02 B PIC 9(2).


236

285

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

FILE-CONTROL.
STOP RUN.
子句,暗示選擇列挨次檔的結構。

當程式譚完成時,畫面將顯示以下訊息,此中p透露表現有

PRINTER 印表機 輸出
┌───────────────────────┐
PROCEDURE DIVISION.
MS-COBOL為
當編譯程式掃描到原始程式之毛病時,首先會判斷其所要處
(3) OR
其他子句將在後面陸續介紹 翻譯社
指出此文字名稱在此之前已界說過,不克不及再重複界說。
OBJECT-COMPUTER. IBM-PC.
同 A>RMCOBOL TEST
┌────┬──────────────────┐
指出 翻譯資料項目重覆屢次定義且沒有適當地限制。

程式的履行並顯示I/O error 91的毛病訊息。
│ └ {THRU} ┘ │
例: MULTIPLY A BY 30 GIVING B. (B=A*30)

╭═══════╮
241

本格式和第一種程式之差異在於第一種格式只做一次,而本

│SUBTRACT {CORRESPONDING} 減數 FROM 被減數 │
ELSE MOVE "女" TO SEX-O.
232

指出檔案描述句內的VALUE子句所定義的資料名稱,在資
CONFIGURATION SECTION.
22 所指 翻譯鍵值重覆,表欲寫入 翻譯記錄已存在。
23 所指的鍵值不存在,表欲讀取的記錄不存在。
24 磁片已無足夠空間存放。
30,nn 執行輸入輸出時發生系統故障。
§§編譯時所產生的提醒訊息§§
│ │ │其餘七個bit為1 │
┌──────────────┐
減數 被減數 TOTAL-REC

法式名稱-2為最後處置之法式名稱。
二、VALUE子句
了解其所要處置懲罰之工作時,則會暫停對程式之剖析,並將本訊
定的輸出裝備,若未省略時,則稱資料名稱-2內的資料先搬
I8:ALPHABET LITERAL PHRASE
例 A>RMCOBOL TEST
解: IDENTIFICATION DIVISION.

變數名稱 WORK-REC TOTAL-REC 運算 成效
第四章 法式部
子句:

單字須由程式設計師自行設定,其設定例則以下:
例: 濫觞區 PIC 9(3)V9(2) 內含值為135.78
(Literal)與對比常數(Figurative Constant)兩類,其
例:某校有三個年級,每一個年級有五個班,試設計一程

249

於訊息文字之後 翻譯兩個單引號中。
MULTIPLY 90 BY 10 GIVING D. (D=90*10)


257

╰═════╯
│MOVE [CORRESPONDING] 濫觞區 TO 目標區1 [目 翻譯區2]..│
該資料檔已存在,則將該檔刪除並重新確立一新檔
名稱即資料名稱(Data Name)。資料名稱其使用劃定規矩以下:
ENVIRONMENT DIVISION.
寄存於運算成果 翻譯位置內。
員工檔花式:
│ SELECT 子句 │
SOURCE-COMPUTER. IBM-PC.
號括起來的字元組都為文數值性定字,其長度不得
或連接節中。
份或右側小數部分其多出來的位數將會自動補零。
解:
2.本格式 翻譯運算方式是將被除數除以除數,相乘後 翻譯商,
╰═══════╯
處置要求:(不准確之情形)
E259:IDENTIFICATION DIVISION SYNTAX
常數係以表示現實 翻譯資料值,依其形態可分為定字
IF NOT OVER
(三)常數
指出 翻譯資料項目已被編譯程式標註為不准確資料項目。
A=1,B=2,C=3,D=4,E=5。
漏失的現象。
員工明細表花式:
1.除數 翻譯位置可所以一個數字性定字或資料名稱。被除
後果 翻譯位置則必需是一個數字性或編輯性的資料名稱。
IDENTIFICATION DIVISION.
1.本子句由B區開始編寫。
2.每資料檔必需由程式設計師設定一舉世無雙
學生資料 翻譯社
3.假如選擇項之間未加上空白或逗號時,則畫面大將出現
當畫面上呈現如上訊息時,表所讀取之檔案可能壞掉了。
│ [ON SIZE ERROR 處置敘述] │

│ {CORR } │
┌──────────────────────┐

在B區中發階級號碼01或77。
│ [ON SIZE ERROR 處置論述] │

指出文字名稱定義了一個或多個複製字元,而第一個重覆字
E124:COLLATING SEQUENCE INVALID

檔案描述句中含有不准確的語法佈局。
E218:FILE RECORD KEY QUALIFIERS

,是以資料做搬移時對於分歧的型態也有不同的搬移法則,茲將
述應為STANDARD或OMITTED。
辨認部內含有不准確 翻譯語法構造。

│ │表示此數字 翻譯規模為+0~+99.9 │
ORGANIZATION IS LINE SEQUENTIAL.
MOCE A TO BM 設定 B=A,C=A
PROGRAM-ID. TEST2.
╰══════════╯
SEQUENTIAL 翻譯檔案做I-O處置懲罰。
~P9D0W3Z3G2L12X8
搬移論述(MOVE)其主要功能是將常數資料或者儲存在記憶體
└─────────────────────┘

INPUR的開啟動作 翻譯社

§1-3 程式編寫體式格局
MOVE ZERO TO OUT-REC 設定 OUT-REC = 0
88 SW-ON VALUE "ON".
88 SW-OFF VALUE "OFF".
4.資料有延續性時,可寫出最小值與最最大值並用THRU連
此子句是用來指定所要處置懲罰之資料檔的結構 翻譯社
B   2         2
E313:PERFORM ENTRY INDEPENDENT

2、RECORD 子句
目標區 PIC 9(3)V9(2)
270


│ [ROUNDED] │

RMCOBOL 為啟動編譯程式之饬令,路徑名稱則用來指出程式
例: BLOCK CONTAINS 1024 CHARACTERS
例: AUTHOR. TOM.

輸出了局: 1234
INPUT-OUTPUT SECTION.

WORK-REC TOTAL-REC TOTAL-REC
在COBOL中可用OCCURS子句來設定表格,其感化是宣告某替
+ CHE OF STU-REC.
┌─────────────────────┐
│ ELSE 敘述2 │
同性質且長度相同 翻譯資料所重覆發生 翻譯次數,其花式及使用法則
2.存取表格資料時,必需利用最低層的資料名稱
│ {CORR } │

就是說RM-COBOL 翻譯外部檔案描寫在裝備部SELECT子句中宣佈,而
║ Z符號 ║
§3-4 編纂符號
第二章 辨認部及裝備部
ORGANIZATION IS LINE SEQUENTIAL.
│ [BINARY] │
錯誤訊息:E 示意嚴重錯誤,錯誤代碼局限80~999。
0000-MAIN-RTN.

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.
IDENTIFICATION DIVISION.
RMCOBOL為執行期間之饬令,路徑名稱指 翻譯是磁碟機名稱及
RECORD 子句是用來暗示一個資料記錄 翻譯巨細。本
╰════════╯

INPUT 輸入裝配 輸入
1.被對照之資料可同時為資料名稱,或一為資料名稱一
SELECT EMP-FILE ASSIGN TO RANDOM "SAMPLE.DAT"
§2-1 識別部
當畫面上出現如上之訊息時,則可能為以下緣由之一:
第五章 條件論述
268

B 470 3350 470+3350 3820
276

數值搬移過來 翻譯社
例:READ後,REWRITE前,改變了鍵值資料。
SELECT NEW-FILE
檔案描寫句中含有不准確的語法構造。
ENVIRONMENT DIVISION.
╰══════════╯
子句格局及說明如下:
╭════════╮
部標籤,外部標籤就是將磁帶或磁碟黏上貼紙,然後在

B 470 3350 3350-470 2880
第二種花式:
有卡片檔、磁帶檔、磁碟檔,報表檔等 翻譯社
§2-3 典範榜樣

在撰寫COBOL程式,有以下限制:
指出上一次發生毛病之列編號。
WORKING-STORAGE SECTION.
DISPLAY "1+2+3+4+...+100=" S.
3.如果程式中此行省略,未宣告佈局者,則視為
二元挨次檔。


226

214

A>RUNCOB 路徑名 檔名
DATA DIVISION.
料項目做對應搬移,以簡化程式 翻譯設計,其利用法則申明以下:
P.S. "[]"表示此句可省略。
│ │只限用一個 │
檔案未開啟前,不克不及利用WRITE論述處置,否則將中斷
元將會顯示於本訊息以後。
╭═══════╮
OPEN INPUT EMP-FILE OUTPUT OUT-FILE.
216

點第三位四捨五入。
2、前提名稱前提式
│ V │此符號不佔位置,且每個PIC子句 │
例:01 TABLE-REC.
DISPLAY A.
項目中則須含有不異名稱的資料項目,否則沒法做對應
3.如果來曆區的位數小於目 翻譯區的位數時,則左側整數部
┌─────────────────────────┘
例: 77 TOTAL PIC 9(3).
目外,還有一種自力項目 翻譯社自力項目與其他項目之間並沒有任
DISPLAY " " Y " ".
經MOVE以後目標區之值為"WELCOME TO"

│ [ON SIZE ERROR 處置論述] │
│ {THRU} {整數} │
┌──────────────────────┐
A>RMCOBOL C:\COBOL\TEST
┌─────────────────┐
DISPLAY TABLE-REC.
示意其還分細項目,即界說了多項的單層表格。
└─────────────────────┘
MOVE NAME TO NAME-O.
╰═════════╯
│ IF 前提式-1 │
例 SOURCE-COMPUTER. IBM-PC.
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).

二、某公司員工資料所有儲存於磁碟上,試設計一個列印員明細
│ DIVIDE 被除數 BY 除數 GIVING 運算效果 │

STOP RUN.
282

輸出結果:35 08 13
PERFORM VARYING I FROM 1 BY 1 UNTIL I > 3
227


例: 來曆區 PIC 9(5)V9(3) 內含值為12345.678

│ {PIC} │
└──────────────────────┘
資料名稱-1必須是記實描寫句所描寫的紀錄名稱,所有
MS-COBOL為
┌────────────────────────┐
WORKING-STORAGE SECTION.
W22:COPY PERIOD
此段首要目的是說明編譯原始程式所使用之電腦機
│ [VALUE 子句] │
本花樣的處置懲罰動作是將來源區的資料複製一份或多份至所指
一、K選擇項
SELECT OUT-FILE ASSIGN TO PRINT "PRINTER".
SEQUENTIAL子句,暗示選擇二元順序檔的佈局 翻譯社
名內定為.LST,當程式有錯誤時,使用列印檔有助於查
C(2,2,1) C(2,2 翻譯公司2)
1.階級號碼為一個從01~49的兩位數,其號碼愈小則

PERFORM UNTIL OVER.
└────────────────────┘
└────────────────────────┘

DELETE、REWRITE、START或OPEN I-O動作。
DISPLAY "班 級 1 2 3 4 5".
267

紀錄描述句(Record Description Entry) 翻譯功能是用來描寫
或 MOVE 30 TO D E F 皆可
變數名稱 內含資料 內含資料 運算 結果
例: 下面為兩個集體項目IN-REC和DUFREC之描寫 翻譯社
§4-3 算術運算處置
第一種花樣:
└───────────┘
3.Write error for file : 路徑名稱 檔名
D 120 120
將主襠(OLD.DAT)及異動檔(TRANS.DAT)讀入顛末處置,印出
使用OCCURS子句的第2種格式時,貧乏DEPENDING ON片語。
第一種格式:
3.資料檔的個數須和簿本句的個數一樣。
E223:FILE RECORD SIZE DECLARATION
DISPLAY TABLE-REC POSITION 0.
如果運算後之後果大於其存放成效之位置時,此時跨越
欲輸出的資料可存入此區域內(稱為輸出區),但資料名稱-2
READ STU-FILE AT END GO 3000-CLOSE-RTN.
│ │只限用一個 │
└──────────────────┘
VALUE"學 生 點 數 表".
FILE SECTION.
(一)保存字

WRITE OUT-REC FROM HEAD-1 BEFORE 2.
2.文數值性定字:凡由任意字元(引號除外),由雙引
如果該資料檔不存在,則將會產生一個空檔 翻譯社假如

檔案描寫句(File Description Entry)的功能是描寫資料檔
│ZERO 翻譯公司ZEROS,ZEROES │暗示一個或多個零 │單複數型意義均溝通 │

~p9d0g2w1z1l24x8
點結束 翻譯社
└──────────────────────┘
└────────────────────┘
└────────────┘
1.若是為固定長度資料錄時,則整數-1可省略不寫。
例: DIVIDE 10 INTO A. (A=A/10)

在編譯程式之前,首先行使文書編纂器來製作原始程式。當
{常數-1 } IS [NOT] {EQUAL TO} {常數-2 }
1.乘數和被乘數位置可所以一個數字性定字或者資料名稱
§1-6 資料檔概述
在程式指令之句型,除大寫的保存字外,另有很多
SELECT TRANS-FILE

COPY敘述貧乏告終束句號 翻譯社編譯程式會主動假定一個結束句
PROGRAM-ID 段是用來指定程式名稱的段落,其編寫規
├────┼──────────────────┤
PRINTER 指定由印表機輸出。
§1-2 COBOL說話 翻譯根基架構
DISK 磁碟機 輸入或輸出
例: > 與 GREATER THAN 是溝通 翻譯
員工編號 姓 名 性別 身份証號 電 話 住 址
其大小 翻譯社
│ A │每一個A表示一位英文字母或空白的資料。│
│ [VALUE 子句] │
255

│HIGH-VALUE │暗示最大值(即每一個bit均為1)│時,最左側一個bit為0│

使用劃定規矩以下:
│ [ON SIZE ERROR 處理論述] │

令陳述等均應書寫於此區內 翻譯社
DISPLAY A.
中某一位置的資料拷貝一份或多份至其所指定之記憶體內,其格
└────────────────────┘
4.利用 NOT 透露表現否認論述 翻譯結果。
5.數字性資料是依數字巨細來比力,而非數字性資料是由
部(章) ╭ 節 ╭ 段 ╭ 句子

230

單字可分為:保存字(Reserved ord)、程式設計師自定字元
PROCEDURE DIVISION.
│ [ROUNDED] │

MOVE ENG TO MAT 設定 MAT = ENG

二、L選擇項
└──────────────────────┘
┌──────────────────┐
FILE SECTION.
明檔案符號內容,以供檔案辨認用,其格局及利用申明
E512:SYNTAX ERROR 翻譯公司EXPECTED WORD:
ELSE IF GRADE-B MOVE "B" TO POINT.

則是由Ryan-Mcfarland公司所成長出來 翻譯版本。但是開發COBOL

另外編寫程式時,每個論述要以句點"."結尾。
║ ASSIGN子句 ║
PROGRAD-ID. MUL.
│ UNTIL 條件式 饬令處置論述 │
號。
目標區 PIC 9(3)V9(2)
220

下圖之員工編號、性別等。

代其名稱或者乾脆省略不寫。
│ 9(6) │X(8)│A(1)│99│99│99│ X(10) │ X(40)│
+ MAT OF STU-REC + PHY OF STU-REC
DATA RECORD IS EMP-REC.
╭═══════════╮
號來辨別。LABEL子句則是用來指明資料檔檔頭否有標
(三)近似英文─說話構造與英文十分類似,為一白話化、文
│ [LINAGE 子句] │
╰══════════════╯
§6-2 表格之宣佈方式
INPUT-OUTPUT SECTION.
例: DIVIDE A BY 10 GIVING C REMAINDER D.
CLOSE STU-FILE OUT-FILE.
SELECT CC ASSIGN TO PRINTER.
║ 空白符號(B) ║
1000-WRITE-HEADING-RTN.
資料檔平日是由許多的記實所組合而成。
DATA DIVISION.
申明如下:
的目次上。
可能是一個紀錄描寫句所描述的記實名稱(稱為輸入),也可
COMPUTE AVE = TOTAL / 5.
├─────────┼─────────────┼──────────┤
║ SELECT子句 ║
MULTIPLY 25 BY C. (B=25*C)
編譯程式標註為不正確之資料項目 翻譯社
FD STU-FILE LABEL RECORD IS STANDARD.
分歧的地方重覆編寫屢次,如此不僅程式燮得繁長且浪費了主憶
~p9d0g2w1z1l24x8
例: 濫觞區 PIC X(7) 內含值為"WELCOME"
2.若是命令列中含有不准確的選擇項者,則畫面上除上面
ADD 10 A 20 GIVING C (C=10+A+20)
以下:
│ ┌─年
01 HEAD-2.
02 PIC X(17).
02 PIC X(46) VALUE
│ X(6) │X(8)│ X │ X(10) │X(10) │ X(30)│
{資料名稱-1} {>} {資料名稱-2}
B(2 翻譯公司2) B(2,3)
算術運算式的語法構造是不准確的。
檔案開啟模式型別為EXTENDED、INPUT、OUTPUT與I-O。
ADD 1 TO C11


│ IF 條件式-2 │
┌─────────────────────┐
ADD 1 TO N(Y , C , 2).
INPUT-OUTPUT SECTION.
§2-2 設備部
電腦在貿易方面的用途已日益普遍,但是貿易方面的營業往
│ SELECT [OPTIONAL] 資料檔名稱 │
其附加檔名(.COB)可省略不寫。
跨越120字。而且弗成作數學運算。
└──┴──┴───┴───┴───┴───┴───┘

E190:FILE LABEL INVALID
是運算結果做四捨五入 翻譯社四捨五入的法則係根據小數點後之
XXXXXX XXXXXXXX X XXXXXXXXXX X...X X...X
句所描寫的資料性質相合營。

02 A OCCURS 2 TIMES.
03 B OCCURS 2 TIMES.
05 C PIC 9(2) OCCURS 2 TIMES.


C   3   4     3   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.
ENVIRONMENT DIVISION.
非數字性資料最長位數為65280個字元 翻譯社
員工記錄─┼─性別
FD OUT-FILE LABEL RECORD IS OMITTED.
├────┼──────────────────┤
1、根基項目(Elementary Item)
3000-CLOSE-RTN.
SUBTRACT CORR WORK-REC FROM TOTAL-REC.
或大小型電腦,幾近都可以使用此種程式說話,
簿本句花樣及說明以下:
寫日期、編譯日期、秘密品級及備註等,其花樣以下:
└────────────┘
┌────────────────────────┐
╰═══════╯

│ [DATA-COMPILED.] 程式編譯日期 │

MOVE C2 TO C22.
245

OBJECT-COMPUTER. IBM-PC.
例: 77 A PIC 9,999,999,999
§3-1 檔案描寫句
例: REMARK. THIS IS A TEST.
┌──────────────────────┐
及利用申明如下:
┌────────────────────┐
│ ELSE 論述3 │
ORGANIZATION IS LINE SEQUENTIAL.
DATA DIVISION.
第六章 迴圈與表格化
WORKING-STORAGE SECTION.
裝配,其花式及利用規則如下:
I9:FIRST DUPLICATE CHARACTER IS

│字元符號│ 說 明 │
246


符號來完成 翻譯社
│ [常數] │
其格局及使用法則申明以下:

PROCEDURE DIVISION.
VALUE OF FILE-ID "A:PP.DAT".
INPUT-OUTPUT. SECTION

┌──────────────────────┐
OPEN INPUT STU-FILE OUTPUT OUT-FILE.
若FROM子句省略時,則將資料名稱-1內的資料寫入所指
77 B PIC X(2) VALUE "23".
2.本子句不克不及利用於檔案節,唯一破例是可使用於88
ASSIGN TO RANDOM "OLD.DAT"
第七格為毗連區,可在此區填入:
0000-MAIN-RTN.
INPUT-OUTPUT 輸入∕輸出裝配 輸入或輸出
由於 COBOL所處理的資料可分為數字性資料與非數字性資料
種有去有回的功能與GOTO一去不回頭完全分歧。
INPUT模式。
RECORD CONTAINS 30 CHARACTERS


(2)已無磁片空間可用。
┌──────────────────────┐
(2) 指數
結果 搬移前 搬移後
90,07 對唯讀檔案進行I-O處理。
91 詭計對一未開啟之檔案做I-O處置懲罰。
92 詭計對一已開啟之檔案做開啟處理 翻譯社
94 發生不准確 翻譯開啟動作 翻譯社其緣由可能如下:
94 翻譯公司01 檔案所指定 翻譯檔案組織其實不與外部檔案 翻譯現實檔案組織相
ELSE
"學號 姓 名 性別 班級 品級 點數 學分".
子目錄下之TEST檔。
人並非全能的,是以編寫程式時不免不當心打錯,不過沒
C:\COB\TEST 指定裝配為C磁碟機的COB

ID DIVISION.
軟體也不必作太大地點竄,利用十分便利。
│ ╭ 子句 ╭ 單字 ╭ 字元 ╭ (1) 數字字元

│ {索引名稱-1} {索引名稱-1}│
(二)貿易用處─適合處置具有大量資料的貿易或事務工作。
程式設計師在設計時都必需替每一個資料項目在主記憶
6、SECURITY 段
例: SUBTRACT 10 FROM A (A=A-10)
{運算式-1 } {=} {運算式-2 }
或 ADD 10 A A 20 TO C
┌────────────────────┐
第四種格局
"─"肆意組合 翻譯社
│ │例: PIC S99 │
原始程式編寫完成後,我們則須藉著編譯程式來產生目的程式,
經由檔案開啟(OPEN) 翻譯動作,才能進一步的地方理。其格式如
裝備部內含不准確的語法佈局。
使用編輯符號可以使輸出效果具美觀及易讀性,茲介紹以下:
┌─────────────────────┐
法是不是准確,如果發現有毛病時,編譯程式會在毛病的地方顯示
($)標示失足誤的處所,並時指犯錯誤的嚴重性。編譯程式
│ {FILLER} │
└───────────────────────┘

試資料,起首必需在資料部中界說條件名稱,其格式以下:
║ 除法(DIVIDE) ║
3.程式名稱最長30個字元。
P.S. "{}"示意可隨意率性選用組合 翻譯社

2.本格局 翻譯運算方式是將所有加數相加起來再將效果貯存

251

2.對系統設備名稱為CARD READER或INPUT的檔案執行

為:
E189:FILE LABEL DESCRIPTOR
4.對應搬移時盡管其階級號碼是不是不異,僅對同名稱的資
所以這也就是本節所要介紹之工作暫存節之功能 翻譯社
3000-CLOSE-RTN.
│學號│姓名│性別│班級│等級│學分│
PROGRAM-ID. SAMPLE.
│ ... │

PROGRAM-ID. TEST4.
必須鄙人面三個部分使用過:
有順序檔、相幹檔、索引檔等 翻譯社
PROGRAM-ID. YUAN.
入或磁片已損毀 翻譯社
例: DIVIDE 10 INTO B GIVING D. (D=B/10)
1.本段為辨認部之第一段,為識別部獨一不行省略之
AFTER C2 FROM 1 BY 1 UNTIL C2 > 9.
├─────────┼─────────────┼──────────┤

ELSE GRADE-E MOVE "E" TO POINT.
01 OUT-REC PIC X(63).
指出上一個毛病訊息中所參考到之特定記實鍵值之資料名稱 翻譯社
│ 9 │每一個9透露表現一名數字性資料 翻譯數字 │
210

└────────────────────────┘
280

1.加數 翻譯位置可所以一個數字性定字或資料名稱。運算
2.若是是把資料檔 翻譯資料寫入一個新 翻譯資料檔時,則
PROGRAM-ID. TEST.

│X(6)│X(8)│X(1)│9(1)│X(1)│9(1)│
目標區 PIC X(7)
MOVE CORR EMP-REC TO WORK-REC.
~p9d0g2w1z1l24x2
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).

│ BY {資料名稱-1} │

經MOVE以後目標區之值為135.78
習慣上我們所浏覽 翻譯數字都是每三位數字加一個逗號,
PICTURE 子句是用來說明每根基資料 翻譯性質與長度,
體預留位置,且替該位置設定一個名稱供程式處置懲罰利用,此
相加,最後將運算了局貯存於被加數 翻譯位置內 翻譯社
2.每一單字最長不得跨越30個字元 翻譯社
3.不得與保留字不異 翻譯社
4.每單字最少應有一個英文字母,但程序部之段落
┌──────────────────┐

數的位置則必需是一個數字性資料名稱。

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
SELECT OUT-FILE ASSIGN TO PRINT "PRINTER".
│DATA {RECORD IS} 資料名稱-1 [資料名稱-2]..│
COMPUTE R = C11 * C2.
基本項做相對應的相加,相加之後之成效儲存於同名稱
最小記實長度,並未與外部檔案的實際最小記實長度符合
本運算子有:加(+)、減(-)、乘(*)、除(/)及指數(**)
式,統計該校各年級各班之男女生各有若幹人。
例:自學生檔中讀取資料,經處理後由印表機
│ RMCOBOL 路徑名稱 檔名 [選擇項] │
由於輸入檔的資料都是貯存在外部媒體上,是以檔案讀

字性或編纂性的資料項目 翻譯社
§3-4 編纂符號
例: 01 EMP-NO VALUE ZERO.
│ {PICTURE} IS 字元串符號 │
│ SUBTRACT 減數 ... FROM 被減數 [ROUNDED] │
275


262

90,02 企圖使用DELETE、REWRITE論述對一宣告為ACCESS MODE
DATA DIVISION.
檔,其格局及利用規則說明如下:


AUTHOR. YUAN.
281

三個部分使用過:
例: DATE-COMPILED JAN-3.
MOVE C1 TO C11.
正對資料檔做進一步處置懲罰時,則必需在處置程序部中節制。在
在法式部中欲竣事程式履行,可用STOP論述。
檔案節制段(FILE-CONTROL)是用來設定資料檔在程
│ 比 擬 常 數 │ 用 途 │ 備 註 │

WRITE OUT-REC FROM HEAD-3 BEFORE 1.
第四章 法式部
│ [ON SIZE ERROR 處置敘述] │
DATA DIVISION.
紀錄、誕生日期等。。-> 翻譯社|,-> 翻譯公司|的-> 翻譯
E296:MOVE ANSE/ABS TO NSE/NUMERIC
3.前提名稱為程式設計師自定字,必需緊接在其所代表資
SOURCE-COMPUTER. IBM-PC.
文字性: A
└──────────────────────┘

DISPLAY TABLE-REC POSITION 0.

§4-1 I∕O處理
C 260 1200 1200-260 940
C 260 1200 260+1200 1460
記實長度相符合 翻譯社
料做搬移,名稱分歧則不搬移 翻譯社
│ WRITE 資料名稱-1 [FROM 資料名稱-2] │
模式以後緊跟著欲開啟之資料檔名,此檔名必須鄙人面
SELECT AA ASSIGN TO RANDOM "A:PP.DAT".
§1-1 COBOL簡介
├────┼──┼──┼────┼───┼───┤
計師加以申明或界說者。這些保存字都具有特定之意義
選擇項是在編譯時,編譯程式所附帶的功能,利用者可依需
└────┴──┴──┴─┴─┴─┴────┴───┘
義初值。
資料記實:
│ │每一個P透露表現一名數字性資料的零, │
│ [JUSTIFIED 子句] │
│ ORGANIZATION 子句 │
┌───────────┐
ENVIRONMENT DIVISION.
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.

│ MOVE 來曆區 TO 目標區1 [目標區2]... │
PROCEDURE DIVISION.
│ [ON SIZE ERROR 處置論述] │
├─────────┼─────────────┼──────────┤


W19:AREA A LEVEL
Business Oriented Language,簡稱COBOL)。
1.乘數的位置可所以一個數字性定字或資料名稱。被乘
WRITE OUT-REC FROM HEAD-3 BEFORE 1.
例: MOVE 5 TO A 設定 A=5
1.寄存運算結果的位置因不介入運算,所以可所以一個數
├─────────┼─────────────┼──────────┤
DATA DIVISION.
Usage : RMCOBOL name [option]
MOVE STU-NO TO STU-NO-O.
例: 濫觞區 PIC X(10) 內含值為"WELCOME TO"
│ READ 檔名 [INTO 資料名稱] AT END 論述 │
連串之判定,此時應留意IF和ELSE之對應關係,其格式以下:
所指定的段名稱尚未定義。
分析,直到找到可以重新編譯之處,才會將本訊息顯示於該處
§5-2  巢狀前提式與複合前提式
│ ASSIGN TO 系統裝配名稱 {"外部裝置名稱"}│
╭═══════╮

77階級號碼的資料項並沒有描寫資料項目。如貧乏

266

PROCEDURE DIVISION.
02 A OCCURS 2 TIMES.
03 B PIC 9(2) OCCURS 3 TIMES.
在指出的內容中其實不答應含有零值的整數。
├─────────┼─────────────┼──────────┤
PROGRAM-ID. TEST.
│ [LABEL 子句] │
例: 77 A PIC 99B99B99.
透露表現表格為 B(1,1) B(1,2) B(1,3) B(2,1)

W65:INTEGER ZERO INVALID
2.企圖使用WRITE敘述對一宣告為 ACCESS MODE
│ ASSIGN 子句 │
FILE-CONTROL.

左至右一一對照每個字元,憑據其ASCII碼巨細來決意
94,02 RECORD子句指定 翻譯最小記實長度或檔案名稱記錄所隱含的
1000-LOOP-RTN.
§1-4 編譯程式
理之工作為何?若編譯程式可以或許認識其所要處理之工作時,則
├────┼──┼──┼─┼─┼─┼────┼───┤
2000-OVER-RTN.


│條件式-1 {AND} 前提式-2 {AND} 條件式-3... │
GO 2000-READ-RTN.
A.INPUT-OUTPUT SECTION 中的SELECT子句中指定過。
│ [DATA 子句] │
對比常數ALL的使用方式是不准確的。
1000-LOOP-RTN.
90,03 欲進行之動作與媒體 翻譯設備名稱相衝? 翻譯社
1.對系統裝備名稱為OUTPUT、PRINT或PRINTER的檔案執

IDENTIFICATION DIVISION.
VALUE 子句為LABEL子句 翻譯補充申明,其功用是指
IF (STU-NO OS NOT NUMERIC) OR NOT SEX-OK
並同時搜檢程式語法是不是正確。編譯程式的編譯語法花式以下:
磁帶檔 翻譯社
║ ║
例: 01 STUD-REC.
│ │此數字所能默示 翻譯局限為-99~+99 │
或THRU來設定局限,此中法式名稱-1為欲處置懲罰之啟始法式名稱,
§4-3 算術運算處置懲罰
例:01 TABLE-2. (二維陣列)
(二)程式設計師自定字元
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
指出上一個錯誤訊息中所參考到之特定資料記實名稱。
╰(Statement)╰ ╰ ╰
檔案之記實鍵值重覆多次界說且沒有恰當地限定 翻譯社

將錯誤之嚴重性分成以下之三個等級:
╰(Entry) │
翻譯單層表格。若發生在集體項目中(未含有PIC子句),
表連續。
║ 四捨五入 (ROUND) ║

234

程式在編寫過程當中一定會並到某段程式內的連續串論述會在
ELSE IF GRADE-D MOVE "D" TO POINT.
FD STU-FILE LABEL RECORD IF STANDARD.
╭═══════╮
ORGANIZATION IS LINE SEQUENTIAL.
273

PERFORM 1000-LOOP-RTN VARYING C FROM 1 BY 1 UNTIL C > 100.
┌──┬──┬──┬──┬──┬──┐
OPEN 以後緊接處理模式:
E173:FILE DESCRIPTION
所謂保存字就是指電腦能熟悉的單字,沒必要程式設
放於被乘數的位置內 翻譯社
寄存於被除數 翻譯位置。
§4-4 範例


所謂巢狀條件式是指前提陳述內又有前提陳說,可用來作一
第三種格式:
§6-1 迴圈
要而選用,亦可省略不消。在此我們介紹幾個選擇項:
錯誤訊息,提供您參考。編譯時所產生之毛病訊息可分為四類:

╭═════════╮
§3-5 利用典範
部檔案做I-O 翻譯動作。
1、自力項目:
COBOL中要默示資料之間的隸屬關係時可使用階級號碼,其

COMPUTE R = C1 * C2

OBJECT-COMPUTER. IBM-PC.

學生檔格式
毛病之發生,可在運算指令中加上ON 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
    文章標籤
    翻譯社
    全站熱搜
    創作者介紹
    創作者 lilliat1nuig 的頭像
    lilliat1nuig

    gertrudsusre2

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