演演算法語言
演演算法語言
演演算法是指為解決某個特定問題而採取的確定且有限的步驟。用來表達演演算法的計算機程序設計語言稱為演演算法語言(Algorithmic language)。演演算法語言是演演算法的一種描述工具,是介於機器語言和數學語言之間的一種通用語言。
演演算法語言是一種接近數學描述的設計語言,又稱高級語言。從本質上說,演演算法語言是按一定規則排列的符號的集合,編譯程序是把這些符號集合變成機器指令的轉換器。
常用的演演算法語言有C、Visual Basic、C++和Java等。
計算機語言分機器語言、彙編語言和高級語言。其中高級語言是一類人工設計的語言,因為它對具體的演演算法進行描述,所以又稱為演演算法語言。
計算機現已廣泛應用於社會生活的各個領域,成為大眾化的現代工具。人們將需要計算機做的工作寫成一定形式的指令,並把它們存儲在計算機內部的存儲器中,當人們給出命令之後,它就按指令順序自動進行操作。人們把這種可以連續執行的一條條指令的集合稱為“程序”。可以說,程序就是人與機器“對話”的語言,也就是我們常說的“程序設計語言”。
目前,在社會上使用的程序設計語言有上百種,如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語言程序
①以英文小寫字母為字元基礎。
②提供一個較大的操作符集合,操作符對應最短的機器代碼。
③C語言是函數的集合。函數的參數按“值傳送”和“值調用”方式進行。
④C語言提供了一整套循環、條件判斷和轉移語句,有利於進行結構化程序設計。
⑤C語言數據類型豐富,除基本類型外用戶可自定義數據類型,另外,指針類型也可以作為數據進行處理,利用指針可以直接訪問內存的絕對地址。
⑥C語言通過預處理可進行常數定義、宏定義和條件編譯等。
⑦C語言的很多功能,如屏幕操作、過程式控制制、串處理、I/O存貯分配等,可通過庫函數實現。
⑧C語言靈活、可移植性好,易於維護。
一個優秀的C程序在執行速度上可與彙編語言相比。
Basic
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++就適應的問題規模而論,大小由之。