NPL程式設計語言

NPL程式設計語言

NPL語言的名字在1965年被改為PL/1,以免與英國國家物理實驗室(NationalPhysicalLaboratory,縮寫為NPL)的名字相互混淆。 PL/1語言是目前世界上比較流行的結構程式設計語言之一,它可用於科學計算、商業事務、實時控制領域,也可用作系統程式設計語言。與其它正在被廣泛使用的高級程式設計語言相比,PL/1具有更大的靈活性。

簡介

在七十年代初期PL/1引起了計算機界的關注,並得到了廣泛的套用。這有幾個方面的原因:第一,與前三種語言相比它是更為現代化的語言,它的語言特性與新型計算機和套用有更直接的關係。第二,PL/1是一種通用語言,它支持著科學計算、數據處理、文本處理和系統編程的套用。第三,PL/1的執行過程通用性強、效率高、可靠性好。第四,PL/1的標準化工作做的及時。

PL/1的第一種版本由SHARE FORTRAN課題的先進語言研製委員會發表在SHARE上。這個版本稱為NPL(New Programming Language--新程式語言)。1965年由IBM第一次使用,並稱之為PL/1。

在60年代,PL/1尚未得到人們的公認。它早期的編譯程式效率低、可靠性差。雖然它具有適合多種套用的特性,但還沒有一個套用領域真正使用它。但是,基於上述理由,PL/1逐漸成了一種受人歡迎的語言。

1975年2月,美國標準化委員會x3的技術委員會X3J1一PL/1和歐洲計算機生產廠聯合技術委員會TCl0一PL/1共同出版了PL/1標準草案。不久即得到了承認。

PL/1的主要特性都來源於ALGOL,FORTRAN和COBOL。事實上,在PL/1語言中,集中了ALGOL的語法結構和動態存儲器分配的特性,COBOL的記錄結構和輸入一輸出特性,以及FORTRAN的算術運算能力;並且增加了字元串處理功能,表格處理功能,以及中斷一陷井功能。

基本的指令型式

程式區的定義

PL/1程式由一個或多個聯合的稱為過程(procedures)的模組組成。正像任何其它程式設計語言一樣,需要給編譯程式提供信息,以表示過程的開始和結束;這種信息的形式取決於該過程是否是程式中所用的幾個過程中的一個,或該過程是否是通過管理和其它過程連在一起運行。

這種過程的開始,由以下語句發出信號:

標號:PROCEDURE OPTIONS(MAIN);此處“標號”是由程式設計師賦於程式的名字;它必須由字母開頭,全部由字母和數字組成。

所有過程都必須由以下語句來結束:

END標號;

“標號”在現在的情況下可以省略;如果用它,那它就必須和PROCEDURE語句中的標號相同。過程中的每條語言都用分號(;)結束。

變數的定義

變數定義的形式很簡單,只要用如下的說明語句:

DECLARE名字;

此處“名字”是由程式設計師指定的標識符。這種名字可以是一個或幾個字元長度,就目前實際套用來說,它必須以字母A~H或O~Z開頭(以I~N開頭的名字自動賦於特殊性質)。可按這種方式在一條語句中說明若干個名字,如:

DECLARE Y,X1,X2,X3;

數的內部處理

允許程式設計師利用PL/1中的一些處理指令在內部產生新的數據,用於這些操作的基本指令是賦值語句,其一般形式為:

名字=表達式;

此處“名字”指的是由程式設計師指定的某變數名,而“表達式”由一項或者由數學運算符連線的多項組成。

(1)數字常數

這是指可直接用普通記數法寫數值。

(2)算術運算

PL/1提供了五種基本的數值運算,可以用各種方式把這些基本運算組成更加複雜的運算。這五種基本的算術運算符是:+ 加法、一減法、*乘法、/除法、**取冪。

輸入輸出語句

輸入/輸出的一種基本方式被稱為流式輸入輸出(Stream I/O),PL/1用這種方式把輸入和輸出作為連續的數據流來處理。

(1)GET DATA語句

GET DATA語句用來輸入數據,其基本形式是:

GET DATA(名字1,名字2,…);

(2)PUT DATA語句用來輸出數據,其基本形式是:

PUT DATA(名字1,名字2,…);

數的基本種類

PL/1中的數可用四個屬性項加以描述,它們是:基數(Base)、記數法(Scale)、型式(Mode)和精度(Precision)。由於對這此屬性項可以指定各種不同的組合,程式設計師就可以對存貯、操作、顯示數據的格式進行控制。

基數

基數(Base)屬性決定了一個實際數值存放的數制。這種屬性可以是DECIMAL(十進制),這時,數在內部以一串十進制數字表示;也可以是BINARY(二進制),這時,數用一串‘0’或‘1’來表示,也就是表示成二進制數。

記數法

數字值可有FIXED(定點)或FLOAT(浮點)兩種記數法。

當存放浮點數時,它的指數部分和小數部分分別放在所分配存貯單元中的不同部分。而具有FIXED屬性的數當然就不用指數部分,而是在整個存貯單元中放入實際值。浮點形式的使用,比起定點格式來,使程式設計師能存放更寬數值範圍的數。

型式

PL/1語言提供了兩種型式(MODE)的數,即REAL(實數)和COMPLEX(復型),可供程式設計師任意選用。因為只有在相當有限的情況下才使用複數,所以COMPLEX屬性決不由隱含賦予。

精度

這個精度屬性關係到數的兩部大小和排列。因為計算機中所貯存的數實際上不帶小數點,所以每個數值都必須伴有某種說明,以便通知程式給數值分配多少位。

PL/1的十進制或二進制定點數均可用精度說明。精度的表示形式為(W,d),其中W為總位數,d代表小數點右邊的位數(若d省略則表示d為0)。

相關詞條

相關搜尋

熱門詞條

聯絡我們