6.ADA語畝
ADA語言是由美國國防部資助開發的一種重要程序設計語言,作為美國國防部的標準高級語言,原稱D0D-1語言,後來改為以一位I9世紀的女數學家AdaLovelace的名字令名,因為她曾參與研究過當時的計算裝置“差分與分析機”,被稱為是世界上第一位“程序員”。開發ADA語言是為了支持現代軟件設計方法,以解決軟件開發中麵臨的一些困難。為此,從1975年提出計劃到1980年推出ADA語言曾集中了美、法、英、德等國數千名計算機科學家的努力。如此大規模的開發一種程序設計語言是空前的壯舉,它的成果代表著程序設計技術的重大進展,將成為近期最重要的一種實用語言。
7.LISP語言
LISP是“表處理”的縮寫,它是一種符號處理語言。LISP程序在風格上更接近於數學形式,它編寫的程序由一些函數子程序組成,可以從幾個基本函數出發,通過一定的手段構成新的函數。在表示方法上,LISP處理的數據都具有符號表達的形式,數據在計算機內部的存放采用“表”結構的形式。
LISP最早於60年代出現,經曆過更新與發展,是迄今為止在人工智能領域中應用最廣泛的一種程序設計語言,大部分人H:智能係統是用LISP語言寫的。
8.PROLOG語言
PROLOG是“邏輯程序設計”的縮寫。現在的大多數程序設計語言被稱為過程性語言,意思是需要按照算法的實現過程逐條編寫。而PROLOG是一種邏輯性語言,用它編寫程序時,隻要按規定的邏輯形式描述所需的結果即可。對於人工智能係統的設計,PROLOG語言顯然是一種較好的工具-適於編製邏輯推理類型的程序。日本的第五代計算機(智能計算機)研製計劃中,確定以PROLOG為核心語言的基礎,更引起大家的高度重視。
9.各種專用語言
前麵介紹的各種通用語言,雖然各具特色,都能應用於範圍廣泛的各種領域,但需要處理的問題類型越多,程序設計語言的規定也相應要複雜一些,學習起來也就困難一些。為了讓對計算機了解不多的最終用戶也能使用計算機,常針對某個專門的應用領域設計一些專用的語言,這些專用語言比較簡單些,易於掌握,但功能較弱,適應麵很窄。
由於程序設計語言種類很多,並還在繼續發展之中,一個人很難掌握所有的重要語言,也沒有這個必要。可以先選譯學習一、二種最有代表性的程序設計語言,通過它們學會使用計算機,並掌握程序設計的基本方法與技巧,以後再根據工作需要學習其他語言。
3.5程序的組織
對程序的推述畝以分為幾個層次。首先以流程圖方式比較粗略地描述算法所規定的解題步驟,使編製程序時有一個提綱,也使閱讀程序的人了解整個程序的組織結構。否則,時間一長,連自己編的程序也不能很快看懂了。第二步再按照所擬定的流程圖,用程序設計語言細化地描述每一步操作,形成能為計算機識別並執行的程序,這樣的程序是由若幹語句序列組成的。如前所述,目前計算機硬件所能直接識別並執行的是與機器指令格式一一對應的機器代碼,所以說計算機識別並執行程序:實際上是通過翻譯程序將用戶程序語句譯為機器語言代碼,或者說是靠軟件,間接地識別由程序設計語言編程的程序。計算機最終執行的程序形態,是由若幹指令代碼構成的序列,可將這樣的程序序列稱為控製流,相應地所處理的數據對象,將按照算法實現的過程形成所謂數據流。程序形態變化的幾個層次大致如此。本節將介紹程序流程圖的描述方式與程序結構的基本形態。
一、程序流程圖
程序流程圖是以粗框圖的形式描述程序工作步驟,它反映了程序的整體結構,先做什麼,後做什麼,應當進行哪些判斷以決定後繼操作等。我們通過一個例子來加以解釋。
例:有三個數A、B、C,要求將它們按從小到大的次序進行排序。
為此,我們用計算機中的三個寄存器來存放這三個數。在進行排序之前,三個數的大小次序不一定滿足要求,是隨意安放的,要求在排序後滿足題目要求。
給出了排序過程的流程圖,它可作為用某種語言編製程序的依據。我們先來熟悉一下流程中一些符號的含意。
(l)開始/結束框
這種形狀的框表示程序毀的開始或程序段的結束,但不一定是整個程序文件的開始或結束。用兩個這樣的框表示出一個:相對獨立的排序算法的程序,它可以作為一種子程序的段落。
(2)處理框
方框稱為處理框,框內簡要注明所要做的事。方框內的描述可粗可細,在總體設計時流程圖描述很粗,一個方框內描述的操作可能是需要若幹條指令甚至一個程序段才能完成的“宏操作”;逐漸細化後,一個方框內描述的一種操作可能成為一條機器指令能實現的基本操作。粗,有利於掌握程序的整體線索,細,則有利於轉化為最終的程序。允許在一個方框內描述多個操作,它們可以是同時進行的,即可並行操作,也可以是需要分步進行的操作,即多步操作。但在較細的流程,最好不要在一個方框內的多步操作之間含有判別分支。換句話說,一個方框內的多步操作是在下一個“判別框”之前的。這樣有利於清晰地說明程序結構,因為在一次判別之後往往跟著程序分支。