算法是指為解決某個特定問題而採取的確定且有限的步驟。用來表達算法的電腦程式設計語言稱為算法語言(Algorithmic language)。算法語言是算法的一種描述工具,是介於機器語言和數學語言之間的一種通用語言。
算法語言是一種接近數學描述的設計語言,又稱高級語言。從本質上說,算法語言是按一定規則排列的符號的集合,編譯程式是把這些符號集合變成機器指令的轉換器。
常用的算法語言有C、Visual Basic、C++和Java等。
基本介紹
- 中文名:算法語言
- 外文名:algorithmic language
- 別稱:高級語言
- 學科:電腦程式設計語言
- 分類:計算機辭彙
- 常見算法語言:C、Visual Basic、C++和Java等
簡介,發展史,分類,特點,套用,常見算法語言,C語言,BASIC,Java,c++,
簡介
計算機語言分機器語言、彙編語言和高級語言。其中高級語言是一類人工設計的語言,因為它對具體的算法進行描述,所以又稱為算法語言。
計算機現已廣泛套用於社會生活的各個領域,成為大眾化的現代工具。人們將需要計算機做的工作寫成一定形式的指令,並把它們存儲在計算機內部的存儲器中,當人們給出命令之後,它就按指令順序自動進行操作。人們把這種可以連續執行的一條條指令的集合稱為“程式”。可以說,程式就是人與機器“對話”的語言,也就是我們常說的“程式設計語言”。
目前,在社會上使用的程式設計語言有上百種,如C、Visual Basic、C++和Java等被稱為計算機的“高級語言”。這些語言都是用接近人們習慣的自然語言和數學語言作為表達形式,使人們學習和操作起來感到十分方便。
常見算法語言有BASIC、FORTRAN、COBOL、PASCAL、C、C++和JAVA等。
發展史
自從1946年第一台電子計算機問世,編寫與調試程式的工作就與人們結下了不解之緣。最初的電腦程式只能用二進制機器指令代碼書寫。用這種辦法寫出的程式難懂、難調試、冗長,而且通用性差,改進編程方式的原始的嘗試是用較為易記的“助記符”表示二進制的指令,且在程式中引進變數,從而使程式變得比較易讀。同時也在一定程度上緩解了由存儲安排引起的困難。但這並未給編程工作帶來根本性的改進,於是更為接近自然語言的算法語言應運而生。算法語言易學,用算法語言編寫的程式易讀、易調試而且簡潔。此外,算法語言獨立於計算機的指令系統,即用算法語言編寫的程式可以在裝有該語言編譯系統的任何計算機上運行。這使得學習和使用計算機變得較為簡單。同時促進了計算機間的信息交流。
最先出現的算法語言是ALGOL,目前較為流行的語言有ALGOL、FORTRAN、COBOL、BASIC、PASCAL和C等。算法語言可以依據各自的特點進行分類,ALGOL、FORTAL 等語言適於科學計算。屬於面向過程的語言。COBOL是英文通用商業語言的縮寫,面向數據處理。PASCAL、C等語言強調程式結構,主張儘可能少用無條件轉移語句,稱為結構化語言。
隨著人工智慧的發展,出現了LISP、PROLOG等語言, LISP也叫表處理語言, 利用LISP可以方便地進行符號處理。PROLOG以邏輯推理作為出發點,其程式由一系列規則和事實構成,運行時用戶提出詢問,計算機自動搜尋答案。LISP與PROLOG都具有一定的解決智慧型型問題的能力。
分類
從套用範圍看,算法語言中有專門為進行各種數值計算而設計的語言,如ALGOL60、FORTRAN語言等,以及專門為進行數據處理和管理而設計的語言,如COBOL語言等,這些語言適用於一類問題,稱為通用語言;也有專門為處理某一特定問題或適應某一特定部門而設計的語言,如系統模擬語言(MIMIC) 等,這些語言稱為專用語言。
從語言功能角度看,計算機語言可分為面向過程的語言和面向問題的語言。面向過程的語言,可用於各種計算機計算各種題目,使用這種語言時,不僅要把計算的題目告訴計算機,還要將解題的方法和計算過程描述出來; 面向問題的語言,則只需把題目告訴計算機,就可得到計算結果。
特點
算法語言是由表達各種不同意義的“關鍵字”和“表達式”等,按照一定的語法、語義規則組成的,從而脫離了指令系統。是相對獨立於計算機的語言,用它書寫的程式適用於不同的計算機。
算法語言接近於人們習慣的自然語言和數學語言,因此易學,通用性強。用算法語言編制電腦程式,只要懂得各種語言的詞法、句法及數學公式,按一定的語法規則進行即可,編寫者可以不必懂得計算機的內部結構和工作原理。
計算機並不能直接識別由算法語言編寫的程式,它只能接受和處理由0和1的代碼構成的二進制指令或數據(機器語言),因此需要翻譯程式將其翻譯為機器語言程式才能執行。
套用
學習算法語言的目的,是要用語言作為工具,設計出可供計算機運行的程式。
簡單的程式設計一般包含以下幾個部分:
(1)確定數據結構。根據任務書提出的要求、指定的輸入數據和輸出結果,確定存放數據的數據結構。
(2)確定算法。針對存放數據的數據結構來確定解決問題、完成任務的步驟。
(3)編碼。根據確定的數據結構和算法,使用選定的算法語言編寫程式代碼,輸入到計算機並保存在磁碟上。
(4)在計算機上調試程式。消除由於疏忽而引起的語法錯誤或邏輯錯誤;用各種可能的輸入數據對程式進行測試,使之對各種合理的數據都能得到正確的結果,對不合理的數據能進行適當的處理。
(5)整理並寫出文檔。
常見算法語言
C語言
一種通用的面向結構的程式設計語言。源自Ken Thompson發明的B語言。高效、經濟和良好的可移植性,使其它語言無法與之比擬。其特點為:
①以英文小寫字母為字元基礎。
②提供一個較大的操作符集合,操作符對應最短的機器代碼。
③C語言是函式的集合。函式的參數按“值傳送”和“值調用”方式進行。
④C語言提供了一整套循環、條件判斷和轉移語句,有利於進行結構化程式設計。
⑤C語言數據類型豐富,除基本類型外用戶可自定義數據類型,另外,指針類型也可以作為數據進行處理,利用指針可以直接訪問記憶體的絕對地址。
⑥C語言通過預處理可進行常數定義、宏定義和條件編譯等。
⑦C語言的很多功能,如螢幕操作、過程控制、串處理、I/O存貯分配等,可通過庫函式實現。
⑧C語言靈活、可移植性好,易於維護。
一個優秀的C程式在執行速度上可與彙編語言相比。
BASIC
BASIC(Beginner's All-purpose Symbolic Instruction Code的縮寫),是一種直譯式程式設計語言。名稱字面意思為“初學者的全方位符式指令代碼”,設計給初學者使用的程式語言,在完成編寫後不須經由編譯及連結等手續,經過解釋器即可運行,但如果需要單獨運行時仍然需要將其創建成執行檔。
BASIC 語言是由Dartmouth學院John G. Kemeny與Thomas E. Kurtz兩位教授於20世紀60年代中期所創。由於立意甚佳,BASIC語言簡單、易學的基本特性,很快的就普遍流行起來,幾乎所有小型、微型以家用電腦,甚至部分大型電腦,都有提供使用者以此種語言撰寫程式。在微電腦方面,則因為BASIC語言可配合微電腦操作功能的充分發揮,使得BASIC早已成為微電腦的主要語言之一。
Java
又稱“佳娃語言”、“爪哇語言”,一種廣泛使用的網路程式語言。它簡單,面向對象,不依賴於機器的結構,具有可移植性、穩健性、安全性,並且提供了並發的機制,因而它能最大限度地利用網路。
美國SUN公司於1995年5月正式公開推出的新一代程式語言。它是一種面向對象跨平台分散式語言,全球網際網路(Internet)上的世界通用高級程式語言。Java語言的出現給程式設計語言的發展帶來了新的生機和活力。Java語言不但通過瀏覽器使Web頁面栩栩如生,而且作為一種新的計算概念影響到諸多方面,使其發生變化。
c++
C++是C語言的繼承,它既可以進行C語言的過程化程式設計,又可以進行以抽象數據類型為特點的基於對象的程式設計,還可以進行以繼承和多態為特點的面向對象的程式設計。C++擅長面向對象程式設計的同時,還可以進行基於過程的程式設計,因而C++就適應的問題規模而論,大小由之。