COBOL語言

COBOL語言

COBOL語言,是一種面向過程的高級程式設計語言,主要用於數據處理,是目前國際上套用最廣泛的一種高級語言。COBOL是英文Common Business-Oriented Language的縮寫,原意是面向商業的通用語言。它採用 300多個英語單詞作為保留字,以一種接近於英語書面語言的形式來描述數據特性和數據處理過程,因而便於理解和學習。COBOL語言是專門為企業管理而設計的高級語言,可用於統計報表、財務會計、計畫編制、作業調度、情報檢索和人事管理等方面。

簡介

COBOL語言,是一種面向過程的高級程式設計語言,主要用於數據處理,是目前國際上套用最廣泛的一種高級語言。COBOL是英文Common Business-Oriented Language的縮寫,原意是面向商業的通用語言。它採用 300多個英語單詞作為保留字,以一種接近於英語書面語言的形式來描述數據特性和數據處理過程,因而便於理解和學習。COBOL語言是專門為企業管理而設計的高級語言,可用於統計報表、財務會計、計畫編制、作業調度、情報檢索和人事管理等方面。

發展

50年代中期電子計算機開始用於商業和企業的事務處理,而事務處理與科學計算不同,數據繁多而運算簡單,它只需要一定的運算能力,但對數據結構的描述和大批量數據的分析處理方面則要求有很強的功能 。

•1956年在美國富蘭克林學會召開的高級語言學術討論會上提出FLOWMATIC語言,並在UNIVAC Ⅰ型計算機上實現。這是第一個面向數據處理的語言,它為COBOL的誕生創造了良好的條件。

•1959年5月美國國防部召開專門會議,討論建立通用商業語言的要求和可能性,確定了這種語言的基本設計思想和應具有的特點。會後成立數據系統語言委員會(CODASYL),其中有一個短期工作委員會專門負責COBOL語言的開發。

•1959年9月提出初稿,1960年4月正式公布第一個COBOL文本,稱為COBOL-60。經過進一步擴充和完善,又出現了COBOL-61和擴展COBOL-61。

•1965年出現COBOL-65。1968年被美國國家標準化協會(ANSI)批准為標準文本,即ANSICOBOL X3.23-1968,簡稱COBOL-68。

•1972年國際標準化組織 (ISO)把此文本推薦為國際標準,即ISO COBOL-72,並被美國、英國、法國、日本和蘇聯等21個會員國所承認。

•1974年美國國家標準化協會對COBOL-68作了修改補充,公布了新文本ANSI COBOLX3.23-1974。

•1978年被國際標準化組織推薦為國際標準文本,即ISO COBOL-78。現在計算機製造商均以ISO COBOL-72或ISO COBOL-78作為設計軟體的依據,幾乎在所有的大、中、小型計算機上都配有COBOL語言,微型計算機則採用COBOL的一個子集。中國引進COBOL語言後還增加了漢字處理功能。

特點

COBOL語言的主要特點是 :

•面向檔案。COBOL語言是一種典型的按檔案系統方式進行數據處理的語言。檔案(如檔案、帳冊等)是事務數據處理的基礎。COBOL程式將處理對象按一定方式組織成檔案,記錄在計算機的外部設備上。它通過對數據層次結構的描述,說明同一檔案中數據項之間的聯繫,因而可在數據的任一層次進行檢索和處理。

•接近英語自然語言。COBOL語言中大量採用普通英語辭彙和句型,如描述性子句接近英語主表結構,操作性語句接近英語的祈使句。例如,把A和B兩個數據項的內容相加,就寫成ADD A TOB。因此COBOL程式看起來很像一篇用英語寫的文章,學過英語的人很容易看懂。

•通用性強。在COBOL程式中數據、運行環境和處理過程是分別單獨描述的。它通過定義記憶名,使處理過程的描述中不直接涉及使用的外部設備的名字。因此,只要對設備描述和記憶名定義作少量的修改,即可將一個COBOL程式移植到另一台計算機上運行。

•功能模組化。在標準COBOL文本中實現功能模組化,它對每一種功能模組的特性、語義及限制作了嚴格的規定。編譯系統的設計者可根據需要和系統規模選用全部或部分功能模組。模組本身又進一步分為一級和二級,高一級模組包含了低一級模組的全部功能。選用模組的多少並不影響語言的基本結構。ISO COBO L-72隻有8個功能模組,ISO COBOL-78則擴充到12個功能模組(見表)。COBOL最小的子集應包括核心、表處理和順序存取等模組。

COBOL語言 COBOL語言

程式結構圖為COBOL源程式的邏輯結構圖。每個 COBOL語言程式都是按部、節、段和體幾個層次構成的。每個程式由標識部、設備部、數據部、過程部等四個部組成。

標識部提供標識該程式的信息,如程式名、日期、程式設計師的姓名等。

設備部又稱環境部,它提供有關該程式運行環境即計算機主機和外部設備方面的信息。它是程式中唯一描述計算機硬體的部分。COBOL程式規定把這一部分單獨分出來,藉以提高程式的通用性,把一個COBOL程式從一台計算機移到另一台不同的計算機去時只須修改這一部分內容便可執行。

數據部描述作為處理對象的數據檔案、記錄、數據項的結構和特性。例子下面是一個記錄描述的例子:

01RECORD-1

02NAMEPICTUREISX(20)

02SEX PICTUREISA

02BIRTHDAY

03YEAR-BPICTUREIS9999

03MONTH-B PICTUREIS99

03DAY-B PICTUREIS99

這一記錄由三項組成:NAME(姓名)是不超過20個字元的字元串,由X(20)說明;SEX(性別)是一個字母,由A說明,程式中可用M表示男性而用F表示女性;BIRTHDAY(出生日期)是一組合項,由3個表示年、月、日的更基本的項組成。各數據項的層次結構由層號表示,例中的01,02,03就是表示數據項在記錄中的層次。這種表示方法很便於程式設計師描述管理、財會等領域中常見的有結構的數據。

過程部描述數據處理的步驟。數據從外部傳入計算機主存儲器稱為輸入;從主存儲器將數據傳出稱為輸出;數據在主存儲器內從一個存儲區傳到另一個存儲區稱為傳送;對數據進行加、減、乘、除運算稱算術運算。這些都是數據處理的基本操作,程式由一系列描述基本操作的語句組成。如果程式執行中需要根據某個條件是否滿足來決定它的後繼處理步驟,稱為轉移控制,由控制語句來描述。每個COBOL語句包含一個英語動詞,用以指明該語句操作的性質。動詞後面隨有若干操作對象的信息和描述操作的補充信息。下面是一段COBOL過程部的程式:

ACCEPTQUANTITY

MULTIPLYQUANTITYBYPRICEGIVING

TOTAL-PRICE

DISPLAYTOTAL-PRICE

ACCEPT(接收)、MULTIPLY(乘)、DISPLAY(顯示)是三個英語動詞。QUANTITY(數量)、PRICE(單價)、TOTAL-PRICE(總價)是變數的名稱,代表被處理的對象。BY(被......)、GIVING(給出)是輔助用的保留字,說明被處理對象之間的關係。上述程式的意義為:從終端上接受操作員用鍵盤輸入的商品數量值,然後將數量乘以單價得出總價,最後在顯示螢幕上顯示總價。

組成

•標識部(IDENTIFICATIONDIVISION):用於標識程式名。

•環境部(ENVIRONMENTDIVISION):用於說明程式運行的環境。

•數據部(DATADIVISION):用於說明程式中涉及的所有數據。

•過程部(PROCEDUREDIVISION):是程式的核心部分,它決定計算機應進行什麼操作。

字元集

數字0—9,字母A—Z,a—z,專用字元:+-*/=,.;’()<>$及空格。屬於系統字元集而不屬於COBOL字元集的字元只能出現在COBOL程式中的字元串里。

常量

COBOL常量分為數值常量(如100,-29),非數值常量(如’ABC’)和表意常量(如ZERO,SPACE,HIGH-VALUE,LOW-VALUE,QUOTE,ALL常量)。

書寫格式

第1至6列為”標號區”。第7列為”續行標誌區”
第8至此11列,稱為”A區”。程式中有些內容如部頭,節頭,段頭,層號01,層號77及檔案描述符FD等應從A區開始寫。
第12至此72列,稱為”B區”。寫程式中的正文部分。如過程部中的句子只能從B區開始寫。
第73至80列,稱為”注釋區”。

數據特點

•層次的概念:數據間存在的從屬關係。

•檔案的概念:多個記錄可以組成一個檔案。

•記錄的概念:具有一定層次關係的一組數據項的最大集合,它是記憶體中具有獨立邏輯含義的最大存取項,具有最高層次。

相關詞條

相關搜尋

熱門詞條

聯絡我們