電腦程式語言

程式是計算機處理的對象和計算規則的描述,或數據結構加算法就是程式。電腦程式語言是用來書寫電腦程式的語言。語言的基礎是一組記號和規則,根據規則由記號構成的記號串的總體就是語言。任何程式設計語言都有自己的辭彙,一般說來辭彙集是由標識符、保留字、特殊符號、指令字、數、字元串及標號等組成。程式語言不但是人們向計算機傳達工作內容和工作步驟的工具,還是人們編製程序進行思考的土具和人與人之間交流使用計算機技術的工具。一般初學者都是通過學習一種程式語言來學習使用計算機的。因此程式語言又是普及計算機知識的工具,人類走進計算機世界的鑰匙

簡介

在了解電腦程式語言時應該注意它的三個方面,即語法(syntax)、語義(semantics)、語用(pragmatics)。語法表示程式的結構或形式,即表示構成語言的各個記號之間的組合規律,但不涉及這些記號的特定含義,也不涉及使用者;語義表示程式的含義,亦表示按照各種方法所表示的各個記號和特定含義,但不涉及使用者;語用表示程式和俸用者的獎桑.

語言的種類千差萬別,但是,一般說來都應包括下列四種成分:

(1)數據成分,用以描述程式中所涉及的數據;

(2)運算成分,用以描述程式中所包含的運算;

(3)控制成分,用以描述程式中的控制構造;

(4)傳輸成分,用以表達程式中數據的傳輸。

語言的好壞不僅影響到使用是否方便,而且關係到程式人員寫出的程式的質量。

程式語言的發展

電腦程式設計語言的發展是從低級語言發展到高級語言。低級語言一般是指機器語言和與之接近的彙編語言。機器語言是用二進制表示的機器指令代碼,彙編語言採用助記符的方法描述機器代碼,低級語言難懂難記,可移植性差。高級語言一般是指像BASIC、FORTRAN、COBOL、PASCAL、C等語言,採用了類似於自然語言的程式結構。高級語言由一般語言,經結構化語言,現發展到了面向對象語言,如c++、Java等。

除了上述的過程語言外,還出現了函式程式設計語言。為了使計算技術有效地為人工智慧服務,邏輯程式設計語言也展現出了新的面貌,出現了LISP、Prolog語言,稱之為非過程化語言。非過程化語言只需要描述要做什麼或需要什麼.而無需描述怎樣做或如何滿足這種需要,因此可認為它是比過程化語言更高一級的語言。

為了滿足資料庫操作的要求,設計出了資料庫語言,如SQL、dBASE、FoxPro、VisualFoxPro等。隨著網路化的發展,網路語言也發揮了越來越重要的作用,網頁製作、網路信息傳遞、計算機通訊等都需要網路語言的支持。

工程技術的飛速發展,也使得一些專用軟體向標準化、語言化方向發展,如MAT—LAB語言、數控工具機控制語言、PLC操作語言、機器控制語言等將會更加普及,為機械工程領域所廣泛使用。

隨著計算機在各個領域的進一步套用,將有更多的專用軟體被廣大科技工作者所接收納入程式語言的行列,也會開發出更加套用方便、功能強大的新型程式語言。

通用語言

計算機軟體系統中有一類軟體是專門用於處理用各種語言編制的程式,這種軟體叫做語言處理程式。一般來說,語言處理程式是指把較高級的語言程式等價地變換成較低級語言程式的系統軟體。語言處理程式所處理的對象稱為源程式(Source Program),源程式通過語言處理程式進行處理後產生的程式為目標程式(Object Program)。常見的語言處理程式有彙編程式、解釋程式、編譯程式等。

彙編程式用於把彙編語言翻譯成意義等價的機器語言程式。因為彙編語言指令與機器語言的指令基本上保持一一對應的關係,所以彙編語言的過程就是對彙編語言程式逐行進行處理的過程。基本的處理步驟有:

(1)將指令的操作碼轉換成相應的機器語言操作碼;

(2)將運算元轉換為相應的地址碼;

(3)將上面兩步形成的結果合併成一條機器指令。

通常彙編程式翻譯成彙編語言程式(即彙編)是簡單的一對一翻譯。如果彙編語言中定義了宏指令,那么一條宏指令可能被翻譯成若於條機器語言指令,這樣的彙編程式叫做宏彙編程式。另外將機器語言程式轉換成相應的彙編語言的過程叫反彙編,執行反彙編的系統程式稱為反彙編程式。

解釋程式用於對用高級語言編寫的程式進行逐句分析並立即得到執行結果。這種方法稱為解釋方式執行,或解釋執行。解釋程式按源程式中語句的動態順序逐句進行分析翻譯,並立即予以執行,它不產生目標代碼(即機器語言程式)。可以用解釋程式進行解釋的高級語言也叫解釋語言,BASIC、LISP語言都是常見的解釋語言。編譯程式是把用高級語言編寫的源程式翻譯成意義等價的目標程式的一種語言處理程式。其目標程式可能是彙編程式也可能是機器語言程式。可進行編譯的計算機語言又被稱作編譯語言,如FORTRAN、COBOL、PASCAL、C語言等都是編譯語言。一般編譯方式比解釋方式執行得快。

低級語言

低級語言有兩種,即機器語言和彙編語言,又稱為第一代語言和第二代語言。

1.機器語言

機器語言是用二進制代碼表示的指令集合,是計算機能直接識別和執行的語言。機器語言的優點是占用記憶體少,執行速度快;缺點是面向機器的語言,隨機而異,通用性差,而且代碼是二進制形式,不易閱讀和記憶,編程工作量大,難以維護。

幾乎每種計算機都有自己的機器語言。現在,某些場合仍要使用機器語言,如修改二進制代碼的執行檔案等。另外,無論多么“高級”的語言,最後總要翻譯成機器語言,計算機才能執行。正是機器語言指揮著計算機進行每秒千萬次甚至上億次的計算,使計算機在各個領域發揮著高效的作用。

用機器語言編製程序無論是對編制者還是對使用者來說都是一種“磨難”。人們被迫尋找更加有效的編製程序的手段和工具,於是出現了彙編語言。

2.彙編語言

彙編語言是符號化的機器語言。在彙編語言中機器語言指令的操作碼和地址碼都可用人們容易記憶的符號來表示。與機器語言相比,彙編語言容易寫、容易懂,也容易記。其缺點與機器語言相同,即通用性差,隨機而異。

由於計算機只能識別和執行機器語言程式,因而用彙編語言編制的程式必須用彙編程式翻譯成機器能執行的目標程式後才能被執行,這個過程稱為彙編。

隨著高級語言的不斷出現和發展,彙編語言套用的場合日益減少,但仍有一些場合需要用彙編語言,如編制在線上處理程式和接口程式、對回響時間要求特別高的實時系統程式等。

高級語言

由於低級語言存在許多無法克服的缺點,這就要求創造出一種與計算機硬體無關、表達方式接近於人類自然語言的程式設計語言,即高級語言。高級語言也稱為第三代語言。

高級語言的優點是通用性強,可以在不同的機器上運行,程式可讀性強,便於維護,極大程度提高了程式設計的效率和可靠件.

高級語言的種類非常多,常見的有ALGOL、BASIC、FORTRAN、COBOL、PASCAL、C、C++、Java語言等,還有其他如LOGO(娃娃語言)、Lotusl-2—3(繪圖集成軟體)等等,我國也有自己的程式語言如BCY語言(編譯程式語言,使用漢語拼音)、BDl語言(北大1號),ALGOL語言等也有我國的標準。

高級語言的發展經歷了從早期語言到結構化程式設計語言,從面向過程到非過程化程式沒汁語言的過程。早期開發出的語言一般稱為基礎語言,結構化程式設計的概念提出後所開發的語言為結構化語言,面向對象的語言是針對面向對象概念所設計的新型語言。

1.基礎語言

(1)BASIC語言(Beginner’S All—purpose Symbolic Instruction Code,初學者通用指令代碼)。1964年由Dartmouth大學的J.G.Kemeny和T.E.Kurty兩位教授創立。

BASIC的 主要特點是:語言簡單明了,易學;人機通訊採用會話方式,易於程式調試;除用於計算外,BASIC有較強的數據處理能力(可直接向記憶體讀寫數據),可用於小型事務管理;有豐富的作圖和音響語句;BASIC為小型算法語言,容量有限。

BASIC有許多版本,如磁帶BASIC、磁碟BASIC、高級BASIC(BASICA,WGBASIC)、編譯BASIC、Turbo BASIC、QBASIC、Visual BASIC等等,早期的DOS版本配BASICA,後期的DOS版本配QBASIC。Visual BASIC(VB)是目前廣泛使用的BASIC程式語言。

(2)FORTRAN語言(Formula Translation,公式翻譯)。1954年提出第一個版本,1958年出現FORTRAN II,1962年出現FORTRAN IV。1966年美國正式公布了兩個標準:標準FORTRAN(X3.9—1966)和標準基本FORTRAN(x3.10—1966)。1976年美國國家標準化協會對FORTRAN(X3.9一1966)進行修訂,1978年4月美國國家標準化協會正式公布將它作為美國國家標準(ASNI X3.9一1978),一般稱作FORTRAN77,並將FORTRAN(X3.10—1966)撤消,將FORTRAN(X3.9—1966)稱為FORTRAN66。目前廣泛使用的FORTRAN語言在FORTRAN66的基礎上擴展了一些功能,但達不到FORTRAN77的功能,亦稱之為FORTRAN77子集。

FORTRAN語言的 特點:①科學計算語言,無其他如控制、繪圖等功能;②靜態語言,無指針,不涉及計算機內部定址操作,程式的危險性小,但靈活性差;③非結構化語言,FORTRAN77增加了IF塊好一些;④編譯性語言,FORTRAN嚴格區分可執行語句和非可執行語句。有人為彌補FORTRAN的不足,專門為FORTRAN語言開發了圖形庫。

(3)ALGOL語言(Algorithmic Language,算法語言)。最早的高級語言之一,1960年公布了第一個版本,稱為ALGOL一60。

(4)COBOL語言(Common Business Oriented Language,普通商用語言)。1960年美國公布了第一個COBOL版本,稱為COBOL一60。1974年美國發表了ANSI COBOLx3.23—1974文本,1978年ISO宣布ANSI X3.23—1974作為國際標準文本,即ISOCOBOL一78。這一標準文本將COBOL語言擴充到了12個功能模組,這12個模組是:核心、表處理、順序存放、相關存取、索引存取、報表編輯、排序、分段、庫、調試、內部程式間通訊、通訊。每個模組又分為兩級,二級高一些,一級是二級的一個子集。

(5)LOGO語言。LOGO一詞源於希臘文,原意為符號、文字或思考、想法。20世紀60年代對兒童進行的計算機輔助教學的實踐使人們認識到計算機輔助教學的目的不應該僅僅是讓計算機來教育兒童,更重要的是要讓計算機幫助兒童學會如何思考,使兒童通過程式設計來掌握計算機的各種概念,從而使兒童也具有套用計算機解決問題的能力。為此,從1967年起,美國麻省理工學院(MIT)的佩帕特(Seymour Papert)教授指導下的一個研究小組開發了LOGO語言。佩帕特教授預見到在不久的將來計算機會同電視機一樣普及,因此,他們設計的語言不僅可供兒童使用,也考慮到非計算機專業人員的需要。使用這種語言,即使是缺乏數學物理知識的人,也能夠憑感覺把握計算機,能夠理解程式設計(很類似於BASIC語言)。

LOGO語言的特點:①畫圖功能強,採用海龜作圖;②有表處理功能;③會話能力強;④結構式語言;⑤可用LOGO語言寫過程作為LOGO命令執行,即可擴充;⑥可以遞歸調用。

2.結構化語言

(1)PASCAL語言。PASCAL語言是由瑞士計算機科學家蘇黎士聯邦工業大學的Niklaus Wirth教授於1968年研究出來的,1971年正式發表在瑞士的《ETH》雜誌上。PASCAL語言是按照結構程式原則設計的一種描寫算法的語言,它是從ALGOL一60語言發展過來的,做了改進,功能更強。它適合於教學、管理、編寫各種系統軟體和進行科學計算。PASCAL語言有豐富的數據類型、簡明的通用語句、清晰的程式結構,而且書寫格式自由、編譯緊湊、風格優美,因此博得了人們的好評,使用日益廣泛。據了解,世界各國的許多高等院校都用它進行程式設計的教學,效果良好。

(2)C語言。C語言是發展最快的一種語言,由Dennis M.Ritchie於1972年設計並在DEC PDP一1 1機上實現,發明者的最初動機是為描述和實現UNIX作業系統。C語言的許多重要思想來源於1969年由Martin Richards開發的BCPL語言,1972年Thompson在BCPL的基礎上開發了B語言,C語言吸收了B語言的合理而有效的部分。

C語言的 貢獻:①C語言十分有效地描述並實現了UNIX作業系統,整個UNIX規模大約為13 000行源程式,其中僅有1 000行是面向硬體的彙編程式,其餘用c語言編寫;②c語言實現了描述自身的語言編譯程式,C語言編譯程式近10 000行,程式的90%用C語言本身編寫,C語言還成功地成為PASCAL等語言編譯程式的系統程式設計語言:④C語言集規模小、靈活性大、描i術力強、可讀性好和目標質量高等特點於一體,成為計算機專業很理想的工具語言。

c語言的主要 特點:①c語言的基本單位為函式,c語言程式全部由函式組成;②C語言是結構設計程式語言;③c語言有預處理功能;④c語言有豐富的數據類型:整型、實型、字元型、枚舉類型、數組類型、結構體類型、共用體類型、指針類型、空類型;⑤C語言可以由函式組成函式,可擴充。

3.面向對象程式設計及面向對象程式設計語言

傳統的結構化語言都是採用面向過程的思路來進行程式設計的。在面向過程的程式中,程式被分為一個主模組和若干個子模組來解決整體問題。在執行程式時,控制流程從第一行代碼開始,順序向下運行(特殊流程除外),直到最後一行代碼結束。

結構化程式的優點在於時間順序性強,但它的缺點是致命的,其中最主要的是數據和代碼分離,在修改某段程式時將會導致整段程式所有相關部分的不協調,因此可維護性很差。

面向對象的程式的最重要的思想就是將數據(稱為數據成員)以及處理這些數據的例程(稱為成員函式)全部封裝到一個類中,類的實例稱為變數。在對象中,只有屬於該對象的成員函式訪問(包括讀、寫)自己的數據成員,其他函式不能訪問該對象的數據成員,這樣就達到了保護數據的作用。

面向對象的程式設計具有三個優點

(1)程式的可維護性好。用戶可以通過操作類或對象的屬性的方法,方便地進行程式修改。

(2)提高了程式代碼的可重用性。用戶能夠根據需要將已定義好的類或對象添加到自己的應用程式中去。

(3)程式易讀性好。用戶只需了解類或對象的外部特性,而不必知道它們的內部實現細節。

面向對象語言採用了諸如類、對象等概念:

類:類是一種用戶自定義的數據類型,其中包含數據和運算元據的例程。一個類代表一種事物的抽象。在類中包含了有關對象的特徵和行為信息,它是對象的藍圖和框架。

對象:對象是類的實例。每個對象都有自己的屬性、事件和方法。

屬性:每個對象都有自己的屬性,對象的屬性由對象所基於的類確定,屬性值既可以在設計時進行設定,也可以在程式運行時進行設定。

事件:在面向對象的程式設計中,每一個對象都可以對一系列的行為或動作進行識別並作出回響,這些行為或動作被稱為事件。事件是一種用戶預先定義好的行為或動作,包括用戶事件和系統事件。

面向對象程式設計有三類基本機制:

封裝:封裝就是把數據和操作這些數據的例程代碼封裝在一起,其好處主要有兩個:(1)外部例程不能隨意訪問對象中的數據,提高了數據的安全性;(2)用戶在使用對象時將不必在意其中的實現細節,這樣就大大減少了程式設計師的負擔。

繼承:繼承就是一個對象獲取另外一個對象屬性或方法的過程。對象可以通過其父對象繼承其通用屬性,實現層次分類抽象。

多態:多態是指一個接口能夠作多種用途,而其特定的用途由其特定的環境所決定。從實質上說,就是一個接口,多種方法。這樣,我們就可以利用多態性設計出一個通用的接口來處理相關的行為。

面向對象程式設計語言的典型代表有以下三種語言:

(1)VB語言。VB(Visual Basic)語言是在BASIC語言的基礎上發展起來的語言,在保持原語言特點的基礎上增加了很多的實用功能,具有簡單易懂、使用方便的特點,套用非常廣泛。

(2)C++語言。c++語言是在C語言的基礎上發展起來的,c++語言不僅是結構化語言,也是面向對象的語言。首先BORLAND公司在TC的基礎上發展了Tc++,進而發展到BORLANDC+十(BC++)。Microsoft公司推出了Visual C++,也是深受程式設計人員所喜愛的面向對象語言。

(3)Java語言。Java程式設計語言的設計開始於1990年,當時是SUN公司為實現一個對家用電器進行集中控制的裝置而開發的一系列軟體。該語言不同於C和c++等傳統的程式設計語言,它具有平台獨立性、高度的可靠性和安全性。考慮到C和C++已得到了廣泛的套用,Jame Gosling在設計新語言時主要以C++為基礎,其結果就是形成了可工作在各種不同平台上的Java語言。他還用Java語言開發了一個起初被稱為WebRunner的Web瀏覽器,該瀏覽器由於商業上的原因被稱為Hotjava。Hotjava是完全用Java語言編寫的,它是第一個支持Java applet的Web瀏覽器。1995年5月,SUN公司在San Francisco舉行的Sunworld會議上正式發布了Java技術。Java一詞來源於印度尼西亞的一個重要島嶼的名字,那兒自1696年以來便盛產咖啡,Java的寓意是這種語言是開發者為世人端上的一杯熱氣騰騰的咖啡,Java文檔中經常出現的一個小圖片巾.旱一杯執與騰騰的叻Ⅱ啡.

Java語言的 特點

①簡單性。②面向對象。③與機器無關的位元組碼編譯。④結構中立。⑤支持語言級多執行緒。⑥無需用戶進行記憶體管理。⑦穩固性。⑧安全性。⑨動態特性。’⑩高性能。

第四代語言

第四代語言將程式設計語言提高到一個新的層次。在以往的程式設計中,程式設計師要根據程式的要求按步驟完成每步具體的算法,而第四代語言不需要每步的具體做法,只提出要做什麼,由程式語言實現具體的算法,如資料庫查詢程式,人們使用資料庫查詢語言即可對資料庫進行操作,如統計、排序、分選等等。應用程式生成器即編程程式也可稱為第四代語言,其主要作用是根據程式要求來編製程序代碼。人工智慧語言也可歸為第四代語言,該語言也具備查詢等功能,由程式進行邏輯判斷,而不需要人們具體干預程式過程。實際中人們有著各種各樣的要求,目前還沒有一個非常強大的支持環境完成全部的工作。

網路語言

隨著網路的發展,網路語言也發揮了越來越重要的作用,網頁製作、網路信息傳遞、計算機通訊等都需要網路語言的支持。用於網路開發的Web語言有許多種,如HTML、XMLDHTML(JS)、CGI、ASP、DHP等,前面所述的Java語言也是網路開發中非常適用的語言。

資料庫語言

資料庫結構

資料庫系統由兩部分組成:資料庫和資料庫管理系統。資料庫管理系統是按資料庫的模型來劃分的,資料庫目前主要採用網狀模型、層次模型和關係模型三種,所以資料庫管理系統也分別針對這三種不同的模型而設計。美國數據系統協商委員會(COADSYL)的下屬組織資料庫工作小組DBTG(DataBase Task Group)在1968年1月發表了“用擴展COBOL處理資料庫的報告”,1969年10月編制了第一套語言規範——“資料庫建議書”,即模式語言和資料庫操縱語言,以後在1971年4月提出了名為“Report”的報告,增加了子模式數據描述語言,這就是著名的“DBTG報告”,也稱為“COADSYL報告”,報告中提出了以網狀模型為基礎的資料庫管理方案,實際上這只是一個系統方案,具體的有數據描述語言DDL和數據操縱語言DML。1968年美國IBM公司推出了IMS(Information Management System)系統,這是一個以層次模型為基礎的資料庫管理系統。1971年美國IBM公司的E.F.Codd發表了第一篇關係資料庫論文,自此,數據擊術的發展逐漸以關係數據模型為主導地位。SQL(Structured Query Language)是關係資料庫中的數據操縱語言,它最早由Boyce和Chambedin提出(當時稱作SEQUEL許言),1976年由IBM公司的San Jase研究所在研製關係資料庫System R時進一步修改完善而成。隨著商品化關係資料庫系統的不斷出現,SQL已成為多種關係資料庫的數據語言,比如SQL/DS、DB2、ORACLE都採用SQL作為其數據語言。1986年美國國際標準化組織ANSI確認關係資料庫系統的工業標準可以相信,SQL語言將作為關係型據庫的典型代表,也將獲得越來越多的系統支持。SQL語言具有數據定義、數據查詢數據更新和數據控制四種基本功能。

關係型資料庫語言

關係型資料庫系統語言非常多,目前用於微機的主要有DBASE系列,、如FoxBASE,FoxPro等。美國AshtonTate公司吸收了大中型計算機中的資料庫系統的優點,充分考慮微型計算機本身的特點,於1982年研究了適用於微機的資料庫系統——dBAsE II式係數據庫系統,後發展為dBASE III,1986年又推出dBASE II PLUS。1987年美國Fox Software公司推出了FoxBASE+資料庫系統,該系統與dBASE II完全兼容。該公司於1989年又推出了一個功能更強的資料庫管理系統——FoxPro!FoxPro中的運行方式和dBASE中完全一樣,但又增加了許多命令和功能。微軟(Microsoft)公司合併了Fox Software公司後,繼續加強了對FoxPro的開發,於1993年1月推出了FoxPr02.5關係資料庫管理系統,同時推出了VF(Visual FoxPro)。

人工智慧語言

人工智慧問題一直是人們重點研究的對象,其目的在於利用計算機的高速計算來解決人的智慧型方面的問題。為此人們設計了許多語言,其中比較著名的是LISP和Prolog語言。

LISP語言

LISP語言(List Processing Language)是迄今在人工智慧學科領域中套用最廣泛的一種程式設計語言,由麻省理工學院的John McCarthy和他的研究小組在1960年首先設計實現,在LISPl.5程式設計師手冊中描述了這個LISP系統,此後在各式各樣的計算機上都實現了LISP。LISP語言由最初的LISPl發展到LISPl.5,以及後來的LISP2,但LISP2沒有被廣泛地接受,目前使用最廣泛的版本仍然是LISPl.5。LISP語言不僅對人工智慧在計算機上實現有著重要的意義,而且也是人工智慧理論研究的重要工具。事實上,人工智慧的研究與程式設計是無法分開的,因為它是把關於人類智慧型的假說通過程式體現出來,然後再將程式的工作結果與實際人的思考過程比較,進一步驗證這些假設。LISP現已用於符號代數處理、自然語言理解、機器翻譯、形式邏輯推論、專家系統、自動定理證明、自動程式設計和機器人等各個方面。

LISP語言具有下列特性

(1)LISP程式的通常形式是一串函式定義,其後跟著一串帶有參數的函式調用,函式之間的關係只是在調用執行時才體現出來;LISP中沒有語句的概念,也沒有分程式結構和其他語法結構,語言中的一切成分都是以函式的形式給出。

(2)在純LISP中只有很少幾個原始函式,可以通過調用原始函式的形式增加函式。

(3)在LISP中,程式和數據在形式上是等價的。LISP的惟一數據結構是S一表達式,而程式本身也是用s—表達式寫的,因此可以把程式當作數據來處理,也可把數據當作程式來執行。

(4)遞歸是LISP的基礎,是語言的主要控制結構,LISP的遞歸處理是基於遞歸定義的數據結構。

Prolog語言

Prolog語言(Programming in Logic,用邏輯進行程式設計)的思想最早由R.Kowalski提出。1972年世界上第一個Prolog系統由A.Colmerauer及其研究小組在法國馬塞研製成功。Prolog以邏輯程式設計為基礎,最初的目的是設計一個處理邏輯問題的會話式語言,以處理一階謂詞演算為背景。後來由於它簡潔的文法、豐富的表達力和獨特的非過程化語言,很快贏得了世界上廣泛的支持,引起越來越多的人的注意。現在Prolog語言已被廣泛地套用於關係資料庫、抽象問題求解、數理邏輯、公式處理、自然語言理解、專家系統以及人工智慧的許多領域。例如,1984年美國德克薩斯大學計算機科學系的Robea Simmons教授用Prolog和LISP的混合實現了一個自然語言理解系統。1981年日本宣布選取Prolog作為第五代計算機的核心語言來研究和開發,並設計製造Prolog機器,使得Prolog更加令人矚目。

Prolog語言的特點

(1)Prolog語言可以看作是描述性語言。一般程式設計語言解問題時需指明算法,即對一給定問題指明一系列計算機要執行的計算步驟,告訴計算機“如何做”;Prolog要求程式設計師描述問題中的對象和反映他們之間關係的某些事實。描述定義諸對象和它們之間關係的某些規則,它強調描述對象(和事實)之間的邏輯關係,程式設計師一般不必告訴計算機運算執行的先後次序。因此,從能夠描述問題本身而不必描述求解問題的詳細步驟這一點來講,Prolog是更高級的語言,它可以作為一種描述性語言。

(2)Prolog的數據和結構統一。Prolog提供一種一致的數據結構,稱為項(term),所有數據和程式都是由項構造而成的。

(3)Prolog能夠自動實現模式匹配和回溯,這些是人工智慧系統中最常使用的、最基本的操作。

(4)遞歸是Prolog語言的重要特點,它反映在程式和數據結構中,由於這一點,一個大的數據結構常能夠被一個小的程式來處理。

Prolog語言的所有這些特性使得Prolog特別適用於描述智慧型程式,適用於自然語言處理、定理證明、專家系統等。Prolog語言僅提供了三種基本語句:

事實:它說明一個問題中對象和它們之間的關係的一些已知事實。

規則:它用來定義對象和它們之間的關係,用來描述一個事實依賴於其他組事實。

詢問:用來詢問有關對象和它們之間的關係。

其他語言

工程技術的飛速發展,也使得一些專用軟體向標準化、語言化方向發展,如數控工具機控制語言、PLC操作語言、機器用控制語言等將會更加普及,為機械工程領域所廣泛使用 。

MATLAB語言

(演算紙式的科學工程計算語言)

1967年美國的Cleve Moler博士用FORTRAN研製了MATLAB(Matrix Laboratory)語言,當時的主要目的是為線性代數等課程提供一種方便可靠的實驗手段,該軟體出現後一直被美國的New Mexico等大學作為教學輔助軟體使用,並作為面向公眾的免費軟體(public domain software)廣為流傳。新版MATLAB是Mathworks公司用C語言編寫的。該公司於1984年推出了MATLAB的正式版本。該軟體的使用極其容易,且提供豐富的矩陣處理功能,所以很快得到了科技界的認可,並且隨之出現了數以百計的各種實用工具箱,而這些工具箱反過來又促進了MATLAB語言的套用。MATLAB語言當前的功能可以說是集可靠的數值運算(已不局限於矩陣運算)、圖像與圖形顯示及處理、高水平的圖形界面於一身,此外它還提供了與其他高級程式設計語言(對MATLAB來說是低級語言)如C、FORTRAN等的接口,使得其功能FI益強大,成為各個專業的工程人員所不可缺少的有力工具。

MATLAB語言的 特點

(1)編程效率高。它是一種面向科學與工程計算的高級語言,允許用數學形式的語言編寫程式(如同工程師用演算紙計算),編程效率高,易學易懂。

(2)用戶使用方便。每輸人一條語句就立即進行處理,不需要編譯、連線。MATT.AR語言環可可以設定許多斷點,並儲蓄多箇中間結果,還可進行中間調試等。

(3)擴充能力強。可以直接調用用戶檔案,也可混合編程。

(4)語句簡單,內涵豐富。

(5)高效方便的矩陣和數組運算。

(6)方便的繪圖功能。

MATLAB語言的套用:一般數值計算,數位訊號處理,振動理論,系統識別,時序分析與建模,最佳化設計,神經網路,化學統計學,動態系統仿真,自動控制等。

其他程式語言

其他各種專業軟體也都具有程式語言的特徵,如為PLC開發所編寫的梯形圖助記符語言、ANSYS中記錄操作過程的過程庫語言、計算機繪圖軟體Auto CAD中用於圖形描述的DXF語言以及電路設計Protel、計算機仿真等,它們也可理解為專用軟體,可參考各自的軟體說明,不再詳細介紹。

相關詞條

熱門詞條

聯絡我們