8.?通用編譯語言Pascal
Pascal
語言是一種計算機通用的高級程序設計語言,由瑞士聯(lián)邦技術學院尼克勞斯
維爾特(Niklaus?Wirth)教授于六十年代末設計并創(chuàng)立,以紀念十七世紀法國著名哲學家和數(shù)學家
Blaise?Pascal,現(xiàn)已成為廣泛使用的編程語言之一。維爾特一生還寫作了大量有關程序設計、算法和數(shù)據(jù)結構的著作,因此,他獲得了1984
年度的“
圖靈獎”。
Pascal
語言主要特點有:結構化形式嚴格;數(shù)據(jù)類型豐富完備;運行效率高;查錯能力強;語言語法嚴謹,層次分明,程序易寫,具有很強的可讀性。Pascal是最早出現(xiàn)的結構化編程語言,適于描述數(shù)值和非數(shù)值的問題。
在
Pascal語言問世以來的四十余年間,先后產(chǎn)生了適合于不同機型的各類版本,其中影響最大的莫過于
Turbo?Pascal系列軟件。它是由美國Borland公司設計、研制的一種適用于微機的Pascal編譯系統(tǒng)。該編譯系統(tǒng)由1983
年推出的1.0版本發(fā)展到
1992年推出的7.0版本,版本不斷更新,功能更趨完善。Turbo?Pascal
語言是編譯型程序語言,它提供了一個集成環(huán)境的工作系統(tǒng),集編輯、編譯、運行、調(diào)試等多功能于一體。
在高級語言發(fā)展的過程中,
Pascal語言是一個重要的里程碑,是第一個系統(tǒng)地體現(xiàn)結構化程序設計概念的語言。結構化程序設計主要由三種基本結構(順序結構、選擇結構、循環(huán)結構)組成,后來有人把函數(shù)和過程作為第四種基本結構。這四種結構對外看都只有一個入口和一個出口,結構清晰,避免了由
GOTO語句所引起的混亂。另外,在程序設計方法方面,Pascal
語言主張采用自頂向下,逐步求精的方法。即將一個大的復雜問題,劃分成若干小的易解決的問題。每個小問題,又可劃分成一些更小的、更易解決的問題。這樣,只要把每個小問題都解決了,整個大問題也就解決了。這種方法也為多人合作編程提供了方便。
在中國信息學奧林匹克競賽中,比較常用的
Pascal編程工具是Turbo?Pascal,這也是世界上使用人數(shù)最多的
Pascal編程工具——它擁有編譯速度快的先進編譯器和功能強大而又簡便易用的集成開發(fā)環(huán)境。
Turbo?Pascal系列軟件作為開發(fā)系統(tǒng)軟件與實施科學計算和教學的有力工具,發(fā)揮著越來越大的作用:IOI(
國際奧林匹克信息學競賽)
把Pascal語言作為三種程序設計語言之一,
NOI(全國奧林匹克信息學競賽)把Pascal語言和C語言、C++語言作為競賽使用的程序設計語言,在大學中,Pascal
語言也常常被用作學習數(shù)據(jù)結構與算法的教學語言。
Pascal
語言有5個主要版本,分別是
Unextended?Pascal、Extended?Pascal、Object-Oriented?Extensions?to?Pascal、Borland?Pascal和Delphi?Object?Pascal。其中,Unextended?Pascal、Extended?Pascal和Object-Oriented?Extensions?to?Pascal是由Pascal標準委員會所創(chuàng)立和維護的,
Unextended?Pascal類似于瑞士的Niklaus?Wirth
教授和K.Jensen于1974年聯(lián)名發(fā)表的Pascal用戶手冊和報告,而Extended?Pascal則在其基礎上進行了擴展,加入了許多新的特性,它們都屬于正式的
Pascal語言標準;
Object-Oriented?Extensions?to?Pascal是由Pascal標準委員會發(fā)表的一份技術報告,它在
Extended?Pascal的基礎上增加了一些用以支持面向?qū)ο蟪绦蛟O計的特性,但它屬于非正式的標準。
Borland?Pascal
和Delphi?Object?Pascal是由Borland公司專門為其開發(fā)的編譯工具設計的Pascal語言,前者是用于DOS的Turbo?Pascal系列和Windows?3.x的Turbo?Pascal?for?Windows的傳統(tǒng)高級語言,后者是用于Windows的Delphi和Linux的Kylix的面向?qū)ο蟪绦蛟O計語言,它們都不是正式的
Pascal標準,但具有專利性。由于Turbo?Pascal系列和Delphi功能強大并且廣為流行,
Borland?Pascal和Delphi?Object?Pascal已自成為一種標準,并為許多人所熟悉。
傳統(tǒng)
Pascal語言的標準庫中缺乏對網(wǎng)絡編程的支持,并且僅通過自帶的
graph單元難以實現(xiàn)較好的圖形界面(GUI),這些問題大多需要嵌入?yún)R編語言代碼才能得到解決,這就導致傳統(tǒng)
Pascal語言缺乏與機器語言的接口。作為一個面向過程的編程語言,和
90年代興起的面向?qū)ο蟮恼Z言相比,傳統(tǒng)
Pascal語言不利于大型軟件的開發(fā)。
隨著
Turbo?Pascal逐漸被淘汰,NOI和
IOI已經(jīng)指定Free?Pascal為比賽使用的
Pascal編程工具。Free?Pascal?是32/64
位的Pascal
編程工具,屬于自由軟件,可用于各種操作系統(tǒng)。根據(jù)編譯選項的不同,它可以選擇使用
Turbo?Pascal兼容語法、Delphi語法或者其它語法編寫程序。由于它擁有
32/64位的編譯器,而且一直在更新、發(fā)展,因此它的功能比
Borland?Pascal更加強大,還擁有許多現(xiàn)代程序設計的特征。
從使用者的角度來看,
Pascal語言有以下幾個主要的特點:
⒈?結構化????Pascal
語言可以方便地寫出結構化程序。這就保證了程序的正確性和易讀性。在結構化這一點上,Pascal
語言比其它算法語言更好一些。
⒉?數(shù)據(jù)類型豐富????Pascal
語言提供了整數(shù)型、實數(shù)型、字符型、布爾型、枚舉型、子界型以及由以上類型構成的數(shù)組類型、集合類型、記錄類型和文件類型。此外,還提供了許多其它語言中沒有的指針類型。豐富的數(shù)據(jù)結構和結構化性質(zhì),使Pascal
語言可以方便地被用來描述復雜的算法。
⒊?適用性好????Pascal
語言既適用于數(shù)值運算,也適用于非數(shù)值運算。有些語言只適用于數(shù)值計算,有些語言則適用于商業(yè)數(shù)據(jù)處理和管理領域。
Pascal語言的功能較強,能廣泛應用于各種領域。
⒋?書寫較自由????不像有些算法語言對程序的書寫格式有嚴格的規(guī)定,Pascal
語言允許一行寫多個語句,一個語句也可以分寫在多行上,這樣就使
Pascal程序能夠?qū)懙孟笤姼韪袷揭粯觾?yōu)美,便于閱讀。但值得注意的是,Pascal
語言一行不可超過
257個字符。
基于以上特點,許多學校選擇Pascal
語言作為程序設計課程的一種主要語言。它能讓學生受到嚴格而良好的程序設計的基本訓練,還可以培養(yǎng)學生結構化程序設計的風格。